/* SierraTec Survey administrator interface
   --------------------------------------------------------------------------
   This stylesheet is intentionally separate from the public marketing styles.
   It covers the dedicated administrator login, operations console, responsive
   sidebar, KPI cards, data tables, filters, service-status panels, settings,
   and support workflows. The interface uses the shared SierraTec design tokens
   from styles.css so brand changes remain consistent across both experiences.

   PRODUCTION NOTE
   CSS only controls presentation. Real authorization, data access, masking,
   approvals, and audit behavior must be enforced by trusted backend services.
*/

/* Shared administrator primitives ---------------------------------------- */
.admin-body,
.admin-auth-page {
  min-height: 100vh;
  color: var(--ink);
  background: #f3f6fa;
}
.admin-body { overflow-x: hidden; }
.admin-eyebrow,
.admin-card-kicker,
.admin-kicker {
  display: block;
  color: var(--brand-700);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.admin-btn {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 14px;
  color: var(--ink-2);
  background: var(--white);
  border: 1px solid var(--line-strong);
  border-radius: 9px;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.admin-btn:hover { border-color: #9db9dc; box-shadow: 0 6px 18px rgba(31, 70, 116, .1); transform: translateY(-1px); }
.admin-btn.primary { color: var(--white); background: var(--brand-700); border-color: var(--brand-700); }
.admin-btn.primary:hover { background: var(--brand-800); border-color: var(--brand-800); }
.admin-btn.secondary { color: var(--brand-800); background: var(--brand-50); border-color: #bfd5ef; }
.admin-btn.danger { color: #a82e42; background: var(--danger-soft); border-color: #f0b7c1; }
.admin-btn.large { min-height: 48px; padding: 12px 18px; font-size: 13px; border-radius: 11px; }
.admin-btn.full { width: 100%; }
.admin-icon-btn {
  position: relative;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: var(--ink-2);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 10px;
}
.admin-icon-btn svg { width: 18px; height: 18px; }
.admin-icon-btn:hover { color: var(--brand-800); background: var(--brand-50); border-color: #bdd1ec; }
.admin-badge-count {
  position: absolute;
  top: -5px;
  inset-inline-end: -4px;
  min-width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  padding: 0 4px;
  color: var(--white);
  background: var(--danger);
  border: 2px solid var(--white);
  border-radius: 20px;
  font-size: 8px;
  font-weight: 900;
}
.admin-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  padding: 5px 8px;
  color: #48566b;
  background: #f1f4f8;
  border: 1px solid #dde4ed;
  border-radius: 20px;
  font-size: 9px;
  font-weight: 850;
  line-height: 1;
}
.admin-status i { width: 6px; height: 6px; background: #8996a8; border-radius: 50%; }
.admin-status.success { color: #087151; background: var(--success-soft); border-color: #bce8d8; }
.admin-status.success i { background: var(--success); }
.admin-status.warning { color: #a05d00; background: var(--warning-soft); border-color: #f2d9a7; }
.admin-status.warning i { background: var(--warning); }
.admin-status.danger { color: #a82e42; background: var(--danger-soft); border-color: #efbec6; }
.admin-status.danger i { background: var(--danger); }
.admin-status.brand { color: var(--brand-800); background: var(--brand-50); border-color: #c4d9f1; }
.admin-status.brand i { background: var(--brand); }
.admin-status.violet { color: #573abd; background: var(--violet-soft); border-color: #d5cbff; }
.admin-status.violet i { background: var(--violet); }
.admin-search-input,
.admin-select {
  height: 38px;
  padding: 0 11px;
  color: var(--ink-2);
  background: var(--white);
  border: 1px solid var(--line-strong);
  border-radius: 9px;
  font-size: 11px;
}
.admin-search-input { min-width: 210px; }
.admin-search-input.wide { min-width: 300px; }
.admin-select.full { width: 100%; }
.admin-search-input:focus,
.admin-select:focus { border-color: var(--brand); outline: 3px solid rgba(75, 142, 222, .13); }
.admin-text-link { color: var(--brand-800); font-size: 10px; font-weight: 850; }
.admin-text-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.admin-period { color: var(--muted); font-size: 10px; font-weight: 750; }

/* Administrator login ---------------------------------------------------- */
.admin-login-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(420px, 1.05fr) minmax(480px, .95fr);
}
.admin-login-brand {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: 64px;
  color: var(--white);
  background:
    radial-gradient(circle at 15% 15%, rgba(75, 142, 222, .35), transparent 30%),
    radial-gradient(circle at 90% 80%, rgba(12, 148, 167, .22), transparent 34%),
    linear-gradient(145deg, #0d1727 0%, #142842 56%, #163b65 100%);
}
.admin-login-brand::before,
.admin-login-brand::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
}
.admin-login-brand::before { width: 540px; height: 540px; left: -260px; bottom: -310px; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.015); }
.admin-login-brand::after { width: 310px; height: 310px; right: -180px; top: -150px; box-shadow: 0 0 0 55px rgba(255,255,255,.025); }
.admin-login-brand-inner { position: relative; z-index: 1; width: min(100%, 650px); }
.admin-login-logo {
  width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 62px;
  padding: 9px 12px;
  color: var(--ink);
  background: var(--white);
  border-radius: 11px;
  box-shadow: 0 16px 42px rgba(0,0,0,.18);
}
.admin-login-logo img { width: 154px; }
.admin-login-logo span { padding-inline-start: 12px; border-inline-start: 1px solid var(--line); font-size: 14px; font-weight: 900; }
.admin-login-brand .admin-kicker { margin-bottom: 14px; color: #8fc2ff; }
.admin-login-brand h1 { max-width: 720px; margin: 0; font-size: clamp(39px, 5vw, 66px); line-height: 1.02; letter-spacing: -.055em; }
.admin-login-brand > .admin-login-brand-inner > p { max-width: 650px; margin: 22px 0 32px; color: #c4d3e6; font-size: 16px; }
.admin-login-capabilities { display: grid; gap: 12px; }
.admin-login-capabilities article {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 14px;
  padding: 13px 15px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 13px;
}
.admin-login-capabilities article > span { width: 42px; height: 42px; display: grid; place-items: center; color: #a6ceff; background: rgba(75,142,222,.18); border-radius: 11px; }
.admin-login-capabilities svg { width: 21px; height: 21px; }
.admin-login-capabilities strong,
.admin-login-capabilities small { display: block; }
.admin-login-capabilities strong { color: var(--white); font-size: 12px; }
.admin-login-capabilities small { margin-top: 2px; color: #9fb1c7; font-size: 10px; }
.admin-login-trust { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 26px; color: #9fb1c7; font-size: 9px; font-weight: 750; }
.admin-login-panel { display: grid; place-items: center; padding: 44px; background: var(--surface); }
.admin-login-card { width: min(100%, 520px); padding: 36px; background: var(--white); border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 28px 70px rgba(28, 62, 102, .14); }
.admin-login-card-head { display: flex; align-items: center; gap: 14px; }
.admin-login-card-head h2 { margin: 3px 0 0; font-size: 27px; letter-spacing: -.035em; }
.admin-lock-mark { width: 48px; height: 48px; display: grid; place-items: center; color: var(--brand-800); background: var(--brand-50); border: 1px solid #c9dcf2; border-radius: 13px; }
.admin-lock-mark svg { width: 24px; height: 24px; }
.admin-login-intro { margin: 14px 0 24px; color: var(--muted); font-size: 12px; }
.admin-password-field { position: relative; }
.admin-password-field .form-control { padding-inline-end: 64px; }
.admin-password-field button { position: absolute; top: 50%; inset-inline-end: 7px; transform: translateY(-50%); padding: 5px 8px; color: var(--brand-800); background: transparent; border: 0; font-size: 10px; font-weight: 850; }
.admin-login-options { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin: 4px 0 18px; }
.admin-login-options .checkbox-row { margin: 0; font-size: 10px; }
.admin-login-options > a { flex: 0 0 auto; color: var(--brand-800); font-size: 10px; font-weight: 800; }
.admin-login-error { display: none; margin: -4px 0 14px; padding: 10px 12px; color: #9e2940; background: var(--danger-soft); border: 1px solid #f0bdc7; border-radius: 9px; font-size: 10px; font-weight: 700; }
.admin-login-error.show { display: block; }
.admin-demo-credentials { margin-top: 24px; padding: 17px; background: #f7faff; border: 1px dashed #aec9ea; border-radius: 13px; }
.admin-demo-credentials > div > strong { display: block; margin-top: 2px; font-size: 11px; }
.admin-demo-credentials dl { margin: 13px 0; }
.admin-demo-credentials dl > div { display: grid; grid-template-columns: 76px 1fr; align-items: center; gap: 8px; padding: 7px 0; border-top: 1px solid #e2eaf4; }
.admin-demo-credentials dt { color: var(--muted); font-size: 9px; font-weight: 800; }
.admin-demo-credentials dd { min-width: 0; margin: 0; }
.admin-demo-credentials code { display: block; overflow: hidden; text-overflow: ellipsis; padding: 5px 7px; color: var(--ink-2); background: var(--white); border: 1px solid var(--line); border-radius: 7px; font-size: 9px; }
.admin-security-note { display: grid; grid-template-columns: 30px 1fr; gap: 10px; margin-top: 17px; padding: 13px; color: #705510; background: var(--warning-soft); border: 1px solid #f0d9a9; border-radius: 11px; }
.admin-security-note > span { color: var(--warning); }
.admin-security-note svg { width: 21px; height: 21px; }
.admin-security-note p { margin: 0; font-size: 9px; line-height: 1.55; }
.admin-login-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 16px; margin-top: 19px; color: var(--brand-800); font-size: 9px; font-weight: 800; }

/* Administrator application shell --------------------------------------- */
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 244px minmax(0, 1fr); }
.admin-sidebar {
  position: sticky;
  top: 0;
  z-index: 80;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: #d3deeb;
  background: #101a2b;
  border-inline-end: 1px solid #253349;
}
.admin-sidebar-head { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 14px; border-bottom: 1px solid #253349; }
.admin-brand { min-width: 0; display: flex; align-items: center; gap: 8px; padding: 7px 8px; color: var(--ink); background: var(--white); border-radius: 9px; }
.admin-brand img { width: 116px; }
.admin-brand span { padding-inline-start: 8px; border-inline-start: 1px solid var(--line); font-size: 9px; font-weight: 900; white-space: nowrap; }
.admin-sidebar-close { display: none; color: var(--white); background: #1b2a40; border-color: #314158; }
.admin-environment { display: grid; grid-template-columns: 9px 1fr; align-items: center; gap: 9px; margin: 12px; padding: 10px 11px; background: #16243a; border: 1px solid #2b3b51; border-radius: 10px; }
.admin-environment-dot { width: 9px; height: 9px; background: #2ccf92; border: 2px solid rgba(44,207,146,.26); border-radius: 50%; box-shadow: 0 0 0 4px rgba(44,207,146,.08); }
.admin-environment strong,
.admin-environment small { display: block; }
.admin-environment strong { color: #e7eef7; font-size: 9px; }
.admin-environment small { margin-top: 1px; color: #7f92aa; font-size: 8px; }
.admin-nav { flex: 1; overflow-y: auto; padding: 2px 9px 18px; scrollbar-width: thin; scrollbar-color: #34445c transparent; }
.admin-nav-label { display: block; padding: 16px 9px 6px; color: #657a94; font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.admin-nav-link {
  width: 100%;
  min-height: 37px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  color: #aebed1;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  text-align: start;
}
.admin-nav-link > span { width: 24px; height: 24px; display: grid; place-items: center; color: #7f94ac; }
.admin-nav-link svg { width: 15px; height: 15px; }
.admin-nav-link b { overflow: hidden; font-size: 9px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.admin-nav-link em { min-width: 20px; padding: 3px 5px; color: #b7d5fa; background: #253d5b; border-radius: 20px; font-size: 8px; font-style: normal; font-weight: 900; text-align: center; }
.admin-nav-link:hover { color: var(--white); background: #18283e; }
.admin-nav-link.active { color: var(--white); background: #1f3858; border-color: #31527a; box-shadow: inset 3px 0 0 var(--brand); }
.admin-nav-link.active > span { color: #8ec2ff; }
.admin-sidebar-footer { padding: 11px 9px; border-top: 1px solid #253349; }
.admin-profile-mini { display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 8px; padding: 6px 8px 10px; }
.admin-profile-mini > span { width: 32px; height: 32px; display: grid; place-items: center; color: var(--white); background: linear-gradient(135deg, var(--brand), var(--violet)); border-radius: 9px; font-size: 9px; font-weight: 900; }
.admin-profile-mini strong,
.admin-profile-mini small { display: block; }
.admin-profile-mini strong { color: #e7eef7; font-size: 9px; }
.admin-profile-mini small { color: #778ba4; font-size: 8px; }
.admin-nav-link.logout { color: #f0a8b5; }
.admin-stage { min-width: 0; }
.admin-topbar {
  position: sticky;
  top: 0;
  z-index: 60;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 11px 24px;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(16px);
}
.admin-topbar-left,
.admin-topbar-actions { display: flex; align-items: center; gap: 10px; }
.admin-sidebar-toggle { display: none; }
.admin-global-search { position: relative; width: min(44vw, 520px); }
.admin-global-search > span { position: absolute; top: 50%; inset-inline-start: 12px; transform: translateY(-50%); color: var(--muted-2); }
.admin-global-search svg { width: 16px; height: 16px; }
.admin-global-search input { width: 100%; height: 42px; padding: 0 42px 0 38px; color: var(--ink-2); background: #f8fafc; border: 1px solid var(--line); border-radius: 10px; font-size: 11px; }
.admin-global-search input:focus { background: var(--white); border-color: var(--brand); outline: 3px solid rgba(75,142,222,.12); }
.admin-global-search kbd { position: absolute; top: 50%; inset-inline-end: 10px; transform: translateY(-50%); padding: 2px 6px; color: var(--muted); background: var(--white); border: 1px solid var(--line-strong); border-bottom-width: 2px; border-radius: 5px; font-size: 8px; }
.admin-system-pill { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; color: #087151; background: var(--success-soft); border: 1px solid #bce8d8; border-radius: 20px; font-size: 9px; font-weight: 800; }
.admin-system-pill i,
.admin-live-dot { width: 7px; height: 7px; display: inline-block; background: var(--success); border-radius: 50%; box-shadow: 0 0 0 4px rgba(13,155,109,.1); }
.admin-profile-button { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 8px; padding: 4px 8px 4px 4px; background: transparent; border: 0; border-radius: 9px; text-align: start; }
.admin-profile-button:hover { background: var(--surface); }
.admin-profile-button > span { width: 34px; height: 34px; display: grid; place-items: center; color: var(--white); background: linear-gradient(135deg, var(--brand), var(--violet)); border-radius: 9px; font-size: 9px; font-weight: 900; }
.admin-profile-button strong,
.admin-profile-button small { display: block; }
.admin-profile-button strong { color: var(--ink-2); font-size: 9px; }
.admin-profile-button small { color: var(--muted); font-size: 8px; }
.admin-main { padding: 27px 28px 48px; }
.admin-view { display: none; max-width: 1540px; margin: 0 auto; }
.admin-view.active { display: block; animation: admin-view-in .2s ease; }
@keyframes admin-view-in { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }
.admin-view-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 26px; margin-bottom: 22px; }
.admin-view-header h1 { margin: 4px 0 4px; font-size: clamp(27px, 3vw, 38px); line-height: 1.08; letter-spacing: -.045em; }
.admin-view-header p { max-width: 810px; margin: 0; color: var(--muted); font-size: 11px; }
.admin-view-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }

/* Dashboard cards, metrics, charts, and data presentation ---------------- */
.admin-card { min-width: 0; margin-bottom: 18px; padding: 19px; background: var(--white); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 6px 22px rgba(29, 62, 99, .05); }
.admin-card h2 { margin: 3px 0 0; font-size: 16px; letter-spacing: -.025em; }
.admin-card > p { color: var(--muted); font-size: 10px; }
.admin-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.admin-metric-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.admin-metric-grid.compact { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-metric-card { min-width: 0; min-height: 130px; padding: 15px; background: var(--white); border: 1px solid var(--line); border-top: 3px solid #aab6c4; border-radius: 13px; box-shadow: 0 5px 18px rgba(29,62,99,.045); }
.admin-metric-card.tone-brand { border-top-color: var(--brand); }
.admin-metric-card.tone-success { border-top-color: var(--success); }
.admin-metric-card.tone-warning { border-top-color: var(--warning); }
.admin-metric-card.tone-danger { border-top-color: var(--danger); }
.admin-metric-card.tone-violet { border-top-color: var(--violet); }
.admin-metric-head { display: flex; align-items: center; gap: 8px; color: var(--muted); }
.admin-metric-icon { width: 28px; height: 28px; display: grid; place-items: center; color: var(--brand-800); background: var(--brand-50); border-radius: 8px; }
.admin-metric-icon svg { width: 15px; height: 15px; }
.admin-metric-label { overflow: hidden; font-size: 9px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.admin-metric-value { display: block; margin-top: 13px; font-size: 24px; line-height: 1; letter-spacing: -.04em; }
.admin-metric-note { display: block; margin-top: 9px; color: var(--muted); font-size: 8px; line-height: 1.35; }
.admin-grid { display: grid; gap: 18px; }
.admin-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-grid-2-1 { grid-template-columns: minmax(0, 1.7fr) minmax(280px, .8fr); }
.admin-segmented { display: flex; padding: 3px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.admin-segmented button { padding: 5px 8px; color: var(--muted); background: transparent; border: 0; border-radius: 6px; font-size: 8px; font-weight: 800; }
.admin-segmented button.active { color: var(--brand-800); background: var(--white); box-shadow: var(--shadow-sm); }
.admin-chart-summary { display: flex; flex-wrap: wrap; gap: 24px; padding: 7px 0 15px; }
.admin-chart-summary strong,
.admin-chart-summary span { display: block; }
.admin-chart-summary strong { font-size: 16px; }
.admin-chart-summary span { color: var(--muted); font-size: 8px; }
.admin-bar-chart { height: 190px; display: grid; grid-template-columns: repeat(12, 1fr); align-items: end; gap: 7px; padding: 12px 8px 0; background: repeating-linear-gradient(to top, #eef2f7 0, #eef2f7 1px, transparent 1px, transparent 25%); border-bottom: 1px solid var(--line); }
.admin-bar-chart span { height: var(--bar); min-height: 10px; background: linear-gradient(to top, var(--brand-800), #70acec); border-radius: 5px 5px 2px 2px; box-shadow: 0 5px 12px rgba(75,142,222,.17); }
.admin-chart-axis { display: flex; justify-content: space-between; padding: 7px 7px 0; color: var(--muted); font-size: 8px; }
.admin-service-list { display: grid; gap: 1px; }
.admin-service-list > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid #edf1f5; font-size: 10px; font-weight: 750; }
.admin-service-list > div:last-child { border-bottom: 0; }
.admin-incident-note,
.admin-note { display: grid; grid-template-columns: 28px 1fr; gap: 9px; margin-top: 14px; padding: 11px 12px; color: #6d5314; background: var(--warning-soft); border: 1px solid #f0d9a7; border-radius: 10px; }
.admin-incident-note > span { color: var(--warning); }
.admin-incident-note svg { width: 18px; height: 18px; }
.admin-incident-note p,
.admin-note p { margin: 0; font-size: 8px; line-height: 1.5; }
.admin-note { display: block; grid-template-columns: none; }
.admin-note strong { display: block; margin-bottom: 3px; font-size: 9px; }
.admin-priority-list { display: grid; gap: 8px; }
.admin-priority-list button { width: 100%; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 10px; background: #fafbfd; border: 1px solid var(--line); border-radius: 10px; text-align: start; }
.admin-priority-list button:hover { background: var(--brand-50); border-color: #bfd5ef; }
.admin-priority-list strong,
.admin-priority-list small { display: block; }
.admin-priority-list strong { font-size: 10px; }
.admin-priority-list small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.admin-priority-list em { color: var(--muted); font-size: 8px; font-style: normal; font-weight: 800; }
.admin-priority { width: 28px; height: 24px; display: grid; place-items: center; border-radius: 7px; font-size: 8px; font-weight: 900; }
.admin-priority.red { color: #a52f43; background: var(--danger-soft); }
.admin-priority.amber { color: #a05d00; background: var(--warning-soft); }
.admin-priority.blue { color: var(--brand-800); background: var(--brand-50); }
.admin-plan-bars,
.admin-category-health,
.admin-queue-list { display: grid; gap: 11px; }
.admin-plan-bars > div { display: grid; grid-template-columns: 82px minmax(0,1fr) 42px; align-items: center; gap: 10px; font-size: 9px; }
.admin-plan-bars b,
.admin-category-health b,
.admin-queue-list b { height: 7px; overflow: hidden; background: #edf1f6; border-radius: 10px; }
.admin-plan-bars i,
.admin-category-health i,
.admin-queue-list i { height: 100%; display: block; background: linear-gradient(90deg, var(--brand-800), var(--brand)); border-radius: inherit; }
.admin-plan-bars strong { text-align: end; }
.admin-inline-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 15px; padding-top: 14px; border-top: 1px solid var(--line); }
.admin-inline-stats strong,
.admin-inline-stats span { display: block; }
.admin-inline-stats strong { font-size: 16px; }
.admin-inline-stats span { color: var(--muted); font-size: 8px; }

/* Toolbars, tables, records, and empty states ----------------------------- */
.admin-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.admin-toolbar-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.admin-toolbar-title h2 { margin: 0; }
.admin-toolbar-title span { color: var(--muted); font-size: 8px; }
.admin-filter-group { display: flex; flex-wrap: wrap; gap: 5px; }
.admin-filter-group button { padding: 6px 9px; color: var(--muted); background: var(--surface); border: 1px solid var(--line); border-radius: 8px; font-size: 9px; font-weight: 800; }
.admin-filter-group button span { margin-inline-start: 3px; color: var(--brand-800); }
.admin-filter-group button.active { color: var(--white); background: var(--ink-2); border-color: var(--ink-2); }
.admin-filter-group button.active span { color: #a8ceff; }
.admin-table-wrap { width: 100%; overflow-x: auto; border: 1px solid #e1e7ef; border-radius: 10px; }
.admin-table { width: 100%; min-width: 850px; border-collapse: collapse; background: var(--white); font-size: 9px; }
.admin-table th { padding: 10px 11px; color: var(--muted); background: #f7f9fc; border-bottom: 1px solid var(--line); font-size: 8px; font-weight: 900; letter-spacing: .035em; text-align: start; text-transform: uppercase; }
.admin-table td { padding: 11px; color: #3f4e63; border-bottom: 1px solid #edf1f5; vertical-align: middle; }
.admin-table tbody tr:last-child td { border-bottom: 0; }
.admin-table tbody tr:hover td { background: #fbfdff; }
.admin-table strong,
.admin-table small { display: block; }
.admin-table strong { color: var(--ink-2); font-size: 9px; }
.admin-table small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.admin-table .admin-btn { min-height: 30px; padding: 5px 9px; font-size: 8px; }
.admin-table tr.filtered-out { display: none; }
.admin-deadline.danger { color: var(--danger); }
.admin-deadline.warning { color: var(--warning); }
.admin-empty-state { display: none; padding: 40px 20px; color: var(--muted); text-align: center; font-size: 11px; }
.admin-empty-state.show { display: block; }
.admin-person { min-width: 195px; display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 8px; }
.admin-person > span { width: 32px; height: 32px; display: grid; place-items: center; color: var(--brand-800); background: var(--brand-50); border: 1px solid #c9dcf1; border-radius: 9px; font-size: 8px; font-weight: 900; }
.admin-risk { display: inline-grid; place-items: center; min-width: 48px; padding: 5px 7px; border-radius: 7px; font-size: 8px; font-weight: 900; }
.admin-risk.high { color: #a72c43; background: var(--danger-soft); }
.admin-risk.medium { color: #9b5c00; background: var(--warning-soft); }
.admin-risk.low { color: var(--brand-800); background: var(--brand-50); }
.admin-action-stack,
.admin-action-list { display: grid; gap: 8px; }
.admin-action-stack .admin-btn { width: 100%; justify-content: flex-start; }
.admin-action-list > button { width: 100%; display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 10px; padding: 10px; background: #fafbfd; border: 1px solid var(--line); border-radius: 10px; text-align: start; }
.admin-action-list > button:hover { background: var(--brand-50); border-color: #bfd4ee; }
.admin-action-list strong,
.admin-action-list small { display: block; }
.admin-action-list strong { font-size: 10px; }
.admin-action-list small { color: var(--muted); font-size: 8px; }
.admin-check-list { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.admin-check-list li { position: relative; padding-inline-start: 19px; color: var(--muted); font-size: 9px; }
.admin-check-list li::before { content: "✓"; position: absolute; inset-inline-start: 0; top: 0; color: var(--success); font-weight: 900; }

/* Specialized admin views ------------------------------------------------ */
.admin-category-health > div { display: grid; grid-template-columns: minmax(160px, 1fr) 88px minmax(120px, 1.2fr) minmax(150px, .9fr); align-items: center; gap: 11px; padding: 9px 0; border-bottom: 1px solid #edf1f5; font-size: 9px; }
.admin-category-health > div:last-child { border-bottom: 0; }
.admin-category-health small { color: var(--muted); font-size: 8px; }
.admin-donut-layout { min-height: 220px; display: grid; grid-template-columns: 210px 1fr; align-items: center; gap: 28px; }
.admin-donut { width: 186px; height: 186px; display: grid; place-items: center; margin: auto; background: conic-gradient(var(--brand-800) 0 38%, var(--violet) 38% 65%, var(--teal) 65% 89%, #d9a443 89% 100%); border-radius: 50%; }
.admin-donut::before { content: ""; grid-area: 1 / 1; width: 122px; height: 122px; background: var(--white); border-radius: 50%; }
.admin-donut > span { z-index: 1; grid-area: 1 / 1; font-size: 22px; font-weight: 900; text-align: center; }
.admin-donut small { display: block; color: var(--muted); font-size: 8px; font-weight: 750; }
.admin-legend { display: grid; gap: 12px; }
.admin-legend > div { display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 8px; font-size: 9px; }
.admin-legend i { width: 9px; height: 9px; background: var(--brand-800); border-radius: 3px; }
.admin-legend i.l2 { background: var(--violet); }
.admin-legend i.l3 { background: var(--teal); }
.admin-legend i.l4 { background: #d9a443; }
.admin-setting-list { display: grid; }
.admin-setting-list label { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid #edf1f5; cursor: pointer; }
.admin-setting-list label:last-child { border-bottom: 0; }
.admin-setting-list strong,
.admin-setting-list small { display: block; }
.admin-setting-list strong { font-size: 10px; }
.admin-setting-list small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.admin-switch { width: 38px; height: 21px; position: relative; flex: 0 0 auto; appearance: none; background: #cad4e0; border: 0; border-radius: 20px; transition: .18s ease; }
.admin-switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; background: var(--white); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.2); transition: .18s ease; }
.admin-switch:checked { background: var(--brand-700); }
.admin-switch:checked::after { left: 20px; }
.admin-security-score { display: flex; align-items: center; gap: 13px; margin: 16px 0; }
.admin-security-score > span { width: 68px; height: 68px; display: grid; place-items: center; color: var(--success); background: conic-gradient(var(--success) 0 96%, #e3e9ef 96%); border: 7px solid var(--white); outline: 1px solid #dce4ed; border-radius: 50%; font-size: 18px; font-weight: 900; }
.admin-security-score strong,
.admin-security-score small { display: block; }
.admin-security-score small { color: var(--muted); font-size: 8px; }
.admin-language-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.admin-language-grid article { min-width: 0; display: grid; grid-template-columns: 38px 1fr; gap: 9px; padding: 12px; background: #fafbfd; border: 1px solid var(--line); border-radius: 10px; }
.admin-language-grid article > span { width: 38px; height: 38px; display: grid; place-items: center; color: var(--brand-800); background: var(--brand-50); border-radius: 10px; font-size: 9px; font-weight: 900; }
.admin-language-grid strong,
.admin-language-grid small { display: block; }
.admin-language-grid strong { font-size: 9px; }
.admin-language-grid small { min-height: 25px; color: var(--muted); font-size: 7px; }
.admin-language-grid b { height: 5px; display: block; overflow: hidden; margin-top: 6px; background: #e6ebf2; border-radius: 10px; }
.admin-language-grid b i { height: 100%; display: block; background: var(--brand); }
.admin-language-grid .admin-status { grid-column: 1 / -1; width: max-content; }
.admin-health-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.admin-health-grid article { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 7px; padding: 12px; background: #fafbfd; border: 1px solid var(--line); border-radius: 10px; }
.admin-health-grid strong,
.admin-health-grid small { display: block; }
.admin-health-grid strong { font-size: 9px; }
.admin-health-grid small { color: var(--muted); font-size: 7px; }
.admin-health-grid article > span { font-size: 10px; font-weight: 900; }
.admin-health-grid .admin-status { grid-column: 1 / -1; width: max-content; }
.admin-queue-list > div { display: grid; grid-template-columns: 125px 52px minmax(90px,1fr) 90px; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid #edf1f5; font-size: 9px; }
.admin-queue-list > div:last-child { border-bottom: 0; }
.admin-queue-list small { color: var(--muted); font-size: 8px; text-align: end; }
.admin-audit-filter { padding-bottom: 14px; }
.admin-form-row { display: grid; grid-template-columns: minmax(240px, 1.5fr) repeat(3, minmax(150px, .65fr)); gap: 10px; }
.admin-form-row label,
.admin-form-grid label { display: block; margin-bottom: 5px; color: var(--muted); font-size: 8px; font-weight: 850; }
.admin-form-row .admin-search-input,
.admin-form-row .admin-select { width: 100%; }
.admin-settings-layout { display: grid; grid-template-columns: 205px minmax(0, 1fr); gap: 18px; }
.admin-settings-nav { height: max-content; position: sticky; top: 90px; display: grid; gap: 4px; padding: 8px; background: var(--white); border: 1px solid var(--line); border-radius: 12px; }
.admin-settings-nav button { padding: 9px 10px; color: var(--muted); background: transparent; border: 0; border-radius: 8px; font-size: 9px; font-weight: 800; text-align: start; }
.admin-settings-nav button:hover,
.admin-settings-nav button.active { color: var(--brand-800); background: var(--brand-50); }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.admin-form-grid small { display: block; margin-top: 5px; color: var(--muted); font-size: 8px; }
.danger-zone { border-color: #edc2ca; }
.admin-danger-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

/* Admin notifications ---------------------------------------------------- */
.admin-toast { position: fixed; z-index: 4000; inset-inline-end: 22px; bottom: 22px; width: min(calc(100% - 44px), 360px); padding: 14px 16px; visibility: hidden; opacity: 0; transform: translateY(12px); color: var(--white); background: #101a2b; border: 1px solid #34465e; border-radius: 12px; box-shadow: 0 24px 60px rgba(5,14,28,.3); transition: .2s ease; }
.admin-toast.show { visibility: visible; opacity: 1; transform: none; }
.admin-toast strong,
.admin-toast span { display: block; }
.admin-toast strong { font-size: 11px; }
.admin-toast span { margin-top: 3px; color: #adbed2; font-size: 9px; }

/* Responsive administrator layouts -------------------------------------- */
@media (max-width: 1400px) {
  .admin-metric-grid { grid-template-columns: repeat(3, 1fr); }
  .admin-language-grid { grid-template-columns: repeat(3, 1fr); }
  .admin-health-grid { grid-template-columns: repeat(2, 1fr); }
  .admin-system-pill { display: none; }
}

@media (max-width: 1200px) {
  .admin-login-shell { grid-template-columns: .9fr 1.1fr; }
  .admin-login-brand { padding: 44px; }
  .admin-login-brand h1 { font-size: 44px; }
  .admin-shell { grid-template-columns: 76px minmax(0, 1fr); }
  .admin-brand { width: 42px; height: 42px; justify-content: center; padding: 5px; color: var(--white); background: var(--brand-700); }
  .admin-brand img,
  .admin-brand span,
  .admin-environment,
  .admin-nav-label,
  .admin-nav-link b,
  .admin-nav-link em,
  .admin-profile-mini div { display: none; }
  .admin-sidebar-head { justify-content: center; padding-inline: 8px; }
  .admin-nav { padding-inline: 8px; }
  .admin-nav-link { grid-template-columns: 1fr; justify-items: center; padding-inline: 4px; }
  .admin-nav-link > span { width: 34px; height: 32px; }
  .admin-nav-link.active { box-shadow: inset 3px 0 0 var(--brand); }
  .admin-profile-mini { grid-template-columns: 1fr; justify-items: center; padding-inline: 0; }
  .admin-grid-2-1 { grid-template-columns: 1fr; }
  .admin-form-row { grid-template-columns: repeat(2, 1fr); }
  .admin-category-health > div { grid-template-columns: minmax(160px,1fr) 90px minmax(120px,1fr); }
  .admin-category-health small { grid-column: 1 / -1; }
}

@media (max-width: 992px) {
  .admin-login-shell { grid-template-columns: 1fr; }
  .admin-login-brand { min-height: auto; padding: 34px 28px; }
  .admin-login-logo { margin-bottom: 30px; }
  .admin-login-brand h1 { max-width: 680px; font-size: 38px; }
  .admin-login-capabilities { grid-template-columns: repeat(3, 1fr); }
  .admin-login-capabilities article { grid-template-columns: 1fr; align-content: start; }
  .admin-login-panel { padding: 34px 20px; }
  .admin-shell { display: block; }
  .admin-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 1045; width: 260px; transform: translateX(-105%); transition: transform .22s ease; box-shadow: 20px 0 60px rgba(3,11,22,.25); }
  [dir="rtl"] .admin-sidebar { inset: 0 0 0 auto; transform: translateX(105%); }
  .admin-sidebar.show { transform: none; }
  .admin-sidebar-head { justify-content: space-between; padding-inline: 14px; }
  .admin-sidebar-close { display: grid; }
  .admin-brand { width: auto; height: auto; justify-content: flex-start; padding: 7px 8px; color: var(--ink); background: var(--white); }
  .admin-brand img { width: 112px; display: block; }
  .admin-brand span { display: block; }
  .admin-environment { display: grid; }
  .admin-nav-label { display: block; }
  .admin-nav-link { grid-template-columns: 24px minmax(0,1fr) auto; justify-items: stretch; padding-inline: 9px; }
  .admin-nav-link b,
  .admin-nav-link em,
  .admin-profile-mini div { display: block; }
  .admin-profile-mini { grid-template-columns: 32px 1fr; justify-items: stretch; }
  .admin-sidebar-toggle { display: grid; }
  .admin-main { padding: 23px 20px 42px; }
  .admin-view-header { align-items: flex-start; flex-direction: column; }
  .admin-view-actions { justify-content: flex-start; }
  .admin-grid-2,
  .admin-grid-3 { grid-template-columns: 1fr; }
  .admin-language-grid { grid-template-columns: repeat(2, 1fr); }
  .admin-settings-layout { grid-template-columns: 1fr; }
  .admin-settings-nav { position: static; grid-template-columns: repeat(3, 1fr); }
  .admin-topbar { padding-inline: 16px; }
  .admin-profile-button div { display: none; }
}

@media (max-width: 768px) {
  .admin-login-brand { padding: 28px 20px; }
  .admin-login-brand h1 { font-size: 33px; }
  .admin-login-brand > .admin-login-brand-inner > p { font-size: 13px; }
  .admin-login-capabilities { grid-template-columns: 1fr; }
  .admin-login-capabilities article { grid-template-columns: 42px 1fr; }
  .admin-login-card { padding: 24px 20px; }
  .admin-login-options { align-items: flex-start; flex-direction: column; gap: 8px; }
  .admin-topbar { gap: 8px; }
  .admin-global-search { width: min(62vw, 380px); }
  .admin-global-search kbd { display: none; }
  .admin-global-search input { padding-inline-end: 12px; }
  .admin-topbar-actions > .admin-icon-btn { display: none; }
  .admin-main { padding: 18px 13px 34px; }
  .admin-view-header h1 { font-size: 29px; }
  .admin-view-actions { width: 100%; }
  .admin-view-actions .admin-btn { flex: 1 1 160px; }
  .admin-metric-grid,
  .admin-metric-grid.compact { grid-template-columns: repeat(2, 1fr); }
  .admin-metric-card { min-height: 120px; }
  .admin-card { padding: 15px; }
  .admin-toolbar { align-items: stretch; flex-direction: column; }
  .admin-toolbar-actions { justify-content: flex-start; }
  .admin-search-input,
  .admin-search-input.wide { min-width: 0; width: 100%; }
  .admin-filter-group { width: 100%; }
  .admin-filter-group button { flex: 1 1 90px; }
  .admin-inline-stats { grid-template-columns: 1fr; }
  .admin-category-health > div { grid-template-columns: 1fr auto; }
  .admin-category-health b,
  .admin-category-health small { grid-column: 1 / -1; }
  .admin-donut-layout { grid-template-columns: 1fr; }
  .admin-language-grid,
  .admin-health-grid { grid-template-columns: 1fr; }
  .admin-queue-list > div { grid-template-columns: 1fr auto; }
  .admin-queue-list b,
  .admin-queue-list small { grid-column: 1 / -1; text-align: start; }
  .admin-form-row,
  .admin-form-grid { grid-template-columns: 1fr; }
  .admin-settings-nav { display: flex; overflow-x: auto; }
  .admin-settings-nav button { flex: 0 0 auto; }
  .admin-danger-actions { display: grid; }
}

@media (max-width: 576px) {
  .admin-login-logo img { width: 128px; }
  .admin-login-logo span { font-size: 11px; }
  .admin-metric-grid,
  .admin-metric-grid.compact { grid-template-columns: 1fr; }
  .admin-topbar-actions .admin-profile-button { padding-inline-end: 0; }
  .admin-global-search { width: 58vw; }
}

/* Respect reduced-motion preferences in the private admin interface. */
@media (prefers-reduced-motion: reduce) {
  .admin-view.active,
  .admin-sidebar,
  .admin-toast,
  .admin-btn,
  .admin-switch,
  .admin-switch::after { animation: none !important; transition: none !important; }
}

/* Mobile sidebar backdrop - present in the source template but missing from
   this vendored copy; restored so the off-canvas drawer has a dimmed
   background instead of floating over unobscured page content. */
.admin-sidebar-backdrop { position: fixed; inset: 0; z-index: 75; display: none; background: rgba(8,15,25,.6); backdrop-filter: blur(2px); }
@media (max-width: 992px) {
  .admin-sidebar-backdrop.show { display: block; }
}

.admin-v9-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-v9-link-grid a{display:flex;align-items:center;min-height:52px;padding:12px 14px;border:1px solid #dce5ef;border-radius:10px;background:#f9fbfd;color:#24364b;font-size:12px;font-weight:800;text-decoration:none}.admin-v9-link-grid a:hover{border-color:#7db0e7;background:#eef6ff;color:#155b9b}@media(max-width:720px){.admin-v9-link-grid{grid-template-columns:1fr}}
.admin-v10-fee-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-v10-fee-grid>div{padding:14px;border:1px solid #dce6ef;border-radius:12px;background:#fbfdff}.admin-v10-fee-grid strong,.admin-v10-fee-grid span{display:block}.admin-v10-fee-grid strong{font-size:22px}.admin-v10-fee-grid span{font-size:11px;color:#6f7f90}.admin-v10-rate{width:82px;padding:7px 8px;border:1px solid #cfdbe7;border-radius:8px}.admin-v10-rule{padding:13px;border-left:4px solid #4b8ede;background:#eff6ff;border-radius:8px;margin-top:12px}.admin-v10-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.admin-v10-kpi>div{padding:14px;border:1px solid #dce6ef;border-radius:12px}.admin-v10-kpi strong,.admin-v10-kpi span{display:block}.admin-v10-kpi strong{font-size:20px}.admin-v10-kpi span{font-size:11px;color:#6f7f90}@media(max-width:850px){.admin-v10-fee-grid,.admin-v10-kpi{grid-template-columns:1fr 1fr}}@media(max-width:560px){.admin-v10-fee-grid,.admin-v10-kpi{grid-template-columns:1fr}}


/* Custom properties the admin screens reference but neither the panel nor the marketing stylesheet defines. */
:root{--primary:var(--brand-700);--surface-soft:var(--surface);}
