/* Caramel Carousel admin — global 52px form controls. */

body input[type="text"],
body input[type="email"],
body input[type="password"],
body input[type="url"],
body input[type="tel"],
body input[type="number"],
body input[type="search"],
body input[type="date"],
body input[type="datetime-local"],
body select,
body textarea {
	height: 52px !important;
	min-height: 52px !important;
	background: #0a0a0a !important;
	color: #fff !important;
	border: 1px solid #2a2a2a !important;
	border-radius: 0 !important;
	padding: 0 14px !important;
	font-family: inherit !important;
	font-size: 13px !important;
	box-sizing: border-box !important;
}
body input[type="text"],
body input[type="email"],
body input[type="password"],
body input[type="url"],
body input[type="tel"],
body input[type="number"],
body input[type="search"],
body input[type="date"],
body input[type="datetime-local"],
body textarea {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
}
body textarea {
	height: auto !important;
	min-height: 52px !important;
	padding: 14px !important;
	line-height: 1.5 !important;
	resize: none !important;
	overflow: hidden !important;
	scrollbar-width: none !important;
}
body textarea::-webkit-scrollbar { display: none !important; }

/* -------------------------------------------------------------------------
   Utility classes — use these instead of inline styles. Never style=""
   ------------------------------------------------------------------------- */

/* Colors */
.u-c-brand    { color: #00A3D9 !important; }
.u-c-white    { color: #fff !important; }
.u-c-dim      { color: #999 !important; }
.u-c-dimmer   { color: #666 !important; }
.u-c-dimmest  { color: #555 !important; }
.u-c-ok       { color: #4ade80 !important; }
.u-c-warn     { color: #fbbf24 !important; }
.u-c-err      { color: #f87171 !important; }
.u-c-purple   { color: #a28dd0 !important; }

/* Font sizes */
.u-fs-11      { font-size: 11px !important; }
.u-fs-12      { font-size: 12px !important; }
.u-fs-13      { font-size: 13px !important; }
.u-fs-14      { font-size: 14px !important; }

/* Font weight */
.u-fw-600     { font-weight: 600 !important; }

/* Letter spacing + tracking labels */
.u-ls-1       { letter-spacing: 1px !important; text-transform: uppercase !important; }
.u-ls-15      { letter-spacing: 1.5px !important; text-transform: uppercase !important; }

/* Spacing */
.u-mt-4       { margin-top: 4px !important; }
.u-mt-8       { margin-top: 8px !important; }
.u-ml-8       { margin-left: 8px !important; }
.u-ml-12      { margin-left: 12px !important; }

/* Layout */
.u-row        { display: flex !important; align-items: center !important; }
.u-row-gap-10 { gap: 10px !important; }
.u-row-gap-16 { gap: 16px !important; }
.u-nowrap     { white-space: nowrap !important; }
.u-text-right { text-align: right !important; }

/* Form bits */
.u-minw-110   { min-width: 110px !important; }
.u-minw-160   { min-width: 160px !important; }
.u-minw-220   { min-width: 220px !important; }
.u-minw-240   { min-width: 240px !important; }
.u-minw-260   { min-width: 260px !important; }
.u-flex-1     { flex: 1 !important; }
.u-maxw-720   { max-width: 720px !important; }
.u-maxw-320   { max-width: 320px !important; }

/* Progress fill widths need to vary — use CSS custom props */
.u-fill       { width: var(--fill, 0%) !important; }
.u-caret      { color: #00A3D9 !important; font-size: 20px !important; }

/* Inline form groups */
.u-form-inline        { display: inline !important; }
.u-icon-tight         { width: 14px !important; }
.u-pl-40              { padding-left: 40px !important; }
.u-sub-link           { display: flex !important; align-items: center !important; gap: 16px !important; }

/* Row with hidden fill helper for progress components */
.u-link-plain         { color: #00A3D9 !important; text-decoration: none !important; font-size: 12px !important; letter-spacing: 1px !important; text-transform: uppercase !important; }
.u-link-plain:hover   { text-decoration: underline !important; }

.u-text-center        { text-align: center !important; }
.u-icon-big           { font-size: 40px !important; color: #333 !important; margin-bottom: 14px !important; }
.u-c-ok-bold          { color: #4ade80 !important; font-weight: 600 !important; }

/* Search form in contacts page header */
.search-form {
	display: flex !important; align-items: center !important; gap: 10px !important;
	flex: 1; max-width: 720px; margin-left: 40px;
}
.search-form .search-input {
	flex: 1;
	/* 52px + dark bg already enforced globally via body input rules */
}

/* Width presets for header cells */
.col-chk { width: 30px !important; }

.u-stat-label  { color: #888 !important; font-size: 11px !important; letter-spacing: 1px !important; text-transform: uppercase !important; margin-bottom: 6px !important; }

.nav-item.is-sub { padding-left: 40px !important; font-size: 12px !important; }
.nav-item.is-sub i { width: 14px !important; }
body input:focus,
body select:focus,
body textarea:focus {
	outline: none !important;
	border-color: #00A3D9 !important;
}

body .btn,
body button.btn,
body a.btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	height: 52px !important;
	padding: 0 20px !important;
	background: #00A3D9;
	color: #fff !important;
	text-decoration: none !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	border: 0 !important;
	border-radius: 0 !important;
	cursor: pointer;
	font-family: inherit !important;
	white-space: nowrap !important;
	line-height: 1 !important;
}
body .btn-outline { background: transparent !important; border: 1px solid #333 !important; }
body .btn-outline:hover { background: #222 !important; border-color: #444 !important; }
body .btn-danger { background: #c53030 !important; }
body .btn-danger:hover { background: #a02525 !important; }
body .btn-small { height: 52px !important; padding: 0 14px !important; font-size: 12px !important; }

html body table.requests-table th,
html body table.requests-table td,
html body table.contacts-table th,
html body table.contacts-table td,
html body table.posts-table th,
html body table.posts-table td {
	padding: 15px 16px !important;
	box-sizing: border-box !important;
	vertical-align: middle !important;
}
html body table.requests-table th,
html body table.contacts-table th,
html body table.posts-table th {
	height: 52px !important;
}

/* No rounded corners anywhere in admin. Ever. */
body *, body *::before, body *::after {
	border-radius: 0 !important;
}

/* Dark themed checkboxes + radios. */
body input[type="checkbox"],
body input[type="radio"] {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	width: 18px !important;
	height: 18px !important;
	background: #0a0a0a !important;
	border: 1px solid #333 !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	position: relative !important;
	flex-shrink: 0 !important;
	vertical-align: middle !important;
	margin: 0 !important;
	padding: 0 !important;
}
body input[type="checkbox"]:hover,
body input[type="radio"]:hover { border-color: #444 !important; }
body input[type="checkbox"]:checked,
body input[type="radio"]:checked {
	background: #00A3D9 !important;
	border-color: #00A3D9 !important;
}
body input[type="checkbox"]:checked::after {
	content: '' !important;
	position: absolute !important;
	top: 2px !important; left: 5px !important;
	width: 5px !important; height: 10px !important;
	border: solid #fff !important;
	border-width: 0 2px 2px 0 !important;
	transform: rotate(45deg) !important;
}
body input[type="radio"] { border-radius: 50% !important; }
body input[type="radio"]:checked::after {
	content: '' !important;
	position: absolute !important;
	top: 4px !important; left: 4px !important;
	width: 8px !important; height: 8px !important;
	background: #fff !important;
	border-radius: 50% !important;
}

body input:-webkit-autofill,
body textarea:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px #0a0a0a inset !important;
	-webkit-text-fill-color: #fff !important;
	caret-color: #fff !important;
}
