:root {
  --navy: #1b2a4a;
  --navy-light: #2b3f6b;
  --red: #d6321f;
  --bg: #f4f6fa;
  --card: #ffffff;
  --line: #d9dee8;
  --text: #1d2433;
  --muted: #6b7488;
  --ok: #1c8a4d;
  --danger: #c0392b;
  --focus: #3a6df0;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
  line-height: 1.5;
}

/* ---------- Header / brand ---------- */
.site-header {
  background: #e7eefc;
  border-bottom: 3px solid var(--navy);
  padding: 14px 16px;
  text-align: center;
}
.brand { display: inline-flex; flex-direction: column; align-items: center; line-height: 1; }
.brand-first { color: var(--red); font-weight: 800; letter-spacing: 2px; font-size: 14px; }
.brand-main { color: var(--navy); font-weight: 800; font-size: 40px; letter-spacing: 1px; }
.brand-sub { color: var(--navy); font-weight: 700; font-size: 12px; margin-top: 4px; letter-spacing: 1px; }

main { max-width: 760px; margin: 0 auto; padding: 16px; }

/* ---------- Hero ---------- */
.hero { text-align: center; padding: 8px 0 4px; }
.hero h1 { color: var(--navy); font-size: 22px; margin: 8px 0; text-transform: uppercase; }
.hero-cta { color: var(--red); font-weight: 800; font-size: 18px; margin: 6px 0 14px; }

/* ---------- Honeypot (hidden anti-bot field) ---------- */
.hp-field { position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Progress thermometer ---------- */
.progress { max-width: 520px; margin: 14px auto 4px; }
.progress-bar { height: 18px; background: #e7ecf5; border-radius: 999px; overflow: hidden; border: 1px solid var(--line); }
.progress-fill { height: 100%; width: 0; background: linear-gradient(90deg, var(--navy), var(--red)); border-radius: 999px; transition: width 0.6s ease; }
.progress-text { text-align: center; font-weight: 700; color: var(--navy); font-size: 14px; margin: 7px 0 0; }

/* ---------- Share ---------- */
.share { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 16px; }
.share-title { font-weight: 700; color: var(--navy); margin: 0 0 4px; }
.share-sub { margin: 0 0 12px; }
.succ-personal { margin: 10px auto 0; max-width: 480px; padding: 12px 16px; background: var(--cream, #fff7e6); border: 1px solid var(--line); border-radius: 10px; color: var(--navy); line-height: 1.5; }
.succ-personal .succ-rsvp { display: inline-block; margin-top: 8px; font-weight: 600; }
.succ-updates { margin: 14px auto 0; max-width: 480px; padding: 14px 16px; background: var(--cream, #fff7e6); border: 1px solid var(--line); border-radius: 12px; }
.succ-updates-q { margin: 0 0 10px; font-weight: 700; color: var(--navy); }
.succ-updates-form { display: flex; gap: 8px; flex-wrap: wrap; }
.succ-updates-form input { flex: 1 1 200px; min-width: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; font: inherit; }
.succ-updates-form .btn-primary { flex: 0 0 auto; width: auto; }
.succ-next { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 12px; }
.succ-next .btn-ghost { text-decoration: none; }
.email-status { font-size: 12.5px; line-height: 1.45; border-radius: 9px; padding: 8px 11px; margin: 4px 0 10px; }
.email-status.ok { background: rgba(28,138,77,0.16); border: 1px solid rgba(28,138,77,0.4); color: #9ff0c0; }
.email-status.warn { background: rgba(214,138,30,0.14); border: 1px solid rgba(214,138,30,0.4); color: #ffd9a3; }
.email-status code { background: rgba(255,255,255,0.12); padding: 1px 5px; border-radius: 5px; font-size: 11.5px; }
.share-btns { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.share-btns .btn-ghost { text-decoration: none; text-align: center; flex: 1 1 auto; min-width: 92px; }

/* ---------- Cards ---------- */
.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 18px;
  margin: 0 0 16px;
}
fieldset.card { border: 1px solid var(--line); }
legend {
  font-weight: 700;
  color: var(--navy);
  padding: 0 8px;
  font-size: 16px;
}
.card h2 { margin: 0 0 10px; color: var(--navy); font-size: 18px; }

.candidate-card dl { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; }
.candidate-card dt { color: var(--muted); font-weight: 600; }
.candidate-card dd { margin: 0; font-weight: 600; }

.notice p { margin: 0 0 8px; font-size: 14px; }

/* ---------- Fields ---------- */
.field { margin-bottom: 14px; display: flex; flex-direction: column; }
.field:last-child { margin-bottom: 0; }
label { font-weight: 600; font-size: 14px; margin-bottom: 5px; }
.req { color: var(--red); }
.hint-inline, .hint { color: var(--muted); font-weight: 400; }
.hint { font-size: 12px; margin: 5px 0 0; }
.hint-inline { font-size: 13px; }

input[type="text"], input[type="date"], select {
  width: 100%;
  padding: 12px;
  font-size: 16px; /* prevents iOS zoom */
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
}
input[readonly] { background: #eef1f6; color: var(--muted); }
input:focus, select:focus { outline: 2px solid var(--focus); outline-offset: 1px; border-color: var(--focus); }

input.invalid, select.invalid { border-color: var(--danger); background: #fdf3f2; }

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
.grid-addr { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 14px; }
.field-wide { grid-column: auto; }

.check-inline { font-weight: 400; font-size: 13px; margin-top: 6px; display: flex; align-items: center; gap: 6px; }
.check-inline input { width: auto; }

.check-block { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 14px; cursor: pointer; }
.check-block input { width: 20px; height: 20px; margin-top: 2px; flex: 0 0 auto; }

/* ---------- Signature ---------- */
.sig-wrap {
  position: relative;
  border: 2px dashed var(--line);
  border-radius: 10px;
  background: #fff;
  touch-action: none;
}
#sigCanvas { display: block; width: 100%; height: 200px; border-radius: 10px; cursor: crosshair; }
.tracking-disclosure { max-width:760px; margin:8px auto 0; color:#657086; font-size:11px; line-height:1.45; text-align:center; }
.tracking-link-form { display:grid; grid-template-columns:minmax(220px,1.4fr) minmax(140px,.7fr) minmax(160px,.8fr) auto; gap:9px; align-items:center; }
.tracking-link-list { display:grid; gap:10px; margin-top:14px; }
.tracking-link-row { display:grid; grid-template-columns:minmax(180px,1.1fr) minmax(300px,1.5fr) auto; gap:14px; align-items:center; padding:14px; border:1px solid rgba(117,185,234,.2); border-radius:18px; background:rgba(2,20,45,.62); }
.tracking-link-main { display:grid; gap:4px; min-width:0; }
.tracking-link-main span { overflow:hidden; color:#91a5bf; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.tracking-link-main small { color:#7189a7; font-size:9px; line-height:1.5; }
.tracking-recipient-status { width:max-content; padding:4px 8px; border-radius:999px; color:#cad6e5; background:rgba(92,113,143,.24); font-size:10px; font-style:normal; font-weight:800; }
.tracking-recipient-status.opened { color:#ffe2a0; background:rgba(163,105,10,.25); }
.tracking-recipient-status.read { color:#f6d5ff; background:rgba(127,55,151,.27); }
.tracking-recipient-status.started { color:#bce3ff; background:rgba(25,111,174,.28); }
.tracking-recipient-status.signed { color:#bff5d0; background:rgba(20,126,72,.3); }
.tracking-recipient-status.sent { color:#d5ffdf; background:rgba(10,151,68,.42); }
.tracking-funnel { display:grid; grid-template-columns:repeat(6,minmax(48px,1fr)); gap:7px; }
.tracking-funnel span { display:grid; gap:2px; padding:8px; border-radius:12px; color:#91a5bf; background:rgba(16,55,94,.6); font-size:9px; text-align:center; }
.tracking-funnel b { color:#eef8ff; font-size:18px; }
.tracking-link-actions { display:flex; flex-wrap:wrap; gap:7px; justify-content:flex-end; }
.tracking-create-alerts { grid-column:1/-1; display:flex; align-items:center; gap:7px; color:#aebdd0; font-size:11px; }
.tracking-alert-toggles { flex:1 0 100%; display:flex; flex-wrap:wrap; gap:7px; justify-content:flex-end; color:#92a7bf; font-size:9px; }
.tracking-alert-toggles label { display:flex; align-items:center; gap:3px; }
.sig-tracking-panel { margin:0 0 12px; }
.sig-tracking-panel > summary { cursor:pointer; font-weight:800; }
.sig-tracking-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:10px 0; }
.sig-tracking-head p { margin:0; color:#91a5bf; font-size:11px; }
.sig-tracking-journey { display:grid; gap:7px; }
.sig-tracking-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px; border-radius:13px; background:rgba(2,20,45,.58); }
.sig-tracking-row > div { display:grid; gap:3px; min-width:0; }
.sig-tracking-row span { overflow:hidden; color:#8298b4; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:900px) {
  .tracking-link-form,.tracking-link-row { grid-template-columns:1fr; }
  .tracking-link-actions { justify-content:flex-start; }
  .tracking-alert-toggles { justify-content:flex-start; }
  .sig-tracking-head { align-items:flex-start; flex-direction:column; }
  .tracking-funnel { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
.sig-baseline {
  position: absolute; left: 24px; right: 24px; bottom: 46px;
  border-top: 1px solid #c2c8d4; pointer-events: none;
}
.sig-actions { margin-top: 10px; }

/* ---------- Buttons ---------- */
button { font-family: inherit; cursor: pointer; }
.btn-primary {
  background: var(--navy); color: #fff; border: none;
  padding: 14px 20px; font-size: 16px; font-weight: 700; border-radius: 10px; width: 100%;
}
.btn-primary:hover { background: var(--navy-light); }
.btn-ghost {
  background: #fff; color: var(--navy); border: 1.5px solid var(--navy);
  padding: 12px 18px; font-size: 15px; font-weight: 700; border-radius: 10px;
}
.btn-ghost:hover { background: #eef2fb; }
.btn-danger {
  background: #fff; color: var(--danger); border: 1.5px solid var(--danger);
  padding: 12px 18px; font-size: 15px; font-weight: 700; border-radius: 10px;
}
.btn-danger:hover { background: #fdf0ef; }
.linklike { background: none; border: none; color: var(--navy); font-weight: 700; text-decoration: underline; font-size: 14px; padding: 0; }

.submit-row { margin: 4px 0 8px; }
.admin-link { text-align: center; margin: 14px 0 30px; }

.form-error {
  background: #fdf0ef; border: 1px solid var(--danger); color: var(--danger);
  padding: 12px 14px; border-radius: 8px; font-size: 14px; margin-bottom: 14px; font-weight: 600;
}

/* ---------- Success ---------- */
.success-card { text-align: center; }
.check { width: 64px; height: 64px; border-radius: 50%; background: var(--ok); color: #fff;
  font-size: 36px; line-height: 64px; margin: 4px auto 10px; }
.success-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }
.sync-status { font-size: 14px; font-weight: 600; margin: 8px 0; }
.sync-status.sent { color: var(--ok); }
.sync-status.queued, .sync-status.local { color: var(--muted); }
.sync-status.pending { color: var(--navy); }
.sync-status.botCheck { color: var(--danger); }
.turnstile-box { margin: 8px 0; display: flex; justify-content: center; }

.signer-checklist { margin-top: 12px; }
.check-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: var(--navy); }
.check-head span { font-weight: 900; }
.check-meter { height: 8px; background: #eef1f6; border-radius: 999px; overflow: hidden; margin: 10px 0; }
.check-meter span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--red), var(--blue)); transition: width .25s ease; }
.check-items { display: flex; flex-wrap: wrap; gap: 7px; }
.check-items span {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 5px 9px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.check-items span.done { border-color: rgba(0,122,74,.24); background: #e3f5ea; color: var(--ok); }

.address-note { font-size: 13px; font-weight: 600; margin: 8px 0 0; }
.address-note.checking { color: var(--muted); }
.address-note.ok { color: var(--ok); }
.address-note.warn { color: #9a6b00; }

.badge { font-size: 11px; font-weight: 700; padding: 2px 7px; border-radius: 999px; vertical-align: middle; }
.badge.ok { background: #e3f5ea; color: var(--ok); }
.badge.pend { background: #fff1d6; color: #9a6b00; }
.badge.bad { background: #ffe2e2; color: var(--danger); }

/* ---------- Admin ---------- */
.gate-card { max-width: 460px; margin: 24px auto; }
.gate-actions { display: flex; gap: 10px; margin-top: 14px; }
.gate-actions .btn-primary, .gate-actions .btn-ghost { flex: 1 1 auto; }

.admin-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.admin-head-btns { display: flex; gap: 8px; }

/* ============================================================
   Campaign Dashboard — dark "command center" theme (admin only)
   ============================================================ */
body.cm-open { overflow: hidden; }
#adminView:not([hidden]) {
  position: fixed; inset: 0; z-index: 60;
  --cm-bg: #0b1224; --cm-panel: rgba(255,255,255,0.045); --cm-panel2: rgba(255,255,255,0.07);
  --cm-line: rgba(255,255,255,0.10); --cm-text: #e8eefc; --cm-muted: #8ea0c4;
  --cm-blue: #3b6cff; --cm-blue2: #5b8cff;
}
.cm-shell {
  display: flex; height: 100vh; color: var(--cm-text);
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(59,108,255,0.25), transparent 60%),
    radial-gradient(900px 500px at 0% 110%, rgba(43,92,255,0.18), transparent 55%),
    linear-gradient(160deg, #0a1020, #0c1530 60%, #0a1226);
  font-family: inherit;
}
.cm-sidebar {
  width: 232px; flex: 0 0 232px; display: flex; flex-direction: column;
  padding: 18px 14px; gap: 6px; background: rgba(8,13,28,0.55);
  border-right: 1px solid var(--cm-line); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.cm-brand { display: flex; align-items: center; gap: 10px; padding: 8px 10px 16px; font-weight: 800; font-size: 18px; color: #fff; }
.cm-mark { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: linear-gradient(135deg, var(--cm-blue), var(--cm-blue2)); color: #fff; }
.cm-nav { display: flex; flex-direction: column; gap: 3px; flex: 1; overflow-y: auto; }
.cm-nav .tab-btn, .cm-sidelink {
  display: flex; align-items: center; gap: 12px; width: 100%; text-align: left;
  padding: 11px 13px; border-radius: 12px; background: none; border: none;
  color: var(--cm-muted); font-weight: 600; font-size: 14.5px; cursor: pointer;
}
.cm-nav .tab-btn .ic, .cm-sidelink .ic { width: 20px; text-align: center; font-size: 15px; opacity: 0.9; }
.cm-nav .tab-btn:hover, .cm-sidelink:hover { background: rgba(255,255,255,0.06); color: #fff; }
.cm-nav .tab-btn[aria-selected="true"] {
  background: linear-gradient(90deg, var(--cm-blue), #2a4fd0); color: #fff;
  box-shadow: 0 10px 24px rgba(59,108,255,0.35);
}
.cm-side-foot { border-top: 1px solid var(--cm-line); padding-top: 8px; margin-top: 6px; }
.cm-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cm-topbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 26px 6px; }
.cm-crumb { font-size: 22px; font-weight: 800; color: #fff; }
.cm-sub { color: var(--cm-muted); font-size: 13px; }
.cm-report { background: linear-gradient(90deg, var(--cm-blue), var(--cm-blue2)); color: #fff; border: none; padding: 9px 13px; border-radius: 10px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.cm-report:hover { filter: brightness(1.08); }
.cm-content { flex: 1; overflow-y: auto; padding: 12px 22px 26px; }
.cm-hero h2 { font-size: 28px; color: #fff; margin: 4px 0 4px; }
.cm-hero p { color: var(--cm-muted); margin: 0 0 16px; }
#adminView .cm-grid,
#adminView .dash-cols,
#adminView .dash-panel,
#adminView .cm-card { min-width: 0; }
#adminView .ov-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}
#adminView .ov-row > span:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
#adminView .ov-row > .muted {
  max-width: 45%;
  text-align: right;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* Dark restyle of the shared admin components */
#adminView h2, #adminView h3 { color: #fff; }
#adminView .muted, #adminView .cm-sub { color: var(--cm-muted); }
#adminView .dash-panel, #adminView .kpi, #adminView .stat, #adminView .mrow, #adminView .entry {
  background: var(--cm-panel); border-color: var(--cm-line); color: var(--cm-text);
}
#adminView .kpi-num, #adminView .stat-num, #adminView .cr-n, #adminView .kpi-lbl { color: #fff; }
#adminView .kpi.kpi-warn { background: rgba(214,50,31,0.16); border-color: rgba(214,50,31,0.4); }
#adminView .kpi.kpi-warn .kpi-num { color: #ff8a7a; }
#adminView .dash-bar, #adminView .progress-bar { background: rgba(255,255,255,0.10); border-color: var(--cm-line); }
#adminView .ov-row, #adminView .county-row { border-bottom-color: var(--cm-line); }
#adminView .day-fill, #adminView .dash-fill { background: linear-gradient(90deg, var(--cm-blue), var(--cm-blue2)); }
#adminView .day-lbl { color: var(--cm-muted); }
#adminView input, #adminView select, #adminView .module-form input, #adminView .list-controls input, #adminView .list-controls select, #adminView .task-status {
  background: rgba(255,255,255,0.06); border-color: var(--cm-line); color: var(--cm-text);
}
#adminView input::placeholder { color: #6f82a8; }
#adminView .btn-ghost { background: rgba(255,255,255,0.06); color: #cfe0ff; border-color: var(--cm-line); }
#adminView .btn-ghost:hover { background: rgba(255,255,255,0.12); }
#adminView .btn-primary { background: linear-gradient(90deg, var(--cm-blue), var(--cm-blue2)); }
#adminView .mrow-overdue { background: rgba(214,50,31,0.12); border-color: rgba(214,50,31,0.4); }
#adminView .linklike { color: var(--cm-blue2); }
#adminView .pg-info { color: var(--cm-muted); }
#adminView .entry img { background: #fff; }
.cm-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; align-items: start; }
.cm-card { background: var(--cm-panel); border: 1px solid var(--cm-line); border-radius: 16px; padding: 16px; }
.cm-card h3 { margin: 0 0 10px; font-size: 15px; }
.fund-totals { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin-bottom: 8px; }

/* Planner calendar */
.cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.cal-head h3 { color: #fff; }
.cal-nav { padding: 4px 12px; font-size: 18px; line-height: 1; }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.cal-dow { text-align: center; font-size: 11px; font-weight: 700; color: var(--cm-muted); padding-bottom: 2px; }
.cal-cell { min-height: 64px; border: 1px solid var(--cm-line); border-radius: 10px; padding: 5px; display: flex; flex-direction: column; gap: 3px; background: rgba(255,255,255,0.02); overflow: hidden; }
.cal-empty { background: transparent; border-color: transparent; }
.cal-num { font-size: 12px; font-weight: 700; color: var(--cm-muted); }
.cal-today { border-color: var(--cm-blue); box-shadow: inset 0 0 0 1px var(--cm-blue); }
.cal-today .cal-num { color: var(--cm-blue2); }
.cal-chip { display: block; font-size: 10px; font-weight: 700; color: #fff; padding: 2px 5px; border-radius: 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-chip.ev { background: rgba(59,108,255,0.85); }
.cal-chip.kd { background: rgba(214,50,31,0.85); }
.cal-chip.tk { background: rgba(214,153,0,0.9); }
.cal-more { font-size: 10px; color: var(--cm-muted); }
.cal-legend { display: flex; gap: 8px; margin-top: 10px; }
.cal-legend .cal-chip { display: inline-block; }
.set-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 8px 0; font-size: 14px; }
.set-row input { flex: 0 0 150px; }

/* Horizontal bar lists (results breakdown, budget by category) */
.bar-row { display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 10px; margin: 7px 0; font-size: 13px; }
.bar-lbl { color: var(--cm-muted); text-transform: capitalize; }
.bar-track { height: 10px; background: rgba(255,255,255,0.08); border-radius: 999px; overflow: hidden; }
.bar-fill { height: 100%; background: linear-gradient(90deg, var(--cm-blue), var(--cm-blue2)); border-radius: 999px; transition: width .6s ease; }
.bar-n { font-weight: 700; color: #fff; min-width: 40px; text-align: right; }

/* Path-to-victory pace */
.pace { margin: 10px 0 4px; padding: 10px 14px; border-radius: 10px; font-size: 14px; font-weight: 600; }
.pace b { color: #fff; }
.pace-ok { background: rgba(28,138,77,0.18); color: #7ee2a8; }
.pace-behind { background: rgba(214,153,0,0.16); color: #f4c150; }

/* Public action hub */
.join-grid { display: flex; flex-direction: column; gap: 10px; }
.join-link { text-decoration: none; text-align: center; padding: 14px; }
.lnk-del { background: none; border: none; color: var(--danger); font-size: 15px; cursor: pointer; padding: 4px 8px; }

/* Right-click context menu */
.ctx-menu {
  position: fixed; z-index: 200; min-width: 170px; padding: 6px;
  background: #12203f; border: 1px solid rgba(255,255,255,0.14); border-radius: 12px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.5); animation: cmFade .12s ease both;
}
.ctx-item {
  display: block; width: 100%; text-align: left; background: none; border: none;
  color: #e8eefc; font-size: 14px; padding: 9px 12px; border-radius: 8px; cursor: pointer;
}
.ctx-item:hover { background: rgba(59,108,255,0.25); }

/* Edit modal */
.modal-back {
  position: fixed; inset: 0; z-index: 210; display: grid; place-items: center;
  background: rgba(4,8,18,0.6); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); padding: 16px;
  animation: cmFade .15s ease both;
}
.modal-card {
  width: 100%; max-width: 440px; max-height: 88vh; overflow-y: auto;
  background: #12203f; border: 1px solid rgba(255,255,255,0.14); border-radius: 16px; padding: 20px;
  color: #e8eefc; animation: cmRise .22s cubic-bezier(.22,.61,.36,1) both;
}
.modal-card h3 { color: #fff; margin: 0 0 14px; }
.ef-row { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; font-size: 13px; }
.ef-row span { color: #8ea0c4; font-weight: 600; }
.ef-row input, .ef-row select, .ef-row textarea {
  padding: 9px 10px; font-size: 15px; border: 1px solid rgba(255,255,255,0.14);
  border-radius: 8px; background: rgba(255,255,255,0.06); color: #e8eefc; font-family: inherit;
}
.modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 8px; }

#adminView .mrow { cursor: context-menu; }

/* Topbar search */
.cm-search-wrap { position: relative; flex: 1; max-width: 380px; margin: 0 12px; }
#cmSearch { width: 100%; padding: 9px 12px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.14); background: rgba(255,255,255,0.07); color: #e8eefc; font-size: 14px; }
#cmSearch::placeholder { color: #6f82a8; }
.cm-search-results { position: absolute; top: 110%; left: 0; right: 0; z-index: 80; background: #12203f; border: 1px solid rgba(255,255,255,0.14); border-radius: 12px; padding: 6px; max-height: 360px; overflow-y: auto; box-shadow: 0 18px 40px rgba(0,0,0,0.5); }
.search-hit { display: block; width: 100%; text-align: left; background: none; border: none; color: #e8eefc; padding: 8px 10px; border-radius: 8px; cursor: pointer; font-size: 14px; }
.search-hit:hover { background: rgba(59,108,255,0.22); }
.cm-top-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.cm-report-ghost { background: rgba(255,255,255,0.08); }

/* Alerts */
.alert { padding: 9px 12px; border-radius: 9px; font-size: 14px; font-weight: 600; margin: 6px 0; }
.alert-warn { background: rgba(214,153,0,0.16); color: #f4c150; }
.alert-info { background: rgba(59,108,255,0.14); color: #9cc0ff; }
.alert-ok { background: rgba(28,138,77,0.16); color: #7ee2a8; }

/* Live feed */
.live-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #2bd47a; box-shadow: 0 0 0 0 rgba(43,212,122,0.6); animation: pulse 1.8s infinite; vertical-align: middle; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(43,212,122,0.55); } 70% { box-shadow: 0 0 0 8px rgba(43,212,122,0); } 100% { box-shadow: 0 0 0 0 rgba(43,212,122,0); } }
.feed { max-height: 360px; overflow-y: auto; min-width: 0; }
.feed-row { display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--cm-line); min-width: 0; }
.feed-ic { font-size: 16px; }
.feed-main { flex: 1; min-width: 0; font-size: 14px; overflow-wrap: anywhere; }

/* Heatmap */
.heat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; }
.heat-tile { border-radius: 10px; padding: 12px 10px; display: flex; flex-direction: column; gap: 4px; border: 1px solid rgba(255,255,255,0.1); }
.heat-c { font-size: 12px; color: #dfe8ff; }
.heat-n { font-size: 22px; font-weight: 800; color: #fff; }

/* Timeline */
.timeline { position: relative; padding-left: 6px; max-height: 360px; overflow-y: auto; overflow-x: hidden; min-width: 0; }
.tl-item { display: flex; gap: 12px; padding: 7px 0; min-width: 0; align-items: flex-start; }
.tl-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--cm-blue2); margin-top: 5px; flex: 0 0 auto; }
.tl-item.event .tl-dot { background: #2bd47a; }
.tl-main { min-width: 0; flex: 1; overflow-wrap: anywhere; word-break: break-word; }
.tl-main strong,
.tl-main .muted { display: block; max-width: 100%; }

/* Leaderboard */
.lb-rank { font-size: 20px; font-weight: 800; width: 34px; text-align: center; color: #fff; }
.lb-pts { font-weight: 800; color: #fff; font-size: 18px; }

/* Media center */
.media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; margin-top: 12px; }
.media-manager-grid { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(320px, 1fr); gap: 12px; align-items: start; margin-bottom: 12px; }
.media-add-form,
.media-edit-panel { border: 1px solid rgba(148,163,184,.2); border-radius: 10px; padding: 12px; background: rgba(255,255,255,.035); }
.media-add-form { display: grid; gap: 8px; margin: 0; }
.media-add-form h3,
.media-edit-panel h3 { margin: 0 0 4px; }
.media-add-form input,
.media-add-form select,
.media-add-form textarea,
.media-edit-form input,
.media-edit-form select,
.media-edit-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--cm-line);
  border-radius: 8px;
  background: rgba(255,255,255,.06);
  color: var(--cm-text);
  padding: 9px 10px;
  font: inherit;
}
.media-edit-form { display: grid; gap: 9px; }
.media-edit-form label { display: grid; gap: 4px; color: var(--cm-muted); font-size: 12px; font-weight: 800; }
.media-edit-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.media-card { background: rgba(255,255,255,0.045); border: 1px solid var(--cm-line); border-radius: 12px; padding: 14px; cursor: pointer; }
.media-card:hover,
.media-card:focus-visible { border-color: rgba(91,140,255,.65); outline: none; }
.media-card-selected { border-color: rgba(91,140,255,.9); box-shadow: inset 0 0 0 1px rgba(91,140,255,.65), 0 12px 28px rgba(59,108,255,.14); background: rgba(59,108,255,.11); }
.media-type { display: inline-block; font-size: 11px; font-weight: 800; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; margin-bottom: 8px; background: rgba(59,108,255,0.25); color: #cfe0ff; }
.media-press { background: rgba(214,50,31,0.25); color: #ffb3a8; }
.media-video { background: rgba(155,89,182,0.3); color: #e6c8f5; }
.media-logo { background: rgba(28,138,77,0.25); color: #9ff0c0; }
.media-note { margin: 7px 0 6px; color: var(--cm-muted); font-size: 12px; line-height: 1.35; }
.media-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; align-items: center; }
.media-actions .btn-ghost,
.media-dl { flex: 1 1 72px; text-align: center; text-decoration: none; padding: 8px; min-height: 34px; border-radius: 8px; font-weight: 900; }
.media-del { color: var(--danger); background: none; border: none; cursor: pointer; font-size: 15px; }

/* Hover lift + progress fill animation */
#adminView .cm-card, #adminView .kpi, #adminView .stat, #adminView .dash-panel { transition: transform .16s ease, box-shadow .16s ease; }
#adminView .cm-card:hover, #adminView .kpi:hover, #adminView .dash-panel:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0,0,0,0.28); }
#adminView .dash-fill, #adminView .progress-fill { transition: width .7s cubic-bezier(.22,.61,.36,1); }
#adminView .tab-btn, .cm-report { transition: background .18s ease, color .18s ease, transform .12s ease, filter .18s ease; }
.cm-report:active { transform: scale(0.97); }

/* Panel + card entrance animations */
@keyframes cmFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes cmRise { from { opacity: 0; transform: translateY(12px) scale(.99); } to { opacity: 1; transform: none; } }
.panel-enter { animation: cmFade .28s ease both; }
#adminView .rise { animation: cmRise .42s cubic-bezier(.22,.61,.36,1) both; animation-delay: var(--d, 0ms); }

/* Light-side polish */
.btn-primary, .btn-ghost, .btn-danger, .tab-btn, .lang-toggle button, .share-btns .btn-ghost { transition: background .18s ease, transform .12s ease, filter .15s ease, box-shadow .15s ease; }
.btn-primary:active, .btn-ghost:active, .btn-danger:active { transform: scale(0.97); }
#signView .card { transition: box-shadow .2s ease; }
#successView .check { animation: cmRise .5s cubic-bezier(.22,.61,.36,1) both; }

/* ============================================================
   Admin dashboard — elevated polish (depth, glass, type, focus)
   ============================================================ */
#adminView { --cm-radius: 16px; --cm-shadow: 0 10px 30px rgba(3,7,18,.45); }

/* Cards: soft glass with a top sheen + crisper depth, glow on hover */
#adminView .cm-card, #adminView .dash-panel {
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.015)),
    var(--cm-panel);
  box-shadow: var(--cm-shadow), inset 0 1px 0 rgba(255,255,255,.05);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
#adminView .cm-card:hover, #adminView .dash-panel:hover {
  border-color: rgba(91,140,255,.4);
  box-shadow: 0 18px 40px rgba(3,7,18,.5), 0 0 0 1px rgba(91,140,255,.25), inset 0 1px 0 rgba(255,255,255,.06);
}

/* KPI tiles: gradient numbers, tabular figures, gentle accent bar on hover */
#adminView .kpi, #adminView .stat {
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  box-shadow: var(--cm-shadow), inset 0 1px 0 rgba(255,255,255,.05);
  position: relative; overflow: hidden;
}
#adminView .kpi::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
  background: linear-gradient(90deg, var(--cm-blue), var(--cm-blue2));
  transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
#adminView .kpi:hover::after { transform: scaleX(1); }
#adminView .kpi-num, #adminView .stat-num {
  font-variant-numeric: tabular-nums; letter-spacing: -.5px;
  background: linear-gradient(180deg, #fff, #c8d6ff);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
#adminView .kpi.kpi-warn .kpi-num { background: linear-gradient(180deg, #ffb3a6, #ff8a7a); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
#adminView .kpi-lbl { color: #fff; letter-spacing: .01em; }

/* Apple-style blue liquid glass: saturated blue tint, luminous cyan rims, soft depth. */
#adminView {
  --glass-bg: rgba(32, 91, 178, .34);
  --glass-bg-strong: rgba(38, 112, 210, .46);
  --glass-line: rgba(129, 218, 255, .58);
  --glass-line-bright: rgba(196, 241, 255, .90);
  --glass-glow: rgba(0, 176, 255, .44);
  --glass-purple: rgba(93, 91, 255, .18);
}
#adminView .cm-shell {
  background:
    radial-gradient(900px 620px at 78% -4%, rgba(65, 180, 255, .34), transparent 58%),
    radial-gradient(760px 520px at 14% 100%, rgba(27, 95, 222, .36), transparent 62%),
    radial-gradient(520px 360px at 55% 38%, rgba(50, 220, 255, .12), transparent 58%),
    linear-gradient(145deg, #04102b 0%, #061a44 48%, #031126 100%);
}
#adminView .cm-card,
#adminView .dash-panel,
#adminView .kpi,
#adminView .stat,
#adminView .mrow,
#adminView .entry,
#adminView .data-filter-panel,
#adminView .filter-summary,
#adminView .mail-shell,
#adminView .mail-compose-panel,
#adminView .mail-toolbox,
#adminView .public-events-map,
#adminView .leaflet-container {
  position: relative;
  border-color: var(--glass-line);
  background:
    radial-gradient(120% 95% at 18% 8%, rgba(126, 213, 255, .28), transparent 48%),
    radial-gradient(120% 120% at 100% 100%, rgba(31, 103, 214, .34), transparent 58%),
    linear-gradient(145deg, rgba(77, 160, 255, .34), rgba(18, 73, 160, .18) 46%, rgba(9, 42, 110, .24) 100%),
    var(--glass-bg);
  box-shadow:
    0 18px 44px rgba(0, 18, 56, .28),
    0 0 28px rgba(0, 145, 255, .13),
    inset 0 1px 0 rgba(213, 247, 255, .62),
    inset 0 -1px 0 rgba(60, 188, 255, .24);
  -webkit-backdrop-filter: blur(30px) saturate(190%);
  backdrop-filter: blur(30px) saturate(190%);
}
#adminView .cm-card::before,
#adminView .dash-panel::before,
#adminView .kpi::before,
#adminView .stat::before,
#adminView .mail-compose-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(118deg, transparent 0 38%, rgba(205, 245, 255, .44) 43%, rgba(0, 191, 255, .24) 49%, transparent 58%),
    radial-gradient(170px 110px at 96% 4%, rgba(196, 241, 255, .54), transparent 62%),
    radial-gradient(180px 120px at 7% 100%, rgba(0, 191, 255, .24), transparent 68%),
    linear-gradient(180deg, rgba(160, 224, 255, .18), transparent 34%);
  opacity: .70;
  mix-blend-mode: screen;
}
#adminView .cm-card:hover,
#adminView .dash-panel:hover,
#adminView .kpi:hover,
#adminView .stat:hover,
#adminView .mrow:hover,
#adminView .entry:hover {
  border-color: var(--glass-line-bright);
  box-shadow:
    0 22px 58px rgba(0, 18, 56, .32),
    0 0 0 1px rgba(197, 241, 255, .16),
    0 0 42px var(--glass-glow),
    inset 0 1px 0 rgba(225, 249, 255, .76);
}
#adminView .cm-sidebar,
#adminView .cm-topbar,
#adminView .avatar-chat,
#adminView .modal-card,
#adminView .ctx-menu {
  border-color: var(--glass-line);
  background:
    radial-gradient(110% 90% at 15% 5%, rgba(94, 194, 255, .28), transparent 54%),
    linear-gradient(145deg, rgba(42, 116, 220, .34), rgba(6, 32, 84, .44)),
    rgba(4, 24, 64, .56);
  box-shadow: 0 20px 56px rgba(0, 15, 48, .32), inset 0 1px 0 rgba(178, 235, 255, .36);
  -webkit-backdrop-filter: blur(30px) saturate(190%);
  backdrop-filter: blur(30px) saturate(190%);
}
#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink,
#adminView .nav-group-label,
#adminView .mail-folders button,
#adminView .mail-filter-row button,
#adminView .agent-pill,
#adminView .quick-btn,
#adminView .av-chip,
#adminView .field-toggle-row label,
#adminView .filter-chips span,
#adminView .badge,
#adminView .vbadge,
#adminView .ev-type,
#adminView .mail-icon-btn,
#adminView .mail-list-delete {
  border: 1px solid rgba(129, 218, 255, .44);
  background:
    radial-gradient(90% 140% at 20% 0%, rgba(151, 225, 255, .30), transparent 48%),
    linear-gradient(145deg, rgba(44, 126, 230, .36), rgba(10, 48, 126, .22)),
    rgba(24, 87, 180, .18);
  box-shadow: inset 0 1px 0 rgba(220, 249, 255, .46), 0 10px 24px rgba(0, 22, 64, .18);
  -webkit-backdrop-filter: blur(22px) saturate(185%);
  backdrop-filter: blur(22px) saturate(185%);
}
#adminView .cm-nav .tab-btn[aria-selected="true"],
#adminView .cm-report,
#adminView .btn-primary,
#adminView .mail-compose,
#adminView .mail-filter-row button.on,
#adminView .agent-pill.on,
#adminView .quick-btn:hover,
#adminView .av-send {
  border: 1px solid rgba(167, 232, 255, .86);
  background:
    radial-gradient(100% 140% at 18% 0%, rgba(202, 247, 255, .62), transparent 46%),
    linear-gradient(145deg, rgba(80, 184, 255, .62), rgba(36, 115, 228, .48) 54%, rgba(17, 65, 173, .42)),
    rgba(28, 120, 255, .38);
  color: #fff;
  box-shadow:
    0 0 0 1px rgba(220, 249, 255, .26) inset,
    0 0 30px rgba(36, 190, 255, .58),
    0 14px 30px rgba(0, 82, 205, .30);
  text-shadow: 0 1px 12px rgba(178, 235, 255, .55);
}
#adminView .btn-ghost,
#adminView .btn-danger,
#adminView .cal-nav,
#adminView .entry .entry-action,
#adminView .data-filter-controls .btn-ghost,
#adminView .media-actions .btn-ghost,
#adminView .media-dl,
#adminView .paper-scan-picker,
#adminView .scan-chip,
#adminView .linklike:not(.nav-group-label) {
  border: 1px solid rgba(210, 228, 255, .22);
  background:
    radial-gradient(90% 130% at 18% 0%, rgba(172, 232, 255, .25), transparent 44%),
    linear-gradient(145deg, rgba(55, 140, 238, .26), rgba(12, 52, 128, .22)),
    rgba(35, 114, 218, .14);
  color: #dbeafe;
  box-shadow: inset 0 1px 0 rgba(208, 246, 255, .38), 0 10px 22px rgba(0, 22, 64, .16);
  -webkit-backdrop-filter: blur(24px) saturate(185%);
  backdrop-filter: blur(24px) saturate(185%);
}
#adminView .btn-primary:hover,
#adminView .btn-ghost:hover,
#adminView .cm-report:hover,
#adminView .entry .entry-action:hover,
#adminView .cal-nav:hover,
#adminView .mail-compose:hover {
  filter: brightness(1.08) saturate(1.08);
  transform: translateY(-1px);
  border-color: rgba(234, 248, 255, .56);
  box-shadow: 0 0 38px rgba(0, 191, 255, .52), 0 16px 34px rgba(0, 18, 56, .26), inset 0 1px 0 rgba(218, 249, 255, .46);
}
#adminView input,
#adminView select,
#adminView textarea,
#adminView .module-form input,
#adminView .module-form select,
#adminView .list-controls input,
#adminView .list-controls select,
#adminView .data-filter-controls input,
#adminView .data-filter-controls select,
#adminView .task-status,
#adminView .avatar-chat-form input,
#adminView .mail-search input,
#adminView .email-recipient-picker {
  border: 1px solid rgba(190, 218, 255, .28);
  background:
    radial-gradient(110% 120% at 20% 0%, rgba(150, 224, 255, .22), transparent 48%),
    linear-gradient(145deg, rgba(36, 118, 220, .28), rgba(5, 36, 99, .24)),
    rgba(23, 88, 184, .16);
  color: #f8fbff;
  box-shadow: inset 0 1px 0 rgba(205, 245, 255, .38), 0 10px 24px rgba(0, 22, 64, .16);
  -webkit-backdrop-filter: blur(26px) saturate(185%);
  backdrop-filter: blur(26px) saturate(185%);
}
#adminView input::placeholder,
#adminView textarea::placeholder,
#adminView .mail-search input::placeholder {
  color: rgba(219, 234, 254, .62);
}
#adminView input:focus,
#adminView select:focus,
#adminView textarea:focus,
#adminView .avatar-chat-form input:focus {
  border-color: rgba(147, 226, 255, .82);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.12) inset,
    0 0 0 3px rgba(56, 189, 248, .18),
    0 0 28px rgba(83, 184, 255, .28);
}
#adminView input[type="checkbox"] {
  accent-color: #7dd3fc;
  filter: drop-shadow(0 0 8px rgba(125, 211, 252, .38));
}
#adminView .dash-bar,
#adminView .progress-bar,
#adminView .bar-track,
#adminView .check-meter,
#adminView .cadence,
#adminView .day-chart {
  border: 1px solid rgba(210, 228, 255, .16);
  background: rgba(24, 101, 205, .18);
  box-shadow: inset 0 1px 0 rgba(205, 245, 255, .24), 0 0 18px rgba(0, 145, 255, .08);
}
#adminView .dash-fill,
#adminView .progress-fill,
#adminView .bar-fill,
#adminView .day-fill,
#adminView .check-meter span {
  background: linear-gradient(90deg, #e8f8ff, #7dd3fc 28%, #4f83ff 70%, #a78bfa);
  box-shadow: 0 0 18px rgba(125, 211, 252, .55), inset 0 1px 0 rgba(255,255,255,.65);
}
#adminView .btn-primary,
#adminView .btn-ghost,
#adminView .cm-report,
#adminView .entry .entry-action,
#adminView input,
#adminView select,
#adminView textarea,
#adminView .cm-nav .tab-btn,
#adminView .field-toggle-row label,
#adminView .mail-icon-btn,
#adminView .quick-btn,
#adminView .agent-pill {
  border-radius: 999px;
}
#adminView .cm-card,
#adminView .dash-panel,
#adminView .kpi,
#adminView .stat,
#adminView .mrow,
#adminView .entry,
#adminView .mail-shell,
#adminView .mail-compose-panel {
  overflow: hidden;
}
#adminView .btn-primary,
#adminView .btn-ghost,
#adminView .cm-report,
#adminView .entry .entry-action,
#adminView .cal-nav,
#adminView .mail-compose {
  position: relative;
  overflow: hidden;
}
#adminView .btn-primary::after,
#adminView .btn-ghost::after,
#adminView .cm-report::after,
#adminView .entry .entry-action::after,
#adminView .cal-nav::after,
#adminView .mail-compose::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(70% 130% at 16% 8%, rgba(255,255,255,.34), transparent 42%),
    linear-gradient(115deg, transparent 0 45%, rgba(255,255,255,.22) 50%, transparent 58%);
  opacity: .58;
  mix-blend-mode: screen;
}
#adminView select {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -10px 22px rgba(255,255,255,.035),
    0 10px 24px rgba(0,0,0,.14);
}
#adminView .btn-primary,
#adminView .btn-ghost,
#adminView .cm-report,
#adminView .cm-nav .tab-btn,
#adminView .field-toggle-row label,
#adminView .agent-pill,
#adminView .quick-btn,
#adminView .av-chip,
#adminView .mail-icon-btn {
  outline: 1px solid rgba(0, 194, 255, .18);
  outline-offset: -2px;
}
#adminView .cm-nav .tab-btn[aria-selected="true"],
#adminView .btn-primary,
#adminView .cm-report,
#adminView .mail-compose {
  box-shadow:
    inset 0 1px 0 rgba(231, 252, 255, .58),
    inset 0 -10px 28px rgba(0, 119, 255, .16),
    0 0 0 1px rgba(114, 218, 255, .28),
    0 0 34px rgba(0, 164, 255, .44),
    0 16px 34px rgba(0, 51, 142, .28);
}

/* Reactive glass edges: the rim changes as light would when touched or focused. */
#adminView .btn-primary,
#adminView .btn-ghost,
#adminView .cm-report,
#adminView .entry .entry-action,
#adminView .cal-nav,
#adminView .mail-compose,
#adminView .cm-nav .tab-btn,
#adminView .field-toggle-row label,
#adminView .agent-pill,
#adminView .quick-btn,
#adminView .av-chip,
#adminView .mail-icon-btn,
#adminView input,
#adminView select,
#adminView textarea,
#adminView .email-recipient-picker {
  transition:
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease,
    outline-color .18s ease,
    filter .18s ease,
    transform .12s ease;
}
#adminView .btn-primary:hover,
#adminView .btn-primary:focus-visible,
#adminView .btn-ghost:hover,
#adminView .btn-ghost:focus-visible,
#adminView .cm-report:hover,
#adminView .cm-report:focus-visible,
#adminView .entry .entry-action:hover,
#adminView .entry .entry-action:focus-visible,
#adminView .cal-nav:hover,
#adminView .cal-nav:focus-visible,
#adminView .mail-compose:hover,
#adminView .mail-compose:focus-visible,
#adminView .cm-nav .tab-btn:hover,
#adminView .cm-nav .tab-btn:focus-visible,
#adminView .field-toggle-row label:hover,
#adminView .agent-pill:hover,
#adminView .agent-pill:focus-visible,
#adminView .quick-btn:hover,
#adminView .quick-btn:focus-visible,
#adminView .av-chip:hover,
#adminView .av-chip:focus-visible,
#adminView .mail-icon-btn:hover,
#adminView .mail-icon-btn:focus-visible {
  border-color: rgba(224, 250, 255, .96);
  outline-color: rgba(74, 222, 255, .42);
  background:
    radial-gradient(90% 130% at 14% 0%, rgba(226, 251, 255, .48), transparent 44%),
    radial-gradient(80% 140% at 100% 100%, rgba(0, 160, 255, .30), transparent 58%),
    linear-gradient(145deg, rgba(68, 180, 255, .48), rgba(16, 76, 176, .34)),
    rgba(32, 116, 225, .26);
  box-shadow:
    inset 0 1px 0 rgba(244, 253, 255, .72),
    inset 0 -1px 0 rgba(0, 178, 255, .34),
    0 0 0 1px rgba(180, 239, 255, .18),
    0 0 18px rgba(86, 213, 255, .52),
    0 0 42px rgba(0, 132, 255, .28),
    0 14px 30px rgba(0, 41, 122, .24);
}
#adminView input:hover,
#adminView select:hover,
#adminView textarea:hover,
#adminView .email-recipient-picker:hover,
#adminView input:focus,
#adminView select:focus,
#adminView textarea:focus,
#adminView .email-recipient-picker:focus {
  border-color: rgba(190, 242, 255, .92);
  background:
    radial-gradient(95% 120% at 15% 0%, rgba(211, 248, 255, .34), transparent 45%),
    linear-gradient(145deg, rgba(40, 142, 245, .34), rgba(5, 46, 122, .26)),
    rgba(20, 99, 208, .22);
  box-shadow:
    inset 0 1px 0 rgba(235, 253, 255, .54),
    0 0 0 3px rgba(56, 189, 248, .18),
    0 0 28px rgba(0, 176, 255, .26);
}
#adminView .btn-primary:active,
#adminView .btn-ghost:active,
#adminView .cm-report:active,
#adminView .entry .entry-action:active,
#adminView .cal-nav:active,
#adminView .mail-compose:active,
#adminView .cm-nav .tab-btn:active,
#adminView .agent-pill:active,
#adminView .quick-btn:active,
#adminView .av-chip:active,
#adminView .mail-icon-btn:active {
  transform: translateY(1px) scale(.985);
  border-color: rgba(99, 210, 255, .78);
  filter: brightness(.96) saturate(1.08);
  box-shadow:
    inset 0 2px 10px rgba(2, 28, 78, .34),
    inset 0 1px 0 rgba(207, 247, 255, .38),
    0 0 18px rgba(0, 176, 255, .30),
    0 8px 18px rgba(0, 32, 92, .22);
}
#adminView .btn-primary:hover::after,
#adminView .btn-primary:focus-visible::after,
#adminView .btn-ghost:hover::after,
#adminView .btn-ghost:focus-visible::after,
#adminView .cm-report:hover::after,
#adminView .cm-report:focus-visible::after,
#adminView .entry .entry-action:hover::after,
#adminView .entry .entry-action:focus-visible::after,
#adminView .cal-nav:hover::after,
#adminView .cal-nav:focus-visible::after,
#adminView .mail-compose:hover::after,
#adminView .mail-compose:focus-visible::after {
  opacity: .88;
  background:
    radial-gradient(76% 140% at 10% 0%, rgba(255,255,255,.58), transparent 38%),
    linear-gradient(108deg, transparent 0 36%, rgba(235, 253, 255, .72) 43%, rgba(0, 206, 255, .32) 49%, transparent 61%);
  animation: glassRimSweep 1.7s ease-in-out infinite;
}
#adminView .btn-primary:active::after,
#adminView .btn-ghost:active::after,
#adminView .cm-report:active::after,
#adminView .entry .entry-action:active::after,
#adminView .cal-nav:active::after,
#adminView .mail-compose:active::after {
  opacity: .38;
  animation: none;
}
@keyframes glassRimSweep {
  0%, 100% { background-position: -120% 0, -160% 0; }
  50% { background-position: 120% 0, 160% 0; }
}

/* Sidebar: animated left accent on the active tab, smoother hovers */
.cm-nav .tab-btn { position: relative; transition: background .16s ease, color .16s ease; }
.cm-nav .tab-btn::before {
  content: ""; position: absolute; left: 4px; top: 50%; width: 3px; height: 0; border-radius: 3px;
  background: #fff; transform: translateY(-50%); transition: height .18s ease; opacity: .9;
}
.cm-nav .tab-btn[aria-selected="true"]::before { height: 18px; }
.cm-nav .tab-btn[aria-selected="true"] { box-shadow: 0 8px 22px rgba(59,108,255,.4); }
.cm-mark { box-shadow: 0 6px 16px rgba(59,108,255,.45); }

/* Topbar crumb gets a subtle gradient; report buttons lift on hover */
.cm-crumb { background: linear-gradient(90deg, #fff, #cfe0ff); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.cm-report { box-shadow: 0 8px 20px rgba(59,108,255,.3); transition: transform .12s ease, box-shadow .18s ease, filter .18s ease; }
.cm-report:hover { transform: translateY(-1px); box-shadow: 0 12px 26px rgba(59,108,255,.42); }
.cm-report-ghost { background: rgba(255,255,255,.06); box-shadow: none; border: 1px solid var(--cm-line); }
.cm-report-ghost:hover { background: rgba(255,255,255,.12); box-shadow: none; }

/* Inputs: clearer focus ring across the dashboard */
#adminView input:focus, #adminView select:focus, #adminView textarea:focus {
  outline: none; border-color: var(--cm-blue); box-shadow: 0 0 0 3px rgba(59,108,255,.22);
}
#adminView input, #adminView select, #adminView textarea { transition: border-color .15s ease, box-shadow .15s ease; }

/* KPI count-up: a brief shimmer while the number animates */
#adminView .kpi-num.counting, #adminView .stat-num.counting { opacity: .92; }

/* Slimmer, theme-matched scrollbars in the dark dashboard */
#adminView .cm-content, #adminView .cm-nav, #adminView .avatar-chat-thread, .avatar-chat-thread {
  scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent;
}
#adminView .cm-content::-webkit-scrollbar, #adminView .cm-nav::-webkit-scrollbar, .avatar-chat-thread::-webkit-scrollbar { width: 9px; height: 9px; }
#adminView .cm-content::-webkit-scrollbar-thumb, #adminView .cm-nav::-webkit-scrollbar-thumb, .avatar-chat-thread::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.16); border-radius: 999px; border: 2px solid transparent; background-clip: padding-box;
}
#adminView .cm-content::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.28); background-clip: padding-box; }

/* Staggered card entrance for a more "composed" feel */
@media (prefers-reduced-motion: no-preference) {
  #adminView .panel-enter .cm-card, #adminView .panel-enter .kpi, #adminView .panel-enter .stat { animation: cmRise .4s cubic-bezier(.22,.61,.36,1) both; }
  #adminView .panel-enter .kpi:nth-child(2), #adminView .panel-enter .stat:nth-child(2) { animation-delay: .05s; }
  #adminView .panel-enter .kpi:nth-child(3), #adminView .panel-enter .stat:nth-child(3) { animation-delay: .1s; }
  #adminView .panel-enter .kpi:nth-child(4), #adminView .panel-enter .stat:nth-child(4) { animation-delay: .15s; }
}

/* Grouped sidebar navigation (collapsible) */
.nav-group { display: flex; flex-direction: column; gap: 3px; }
.nav-group + .nav-group { margin-top: 11px; }
.nav-group-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em;
  color: var(--cm-muted); padding: 3px 12px 4px; opacity: .7; cursor: pointer; -webkit-user-select: none; user-select: none;
  display: flex; align-items: center; gap: 6px; border: none; background: none; width: 100%; text-align: left; font-family: inherit; }
.nav-group-label::before { content: "▾"; font-size: 8px; transition: transform .15s ease; }
.nav-group-label:hover { opacity: 1; color: var(--cm-text); }
.nav-group.collapsed .nav-group-label::before { transform: rotate(-90deg); }
.nav-group.collapsed .tab-btn { display: none; }
.nav-group.collapsed .tab-btn[aria-selected="true"] { display: flex; } /* keep the current tab visible */

@media (max-width: 760px) {
  .cm-sidebar { width: 64px; flex-basis: 64px; }
  .cm-brandname, .cm-nav .tab-btn span:not(.ic), .cm-sidelink span:not(.ic), .nav-group-label { display: none; }
  .nav-group + .nav-group { margin-top: 6px; border-top: 1px solid var(--cm-line); padding-top: 6px; }
  .cm-grid { grid-template-columns: 1fr; }
  .fund-totals { grid-template-columns: 1fr; }
}

/* ---------- Admin tabs (light fallback, unused in dark shell) ---------- */
.tab-nav { display: flex; gap: 4px; flex-wrap: wrap; border-bottom: 2px solid var(--line); margin: 14px 0; }
.tab-btn { background: none; border: none; padding: 10px 14px; font-size: 15px; font-weight: 700; color: var(--muted); cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; }
.tab-btn:hover { color: var(--navy); }
.tab-btn[aria-selected="true"] { color: var(--navy); border-bottom-color: var(--red); }

/* ---------- Overview KPIs ---------- */
.kpi-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.kpi { background: #f4f6fa; border: 1px solid var(--line); border-radius: 10px; padding: 14px 10px; text-align: center; }
.kpi-num { font-size: 28px; font-weight: 800; color: var(--navy); line-height: 1.1; }
.kpi-lbl { font-size: 13px; font-weight: 700; color: var(--text); margin-top: 4px; }
.kpi-sub { font-size: 11px; color: var(--muted); }
.kpi.kpi-warn { background: #fdf0ef; border-color: #f3c9c4; }
.kpi.kpi-warn .kpi-num { color: var(--danger); }
.ov-row { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; font-size: 14px; border-bottom: 1px solid #eef1f6; }
.ov-row.ov-overdue strong, .ov-overdue { color: var(--danger); }

/* ---------- Module forms / lists (volunteers / tasks / events) ---------- */
.module-form { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.module-form input, .module-form select { padding: 9px 10px; font-size: 15px; border: 1px solid var(--line); border-radius: 8px; flex: 1 1 130px; min-width: 0; }
.module-form button { flex: 0 0 auto; }
.paper-scan-picker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 12px;
  border: 1px dashed var(--cm-blue2, #4c7dff);
  border-radius: 8px;
  color: var(--cm-blue2, #4c7dff);
  background: rgba(76, 125, 255, .10);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.paper-scan-picker input { display: none; }
.paper-scan-name { align-self: center; flex: 1 1 160px; }
.scan-chip {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(76, 125, 255, .45);
  border-radius: 999px;
  padding: 2px 8px;
  color: var(--cm-blue2, #4c7dff);
  text-decoration: none;
  font-weight: 800;
}
.module-head { display: flex; justify-content: space-between; align-items: center; font-weight: 700; color: var(--navy); margin: 8px 0; font-size: 14px; }
.module-list { display: flex; flex-direction: column; gap: 8px; }
.mrow { display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; }
.mrow-main { flex: 1; min-width: 0; }
.mrow-del { background: none; border: none; color: var(--danger); font-size: 16px; cursor: pointer; padding: 4px 8px; }
.mrow-done { opacity: 0.55; }
.mrow-done .mrow-main strong { text-decoration: line-through; }
.mrow-overdue { border-color: #f3c9c4; background: #fdf6f5; }
.task-status { padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; }

/* ---------- Admin dashboard ---------- */
.dashboard { margin: 14px 0; }
.stat-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.stat { background: #f4f6fa; border: 1px solid var(--line); border-radius: 10px; padding: 12px 8px; text-align: center; }
.stat-num { font-size: 24px; font-weight: 800; color: var(--navy); }
.stat-lbl { font-size: 12px; color: var(--muted); margin-top: 2px; }
.dash-bar { height: 12px; background: #e7ecf5; border-radius: 999px; overflow: hidden; margin: 12px 0 4px; border: 1px solid var(--line); }
.dash-fill { height: 100%; background: linear-gradient(90deg, var(--navy), var(--red)); border-radius: 999px; }
.dash-eta { font-size: 13px; color: var(--muted); text-align: center; margin-bottom: 12px; }
.dash-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dash-panel { border: 1px solid var(--line); border-radius: 10px; padding: 12px; }
.dash-panel h3 { margin: 0 0 8px; font-size: 14px; color: var(--navy); }
.county-rows { max-height: 220px; overflow-y: auto; }
.county-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 8px; padding: 4px 0; font-size: 14px; border-bottom: 1px solid #eef1f6; }
.cr-n { font-weight: 800; color: var(--navy); min-width: 28px; text-align: right; }
.cr-print { font-size: 12px; padding: 4px 8px; }
.day-chart { display: flex; align-items: flex-end; gap: 3px; height: 120px; }
.day-bar { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; }
.day-fill { width: 70%; min-height: 2px; background: var(--navy); border-radius: 3px 3px 0 0; }
.day-lbl { font-size: 8px; color: var(--muted); margin-top: 3px; transform: rotate(-45deg); white-space: nowrap; }
.validity-row { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.vbadge { font-size: 13px; font-weight: 700; padding: 5px 10px; border-radius: 999px; }
.vbadge.conf { background: #e3f5ea; color: var(--ok); }
.vbadge.flag { background: #fff1d6; color: #9a6b00; }
.vbadge.unk { background: #eef1f6; color: var(--muted); }

.list-controls { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0 6px; }
.list-controls input, .list-controls select { padding: 9px 10px; font-size: 15px; border: 1px solid var(--line); border-radius: 8px; }
.list-controls #adminSearch { flex: 1 1 180px; }
.field-toggle-wrap { flex: 1 1 100%; }
.field-toggle-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  width: 100%;
}
.field-toggle-row label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 5px 9px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 999px;
  background: rgba(255, 255, 255, .055);
  color: var(--cm-muted);
  font-size: 12px;
  font-weight: 800;
}
.field-toggle-row input { accent-color: #5b8cff; }
.data-filter-panel {
  display: grid;
  gap: 9px;
  margin: 10px 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 10px;
  background: rgba(255, 255, 255, .04);
}
.data-filter-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.data-filter-controls input,
.data-filter-controls select {
  flex: 1 1 160px;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--cm-line);
  border-radius: 8px;
  background: rgba(255,255,255,.06);
  color: var(--cm-text);
  font: inherit;
}
.data-filter-controls .btn-ghost { min-height: 36px; white-space: nowrap; }
.map-filter-controls { margin: 6px 0 10px; }

.filter-summary {
  margin: 10px 0 12px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 10px;
  padding: 12px;
  background: rgba(255, 255, 255, .06);
}
.filter-summary-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.filter-summary h3 { margin: 0; color: var(--cm-text); font-size: 15px; }
.filter-summary p { margin: 3px 0 0; color: var(--cm-muted); font-size: 12px; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.filter-chips span {
  border: 1px solid rgba(118, 157, 255, .38);
  border-radius: 999px;
  padding: 4px 9px;
  color: #dbe7ff;
  background: rgba(76, 125, 255, .12);
  font-size: 12px;
  font-weight: 800;
}
.filter-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.filter-kpis > div {
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 8px;
  padding: 9px;
  background: rgba(5, 10, 24, .24);
}
.filter-kpis strong { display: block; color: #fff; font-size: 18px; }
.filter-kpis span { color: var(--cm-muted); font-size: 11px; font-weight: 800; }
.filter-breakdowns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.filter-breakdowns section {
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 8px;
  padding: 9px;
  background: rgba(255, 255, 255, .04);
}
.filter-breakdowns h4 { margin: 0 0 6px; color: var(--cm-text); font-size: 12px; }
.filter-breakdowns section div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: var(--cm-muted);
  font-size: 12px;
}
.filter-breakdowns strong { color: var(--cm-text); }

.pager { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 14px; }
.pg-info { font-size: 14px; color: var(--muted); font-weight: 600; }

@media (max-width: 560px) {
  .stat-cards { grid-template-columns: repeat(2, 1fr); }
  .dash-cols { grid-template-columns: 1fr; }
  .filter-summary-head { flex-direction: column; }
  .filter-kpis, .filter-breakdowns { grid-template-columns: 1fr; }
  .entry-summary { grid-template-columns: auto minmax(0, 1fr); }
  .entry-summary-side { grid-column: 2; justify-self: start; }
  .entry-detail { grid-template-columns: 1fr; }
  .entry-btns { align-items: stretch; }
  .entry .entry-action, .entry .del, .entry-review { width: 100%; min-width: 0; }
}
.admin-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; margin: 14px 0; }
.admin-actions button { min-width: 0; }
.entry-list { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.entry {
  display: block;
  border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px;
}
.entry-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  list-style: none;
}
.entry-summary::-webkit-details-marker { display: none; }
.entry-caret {
  color: var(--cm-muted);
  font-size: 13px;
  transition: transform .16s ease;
}
.entry[open] .entry-caret { transform: rotate(90deg); }
.entry-summary-main { min-width: 0; display: grid; gap: 3px; }
.entry-summary-side {
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 999px;
  padding: 4px 9px;
  color: var(--cm-muted);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.entry-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px auto;
  gap: 14px;
  align-items: center;
  padding-top: 12px;
  margin-top: 10px;
  border-top: 1px solid rgba(148, 163, 184, .18);
}
.entry-detail-paper {
  grid-template-columns: minmax(0, 1fr) minmax(120px, 180px) auto;
}
.paper-thumb {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px dashed rgba(148, 163, 184, .28);
  border-radius: 8px;
  padding: 8px;
  color: var(--cm-muted);
  font-size: 12px;
  text-align: center;
  background: rgba(255, 255, 255, .04);
}
.paper-thumb .scan-chip { display: inline-flex; }
.signature-entry {
  animation: sigRowIn .38s cubic-bezier(.22,.61,.36,1) both;
  animation-delay: var(--entry-delay, 0ms);
}
.entry .meta { font-size: 14px; }
.entry .name { font-weight: 800; color: var(--cm-text); }
.entry .sub { color: var(--cm-muted); font-size: 12px; }
.entry .meta .review-note { color: #6b7280; font-style: italic; }
.entry img { height: 48px; width: 130px; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: 6px; }
.entry-btns { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.entry-review {
  width: 148px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 8px;
  padding: 7px 9px;
  background: rgba(255, 255, 255, .08);
  color: var(--cm-text);
  font-size: 12px;
  font-weight: 800;
}
.email-tools { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mail-recipient-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #172033;
  font-size: 13px;
  font-weight: 950;
}
.mail-recipient-head strong {
  color: #315fba;
  font-size: 12px;
}
.recipient-summary {
  min-height: 42px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(27,42,74,.16);
  border-radius: 10px;
  padding: 8px;
  background: #fff;
  color: #6b7280;
  font-size: 12px;
  font-weight: 750;
}
.recipient-summary span {
  display: inline-flex;
  max-width: 100%;
  border-radius: 999px;
  padding: 5px 8px;
  background: #e8f0ff;
  color: #1e3a7a;
  overflow-wrap: anywhere;
}
.recipient-summary em {
  color: #4b5563;
  font-style: normal;
  font-weight: 900;
}
.mail-field-label {
  color: #4b5563;
  font-size: 12px;
  font-weight: 900;
}
.email-recipient-picker {
  width: 100%;
  border: 1px solid var(--cm-line);
  border-radius: 8px;
  padding: 8px;
  background: rgba(255,255,255,0.06);
  color: var(--cm-text);
  font: inherit;
}
.email-recipient-picker option { padding: 5px; background: #101827; color: var(--cm-text); }
.email-tabs { display: grid; gap: 8px; margin-top: 12px; }
.email-tabs summary { cursor: pointer; font-weight: 900; padding: 8px 0; }
.email-row.email-important { border-color: rgba(255, 206, 86, .42); background: rgba(255, 206, 86, .07); }
.checkline { display: flex; align-items: center; gap: 8px; color: var(--cm-muted); font-size: 13px; font-weight: 700; }

.mail-shell {
  min-height: 690px;
  display: grid;
  grid-template-columns: 190px minmax(260px, .9fr) minmax(420px, 1.35fr);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,255,255,.68));
  color: #121827;
  box-shadow: 0 24px 80px rgba(0,0,0,.34);
  backdrop-filter: blur(18px);
}
.mail-left {
  padding: 22px 14px;
  border-right: 1px solid rgba(27,42,74,.14);
  background: rgba(250,251,255,.62);
}
.mail-logo {
  margin: 0 0 18px 8px;
  color: #18233a;
  font-size: 17px;
  font-weight: 950;
}
.mail-compose {
  width: 100%;
  margin-bottom: 18px;
  border: 0;
  border-radius: 10px;
  padding: 11px 12px;
  background: #162033;
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}
.mail-folders { display: grid; gap: 6px; }
.mail-folders button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-radius: 9px;
  padding: 10px 11px;
  background: transparent;
  color: #263149;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}
.mail-folders button.on,
.mail-folders button:hover { background: #fff; box-shadow: 0 8px 22px rgba(27,42,74,.10); }
.mail-status {
  margin: 18px 4px 0;
  border-radius: 10px;
  padding: 9px 10px;
  font-size: 12px;
  font-weight: 800;
}
.mail-status.ok { background: #e3f5ea; color: var(--ok); }
.mail-status.warn { background: #fff1d6; color: #9a6b00; }
.mail-middle {
  border-right: 1px solid rgba(27,42,74,.14);
  background: rgba(255,255,255,.54);
}
.mail-search { padding: 18px 14px 10px; }
.mail-search input {
  width: 100%;
  border: 1px solid rgba(27,42,74,.14);
  border-radius: 999px;
  padding: 11px 14px;
  background: #fff;
  color: #172033;
}
.mail-filter-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 0 14px 12px;
}
.mail-filter-row button {
  border: 0;
  border-radius: 8px;
  padding: 8px 10px;
  background: transparent;
  color: #1e2b44;
  font-weight: 850;
}
.mail-filter-row button.on { background: #172033; color: #fff; }
.mail-list { max-height: 610px; overflow: auto; border-top: 1px solid rgba(27,42,74,.10); }
.mail-list-item {
  width: 100%;
  display: grid;
  grid-template-columns: 38px 1fr auto;
  gap: 10px;
  border: 0;
  border-bottom: 1px solid rgba(27,42,74,.10);
  padding: 13px 14px;
  background: transparent;
  color: #1d2940;
  text-align: left;
  cursor: pointer;
}
.mail-list-item.is-active,
.mail-list-item:hover { background: rgba(255,255,255,.82); }
.mail-list-item.is-important { box-shadow: inset 4px 0 0 #d6a100; }
.mail-list-item.is-unread .mail-list-top strong,
.mail-list-item.is-unread .mail-list-sub { font-weight: 950; }
.mail-list-item.is-read { opacity: .78; }
.mail-list-delete {
  align-self: center;
  border: 1px solid rgba(27,42,74,.14);
  background: rgba(255,255,255,.78);
  color: #8a1f2d;
  border-radius: 8px;
  padding: 7px 9px;
  cursor: pointer;
  font-weight: 850;
}
.mail-reader-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.mail-icon-btn.danger { color: #ffb9c3; border-color: rgba(255,185,195,.35); }
.mail-avatar {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #d9e8ff, #ffe1f0);
  color: #162033;
  font-weight: 950;
}
.mail-list-main { min-width: 0; display: grid; gap: 3px; }
.mail-list-top { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; }
.mail-list-top span { color: #6b7280; white-space: nowrap; }
.mail-list-sub { font-size: 13px; font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mail-list-body { color: #6b7280; font-size: 12px; line-height: 1.35; }
.mail-empty { padding: 18px; color: #6b7280; }
.mail-reader {
  padding: 20px 22px;
  background: rgba(255,255,255,.72);
  overflow: auto;
}
.mail-reader-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(27,42,74,.12);
}
.mail-reader-head h3 { margin: 0; color: #172033; font-size: 17px; }
.mail-reader-head p { margin: 5px 0 0; color: #687386; font-size: 12px; }
.mail-icon-btn {
  border: 1px solid rgba(27,42,74,.14);
  border-radius: 8px;
  padding: 7px 9px;
  background: #fff;
  color: #172033;
  font-weight: 850;
}
.mail-open { padding: 18px 0; color: #18233a; }
.mail-open-from { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.mail-open-from span:not(.mail-avatar) { display: block; color: #6b7280; font-size: 12px; }
.mail-open p { white-space: pre-wrap; line-height: 1.55; }
.mail-compose-panel {
  margin-top: 12px;
  border: 1px solid rgba(27,42,74,.12);
  border-radius: 12px;
  padding: 14px;
  background: rgba(255,255,255,.72);
}
.mail-compose-panel h3 { color: #172033; }
.mail-compose-panel .muted,
.mail-toolbox .muted { color: #687386; }
.mail-toolbox {
  margin-top: 12px;
  border: 1px solid rgba(27,42,74,.12);
  border-radius: 12px;
  padding: 10px 14px;
  background: rgba(255,255,255,.6);
  color: #172033;
}
.mail-toolbox summary { cursor: pointer; font-weight: 900; }
.mail-bottom-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 14px;
}
#tabMessages .email-recipient-picker,
#tabMessages .mail-compose-panel input,
#tabMessages .mail-compose-panel textarea,
#tabMessages .mail-toolbox input,
#tabMessages .mail-toolbox textarea {
  border-color: rgba(27,42,74,.18) !important;
  background: #fff !important;
  color: #111827 !important;
  caret-color: #111827;
}
#tabMessages .mail-compose-panel input::placeholder,
#tabMessages .mail-compose-panel textarea::placeholder,
#tabMessages .mail-toolbox input::placeholder,
#tabMessages .mail-toolbox textarea::placeholder {
  color: #6b7280 !important;
  opacity: 1;
}
#tabMessages #blastSubject,
#tabMessages #blastBody,
#tabMessages #blastExtraRecipients {
  font-weight: 700;
  line-height: 1.45;
}
#tabMessages .email-recipient-picker option { background: #fff; color: #172033; }
#tabMessages .checkline { color: #4b5563; }
@media (max-width: 1120px) {
  .mail-shell { grid-template-columns: 150px 1fr; }
  .mail-reader { grid-column: 1 / -1; border-top: 1px solid rgba(27,42,74,.12); }
  .mail-bottom-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .mail-shell { grid-template-columns: 1fr; }
  .mail-left, .mail-middle { border-right: 0; border-bottom: 1px solid rgba(27,42,74,.12); }
}
.entry .entry-action {
  appearance: none;
  min-width: 104px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 8px;
  padding: 8px 11px;
  background: rgba(255, 255, 255, .08);
  color: var(--cm-text);
  box-shadow: none;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.15;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}
.entry .entry-action span { position: relative; z-index: 1; }
.entry .entry-contact { border-color: rgba(82, 221, 167, .38); color: #dffcf0; }
.entry .entry-pdf { background: rgba(76, 125, 255, .22); border-color: rgba(118, 157, 255, .48); color: #fff; }
.entry .entry-action:hover {
  transform: translateY(-1px);
  background: rgba(76, 125, 255, .20);
  border-color: rgba(118, 157, 255, .60);
}
.entry .entry-action:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.entry .entry-action.is-pulsing {
  animation: sigButtonPop .46s cubic-bezier(.34,1.56,.64,1);
}
.entry .del {
  min-width: 104px;
  border: 1px solid rgba(255, 110, 126, .28);
  border-radius: 8px;
  padding: 7px 10px;
  background: rgba(255, 110, 126, .08);
  color: #ffb9c3;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.entry .del:hover { background: rgba(255, 110, 126, .16); border-color: rgba(255, 110, 126, .48); }

@keyframes sigRowIn {
  from { opacity: 0; transform: translateY(10px) scale(.985); }
  to { opacity: 1; transform: none; }
}
@keyframes sigButtonPop {
  0% { transform: scale(.96); }
  60% { transform: scale(1.04); }
  100% { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .signature-entry,
  .entry .entry-action.is-pulsing {
    animation: none;
  }
}

/* Full admin application pass: blue lens operating system. */
#adminView .cm-shell {
  display: grid !important;
  min-height: 100vh;
  height: 100vh;
  grid-template-columns: 304px minmax(0, 1fr);
  background:
    radial-gradient(1000px 620px at 5% 8%, rgba(25, 136, 255, .24), transparent 60%),
    radial-gradient(780px 520px at 82% 11%, rgba(41, 116, 255, .18), transparent 58%),
    radial-gradient(900px 560px at 90% 72%, rgba(33, 134, 255, .12), transparent 62%),
    linear-gradient(135deg, #010815 0%, #031832 34%, #062a5d 68%, #010b1a 100%);
}

#adminView .cm-sidebar {
  position: sticky;
  top: 16px;
  height: calc(100vh - 32px);
  display: flex;
  flex-direction: column;
  width: 304px;
  flex-basis: 304px;
  padding: 26px;
  overflow: hidden;
}

#adminView .cm-sidebar .cm-nav {
  flex: 1;
  overflow: auto;
  padding-right: 2px;
  scrollbar-width: thin;
}

#adminView .cm-brand {
  display: grid;
  place-items: center;
  gap: 6px;
  min-height: 104px;
  margin: 0 0 28px;
  text-align: center;
}

#adminView .cm-brandword {
  position: relative;
  display: block;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 44px;
  font-weight: 500;
  line-height: .9;
  letter-spacing: .09em;
  text-shadow: 0 0 24px rgba(137, 215, 255, .28);
}

#adminView .cm-brandword::before {
  content: "★";
  position: absolute;
  top: -23px;
  left: 50%;
  transform: translateX(-50%);
  font-family: inherit;
  font-size: 13px;
  color: #78d8ff;
  text-shadow: 0 0 18px rgba(120, 216, 255, .85);
}

#adminView .cm-brandline {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  width: 205px;
  color: #7edbff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  letter-spacing: .11em;
}

#adminView .cm-brandline i {
  display: block;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(103, 208, 255, .85), transparent);
}

#adminView .cm-side-foot {
  display: grid;
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid rgba(147, 220, 255, .12);
}

#adminView .cm-user-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 76px;
  padding: 12px;
  border: 1px solid rgba(133, 217, 255, .28);
  border-radius: 22px;
  background:
    radial-gradient(150px 46px at 30% 0%, rgba(255,255,255,.16), transparent 70%),
    rgba(4, 32, 76, .36);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 12px 32px rgba(0,0,0,.25);
}

#adminView .cm-user-avatar {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  color: #fff;
  background: radial-gradient(circle at 35% 22%, rgba(255,255,255,.55), transparent 24%), linear-gradient(145deg, #1a8fff, #0344a4);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 0 22px rgba(68,184,255,.28);
}

#adminView .cm-user-card strong,
#adminView .cm-user-card small {
  display: block;
}

#adminView .cm-user-card small {
  color: rgba(206, 226, 255, .62);
  font-size: 12px;
}

#adminView .cm-user-caret {
  color: rgba(230, 247, 255, .75);
}

#adminView .cm-main {
  min-width: 0;
  padding: 18px 18px 18px 0;
}

#adminView .cm-main::before {
  content: "";
  position: fixed;
  right: 0;
  bottom: 0;
  width: min(680px, 44vw);
  height: min(520px, 52vh);
  pointer-events: none;
  opacity: .17;
  background:
    linear-gradient(180deg, transparent 34%, rgba(92, 174, 255, .16) 36%, transparent 37%),
    linear-gradient(90deg, transparent 0 13%, rgba(90, 170, 255, .14) 13% 14%, transparent 14% 28%, rgba(90, 170, 255, .10) 28% 29%, transparent 29%),
    radial-gradient(ellipse at 80% 100%, rgba(100, 190, 255, .48), transparent 64%);
  clip-path: polygon(18% 72%, 100% 33%, 100% 100%, 0 100%);
}

#adminView .cm-topbar {
  grid-template-columns: minmax(260px, .9fr) minmax(360px, 520px) auto;
  padding: 18px 18px 22px;
  border-bottom: 1px solid rgba(153, 218, 255, .13) !important;
}

#adminView .cm-crumb {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 31px;
  font-weight: 500;
}

#adminView .cm-sub {
  margin-top: 6px;
  font-size: 15px;
}

#adminView .cm-search-wrap::before {
  content: "⌕";
  position: absolute;
  left: 19px;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  color: rgba(230, 247, 255, .74);
  font-size: 26px;
  pointer-events: none;
}

#adminView .cm-search-wrap {
  position: relative;
}

#adminView #cmSearch {
  padding-left: 62px;
  font-size: 15px;
}

#adminView .cm-report {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 184px;
  min-height: 58px;
}

#adminView .cm-content {
  position: relative;
  z-index: 1;
}

#adminView .tab-panel:not([hidden]) {
  animation: lensPanelIn 260ms ease both;
}

@keyframes lensPanelIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

#adminView .lens-page-head {
  margin: 2px 0 18px;
  padding: 0 8px;
}

#adminView .lens-page-head h1 {
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 3.2vw, 48px);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: 0;
}

#adminView .lens-page-head p {
  margin: 8px 0 0;
  color: rgba(224, 238, 255, .78);
  font-size: 17px;
}

#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink {
  border-radius: 18px;
  min-height: 58px;
  font-size: 15px;
}

#adminView .cm-nav .tab-btn .ic,
#adminView .cm-sidelink .ic {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 10px;
  color: #dfefff;
  border: 1px solid rgba(175, 230, 255, .20);
  background: rgba(48, 94, 165, .24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.17);
}

#adminView .cm-nav .tab-btn[aria-selected="true"] {
  border-color: rgba(116, 219, 255, .78);
  background:
    radial-gradient(160px 52px at 82% 4%, rgba(255,255,255,.30), transparent 70%),
    linear-gradient(180deg, rgba(24, 130, 255, .45), rgba(4, 36, 92, .44));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.58),
    inset 0 -1px 0 rgba(70,215,255,.32),
    0 0 30px rgba(54,171,255,.35),
    0 16px 35px rgba(0,0,0,.34);
}

#adminView .cm-nav .tab-btn[aria-selected="true"] .ic {
  color: #fff;
  border-color: rgba(153, 230, 255, .46);
  background: radial-gradient(circle at 32% 12%, rgba(255,255,255,.46), transparent 32%), rgba(31, 139, 255, .38);
}

#adminView .nav-group:nth-of-type(n+3) .tab-btn {
  min-height: 48px;
}

#adminView .dashboard {
  display: grid;
  gap: 16px;
}

#adminView .stat-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

#adminView .stat {
  position: relative;
  min-height: 142px;
  padding: 24px 24px 22px 104px;
  border-radius: 22px;
  overflow: hidden;
}

#adminView .stat::before {
  content: "";
  position: absolute;
  left: 24px;
  top: 28px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 21%, rgba(255,255,255,.62), transparent 30%),
    linear-gradient(145deg, rgba(50, 165, 255, .92), rgba(18, 63, 162, .55));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.48),
    0 0 24px rgba(65, 188, 255, .28);
}

#adminView .stat:nth-child(2)::before { background: radial-gradient(circle at 32% 21%, rgba(255,255,255,.62), transparent 30%), linear-gradient(145deg, rgba(70, 225, 126, .85), rgba(18, 83, 58, .55)); }
#adminView .stat:nth-child(3)::before { background: radial-gradient(circle at 32% 21%, rgba(255,255,255,.62), transparent 30%), linear-gradient(145deg, rgba(154, 117, 255, .88), rgba(44, 39, 137, .55)); }
#adminView .stat:nth-child(4)::before { background: radial-gradient(circle at 32% 21%, rgba(255,255,255,.62), transparent 30%), linear-gradient(145deg, rgba(255, 179, 55, .90), rgba(124, 76, 17, .55)); }

#adminView .stat-num {
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 42px;
  line-height: 1;
}

#adminView .stat-lbl {
  margin-top: 8px;
  color: rgba(235, 247, 255, .80);
  font-size: 16px;
}

#adminView .stat-sub {
  margin-top: 6px;
  color: rgba(199, 223, 255, .66);
  font-size: 13px;
}

#adminView .dash-bar,
#adminView .dash-eta {
  display: none;
}

#adminView .dash-cols {
  display: grid;
  grid-template-columns: minmax(370px, .8fr) minmax(480px, 1.2fr);
  gap: 16px;
}

#adminView .dash-panel {
  border-radius: 24px;
  padding: 22px;
}

#adminView .dash-panel h3 {
  margin: 0 0 14px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 500;
}

#adminView .county-rows {
  border: 1px solid rgba(154, 220, 255, .16);
  border-radius: 14px;
  overflow: hidden;
}

#adminView .county-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 70px auto;
  gap: 12px;
  align-items: center;
  min-height: 56px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(153, 220, 255, .12);
}

#adminView .county-row:last-child {
  border-bottom: 0;
}

#adminView .cr-name {
  color: #fff;
  font-weight: 750;
}

#adminView .cr-n {
  color: rgba(232, 246, 255, .86);
}

#adminView .day-chart {
  height: 160px;
  display: grid;
  grid-template-columns: repeat(14, 1fr);
  align-items: end;
  gap: 8px;
  padding: 16px 6px 22px;
  border-radius: 14px;
  background:
    repeating-linear-gradient(180deg, rgba(180, 229, 255, .12) 0 1px, transparent 1px 32px);
}

#adminView .day-bar {
  position: relative;
  height: 100%;
  display: grid;
  align-items: end;
}

#adminView .day-fill {
  min-height: 4px;
  border-radius: 7px 7px 2px 2px;
  background: linear-gradient(180deg, #67d7ff, #1b83ff);
  box-shadow: 0 0 18px rgba(72, 184, 255, .36);
}

#adminView .day-lbl {
  position: absolute;
  left: 50%;
  bottom: -18px;
  transform: translateX(-50%);
  color: rgba(212, 231, 255, .62);
  font-size: 10px;
  white-space: nowrap;
}

#adminView .validity-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

#adminView .vbadge {
  justify-content: center;
  min-height: 48px;
  border-radius: 14px;
  color: rgba(241, 248, 255, .94);
  background: rgba(6, 32, 76, .42);
  border: 1px solid rgba(129, 216, 255, .24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20);
}

#adminView .paper-lens-card {
  margin: 16px 0;
  padding: 26px;
  border-radius: 24px;
}

#adminView .paper-lens-card h3 {
  margin: 0 0 6px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 500;
}

#adminView .module-form {
  gap: 14px;
}

#adminView .paper-lens-card .module-form {
  display: grid;
  grid-template-columns: minmax(160px, 1.1fr) minmax(120px, .75fr) minmax(160px, 1fr) minmax(160px, .9fr) minmax(220px, 1.35fr) minmax(150px, .9fr);
  align-items: end;
  margin-top: 18px;
}

#adminView .paper-lens-card .module-form button {
  grid-column: 1 / -1;
  min-height: 54px;
}

#adminView .paper-scan-name {
  align-self: center;
}

#adminView .admin-actions {
  display: grid;
  grid-template-columns: repeat(8, minmax(130px, 1fr));
  gap: 12px;
  margin: 18px 0;
}

#adminView .admin-actions .btn-primary,
#adminView .admin-actions .btn-danger,
#adminView .admin-actions .btn-ghost {
  min-height: 72px;
  padding: 12px 14px;
  border-radius: 18px;
}

#adminView .list-controls {
  display: grid;
  grid-template-columns: repeat(5, minmax(170px, 1fr));
  gap: 14px;
  margin: 18px 0 14px;
}

#adminView .list-controls #adminSearch {
  grid-column: span 2;
}

#adminView .field-toggle-wrap {
  grid-column: 1 / -1;
}

#adminView .field-toggle-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

#adminView .field-toggle-row label {
  min-height: 48px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(241, 248, 255, .92);
  border-radius: 14px;
}

#adminView .field-toggle-row input {
  width: 18px;
  height: 18px;
  min-height: 0;
  accent-color: #43bfff;
}

#adminView .filter-summary {
  padding: 24px;
  border-radius: 24px;
}

#adminView .filter-summary-head h3 {
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 500;
}

#adminView .filter-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

#adminView .filter-kpis div,
#adminView .filter-breakdowns section {
  border: 1px solid rgba(145, 218, 255, .18);
  border-radius: 18px;
  background: rgba(5, 31, 73, .30);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.13);
}

#adminView .filter-kpis div {
  min-height: 92px;
  padding: 18px;
}

#adminView .filter-kpis strong {
  display: block;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  font-weight: 500;
}

#adminView .filter-kpis span,
#adminView .filter-breakdowns span {
  color: rgba(215, 235, 255, .72);
}

#adminView .filter-breakdowns {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

#adminView .filter-breakdowns section {
  padding: 16px 18px;
}

#adminView .filter-breakdowns h4 {
  color: rgba(222, 238, 255, .82);
}

#adminView #entryCount {
  margin: 18px 4px 10px;
  color: rgba(238, 247, 255, .88);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
}

#adminView .entry-list {
  display: grid;
  gap: 8px;
}

#adminView .entry.signature-entry {
  border-radius: 18px;
  overflow: hidden;
}

#adminView .entry-summary {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  padding: 12px 18px;
}

#adminView .entry-summary-main .name {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
}

#adminView .entry-summary-main .sub {
  display: block;
  margin-top: 4px;
  color: rgba(203, 225, 255, .68);
}

#adminView .entry-summary-side {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 15px;
  border-radius: 12px;
  color: #ffc861;
  border: 1px solid rgba(255, 185, 62, .30);
  background: rgba(116, 69, 6, .20);
}

#adminView .entry-detail {
  grid-template-columns: minmax(240px, 1fr) minmax(180px, 260px) auto;
  gap: 18px;
  padding: 0 18px 18px 58px;
}

#adminView .entry-detail img {
  max-width: 220px;
  max-height: 86px;
  padding: 8px;
  border-radius: 10px;
  background: rgba(255,255,255,.92);
}

#adminView .entry-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

#adminView .entry-action,
#adminView .entry-btns .del,
#adminView .entry-btns select {
  min-height: 40px;
  border-radius: 999px;
}

#adminView input,
#adminView select,
#adminView textarea {
  min-height: 58px;
  color: rgba(246, 251, 255, .96);
}

#adminView input::placeholder,
#adminView textarea::placeholder {
  color: rgba(204, 225, 255, .62);
}

#adminView select {
  color-scheme: dark;
}

#adminView .badge {
  min-height: 28px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 820;
  text-transform: none;
}

#adminView .badge.ok {
  color: #92ffbd;
  border-color: rgba(95, 231, 147, .32);
  background: rgba(17, 104, 67, .30);
}

#adminView .badge.pend {
  color: #ffd27d;
  border-color: rgba(255, 195, 80, .34);
  background: rgba(116, 74, 13, .28);
}

#adminView .badge.bad {
  color: #ffaaa8;
  border-color: rgba(255, 110, 108, .34);
  background: rgba(118, 29, 34, .28);
}

#adminView .data-filter-panel,
#adminView .module-list,
#adminView .calendar-shell,
#adminView .planner-grid,
#adminView .media-grid,
#adminView .mail-grid,
#adminView .map-layout {
  border-radius: 24px;
}

#adminView .mrow {
  min-height: 64px;
  padding: 14px 18px;
  border-radius: 18px;
}

#adminView .mrow-main strong {
  color: #fff;
}

@media (max-width: 1450px) {
  #adminView .cm-shell {
    grid-template-columns: 274px minmax(0, 1fr);
  }
  #adminView .cm-sidebar {
    width: 274px;
    flex-basis: 274px;
    padding: 22px;
  }
  #adminView .admin-actions {
    grid-template-columns: repeat(4, minmax(130px, 1fr));
  }
  #adminView .filter-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1180px) {
  #adminView .cm-shell {
    grid-template-columns: 1fr;
  }
  #adminView .cm-sidebar {
    position: relative;
    top: auto;
    width: auto;
    flex-basis: auto;
    height: auto;
  }
  #adminView .cm-main {
    padding: 0;
  }
  #adminView .stat-cards,
  #adminView .dash-cols,
  #adminView .filter-breakdowns {
    grid-template-columns: 1fr;
  }
  #adminView .paper-lens-card .module-form,
  #adminView .list-controls {
    grid-template-columns: 1fr 1fr;
  }
  #adminView .list-controls #adminSearch {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  #adminView .cm-sidebar {
    width: auto;
    flex-basis: auto;
  }
  #adminView .cm-brandword {
    font-size: 34px;
  }
  #adminView .cm-nav .tab-btn span:last-child,
  #adminView .cm-sidelink span:last-child,
  #adminView .cm-user-card {
    display: none;
  }
  #adminView .cm-nav {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
  }
  #adminView .nav-group {
    display: contents;
  }
  #adminView .nav-group-label {
    display: none;
  }
  #adminView .cm-nav .tab-btn {
    justify-content: center;
    padding: 0;
  }
  #adminView .cm-topbar,
  #adminView .paper-lens-card .module-form,
  #adminView .list-controls,
  #adminView .admin-actions,
  #adminView .filter-kpis,
  #adminView .validity-row {
    grid-template-columns: 1fr;
  }
  #adminView .entry-summary {
    grid-template-columns: 24px minmax(0, 1fr);
  }
  #adminView .entry-summary-side {
    grid-column: 2;
    justify-self: start;
  }
  #adminView .entry-detail {
    grid-template-columns: 1fr;
    padding-left: 18px;
  }
}

/* ---------- Footer ---------- */
.site-footer { text-align: center; padding: 24px 16px; color: var(--muted); }
.muted { color: var(--muted); }
.small { font-size: 12px; }

/* ---------- Responsive ---------- */
@media (max-width: 560px) {
  .grid-2, .grid-3, .grid-addr { grid-template-columns: 1fr; }
  .brand-main { font-size: 34px; }
  .hero h1 { font-size: 19px; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

/* Visible focus outline for keyboard users */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
  outline: 3px solid var(--focus); outline-offset: 2px;
}

/* Skip link */
.skip-link {
  position: absolute; left: 8px; top: -48px; z-index: 100;
  background: var(--navy); color: #fff; padding: 10px 14px; border-radius: 8px;
  text-decoration: none; transition: top 0.15s;
}
.skip-link:focus { top: 8px; }

/* Language toggle */
.lang-toggle { position: absolute; right: 12px; top: 12px; display: flex; gap: 2px; }
.lang-toggle button {
  background: #fff; border: 1px solid var(--navy); color: var(--navy);
  font-weight: 700; font-size: 13px; padding: 5px 9px; cursor: pointer;
}
.lang-toggle button:first-child { border-radius: 6px 0 0 6px; }
.lang-toggle button:last-child { border-radius: 0 6px 6px 0; }
.lang-toggle button[aria-pressed="true"] { background: var(--navy); color: #fff; }

/* ---- AI Campaign Assistant (multi-turn chat) ---- */
.ai-thread { max-height: 340px; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; padding: 4px 2px; }
.ai-empty { color: var(--cm-muted); font-size: 14px; line-height: 1.5; }
.ai-msg { max-width: 88%; padding: 9px 12px; border-radius: 14px; font-size: 14px; line-height: 1.5; word-wrap: break-word; }
.ai-user { align-self: flex-end; background: linear-gradient(90deg, var(--cm-blue), #2a4fd0); color: #fff; border-bottom-right-radius: 4px; }
.ai-assistant { align-self: flex-start; background: var(--cm-panel2); color: var(--cm-text); border: 1px solid var(--cm-line); border-bottom-left-radius: 4px; }
.ai-assistant ul { margin: 4px 0; padding-left: 18px; }
.ai-assistant li { margin: 2px 0; }
.ai-assistant code { background: rgba(255,255,255,0.10); padding: 1px 5px; border-radius: 5px; font-size: 12.5px; }
.ai-assistant strong { color: var(--cm-blue2); }
.ai-typing { display: inline-flex; gap: 4px; align-items: center; }
.ai-typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--cm-muted); animation: aiblink 1.2s infinite ease-in-out; }
.ai-typing span:nth-child(2) { animation-delay: 0.2s; }
.ai-typing span:nth-child(3) { animation-delay: 0.4s; }
@keyframes aiblink { 0%, 80%, 100% { opacity: 0.25; } 40% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .ai-typing span { animation: none; } }
.ai-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.ai-chip { background: var(--cm-panel2); border: 1px solid var(--cm-line); color: var(--cm-text); border-radius: 999px; padding: 6px 11px; font-size: 12.5px; cursor: pointer; transition: background .15s, border-color .15s; }
.ai-chip:hover { background: rgba(91,140,255,0.18); border-color: var(--cm-blue); }
.ai-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.ai-action { appearance:none; border:1px solid rgba(119,191,255,.42); background:rgba(23,73,118,.38); color:var(--cm-text); border-radius:999px; padding:6px 11px; font:600 12px/1.2 inherit; cursor:pointer; transition:transform .15s ease, background .15s ease, border-color .15s ease; }
.ai-action:hover { transform:translateY(-1px); background:rgba(37,103,160,.5); border-color:rgba(151,213,255,.72); }
.ai-action:active { transform:translateY(0) scale(.98); }
.ai-plan { display:grid; gap:7px; margin-top:12px; padding:10px; border:1px solid rgba(119,191,255,.2); border-radius:12px; background:rgba(3,16,28,.28); }
.ai-plan > strong { color:var(--cm-blue2); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.ai-plan > div { display:flex; align-items:flex-start; gap:9px; }
.ai-plan > div > span { display:grid; place-items:center; flex:0 0 22px; height:22px; border-radius:50%; background:rgba(91,140,255,.22); color:var(--cm-blue2); font-weight:700; font-size:11px; }
.ai-plan p { display:grid; gap:1px; margin:0; }
.ai-plan p small { color:var(--cm-muted); line-height:1.35; }
.ai-sources { display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin-top:10px; padding-top:8px; border-top:1px solid rgba(119,191,255,.14); color:var(--cm-muted); font-size:10px; }
.ai-sources > span:first-child { text-transform:uppercase; letter-spacing:.07em; }
.ai-sources > span:not(:first-child) { padding:3px 6px; border-radius:999px; background:rgba(91,140,255,.1); color:var(--cm-blue2); }
.ai-sources small { margin-left:auto; }
.jordy-briefing { position:relative; overflow:hidden; padding:18px 20px; background:linear-gradient(135deg,rgba(18,54,87,.82),rgba(12,28,47,.9)); }
.jordy-briefing::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 88% 0,rgba(62,176,255,.16),transparent 38%); }
.jordy-briefing-head { display:flex; align-items:center; gap:10px; }
.jordy-briefing-head > div { display:grid; gap:2px; }
.jordy-briefing-head span:last-child { color:var(--cm-muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.jordy-briefing p { margin:12px 0 10px; line-height:1.45; }
.jordy-briefing-facts { display:flex; flex-wrap:wrap; gap:8px; }
.jordy-briefing-facts span { padding:6px 9px; border-radius:10px; background:rgba(4,18,31,.42); color:var(--cm-muted); font-size:12px; }
.jordy-briefing-facts strong { color:var(--cm-text); }
.jordy-briefing small { display:block; margin-top:10px; color:var(--cm-muted); }

/* ---- Interactive Planner: clickable days + day editor modal ---- */
.cal-cell.cal-click { cursor: pointer; transition: background .12s, border-color .12s; }
.cal-cell.cal-click:hover { background: rgba(91,140,255,0.14); border-color: var(--cm-blue); }
.cal-cell.cal-click:focus-visible { outline: 2px solid var(--cm-blue); outline-offset: 1px; }
.rem-overdue { color: #ffb4b4; }
.rem-today { color: #ffe08a; }
.day-modal { max-width: 480px; }
.day-items { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.day-item { display: flex; align-items: center; gap: 8px; padding: 7px 9px; background: rgba(255,255,255,0.05); border: 1px solid var(--cm-line); border-radius: 9px; }
.day-item-label { flex: 1; font-size: 14px; }
.day-del { color: #ff8a8a !important; }
.day-add { border-top: 1px solid var(--cm-line); padding-top: 12px; }
.seg { display: inline-flex; background: rgba(255,255,255,0.06); border: 1px solid var(--cm-line); border-radius: 10px; padding: 3px; gap: 2px; margin-bottom: 10px; }
.seg-btn { background: none; border: none; color: var(--cm-muted); font-weight: 700; font-size: 13px; padding: 6px 12px; border-radius: 8px; cursor: pointer; }
.seg-btn.on { background: linear-gradient(90deg, var(--cm-blue), #2a4fd0); color: #fff; }
.day-form { display: flex; flex-direction: column; gap: 8px; }
.day-form-row { display: flex; gap: 8px; }
.day-form-row input { flex: 1; min-width: 0; }
.day-form input { padding: 9px 10px; font-size: 15px; border: 1px solid rgba(255,255,255,0.14); border-radius: 8px; background: rgba(255,255,255,0.06); color: #e8eefc; font-family: inherit; }

/* ============================================================
   Floating assistant avatar (Mii-style campaign mascot)
   ============================================================ */
.avatar-root { position: fixed; right: 22px; bottom: 22px; z-index: 240; display: none;
  --px: 0px; --py: 0px; --body: #ffffff; --eye: #46d5e6; --trim: #2f6bff;
  /* The avatar lives on <body>, outside #adminView — redefine the dark-theme
     tokens here so its chat text/inputs/buttons aren't invisible dark-on-dark. */
  --cm-bg: #0b1224; --cm-panel: rgba(255,255,255,0.045); --cm-panel2: rgba(255,255,255,0.07);
  --cm-line: rgba(255,255,255,0.14); --cm-text: #e8eefc; --cm-muted: #aab8d8;
  --cm-blue: #3b6cff; --cm-blue2: #5b8cff; }
body.cm-open .avatar-root { display: block; }
@media (prefers-reduced-motion: no-preference) {
  body.cm-open .avatar-root { animation: avPop .4s cubic-bezier(.2,.8,.3,1.2) both; }
}
@keyframes avPop { from { transform: scale(0) translateY(20px); opacity: 0; } to { transform: none; opacity: 1; } }

.avatar-btn { width: 116px; height: 136px; padding: 0; border: none; background: none; cursor: grab;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.4)); touch-action: none; display: block; }
.avatar-btn:active { cursor: grabbing; }
.avatar-svg { width: 100%; height: 100%; overflow: visible; }
.avatar-canvas { width: 100%; height: 100%; display: block; }

/* ===== Robot mascot parts ===== */
.av-shell { fill: var(--body, #fff); }
.av-trim { fill: var(--trim, #2f6bff); }
.av-screen { fill: #06121f; }
.av-screen-edge { fill: none; stroke: rgba(120,180,255,.22); stroke-width: 1; }
.av-boot { fill: #46d5e6; }
.av-glove { fill: var(--trim, #2f6bff); }
.av-arm { transform-origin: center; }
.av-shadow { fill: rgba(0,0,0,.18); }
.av-badge { fill: #fff; }
.av-badge-txt { fill: var(--trim, #2f6bff); font: 800 6.5px system-ui, sans-serif; }
.av-antenna-stalk { fill: none; stroke: var(--body, #fff); stroke-width: 4; stroke-linecap: round; }
.av-antenna-ball { fill: #46d5e6; }
.av-eyepix { fill: var(--eye, #46d5e6); filter: drop-shadow(0 0 1.6px var(--eye, #46d5e6)); }

/* eye tracking: outer group drifts toward the cursor, inner group does moods/blink */
.av-eye { transform: translate(calc(var(--px) * .7), calc(var(--py) * .7)); transition: transform .12s ease-out; }
.av-eye-inner { transform-box: fill-box; transform-origin: center; transition: transform .18s ease; }

/* idle bob */
.av-bob { transform-origin: 50px 110px; }
@media (prefers-reduced-motion: no-preference) {
  .avatar-root[data-mood="idle"] .av-bob,
  .avatar-root[data-mood="content"] .av-bob,
  .avatar-root[data-mood="worried"] .av-bob { animation: avBob 3.4s ease-in-out infinite; }
}
@keyframes avBob { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-3px) } }

/* blink — collapse the LED eyes to a thin line (wins over mood transforms) */
.avatar-root.blink .av-eye .av-eye-inner { transform: scaleY(.14); }

/* screen waveform (talking / speaking) */
.av-wave { opacity: 0; }
.av-wave rect { fill: var(--eye, #46d5e6); transform-box: fill-box; transform-origin: center; }
@keyframes avBar { 0%,100% { transform: scaleY(.4) } 50% { transform: scaleY(1) } }
@keyframes avPulse { 0%,100% { opacity: 1 } 50% { opacity: .4 } }

/* ===== Moods (expressed on the screen face) ===== */
/* happy — eyes pop a touch + a little hop */
.avatar-root[data-mood="happy"] .av-eye-inner { transform: scale(1.08); }
.avatar-root[data-mood="happy"] .av-bob { animation: avHop .5s ease-in-out 3; }
@keyframes avHop { 0%,100% { transform: translateY(0) } 40% { transform: translateY(-9px) } }

/* thinking — eyes glance up + dim, antenna pulses, head sways */
.avatar-root[data-mood="thinking"] .av-eye-inner { transform: translateY(-2.5px) scale(.86); }
@media (prefers-reduced-motion: no-preference) {
  .avatar-root[data-mood="thinking"] .av-bob { animation: avThink 1.1s ease-in-out infinite; }
  .avatar-root[data-mood="thinking"] .av-antenna-ball { animation: avPulse 1s ease-in-out infinite; }
}
@keyframes avThink { 0%,100% { transform: rotate(0) } 50% { transform: rotate(-3deg) } }

/* talking — caret eyes + animated screen waveform */
.avatar-root[data-mood="talking"] .av-wave { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .avatar-root[data-mood="talking"] .av-wave rect { animation: avBar .5s ease-in-out infinite; }
  .avatar-root[data-mood="talking"] .av-wave rect:nth-child(2) { animation-delay: .1s; }
  .avatar-root[data-mood="talking"] .av-wave rect:nth-child(3) { animation-delay: .2s; }
  .avatar-root[data-mood="talking"] .av-wave rect:nth-child(4) { animation-delay: .15s; }
  .avatar-root[data-mood="talking"] .av-wave rect:nth-child(5) { animation-delay: .05s; }
}

/* lip-sync while actually speaking (TTS) — show the waveform regardless of mood */
.avatar-root.speaking .av-wave { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .avatar-root.speaking .av-wave rect { animation: avBar .42s ease-in-out infinite; }
  .avatar-root.speaking .av-wave rect:nth-child(2) { animation-delay: .09s; }
  .avatar-root.speaking .av-wave rect:nth-child(3) { animation-delay: .18s; }
  .avatar-root.speaking .av-wave rect:nth-child(4) { animation-delay: .13s; }
  .avatar-root.speaking .av-wave rect:nth-child(5) { animation-delay: .04s; }
}

/* wave — raise + swing the right arm */
@media (prefers-reduced-motion: no-preference) {
  .avatar-root[data-mood="wave"] .av-arm-r { animation: avWave .5s ease-in-out 3; transform-box: fill-box; transform-origin: center; }
}
@keyframes avWave { 0%,100% { transform: translateY(0) rotate(0) } 50% { transform: translateY(-8px) rotate(-24deg) } }

/* worried — caret eyes flip down to a sad shape */
.avatar-root[data-mood="worried"] .av-eye-inner { transform: rotate(180deg) scale(.9); }

/* content — calm resting state (eyes as drawn) */
.avatar-root[data-mood="content"] .av-eye-inner { transform: scale(1); }

/* celebrate — eyes pop, arms fly, body cheers (paired with JS confetti) */
.avatar-root[data-mood="celebrate"] .av-eye-inner { transform: scale(1.14); }
@media (prefers-reduced-motion: no-preference) {
  .avatar-root[data-mood="celebrate"] .av-bob { animation: avCheer .6s ease-in-out 3; }
  .avatar-root[data-mood="celebrate"] .av-arm-l { animation: avWave .5s ease-in-out 3; transform-box: fill-box; transform-origin: center; }
  .avatar-root[data-mood="celebrate"] .av-arm-r { animation: avWave .5s ease-in-out 3 reverse; transform-box: fill-box; transform-origin: center; }
}
@keyframes avCheer { 0%,100% { transform: translateY(0) rotate(0) } 30% { transform: translateY(-12px) rotate(-6deg) } 60% { transform: translateY(-4px) rotate(6deg) } }

/* yawn — eyes squint */
.avatar-root[data-mood="yawn"] .av-eye-inner { transform: scaleY(.42); }

/* stretch — arms reach up with a little body extension */
@media (prefers-reduced-motion: no-preference) {
  .avatar-root[data-mood="stretch"] .av-bob { animation: avStretch 1.4s ease-in-out; }
  .avatar-root[data-mood="stretch"] .av-arm-l { animation: avReachL 1.4s ease-in-out; transform-box: fill-box; transform-origin: center; }
  .avatar-root[data-mood="stretch"] .av-arm-r { animation: avReachR 1.4s ease-in-out; transform-box: fill-box; transform-origin: center; }
}
@keyframes avStretch { 0%,100% { transform: translateY(0) scaleY(1) } 45% { transform: translateY(-3px) scaleY(1.05) } }
@keyframes avReachL { 0%,100% { transform: translateY(0) rotate(0) } 45% { transform: translateY(-12px) rotate(-18deg) } }
@keyframes avReachR { 0%,100% { transform: translateY(0) rotate(0) } 45% { transform: translateY(-12px) rotate(18deg) } }

/* sleepy — eyes flatten to a line + slow antenna pulse */
.avatar-root[data-mood="sleepy"] .av-eye-inner { transform: scaleY(.16); }
@media (prefers-reduced-motion: no-preference) {
  .avatar-root[data-mood="sleepy"] .av-antenna-ball { animation: avPulse 2.6s ease-in-out infinite; }
}

/* curious — quick head tilt when reacting to a tab */
.avatar-root[data-mood="curious"] .av-head { transform: rotate(-6deg); transform-origin: 50px 72px; transition: transform .2s ease; }

/* ===== Accessories (robot-appropriate; one slot from the customizer) ===== */
.av-acc { display: none; }
.avatar-root.acc-cape .av-cape,
.avatar-root.acc-cap .av-cap,
.avatar-root.acc-headphones .av-headphones,
.avatar-root.acc-bowtie .av-bowtie { display: block; }
.av-cape { fill: #46d5e6; opacity: .5; }
.av-cap { fill: var(--trim, #2f6bff); }
.av-cap-brim { fill: var(--trim, #2f6bff); filter: brightness(.85); }
.av-hp-band { stroke: var(--trim, #2f6bff); stroke-width: 5; fill: none; }
.av-hp-cup { fill: var(--trim, #2f6bff); }
.av-bowtie path { fill: #d6321f; } .av-bowtie-knot { fill: #a8260f; }

/* ---- Milestone confetti burst (spawned near the avatar) ---- */
.av-confetti { position: absolute; left: 50%; top: 30px; width: 9px; height: 14px; border-radius: 2px;
  pointer-events: none; opacity: 0; will-change: transform, opacity; z-index: 1; }
@media (prefers-reduced-motion: no-preference) {
  .av-confetti.go { animation: avConfetti var(--dur, 1100ms) cubic-bezier(.2,.7,.3,1) forwards; }
}
@keyframes avConfetti {
  0% { opacity: 1; transform: translate(0,0) rotate(0); }
  100% { opacity: 0; transform: translate(var(--dx), var(--dy)) rotate(var(--rot)); }
}

/* ---- Roaming: the buddy strolls around the screen on his own ---- */
/* A walking waddle + arm swing — overrides the idle bob while in transit. */
@media (prefers-reduced-motion: no-preference) {
  .avatar-root.walking .av-bob { animation: avWalk .42s ease-in-out infinite; }
  .avatar-root.walking .av-arm-l { animation: avSwingA .42s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
  .avatar-root.walking .av-arm-r { animation: avSwingB .42s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
}
@keyframes avWalk { 0%,100% { transform: translateY(0) rotate(-2.5deg); } 50% { transform: translateY(-4px) rotate(2.5deg); } }
@keyframes avSwingA { 0%,100% { transform: translateY(0) rotate(-14deg); } 50% { transform: translateY(-2px) rotate(14deg); } }
@keyframes avSwingB { 0%,100% { transform: translateY(-2px) rotate(14deg); } 50% { transform: translateY(0) rotate(-14deg); } }
.avatar-root.walking .avatar-btn { cursor: default; }

/* Pointing — a raised arm when he stops at a tab to call it out */
.avatar-root.pointing .av-arm-r { transform: translate(7px, -10px) rotate(-38deg); transform-box: fill-box; transform-origin: center; transition: transform .2s ease; }

/* The nav tab he's visiting gets a friendly attention pulse */
@media (prefers-reduced-motion: no-preference) {
  .cm-nav .tab-btn.cm-attn { animation: cmAttn 1.1s ease-in-out 3; }
}
.cm-nav .tab-btn.cm-attn { color: #fff; }
@keyframes cmAttn {
  0%, 100% { box-shadow: none; transform: translateX(0); }
  50% { box-shadow: 0 0 0 2px var(--cm-blue2, #5b8cff), 0 8px 22px rgba(59,108,255,.5); transform: translateX(3px); }
}

/* Roam toggle in the customizer */
.cust-toggle { display: flex; align-items: center; gap: 8px; color: var(--cm-text, #e8eefc); font-size: 13px; cursor: pointer; line-height: 1.35; }
.cust-toggle input { width: 16px; height: 16px; flex: 0 0 auto; accent-color: var(--cm-blue, #3b6cff); }

/* speech bubble */
.avatar-bubble { position: absolute; bottom: 146px; right: 0; max-width: 240px; background: #fff; color: #16233f;
  padding: 10px 13px; border-radius: 14px 14px 4px 14px; font-size: 13.5px; line-height: 1.4; font-weight: 500;
  box-shadow: 0 10px 26px rgba(0,0,0,.32); animation: avBubble .2s ease both; }
.avatar-bubble::after { content: ""; position: absolute; bottom: -7px; right: 26px; border: 7px solid transparent; border-top-color: #fff; border-bottom: 0; }
@keyframes avBubble { from { transform: translateY(6px) scale(.96); opacity: 0 } to { transform: none; opacity: 1 } }

/* chat popover */
.avatar-chat { position: absolute; bottom: 146px; right: 0; width: min(360px, 86vw); height: 460px; max-height: 70vh;
  display: flex; flex-direction: column; background: #0f1b35; border: 1px solid var(--cm-line); border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0,0,0,.5); overflow: hidden; animation: avBubble .2s ease both; }
/* The hidden attribute must win over display:flex above — otherwise the box
   never actually closes (this was why the ✕ "didn't work"). */
.avatar-chat[hidden], .avatar-bubble[hidden] { display: none !important; }
.avatar-chat-head { display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 11px 14px; background: linear-gradient(90deg, var(--cm-blue), #2a4fd0); color: #fff; font-weight: 700; font-size: 14px; }
.avatar-chat-head .av-x { background: none; border: none; color: #fff; font-size: 15px; cursor: pointer; opacity: .9; margin-left: 8px; }
.avatar-chat-head .linklike { color: #dbe6ff; }
.avatar-chat-thread { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.avatar-chat-form { display: flex; gap: 8px; padding: 10px; border-top: 1px solid var(--cm-line); background: rgba(255,255,255,.03); }
.avatar-chat-form input { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid var(--cm-line); border-radius: 10px;
  background: rgba(255,255,255,.06); color: var(--cm-text); font-family: inherit; font-size: 14px; }
.avatar-chat-form button { padding: 0 14px; border-radius: 10px; }
.av-chip { background: var(--cm-panel2); border: 1px solid var(--cm-line); color: var(--cm-text); border-radius: 999px;
  padding: 7px 12px; font-size: 12.5px; cursor: pointer; margin: 4px 4px 0 0; }
.av-chip:hover { background: rgba(91,140,255,.18); border-color: var(--cm-blue); }

/* ---- Operations Center: agent selector, quick briefings, map callout ---- */
.agent-bar { display: flex; gap: 4px; padding: 8px 8px 0; overflow-x: auto; }
.agent-pill { display: flex; flex-direction: column; align-items: center; gap: 1px; flex: 1 0 auto; min-width: 52px;
  background: rgba(255,255,255,.05); border: 1px solid var(--cm-line); color: var(--cm-muted);
  border-radius: 10px; padding: 6px 4px; font-size: 9.5px; font-weight: 700; cursor: pointer; transition: all .12s; }
.agent-pill span { font-size: 9.5px; }
.agent-pill:hover { color: var(--cm-text); border-color: var(--cm-blue); }
.agent-pill.on { background: linear-gradient(135deg, var(--cm-blue), #2a4fd0); color: #fff; border-color: transparent; }
.agent-pill > :first-child { font-size: 15px; }
.quick-bar { display: flex; gap: 6px; padding: 8px; overflow-x: auto; border-bottom: 1px solid var(--cm-line); }
.quick-btn { white-space: nowrap; background: var(--cm-panel2); border: 1px solid var(--cm-line); color: var(--cm-text);
  border-radius: 999px; padding: 6px 11px; font-size: 12px; font-weight: 600; cursor: pointer; }
.quick-btn:hover { background: rgba(91,140,255,.18); border-color: var(--cm-blue); }
.map-callout { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px;
  padding: 12px 16px; background: var(--cm-panel); border: 1px solid; border-left-width: 4px; border-radius: 12px; }
.map-hl-ring { animation: hlPulse 1.6s ease-in-out infinite; }
@keyframes hlPulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .map-hl-ring { animation: none; } }

/* ---- Avatar chat voice button + readability ---- */
.av-mic { flex: 0 0 auto; width: 40px; border: 1px solid var(--cm-line); border-radius: 10px;
  background: rgba(255,255,255,.06); color: var(--cm-text); font-size: 16px; cursor: pointer; }
.av-mic:hover { background: rgba(91,140,255,.18); border-color: var(--cm-blue); }
.av-mic.listening { background: #e23b4e; border-color: #e23b4e; animation: micPulse 1s infinite; }
@keyframes micPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(226,59,78,.5); } 50% { box-shadow: 0 0 0 7px rgba(226,59,78,0); } }
.avatar-chat .ai-empty { color: var(--cm-text); }
.avatar-chat .ai-empty .ai-chips { margin-top: 10px; }

/* ============================================================
   Guided tour — spotlight overlay + coachmark card
   ============================================================ */
.tour-root { position: fixed; inset: 0; z-index: 320; display: none; pointer-events: none; }
.tour-spot { position: absolute; border-radius: 12px; box-shadow: 0 0 0 9999px rgba(6,10,20,.5);
  transition: left .3s cubic-bezier(.22,.61,.36,1), top .3s cubic-bezier(.22,.61,.36,1), width .3s, height .3s, opacity .2s;
  pointer-events: none; outline: 2px solid var(--cm-blue, #3b6cff); outline-offset: 0; }
.tour-card { position: absolute; width: min(340px, 88vw); background: #12203f; color: #e8eefc;
  border: 1px solid rgba(255,255,255,.16); border-radius: 16px; padding: 18px 18px 14px; pointer-events: auto;
  box-shadow: 0 24px 60px rgba(0,0,0,.5); transition: left .3s cubic-bezier(.22,.61,.36,1), top .3s cubic-bezier(.22,.61,.36,1);
  animation: cmFade .2s ease both; }
.tour-card .tour-ava { position: absolute; top: -16px; left: 16px; width: 34px; height: 34px; display: grid; place-items: center;
  font-size: 18px; background: linear-gradient(135deg, #3b6cff, #2a4fd0); border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,.4); }
.tour-card h4 { margin: 8px 0 6px; font-size: 16px; color: #fff; }
.tour-card p { margin: 0 0 14px; font-size: 13.5px; line-height: 1.5; color: #c8d4ee; }
.tour-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.tour-prog { font-size: 12px; color: #8ea0c4; font-weight: 700; }
.tour-btns { display: flex; align-items: center; gap: 8px; }
.tour-btns .linklike { color: #9fb2da; }
.tour-btns .btn-ghost { background: rgba(255,255,255,.07); color: #e8eefc; border: 1px solid rgba(255,255,255,.18);
  padding: 7px 13px; font-size: 13px; border-radius: 9px; }
.tour-btns .btn-primary { width: auto; padding: 7px 15px; font-size: 13px; border-radius: 9px; }
.av-chip-tour { border-color: var(--cm-blue) !important; }
@media (prefers-reduced-motion: reduce) { .tour-spot, .tour-card { transition: none; } }

/* ---- Fix avatar chat layout: keep input wide, buttons from squishing/clipping ---- */
.avatar-chat-form { align-items: center; }
.avatar-chat-form input { flex: 1 1 auto; min-width: 0; width: auto; }
.avatar-chat-form button.btn-primary { flex: 0 0 auto; width: auto; min-width: 44px; }
.av-mic { flex: 0 0 auto; }
.avatar-chat-head { gap: 8px; }
.avatar-chat-head > span:first-child { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avatar-chat-head > div { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; }
.avatar-chat-head .av-x { flex: 0 0 auto; padding: 0 2px; }

/* =====================================================================
   Chatbox — modern assistant panel (matches the 3D robot's colours)
   ===================================================================== */
.avatar-chat {
  width: min(420px, 92vw); height: min(620px, calc(100vh - 176px)); max-height: 82vh; border-radius: 20px;
  background: linear-gradient(180deg, rgba(20,32,58,.96), rgba(11,18,36,.98));
  border: 1px solid rgba(120,160,255,.18);
  box-shadow: 0 30px 70px rgba(2,6,16,.6), 0 0 0 1px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.06);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
/* little robot-face glyph */
.mini-face { display: block; width: 100%; height: 100%; }
.mf-screen { fill: #06121f; }
.mf-eye { fill: none; stroke: var(--eye, #46d5e6); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round;
  filter: drop-shadow(0 0 1.6px var(--eye, #46d5e6)); }
/* The cup mascot used as the AI's avatar wherever it appears */
.cup-ava-img { display: block; width: 100%; height: 100%; object-fit: contain; }
/* Command Center "AI Campaign Assistant" header — small cup before the title */
.ai-h3 { display: flex; align-items: center; gap: 9px; }
.ai-h3-ava { flex: 0 0 auto; width: 30px; height: 26px; border-radius: 8px; padding: 2px;
  background: radial-gradient(120% 120% at 50% 30%, rgba(120,160,255,.18), rgba(10,18,40,.85));
  box-shadow: inset 0 0 0 1px rgba(120,160,255,.22); }
#adminView .ai-thread .ai-row.me { margin-left: auto; }
#adminView .ai-thread .ai-empty { display: flex; flex-direction: column; align-items: flex-start; }
#adminView .ai-thread .ai-empty-ava { align-self: center; }

/* header */
.avatar-chat-head { padding: 11px 12px 11px 14px; align-items: center;
  background: linear-gradient(120deg, var(--trim, #2f6bff), #1d2b66 90%);
  border-bottom: 1px solid rgba(255,255,255,.08); }
.ach-id { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1 1 auto; }
.ach-ava { flex: 0 0 auto; width: 44px; height: 38px; border-radius: 11px; padding: 2px;
  background: radial-gradient(120% 120% at 50% 28%, rgba(150,185,255,.22), rgba(8,16,38,.55));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); }
.ach-meta { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.ach-meta strong { color: #fff; font-size: 15px; font-weight: 800; letter-spacing: .01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ach-sub { display: flex; align-items: center; gap: 5px; color: rgba(255,255,255,.78); font-size: 11.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ach-dot { width: 7px; height: 7px; border-radius: 50%; background: #3ce58b; box-shadow: 0 0 6px #3ce58b; flex: 0 0 auto; }
.ach-actions { display: flex; align-items: center; gap: 2px; flex: 0 0 auto; }
.ach-btn { width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: none; cursor: pointer;
  background: rgba(255,255,255,.08); color: #fff; border-radius: 9px; font-size: 14px; transition: background .14s, transform .1s; }
.avatar-chat-head .ach-btn.av-x { background: rgba(255,255,255,.08); color: #fff; font-size: 14px; margin: 0; }
.ach-btn:hover, .avatar-chat-head .ach-btn.av-x:hover { background: rgba(255,255,255,.2); }
.ach-btn:active { transform: scale(.92); }

/* collapsible assistant tools */
.assistant-tools { flex: 0 0 auto; border-bottom: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.025); }
.assistant-tools.is-collapsed {
  display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px;
}
.tools-head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px 0;
  color: rgba(232,238,252,.78); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em;
}
.tools-toggle {
  flex: 0 0 auto; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; background: rgba(255,255,255,.06);
  color: var(--cm-text); padding: 6px 10px; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer;
}
.tools-toggle:hover { background: rgba(70,213,230,.14); border-color: var(--eye, #46d5e6); }
.active-agent {
  min-width: 0; color: rgba(232,238,252,.86); font-size: 12px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* agent selector */
.agent-bar { gap: 6px; padding: 10px 10px 4px; }
.agent-pill { gap: 3px; min-width: 56px; border-radius: 12px; padding: 7px 6px; font-size: 9.5px;
  background: rgba(255,255,255,.045); border-color: rgba(255,255,255,.08); }
.agent-pill > :first-child { font-size: 16px; }
.agent-pill.on { background: linear-gradient(135deg, var(--trim, #2f6bff), #2340a8); box-shadow: 0 6px 16px rgba(47,107,255,.4); }

/* quick briefings */
.quick-bar { gap: 7px; padding: 6px 10px 10px; border-bottom: 0; }
.quick-btn { border-radius: 999px; padding: 7px 12px; font-size: 12px;
  background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.1); }
.quick-btn:hover { background: rgba(70,213,230,.16); border-color: var(--eye, #46d5e6); }

/* message rows with a per-message bot avatar */
.avatar-chat-thread { flex: 1 1 260px; min-height: 190px; padding: 14px 12px; gap: 12px; }
.ai-row { display: flex; align-items: flex-end; gap: 8px; max-width: 92%; }
.ai-row.me { margin-left: auto; justify-content: flex-end; }
.ai-ava { flex: 0 0 auto; width: 32px; height: 30px; border-radius: 9px; padding: 1px; align-self: flex-end;
  background: radial-gradient(120% 120% at 50% 28%, rgba(150,185,255,.22), rgba(8,16,38,.5));
  box-shadow: inset 0 0 0 1px rgba(120,160,255,.22); }
.avatar-chat .ai-msg { max-width: 100%; padding: 10px 13px; border-radius: 16px; font-size: 14px; line-height: 1.5; box-shadow: 0 2px 8px rgba(0,0,0,.22); overflow-wrap: anywhere; word-break: normal; }
.avatar-chat .ai-msg div, .avatar-chat .ai-msg li { overflow-wrap: anywhere; }
.avatar-chat .ai-user { background: linear-gradient(135deg, var(--trim, #2f6bff), #2240a6); border-bottom-right-radius: 5px; }
.avatar-chat .ai-assistant { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-bottom-left-radius: 5px; }
.avatar-chat .ai-assistant strong { color: var(--eye, #6fdcec); }
.avatar-chat .ai-assistant code { background: rgba(120,160,255,.14); }

/* empty / welcome state */
.avatar-chat .ai-empty { display: flex; flex-direction: column; align-items: center; text-align: center; color: var(--cm-text); padding: 14px 8px; }
.ai-empty-ava { display: block; width: 72px; height: 64px; border-radius: 16px; padding: 4px; margin-bottom: 12px;
  background: radial-gradient(120% 120% at 50% 28%, rgba(150,185,255,.22), rgba(8,16,38,.5));
  box-shadow: inset 0 0 0 1px rgba(120,160,255,.25), 0 8px 22px rgba(0,0,0,.35); }
.avatar-chat .ai-empty p { margin: 0 0 4px; font-size: 13.5px; line-height: 1.5; }
.avatar-chat .ai-empty .ai-chips { justify-content: center; }
.avatar-chat .av-chip { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); border-radius: 12px; }
.avatar-chat .av-chip:hover { background: rgba(70,213,230,.16); border-color: var(--eye, #46d5e6); }

/* input row — a clean pill with a round send button */
.avatar-chat-form { padding: 10px 12px 12px; gap: 8px; border-top: 1px solid rgba(255,255,255,.08); background: transparent; }
.avatar-chat-form input { border-radius: 999px; padding: 11px 16px; font-size: 14px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); }
.avatar-chat-form input:focus { outline: none; border-color: var(--eye, #46d5e6); box-shadow: 0 0 0 3px rgba(70,213,230,.18); }
.av-send { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; border: none; cursor: pointer; color: #fff; font-size: 15px;
  background: linear-gradient(135deg, var(--trim, #2f6bff), #2240a6); box-shadow: 0 6px 16px rgba(47,107,255,.4); transition: transform .1s, filter .15s; }
.av-send:hover { filter: brightness(1.1); }
.av-send:active { transform: scale(.92); }
.av-mic { width: 42px; height: 42px; border-radius: 50%; font-size: 16px; }
.av-mic.listening { background: #e23b4e; border-color: #e23b4e; }

/* Scrollbars inside the chat panel — hide the chunky gray bars on the pill rows,
   and make the message thread's bar thin + on-theme so it doesn't stand out. */
/* Agent + quick rows wrap so every agent and briefing is reachable without scrolling */
.agent-bar, .quick-bar { flex-wrap: wrap; overflow: visible; }
.agent-bar .agent-pill { flex: 0 0 auto; }
.quick-bar .quick-btn { flex: 0 0 auto; }
.avatar-chat-thread { scrollbar-width: thin; scrollbar-color: rgba(120,160,255,.28) transparent; }
.avatar-chat-thread::-webkit-scrollbar { width: 6px; height: 6px; }
.avatar-chat-thread::-webkit-scrollbar-track { background: transparent; }
.avatar-chat-thread::-webkit-scrollbar-thumb { background: rgba(120,160,255,.28); border-radius: 999px; }
.avatar-chat-thread::-webkit-scrollbar-thumb:hover { background: rgba(120,160,255,.45); }

/* ---- Tutorials menu inside the assistant ---- */
.tut-list { gap: 6px; }
.tut-item { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left;
  background: var(--cm-panel2); border: 1px solid var(--cm-line); border-radius: 12px; padding: 11px 13px; cursor: pointer;
  color: var(--cm-text); transition: background .12s, border-color .12s, transform .08s; }
.tut-item:hover { background: rgba(91,140,255,.16); border-color: var(--cm-blue); }
.tut-item:active { transform: scale(.99); }
.tut-ic { font-size: 20px; flex: 0 0 auto; width: 26px; text-align: center; }
.tut-meta { display: flex; flex-direction: column; gap: 1px; flex: 1 1 auto; min-width: 0; }
.tut-meta strong { font-size: 14px; }
.tut-go { flex: 0 0 auto; color: var(--cm-blue2); font-size: 12px; }

/* ---- Mii customizer ---- */
.cust-card { max-width: 380px; }
.cust-group { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.cust-group > span { width: 46px; flex: 0 0 auto; color: #8ea0c4; font-weight: 700; font-size: 13px; }
.cust-row { display: flex; gap: 8px; flex-wrap: wrap; }
.cust-sw { width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,.2); cursor: pointer; padding: 0; transition: transform .1s; }
.cust-sw:hover { transform: scale(1.12); }
.cust-sw.on { border-color: #fff; box-shadow: 0 0 0 2px var(--cm-blue, #3b6cff); }
.cust-group { align-items: flex-start; }
.cust-group > span { padding-top: 7px; }
.cust-row.wrap { flex: 1; }
.cust-name { flex: 1; min-width: 0; padding: 8px 11px; border-radius: 9px; border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06); color: var(--cm-text, #e8eefc); font: inherit; font-size: 14px; }
.cust-name:focus { outline: none; border-color: var(--cm-blue, #3b6cff); }
.cust-chip { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); color: var(--cm-text, #e8eefc);
  border-radius: 999px; padding: 6px 11px; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: background .12s, border-color .12s, transform .08s; }
.cust-chip:hover { background: rgba(91,140,255,.18); border-color: var(--cm-blue, #3b6cff); }
.cust-chip:active { transform: scale(.96); }
.cust-chip.on { background: linear-gradient(135deg, var(--cm-blue, #3b6cff), #2a4fd0); color: #fff; border-color: transparent; }

/* ---- External data panels: weather, FEC, news ---- */
.wx-chip { color: var(--cm-blue2); white-space: nowrap; }
.fec-list, .news-list { display: flex; flex-direction: column; gap: 8px; }
.fec-row { display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 9px 11px; background: var(--cm-panel2); border: 1px solid var(--cm-line); border-radius: 10px; }
.fec-main { min-width: 0; }
.fec-nums { display: flex; gap: 14px; flex-wrap: wrap; justify-content: flex-end; font-weight: 700; font-size: 13.5px; }
.fec-nums .muted { font-weight: 600; }
.news-item { display: block; padding: 10px 12px; background: var(--cm-panel2); border: 1px solid var(--cm-line);
  border-radius: 10px; color: var(--cm-text); text-decoration: none; transition: border-color .12s, background .12s; }
.news-item:hover { border-color: var(--cm-blue); background: rgba(91,140,255,.12); }
.news-desc { margin-top: 4px; }

/* ---- Census demographics table ---- */
.demo-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.demo-table th, .demo-table td { text-align: left; padding: 7px 9px; border-bottom: 1px solid var(--cm-line); }
.demo-table th { color: var(--cm-muted); font-weight: 700; }
.demo-table td:not(:first-child), .demo-table th:not(:first-child) { text-align: right; }

/* ---- Address autocomplete (petition form) ---- */
.addr-ac { position: relative; }
.addr-ac-list { position: absolute; z-index: 50; left: 0; right: 0; top: 100%; margin-top: 2px;
  background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.14);
  max-height: 230px; overflow-y: auto; }
.addr-ac-item { padding: 9px 12px; font-size: 14px; cursor: pointer; border-bottom: 1px solid #eef1f6; }
.addr-ac-item:last-child { border-bottom: none; }
.addr-ac-item:hover, .addr-ac-item.active { background: #eef2fb; }
.addr-ac-hint { font-size: 12px; color: var(--muted); padding: 6px 12px; }

/* ---- Signature trend chart (Command Center) ---- */
.trend-badge { float: right; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; }
.trend-badge.up { background: rgba(34,197,94,.16); color: #4ade80; }
.trend-badge.down { background: rgba(255,77,77,.16); color: #ff8a8a; }
.trend-chart { display: flex; align-items: flex-end; gap: 4px; height: 96px; padding: 6px 0; }
.trend-bar { flex: 1; height: 100%; display: flex; align-items: flex-end; }
.trend-fill { display: block; width: 100%; background: linear-gradient(180deg, var(--cm-blue2), var(--cm-blue)); border-radius: 3px 3px 0 0; transition: height .3s; }
.trend-bar:hover .trend-fill { background: #fff; }
.trend-axis { display: flex; justify-content: space-between; font-size: 11px; color: var(--cm-muted); margin-top: 2px; }

/* ---- Event coordinator dashboard ---- */
.ev-form-row { display: flex; gap: 8px; margin-bottom: 8px; }
.ev-form-row > * { flex: 1; min-width: 0; padding: 9px 10px; font-size: 14px; border: 1px solid var(--cm-line); border-radius: 8px; background: rgba(255,255,255,.06); color: var(--cm-text); font-family: inherit; }
.ev-form-row .btn-primary { flex: 0 0 auto; width: auto; padding: 9px 18px; }
.ev-type { display: inline-block; background: rgba(91,140,255,.2); color: var(--cm-blue2); border-radius: 6px; padding: 1px 7px; font-size: 11px; font-weight: 700; vertical-align: middle; }
.cadence { display: flex; align-items: flex-end; gap: 8px; height: 90px; padding: 6px 0; }
.cad-col { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 4px; }
.cad-bar { width: 100%; background: linear-gradient(180deg, var(--cm-blue2), var(--cm-blue)); border-radius: 4px 4px 0 0; min-height: 6px; }
.cad-bar.empty { background: rgba(255,77,77,.35); }
.cad-n { font-size: 11px; color: var(--cm-muted); font-weight: 700; }

/* ---- The Field (opponent comparison) ---- */
.fund-compare { display: flex; flex-direction: column; gap: 7px; }
.fc-row { display: flex; align-items: center; gap: 10px; }
.fc-name { flex: 0 0 200px; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fc-bar { flex: 1; height: 16px; background: rgba(255,255,255,.06); border-radius: 999px; overflow: hidden; }
.fc-bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--cm-blue2), var(--cm-blue)); border-radius: 999px; }
.fc-amt { flex: 0 0 90px; text-align: right; font-weight: 700; font-size: 13px; }
.fc-me .fc-name { color: #fff; font-weight: 700; }
.fc-me .fc-bar span { background: linear-gradient(90deg, #4ade80, #22c55e); }
.opp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.opp-card { background: var(--cm-panel2); border: 1px solid var(--cm-line); border-radius: 12px; padding: 12px; }
.opp-fin { display: flex; gap: 12px; flex-wrap: wrap; margin: 6px 0; font-size: 12.5px; font-weight: 700; color: var(--cm-blue2); }
.opp-card p { margin: 6px 0; line-height: 1.45; }

/* ---- Local events grouped by category ---- */
.loc-cat { margin-top: 6px; }
.loc-cat h4 { margin: 8px 0 4px; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--cm-muted); }
.loc-filter { float: right; font-size: 12px; padding: 3px 8px; border: 1px solid var(--cm-line); border-radius: 8px; background: rgba(255,255,255,.06); color: var(--cm-text); font-family: inherit; }
.compact-hero { margin-bottom: 10px; }
.compact-hero p { margin-bottom: 0; }
.event-browser { margin-top: 12px; }
.event-planning-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1.1fr) minmax(320px, .9fr);
  gap: 12px;
  margin-top: 12px;
}
.event-section-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.event-section-head h3 { margin-bottom: 2px; }
.event-calendar-actions { display: flex; gap: 6px; }
.public-cal-title {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}
.public-cal-title span { color: var(--cm-muted); font-size: 12px; font-weight: 800; }
.public-calendar-card .cal-cell { min-height: 82px; }
.public-calendar-card .cal-chip {
  border: 0;
  width: 100%;
  text-align: left;
  font-family: inherit;
  cursor: pointer;
}
.public-calendar-card .cal-chip:hover { filter: brightness(1.12); }
.cal-chip.local { background: rgba(245,181,10,0.9); color: #172033; }
.public-events-map {
  height: 445px;
  width: 100%;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255,255,255,.04);
}
.event-map-popup {
  display: grid;
  gap: 4px;
  min-width: 190px;
  color: #172033;
  font-size: 12px;
}
.event-map-popup strong { font-size: 13px; }
.event-map-popup span { color: #334155; }
.event-map-popup em { color: #475569; font-style: normal; font-weight: 800; }
.event-map-popup a {
  display: inline-flex;
  justify-content: center;
  margin-top: 4px;
  padding: 6px 8px;
  border-radius: 7px;
  background: #2f63ff;
  color: #fff;
  font-weight: 900;
  text-decoration: none;
}
.event-browser-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.event-browser-head h3 { margin-bottom: 2px; }
.event-browser-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.event-browser-actions .btn-primary {
  width: auto;
  min-height: 36px;
  padding: 8px 12px;
  white-space: nowrap;
}
.event-refresh-status {
  min-height: 18px;
  margin: 0 0 8px;
  color: var(--cm-muted);
  font-size: 12px;
  font-weight: 700;
}
.inline-filter { float: none; min-width: 170px; padding: 7px 10px; }
.event-source-panel {
  margin: 8px 0 12px;
  padding: 10px;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 10px;
  background: rgba(255,255,255,.035);
}
.event-source-head h4 {
  margin: 0 0 3px;
  color: var(--cm-text);
  font-size: 13px;
}
.county-source-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
  gap: 8px;
  margin-top: 8px;
}
.county-source-card {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(148,163,184,.2);
  border-radius: 8px;
  background: rgba(10,20,42,.42);
}
.county-source-card strong { color: #fff; font-size: 14px; }
.county-source-card span {
  display: block;
  margin-top: 2px;
  color: var(--cm-muted);
  font-size: 12px;
}
.county-source-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.county-source-links a {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 8px;
  border: 1px solid rgba(91,140,255,.55);
  border-radius: 7px;
  background: rgba(91,140,255,.12);
  color: #dbe7ff;
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
}
.county-source-links a:hover {
  border-color: rgba(255,255,255,.5);
  background: rgba(91,140,255,.22);
  color: #fff;
}
.event-coverage {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  padding: 8px 0 4px;
  color: var(--cm-muted);
  font-size: 12px;
}
.event-coverage strong {
  color: var(--cm-text);
  margin-right: 2px;
}
.event-utility-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}
.ui-disclosure { margin-top: 12px; padding: 0; overflow: hidden; }
.ui-disclosure summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  cursor: pointer;
  color: var(--cm-text);
  font-weight: 900;
  list-style: none;
}
.ui-disclosure summary::-webkit-details-marker { display: none; }
.ui-disclosure summary::after { content: "+"; color: #dbe7ff; font-size: 18px; line-height: 1; }
.ui-disclosure[open] summary::after { content: "-"; }
.ui-disclosure-body { padding: 0 14px 14px; }
.source-link { display: inline-block; margin-left: 8px; color: #dbe7ff; font-size: 12px; font-weight: 800; text-decoration: none; }
.source-link:hover { color: #fff; text-decoration: underline; }
.verified { margin-top: 4px; color: #bfe7c5; font-weight: 800; }
.event-market-grid { display: grid; gap: 9px; }
.eventbrite-card {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  cursor: pointer;
  transition: border-color .16s ease, transform .16s ease, background .16s ease;
}
.eventbrite-card:hover,
.eventbrite-card:focus-visible {
  border-color: rgba(118,157,255,.65);
  background: linear-gradient(135deg, rgba(76,125,255,.16), rgba(255,255,255,.045));
  transform: translateY(-1px);
  outline: none;
}
.event-date-tile {
  display: grid;
  place-items: center;
  align-self: start;
  min-height: 60px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
  background: rgba(255,255,255,.09);
  color: var(--cm-text);
}
.event-date-tile span { font-size: 10px; font-weight: 900; color: #ffb4b4; }
.event-date-tile strong { font-size: 24px; line-height: 1; }
.eventbrite-main h5 { margin: 3px 0 7px; font-size: 15px; color: var(--cm-text); }
.eventbrite-topline { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; font-size: 11px; font-weight: 900; color: var(--cm-muted); text-transform: uppercase; }
.verified-pill { color: #bfe7c5; }
.event-meta-row {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 8px;
  margin: 3px 0;
  color: var(--cm-muted);
  font-size: 12.5px;
  line-height: 1.35;
}
.event-meta-row strong { color: #dbe7ff; font-size: 11px; text-transform: uppercase; }
.event-meta-row a { color: #dbe7ff; font-weight: 800; text-decoration: none; }
.event-meta-row a:hover { color: #fff; text-decoration: underline; }
.event-tactic {
  margin: 8px 0 0;
  padding: 7px 9px;
  border-left: 3px solid rgba(91,140,255,.75);
  border-radius: 6px;
  background: rgba(91,140,255,.1);
  color: var(--cm-text);
  font-size: 12.5px;
}
.event-card-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 9px; }
.event-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 8px;
  border: 1px solid rgba(91,140,255,.8);
  background: linear-gradient(135deg, #2f63ff, #6d97ff);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}
.event-page-btn:hover { filter: brightness(1.08); }
.local-opps { margin-top: 14px; }
.opp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  margin-top: 10px;
}
.opp-add {
  display: grid;
  gap: 5px;
  text-align: left;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 8px;
  padding: 10px;
  background: rgba(255,255,255,.06);
  color: var(--cm-text);
  cursor: pointer;
  font-family: inherit;
}
.opp-add:hover { border-color: rgba(118,157,255,.55); background: rgba(76,125,255,.13); transform: translateY(-1px); }
.opp-add strong { font-size: 13px; }
.opp-add span { color: var(--cm-muted); font-size: 12px; line-height: 1.35; }
.opp-add em { color: #dbe7ff; font-size: 11px; font-style: normal; font-weight: 800; }

/* ---- Smart field map ---- */
.map-intel-grid {
  display: grid;
  grid-template-columns: minmax(220px, 300px) 1fr;
  gap: 12px;
  margin: 12px 0;
}
.map-controls label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0;
  color: var(--cm-text);
  font-size: 13px;
  font-weight: 800;
}
.map-controls input { accent-color: #5b8cff; }
.mobile-map-toolbar,.mobile-map-sheet-close { display:none; }
.map-focus-actions { display:flex; align-items:center; gap:8px; }
.map-priority { display: grid; gap: 8px; }
.map-focus-row {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 8px;
  padding: 8px 10px;
  background: rgba(255,255,255,.04);
}
.map-focus-row span { color: var(--cm-muted); font-size: 12px; }
.popup-plan {
  margin-top: 6px;
  border: 1px solid #3b6cff;
  border-radius: 6px;
  padding: 5px 8px;
  background: #3b6cff;
  color: #fff;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
@media (max-width: 760px) {
  .eventbrite-card { grid-template-columns: 1fr; }
  .event-date-tile { display: flex; justify-content: flex-start; gap: 8px; min-height: auto; padding: 9px 11px; }
  .event-date-tile strong { font-size: 20px; }
  .event-meta-row { grid-template-columns: 1fr; gap: 2px; }
  .event-browser-head { flex-direction: column; }
  .event-browser-actions { width: 100%; justify-content: stretch; }
  .event-browser-actions .btn-primary { width: 100%; }
  .inline-filter { width: 100%; }
  .event-planning-grid { grid-template-columns: 1fr; }
  .event-section-head { flex-direction: column; }
  .public-events-map { height: 360px; }
  .event-utility-grid { grid-template-columns: 1fr; }
  .map-intel-grid { grid-template-columns: 1fr; }
  .map-focus-row { grid-template-columns: 1fr; align-items: start; }
}

/* Final cohesive blue-glass palette normalization. */
#adminView {
  --cm-blue: #3194ff;
  --cm-blue2: #6edcff;
  --cm-accent: #9be8ff;
  --cm-text: #eef9ff;
  --cm-muted: #a8cbed;
  --cm-line: rgba(139, 218, 255, .34);
  --glass-info: #bae6fd;
  --glass-good: #a5f3fc;
  --glass-warn: #c7d2fe;
  --glass-danger: #fecaca;
  --glass-danger-line: rgba(248, 113, 113, .34);
}

#adminView .badge,
#adminView .vbadge,
#adminView .ev-type,
#adminView .cal-chip,
#adminView .filter-chips span,
#adminView .scan-chip,
#adminView .paper-scan-picker,
#adminView .mail-tag,
#adminView .media-type,
#adminView .trend-badge,
#adminView .pace-ok,
#adminView .pace-behind,
#adminView .alert-info,
#adminView .alert-ok,
#adminView .alert-warn,
#adminView .verified,
#adminView .verified-pill {
  border: 1px solid rgba(126, 213, 255, .38);
  background:
    radial-gradient(90% 150% at 18% 0%, rgba(205, 245, 255, .30), transparent 48%),
    linear-gradient(145deg, rgba(48, 148, 255, .26), rgba(13, 65, 151, .20)),
    rgba(27, 106, 211, .16);
  color: var(--glass-info);
  box-shadow:
    inset 0 1px 0 rgba(226, 251, 255, .42),
    0 8px 18px rgba(0, 31, 86, .14);
  -webkit-backdrop-filter: blur(18px) saturate(180%);
  backdrop-filter: blur(18px) saturate(180%);
}

#adminView .badge.ok,
#adminView .vbadge.conf,
#adminView .pace-ok,
#adminView .alert-ok,
#adminView .trend-badge.up,
#adminView .verified,
#adminView .verified-pill,
#adminView .cal-chip.ev,
#adminView .cal-chip.kd,
#adminView .fc-me .fc-bar span {
  border-color: rgba(103, 232, 249, .42);
  background:
    radial-gradient(90% 140% at 18% 0%, rgba(221, 253, 255, .34), transparent 48%),
    linear-gradient(145deg, rgba(45, 212, 255, .25), rgba(37, 99, 235, .22)),
    rgba(14, 116, 190, .18);
  color: var(--glass-good);
}

#adminView .badge.pend,
#adminView .vbadge.flag,
#adminView .vbadge.unk,
#adminView .pace-behind,
#adminView .alert-warn,
#adminView .cal-chip.tk,
#adminView .cal-chip.local,
#adminView .media-video,
#adminView .event-date-tile span {
  border-color: rgba(165, 180, 252, .38);
  background:
    radial-gradient(90% 140% at 18% 0%, rgba(219, 234, 254, .30), transparent 48%),
    linear-gradient(145deg, rgba(99, 179, 255, .21), rgba(79, 70, 229, .18)),
    rgba(42, 91, 184, .16);
  color: var(--glass-warn);
}

#adminView .badge.bad,
#adminView .trend-badge.down,
#adminView .kpi.kpi-warn,
#adminView .mrow-overdue,
#adminView .cad-bar.empty,
#adminView .media-press {
  border-color: var(--glass-danger-line);
  background:
    radial-gradient(90% 140% at 18% 0%, rgba(255, 255, 255, .20), transparent 48%),
    linear-gradient(145deg, rgba(248, 113, 113, .14), rgba(37, 99, 235, .14)),
    rgba(21, 74, 154, .16);
  color: var(--glass-danger);
}

#adminView .media-logo,
#adminView .media-type,
#adminView .event-page-btn,
#adminView .popup-plan,
#adminView .county-source-links a,
#adminView .opp-add em,
#adminView .source-link,
#adminView .event-meta-row a,
#adminView .event-meta-row strong {
  color: #dff8ff;
}

#adminView .event-page-btn,
#adminView .popup-plan {
  border-color: rgba(153, 233, 255, .70);
  background:
    radial-gradient(90% 150% at 18% 0%, rgba(224, 250, 255, .45), transparent 48%),
    linear-gradient(145deg, rgba(78, 189, 255, .50), rgba(37, 99, 235, .38)),
    rgba(19, 103, 213, .24);
  box-shadow:
    inset 0 1px 0 rgba(236, 253, 255, .55),
    0 0 24px rgba(56, 189, 248, .28);
}

#adminView .dash-fill,
#adminView .progress-fill,
#adminView .bar-fill,
#adminView .day-fill,
#adminView .check-meter span,
#adminView .fc-me .fc-bar span,
#adminView .cad-bar {
  background: linear-gradient(90deg, #eef9ff, #9be8ff 22%, #3194ff 68%, #5b8cff);
  box-shadow: 0 0 18px rgba(110, 220, 255, .50), inset 0 1px 0 rgba(255,255,255,.66);
}

#adminView .live-dot,
#adminView .ach-dot {
  background: #6edcff;
  box-shadow: 0 0 0 3px rgba(110, 220, 255, .16), 0 0 12px rgba(110, 220, 255, .68);
}

#adminView .av-mic.listening {
  border-color: rgba(155, 232, 255, .82);
  background:
    radial-gradient(circle at 35% 20%, rgba(238, 249, 255, .54), transparent 36%),
    linear-gradient(145deg, rgba(78, 189, 255, .58), rgba(37, 99, 235, .46));
  color: #fff;
  animation: micPulse 1s infinite;
}

#adminView .kpi.kpi-warn .kpi-num {
  background: linear-gradient(180deg, #fff7f7, #fecaca 62%, #93e5ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

#adminView .media-del,
#adminView .linklike.danger,
#adminView .void-link {
  color: #fecaca;
}

#adminView .event-date-tile span,
#adminView .media-del:hover,
#adminView .linklike.danger:hover,
#adminView .void-link:hover {
  color: #fff1f2;
}

#adminView .cal-chip {
  text-shadow: 0 1px 10px rgba(49, 148, 255, .35);
}

@keyframes micPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(110, 220, 255, .50); }
  50% { box-shadow: 0 0 0 7px rgba(110, 220, 255, 0); }
}

/* Transparent liquid-glass depth pass: reduce solid fill and make controls float. */
#adminView {
  --glass-clear: rgba(85, 179, 255, .105);
  --glass-clear-strong: rgba(98, 194, 255, .165);
  --glass-edge: rgba(221, 250, 255, .86);
  --glass-edge-soft: rgba(115, 222, 255, .34);
  --glass-shadow: rgba(0, 10, 34, .42);
}

#adminView .cm-shell {
  background:
    radial-gradient(880px 620px at 78% -4%, rgba(47, 159, 255, .36), transparent 58%),
    radial-gradient(760px 520px at 12% 100%, rgba(17, 89, 210, .34), transparent 62%),
    radial-gradient(520px 360px at 54% 38%, rgba(77, 220, 255, .16), transparent 58%),
    linear-gradient(145deg, #03102b 0%, #061d4c 48%, #020b1e 100%);
}

#adminView .cm-card,
#adminView .dash-panel,
#adminView .kpi,
#adminView .stat,
#adminView .mrow,
#adminView .entry,
#adminView .data-filter-panel,
#adminView .filter-summary,
#adminView .mail-shell,
#adminView .mail-toolbox,
#adminView .public-events-map,
#adminView .leaflet-container,
#adminView .avatar-chat,
#adminView .modal-card,
#adminView .ctx-menu {
  border-color: rgba(174, 237, 255, .36);
  background:
    linear-gradient(125deg, rgba(255,255,255,.16), rgba(255,255,255,.045) 28%, rgba(55, 163, 255, .105) 60%, rgba(255,255,255,.035)),
    radial-gradient(120% 95% at 18% 4%, rgba(183, 240, 255, .20), transparent 46%),
    radial-gradient(120% 120% at 100% 100%, rgba(40, 126, 235, .16), transparent 58%),
    rgba(16, 75, 164, .105);
  box-shadow:
    0 22px 54px rgba(0, 8, 32, .34),
    0 8px 20px rgba(0, 102, 255, .10),
    inset 0 1px 0 rgba(246, 253, 255, .52),
    inset 0 -1px 0 rgba(69, 197, 255, .18);
  -webkit-backdrop-filter: blur(34px) saturate(210%) brightness(1.08);
  backdrop-filter: blur(34px) saturate(210%) brightness(1.08);
}

#adminView .btn-primary,
#adminView .btn-ghost,
#adminView .btn-danger,
#adminView .cm-report,
#adminView .entry .entry-action,
#adminView .cal-nav,
#adminView .mail-compose,
#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink,
#adminView .mail-folders button,
#adminView .mail-filter-row button,
#adminView .agent-pill,
#adminView .quick-btn,
#adminView .av-chip,
#adminView .field-toggle-row label,
#adminView .filter-chips span,
#adminView .badge,
#adminView .vbadge,
#adminView .ev-type,
#adminView .mail-icon-btn,
#adminView .mail-list-delete,
#adminView .paper-scan-picker,
#adminView .scan-chip,
#adminView .event-page-btn,
#adminView .popup-plan {
  position: relative;
  overflow: hidden;
  border-color: rgba(204, 246, 255, .62);
  background:
    linear-gradient(130deg, rgba(255,255,255,.24), rgba(255,255,255,.06) 27%, rgba(84, 187, 255, .145) 58%, rgba(255,255,255,.045)),
    radial-gradient(110% 150% at 18% 0%, rgba(238, 253, 255, .32), transparent 42%),
    radial-gradient(90% 140% at 100% 100%, rgba(47, 155, 255, .18), transparent 62%),
    var(--glass-clear);
  box-shadow:
    0 18px 34px var(--glass-shadow),
    0 4px 10px rgba(80, 200, 255, .16),
    inset 0 1px 0 rgba(255,255,255,.74),
    inset 1px 0 0 rgba(255,255,255,.22),
    inset -1px 0 0 rgba(73, 205, 255, .18),
    inset 0 -12px 26px rgba(0, 92, 255, .10);
  -webkit-backdrop-filter: blur(30px) saturate(230%) brightness(1.10);
  backdrop-filter: blur(30px) saturate(230%) brightness(1.10);
  text-shadow: 0 1px 14px rgba(210, 248, 255, .38);
}

#adminView .btn-primary::before,
#adminView .btn-ghost::before,
#adminView .btn-danger::before,
#adminView .cm-report::before,
#adminView .entry .entry-action::before,
#adminView .cal-nav::before,
#adminView .mail-compose::before,
#adminView .cm-nav .tab-btn::after,
#adminView .mail-folders button::before,
#adminView .mail-filter-row button::before,
#adminView .agent-pill::before,
#adminView .quick-btn::before,
#adminView .av-chip::before,
#adminView .field-toggle-row label::before,
#adminView .filter-chips span::before,
#adminView .badge::before,
#adminView .vbadge::before,
#adminView .ev-type::before,
#adminView .mail-icon-btn::before,
#adminView .paper-scan-picker::before,
#adminView .scan-chip::before,
#adminView .event-page-btn::before,
#adminView .popup-plan::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.46), rgba(255,255,255,.07) 34%, transparent 56%),
    radial-gradient(70% 140% at 6% 0%, rgba(255,255,255,.54), transparent 38%),
    radial-gradient(55% 130% at 100% 100%, rgba(61, 209, 255, .24), transparent 58%);
  opacity: .74;
  mix-blend-mode: screen;
}

#adminView .btn-primary:hover,
#adminView .btn-primary:focus-visible,
#adminView .btn-ghost:hover,
#adminView .btn-ghost:focus-visible,
#adminView .cm-report:hover,
#adminView .cm-report:focus-visible,
#adminView .entry .entry-action:hover,
#adminView .entry .entry-action:focus-visible,
#adminView .cal-nav:hover,
#adminView .cal-nav:focus-visible,
#adminView .mail-compose:hover,
#adminView .mail-compose:focus-visible,
#adminView .cm-nav .tab-btn:hover,
#adminView .cm-nav .tab-btn:focus-visible,
#adminView .field-toggle-row label:hover,
#adminView .agent-pill:hover,
#adminView .agent-pill:focus-visible,
#adminView .quick-btn:hover,
#adminView .quick-btn:focus-visible,
#adminView .av-chip:hover,
#adminView .av-chip:focus-visible,
#adminView .mail-icon-btn:hover,
#adminView .mail-icon-btn:focus-visible,
#adminView .event-page-btn:hover,
#adminView .popup-plan:hover {
  border-color: var(--glass-edge);
  background:
    linear-gradient(130deg, rgba(255,255,255,.34), rgba(255,255,255,.08) 27%, rgba(102, 204, 255, .19) 58%, rgba(255,255,255,.06)),
    radial-gradient(110% 150% at 18% 0%, rgba(255,255,255,.42), transparent 42%),
    radial-gradient(90% 140% at 100% 100%, rgba(47, 155, 255, .24), transparent 62%),
    var(--glass-clear-strong);
  box-shadow:
    0 22px 42px rgba(0, 8, 32, .48),
    0 0 0 1px rgba(220, 250, 255, .20),
    0 0 30px rgba(91, 214, 255, .34),
    inset 0 1px 0 rgba(255,255,255,.86),
    inset 0 -16px 32px rgba(0, 142, 255, .13);
}

#adminView .btn-primary:active,
#adminView .btn-ghost:active,
#adminView .cm-report:active,
#adminView .entry .entry-action:active,
#adminView .cal-nav:active,
#adminView .mail-compose:active,
#adminView .cm-nav .tab-btn:active,
#adminView .agent-pill:active,
#adminView .quick-btn:active,
#adminView .av-chip:active,
#adminView .mail-icon-btn:active {
  transform: translateY(1px) scale(.99);
  background:
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(54, 163, 255, .13)),
    rgba(28, 118, 224, .13);
  box-shadow:
    0 8px 18px rgba(0, 8, 32, .36),
    inset 0 2px 14px rgba(0, 39, 115, .30),
    inset 0 1px 0 rgba(255,255,255,.42);
}

#adminView input,
#adminView select,
#adminView textarea,
#adminView .module-form input,
#adminView .module-form select,
#adminView .list-controls input,
#adminView .list-controls select,
#adminView .data-filter-controls input,
#adminView .data-filter-controls select,
#adminView .task-status,
#adminView .avatar-chat-form input,
#adminView .mail-search input,
#adminView .email-recipient-picker {
  border-color: rgba(204, 246, 255, .44);
  background:
    linear-gradient(130deg, rgba(255,255,255,.16), rgba(255,255,255,.045) 32%, rgba(72, 174, 255, .10)),
    rgba(26, 103, 210, .095);
  box-shadow:
    0 12px 24px rgba(0, 8, 32, .22),
    inset 0 1px 0 rgba(255,255,255,.46),
    inset 0 -1px 0 rgba(67, 205, 255, .16);
  -webkit-backdrop-filter: blur(28px) saturate(220%) brightness(1.08);
  backdrop-filter: blur(28px) saturate(220%) brightness(1.08);
}

#adminView input:hover,
#adminView select:hover,
#adminView textarea:hover,
#adminView .email-recipient-picker:hover,
#adminView input:focus,
#adminView select:focus,
#adminView textarea:focus,
#adminView .email-recipient-picker:focus {
  border-color: rgba(235, 253, 255, .82);
  background:
    linear-gradient(130deg, rgba(255,255,255,.24), rgba(255,255,255,.065) 32%, rgba(92, 198, 255, .14)),
    rgba(28, 118, 224, .13);
  box-shadow:
    0 16px 30px rgba(0, 8, 32, .28),
    0 0 0 3px rgba(103, 232, 249, .14),
    inset 0 1px 0 rgba(255,255,255,.62),
    inset 0 -1px 0 rgba(67, 205, 255, .22);
}

/* Projected data and hard glass rims: make content feel lit onto the pane. */
#adminView {
  --projection-text: #f4fdff;
  --projection-soft: rgba(168, 235, 255, .56);
  --projection-strong: rgba(235, 253, 255, .86);
  --rim-blue: rgba(67, 199, 255, .72);
}

#adminView .cm-card,
#adminView .dash-panel,
#adminView .kpi,
#adminView .stat,
#adminView .mrow,
#adminView .entry,
#adminView .data-filter-panel,
#adminView .filter-summary,
#adminView .mail-shell,
#adminView .mail-toolbox,
#adminView .public-events-map,
#adminView .avatar-chat,
#adminView .modal-card,
#adminView .ctx-menu {
  border-width: 1px;
  border-style: solid;
  border-color: rgba(226, 250, 255, .44);
  box-shadow:
    0 24px 60px rgba(0, 8, 32, .40),
    0 2px 0 rgba(255,255,255,.08),
    0 0 0 1px rgba(60, 198, 255, .10),
    0 0 34px rgba(49, 148, 255, .13),
    inset 0 1px 0 rgba(255,255,255,.68),
    inset 1px 0 0 rgba(255,255,255,.24),
    inset -1px 0 0 rgba(69, 197, 255, .20),
    inset 0 -1px 0 rgba(69, 197, 255, .30);
}

#adminView .cm-card::after,
#adminView .dash-panel::after,
#adminView .kpi::after,
#adminView .stat::after,
#adminView .mrow::after,
#adminView .entry::after,
#adminView .data-filter-panel::after,
#adminView .filter-summary::after,
#adminView .mail-shell::after,
#adminView .mail-toolbox::after,
#adminView .avatar-chat::after,
#adminView .modal-card::after,
#adminView .ctx-menu::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0 7%, rgba(242, 253, 255, .62) 10%, transparent 14% 82%, rgba(113, 222, 255, .30) 88%, transparent 94%),
    linear-gradient(180deg, rgba(255,255,255,.50), transparent 11% 84%, rgba(55, 196, 255, .28)),
    radial-gradient(16px 16px at 16px 14px, rgba(255,255,255,.82), transparent 62%),
    radial-gradient(18px 18px at calc(100% - 14px) 12px, rgba(116, 222, 255,.62), transparent 68%),
    radial-gradient(18px 18px at calc(100% - 12px) calc(100% - 12px), rgba(67, 199, 255,.40), transparent 68%);
  opacity: .58;
  mix-blend-mode: screen;
}

#adminView .btn-primary,
#adminView .btn-ghost,
#adminView .btn-danger,
#adminView .cm-report,
#adminView .entry .entry-action,
#adminView .cal-nav,
#adminView .mail-compose,
#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink,
#adminView .mail-folders button,
#adminView .mail-filter-row button,
#adminView .agent-pill,
#adminView .quick-btn,
#adminView .av-chip,
#adminView .field-toggle-row label,
#adminView .filter-chips span,
#adminView .badge,
#adminView .vbadge,
#adminView .ev-type,
#adminView .mail-icon-btn,
#adminView .paper-scan-picker,
#adminView .scan-chip,
#adminView .event-page-btn,
#adminView .popup-plan {
  border-color: rgba(235, 253, 255, .78);
  color: var(--projection-text);
  text-shadow:
    0 0 1px rgba(255,255,255,.90),
    0 0 10px rgba(111, 220, 255, .45),
    0 1px 18px rgba(43, 145, 255, .38);
  box-shadow:
    0 20px 36px rgba(0, 8, 32, .46),
    0 0 0 1px rgba(169, 235, 255, .18),
    0 0 18px rgba(77, 211, 255, .16),
    inset 0 1px 0 rgba(255,255,255,.88),
    inset 0 0 0 1px rgba(135, 225, 255, .16),
    inset 0 -1px 0 rgba(43, 201, 255, .45),
    inset 0 -18px 36px rgba(0, 132, 255, .095);
}

#adminView .btn-primary::after,
#adminView .btn-ghost::after,
#adminView .btn-danger::after,
#adminView .cm-report::after,
#adminView .entry .entry-action::after,
#adminView .cal-nav::after,
#adminView .mail-compose::after,
#adminView .mail-folders button::after,
#adminView .mail-filter-row button::after,
#adminView .agent-pill::after,
#adminView .quick-btn::after,
#adminView .av-chip::after,
#adminView .field-toggle-row label::after,
#adminView .filter-chips span::after,
#adminView .badge::after,
#adminView .vbadge::after,
#adminView .ev-type::after,
#adminView .mail-icon-btn::after,
#adminView .paper-scan-picker::after,
#adminView .scan-chip::after,
#adminView .event-page-btn::after,
#adminView .popup-plan::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0 8%, rgba(255,255,255,.90) 12%, transparent 17% 82%, rgba(95, 218, 255,.46) 88%, transparent 94%),
    linear-gradient(180deg, rgba(255,255,255,.62), transparent 36% 72%, rgba(45, 199, 255,.32)),
    radial-gradient(12px 12px at 12px 10px, rgba(255,255,255,.92), transparent 64%),
    radial-gradient(15px 15px at calc(100% - 12px) 10px, rgba(122, 225, 255,.68), transparent 68%),
    radial-gradient(18px 10px at 50% 100%, rgba(74, 210, 255,.34), transparent 72%);
  opacity: .72;
  mix-blend-mode: screen;
}

#adminView .btn-primary:hover,
#adminView .btn-primary:focus-visible,
#adminView .btn-ghost:hover,
#adminView .btn-ghost:focus-visible,
#adminView .cm-report:hover,
#adminView .cm-report:focus-visible,
#adminView .entry .entry-action:hover,
#adminView .entry .entry-action:focus-visible,
#adminView .cal-nav:hover,
#adminView .cal-nav:focus-visible,
#adminView .mail-compose:hover,
#adminView .mail-compose:focus-visible,
#adminView .cm-nav .tab-btn:hover,
#adminView .cm-nav .tab-btn:focus-visible,
#adminView .field-toggle-row label:hover,
#adminView .agent-pill:hover,
#adminView .agent-pill:focus-visible,
#adminView .quick-btn:hover,
#adminView .quick-btn:focus-visible,
#adminView .av-chip:hover,
#adminView .av-chip:focus-visible,
#adminView .mail-icon-btn:hover,
#adminView .mail-icon-btn:focus-visible,
#adminView .event-page-btn:hover,
#adminView .popup-plan:hover {
  border-color: rgba(255,255,255,.96);
  filter: saturate(1.12) brightness(1.08);
  box-shadow:
    0 24px 44px rgba(0, 8, 32, .52),
    0 0 0 1px rgba(240, 253, 255, .32),
    0 0 28px rgba(99, 220, 255, .36),
    inset 0 1px 0 rgba(255,255,255,.98),
    inset 0 0 0 1px rgba(173, 235, 255, .26),
    inset 0 -1px 0 rgba(79, 215, 255, .62),
    inset 0 -18px 36px rgba(0, 132, 255, .13);
}

#adminView h2,
#adminView h3,
#adminView h4,
#adminView .module-head,
#adminView .cm-crumb,
#adminView .kpi-num,
#adminView .stat-num,
#adminView .cr-n,
#adminView .heat-n,
#adminView .eventbrite-main h5,
#adminView .entry strong,
#adminView .mrow strong,
#adminView .feed-main strong,
#adminView .tl-main strong {
  color: var(--projection-text);
  text-shadow:
    0 0 2px rgba(255,255,255,.80),
    0 0 12px rgba(116, 222, 255, .42),
    0 0 28px rgba(49, 148, 255, .28);
}

#adminView .muted,
#adminView .kpi-lbl,
#adminView .stat-lbl,
#adminView .feed-main,
#adminView .tl-main,
#adminView .event-meta-row,
#adminView .eventbrite-topline,
#adminView .county-source-card span,
#adminView .opp-add span,
#adminView .module-note {
  text-shadow:
    0 0 1px rgba(238, 249, 255, .36),
    0 0 10px rgba(111, 220, 255, .18);
}

#adminView .dash-fill,
#adminView .progress-fill,
#adminView .bar-fill,
#adminView .day-fill,
#adminView .check-meter span,
#adminView .cad-bar {
  background: linear-gradient(90deg, rgba(255,255,255,.95), rgba(160, 238, 255,.92) 28%, rgba(49, 148, 255,.90) 74%, rgba(117, 171, 255,.86));
  box-shadow:
    0 0 16px rgba(118, 226, 255, .64),
    0 0 30px rgba(49, 148, 255, .28),
    inset 0 1px 0 rgba(255,255,255,.92);
}

/* Liquid Glass calibration: controls are glass, content stays readable behind it. */
#adminView {
  --liquid-bg: rgba(255, 255, 255, .105);
  --liquid-bg-hover: rgba(255, 255, 255, .165);
  --liquid-border: rgba(255, 255, 255, .24);
  --liquid-border-strong: rgba(244, 253, 255, .48);
  --liquid-top: rgba(255, 255, 255, .34);
  --liquid-bottom: rgba(255, 255, 255, .07);
  --liquid-blue: rgba(76, 180, 255, .18);
  --liquid-shadow: rgba(0, 0, 0, .34);
}

#adminView .cm-shell {
  background:
    radial-gradient(1100px 720px at 12% 8%, rgba(49, 148, 255, .28), transparent 60%),
    radial-gradient(980px 680px at 88% 24%, rgba(111, 220, 255, .16), transparent 58%),
    radial-gradient(880px 620px at 44% 96%, rgba(39, 84, 202, .30), transparent 62%),
    linear-gradient(145deg, #04122d 0%, #071f4b 48%, #020914 100%);
}

#adminView .cm-card,
#adminView .dash-panel,
#adminView .kpi,
#adminView .stat,
#adminView .mrow,
#adminView .entry,
#adminView .data-filter-panel,
#adminView .filter-summary,
#adminView .mail-shell,
#adminView .mail-toolbox,
#adminView .public-events-map,
#adminView .leaflet-container {
  border-color: rgba(255, 255, 255, .13);
  background:
    linear-gradient(145deg, rgba(12, 36, 83, .66), rgba(8, 26, 62, .50)),
    rgba(7, 23, 56, .55);
  box-shadow:
    0 18px 48px rgba(0, 0, 0, .30),
    inset 0 1px 0 rgba(255, 255, 255, .12);
  -webkit-backdrop-filter: blur(10px) saturate(130%);
  backdrop-filter: blur(10px) saturate(130%);
}

#adminView .cm-card::before,
#adminView .cm-card::after,
#adminView .dash-panel::before,
#adminView .dash-panel::after,
#adminView .kpi::before,
#adminView .kpi::after,
#adminView .stat::before,
#adminView .stat::after,
#adminView .mrow::after,
#adminView .entry::after,
#adminView .data-filter-panel::after,
#adminView .filter-summary::after,
#adminView .mail-shell::after,
#adminView .mail-toolbox::after {
  opacity: .18;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), transparent 32%),
    radial-gradient(420px 130px at 20% 0%, rgba(145, 226, 255, .12), transparent 68%);
}

#adminView .cm-sidebar,
#adminView .cm-topbar,
#adminView .avatar-chat,
#adminView .modal-card,
#adminView .ctx-menu {
  border: 1px solid var(--liquid-border);
  background:
    linear-gradient(135deg, rgba(255,255,255,.17), rgba(255,255,255,.055)),
    radial-gradient(120% 120% at 20% 0%, rgba(255,255,255,.16), transparent 40%),
    rgba(18, 74, 156, .20);
  box-shadow:
    0 30px 80px rgba(0, 0, 0, .35),
    inset 0 1px 0 var(--liquid-top),
    inset 0 -1px 0 var(--liquid-bottom);
  -webkit-backdrop-filter: blur(28px) saturate(170%);
  backdrop-filter: blur(28px) saturate(170%);
}

#adminView .btn-primary,
#adminView .btn-ghost,
#adminView .btn-danger,
#adminView .cm-report,
#adminView .entry .entry-action,
#adminView .cal-nav,
#adminView .mail-compose,
#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink,
#adminView .mail-folders button,
#adminView .mail-filter-row button,
#adminView .agent-pill,
#adminView .quick-btn,
#adminView .av-chip,
#adminView .field-toggle-row label,
#adminView .filter-chips span,
#adminView .badge,
#adminView .vbadge,
#adminView .ev-type,
#adminView .mail-icon-btn,
#adminView .mail-list-delete,
#adminView .paper-scan-picker,
#adminView .scan-chip,
#adminView .event-page-btn,
#adminView .popup-plan,
#adminView input,
#adminView select,
#adminView textarea,
#adminView .module-form input,
#adminView .module-form select,
#adminView .list-controls input,
#adminView .list-controls select,
#adminView .data-filter-controls input,
#adminView .data-filter-controls select,
#adminView .task-status,
#adminView .avatar-chat-form input,
#adminView .mail-search input,
#adminView .email-recipient-picker {
  border: 1px solid var(--liquid-border);
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.055)),
    radial-gradient(120% 140% at 22% 0%, rgba(255,255,255,.18), transparent 42%),
    radial-gradient(90% 130% at 100% 100%, var(--liquid-blue), transparent 62%),
    var(--liquid-bg);
  color: rgba(255,255,255,.94);
  box-shadow:
    0 14px 28px rgba(0, 0, 0, .25),
    inset 0 1px 0 var(--liquid-top),
    inset 0 -1px 0 var(--liquid-bottom);
  -webkit-backdrop-filter: blur(18px) saturate(165%);
  backdrop-filter: blur(18px) saturate(165%);
  text-shadow: none;
}

#adminView .btn-primary::before,
#adminView .btn-ghost::before,
#adminView .btn-danger::before,
#adminView .cm-report::before,
#adminView .entry .entry-action::before,
#adminView .cal-nav::before,
#adminView .mail-compose::before,
#adminView .mail-folders button::before,
#adminView .mail-filter-row button::before,
#adminView .agent-pill::before,
#adminView .quick-btn::before,
#adminView .av-chip::before,
#adminView .field-toggle-row label::before,
#adminView .filter-chips span::before,
#adminView .badge::before,
#adminView .vbadge::before,
#adminView .ev-type::before,
#adminView .mail-icon-btn::before,
#adminView .paper-scan-picker::before,
#adminView .scan-chip::before,
#adminView .event-page-btn::before,
#adminView .popup-plan::before {
  opacity: .62;
  background:
    radial-gradient(circle at 26% 0%, rgba(255,255,255,.34), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.22), transparent 42%);
  mix-blend-mode: screen;
}

#adminView .btn-primary::after,
#adminView .btn-ghost::after,
#adminView .btn-danger::after,
#adminView .cm-report::after,
#adminView .entry .entry-action::after,
#adminView .cal-nav::after,
#adminView .mail-compose::after,
#adminView .mail-folders button::after,
#adminView .mail-filter-row button::after,
#adminView .agent-pill::after,
#adminView .quick-btn::after,
#adminView .av-chip::after,
#adminView .field-toggle-row label::after,
#adminView .filter-chips span::after,
#adminView .badge::after,
#adminView .vbadge::after,
#adminView .ev-type::after,
#adminView .mail-icon-btn::after,
#adminView .paper-scan-picker::after,
#adminView .scan-chip::after,
#adminView .event-page-btn::after,
#adminView .popup-plan::after {
  opacity: .32;
  background:
    linear-gradient(180deg, rgba(255,255,255,.30), transparent 36% 78%, rgba(107, 213, 255, .18)),
    radial-gradient(10px 8px at 16px 8px, rgba(255,255,255,.55), transparent 70%),
    radial-gradient(12px 9px at calc(100% - 14px) 8px, rgba(157, 233, 255,.42), transparent 72%);
  mix-blend-mode: screen;
}

#adminView .btn-primary,
#adminView .cm-report,
#adminView .mail-compose,
#adminView .cm-nav .tab-btn[aria-selected="true"],
#adminView .mail-filter-row button.on,
#adminView .agent-pill.on,
#adminView .av-send {
  background:
    linear-gradient(135deg, rgba(255,255,255,.25), rgba(255,255,255,.075)),
    radial-gradient(120% 140% at 22% 0%, rgba(255,255,255,.22), transparent 42%),
    radial-gradient(90% 130% at 100% 100%, rgba(83, 196, 255, .28), transparent 62%),
    rgba(80, 170, 255, .16);
  border-color: rgba(255,255,255,.34);
}

#adminView .btn-primary:hover,
#adminView .btn-primary:focus-visible,
#adminView .btn-ghost:hover,
#adminView .btn-ghost:focus-visible,
#adminView .cm-report:hover,
#adminView .cm-report:focus-visible,
#adminView .entry .entry-action:hover,
#adminView .entry .entry-action:focus-visible,
#adminView .cal-nav:hover,
#adminView .cal-nav:focus-visible,
#adminView .mail-compose:hover,
#adminView .mail-compose:focus-visible,
#adminView .cm-nav .tab-btn:hover,
#adminView .cm-nav .tab-btn:focus-visible,
#adminView .field-toggle-row label:hover,
#adminView .agent-pill:hover,
#adminView .agent-pill:focus-visible,
#adminView .quick-btn:hover,
#adminView .quick-btn:focus-visible,
#adminView .av-chip:hover,
#adminView .av-chip:focus-visible,
#adminView .mail-icon-btn:hover,
#adminView .mail-icon-btn:focus-visible,
#adminView .event-page-btn:hover,
#adminView .popup-plan:hover {
  transform: translateY(-2px);
  border-color: var(--liquid-border-strong);
  background:
    linear-gradient(135deg, rgba(255,255,255,.25), rgba(255,255,255,.08)),
    radial-gradient(120% 140% at 22% 0%, rgba(255,255,255,.26), transparent 42%),
    radial-gradient(90% 130% at 100% 100%, rgba(88, 200, 255, .23), transparent 62%),
    var(--liquid-bg-hover);
  box-shadow:
    0 20px 40px rgba(0, 0, 0, .32),
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(255,255,255,.08);
  filter: none;
}

#adminView .btn-primary:active,
#adminView .btn-ghost:active,
#adminView .cm-report:active,
#adminView .entry .entry-action:active,
#adminView .cal-nav:active,
#adminView .mail-compose:active,
#adminView .cm-nav .tab-btn:active,
#adminView .agent-pill:active,
#adminView .quick-btn:active,
#adminView .av-chip:active,
#adminView .mail-icon-btn:active {
  transform: scale(.97);
  box-shadow:
    0 8px 18px rgba(0, 0, 0, .24),
    inset 0 2px 12px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.24);
}

#adminView h2,
#adminView h3,
#adminView h4,
#adminView .module-head,
#adminView .cm-crumb,
#adminView .kpi-num,
#adminView .stat-num,
#adminView .cr-n,
#adminView .heat-n,
#adminView .eventbrite-main h5,
#adminView .entry strong,
#adminView .mrow strong,
#adminView .feed-main strong,
#adminView .tl-main strong {
  color: rgba(255,255,255,.96);
  text-shadow: 0 1px 18px rgba(65, 168, 255, .14);
}

#adminView .muted,
#adminView .kpi-lbl,
#adminView .stat-lbl,
#adminView .feed-main,
#adminView .tl-main,
#adminView .event-meta-row,
#adminView .eventbrite-topline,
#adminView .county-source-card span,
#adminView .opp-add span,
#adminView .module-note {
  color: rgba(210, 232, 255, .72);
  text-shadow: none;
}

/* Real black glass pass: blue background, smoked translucent glass, cyan glow as accent only. */
#adminView {
  --page-blue-1: #06172e;
  --page-blue-2: #0a2a55;
  --page-blue-3: #123d73;
  --glass-black: rgba(4, 8, 18, .58);
  --glass-black-soft: rgba(8, 14, 28, .42);
  --glass-black-strong: rgba(2, 5, 12, .72);
  --glass-border: rgba(255, 255, 255, .22);
  --glass-border-bright: rgba(255, 255, 255, .48);
  --text-main: rgba(255, 255, 255, .94);
  --text-muted: rgba(255, 255, 255, .58);
  --blue-glow: rgba(80, 170, 255, .28);
  --radius-lg: 26px;
  --radius-md: 18px;
  --radius-pill: 999px;
}

#adminView .cm-shell {
  color: var(--text-main);
  background:
    radial-gradient(circle at 18% 12%, rgba(75, 160, 255, .35), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(25, 95, 190, .32), transparent 26%),
    radial-gradient(circle at 70% 85%, rgba(0, 210, 255, .14), transparent 32%),
    linear-gradient(145deg, var(--page-blue-1), var(--page-blue-2) 48%, var(--page-blue-3));
}

#adminView .cm-card,
#adminView .dash-panel,
#adminView .kpi,
#adminView .stat,
#adminView .mrow,
#adminView .entry,
#adminView .data-filter-panel,
#adminView .filter-summary,
#adminView .mail-shell,
#adminView .mail-toolbox,
#adminView .public-events-map,
#adminView .leaflet-container,
#adminView .avatar-chat,
#adminView .modal-card,
#adminView .ctx-menu,
#adminView .eventbrite-card,
#adminView .county-source-card,
#adminView .opp-add,
#adminView .map-focus-row {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025) 38%, rgba(0, 0, 0, .30) 68%, rgba(255, 255, 255, .045)),
    rgba(4, 8, 18, .58);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .26),
    inset 0 -1px 0 rgba(255, 255, 255, .06),
    0 18px 50px rgba(0, 0, 0, .34),
    0 0 34px rgba(50, 140, 255, .08);
  -webkit-backdrop-filter: blur(22px) saturate(125%);
  backdrop-filter: blur(22px) saturate(125%);
}

#adminView .cm-card::before,
#adminView .dash-panel::before,
#adminView .kpi::before,
#adminView .stat::before,
#adminView .mrow::before,
#adminView .entry::before,
#adminView .data-filter-panel::before,
#adminView .filter-summary::before,
#adminView .mail-shell::before,
#adminView .mail-toolbox::before,
#adminView .public-events-map::before,
#adminView .avatar-chat::before,
#adminView .modal-card::before,
#adminView .ctx-menu::before,
#adminView .eventbrite-card::before,
#adminView .county-source-card::before,
#adminView .opp-add::before,
#adminView .map-focus-row::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    radial-gradient(180px 18px at 50% 0%, rgba(255, 255, 255, .80), transparent 72%),
    radial-gradient(140px 14px at 50% 100%, rgba(255, 255, 255, .48), transparent 72%),
    radial-gradient(16px 150px at 0% 48%, rgba(255, 255, 255, .34), transparent 72%),
    radial-gradient(16px 150px at 100% 52%, rgba(255, 255, 255, .26), transparent 72%);
  opacity: .58;
  mix-blend-mode: screen;
}

#adminView .cm-card::after,
#adminView .dash-panel::after,
#adminView .kpi::after,
#adminView .stat::after,
#adminView .mrow::after,
#adminView .entry::after,
#adminView .data-filter-panel::after,
#adminView .filter-summary::after,
#adminView .mail-shell::after,
#adminView .mail-toolbox::after,
#adminView .public-events-map::after,
#adminView .avatar-chat::after,
#adminView .modal-card::after,
#adminView .ctx-menu::after,
#adminView .eventbrite-card::after,
#adminView .county-source-card::after,
#adminView .opp-add::after,
#adminView .map-focus-row::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(150deg, transparent 0%, transparent 42%, rgba(255, 255, 255, .075) 43%, rgba(255, 255, 255, .025) 59%, transparent 60%, transparent 100%);
  opacity: .72;
  mix-blend-mode: screen;
}

#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink,
#adminView .nav-group-label,
#adminView .mail-folders button,
#adminView .mail-filter-row button,
#adminView .agent-pill,
#adminView .quick-btn,
#adminView .av-chip,
#adminView .field-toggle-row label,
#adminView .filter-chips span,
#adminView .badge,
#adminView .vbadge,
#adminView .ev-type,
#adminView .mail-icon-btn,
#adminView .mail-list-delete,
#adminView .paper-scan-picker,
#adminView .scan-chip,
#adminView .event-page-btn,
#adminView .popup-plan,
#adminView .btn-primary,
#adminView .btn-ghost,
#adminView .btn-danger,
#adminView .cm-report,
#adminView .entry .entry-action,
#adminView .cal-nav,
#adminView .mail-compose {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255, 255, 255, .13);
  color: rgba(255, 255, 255, .78);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025)),
    rgba(3, 8, 18, .46);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .18),
    0 8px 22px rgba(0, 0, 0, .24);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
  backdrop-filter: blur(18px) saturate(120%);
  text-shadow: none;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

#adminView .btn-primary,
#adminView .cm-report,
#adminView .mail-compose,
#adminView .cm-nav .tab-btn[aria-selected="true"],
#adminView .mail-filter-row button.on,
#adminView .agent-pill.on,
#adminView .av-send {
  color: #fff;
  border-color: rgba(160, 215, 255, .48);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .045)),
    rgba(4, 10, 22, .68);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .30),
    inset 0 -1px 0 rgba(255, 255, 255, .06),
    0 0 24px rgba(80, 170, 255, .22),
    0 14px 34px rgba(0, 0, 0, .34);
}

#adminView .cm-nav .tab-btn:hover,
#adminView .cm-sidelink:hover,
#adminView .mail-folders button:hover,
#adminView .mail-filter-row button:hover,
#adminView .agent-pill:hover,
#adminView .quick-btn:hover,
#adminView .av-chip:hover,
#adminView .field-toggle-row label:hover,
#adminView .filter-chips span:hover,
#adminView .badge:hover,
#adminView .vbadge:hover,
#adminView .ev-type:hover,
#adminView .mail-icon-btn:hover,
#adminView .paper-scan-picker:hover,
#adminView .scan-chip:hover,
#adminView .event-page-btn:hover,
#adminView .popup-plan:hover,
#adminView .btn-primary:hover,
#adminView .btn-ghost:hover,
#adminView .btn-danger:hover,
#adminView .cm-report:hover,
#adminView .entry .entry-action:hover,
#adminView .cal-nav:hover,
#adminView .mail-compose:hover {
  transform: translateY(-1px);
  color: #fff;
  border-color: rgba(210, 240, 255, .56);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .035)),
    rgba(5, 12, 25, .56);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .38),
    0 0 28px rgba(80, 170, 255, .28),
    0 16px 34px rgba(0, 0, 0, .34);
  filter: none;
}

#adminView .cm-nav .tab-btn:active,
#adminView .mail-folders button:active,
#adminView .mail-filter-row button:active,
#adminView .agent-pill:active,
#adminView .quick-btn:active,
#adminView .av-chip:active,
#adminView .mail-icon-btn:active,
#adminView .btn-primary:active,
#adminView .btn-ghost:active,
#adminView .btn-danger:active,
#adminView .cm-report:active,
#adminView .entry .entry-action:active,
#adminView .cal-nav:active,
#adminView .mail-compose:active {
  transform: scale(.97);
}

#adminView input,
#adminView select,
#adminView textarea,
#adminView .module-form input,
#adminView .module-form select,
#adminView .list-controls input,
#adminView .list-controls select,
#adminView .data-filter-controls input,
#adminView .data-filter-controls select,
#adminView .task-status,
#adminView .avatar-chat-form input,
#adminView .mail-search input,
#adminView .email-recipient-picker {
  min-height: 42px;
  border-radius: var(--radius-pill);
  color: #fff;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .035)),
    rgba(3, 8, 18, .58);
  border: 1px solid rgba(255, 255, 255, .20);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .24),
    inset 0 -1px 0 rgba(255, 255, 255, .06),
    0 10px 26px rgba(0, 0, 0, .28);
  -webkit-backdrop-filter: blur(20px) saturate(125%);
  backdrop-filter: blur(20px) saturate(125%);
}

#adminView input:focus,
#adminView select:focus,
#adminView textarea:focus,
#adminView .email-recipient-picker:focus {
  outline: none;
  border-color: rgba(160, 215, 255, .56);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .30),
    0 0 0 3px rgba(80, 170, 255, .14),
    0 14px 34px rgba(0, 0, 0, .35);
}

#adminView option {
  background: #07101f;
  color: #fff;
}

#adminView h2,
#adminView h3,
#adminView h4,
#adminView .module-head,
#adminView .cm-crumb,
#adminView .kpi-num,
#adminView .stat-num,
#adminView .cr-n,
#adminView .heat-n,
#adminView .eventbrite-main h5,
#adminView .entry strong,
#adminView .mrow strong,
#adminView .feed-main strong,
#adminView .tl-main strong {
  color: var(--text-main);
  text-shadow: none;
}

#adminView .muted,
#adminView .kpi-lbl,
#adminView .stat-lbl,
#adminView .feed-main,
#adminView .tl-main,
#adminView .event-meta-row,
#adminView .eventbrite-topline,
#adminView .county-source-card span,
#adminView .opp-add span,
#adminView .module-note {
  color: var(--text-muted);
  text-shadow: none;
}

/* Match the command sidebar and report buttons to the smoked-glass system. */
#adminView .cm-sidebar,
#adminView .cm-topbar {
  position: relative;
  overflow: hidden;
  border-color: rgba(255, 255, 255, .18);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025) 38%, rgba(0, 0, 0, .34) 68%, rgba(255, 255, 255, .055)),
    linear-gradient(145deg, var(--glass-black-strong), var(--glass-black-soft));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .28),
    inset 0 -1px 0 rgba(255, 255, 255, .06),
    0 22px 60px rgba(0, 0, 0, .38),
    0 0 34px rgba(50, 140, 255, .08);
  -webkit-backdrop-filter: blur(24px) saturate(130%);
  backdrop-filter: blur(24px) saturate(130%);
}

#adminView .cm-sidebar::before,
#adminView .cm-topbar::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    radial-gradient(180px 18px at 50% 0%, rgba(255,255,255,.72), transparent 72%),
    radial-gradient(16px 180px at 0% 48%, rgba(255,255,255,.28), transparent 72%),
    radial-gradient(16px 180px at 100% 52%, rgba(255,255,255,.20), transparent 72%);
  opacity: .58;
  mix-blend-mode: screen;
}

#adminView .cm-sidebar::after,
#adminView .cm-topbar::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(150deg, transparent 0%, transparent 42%, rgba(255,255,255,.07) 43%, rgba(255,255,255,.022) 59%, transparent 60%, transparent 100%);
  opacity: .78;
  mix-blend-mode: screen;
}

#adminView .cm-brand,
#adminView .cm-nav,
#adminView .cm-side-foot,
#adminView .cm-topbar > *,
#adminView .cm-search-wrap,
#adminView .cm-top-actions {
  position: relative;
  z-index: 1;
}

#adminView .cm-brand {
  padding: 8px 8px 14px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

#adminView .cm-mark {
  border: 1px solid rgba(180, 225, 255, .38);
  background:
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.045)),
    rgba(4, 10, 22, .70);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    0 0 24px rgba(80,170,255,.24),
    0 12px 28px rgba(0,0,0,.32);
}

#adminView .cm-brandname {
  color: rgba(255,255,255,.96);
  text-shadow: none;
}

#adminView .nav-group-label {
  color: rgba(255,255,255,.48);
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  padding-left: 10px;
}

#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink {
  min-height: 42px;
  margin: 2px 0;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255,255,255,.13);
  color: rgba(255,255,255,.72);
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025)),
    rgba(3, 8, 18, .46);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 8px 22px rgba(0,0,0,.24);
}

#adminView .cm-nav .tab-btn[aria-selected="true"] {
  color: #fff;
  border-color: rgba(160,215,255,.48);
  background:
    linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.045)),
    rgba(4, 10, 22, .68);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 -1px 0 rgba(255,255,255,.06),
    0 0 24px rgba(80,170,255,.22),
    0 14px 34px rgba(0,0,0,.34);
}

#adminView .cm-nav .tab-btn::before {
  background: rgba(160,215,255,.84);
  box-shadow: 0 0 14px rgba(80,170,255,.36);
}

#adminView .cm-side-foot {
  border-top-color: rgba(255,255,255,.12);
}

#adminView .cm-report,
#adminView .cm-report-ghost,
#adminView .cm-top-actions .cm-report {
  min-height: 46px;
  padding: 10px 17px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(180, 225, 255, .34);
  color: #fff;
  background:
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.045)),
    rgba(5, 12, 26, .62);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    0 0 20px rgba(80,170,255,.18),
    0 12px 28px rgba(0,0,0,.30);
  -webkit-backdrop-filter: blur(20px) saturate(125%);
  backdrop-filter: blur(20px) saturate(125%);
}

#adminView .cm-report:hover,
#adminView .cm-report:focus-visible,
#adminView .cm-report-ghost:hover,
#adminView .cm-report-ghost:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(210,240,255,.56);
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.06)),
    rgba(5, 12, 26, .70);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    0 0 28px rgba(80,170,255,.28),
    0 16px 34px rgba(0,0,0,.34);
  filter: none;
}

#adminView #cmReport {
  border-color: rgba(160,215,255,.54);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    0 0 28px rgba(80,170,255,.24),
    0 14px 34px rgba(0,0,0,.34);
}

#adminView #cmSearch,
#adminView .cm-search-results {
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255,255,255,.20);
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
    rgba(3, 8, 18, .58);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 -1px 0 rgba(255,255,255,.06),
    0 10px 26px rgba(0,0,0,.28);
  -webkit-backdrop-filter: blur(20px) saturate(125%);
  backdrop-filter: blur(20px) saturate(125%);
}

#adminView .cm-search-results {
  border-radius: var(--radius-md);
}

/* Physical liquid-glass polish: uneven hotspots, convex controls, cursor-following shine. */
#adminView {
  --mx: 50%;
  --my: 50%;
  --rx: 0deg;
  --ry: 0deg;
}

#adminView .cm-card,
#adminView .dash-panel,
#adminView .kpi,
#adminView .stat,
#adminView .mrow,
#adminView .entry,
#adminView .data-filter-panel,
#adminView .filter-summary,
#adminView .mail-shell,
#adminView .mail-toolbox,
#adminView .avatar-chat,
#adminView .modal-card,
#adminView .ctx-menu,
#adminView .eventbrite-card,
#adminView .county-source-card,
#adminView .opp-add,
#adminView .map-focus-row,
#adminView .cm-sidebar,
#adminView .cm-topbar {
  isolation: isolate;
  background:
    radial-gradient(120% 70% at 50% 38%, rgba(255,255,255,.035), transparent 54%),
    linear-gradient(180deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.05) 12%, rgba(255,255,255,.018) 30%, rgba(0,0,0,.20) 62%, rgba(255,255,255,.04) 100%),
    linear-gradient(135deg, rgba(8,16,30,.74), rgba(5,10,20,.58));
  border-color: rgba(255,255,255,.18);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 -1px 0 rgba(255,255,255,.06),
    inset 8px 8px 24px rgba(255,255,255,.02),
    inset -12px -18px 28px rgba(0,0,0,.18),
    0 22px 64px rgba(0,0,0,.38),
    0 8px 20px rgba(40,120,255,.08);
  -webkit-backdrop-filter: blur(28px) saturate(145%);
  backdrop-filter: blur(28px) saturate(145%);
}

#adminView .cm-card::before,
#adminView .dash-panel::before,
#adminView .kpi::before,
#adminView .stat::before,
#adminView .mrow::before,
#adminView .entry::before,
#adminView .data-filter-panel::before,
#adminView .filter-summary::before,
#adminView .mail-shell::before,
#adminView .mail-toolbox::before,
#adminView .avatar-chat::before,
#adminView .modal-card::before,
#adminView .ctx-menu::before,
#adminView .eventbrite-card::before,
#adminView .county-source-card::before,
#adminView .opp-add::before,
#adminView .map-focus-row::before,
#adminView .cm-sidebar::before,
#adminView .cm-topbar::before {
  background:
    radial-gradient(240px 28px at 22% 0%, rgba(255,255,255,.86), transparent 72%),
    radial-gradient(220px 20px at 72% 100%, rgba(255,255,255,.34), transparent 72%),
    radial-gradient(18px 180px at 0% 50%, rgba(255,255,255,.18), transparent 74%),
    radial-gradient(18px 180px at 100% 42%, rgba(255,255,255,.14), transparent 74%);
  opacity: .78;
}

#adminView .cm-card::after,
#adminView .dash-panel::after,
#adminView .kpi::after,
#adminView .stat::after,
#adminView .mrow::after,
#adminView .entry::after,
#adminView .data-filter-panel::after,
#adminView .filter-summary::after,
#adminView .mail-shell::after,
#adminView .mail-toolbox::after,
#adminView .avatar-chat::after,
#adminView .modal-card::after,
#adminView .ctx-menu::after,
#adminView .eventbrite-card::after,
#adminView .county-source-card::after,
#adminView .opp-add::after,
#adminView .map-focus-row::after,
#adminView .cm-sidebar::after,
#adminView .cm-topbar::after {
  background:
    radial-gradient(280px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.12), transparent 42%),
    linear-gradient(145deg, transparent 0%, transparent 35%, rgba(255,255,255,.09) 43%, rgba(255,255,255,.03) 54%, transparent 62%, transparent 100%);
  opacity: .82;
  mix-blend-mode: screen;
}

#adminView .btn-primary,
#adminView .btn-ghost,
#adminView .btn-danger,
#adminView .cm-report,
#adminView .entry .entry-action,
#adminView .cal-nav,
#adminView .mail-compose,
#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink,
#adminView .mail-folders button,
#adminView .mail-filter-row button,
#adminView .agent-pill,
#adminView .quick-btn,
#adminView .av-chip,
#adminView .field-toggle-row label,
#adminView .filter-chips span,
#adminView .badge,
#adminView .vbadge,
#adminView .ev-type,
#adminView .mail-icon-btn,
#adminView .mail-list-delete,
#adminView .paper-scan-picker,
#adminView .scan-chip,
#adminView .event-page-btn,
#adminView .popup-plan,
#adminView #cmSearch,
#adminView input,
#adminView select,
#adminView textarea {
  isolation: isolate;
  transform: perspective(1200px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateZ(0);
  background:
    radial-gradient(95% 70% at 50% 38%, rgba(255,255,255,.055), transparent 54%),
    radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.105), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.13) 0%, rgba(255,255,255,.052) 18%, rgba(0,0,0,.16) 64%, rgba(255,255,255,.035) 100%),
    rgba(3, 8, 18, .56);
  border-color: rgba(255,255,255,.18);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(255,255,255,.06),
    inset 8px 7px 18px rgba(255,255,255,.018),
    inset -10px -14px 24px rgba(0,0,0,.16),
    0 12px 28px rgba(0,0,0,.30),
    0 0 20px rgba(80,170,255,.10);
  transition:
    transform 140ms ease,
    background 140ms ease,
    border-color 140ms ease,
    box-shadow 140ms ease,
    color 140ms ease;
}

#adminView .btn-primary::before,
#adminView .btn-ghost::before,
#adminView .btn-danger::before,
#adminView .cm-report::before,
#adminView .entry .entry-action::before,
#adminView .cal-nav::before,
#adminView .mail-compose::before,
#adminView .mail-folders button::before,
#adminView .mail-filter-row button::before,
#adminView .agent-pill::before,
#adminView .quick-btn::before,
#adminView .av-chip::before,
#adminView .field-toggle-row label::before,
#adminView .filter-chips span::before,
#adminView .badge::before,
#adminView .vbadge::before,
#adminView .ev-type::before,
#adminView .mail-icon-btn::before,
#adminView .paper-scan-picker::before,
#adminView .scan-chip::before,
#adminView .event-page-btn::before,
#adminView .popup-plan::before {
  background:
    radial-gradient(120px 18px at 24% 0%, rgba(255,255,255,.64), transparent 72%),
    radial-gradient(80px 12px at 78% 100%, rgba(255,255,255,.24), transparent 72%),
    radial-gradient(12px 90px at 0% 46%, rgba(255,255,255,.16), transparent 74%),
    linear-gradient(145deg, transparent 0%, transparent 38%, rgba(255,255,255,.075) 46%, rgba(255,255,255,.022) 56%, transparent 64%);
  opacity: .82;
}

#adminView .btn-primary::after,
#adminView .btn-ghost::after,
#adminView .btn-danger::after,
#adminView .cm-report::after,
#adminView .entry .entry-action::after,
#adminView .cal-nav::after,
#adminView .mail-compose::after,
#adminView .mail-folders button::after,
#adminView .mail-filter-row button::after,
#adminView .agent-pill::after,
#adminView .quick-btn::after,
#adminView .av-chip::after,
#adminView .field-toggle-row label::after,
#adminView .filter-chips span::after,
#adminView .badge::after,
#adminView .vbadge::after,
#adminView .ev-type::after,
#adminView .mail-icon-btn::after,
#adminView .paper-scan-picker::after,
#adminView .scan-chip::after,
#adminView .event-page-btn::after,
#adminView .popup-plan::after {
  background:
    radial-gradient(180px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.16), transparent 44%),
    linear-gradient(145deg, transparent 0%, transparent 36%, rgba(255,255,255,.10) 45%, rgba(255,255,255,.03) 56%, transparent 64%);
  opacity: .76;
}

#adminView .btn-primary:hover,
#adminView .btn-ghost:hover,
#adminView .btn-danger:hover,
#adminView .cm-report:hover,
#adminView .entry .entry-action:hover,
#adminView .cal-nav:hover,
#adminView .mail-compose:hover,
#adminView .cm-nav .tab-btn:hover,
#adminView .cm-sidelink:hover,
#adminView .mail-folders button:hover,
#adminView .mail-filter-row button:hover,
#adminView .agent-pill:hover,
#adminView .quick-btn:hover,
#adminView .av-chip:hover,
#adminView .field-toggle-row label:hover,
#adminView .filter-chips span:hover,
#adminView .badge:hover,
#adminView .vbadge:hover,
#adminView .ev-type:hover,
#adminView .mail-icon-btn:hover,
#adminView .paper-scan-picker:hover,
#adminView .scan-chip:hover,
#adminView .event-page-btn:hover,
#adminView .popup-plan:hover {
  transform: perspective(1200px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(-1px) scale(1.01);
  border-color: rgba(220,240,255,.46);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -1px 0 rgba(255,255,255,.07),
    inset -10px -16px 25px rgba(0,0,0,.18),
    0 16px 32px rgba(0,0,0,.34),
    0 0 24px rgba(100,180,255,.16);
}

#adminView .btn-primary:active,
#adminView .btn-ghost:active,
#adminView .btn-danger:active,
#adminView .cm-report:active,
#adminView .entry .entry-action:active,
#adminView .cal-nav:active,
#adminView .mail-compose:active,
#adminView .cm-nav .tab-btn:active,
#adminView .cm-sidelink:active,
#adminView .mail-folders button:active,
#adminView .mail-filter-row button:active,
#adminView .agent-pill:active,
#adminView .quick-btn:active,
#adminView .av-chip:active,
#adminView .mail-icon-btn:active {
  transform: translateY(1px) scale(.985);
  box-shadow:
    inset 0 2px 5px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.18),
    0 6px 14px rgba(0,0,0,.22);
}

#adminView .cm-nav .tab-btn[aria-selected="true"],
#adminView #cmReport,
#adminView .mail-filter-row button.on,
#adminView .agent-pill.on,
#adminView .av-send {
  border-color: rgba(175,220,255,.52);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -1px 0 rgba(255,255,255,.08),
    0 0 26px rgba(80,170,255,.24),
    0 14px 34px rgba(0,0,0,.34);
}

/* Reusable blue liquid lens system. */
.liquid-filter-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

#adminView {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  --liquid-aqua: rgba(105, 226, 255, .74);
  --liquid-aqua-soft: rgba(52, 196, 255, .28);
  --liquid-white-rim: rgba(245, 254, 255, .72);
  --liquid-deep: rgba(2, 9, 24, .68);
  --liquid-clear: rgba(13, 48, 94, .18);
}

.liquid-card,
.liquid-pill,
.liquid-row,
#adminView .cm-card,
#adminView .dash-panel,
#adminView .kpi,
#adminView .stat,
#adminView .data-filter-panel,
#adminView .filter-summary,
#adminView .mail-shell,
#adminView .mail-toolbox,
#adminView .avatar-chat,
#adminView .modal-card,
#adminView .public-events-map,
#adminView .cm-sidebar,
#adminView .cm-topbar {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transform: perspective(1200px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateZ(0);
  border: 1px solid rgba(194, 244, 255, .24);
  background:
    radial-gradient(90% 68% at 50% 38%, rgba(123, 224, 255, .10), transparent 58%),
    radial-gradient(120% 150% at 50% 45%, rgba(255,255,255,.035), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.17) 0%, rgba(255,255,255,.045) 16%, rgba(2,8,22,.18) 62%, rgba(56, 197, 255, .04) 100%),
    linear-gradient(135deg, rgba(5, 22, 52, .58), rgba(1, 6, 18, .72)),
    var(--liquid-clear);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.36),
    inset 0 -1px 0 rgba(116, 229, 255, .16),
    inset 10px 8px 24px rgba(255,255,255,.025),
    inset -16px -22px 34px rgba(0,0,0,.26),
    0 24px 68px rgba(0,0,0,.42),
    0 9px 24px rgba(31, 142, 255, .10),
    0 0 36px rgba(70, 207, 255, .08);
  -webkit-backdrop-filter: blur(30px) saturate(158%) contrast(1.06);
  backdrop-filter: blur(30px) saturate(158%) contrast(1.06);
  transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease, background 150ms ease;
}

.liquid-row,
#adminView .mrow,
#adminView .entry,
#adminView .eventbrite-card,
#adminView .county-source-card,
#adminView .opp-add,
#adminView .map-focus-row {
  border-radius: var(--radius-md);
  background:
    radial-gradient(85% 60% at 50% 42%, rgba(116, 229, 255, .055), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.115), rgba(255,255,255,.028) 24%, rgba(0,0,0,.17) 70%, rgba(88, 215, 255, .028)),
    rgba(3, 10, 24, .54);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(116, 229, 255, .10),
    0 13px 32px rgba(0,0,0,.28),
    0 0 18px rgba(52,196,255,.055);
  -webkit-backdrop-filter: blur(18px) saturate(135%) contrast(1.03);
  backdrop-filter: blur(18px) saturate(135%) contrast(1.03);
}

.liquid-card::before,
.liquid-pill::before,
.liquid-row::before,
#adminView .cm-card::before,
#adminView .dash-panel::before,
#adminView .kpi::before,
#adminView .stat::before,
#adminView .data-filter-panel::before,
#adminView .filter-summary::before,
#adminView .mail-shell::before,
#adminView .mail-toolbox::before,
#adminView .avatar-chat::before,
#adminView .modal-card::before,
#adminView .public-events-map::before,
#adminView .cm-sidebar::before,
#adminView .cm-topbar::before,
#adminView .mrow::before,
#adminView .entry::before,
#adminView .eventbrite-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(250px 32px at 18% 0%, rgba(255,255,255,.92), transparent 72%),
    radial-gradient(160px 18px at 82% 8%, rgba(124, 230, 255, .38), transparent 70%),
    radial-gradient(240px 18px at 64% 100%, rgba(109, 225, 255, .34), transparent 72%),
    radial-gradient(18px 180px at 0% 42%, rgba(255,255,255,.21), transparent 74%),
    radial-gradient(18px 180px at 100% 58%, rgba(79, 218, 255,.19), transparent 74%);
  opacity: .86;
  mix-blend-mode: screen;
}

.liquid-card::after,
.liquid-pill::after,
.liquid-row::after,
#adminView .cm-card::after,
#adminView .dash-panel::after,
#adminView .kpi::after,
#adminView .stat::after,
#adminView .data-filter-panel::after,
#adminView .filter-summary::after,
#adminView .mail-shell::after,
#adminView .mail-toolbox::after,
#adminView .avatar-chat::after,
#adminView .modal-card::after,
#adminView .public-events-map::after,
#adminView .cm-sidebar::after,
#adminView .cm-topbar::after,
#adminView .mrow::after,
#adminView .entry::after,
#adminView .eventbrite-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(300px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.16), transparent 42%),
    linear-gradient(142deg, transparent 0%, transparent 33%, rgba(255,255,255,.10) 42%, rgba(255,255,255,.025) 55%, transparent 64%),
    linear-gradient(180deg, transparent 0 78%, rgba(64, 217, 255, .16) 92%, transparent);
  opacity: .82;
  mix-blend-mode: screen;
  filter: url("#liquid-warp");
}

#adminView .cm-card > *,
#adminView .dash-panel > *,
#adminView .kpi > *,
#adminView .stat > *,
#adminView .data-filter-panel > *,
#adminView .filter-summary > *,
#adminView .mail-shell > *,
#adminView .mail-toolbox > *,
#adminView .avatar-chat > *,
#adminView .modal-card > *,
#adminView .cm-sidebar > *,
#adminView .cm-topbar > *,
#adminView .mrow > *,
#adminView .entry > *,
#adminView .eventbrite-card > * {
  position: relative;
  z-index: 1;
}

.liquid-pill,
#adminView .btn-primary,
#adminView .btn-ghost,
#adminView .btn-danger,
#adminView .cm-report,
#adminView .entry .entry-action,
#adminView .cal-nav,
#adminView .mail-compose,
#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink,
#adminView .mail-folders button,
#adminView .mail-filter-row button,
#adminView .agent-pill,
#adminView .quick-btn,
#adminView .av-chip,
#adminView .field-toggle-row label,
#adminView .filter-chips span,
#adminView .badge,
#adminView .vbadge,
#adminView .ev-type,
#adminView .mail-icon-btn,
#adminView .paper-scan-picker,
#adminView .scan-chip,
#adminView .event-page-btn,
#adminView .popup-plan,
#adminView #cmSearch,
#adminView input,
#adminView select,
#adminView textarea {
  border-radius: var(--radius-pill);
  border-color: rgba(196, 246, 255, .32);
  background:
    radial-gradient(82% 62% at 50% 40%, rgba(170, 242, 255, .13), transparent 58%),
    radial-gradient(190px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.16), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.05) 22%, rgba(0,0,0,.20) 72%, rgba(89, 221, 255, .055)),
    rgba(2, 9, 24, .58);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    inset 0 -1px 0 rgba(105,226,255,.20),
    inset 9px 8px 18px rgba(255,255,255,.025),
    inset -12px -16px 26px rgba(0,0,0,.24),
    0 13px 30px rgba(0,0,0,.34),
    0 0 22px rgba(80,198,255,.12);
  -webkit-backdrop-filter: blur(22px) saturate(160%) contrast(1.08);
  backdrop-filter: blur(22px) saturate(160%) contrast(1.08);
}

#adminView .btn-primary:hover,
#adminView .btn-ghost:hover,
#adminView .btn-danger:hover,
#adminView .cm-report:hover,
#adminView .entry .entry-action:hover,
#adminView .cal-nav:hover,
#adminView .mail-compose:hover,
#adminView .cm-nav .tab-btn:hover,
#adminView .cm-sidelink:hover,
#adminView .mail-folders button:hover,
#adminView .mail-filter-row button:hover,
#adminView .agent-pill:hover,
#adminView .quick-btn:hover,
#adminView .av-chip:hover,
#adminView .field-toggle-row label:hover,
#adminView .filter-chips span:hover,
#adminView .badge:hover,
#adminView .vbadge:hover,
#adminView .ev-type:hover,
#adminView .mail-icon-btn:hover,
#adminView .paper-scan-picker:hover,
#adminView .scan-chip:hover,
#adminView .event-page-btn:hover,
#adminView .popup-plan:hover {
  transform: perspective(1200px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-1px) scale(1.012);
  border-color: rgba(230, 253, 255, .56);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.46),
    inset 0 -1px 0 rgba(117, 236, 255,.26),
    inset -12px -18px 28px rgba(0,0,0,.26),
    0 17px 36px rgba(0,0,0,.38),
    0 0 28px rgba(105,226,255,.20);
}

#adminView .btn-primary:active,
#adminView .btn-ghost:active,
#adminView .btn-danger:active,
#adminView .cm-report:active,
#adminView .entry .entry-action:active,
#adminView .cal-nav:active,
#adminView .mail-compose:active,
#adminView .cm-nav .tab-btn:active,
#adminView .cm-sidelink:active,
#adminView .mail-folders button:active,
#adminView .mail-filter-row button:active,
#adminView .agent-pill:active,
#adminView .quick-btn:active,
#adminView .av-chip:active,
#adminView .mail-icon-btn:active {
  transform: translateY(1px) scale(.982);
  box-shadow:
    inset 0 3px 8px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.18),
    0 7px 16px rgba(0,0,0,.24),
    0 0 13px rgba(80,198,255,.10);
}

#adminView .cm-nav .tab-btn[aria-selected="true"],
#adminView #cmReport,
#adminView .mail-filter-row button.on,
#adminView .agent-pill.on,
#adminView .av-send {
  border-color: rgba(178, 241, 255, .64);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.46),
    inset 0 -1px 0 rgba(105,226,255,.26),
    0 0 32px rgba(80,198,255,.28),
    0 15px 36px rgba(0,0,0,.36);
}

/* Reusable SVG liquid accents inspired by the supplied glass references. */
#adminView .cm-mark {
  color: transparent;
  text-shadow: none;
  background:
    radial-gradient(circle at 50% 50%, rgba(99, 220, 255, .24), transparent 64%),
    url("assets/liquid-blue-orb.svg") center / 118% 118% no-repeat;
  border-color: rgba(178, 241, 255, .62);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.52),
    0 0 22px rgba(80,198,255,.30),
    0 12px 24px rgba(0,0,0,.30);
}

.liquid-orb-icon,
.liquid-heart-icon {
  display: inline-block;
  width: 1.35em;
  height: 1.35em;
  vertical-align: -.28em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  filter: drop-shadow(0 0 10px rgba(100, 220, 255, .28));
}

.liquid-orb-icon { background-image: url("assets/liquid-blue-orb.svg"); }
.liquid-heart-icon { background-image: url("assets/liquid-glass-heart.svg"); }

/* Screenshot-matched blue liquid lens dashboard. */
#adminView {
  --lens-panel: rgba(1, 15, 42, .58);
  --lens-panel-deep: rgba(0, 9, 30, .72);
  --lens-edge: rgba(185, 238, 255, .58);
  --lens-edge-hot: rgba(255, 255, 255, .82);
  --lens-cyan: rgba(74, 202, 255, .72);
  --lens-text: rgba(246, 251, 255, .96);
  --lens-muted: rgba(200, 224, 255, .68);
}

#adminView .cm-shell {
  gap: 18px;
  padding: 16px;
  background:
    radial-gradient(820px 520px at 8% 8%, rgba(30, 132, 255, .28), transparent 62%),
    radial-gradient(900px 620px at 78% 2%, rgba(50, 163, 255, .18), transparent 58%),
    radial-gradient(820px 640px at 72% 92%, rgba(0, 95, 230, .22), transparent 66%),
    linear-gradient(135deg, #021129 0%, #06265a 47%, #021129 100%);
  color: var(--lens-text);
}

#adminView .cm-sidebar {
  width: 280px;
  flex-basis: 280px;
  padding: 18px;
  border-radius: 28px;
}

#adminView .cm-brand {
  align-items: center;
  gap: 12px;
  margin-bottom: 26px;
}

#adminView .cm-brand strong {
  font-size: 18px;
  letter-spacing: 0;
}

#adminView .cm-brand small,
#adminView .cm-sub,
#adminView .muted {
  color: var(--lens-muted);
}

#adminView .cm-nav {
  gap: 10px;
}

#adminView .nav-group {
  gap: 8px;
  margin-bottom: 24px;
}

#adminView .nav-group-label {
  color: rgba(180, 218, 255, .64);
  font-size: 11px;
  letter-spacing: .11em;
  padding-left: 4px;
}

#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink {
  min-height: 46px;
  justify-content: flex-start;
  padding: 0 17px;
  color: rgba(244, 250, 255, .92);
  font-weight: 760;
}

#adminView .cm-nav .tab-btn[aria-selected="true"] {
  color: #fff;
}

#adminView .cm-topbar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(340px, 440px) auto;
  align-items: center;
  gap: 18px;
  padding: 8px 10px 20px;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  transform: none !important;
}

#adminView .cm-topbar::before,
#adminView .cm-topbar::after {
  display: none !important;
}

#adminView .cm-crumb {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 0;
  color: #fff;
}

#adminView .cm-search-wrap {
  width: 100%;
  max-width: none;
}

#adminView #cmSearch {
  width: 100%;
  min-height: 54px;
  padding: 0 56px 0 52px;
  font-weight: 650;
  color: #f7fbff;
}

#adminView .cm-top-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  flex-wrap: nowrap;
}

#adminView .cm-report {
  min-height: 54px;
  padding: 0 21px;
  white-space: nowrap;
  color: #fff;
  font-weight: 850;
}

#adminView .cm-content {
  padding: 0 10px 20px;
}

#adminView .command-layout {
  display: grid;
  grid-template-columns: minmax(520px, 1.08fr) minmax(430px, .92fr);
  gap: 24px;
  align-items: start;
}

#adminView .command-left,
#adminView .command-right {
  display: grid;
  gap: 22px;
  min-width: 0;
}

#adminView .cm-card,
#adminView .dash-panel,
#adminView .kpi,
#adminView .stat,
#adminView .data-filter-panel,
#adminView .filter-summary,
#adminView .mail-shell,
#adminView .mail-toolbox,
#adminView .avatar-chat,
#adminView .modal-card,
#adminView .public-events-map,
#adminView .cm-sidebar,
#adminView .mrow,
#adminView .entry,
#adminView .eventbrite-card {
  background:
    radial-gradient(780px 240px at calc(var(--mx, 50%) * 1) calc(var(--my, 48%) * 1), rgba(82, 185, 255, .18), transparent 48%),
    radial-gradient(780px 120px at 50% -8%, rgba(255, 255, 255, .19), transparent 62%),
    linear-gradient(142deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .032) 35%, rgba(4, 35, 83, .10) 67%, rgba(255, 255, 255, .08)),
    linear-gradient(180deg, var(--lens-panel), var(--lens-panel-deep));
  border: 1px solid rgba(176, 235, 255, .44);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .58),
    inset 0 -1px 0 rgba(70, 205, 255, .22),
    inset 18px 18px 38px rgba(255, 255, 255, .026),
    inset -20px -26px 44px rgba(0, 0, 0, .28),
    0 26px 60px rgba(0, 0, 0, .42),
    0 0 0 1px rgba(255, 255, 255, .035),
    0 0 42px rgba(52, 154, 255, .15);
  -webkit-backdrop-filter: blur(30px) saturate(175%) contrast(1.12);
  backdrop-filter: blur(30px) saturate(175%) contrast(1.12);
}

#adminView .cm-card::before,
#adminView .cm-sidebar::before,
#adminView .mrow::before,
#adminView .entry::before,
#adminView .eventbrite-card::before {
  background:
    radial-gradient(320px 26px at 20% 0%, rgba(255,255,255,.98), transparent 72%),
    radial-gradient(210px 20px at 76% 4%, rgba(115,232,255,.54), transparent 70%),
    radial-gradient(280px 18px at 60% 100%, rgba(99, 220, 255, .36), transparent 76%),
    linear-gradient(132deg, transparent 0 46%, rgba(255,255,255,.105) 50%, transparent 59%);
  opacity: .88;
}

#adminView .cm-card::after,
#adminView .cm-sidebar::after,
#adminView .mrow::after,
#adminView .entry::after,
#adminView .eventbrite-card::after {
  background:
    radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.18), transparent 42%),
    linear-gradient(145deg, transparent 0 34%, rgba(142,232,255,.105) 43%, rgba(255,255,255,.035) 54%, transparent 66%),
    linear-gradient(180deg, transparent 0 82%, rgba(62, 212, 255, .18) 92%, transparent);
  opacity: .82;
}

#adminView .ai-command-card {
  min-height: 340px;
  border-radius: 30px;
  padding: 26px;
  display: flex;
  flex-direction: column;
}

#adminView .section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  font-size: 17px;
  color: #f8fbff;
}

#adminView .section-title .linklike {
  margin-left: auto;
  color: rgba(210,235,255,.66);
  font-size: 12px;
}

#adminView .beta-pill {
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(120,210,255,.36);
  background: rgba(5, 38, 86, .42);
  color: #bdeeff;
  font-size: 10px;
  font-weight: 850;
}

#adminView .ai-thread-command {
  flex: 1;
  min-height: 170px;
  max-height: none;
}

#adminView .ai-thread-command .bubble {
  border-radius: 18px;
  border: 1px solid rgba(170, 226, 255, .18);
  background: rgba(4, 24, 60, .46);
  color: rgba(246, 251, 255, .94);
}

#adminView .ai-thread-command .bubble.user {
  background: linear-gradient(145deg, rgba(42, 122, 255, .88), rgba(0, 59, 167, .74));
  border-color: rgba(118, 218, 255, .40);
}

#adminView .ai-command-form {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  padding: 8px;
  border-radius: 999px;
  border: 1px solid rgba(110, 210, 255, .48);
  background:
    radial-gradient(220px 70px at var(--mx, 82%) var(--my, 50%), rgba(255,255,255,.16), transparent 60%),
    rgba(2, 14, 38, .58);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    inset 0 -1px 0 rgba(85,215,255,.18),
    0 0 30px rgba(40,140,255,.18);
}

#adminView .ai-command-form input {
  flex: 1;
  min-height: 42px;
  padding: 0 16px;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff;
}

#adminView .ai-command-form button {
  width: 48px;
  height: 48px;
  min-height: 48px;
  padding: 0;
  border-radius: 50%;
}

#adminView .command-signatures-card,
#adminView .command-journey,
#adminView .command-timeline {
  border-radius: 28px;
  padding: 24px;
}

#adminView .command-list-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  color: rgba(238,248,255,.91);
}

#adminView .sort-chip {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(180,230,255,.25);
  background: rgba(4,14,34,.48);
  color: rgba(236,247,255,.86);
  font-size: 12px;
  white-space: nowrap;
}

#adminView .command-sig-list {
  display: grid;
  gap: 10px;
}

#adminView .command-sig-row {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) auto auto auto auto auto auto;
  align-items: center;
  gap: 9px;
  min-height: 56px;
  padding: 10px 14px 10px 24px;
  border-radius: 999px;
}

#adminView .command-sig-row strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
}

#adminView .command-row-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.92);
  font-size: 13px;
  white-space: nowrap;
}

#adminView .command-row-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #8fdcff;
  box-shadow: 0 0 12px rgba(90,200,255,.9);
}

#adminView .command-chevron {
  font-size: 24px;
  line-height: 1;
  color: #fff;
  opacity: .9;
}

#adminView .command-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

#adminView .mini-metric {
  min-height: 120px;
  padding: 20px;
  border-radius: 22px;
  display: grid;
  align-content: center;
  gap: 5px;
}

#adminView .mini-metric span,
#adminView .mini-metric small {
  color: var(--lens-muted);
}

#adminView .mini-metric strong {
  color: #fff;
  font-size: 30px;
  line-height: 1;
}

#adminView .command-kpi-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  min-height: 120px;
  padding: 24px;
  border-radius: 28px;
}

#adminView .command-kpi-strip div {
  display: grid;
  gap: 6px;
  align-content: center;
  padding: 0 18px;
  border-right: 1px dashed rgba(180,230,255,.22);
}

#adminView .command-kpi-strip div:last-child {
  border-right: 0;
}

#adminView .command-kpi-strip strong {
  color: #fff;
  font-size: 32px;
  line-height: 1;
}

#adminView .command-kpi-strip span {
  color: var(--lens-muted);
  font-size: 12px;
  line-height: 1.25;
}

#adminView .command-journey h3,
#adminView .command-timeline h3 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 18px;
}

#adminView .command-journey .bar-row {
  grid-template-columns: 105px 1fr 34px;
  gap: 14px;
  margin: 14px 0;
}

#adminView .bar-track {
  background: rgba(3, 18, 48, .62);
  border: 1px solid rgba(114, 210, 255, .20);
}

#adminView .bar-fill {
  background: linear-gradient(90deg, rgba(125, 225, 255, .80), rgba(21, 112, 255, .98));
  box-shadow: 0 0 18px rgba(70, 185, 255, .45);
}

#adminView .command-timeline {
  min-height: 420px;
}

#adminView .command-timeline .timeline {
  max-height: 330px;
  overflow: hidden;
}

#adminView .command-timeline .tl-item {
  padding-left: 24px;
}

#adminView .command-timeline .tl-item::before {
  left: 7px;
  background: linear-gradient(#74d9ff, rgba(35,123,255,.30));
  opacity: .8;
}

#adminView .command-timeline .tl-dot {
  width: 12px;
  height: 12px;
  background: #127aff;
  border: 2px solid rgba(154,232,255,.9);
  box-shadow: 0 0 0 4px rgba(52,146,255,.20), 0 0 18px rgba(75,190,255,.82);
}

#adminView .command-timeline strong {
  color: #fff;
}

#adminView .view-timeline-btn {
  width: min(270px, 100%);
  min-height: 46px;
  margin-top: 16px;
}

#adminView .liquid-pill,
#adminView .btn-primary,
#adminView .btn-ghost,
#adminView .btn-danger,
#adminView .cm-report,
#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink,
#adminView #cmSearch,
#adminView input,
#adminView select,
#adminView textarea,
#adminView .badge {
  background:
    radial-gradient(180px 62px at var(--mx, 50%) var(--my, 42%), rgba(255,255,255,.19), transparent 60%),
    radial-gradient(110px 18px at 24% 0%, rgba(255,255,255,.72), transparent 74%),
    linear-gradient(180deg, rgba(126,215,255,.18), rgba(4, 31, 78, .32) 46%, rgba(0, 8, 28, .56));
  border-color: rgba(176, 235, 255, .42);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -1px 0 rgba(76,216,255,.23),
    inset -10px -16px 28px rgba(0,0,0,.26),
    0 12px 26px rgba(0,0,0,.32),
    0 0 24px rgba(76, 177, 255, .14);
}

#adminView .liquid-pill:hover,
#adminView .btn-primary:hover,
#adminView .btn-ghost:hover,
#adminView .btn-danger:hover,
#adminView .cm-report:hover,
#adminView .cm-nav .tab-btn:hover,
#adminView .cm-sidelink:hover {
  border-color: rgba(232, 253, 255, .70);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.76),
    inset 0 -1px 0 rgba(94,226,255,.35),
    0 16px 32px rgba(0,0,0,.36),
    0 0 34px rgba(82, 203, 255, .24);
}

@media (max-width: 1320px) {
  #adminView .cm-topbar {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  #adminView .cm-top-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

@media (max-width: 1180px) {
  #adminView .command-layout {
    grid-template-columns: 1fr;
  }
  #adminView .command-kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #adminView .command-kpi-strip div:nth-child(2n) {
    border-right: 0;
  }
}

@media (max-width: 760px) {
  #adminView .cm-shell {
    padding: 10px;
  }
  #adminView .cm-sidebar {
    width: 74px;
    flex-basis: 74px;
    padding: 12px 8px;
  }
  #adminView .cm-main {
    min-width: 0;
  }
  #adminView .cm-crumb {
    font-size: 24px;
  }
  #adminView .command-sig-row {
    grid-template-columns: minmax(0, 1fr) auto;
    border-radius: 22px;
    padding: 14px;
  }
  #adminView .command-sig-row .badge,
  #adminView .command-row-status {
    display: none;
  }
  #adminView .command-mini-grid,
  #adminView .command-kpi-strip {
    grid-template-columns: 1fr;
  }
  #adminView .command-kpi-strip div {
    border-right: 0;
    border-bottom: 1px dashed rgba(180,230,255,.22);
    padding: 14px 0;
  }
  #adminView .command-kpi-strip div:last-child {
    border-bottom: 0;
  }
}

/* Final reference lock: keep the whole app on the same blue lens system. */
#adminView .cm-shell {
  display: grid !important;
  grid-template-columns: 304px minmax(0, 1fr) !important;
  gap: 18px !important;
  padding: 16px !important;
  background:
    radial-gradient(1000px 620px at 5% 8%, rgba(25, 136, 255, .24), transparent 60%),
    radial-gradient(780px 520px at 82% 11%, rgba(41, 116, 255, .18), transparent 58%),
    radial-gradient(900px 560px at 90% 72%, rgba(33, 134, 255, .12), transparent 62%),
    linear-gradient(135deg, #010815 0%, #031832 34%, #062a5d 68%, #010b1a 100%) !important;
}

#adminView .cm-sidebar {
  width: 304px !important;
  flex-basis: 304px !important;
  padding: 26px !important;
  border-radius: 30px !important;
}

#adminView .cm-main {
  min-width: 0 !important;
  padding: 18px 18px 18px 0 !important;
}

#adminView .cm-brand {
  display: grid !important;
  place-items: center !important;
  gap: 6px !important;
  min-height: 104px !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  text-align: center !important;
}

#adminView .cm-brandword {
  display: block !important;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 44px !important;
  font-weight: 500 !important;
  line-height: .9 !important;
  letter-spacing: .09em !important;
}

#adminView .cm-brandline {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 12px !important;
  width: 205px !important;
  color: #7edbff !important;
  font-family: Georgia, "Times New Roman", serif !important;
}

#adminView .cm-topbar {
  display: grid !important;
  grid-template-columns: minmax(260px, .9fr) minmax(360px, 520px) auto !important;
  padding: 18px 18px 22px !important;
  border-bottom: 1px solid rgba(153, 218, 255, .13) !important;
  background: transparent !important;
  box-shadow: none !important;
}

#adminView .cm-crumb,
#adminView .lens-page-head h1,
#adminView .dash-panel h3,
#adminView .paper-lens-card h3,
#adminView .filter-summary-head h3,
#adminView #entryCount {
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink,
#adminView .cm-report,
#adminView #cmSearch,
#adminView input,
#adminView select,
#adminView textarea,
#adminView .btn-primary,
#adminView .btn-ghost,
#adminView .btn-danger {
  border-radius: 18px !important;
}

#adminView .cm-report {
  min-width: 184px !important;
  min-height: 58px !important;
}

#adminView .stat-cards,
#adminView .filter-kpis {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

#adminView .dash-cols {
  display: grid !important;
  grid-template-columns: minmax(370px, .8fr) minmax(480px, 1.2fr) !important;
  gap: 16px !important;
}

#adminView .admin-actions {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(130px, 1fr)) !important;
  gap: 12px !important;
}

#adminView .admin-actions button {
  min-height: 72px !important;
  border-radius: 18px !important;
}

#adminView .list-controls {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(170px, 1fr)) !important;
  gap: 14px !important;
}

#adminView .list-controls #adminSearch {
  grid-column: span 2 !important;
}

#adminView .field-toggle-wrap {
  grid-column: 1 / -1 !important;
}

#adminView .filter-breakdowns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

#adminView .entry-summary {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) auto !important;
  min-height: 64px !important;
  padding: 12px 18px !important;
}

#adminView .entry-detail {
  display: grid !important;
  grid-template-columns: minmax(240px, 1fr) minmax(180px, 260px) auto !important;
  gap: 18px !important;
  padding: 0 18px 18px 58px !important;
}

#adminView .paper-lens-card .module-form {
  display: grid !important;
  grid-template-columns: minmax(160px, 1.1fr) minmax(120px, .75fr) minmax(160px, 1fr) minmax(160px, .9fr) minmax(220px, 1.35fr) minmax(150px, .9fr) !important;
  gap: 14px !important;
}

#adminView .paper-lens-card .module-form button {
  grid-column: 1 / -1 !important;
}

@media (max-width: 1450px) {
  #adminView .cm-shell { grid-template-columns: 274px minmax(0, 1fr) !important; }
  #adminView .cm-sidebar { width: 274px !important; flex-basis: 274px !important; padding: 22px !important; }
  #adminView .admin-actions { grid-template-columns: repeat(4, minmax(130px, 1fr)) !important; }
  #adminView .filter-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 1180px) {
  #adminView .cm-shell { grid-template-columns: 1fr !important; }
  #adminView .cm-sidebar { position: relative !important; top: auto !important; width: auto !important; flex-basis: auto !important; height: auto !important; }
  #adminView .cm-main { padding: 0 !important; }
  #adminView .stat-cards,
  #adminView .dash-cols,
  #adminView .filter-breakdowns { grid-template-columns: 1fr !important; }
  #adminView .paper-lens-card .module-form,
  #adminView .list-controls { grid-template-columns: 1fr 1fr !important; }
  #adminView .list-controls #adminSearch { grid-column: 1 / -1 !important; }
}

@media (max-width: 760px) {
  #adminView .cm-shell { padding: 10px !important; }
  #adminView .cm-brandword { font-size: 34px !important; }
  #adminView .cm-topbar,
  #adminView .paper-lens-card .module-form,
  #adminView .list-controls,
  #adminView .admin-actions,
  #adminView .filter-kpis,
  #adminView .validity-row { grid-template-columns: 1fr !important; }
  #adminView .entry-summary { grid-template-columns: 24px minmax(0, 1fr) !important; }
  #adminView .entry-detail { grid-template-columns: 1fr !important; padding-left: 18px !important; }
}

/* Cohesive iOS blue-glass finish. This final layer unifies the whole admin app. */
#adminView {
  --ios-bg-deep: #001326;
  --ios-bg-mid: #052947;
  --ios-ink: rgba(248, 252, 255, .97);
  --ios-muted: rgba(204, 222, 238, .66);
  --ios-line: rgba(167, 214, 242, .23);
  --ios-line-strong: rgba(194, 232, 255, .42);
  --ios-glass: rgba(40, 75, 98, .34);
  --ios-glass-soft: rgba(64, 99, 121, .25);
  --ios-glass-deep: rgba(8, 32, 54, .58);
  --ios-blue: #0a84ff;
  --ios-blue-hot: #33a7ff;
  --ios-blue-dark: #005ecb;
  --ios-radius-xl: 30px;
  --ios-radius-lg: 22px;
  --ios-radius-pill: 999px;
  --ios-shadow: 0 22px 58px rgba(0, 7, 18, .42);
  --ios-inner: inset 0 1px 0 rgba(255,255,255,.20), inset 0 -1px 0 rgba(97, 186, 232, .12);
  color: var(--ios-ink);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
}

#adminView .cm-shell {
  isolation: isolate;
  background:
    radial-gradient(720px 360px at 50% 0%, rgba(15, 109, 200, .18), transparent 70%),
    radial-gradient(900px 420px at 50% 45%, rgba(49, 145, 200, .19), transparent 72%),
    linear-gradient(165deg, #000b19 0%, #031d34 42%, #0b3a52 72%, #001221 100%) !important;
}

#adminView .cm-shell::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(168deg, transparent 0 22%, rgba(206, 236, 255, .08) 25%, transparent 31%),
    linear-gradient(174deg, transparent 0 56%, rgba(231, 246, 255, .13) 58%, transparent 63%),
    radial-gradient(560px 150px at 50% 70%, rgba(180, 230, 255, .16), transparent 72%),
    radial-gradient(420px 210px at 18% 88%, rgba(130, 204, 255, .15), transparent 72%);
  filter: blur(.4px);
  opacity: .92;
}

#adminView .cm-shell::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.018) 0 1px, transparent 1px 98px),
    linear-gradient(90deg, rgba(255,255,255,.035), transparent 18%, transparent 82%, rgba(255,255,255,.025));
  mix-blend-mode: screen;
  opacity: .5;
}

#adminView .cm-card,
#adminView .dash-panel,
#adminView .kpi,
#adminView .stat,
#adminView .data-filter-panel,
#adminView .filter-summary,
#adminView .mail-shell,
#adminView .mail-toolbox,
#adminView .mail-compose-panel,
#adminView .mail-reader,
#adminView .mail-left,
#adminView .mail-middle,
#adminView .modal-card,
#adminView .public-events-map,
#adminView .cm-sidebar,
#adminView .mrow,
#adminView .entry,
#adminView .eventbrite-card,
#adminView .mini-metric,
#adminView .command-sig-row,
#adminView .command-kpi-strip,
#adminView .command-journey,
#adminView .command-timeline,
#adminView .command-signatures-card,
#adminView .ai-command-card,
#adminView .paper-lens-card {
  color: var(--ios-ink) !important;
  border: 1px solid var(--ios-line) !important;
  background:
    radial-gradient(220px 120px at var(--mx, 48%) var(--my, 18%), rgba(255,255,255,.12), transparent 68%),
    linear-gradient(180deg, rgba(95, 129, 150, .19), rgba(26, 58, 82, .24) 45%, rgba(5, 25, 46, .44)),
    var(--ios-glass) !important;
  box-shadow:
    var(--ios-shadow),
    var(--ios-inner),
    0 0 0 1px rgba(255,255,255,.028) !important;
  -webkit-backdrop-filter: blur(30px) saturate(145%) contrast(1.05) !important;
  backdrop-filter: blur(30px) saturate(145%) contrast(1.05) !important;
}

#adminView .cm-card::before,
#adminView .dash-panel::before,
#adminView .kpi::before,
#adminView .stat::before,
#adminView .data-filter-panel::before,
#adminView .filter-summary::before,
#adminView .mail-shell::before,
#adminView .mail-toolbox::before,
#adminView .avatar-chat::before,
#adminView .modal-card::before,
#adminView .public-events-map::before,
#adminView .cm-sidebar::before,
#adminView .mrow::before,
#adminView .entry::before,
#adminView .eventbrite-card::before,
#adminView .paper-lens-card::before {
  background:
    radial-gradient(240px 22px at 18% 0%, rgba(255,255,255,.38), transparent 78%),
    radial-gradient(180px 18px at 82% 4%, rgba(122, 210, 255, .24), transparent 74%),
    linear-gradient(142deg, transparent 0 38%, rgba(255,255,255,.055) 48%, transparent 58%) !important;
  opacity: .72 !important;
}

#adminView .cm-card::after,
#adminView .dash-panel::after,
#adminView .kpi::after,
#adminView .stat::after,
#adminView .data-filter-panel::after,
#adminView .filter-summary::after,
#adminView .mail-shell::after,
#adminView .mail-toolbox::after,
#adminView .avatar-chat::after,
#adminView .modal-card::after,
#adminView .public-events-map::after,
#adminView .cm-sidebar::after,
#adminView .mrow::after,
#adminView .entry::after,
#adminView .eventbrite-card::after,
#adminView .paper-lens-card::after {
  background:
    radial-gradient(230px circle at var(--mx, 52%) var(--my, 45%), rgba(255,255,255,.10), transparent 50%),
    linear-gradient(180deg, transparent 0 82%, rgba(110, 202, 255, .12) 94%, transparent) !important;
  opacity: .7 !important;
}

#adminView .cm-brandword,
#adminView .cm-crumb,
#adminView .lens-page-head h1,
#adminView .dash-panel h3,
#adminView .paper-lens-card h3,
#adminView .filter-summary-head h3,
#adminView .command-journey h3,
#adminView .command-timeline h3,
#adminView .mail-reader-head h3,
#adminView .mail-compose-panel h3,
#adminView .mail-logo,
#adminView #entryCount {
  color: #fff !important;
  text-shadow: 0 1px 20px rgba(0, 132, 255, .18) !important;
}

#adminView .cm-sub,
#adminView .muted,
#adminView .small,
#adminView .lens-page-head p,
#adminView .mail-reader-head p,
#adminView .mail-list-top span,
#adminView .mail-list-body,
#adminView .mail-open-from span:not(.mail-avatar),
#adminView .mail-status,
#adminView .stat-sub,
#adminView .stat-lbl,
#adminView .command-kpi-strip span,
#adminView .mini-metric span,
#adminView .mini-metric small,
#adminView .filter-kpis span,
#adminView .filter-breakdowns span {
  color: var(--ios-muted) !important;
}

#adminView .btn-primary,
#adminView .cm-report,
#adminView .mail-compose,
#adminView .av-send,
#adminView .ai-command-form button {
  color: #fff !important;
  border: 1px solid rgba(119, 202, 255, .40) !important;
  background:
    radial-gradient(140px 42px at var(--mx, 48%) 0%, rgba(255,255,255,.24), transparent 70%),
    linear-gradient(180deg, var(--ios-blue-hot), var(--ios-blue) 42%, var(--ios-blue-dark)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.36),
    inset 0 -1px 0 rgba(0, 41, 115, .32),
    0 14px 28px rgba(0, 74, 185, .30),
    0 0 24px rgba(10, 132, 255, .20) !important;
}

#adminView .btn-ghost,
#adminView .btn-danger,
#adminView .cm-report-ghost,
#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink,
#adminView .mail-folders button,
#adminView .mail-filter-row button,
#adminView .mail-icon-btn,
#adminView .mail-list-delete,
#adminView .quick-btn,
#adminView .agent-pill,
#adminView .av-chip,
#adminView .field-toggle-row label,
#adminView .filter-chips span,
#adminView .badge,
#adminView .vbadge,
#adminView .ev-type,
#adminView .paper-scan-picker,
#adminView .scan-chip,
#adminView .event-page-btn,
#adminView .popup-plan,
#adminView .sort-chip,
#adminView .entry-action,
#adminView .entry-btns .del {
  color: rgba(247, 252, 255, .94) !important;
  border: 1px solid var(--ios-line) !important;
  background:
    radial-gradient(120px 40px at var(--mx, 50%) 0%, rgba(255,255,255,.14), transparent 72%),
    linear-gradient(180deg, rgba(78, 116, 140, .28), rgba(22, 55, 80, .33) 54%, rgba(5, 28, 50, .45)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(97, 186, 232, .10),
    0 10px 24px rgba(0, 8, 22, .25) !important;
}

#adminView .btn-primary:hover,
#adminView .btn-primary:focus-visible,
#adminView .cm-report:hover,
#adminView .cm-report:focus-visible,
#adminView .mail-compose:hover,
#adminView .mail-compose:focus-visible,
#adminView .cm-nav .tab-btn:hover,
#adminView .cm-sidelink:hover,
#adminView .btn-ghost:hover,
#adminView .mail-folders button:hover,
#adminView .mail-filter-row button:hover,
#adminView .mail-icon-btn:hover {
  border-color: var(--ios-line-strong) !important;
  filter: none !important;
  transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-1px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.26),
    0 16px 34px rgba(0, 8, 22, .32),
    0 0 26px rgba(10, 132, 255, .14) !important;
}

#adminView .cm-nav .tab-btn[aria-selected="true"],
#adminView .mail-folders button.on,
#adminView .mail-filter-row button.on,
#adminView .agent-pill.on,
#adminView .av-chip.on {
  color: #fff !important;
  border-color: rgba(91, 183, 255, .54) !important;
  background:
    radial-gradient(145px 52px at 22% 0%, rgba(255,255,255,.18), transparent 70%),
    linear-gradient(180deg, rgba(11, 132, 255, .50), rgba(8, 76, 148, .38)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.26),
    0 0 28px rgba(10, 132, 255, .28),
    0 14px 30px rgba(0, 7, 18, .28) !important;
}

#adminView input,
#adminView select,
#adminView textarea,
#adminView #cmSearch,
#adminView .mail-search input,
#adminView .email-recipient-picker {
  color: var(--ios-ink) !important;
  border: 1px solid rgba(120, 194, 235, .28) !important;
  background:
    radial-gradient(180px 52px at var(--mx, 50%) 0%, rgba(255,255,255,.10), transparent 70%),
    rgba(13, 44, 68, .42) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(97, 186, 232, .08),
    0 10px 24px rgba(0, 7, 18, .20) !important;
  -webkit-backdrop-filter: blur(20px) saturate(135%) !important;
  backdrop-filter: blur(20px) saturate(135%) !important;
}

#adminView input::placeholder,
#adminView textarea::placeholder {
  color: rgba(202, 222, 238, .54) !important;
}

#adminView .mail-shell {
  grid-template-columns: 178px minmax(260px, .58fr) minmax(460px, 1.08fr) !important;
  overflow: hidden;
}

#adminView .mail-left,
#adminView .mail-middle,
#adminView .mail-reader {
  border-color: rgba(167, 214, 242, .13) !important;
  background: transparent !important;
  box-shadow: none !important;
}

#adminView .mail-list {
  border-top-color: rgba(167, 214, 242, .13) !important;
}

#adminView .mail-list-item {
  color: var(--ios-ink) !important;
  border-color: rgba(167, 214, 242, .10) !important;
  background: rgba(30, 65, 88, .18) !important;
}

#adminView .mail-list-item.is-active,
#adminView .mail-list-item:hover {
  background: rgba(10, 132, 255, .20) !important;
  border-color: rgba(91, 183, 255, .36) !important;
}

#adminView .mail-list-sub,
#adminView .mail-open,
#adminView .mail-open p,
#adminView .mail-open strong,
#adminView .mail-compose-panel h3,
#adminView .mail-toolbox summary {
  color: var(--ios-ink) !important;
}

#adminView .mail-avatar,
#adminView .cm-user-avatar {
  color: #fff !important;
  background:
    radial-gradient(circle at 35% 22%, rgba(255,255,255,.48), transparent 28%),
    linear-gradient(145deg, #38aaff, #0767d6) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    0 0 18px rgba(10,132,255,.22) !important;
}

#adminView .ai-thread-command .bubble,
#adminView .avatar-chat-messages .msg,
#adminView .mail-open,
#adminView .recipient-summary span {
  color: var(--ios-ink) !important;
  border: 1px solid rgba(167, 214, 242, .19) !important;
  background: rgba(57, 91, 111, .42) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}

#adminView .ai-thread-command .bubble.user,
#adminView .avatar-chat-messages .msg.me {
  color: #fff !important;
  border-color: rgba(87, 185, 255, .34) !important;
  background: linear-gradient(180deg, #1693ff, #0a84ff 48%, #0270df) !important;
  box-shadow: 0 10px 24px rgba(0, 92, 210, .23) !important;
}

#adminView .badge.ok,
#adminView .vbadge.conf {
  color: #a4ffc4 !important;
  border-color: rgba(87, 225, 141, .28) !important;
  background: rgba(21, 105, 68, .24) !important;
}

#adminView .badge.pend,
#adminView .vbadge.unk,
#adminView .vbadge.flag {
  color: #ffd682 !important;
  border-color: rgba(255, 197, 83, .28) !important;
  background: rgba(118, 81, 24, .22) !important;
}

#adminView .badge.bad,
#adminView .btn-danger,
#adminView .mail-icon-btn.danger {
  color: #ffb8bf !important;
  border-color: rgba(255, 120, 135, .28) !important;
  background: rgba(117, 31, 43, .26) !important;
}

#adminView .bar-track,
#adminView .dash-bar {
  background: rgba(3, 21, 37, .46) !important;
  border-color: rgba(167, 214, 242, .14) !important;
}

#adminView .bar-fill,
#adminView .dash-fill,
#adminView .day-fill {
  background: linear-gradient(90deg, #78d6ff, var(--ios-blue)) !important;
  box-shadow: 0 0 18px rgba(10, 132, 255, .32) !important;
}

#adminView .cm-brandline,
#adminView .cm-brandword::before {
  color: rgba(163, 222, 255, .86) !important;
}

#adminView .cm-brandline i {
  background: linear-gradient(90deg, transparent, rgba(116, 204, 255, .62), transparent) !important;
}

#adminView .entry-summary-side {
  color: #ffd682 !important;
  border-color: rgba(255, 197, 83, .25) !important;
  background: rgba(118, 81, 24, .20) !important;
}

#adminView .email-status.ok,
#adminView .mail-status.ok {
  color: #a4ffc4 !important;
  background: rgba(21, 105, 68, .24) !important;
  border: 1px solid rgba(87, 225, 141, .20) !important;
}

#adminView .email-status.warn,
#adminView .mail-status.warn {
  color: #ffd682 !important;
  background: rgba(118, 81, 24, .22) !important;
  border: 1px solid rgba(255, 197, 83, .22) !important;
}

@media (max-width: 1180px) {
  #adminView .mail-shell {
    grid-template-columns: 1fr !important;
  }
}

/* Scroll and screenshot-sidebar lock. */
body.cm-open {
  overflow: hidden !important;
}

.sig-mobile-contact-actions { display:none; }

#adminView .planner-event-chip {
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  border:0;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
#adminView .day-open-event {
  padding:0;
  border:0;
  color:inherit;
  text-align:left;
  text-decoration:underline;
  text-decoration-color:rgba(104,203,255,.5);
  text-underline-offset:3px;
  background:transparent;
  cursor:pointer;
}
#adminView .event-management-row.planner-event-focus {
  position:relative;
  outline:2px solid rgba(119,220,255,.9);
  outline-offset:3px;
  background:linear-gradient(120deg,rgba(81,189,255,.2),rgba(135,105,255,.12)) !important;
  box-shadow:0 0 0 5px rgba(61,172,255,.1),0 16px 34px rgba(0,20,55,.34) !important;
  animation:plannerEventFocus 700ms ease both;
}
@keyframes plannerEventFocus {
  from { transform:translateY(8px); filter:brightness(1.4); }
  to { transform:translateY(0); filter:brightness(1); }
}
@media screen and (max-width:900px) and (orientation:portrait) {
  body.cm-open #adminView .sig-mobile-contact-actions {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:10px;
  }
  body.cm-open #adminView .sig-mobile-contact-actions a {
    display:grid;
    place-items:center;
    min-height:46px;
    border:1px solid rgba(236,248,255,.48);
    border-radius:999px;
    color:#eff9ff;
    text-decoration:none;
    font-weight:800;
    background:linear-gradient(180deg,rgba(229,241,250,.15),rgba(100,151,190,.08) 52%,rgba(5,21,45,.22));
    box-shadow:inset 0 1px 1px rgba(255,255,255,.38),inset 0 -2px 4px rgba(3,12,28,.25),0 5px 14px rgba(0,0,0,.18);
    -webkit-backdrop-filter:blur(16px) saturate(120%);
    backdrop-filter:blur(16px) saturate(120%);
  }
  body.cm-open #adminView .sig-review-drawer::after {
    content:"Swipe left or right for another signature" !important;
    position:relative !important;
    display:block !important;
    inset:auto !important;
    margin:12px 0 2px !important;
    color:rgba(206,226,242,.55) !important;
    text-align:center !important;
    font:700 10px/1.3 system-ui,sans-serif !important;
    background:none !important;
    box-shadow:none !important;
    filter:none !important;
    opacity:1 !important;
  }
}

#adminView:not([hidden]) {
  overflow: hidden !important;
}

#adminView .cm-shell {
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden !important;
  grid-template-columns: 292px minmax(0, 1fr) !important;
}

#adminView .cm-sidebar {
  position: sticky !important;
  top: 16px !important;
  align-self: start !important;
  width: 292px !important;
  flex-basis: 292px !important;
  height: calc(100vh - 32px) !important;
  height: calc(100dvh - 32px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  padding: 24px 20px !important;
}

#adminView .cm-sidebar .cm-nav {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 2px !important;
  scrollbar-width: thin;
}

#adminView .cm-sidebar .cm-nav::-webkit-scrollbar,
#adminView .cm-content::-webkit-scrollbar {
  width: 9px;
}

#adminView .cm-sidebar .cm-nav::-webkit-scrollbar-thumb,
#adminView .cm-content::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(138, 204, 244, .24);
  border: 2px solid rgba(0, 18, 34, .45);
}

#adminView .cm-side-foot {
  flex: 0 0 auto !important;
}

#adminView .cm-main {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: calc(100vh - 32px) !important;
  height: calc(100dvh - 32px) !important;
  overflow: hidden !important;
}

#adminView .cm-topbar {
  flex: 0 0 auto !important;
}

#adminView .cm-content {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 12px 18px 34px 8px !important;
  scroll-behavior: smooth;
}

#adminView .cm-brand {
  min-height: 92px !important;
  margin-bottom: 20px !important;
}

#adminView .cm-brandword {
  font-size: 41px !important;
}

#adminView .cm-nav {
  gap: 8px !important;
}

#adminView .nav-group {
  margin-bottom: 20px !important;
}

#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink {
  min-height: 54px !important;
  border-radius: 19px !important;
}

#adminView .nav-group-label {
  margin: 0 0 7px 6px !important;
  color: rgba(181, 219, 246, .62) !important;
}

#adminView .cm-user-card {
  min-height: 72px !important;
  border-radius: 20px !important;
}

@media (max-width: 1450px) {
  #adminView .cm-shell {
    grid-template-columns: 270px minmax(0, 1fr) !important;
  }
  #adminView .cm-sidebar {
    width: 270px !important;
    flex-basis: 270px !important;
  }
}

@media (max-width: 1180px) {
  body.cm-open {
    overflow: auto !important;
  }
  #adminView:not([hidden]) {
    overflow-y: auto !important;
  }
  #adminView .cm-shell {
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
    grid-template-columns: 1fr !important;
  }
  #adminView .cm-sidebar,
  #adminView .cm-main {
    position: relative !important;
    top: auto !important;
    width: auto !important;
    flex-basis: auto !important;
    height: auto !important;
    overflow: visible !important;
  }
  #adminView .cm-content {
    overflow: visible !important;
    padding: 10px 0 28px !important;
  }
}

/* Mockup exact pass: coherent navy campaign glass. */
#adminView {
  --mock-bg-0: #000b1d;
  --mock-bg-1: #001a38;
  --mock-bg-2: #042a58;
  --mock-panel: rgba(4, 28, 58, .66);
  --mock-panel-soft: rgba(9, 42, 79, .52);
  --mock-row: rgba(10, 45, 82, .48);
  --mock-line: rgba(126, 198, 244, .34);
  --mock-line-hot: rgba(152, 221, 255, .72);
  --mock-blue: #0a84ff;
  --mock-blue-2: #1a9cff;
  --mock-text: rgba(249, 253, 255, .97);
  --mock-muted: rgba(202, 222, 244, .72);
  --mock-shadow: 0 24px 70px rgba(0, 6, 18, .48);
  --mock-radius: 26px;
  --mock-serif: Georgia, "Times New Roman", serif;
}

#adminView:not([hidden]) {
  background: var(--mock-bg-0) !important;
}

#adminView .cm-shell {
  grid-template-columns: 286px minmax(0, 1fr) !important;
  gap: 22px !important;
  padding: 0 !important;
  height: 100vh !important;
  height: 100dvh !important;
  background:
    radial-gradient(900px 560px at 50% -8%, rgba(15, 93, 184, .35), transparent 72%),
    radial-gradient(1000px 620px at 88% 78%, rgba(26, 119, 208, .22), transparent 70%),
    radial-gradient(720px 400px at 55% 62%, rgba(130, 209, 255, .12), transparent 72%),
    linear-gradient(145deg, var(--mock-bg-0) 0%, var(--mock-bg-1) 42%, var(--mock-bg-2) 72%, #001124 100%) !important;
}

#adminView .cm-shell::before {
  background:
    linear-gradient(172deg, transparent 0 39%, rgba(197, 231, 255, .08) 43%, transparent 49%),
    linear-gradient(173deg, transparent 0 64%, rgba(238, 249, 255, .14) 67%, transparent 73%),
    radial-gradient(620px 120px at 54% 72%, rgba(207, 237, 255, .13), transparent 78%),
    radial-gradient(520px 180px at 85% 88%, rgba(79, 163, 235, .12), transparent 76%) !important;
  opacity: .82 !important;
  filter: blur(.2px) !important;
}

#adminView .cm-shell::after {
  background:
    linear-gradient(90deg, rgba(255,255,255,.035), transparent 12%, transparent 86%, rgba(255,255,255,.025)),
    repeating-linear-gradient(180deg, rgba(153, 210, 255, .018) 0 1px, transparent 1px 108px) !important;
  opacity: .38 !important;
}

#adminView .cm-sidebar {
  top: 0 !important;
  width: 286px !important;
  flex-basis: 286px !important;
  height: 100vh !important;
  height: 100dvh !important;
  padding: 30px 24px !important;
  border-radius: 0 30px 30px 0 !important;
  border-width: 1px !important;
  border-left: 0 !important;
  background:
    radial-gradient(320px 180px at 42% 0%, rgba(30, 132, 255, .18), transparent 74%),
    linear-gradient(180deg, rgba(5, 31, 66, .72), rgba(2, 21, 46, .66)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset -1px 0 0 rgba(150, 221, 255, .22),
    14px 0 46px rgba(0, 8, 24, .30) !important;
}

#adminView .cm-brand {
  min-height: 116px !important;
  margin-bottom: 28px !important;
}

#adminView .cm-brandword {
  color: #fff !important;
  font-family: var(--mock-serif) !important;
  font-size: 45px !important;
  font-weight: 500 !important;
  letter-spacing: .10em !important;
  line-height: .95 !important;
  text-shadow: 0 0 26px rgba(120, 204, 255, .20) !important;
}

#adminView .cm-brandword::before {
  top: -26px !important;
  color: #86d7ff !important;
  text-shadow: 0 0 18px rgba(88, 190, 255, .9) !important;
}

#adminView .cm-brandline {
  width: 210px !important;
  color: #75d3ff !important;
  font-family: var(--mock-serif) !important;
  font-size: 21px !important;
}

#adminView .cm-main {
  height: 100vh !important;
  height: 100dvh !important;
  padding: 28px 28px 28px 0 !important;
}

#adminView .cm-topbar {
  display: grid !important;
  grid-template-columns: minmax(260px, .85fr) minmax(360px, 520px) auto !important;
  gap: 28px !important;
  align-items: center !important;
  padding: 8px 0 24px !important;
  border-bottom: 1px solid rgba(126, 198, 244, .13) !important;
}

#adminView .cm-crumb {
  font-family: var(--mock-serif) !important;
  font-size: 30px !important;
  color: #fff !important;
}

#adminView .cm-sub {
  margin-top: 6px !important;
  color: var(--mock-muted) !important;
}

#adminView .cm-content {
  padding: 22px 0 34px !important;
}

#adminView .lens-page-head {
  padding: 0 !important;
  margin: 0 0 22px !important;
}

#adminView .lens-page-head h1 {
  font-family: var(--mock-serif) !important;
  font-size: clamp(38px, 3vw, 52px) !important;
  line-height: 1.03 !important;
  color: #fff !important;
}

#adminView .lens-page-head p {
  color: rgba(227, 239, 255, .82) !important;
  font-size: 17px !important;
}

#adminView .cm-card,
#adminView .dash-panel,
#adminView .kpi,
#adminView .stat,
#adminView .data-filter-panel,
#adminView .filter-summary,
#adminView .mail-shell,
#adminView .mail-toolbox,
#adminView .mail-compose-panel,
#adminView .mail-reader,
#adminView .modal-card,
#adminView .public-events-map,
#adminView .mrow,
#adminView .entry,
#adminView .eventbrite-card,
#adminView .mini-metric,
#adminView .command-sig-row,
#adminView .command-kpi-strip,
#adminView .command-journey,
#adminView .command-timeline,
#adminView .command-signatures-card,
#adminView .ai-command-card,
#adminView .paper-lens-card,
#adminView .filter-kpis div,
#adminView .filter-breakdowns section,
#adminView .cm-user-card {
  border-radius: var(--mock-radius) !important;
  border: 1px solid var(--mock-line) !important;
  background:
    radial-gradient(260px 110px at var(--mx, 48%) -6%, rgba(255,255,255,.13), transparent 78%),
    linear-gradient(180deg, rgba(12, 55, 104, .56), rgba(4, 31, 66, .60) 48%, rgba(2, 20, 45, .70)),
    var(--mock-panel) !important;
  box-shadow:
    var(--mock-shadow),
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 -1px 0 rgba(91, 187, 255, .12) !important;
  -webkit-backdrop-filter: blur(28px) saturate(160%) contrast(1.05) !important;
  backdrop-filter: blur(28px) saturate(160%) contrast(1.05) !important;
}

#adminView .cm-card::before,
#adminView .dash-panel::before,
#adminView .kpi::before,
#adminView .stat::before,
#adminView .data-filter-panel::before,
#adminView .filter-summary::before,
#adminView .mail-shell::before,
#adminView .mail-toolbox::before,
#adminView .modal-card::before,
#adminView .public-events-map::before,
#adminView .mrow::before,
#adminView .entry::before,
#adminView .eventbrite-card::before,
#adminView .paper-lens-card::before {
  background:
    radial-gradient(320px 20px at 18% 0%, rgba(255,255,255,.72), transparent 78%),
    radial-gradient(230px 18px at 82% 3%, rgba(130, 221, 255, .30), transparent 78%),
    linear-gradient(132deg, transparent 0 42%, rgba(255,255,255,.065) 49%, transparent 58%) !important;
  opacity: .86 !important;
}

#adminView .cm-card::after,
#adminView .dash-panel::after,
#adminView .kpi::after,
#adminView .stat::after,
#adminView .data-filter-panel::after,
#adminView .filter-summary::after,
#adminView .mail-shell::after,
#adminView .mail-toolbox::after,
#adminView .modal-card::after,
#adminView .public-events-map::after,
#adminView .mrow::after,
#adminView .entry::after,
#adminView .eventbrite-card::after,
#adminView .paper-lens-card::after {
  background:
    radial-gradient(260px circle at var(--mx, 52%) var(--my, 45%), rgba(255,255,255,.11), transparent 54%),
    linear-gradient(180deg, transparent 0 82%, rgba(83, 187, 255, .18) 94%, transparent) !important;
  opacity: .78 !important;
}

#adminView .cm-nav {
  gap: 9px !important;
}

#adminView .nav-group {
  margin-bottom: 24px !important;
}

#adminView .nav-group-label {
  margin: 0 0 10px 8px !important;
  color: rgba(169, 211, 242, .68) !important;
  font-size: 11px !important;
  letter-spacing: .13em !important;
}

#adminView .cm-nav .tab-btn,
#adminView .cm-sidelink,
#adminView .cm-report,
#adminView .btn-primary,
#adminView .btn-ghost,
#adminView .btn-danger,
#adminView #cmSearch,
#adminView input,
#adminView select,
#adminView textarea,
#adminView .field-toggle-row label,
#adminView .mail-folders button,
#adminView .mail-filter-row button,
#adminView .mail-icon-btn,
#adminView .sort-chip,
#adminView .badge,
#adminView .vbadge,
#adminView .scan-chip,
#adminView .paper-scan-picker,
#adminView .entry-action,
#adminView .entry-btns .del {
  border-radius: 18px !important;
  border: 1px solid rgba(126, 198, 244, .24) !important;
  background:
    radial-gradient(170px 54px at var(--mx, 50%) 0%, rgba(255,255,255,.115), transparent 76%),
    linear-gradient(180deg, rgba(17, 62, 111, .58), rgba(6, 34, 73, .62)) !important;
  color: var(--mock-text) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.17),
    0 10px 22px rgba(0, 8, 24, .22) !important;
}

#adminView .cm-nav .tab-btn {
  min-height: 56px !important;
  padding: 0 18px !important;
  font-weight: 760 !important;
}

#adminView .cm-nav .tab-btn .ic,
#adminView .cm-sidelink .ic {
  width: 28px !important;
  height: 28px !important;
  color: #ddebff !important;
  border-color: rgba(152, 221, 255, .20) !important;
  background: rgba(40, 105, 169, .20) !important;
}

#adminView .cm-nav .tab-btn[aria-selected="true"],
#adminView .mail-folders button.on,
#adminView .mail-filter-row button.on {
  border-color: rgba(90, 190, 255, .72) !important;
  background:
    radial-gradient(170px 58px at 78% 0%, rgba(255,255,255,.22), transparent 75%),
    linear-gradient(180deg, rgba(15, 121, 239, .72), rgba(6, 65, 134, .70)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    0 0 30px rgba(10, 132, 255, .30),
    0 14px 28px rgba(0, 8, 24, .30) !important;
}

#adminView .btn-primary,
#adminView .cm-report:not(.cm-report-ghost),
#adminView .mail-compose,
#adminView .ai-command-form button {
  background:
    radial-gradient(180px 58px at var(--mx, 48%) 0%, rgba(255,255,255,.28), transparent 72%),
    linear-gradient(180deg, #2aa7ff, var(--mock-blue) 48%, #0069d8) !important;
  border-color: rgba(137, 214, 255, .52) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.36),
    0 14px 30px rgba(0, 97, 216, .30),
    0 0 22px rgba(10, 132, 255, .26) !important;
}

#adminView .cm-report {
  min-height: 58px !important;
  min-width: 186px !important;
  padding: 0 20px !important;
  font-weight: 800 !important;
}

#adminView input,
#adminView select,
#adminView textarea,
#adminView #cmSearch {
  min-height: 58px !important;
  background:
    radial-gradient(180px 54px at var(--mx, 50%) 0%, rgba(255,255,255,.10), transparent 76%),
    rgba(4, 32, 68, .56) !important;
}

#adminView .stat {
  min-height: 136px !important;
  padding: 24px 24px 22px 98px !important;
}

#adminView .stat::before {
  width: 58px !important;
  height: 58px !important;
  left: 24px !important;
  top: 27px !important;
}

#adminView .stat-num,
#adminView .filter-kpis strong,
#adminView .command-kpi-strip strong,
#adminView .mini-metric strong {
  color: #fff !important;
  font-family: var(--mock-serif) !important;
  font-weight: 500 !important;
}

#adminView .dash-panel h3,
#adminView .paper-lens-card h3,
#adminView .filter-summary-head h3,
#adminView .command-journey h3,
#adminView .command-timeline h3,
#adminView .mail-reader-head h3,
#adminView .mail-compose-panel h3,
#adminView #entryCount {
  color: #fff !important;
  font-family: var(--mock-serif) !important;
  font-weight: 500 !important;
}

#adminView .muted,
#adminView .small,
#adminView .cm-sub,
#adminView .stat-lbl,
#adminView .stat-sub,
#adminView .mail-list-body,
#adminView .mail-list-top span,
#adminView .command-kpi-strip span,
#adminView .filter-kpis span,
#adminView .filter-breakdowns span {
  color: var(--mock-muted) !important;
}

#adminView .command-layout {
  grid-template-columns: minmax(520px, 1.03fr) minmax(430px, .97fr) !important;
  gap: 28px !important;
}

#adminView .command-left,
#adminView .command-right {
  gap: 24px !important;
}

#adminView .command-sig-row,
#adminView .entry,
#adminView .mrow,
#adminView .mail-list-item {
  border-radius: 18px !important;
  background:
    radial-gradient(180px 60px at var(--mx, 50%) 0%, rgba(255,255,255,.10), transparent 74%),
    linear-gradient(180deg, rgba(12, 50, 91, .55), rgba(5, 31, 64, .58)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 9px 22px rgba(0, 8, 24, .22) !important;
}

#adminView .mail-shell {
  grid-template-columns: 184px minmax(280px, .58fr) minmax(460px, 1fr) !important;
}

#adminView .mail-left,
#adminView .mail-middle,
#adminView .mail-reader {
  background: transparent !important;
}

#adminView .mail-list-item.is-active,
#adminView .mail-list-item:hover {
  background:
    radial-gradient(180px 62px at var(--mx, 50%) 0%, rgba(255,255,255,.14), transparent 75%),
    linear-gradient(180deg, rgba(10, 132, 255, .28), rgba(5, 45, 95, .54)) !important;
}

#adminView .ai-thread-command .bubble,
#adminView .avatar-chat-messages .msg,
#adminView .mail-open,
#adminView .recipient-summary span {
  background: rgba(58, 92, 113, .46) !important;
  border-color: rgba(170, 218, 244, .22) !important;
}

#adminView .ai-thread-command .bubble.user,
#adminView .avatar-chat-messages .msg.me {
  background: linear-gradient(180deg, #1d9cff, #0a84ff 52%, #0070df) !important;
}

@media (max-width: 1450px) {
  #adminView .cm-shell {
    grid-template-columns: 270px minmax(0, 1fr) !important;
  }
  #adminView .cm-sidebar {
    width: 270px !important;
    flex-basis: 270px !important;
  }
}

@media (max-width: 1180px) {
  #adminView .cm-shell,
  #adminView .command-layout,
  #adminView .mail-shell {
    grid-template-columns: 1fr !important;
  }
  #adminView .cm-sidebar,
  #adminView .cm-main {
    height: auto !important;
  }
}

/* Admin viewport hard lock: prevents the public white page from showing through. */
body.cm-open {
  background: #000b1d !important;
  overflow: hidden !important;
}

body.cm-open main {
  max-width: none !important;
  width: 100vw !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #000b1d !important;
}

#adminView:not([hidden]) {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1000 !important;
  display: block !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
  background:
    radial-gradient(900px 560px at 50% -8%, rgba(15, 93, 184, .35), transparent 72%),
    radial-gradient(1000px 620px at 88% 78%, rgba(26, 119, 208, .22), transparent 70%),
    linear-gradient(145deg, #000b1d 0%, #001a38 42%, #042a58 72%, #001124 100%) !important;
}

#adminView:not([hidden])::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(172deg, transparent 0 39%, rgba(197, 231, 255, .08) 43%, transparent 49%),
    linear-gradient(173deg, transparent 0 64%, rgba(238, 249, 255, .14) 67%, transparent 73%),
    radial-gradient(620px 120px at 54% 72%, rgba(207, 237, 255, .13), transparent 78%);
}

#adminView > .cm-shell {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  overflow: hidden !important;
  background: transparent !important;
}

#adminView .cm-sidebar {
  height: 100% !important;
  max-height: 100vh !important;
  max-height: 100dvh !important;
}

#adminView .cm-main {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100vh !important;
  max-height: 100dvh !important;
}

#adminView .cm-content {
  position: relative !important;
  z-index: 1 !important;
  min-height: 0 !important;
  background: transparent !important;
}

#adminView .tab-panel:not([hidden]) {
  min-height: calc(100vh - 132px) !important;
  min-height: calc(100dvh - 132px) !important;
  background: transparent !important;
}

#adminView .dashboard,
#adminView #paperSection,
#adminView .filter-summary,
#adminView .entry-list,
#adminView .admin-actions,
#adminView .list-controls {
  position: relative !important;
  z-index: 1 !important;
}

@media (max-width: 1180px) {
  body.cm-open,
  body.cm-open main {
    overflow: auto !important;
  }
  #adminView:not([hidden]) {
    position: relative !important;
    min-height: 100dvh !important;
    height: auto !important;
    overflow: visible !important;
  }
  #adminView > .cm-shell {
    position: relative !important;
    min-height: 100dvh !important;
    height: auto !important;
    overflow: visible !important;
  }
}

/* Production viewport and mockup lock. This keeps the admin UI from collapsing into
   the public page and forces the full-screen navy glass shell from the references. */
html:has(body.cm-open) {
  background: #000b1d !important;
  overflow: hidden !important;
}

body.cm-open,
body.cm-open main,
body.cm-open #adminView {
  max-width: none !important;
  width: 100vw !important;
  min-width: 100vw !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #000b1d !important;
}

body.cm-open #adminView:not([hidden]) {
  position: fixed !important;
  inset: 0 !important;
  display: block !important;
  isolation: isolate !important;
  contain: layout paint style !important;
  overflow: hidden !important;
  color: rgba(249, 253, 255, .97) !important;
  background:
    radial-gradient(980px 620px at 52% -8%, rgba(15, 93, 184, .36), transparent 72%),
    radial-gradient(1100px 680px at 90% 80%, rgba(26, 119, 208, .24), transparent 70%),
    linear-gradient(145deg, #000b1d 0%, #001a38 42%, #042a58 72%, #001124 100%) !important;
}

body.cm-open #adminView:not([hidden])::before {
  z-index: 0 !important;
  background:
    linear-gradient(172deg, transparent 0 38%, rgba(197, 231, 255, .075) 43%, transparent 50%),
    linear-gradient(173deg, transparent 0 64%, rgba(238, 249, 255, .135) 67%, transparent 73%),
    radial-gradient(620px 120px at 54% 72%, rgba(207, 237, 255, .12), transparent 78%) !important;
}

body.cm-open #adminView > .cm-shell {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: 286px minmax(0, 1fr) !important;
  gap: 22px !important;
  width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}

body.cm-open #adminView .cm-sidebar {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 286px !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.cm-open #adminView .cm-nav {
  min-height: 0 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}

body.cm-open #adminView .cm-user-card {
  display: none !important;
}

body.cm-open #adminView .cm-main {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}

body.cm-open #adminView .cm-topbar {
  min-height: 118px !important;
}

body.cm-open #adminView .cm-content {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  background: transparent !important;
}

body.cm-open #adminView .tab-panel:not([hidden]) {
  display: block !important;
  min-height: calc(100vh - 170px) !important;
  min-height: calc(100dvh - 170px) !important;
  background: transparent !important;
}

body.cm-open #adminView .dashboard,
body.cm-open #adminView #paperSection,
body.cm-open #adminView .entry-list,
body.cm-open #adminView .filter-summary,
body.cm-open #adminView .list-controls,
body.cm-open #adminView .admin-actions {
  background: transparent !important;
}

@media (max-width: 1450px) {
  body.cm-open #adminView > .cm-shell {
    grid-template-columns: 270px minmax(0, 1fr) !important;
  }
  body.cm-open #adminView .cm-sidebar {
    width: 270px !important;
  }
}

@media (max-width: 1180px) {
  html:has(body.cm-open),
  body.cm-open {
    overflow: auto !important;
  }
  body.cm-open #adminView:not([hidden]) {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
  }
  body.cm-open #adminView > .cm-shell {
    position: relative !important;
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
  }
  body.cm-open #adminView .cm-sidebar,
  body.cm-open #adminView .cm-main {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
}

/* Jordan HQ cohesive design system
   Levels: shell glass, panel glass, liquid controls, primary accent. */
body.cm-open #adminView {
  --jhq-bg-0: #000816;
  --jhq-bg-1: #001934;
  --jhq-bg-2: #062f63;
  --jhq-shell: rgba(3, 25, 55, .54);
  --jhq-panel: rgba(5, 32, 69, .48);
  --jhq-panel-2: rgba(9, 45, 89, .38);
  --jhq-row: rgba(8, 37, 73, .34);
  --jhq-line: rgba(126, 198, 244, .22);
  --jhq-line-hot: rgba(154, 224, 255, .58);
  --jhq-blue: #0a84ff;
  --jhq-blue-2: #38bdf8;
  --jhq-text: rgba(249, 253, 255, .96);
  --jhq-muted: rgba(201, 222, 244, .72);
  --jhq-faint: rgba(201, 222, 244, .52);
  --jhq-radius-sm: 14px;
  --jhq-radius-md: 18px;
  --jhq-radius-lg: 26px;
  --jhq-radius-xl: 32px;
  --jhq-gap-1: 8px;
  --jhq-gap-2: 12px;
  --jhq-gap-3: 16px;
  --jhq-gap-4: 22px;
  --jhq-gap-5: 30px;
  --jhq-serif: Georgia, "Times New Roman", serif;
  color: var(--jhq-text) !important;
}

body.cm-open #adminView:not([hidden]) {
  background:
    radial-gradient(1100px 660px at 52% -12%, rgba(12, 102, 214, .32), transparent 72%),
    radial-gradient(900px 520px at 86% 88%, rgba(49, 145, 229, .18), transparent 72%),
    linear-gradient(145deg, var(--jhq-bg-0), var(--jhq-bg-1) 45%, var(--jhq-bg-2) 78%, #001024) !important;
}

body.cm-open #adminView:not([hidden])::before {
  background:
    radial-gradient(700px 150px at 48% 64%, rgba(130, 207, 255, .10), transparent 78%),
    linear-gradient(172deg, transparent 0 58%, rgba(236, 249, 255, .075) 62%, transparent 69%) !important;
  opacity: .78 !important;
}

body.cm-open #adminView .AppShell {
  grid-template-columns: 286px minmax(0, 1fr) !important;
  gap: var(--jhq-gap-4) !important;
  padding: 0 !important;
}

body.cm-open #adminView .shell-glass,
body.cm-open #adminView .Sidebar,
body.cm-open #adminView .TopBar,
body.cm-open #adminView .PageStage {
  background:
    linear-gradient(180deg, rgba(10, 49, 94, .42), rgba(3, 22, 49, .48)),
    var(--jhq-shell) !important;
  border: 1px solid rgba(126, 198, 244, .18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .16),
    inset 0 -1px 0 rgba(69, 171, 255, .06),
    0 22px 60px rgba(0, 6, 20, .28) !important;
  -webkit-backdrop-filter: blur(26px) saturate(150%) contrast(1.05) !important;
  backdrop-filter: blur(26px) saturate(150%) contrast(1.05) !important;
}

body.cm-open #adminView .Sidebar {
  border-radius: 0 var(--jhq-radius-xl) var(--jhq-radius-xl) 0 !important;
  border-left: 0 !important;
  padding: 28px 22px !important;
}

body.cm-open #adminView .cm-brand {
  min-height: 106px !important;
  margin-bottom: 18px !important;
}

body.cm-open #adminView .cm-brandword {
  font-family: var(--jhq-serif) !important;
  font-size: 44px !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  color: #fff !important;
}

body.cm-open #adminView .TopBar {
  border-radius: 0 0 0 var(--jhq-radius-xl) !important;
  background: transparent !important;
  border-color: transparent transparent rgba(126, 198, 244, .13) transparent !important;
  box-shadow: none !important;
}

body.cm-open #adminView .PageStage {
  padding: 22px 26px 34px !important;
  border-radius: var(--jhq-radius-xl) 0 0 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  background:
    radial-gradient(820px 360px at 78% 12%, rgba(32, 117, 210, .18), transparent 72%),
    linear-gradient(180deg, rgba(2, 24, 55, .18), rgba(1, 16, 36, .20)) !important;
}

body.cm-open #adminView .PageStage-panel {
  display: grid !important;
  gap: var(--jhq-gap-4) !important;
  align-content: start !important;
  color: var(--jhq-text) !important;
}

body.cm-open #adminView .tab-panel[hidden],
body.cm-open #adminView .PageStage-panel[hidden] {
  display: none !important;
}

body.cm-open #adminView .PageHeader {
  margin: 0 !important;
  padding: 0 !important;
}

body.cm-open #adminView .PageHeader h1,
body.cm-open #adminView .PageHeader h2 {
  margin: 0 !important;
  font-family: var(--jhq-serif) !important;
  font-size: clamp(34px, 3vw, 50px) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  color: #fff !important;
  text-shadow: 0 0 26px rgba(69, 178, 255, .16) !important;
}

body.cm-open #adminView .PageHeader p {
  max-width: 760px !important;
  margin: 8px 0 0 !important;
  color: var(--jhq-muted) !important;
  font-size: 16px !important;
}

body.cm-open #adminView .GlassPanel,
body.cm-open #adminView .panel-glass {
  position: relative !important;
  overflow: hidden !important;
  border-radius: var(--jhq-radius-lg) !important;
  border: 1px solid var(--jhq-line) !important;
  background:
    radial-gradient(420px 120px at var(--mx, 52%) -18%, rgba(255, 255, 255, .10), transparent 78%),
    linear-gradient(180deg, rgba(10, 49, 93, .44), rgba(4, 29, 62, .48) 54%, rgba(2, 19, 43, .54)),
    var(--jhq-panel) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .20),
    inset 0 -1px 0 rgba(74, 182, 255, .07),
    0 20px 54px rgba(0, 8, 24, .28) !important;
  -webkit-backdrop-filter: blur(22px) saturate(142%) contrast(1.04) !important;
  backdrop-filter: blur(22px) saturate(142%) contrast(1.04) !important;
}

body.cm-open #adminView .GlassPanel::before,
body.cm-open #adminView .panel-glass::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  background:
    radial-gradient(300px 18px at 20% 0%, rgba(255, 255, 255, .52), transparent 78%),
    linear-gradient(132deg, transparent 0 48%, rgba(255, 255, 255, .045) 54%, transparent 61%) !important;
  opacity: .60 !important;
}

body.cm-open #adminView .GlassPanel::after,
body.cm-open #adminView .panel-glass::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 22px 0 !important;
  height: 1px !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, transparent, rgba(105, 204, 255, .35), transparent) !important;
  opacity: .75 !important;
}

body.cm-open #adminView .GlassPanel > *,
body.cm-open #adminView .panel-glass > * {
  position: relative !important;
  z-index: 1 !important;
}

body.cm-open #adminView .MetricCard {
  min-height: 112px !important;
  border-radius: var(--jhq-radius-lg) !important;
}

body.cm-open #adminView .DataTable {
  display: grid !important;
  gap: var(--jhq-gap-2) !important;
}

body.cm-open #adminView .GlassRow,
body.cm-open #adminView .glass-row {
  position: relative !important;
  overflow: hidden !important;
  border-radius: var(--jhq-radius-md) !important;
  border: 1px solid rgba(126, 198, 244, .16) !important;
  background:
    linear-gradient(180deg, rgba(11, 47, 86, .36), rgba(4, 29, 60, .34)),
    var(--jhq-row) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .095),
    0 9px 24px rgba(0, 8, 24, .14) !important;
  -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
}

body.cm-open #adminView .GlassRow::before,
body.cm-open #adminView .glass-row::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 12px auto !important;
  height: 1px !important;
  border-radius: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .20), transparent) !important;
  opacity: .72 !important;
}

body.cm-open #adminView .GlassRow::after,
body.cm-open #adminView .glass-row::after {
  display: none !important;
}

body.cm-open #adminView .LiquidButton,
body.cm-open #adminView .cm-nav .tab-btn,
body.cm-open #adminView .cm-sidelink,
body.cm-open #adminView #cmSearch,
body.cm-open #adminView input,
body.cm-open #adminView select,
body.cm-open #adminView textarea {
  border-radius: var(--jhq-radius-md) !important;
  border: 1px solid rgba(126, 198, 244, .28) !important;
  background:
    radial-gradient(160px 50px at var(--mx, 50%) -8%, rgba(255,255,255,.18), transparent 74%),
    linear-gradient(180deg, rgba(23, 79, 135, .50), rgba(5, 35, 76, .56)) !important;
  color: var(--jhq-text) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(55, 185, 255, .10),
    0 10px 24px rgba(0, 8, 24, .20) !important;
  transition:
    transform 150ms ease,
    border-color 150ms ease,
    background 150ms ease,
    box-shadow 150ms ease !important;
}

body.cm-open #adminView .LiquidButton:hover,
body.cm-open #adminView .cm-nav .tab-btn:hover,
body.cm-open #adminView input:hover,
body.cm-open #adminView select:hover,
body.cm-open #adminView textarea:hover {
  transform: translateY(-1px) !important;
  border-color: var(--jhq-line-hot) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(55, 185, 255, .16),
    0 12px 26px rgba(0, 8, 24, .24),
    0 0 16px rgba(61, 180, 255, .10) !important;
}

body.cm-open #adminView .LiquidButton:active,
body.cm-open #adminView .cm-nav .tab-btn:active {
  transform: translateY(0) scale(.985) !important;
}

body.cm-open #adminView .primary-accent,
body.cm-open #adminView .cm-nav .tab-btn[aria-selected="true"],
body.cm-open #adminView .btn-primary.primary-accent,
body.cm-open #adminView .cm-report:not(.cm-report-ghost).primary-accent {
  border-color: rgba(158, 229, 255, .70) !important;
  background:
    radial-gradient(190px 60px at 62% -8%, rgba(255, 255, 255, .36), transparent 72%),
    linear-gradient(180deg, #38bdf8, var(--jhq-blue) 50%, #006bdd) !important;
  color: #fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(12, 67, 156, .24),
    0 16px 34px rgba(10, 132, 255, .30),
    0 0 24px rgba(56, 189, 248, .24) !important;
}

body.cm-open #adminView .StatusPill {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(126, 198, 244, .20) !important;
  background: rgba(9, 53, 102, .44) !important;
  color: rgba(230, 244, 255, .90) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}

body.cm-open #adminView .CommandStrip {
  display: flex !important;
  align-items: center !important;
  gap: var(--jhq-gap-2) !important;
  flex-wrap: wrap !important;
}

body.cm-open #adminView .FilterBar {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(160px, 220px)) auto !important;
  gap: var(--jhq-gap-2) !important;
  align-items: center !important;
}

body.cm-open #adminView .FilterBar input,
body.cm-open #adminView .FilterBar select {
  min-height: 46px !important;
}

body.cm-open #adminView .AdvancedFilters,
body.cm-open #adminView .MoreActions {
  position: relative !important;
}

body.cm-open #adminView .AdvancedFilters summary,
body.cm-open #adminView .MoreActions summary {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  list-style: none !important;
  cursor: pointer !important;
  padding: 0 16px !important;
  font-weight: 800 !important;
}

body.cm-open #adminView .AdvancedFilters summary::-webkit-details-marker,
body.cm-open #adminView .MoreActions summary::-webkit-details-marker {
  display: none !important;
}

body.cm-open #adminView .AdvancedFilters-menu,
body.cm-open #adminView .MoreActions-menu {
  position: absolute !important;
  z-index: 20 !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  min-width: min(420px, 88vw) !important;
  display: grid !important;
  gap: var(--jhq-gap-2) !important;
  padding: 14px !important;
  border-radius: var(--jhq-radius-lg) !important;
  border: 1px solid var(--jhq-line) !important;
  background: rgba(4, 25, 55, .92) !important;
  box-shadow: 0 24px 60px rgba(0, 8, 24, .45), inset 0 1px 0 rgba(255,255,255,.18) !important;
  -webkit-backdrop-filter: blur(24px) saturate(150%) !important;
  backdrop-filter: blur(24px) saturate(150%) !important;
}

body.cm-open #adminView .MoreActions-menu button {
  width: 100% !important;
  min-height: 44px !important;
}

body.cm-open #adminView .RightRail {
  align-self: start !important;
}

body.cm-open #adminView .EmptyState {
  min-height: 96px !important;
  display: grid !important;
  place-items: center !important;
  padding: 18px !important;
  border: 1px dashed rgba(126, 198, 244, .22) !important;
  border-radius: var(--jhq-radius-lg) !important;
  background: rgba(8, 37, 73, .22) !important;
  color: var(--jhq-muted) !important;
}

body.cm-open #adminView .admin-actions {
  grid-template-columns: none !important;
  margin: 0 !important;
}

body.cm-open #adminView .admin-actions > button,
body.cm-open #adminView .admin-actions > .MoreActions {
  flex: 0 1 auto !important;
}

body.cm-open #adminView .admin-actions > button {
  width: auto !important;
  min-width: 180px !important;
  min-height: 48px !important;
  padding: 0 18px !important;
}

body.cm-open #adminView .command-layout {
  grid-template-columns: minmax(520px, 1.05fr) minmax(380px, .95fr) !important;
  gap: var(--jhq-gap-5) !important;
}

body.cm-open #adminView .command-left,
body.cm-open #adminView .command-right {
  gap: var(--jhq-gap-4) !important;
}

body.cm-open #adminView .mail-shell {
  grid-template-columns: 190px minmax(270px, .55fr) minmax(440px, 1fr) !important;
  gap: var(--jhq-gap-3) !important;
}

body.cm-open #adminView #leafletMap,
body.cm-open #adminView .leaflet-container {
  border-radius: var(--jhq-radius-lg) !important;
  background: #031b37 !important;
  filter: saturate(.82) brightness(.78) contrast(1.08) !important;
}

body.cm-open #adminView .cm-grid,
body.cm-open #adminView .dash-cols,
body.cm-open #adminView .event-planning-grid,
body.cm-open #adminView .event-utility-grid,
body.cm-open #adminView .map-intel-grid,
body.cm-open #adminView .mail-bottom-grid {
  gap: var(--jhq-gap-4) !important;
}

body.cm-open #adminView .field-toggle-wrap {
  grid-column: 1 / -1 !important;
  padding-top: 6px !important;
}

@media (max-width: 1450px) {
  body.cm-open #adminView .FilterBar {
    grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(140px, 1fr)) !important;
  }
  body.cm-open #adminView .command-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1180px) {
  body.cm-open #adminView .AppShell {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  body.cm-open #adminView .Sidebar {
    border-radius: 0 0 var(--jhq-radius-xl) var(--jhq-radius-xl) !important;
  }
  body.cm-open #adminView .TopBar,
  body.cm-open #adminView .PageStage {
    border-radius: 0 !important;
  }
  body.cm-open #adminView .FilterBar,
  body.cm-open #adminView .mail-shell {
    grid-template-columns: 1fr !important;
  }
  body.cm-open #adminView .AdvancedFilters-menu,
  body.cm-open #adminView .MoreActions-menu {
    position: static !important;
    margin-top: 8px !important;
    min-width: 0 !important;
  }
}

/* Jordan HQ material correction: darker smoked glass with liquid accents only where they matter. */
body.cm-open #adminView {
  --jhq-bg-0: #020914;
  --jhq-bg-1: #04172d;
  --jhq-bg-2: #062b55;
  --jhq-text: rgba(248, 252, 255, .96);
  --jhq-muted: rgba(199, 219, 239, .74);
  --jhq-soft: rgba(145, 190, 227, .58);
  --jhq-line: rgba(126, 207, 255, .20);
  --jhq-line-hot: rgba(167, 232, 255, .62);
  --jhq-panel-fill: rgba(3, 23, 49, .68);
  --jhq-panel-edge: rgba(151, 222, 255, .28);
  --jhq-field-fill: rgba(1, 13, 31, .62);
  --jhq-primary: #0a84ff;
  --jhq-primary-2: #39c8ff;
}

body.cm-open #adminView,
body.cm-open #adminView .admin-shell {
  background:
    radial-gradient(1000px 600px at 72% 12%, rgba(22, 94, 174, .28), transparent 65%),
    radial-gradient(760px 520px at 24% 88%, rgba(20, 160, 210, .12), transparent 68%),
    linear-gradient(135deg, var(--jhq-bg-0), var(--jhq-bg-1) 52%, var(--jhq-bg-2)) !important;
}

body.cm-open #adminView .Sidebar,
body.cm-open #adminView .TopBar,
body.cm-open #adminView .PageStage {
  background:
    linear-gradient(180deg, rgba(8, 35, 70, .66), rgba(2, 13, 31, .72)) !important;
  border: 1px solid rgba(112, 193, 242, .20) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .11),
    inset 0 -1px 0 rgba(55, 179, 255, .045),
    0 28px 70px rgba(0, 8, 24, .28) !important;
  -webkit-backdrop-filter: blur(24px) saturate(145%) contrast(1.02) !important;
  backdrop-filter: blur(24px) saturate(145%) contrast(1.02) !important;
}

body.cm-open #adminView .PageStage::before,
body.cm-open #adminView .Sidebar::before {
  opacity: .16 !important;
  background:
    radial-gradient(480px 120px at 18% 0%, rgba(255, 255, 255, .18), transparent 70%),
    linear-gradient(125deg, transparent 28%, rgba(255, 255, 255, .06) 42%, transparent 56%) !important;
}

body.cm-open #adminView .GlassPanel,
body.cm-open #adminView .panel-glass,
body.cm-open #adminView .cm-card,
body.cm-open #adminView .dash-panel,
body.cm-open #adminView .kpi,
body.cm-open #adminView .mail-shell,
body.cm-open #adminView .mail-panel,
body.cm-open #adminView .map-card,
body.cm-open #adminView .events-calendar,
body.cm-open #adminView .media-card {
  background:
    radial-gradient(520px 210px at 12% -10%, rgba(255, 255, 255, .13), transparent 62%),
    linear-gradient(180deg, rgba(10, 50, 93, .54), rgba(3, 20, 43, .70) 58%, rgba(2, 13, 31, .78)) !important;
  border: 1px solid var(--jhq-panel-edge) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .18),
    inset 0 -1px 0 rgba(64, 198, 255, .06),
    0 22px 58px rgba(0, 7, 22, .30) !important;
  -webkit-backdrop-filter: blur(22px) saturate(140%) contrast(1.04) !important;
  backdrop-filter: blur(22px) saturate(140%) contrast(1.04) !important;
}

body.cm-open #adminView .GlassPanel::before,
body.cm-open #adminView .panel-glass::before,
body.cm-open #adminView .cm-card::before,
body.cm-open #adminView .dash-panel::before,
body.cm-open #adminView .kpi::before {
  opacity: .45 !important;
  background:
    radial-gradient(320px 42px at var(--mx, 30%) 0%, rgba(255, 255, 255, .20), transparent 74%),
    linear-gradient(90deg, transparent 8%, rgba(179, 238, 255, .20), transparent 42%) !important;
}

body.cm-open #adminView .GlassPanel::after,
body.cm-open #adminView .panel-glass::after,
body.cm-open #adminView .cm-card::after,
body.cm-open #adminView .dash-panel::after,
body.cm-open #adminView .kpi::after,
body.cm-open #adminView .GlassRow::after,
body.cm-open #adminView .glass-row::after,
body.cm-open #adminView .mrow::after,
body.cm-open #adminView .entry::after {
  display: none !important;
}

body.cm-open #adminView .GlassRow,
body.cm-open #adminView .glass-row,
body.cm-open #adminView .mrow,
body.cm-open #adminView .entry,
body.cm-open #adminView .mail-list-item,
body.cm-open #adminView .command-sig-row {
  background: rgba(6, 31, 63, .44) !important;
  border: 1px solid rgba(126, 207, 255, .16) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .075),
    0 8px 20px rgba(0, 7, 22, .10) !important;
  -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
  backdrop-filter: blur(10px) saturate(120%) !important;
}

body.cm-open #adminView .GlassRow::before,
body.cm-open #adminView .glass-row::before,
body.cm-open #adminView .mrow::before,
body.cm-open #adminView .entry::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 14px auto !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(195, 239, 255, .18), transparent) !important;
  opacity: .55 !important;
  pointer-events: none !important;
}

body.cm-open #adminView input,
body.cm-open #adminView select,
body.cm-open #adminView textarea,
body.cm-open #adminView #cmSearch {
  background:
    linear-gradient(180deg, rgba(0, 8, 22, .66), rgba(4, 27, 57, .56)) !important;
  border: 1px solid rgba(124, 194, 235, .22) !important;
  color: var(--jhq-text) !important;
  box-shadow:
    inset 0 2px 12px rgba(0, 4, 15, .46),
    inset 0 1px 0 rgba(255, 255, 255, .055),
    0 1px 0 rgba(255, 255, 255, .035) !important;
  -webkit-backdrop-filter: blur(14px) saturate(128%) !important;
  backdrop-filter: blur(14px) saturate(128%) !important;
}

body.cm-open #adminView input:hover,
body.cm-open #adminView select:hover,
body.cm-open #adminView textarea:hover,
body.cm-open #adminView input:focus,
body.cm-open #adminView select:focus,
body.cm-open #adminView textarea:focus,
body.cm-open #adminView #cmSearch:focus {
  transform: none !important;
  border-color: rgba(145, 219, 255, .44) !important;
  box-shadow:
    inset 0 2px 12px rgba(0, 4, 15, .46),
    inset 0 1px 0 rgba(255, 255, 255, .08),
    0 0 0 3px rgba(10, 132, 255, .13) !important;
}

body.cm-open #adminView .LiquidButton,
body.cm-open #adminView .btn-primary,
body.cm-open #adminView .btn-ghost,
body.cm-open #adminView .linklike,
body.cm-open #adminView .cm-report,
body.cm-open #adminView .cm-sidelink,
body.cm-open #adminView .cm-nav .tab-btn {
  background:
    linear-gradient(180deg, rgba(18, 61, 106, .52), rgba(4, 27, 58, .62)) !important;
  border: 1px solid rgba(135, 207, 246, .26) !important;
  color: var(--jhq-text) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .16),
    inset 0 -1px 0 rgba(61, 183, 255, .05),
    0 9px 22px rgba(0, 7, 22, .18) !important;
}

body.cm-open #adminView .LiquidButton:hover,
body.cm-open #adminView .btn-primary:hover,
body.cm-open #adminView .btn-ghost:hover,
body.cm-open #adminView .linklike:hover,
body.cm-open #adminView .cm-report:hover,
body.cm-open #adminView .cm-nav .tab-btn:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(164, 231, 255, .42) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .20),
    0 12px 28px rgba(0, 7, 22, .23) !important;
}

body.cm-open #adminView .primary-accent,
body.cm-open #adminView .checkin-save,
body.cm-open #adminView .cm-report:not(.cm-report-ghost),
body.cm-open #adminView .cm-nav .tab-btn[aria-selected="true"] {
  background:
    radial-gradient(190px 58px at var(--mx, 60%) -8%, rgba(255, 255, 255, .42), transparent 72%),
    linear-gradient(180deg, #54d4ff 0%, #0a84ff 52%, #0057d8 100%) !important;
  border-color: rgba(191, 244, 255, .72) !important;
  color: #fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .48),
    inset 0 -1px 0 rgba(0, 52, 137, .32),
    0 18px 36px rgba(10, 132, 255, .29),
    0 0 28px rgba(62, 201, 255, .22) !important;
}

body.cm-open #adminView .LiquidButton:active,
body.cm-open #adminView .btn-primary:active,
body.cm-open #adminView .btn-ghost:active,
body.cm-open #adminView .linklike:active,
body.cm-open #adminView .checkin-save:active {
  transform: translateY(1px) scale(.985) !important;
}

body.cm-open #adminView .cm-nav .tab-btn {
  min-height: 48px !important;
  justify-content: flex-start !important;
  border-color: rgba(126, 207, 255, .16) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10) !important;
}

body.cm-open #adminView .cm-nav .tab-btn:not([aria-selected="true"]) {
  background: rgba(5, 27, 58, .46) !important;
}

body.cm-open #adminView .checkin-page-head h2 {
  margin-bottom: 8px !important;
}

body.cm-open #adminView .checkin-station-grid {
  display: grid !important;
  grid-template-columns: minmax(420px, 1.16fr) minmax(290px, .84fr) !important;
  gap: 20px !important;
  align-items: start !important;
}

body.cm-open #adminView .checkin-panel {
  padding: 22px !important;
  border-radius: var(--jhq-radius-xl) !important;
}

body.cm-open #adminView .panel-title {
  display: grid !important;
  gap: 4px !important;
  margin-bottom: 16px !important;
}

body.cm-open #adminView .panel-title h3 {
  margin: 0 !important;
  color: var(--jhq-text) !important;
}

body.cm-open #adminView .checkin-form {
  display: grid !important;
  gap: 14px !important;
}

body.cm-open #adminView .checkin-form label {
  display: grid !important;
  gap: 7px !important;
  color: var(--jhq-muted) !important;
  font-weight: 800 !important;
}

body.cm-open #adminView .checkin-form label > span {
  font-size: 12px !important;
  letter-spacing: .03em !important;
}

body.cm-open #adminView .checkin-form input,
body.cm-open #adminView .checkin-form select,
body.cm-open #adminView .checkin-form textarea {
  width: 100% !important;
  min-height: 46px !important;
  border-radius: 14px !important;
}

body.cm-open #adminView .checkin-field-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.cm-open #adminView .checkin-counts {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.cm-open #adminView .checkin-save {
  min-height: 52px !important;
  border-radius: 18px !important;
  font-weight: 900 !important;
}

body.cm-open #adminView .checkin-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.cm-open #adminView .checkin-summary-item {
  min-height: 112px !important;
  display: grid !important;
  align-content: center !important;
  gap: 6px !important;
  padding: 18px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(126, 207, 255, .18) !important;
  background:
    radial-gradient(160px 80px at 22% 0%, rgba(76, 198, 255, .12), transparent 72%),
    rgba(4, 24, 51, .52) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09) !important;
}

body.cm-open #adminView .checkin-summary-item strong {
  font-family: var(--jhq-serif) !important;
  font-size: clamp(34px, 4vw, 48px) !important;
  line-height: .95 !important;
  color: #fff !important;
}

body.cm-open #adminView .checkin-summary-item span {
  color: var(--jhq-muted) !important;
  font-weight: 800 !important;
}

body.cm-open #adminView .checkin-recent-panel {
  margin-top: 20px !important;
}

body.cm-open #adminView .checkin-table {
  display: grid !important;
  gap: 10px !important;
}

body.cm-open #adminView .checkin-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 14px 16px !important;
}

body.cm-open #adminView .checkin-empty {
  min-height: 112px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  border: 1px dashed rgba(126, 207, 255, .22) !important;
  border-radius: 18px !important;
  background: rgba(2, 18, 39, .40) !important;
}

@media (max-width: 1180px) {
  body.cm-open #adminView .checkin-station-grid,
  body.cm-open #adminView .checkin-counts,
  body.cm-open #adminView .checkin-field-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Keep compact filter/action popovers above filtered result panels. */
body.cm-open #adminView .PageStage-panel {
  overflow: visible !important;
}

body.cm-open #adminView .CommandStrip,
body.cm-open #adminView .FilterBar,
body.cm-open #adminView .admin-actions,
body.cm-open #adminView .list-controls {
  position: relative !important;
  overflow: visible !important;
  isolation: isolate !important;
}

body.cm-open #adminView .CommandStrip,
body.cm-open #adminView .admin-actions {
  z-index: 90 !important;
}

body.cm-open #adminView .FilterBar,
body.cm-open #adminView .list-controls {
  z-index: 80 !important;
}

body.cm-open #adminView .AdvancedFilters,
body.cm-open #adminView .MoreActions,
body.cm-open #adminView .liquid-popover {
  position: relative !important;
  overflow: visible !important;
}

body.cm-open #adminView .AdvancedFilters[open],
body.cm-open #adminView .MoreActions[open],
body.cm-open #adminView .liquid-popover[open] {
  z-index: 1000 !important;
}

body.cm-open #adminView .AdvancedFilters-menu,
body.cm-open #adminView .MoreActions-menu {
  z-index: 1001 !important;
}

body.cm-open #adminView .filter-summary,
body.cm-open #adminView #entryCount,
body.cm-open #adminView #entryList,
body.cm-open #adminView .entry-list,
body.cm-open #adminView .DataTable {
  position: relative !important;
  z-index: 1 !important;
}

/* Usability correction: keep native controls readable and prevent compact rows from overrunning. */
body.cm-open #adminView input[type="checkbox"],
body.cm-open #adminView input[type="radio"] {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 3px !important;
  background: initial !important;
  border: initial !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
  flex: 0 0 16px !important;
  accent-color: #39c8ff !important;
}

body.cm-open #adminView select option,
body.cm-open #adminView select optgroup {
  background: #061b36 !important;
  color: #f4fbff !important;
}

body.cm-open #adminView .checkline,
body.cm-open #adminView .map-controls label,
body.cm-open #adminView .field-toggle-row label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 34px !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 7px 10px !important;
  border-radius: 12px !important;
  color: var(--jhq-muted) !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  transform: none !important;
}

body.cm-open #adminView .field-toggle-row label {
  background: rgba(4, 27, 58, .38) !important;
  border: 1px solid rgba(126, 207, 255, .18) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07) !important;
}

body.cm-open #adminView .field-toggle-row label::before,
body.cm-open #adminView .field-toggle-row label::after,
body.cm-open #adminView .mail-filter-row button::before,
body.cm-open #adminView .mail-filter-row button::after {
  display: none !important;
}

body.cm-open #adminView .mail-filter-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}

body.cm-open #adminView .mail-filter-row button,
body.cm-open #adminView .mail-icon-btn {
  min-height: 34px !important;
  height: auto !important;
  min-width: 0 !important;
  width: auto !important;
  padding: 7px 12px !important;
  white-space: nowrap !important;
}

body.cm-open #adminView .mail-reader-actions {
  align-items: center !important;
  gap: 8px !important;
}

body.cm-open #adminView .map-filter-controls,
body.cm-open #adminView .data-filter-controls {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 10px !important;
  align-items: center !important;
}

body.cm-open #adminView .map-controls {
  overflow: visible !important;
}

body.cm-open #adminView .map-controls label {
  margin: 6px 0 !important;
}

body.cm-open #adminView .map-focus-row,
body.cm-open #adminView #tabPlanner .ov-row {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  overflow: visible !important;
}

body.cm-open #adminView .map-focus-row > *,
body.cm-open #adminView #tabPlanner .ov-row > * {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.cm-open #adminView #tabPlanner .ov-row .cal-chip {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

body.cm-open #adminView #tabPlanner .cm-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr) !important;
}

body.cm-open #adminView #tabPlanner .module-list {
  min-width: 0 !important;
  overflow: visible !important;
}

@media (max-width: 1180px) {
  body.cm-open #adminView #tabPlanner .cm-grid,
  body.cm-open #adminView .map-intel-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Signature Review workspace: table + sticky drawer, no expanded row slabs. */
body.cm-open #adminView #tabSignatures {
  gap: 18px !important;
}

body.cm-open #adminView .sig-review-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: start !important;
  gap: 20px !important;
}

body.cm-open #adminView .sig-kicker {
  margin: 0 0 7px !important;
  color: rgba(125, 211, 252, .86) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

body.cm-open #adminView .sig-review-head .btn-primary {
  width: auto !important;
  min-width: 190px !important;
  min-height: 48px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
}

body.cm-open #adminView .sig-command-bar,
body.cm-open #adminView .sig-filter-bar {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  position: relative !important;
  z-index: 50 !important;
  overflow: visible !important;
}

body.cm-open #adminView .sig-filter-bar {
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(150px, 210px)) auto !important;
}

body.cm-open #adminView .sig-filter-bar input,
body.cm-open #adminView .sig-filter-bar select {
  min-height: 46px !important;
}

body.cm-open #adminView .sig-menu {
  position: relative !important;
  overflow: visible !important;
}

body.cm-open #adminView .sig-menu summary {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 15px !important;
  list-style: none !important;
  cursor: pointer !important;
  font-weight: 850 !important;
}

body.cm-open #adminView .sig-menu summary::-webkit-details-marker {
  display: none !important;
}

body.cm-open #adminView .sig-menu-panel {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  z-index: 1002 !important;
  min-width: 230px !important;
  display: grid !important;
  gap: 8px !important;
  padding: 12px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(151, 222, 255, .28) !important;
  background:
    linear-gradient(180deg, rgba(7, 35, 72, .94), rgba(2, 14, 32, .96)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .16),
    0 24px 64px rgba(0, 8, 24, .46) !important;
  -webkit-backdrop-filter: blur(24px) saturate(150%) !important;
  backdrop-filter: blur(24px) saturate(150%) !important;
}

body.cm-open #adminView .sig-filter-menu {
  min-width: min(420px, 84vw) !important;
}

body.cm-open #adminView .sig-filter-menu label {
  display: grid !important;
  gap: 6px !important;
  color: var(--jhq-muted) !important;
  font-weight: 800 !important;
}

body.cm-open #adminView .sig-menu-panel button {
  width: 100% !important;
  min-height: 40px !important;
}

body.cm-open #adminView .sig-summary-panel {
  display: grid !important;
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr) !important;
  gap: 18px !important;
  align-items: center !important;
  padding: 18px !important;
}

body.cm-open #adminView .sig-summary-copy h3 {
  margin: 0 0 4px !important;
  font-size: 18px !important;
}

body.cm-open #adminView .sig-metrics {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(100px, 1fr)) !important;
  gap: 10px !important;
}

body.cm-open #adminView .sig-metric {
  min-height: 78px !important;
  display: grid !important;
  align-content: center !important;
  gap: 3px !important;
  padding: 13px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(126, 207, 255, .16) !important;
  background: rgba(3, 23, 49, .48) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

body.cm-open #adminView .sig-metric strong {
  color: #fff !important;
  font-size: 28px !important;
  line-height: 1 !important;
}

body.cm-open #adminView .sig-metric span {
  color: var(--jhq-muted) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

body.cm-open #adminView .sig-metric.ok strong { color: #7df7bd !important; }
body.cm-open #adminView .sig-metric.warn strong { color: #ffd276 !important; }
body.cm-open #adminView .sig-metric.bad strong { color: #ff9baa !important; }

body.cm-open #adminView .sig-workspace {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px) !important;
  gap: 18px !important;
  align-items: start !important;
}

body.cm-open #adminView .sig-table-panel,
body.cm-open #adminView .sig-review-drawer {
  padding: 16px !important;
}

body.cm-open #adminView .sig-table-head {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

body.cm-open #adminView .sig-table-head h3 {
  margin: 0 !important;
}

body.cm-open #adminView .sig-table {
  display: grid !important;
  gap: 8px !important;
}

body.cm-open #adminView .sig-row {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(230px, 1fr) auto auto auto minmax(92px, auto) 20px !important;
  gap: 10px !important;
  align-items: center !important;
  min-height: 62px !important;
  padding: 10px 12px !important;
  border-radius: 16px !important;
  text-align: left !important;
  color: var(--jhq-text) !important;
  cursor: pointer !important;
}

body.cm-open #adminView .sig-row.is-selected {
  border-color: rgba(126, 207, 255, .46) !important;
  background:
    linear-gradient(180deg, rgba(16, 77, 143, .50), rgba(5, 28, 60, .58)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .14),
    0 0 0 1px rgba(77, 198, 255, .12),
    0 12px 30px rgba(10, 132, 255, .13) !important;
}

body.cm-open #adminView .sig-row-main {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}

body.cm-open #adminView .sig-row-main strong,
body.cm-open #adminView .sig-row-main span,
body.cm-open #adminView .sig-row-date {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.cm-open #adminView .sig-row-main span,
body.cm-open #adminView .sig-row-date {
  color: var(--jhq-muted) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
}

body.cm-open #adminView .sig-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 26px !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(126, 207, 255, .18) !important;
  background: rgba(4, 29, 60, .54) !important;
  color: rgba(230, 244, 255, .86) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

body.cm-open #adminView .sig-chip.ok {
  color: #9ff7c8 !important;
  border-color: rgba(75, 222, 128, .26) !important;
  background: rgba(20, 100, 69, .30) !important;
}

body.cm-open #adminView .sig-chip.pend {
  color: #ffe2a4 !important;
  border-color: rgba(255, 194, 94, .28) !important;
  background: rgba(121, 79, 8, .25) !important;
}

body.cm-open #adminView .sig-chip.bad {
  color: #ffb3bd !important;
  border-color: rgba(255, 120, 140, .28) !important;
  background: rgba(112, 25, 45, .28) !important;
}

body.cm-open #adminView .sig-row-arrow {
  color: rgba(214, 238, 255, .82) !important;
  font-size: 24px !important;
}

body.cm-open #adminView .sig-review-drawer {
  position: sticky !important;
  top: 12px !important;
  display: grid !important;
  gap: 14px !important;
}

body.cm-open #adminView .sig-drawer-head {
  display: grid !important;
  gap: 7px !important;
}

body.cm-open #adminView .sig-drawer-head h3 {
  margin: 0 !important;
  font-size: 22px !important;
}

body.cm-open #adminView .sig-preview {
  min-height: 118px !important;
  display: grid !important;
  place-items: center !important;
  padding: 14px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(126, 207, 255, .18) !important;
  background: rgba(1, 13, 31, .48) !important;
  box-shadow: inset 0 2px 14px rgba(0, 4, 15, .38) !important;
}

body.cm-open #adminView .sig-preview img {
  max-width: 100% !important;
  max-height: 120px !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  background: #fff !important;
}

body.cm-open #adminView .sig-preview-empty {
  color: var(--jhq-muted) !important;
  font-weight: 800 !important;
}

body.cm-open #adminView .sig-detail-list {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
}

body.cm-open #adminView .sig-detail-list div {
  display: grid !important;
  grid-template-columns: 80px minmax(0, 1fr) !important;
  gap: 12px !important;
}

body.cm-open #adminView .sig-detail-list dt {
  color: var(--jhq-soft) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

body.cm-open #adminView .sig-detail-list dd {
  margin: 0 !important;
  color: var(--jhq-text) !important;
  overflow-wrap: anywhere !important;
}

body.cm-open #adminView .sig-drawer-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

body.cm-open #adminView .sig-drawer-actions button {
  min-height: 42px !important;
  width: 100% !important;
  border-radius: 14px !important;
}

body.cm-open #adminView .sig-drawer-empty,
body.cm-open #adminView .sig-empty {
  min-height: 180px !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
}

@media (max-width: 1350px) {
  body.cm-open #adminView .sig-metrics {
    grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
  }
  body.cm-open #adminView .sig-row {
    grid-template-columns: minmax(220px, 1fr) auto auto auto 20px !important;
  }
  body.cm-open #adminView .sig-row-date {
    display: none !important;
  }
}

@media (max-width: 1080px) {
  body.cm-open #adminView .sig-review-head,
  body.cm-open #adminView .sig-summary-panel,
  body.cm-open #adminView .sig-workspace {
    grid-template-columns: 1fr !important;
  }
  body.cm-open #adminView .sig-review-head {
    display: grid !important;
  }
  body.cm-open #adminView .sig-filter-bar {
    grid-template-columns: 1fr !important;
  }
  body.cm-open #adminView .sig-review-drawer {
    position: static !important;
  }
}

@media (max-width: 760px) {
  body.cm-open #adminView .sig-metrics,
  body.cm-open #adminView .sig-drawer-actions {
    grid-template-columns: 1fr !important;
  }
  body.cm-open #adminView .sig-row {
    grid-template-columns: 1fr auto !important;
  }
  body.cm-open #adminView .sig-row .sig-chip,
  body.cm-open #adminView .sig-row-date {
    display: none !important;
  }
}

/* Jordan HQ liquid edge material: physical glass buttons, calm smoked panels, matte data surfaces. */
body.cm-open #adminView {
  --edge-aqua: rgba(99, 224, 255, .96);
  --edge-blue: rgba(20, 132, 255, .92);
  --edge-purple: rgba(150, 112, 255, .52);
  --edge-white: rgba(247, 254, 255, .98);
  --panel-center: rgba(2, 13, 33, .70);
  --panel-rim: rgba(124, 220, 255, .25);
}

body.cm-open #adminView .liquid-edge-button,
body.cm-open #adminView .cm-report,
body.cm-open #adminView .btn-primary,
body.cm-open #adminView .primary-accent,
body.cm-open #adminView .cm-nav .tab-btn[aria-selected="true"],
body.cm-open #adminView .sig-menu summary,
body.cm-open #adminView .mail-filter-row button.on,
body.cm-open #adminView .sort-chip.on {
  position: relative !important;
  isolation: isolate !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: rgba(246, 252, 255, .98) !important;
  background:
    radial-gradient(120px 42px at var(--mx, 50%) 1%, rgba(255,255,255,.54), transparent 68%),
    radial-gradient(90px 26px at 88% 104%, rgba(83,229,255,.30), transparent 72%),
    linear-gradient(118deg, transparent 0 24%, rgba(255,255,255,.18) 38%, transparent 54%),
    linear-gradient(180deg, rgba(37, 126, 220, .34), rgba(4, 25, 65, .80) 48%, rgba(1, 9, 29, .90)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.50),
    inset 0 -1px 0 rgba(44,221,255,.24),
    inset 9px 10px 18px rgba(255,255,255,.045),
    inset -14px -18px 24px rgba(0,0,0,.38),
    0 12px 24px rgba(0,0,0,.38),
    0 0 28px rgba(31, 156, 255, .20) !important;
  -webkit-backdrop-filter: blur(24px) saturate(170%) contrast(1.12) !important;
  backdrop-filter: blur(24px) saturate(170%) contrast(1.12) !important;
  transform:
    perspective(900px)
    rotateX(var(--tilt-x, 0deg))
    rotateY(var(--tilt-y, 0deg))
    translateZ(0) !important;
  transition:
    transform 150ms ease,
    box-shadow 150ms ease,
    filter 150ms ease,
    background 150ms ease !important;
}

body.cm-open #adminView .liquid-edge-button::before,
body.cm-open #adminView .cm-report::before,
body.cm-open #adminView .btn-primary::before,
body.cm-open #adminView .primary-accent::before,
body.cm-open #adminView .cm-nav .tab-btn[aria-selected="true"]::before,
body.cm-open #adminView .sig-menu summary::before,
body.cm-open #adminView .mail-filter-row button.on::before,
body.cm-open #adminView .sort-chip.on::before {
  content: "" !important;
  position: absolute !important;
  inset: -2px !important;
  z-index: 2 !important;
  border-radius: inherit !important;
  padding: 2px !important;
  pointer-events: none !important;
  background:
    conic-gradient(
      from 215deg at var(--mx, 50%) var(--my, 50%),
      rgba(255,255,255,.98),
      rgba(90,226,255,.94) 12%,
      rgba(31,129,255,.70) 25%,
      rgba(155,114,255,.52) 38%,
      rgba(255,255,255,.20) 52%,
      rgba(37,211,255,.86) 72%,
      rgba(255,255,255,.96) 100%
    ) !important;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0) !important;
  mask-composite: exclude !important;
  opacity: .98 !important;
  filter: saturate(1.18) !important;
}

body.cm-open #adminView .liquid-edge-button::after,
body.cm-open #adminView .cm-report::after,
body.cm-open #adminView .btn-primary::after,
body.cm-open #adminView .primary-accent::after,
body.cm-open #adminView .cm-nav .tab-btn[aria-selected="true"]::after,
body.cm-open #adminView .sig-menu summary::after,
body.cm-open #adminView .mail-filter-row button.on::after,
body.cm-open #adminView .sort-chip.on::after {
  content: "" !important;
  position: absolute !important;
  left: 10% !important;
  right: 10% !important;
  bottom: -15px !important;
  height: 20px !important;
  z-index: -1 !important;
  border-radius: 999px !important;
  pointer-events: none !important;
  background:
    repeating-radial-gradient(circle at 18% 42%, rgba(255,255,255,.25) 0 1px, transparent 1px 5px),
    radial-gradient(72% 88% at 50% 24%, rgba(77,218,255,.42), transparent 72%),
    radial-gradient(58% 72% at 76% 56%, rgba(128,103,255,.22), transparent 70%) !important;
  filter: blur(12px) saturate(1.35) !important;
  opacity: .72 !important;
  mix-blend-mode: screen !important;
}

body.cm-open #adminView .liquid-edge-button:hover,
body.cm-open #adminView .cm-report:hover,
body.cm-open #adminView .btn-primary:hover,
body.cm-open #adminView .primary-accent:hover,
body.cm-open #adminView .cm-nav .tab-btn[aria-selected="true"]:hover,
body.cm-open #adminView .sig-menu summary:hover,
body.cm-open #adminView .mail-filter-row button.on:hover,
body.cm-open #adminView .sort-chip.on:hover {
  filter: brightness(1.08) saturate(1.12) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.68),
    inset 0 -1px 0 rgba(87,232,255,.34),
    inset 10px 10px 20px rgba(255,255,255,.065),
    inset -15px -18px 24px rgba(0,0,0,.36),
    0 16px 32px rgba(0,0,0,.42),
    0 0 40px rgba(53, 181, 255, .30) !important;
}

body.cm-open #adminView .liquid-edge-button:active,
body.cm-open #adminView .cm-report:active,
body.cm-open #adminView .btn-primary:active,
body.cm-open #adminView .primary-accent:active,
body.cm-open #adminView .cm-nav .tab-btn[aria-selected="true"]:active,
body.cm-open #adminView .sig-menu summary:active,
body.cm-open #adminView .mail-filter-row button.on:active,
body.cm-open #adminView .sort-chip.on:active {
  transform: perspective(900px) translateY(1px) scale(.975) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.36),
    inset 0 4px 14px rgba(0,0,0,.42),
    inset 0 -1px 0 rgba(58,210,255,.18),
    0 7px 14px rgba(0,0,0,.36),
    0 0 18px rgba(53, 181, 255, .14) !important;
}

body.cm-open #adminView .liquid-edge-button:active::after,
body.cm-open #adminView .cm-report:active::after,
body.cm-open #adminView .btn-primary:active::after,
body.cm-open #adminView .primary-accent:active::after,
body.cm-open #adminView .cm-nav .tab-btn[aria-selected="true"]:active::after,
body.cm-open #adminView .sig-menu summary:active::after,
body.cm-open #adminView .mail-filter-row button.on:active::after,
body.cm-open #adminView .sort-chip.on:active::after {
  opacity: .38 !important;
  filter: blur(8px) saturate(1.1) !important;
}

body.cm-open #adminView .liquid-panel,
body.cm-open #adminView .GlassPanel,
body.cm-open #adminView .panel-glass,
body.cm-open #adminView .cm-card,
body.cm-open #adminView .dash-panel,
body.cm-open #adminView .sig-summary-panel,
body.cm-open #adminView .sig-table-panel,
body.cm-open #adminView .sig-review-drawer,
body.cm-open #adminView .mail-shell,
body.cm-open #adminView .mail-toolbox,
body.cm-open #adminView .mail-reader,
body.cm-open #adminView .public-events-map,
body.cm-open #adminView .modal-card {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  border: 1px solid var(--panel-rim) !important;
  background:
    radial-gradient(440px 160px at 8% 0%, rgba(255,255,255,.11), transparent 62%),
    linear-gradient(136deg, rgba(255,255,255,.035), transparent 35%),
    linear-gradient(180deg, rgba(18,70,125,.28), var(--panel-center) 44%, rgba(1,8,25,.82)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(86,217,255,.10),
    inset 18px 20px 46px rgba(255,255,255,.025),
    inset -22px -28px 48px rgba(0,0,0,.36),
    0 22px 56px rgba(0,0,0,.34),
    0 0 28px rgba(50,176,255,.075) !important;
  -webkit-backdrop-filter: blur(24px) saturate(145%) contrast(1.06) !important;
  backdrop-filter: blur(24px) saturate(145%) contrast(1.06) !important;
}

body.cm-open #adminView .liquid-panel::before,
body.cm-open #adminView .GlassPanel::before,
body.cm-open #adminView .panel-glass::before,
body.cm-open #adminView .cm-card::before,
body.cm-open #adminView .dash-panel::before,
body.cm-open #adminView .sig-summary-panel::before,
body.cm-open #adminView .sig-table-panel::before,
body.cm-open #adminView .sig-review-drawer::before,
body.cm-open #adminView .mail-shell::before,
body.cm-open #adminView .mail-toolbox::before,
body.cm-open #adminView .mail-reader::before,
body.cm-open #adminView .public-events-map::before,
body.cm-open #adminView .modal-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background:
    radial-gradient(240px 34px at 16% 0%, rgba(255,255,255,.42), transparent 72%),
    radial-gradient(26px 190px at 100% 36%, rgba(81,211,255,.13), transparent 74%),
    linear-gradient(130deg, transparent 0 46%, rgba(255,255,255,.055) 54%, transparent 66%) !important;
  opacity: .76 !important;
  mix-blend-mode: screen !important;
  filter: none !important;
}

body.cm-open #adminView .liquid-panel::after,
body.cm-open #adminView .GlassPanel::after,
body.cm-open #adminView .panel-glass::after,
body.cm-open #adminView .cm-card::after,
body.cm-open #adminView .dash-panel::after,
body.cm-open #adminView .sig-summary-panel::after,
body.cm-open #adminView .sig-table-panel::after,
body.cm-open #adminView .sig-review-drawer::after,
body.cm-open #adminView .mail-shell::after,
body.cm-open #adminView .mail-toolbox::after,
body.cm-open #adminView .mail-reader::after,
body.cm-open #adminView .public-events-map::after,
body.cm-open #adminView .modal-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 1px !important;
  z-index: 0 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background:
    radial-gradient(260px circle at var(--mx, 50%) var(--my, 36%), rgba(116,220,255,.065), transparent 48%) !important;
  opacity: .70 !important;
  filter: none !important;
}

body.cm-open #adminView .liquid-panel > *,
body.cm-open #adminView .GlassPanel > *,
body.cm-open #adminView .panel-glass > *,
body.cm-open #adminView .cm-card > *,
body.cm-open #adminView .dash-panel > *,
body.cm-open #adminView .sig-summary-panel > *,
body.cm-open #adminView .sig-table-panel > *,
body.cm-open #adminView .sig-review-drawer > *,
body.cm-open #adminView .mail-shell > *,
body.cm-open #adminView .mail-toolbox > *,
body.cm-open #adminView .mail-reader > *,
body.cm-open #adminView .public-events-map > *,
body.cm-open #adminView .modal-card > * {
  position: relative !important;
  z-index: 1 !important;
}

body.cm-open #adminView input:not([type="checkbox"]):not([type="radio"]),
body.cm-open #adminView select,
body.cm-open #adminView textarea,
body.cm-open #adminView .recessed-field {
  border: 1px solid rgba(126,207,255,.16) !important;
  background:
    linear-gradient(180deg, rgba(0,5,18,.58), rgba(4,21,48,.46)) !important;
  color: rgba(244,250,255,.94) !important;
  box-shadow:
    inset 0 2px 14px rgba(0,0,0,.46),
    inset 0 1px 0 rgba(255,255,255,.035),
    0 1px 0 rgba(255,255,255,.035) !important;
  -webkit-backdrop-filter: blur(12px) saturate(120%) !important;
  backdrop-filter: blur(12px) saturate(120%) !important;
}

body.cm-open #adminView input:not([type="checkbox"]):not([type="radio"]):focus,
body.cm-open #adminView select:focus,
body.cm-open #adminView textarea:focus {
  border-color: rgba(117,222,255,.36) !important;
  box-shadow:
    inset 0 2px 14px rgba(0,0,0,.46),
    0 0 0 3px rgba(36,157,255,.14) !important;
}

body.cm-open #adminView .GlassRow,
body.cm-open #adminView .glass-row,
body.cm-open #adminView .liquid-row,
body.cm-open #adminView .sig-row,
body.cm-open #adminView .mrow,
body.cm-open #adminView .entry,
body.cm-open #adminView .mail-list-item,
body.cm-open #adminView .county-row,
body.cm-open #adminView .ov-row,
body.cm-open #adminView .map-focus-row,
body.cm-open #adminView .tl-item {
  background:
    linear-gradient(180deg, rgba(9,39,76,.48), rgba(2,14,34,.62)) !important;
  border: 1px solid rgba(126,207,255,.12) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    inset 0 -1px 0 rgba(0,0,0,.22),
    0 8px 20px rgba(0,0,0,.20) !important;
  -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
  backdrop-filter: blur(10px) saturate(120%) !important;
}

body.cm-open #adminView .GlassRow::before,
body.cm-open #adminView .glass-row::before,
body.cm-open #adminView .liquid-row::before,
body.cm-open #adminView .sig-row::before,
body.cm-open #adminView .mrow::before,
body.cm-open #adminView .entry::before,
body.cm-open #adminView .mail-list-item::before,
body.cm-open #adminView .county-row::before,
body.cm-open #adminView .ov-row::before,
body.cm-open #adminView .map-focus-row::before,
body.cm-open #adminView .tl-item::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(255,255,255,.06), transparent 32%) !important;
  opacity: .55 !important;
  filter: none !important;
}

body.cm-open #adminView .GlassRow::after,
body.cm-open #adminView .glass-row::after,
body.cm-open #adminView .liquid-row::after,
body.cm-open #adminView .sig-row::after,
body.cm-open #adminView .mrow::after,
body.cm-open #adminView .entry::after,
body.cm-open #adminView .mail-list-item::after,
body.cm-open #adminView .county-row::after,
body.cm-open #adminView .ov-row::after,
body.cm-open #adminView .map-focus-row::after,
body.cm-open #adminView .tl-item::after {
  display: none !important;
}

/* Signatures stacking fix: keep menus and filters above summary/results. */
body.cm-open #adminView #tabSignatures,
body.cm-open #adminView #tabSignatures.PageStage-panel,
body.cm-open #adminView #tabSignatures.tab-panel {
  position: relative !important;
  isolation: isolate !important;
  overflow: visible !important;
  z-index: 5 !important;
}

body.cm-open #adminView #tabSignatures .sig-review-head {
  position: relative !important;
  z-index: 20 !important;
}

body.cm-open #adminView #tabSignatures .sig-command-bar,
body.cm-open #adminView #tabSignatures .sig-filter-bar {
  position: relative !important;
  isolation: isolate !important;
  overflow: visible !important;
  z-index: 900 !important;
}

body.cm-open #adminView #tabSignatures .sig-command-bar:has(details[open]),
body.cm-open #adminView #tabSignatures .sig-filter-bar:has(details[open]) {
  z-index: 2000 !important;
}

body.cm-open #adminView #tabSignatures .sig-menu {
  position: relative !important;
  overflow: visible !important;
  z-index: 1 !important;
}

body.cm-open #adminView #tabSignatures .sig-menu[open] {
  z-index: 2200 !important;
}

body.cm-open #adminView #tabSignatures .sig-menu-panel {
  z-index: 2300 !important;
  max-height: min(460px, calc(100vh - 220px)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

body.cm-open #adminView #tabSignatures .sig-summary-panel {
  position: relative !important;
  z-index: 10 !important;
}

body.cm-open #adminView #tabSignatures .sig-result-count,
body.cm-open #adminView #tabSignatures .sig-workspace,
body.cm-open #adminView #tabSignatures .sig-table-panel,
body.cm-open #adminView #tabSignatures .sig-review-drawer {
  position: relative !important;
  z-index: 1 !important;
}

body.cm-open #adminView #tabSignatures .sig-filter-bar input,
body.cm-open #adminView #tabSignatures .sig-filter-bar select,
body.cm-open #adminView #tabSignatures .sig-filter-bar details,
body.cm-open #adminView #tabSignatures .sig-command-bar details,
body.cm-open #adminView #tabSignatures .sig-command-bar button {
  position: relative !important;
  z-index: 2 !important;
}

/* Material reset: physical lens glass, not cyan outlines. */
html:has(body.cm-open),
body.cm-open,
body.cm-open main {
  background:
    radial-gradient(circle at 18% 0%, rgba(115, 210, 255, .22), transparent 28%),
    radial-gradient(circle at 88% 16%, rgba(55, 130, 255, .18), transparent 34%),
    radial-gradient(circle at 54% 88%, rgba(0, 220, 255, .12), transparent 32%),
    linear-gradient(145deg, #020914 0%, #061a37 46%, #0b356f 100%) !important;
}

body.cm-open #adminView:not([hidden]) {
  color: white !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(115, 210, 255, .24), transparent 28%),
    radial-gradient(circle at 88% 16%, rgba(55, 130, 255, .18), transparent 34%),
    radial-gradient(circle at 54% 88%, rgba(0, 220, 255, .14), transparent 32%),
    linear-gradient(145deg, #020914 0%, #061a37 46%, #0b356f 100%) !important;
}

body.cm-open #adminView:not([hidden])::before {
  background:
    repeating-radial-gradient(circle at 20% 30%, rgba(255,255,255,.035) 0 1px, transparent 1px 5px),
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,.055) 42%, transparent 58%),
    radial-gradient(900px 180px at 62% 76%, rgba(190,236,255,.13), transparent 76%),
    linear-gradient(170deg, transparent 0 39%, rgba(197,231,255,.08) 43%, transparent 49%) !important;
  opacity: .82 !important;
  mix-blend-mode: screen !important;
}

body.cm-open #adminView:not([hidden])::after {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(105deg, transparent 0 12%, rgba(92,188,255,.07) 18%, transparent 27%),
    linear-gradient(162deg, transparent 0 62%, rgba(255,255,255,.11) 66%, transparent 73%),
    radial-gradient(620px 300px at 12% 92%, rgba(18,160,255,.13), transparent 70%) !important;
  filter: blur(.2px) !important;
}

body.cm-open #adminView > .cm-shell,
body.cm-open #adminView .cm-main,
body.cm-open #adminView .PageStage {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

body.cm-open #adminView .PageStage {
  padding-left: 14px !important;
}

body.cm-open #adminView .liquid-panel,
body.cm-open #adminView .GlassPanel,
body.cm-open #adminView .panel-glass,
body.cm-open #adminView .cm-card,
body.cm-open #adminView .dash-panel,
body.cm-open #adminView .sig-summary-panel,
body.cm-open #adminView .sig-table-panel,
body.cm-open #adminView .sig-review-drawer,
body.cm-open #adminView .mail-shell,
body.cm-open #adminView .mail-toolbox,
body.cm-open #adminView .mail-reader,
body.cm-open #adminView .public-events-map,
body.cm-open #adminView .modal-card,
body.cm-open #adminView .cm-sidebar,
body.cm-open #adminView .cm-topbar {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 30px !important;
  background:
    radial-gradient(560px 180px at 22% 0%, rgba(255,255,255,.16), rgba(255,255,255,.04) 32%, transparent 68%),
    radial-gradient(480px 180px at 90% 100%, rgba(85,210,255,.14), transparent 70%),
    linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.016) 42%, rgba(0,10,34,.56)),
    rgba(3,13,32,.68) !important;
  box-shadow:
    0 28px 80px rgba(0,0,0,.36),
    0 0 42px rgba(70,180,255,.08),
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 -1px 0 rgba(255,255,255,.08),
    inset 20px 24px 58px rgba(255,255,255,.035),
    inset -28px -34px 78px rgba(0,18,70,.42) !important;
  -webkit-backdrop-filter: blur(30px) saturate(165%) contrast(112%) !important;
  backdrop-filter: blur(30px) saturate(165%) contrast(112%) !important;
}

body.cm-open #adminView .liquid-panel::before,
body.cm-open #adminView .GlassPanel::before,
body.cm-open #adminView .panel-glass::before,
body.cm-open #adminView .cm-card::before,
body.cm-open #adminView .dash-panel::before,
body.cm-open #adminView .sig-summary-panel::before,
body.cm-open #adminView .sig-table-panel::before,
body.cm-open #adminView .sig-review-drawer::before,
body.cm-open #adminView .mail-shell::before,
body.cm-open #adminView .mail-toolbox::before,
body.cm-open #adminView .mail-reader::before,
body.cm-open #adminView .public-events-map::before,
body.cm-open #adminView .modal-card::before,
body.cm-open #adminView .cm-sidebar::before,
body.cm-open #adminView .cm-topbar::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  border-radius: inherit !important;
  padding: 1px !important;
  pointer-events: none !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(95,220,255,.22) 28%, rgba(255,255,255,.06) 55%, rgba(90,215,255,.46)) !important;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0) !important;
  mask-composite: exclude !important;
  opacity: .78 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

body.cm-open #adminView .liquid-panel::after,
body.cm-open #adminView .GlassPanel::after,
body.cm-open #adminView .panel-glass::after,
body.cm-open #adminView .cm-card::after,
body.cm-open #adminView .dash-panel::after,
body.cm-open #adminView .sig-summary-panel::after,
body.cm-open #adminView .sig-table-panel::after,
body.cm-open #adminView .sig-review-drawer::after,
body.cm-open #adminView .mail-shell::after,
body.cm-open #adminView .mail-toolbox::after,
body.cm-open #adminView .mail-reader::after,
body.cm-open #adminView .public-events-map::after,
body.cm-open #adminView .modal-card::after,
body.cm-open #adminView .cm-sidebar::after,
body.cm-open #adminView .cm-topbar::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background:
    radial-gradient(320px 28px at 26% 0%, rgba(255,255,255,.66), transparent 72%),
    linear-gradient(145deg, transparent 0%, transparent 42%, rgba(255,255,255,.055) 50%, transparent 64%) !important;
  mix-blend-mode: screen !important;
  opacity: .74 !important;
  filter: none !important;
}

body.cm-open #adminView .liquid-panel > *,
body.cm-open #adminView .GlassPanel > *,
body.cm-open #adminView .panel-glass > *,
body.cm-open #adminView .cm-card > *,
body.cm-open #adminView .dash-panel > *,
body.cm-open #adminView .sig-summary-panel > *,
body.cm-open #adminView .sig-table-panel > *,
body.cm-open #adminView .sig-review-drawer > *,
body.cm-open #adminView .mail-shell > *,
body.cm-open #adminView .mail-toolbox > *,
body.cm-open #adminView .mail-reader > *,
body.cm-open #adminView .public-events-map > *,
body.cm-open #adminView .modal-card > *,
body.cm-open #adminView .cm-sidebar > *,
body.cm-open #adminView .cm-topbar > * {
  position: relative !important;
  z-index: 2 !important;
}

body.cm-open #adminView input:not([type="checkbox"]):not([type="radio"]),
body.cm-open #adminView select,
body.cm-open #adminView textarea,
body.cm-open #adminView #cmSearch,
body.cm-open #adminView .recessed-field {
  min-height: 46px !important;
  border-radius: 16px !important;
  color: white !important;
  border: 1px solid rgba(145,210,255,.20) !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.38), rgba(255,255,255,.025)),
    rgba(1,8,24,.62) !important;
  box-shadow:
    inset 0 2px 10px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.08),
    0 1px 0 rgba(255,255,255,.04) !important;
  -webkit-backdrop-filter: blur(16px) saturate(135%) !important;
  backdrop-filter: blur(16px) saturate(135%) !important;
}

body.cm-open #adminView input:not([type="checkbox"]):not([type="radio"]):focus,
body.cm-open #adminView select:focus,
body.cm-open #adminView textarea:focus,
body.cm-open #adminView #cmSearch:focus {
  outline: none !important;
  border-color: rgba(175,235,255,.56) !important;
  box-shadow:
    inset 0 2px 10px rgba(0,0,0,.42),
    0 0 0 3px rgba(65,190,255,.12),
    0 0 24px rgba(65,190,255,.16) !important;
}

body.cm-open #adminView .GlassRow,
body.cm-open #adminView .glass-row,
body.cm-open #adminView .liquid-row,
body.cm-open #adminView .sig-row,
body.cm-open #adminView .mrow,
body.cm-open #adminView .entry,
body.cm-open #adminView .mail-list-item,
body.cm-open #adminView .county-row,
body.cm-open #adminView .ov-row,
body.cm-open #adminView .map-focus-row,
body.cm-open #adminView .tl-item {
  border-radius: 16px !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.04), rgba(0,12,38,.36)) !important;
  border: 1px solid rgba(160,220,255,.13) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 7px 18px rgba(0,0,0,.16) !important;
  -webkit-backdrop-filter: blur(10px) saturate(118%) !important;
  backdrop-filter: blur(10px) saturate(118%) !important;
}

body.cm-open #adminView .GlassRow:hover,
body.cm-open #adminView .glass-row:hover,
body.cm-open #adminView .liquid-row:hover,
body.cm-open #adminView .sig-row:hover,
body.cm-open #adminView .sig-row.is-selected,
body.cm-open #adminView .mrow:hover,
body.cm-open #adminView .entry:hover,
body.cm-open #adminView .mail-list-item:hover,
body.cm-open #adminView .mail-list-item.is-active,
body.cm-open #adminView .county-row:hover,
body.cm-open #adminView .ov-row:hover,
body.cm-open #adminView .map-focus-row:hover {
  border-color: rgba(180,235,255,.38) !important;
  background:
    radial-gradient(180px 44px at 18% 0%, rgba(255,255,255,.12), transparent 72%),
    linear-gradient(145deg, rgba(255,255,255,.06), rgba(0,14,42,.44)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 10px 24px rgba(0,0,0,.22),
    0 0 22px rgba(70,180,255,.08) !important;
}

body.cm-open #adminView .GlassRow::before,
body.cm-open #adminView .glass-row::before,
body.cm-open #adminView .liquid-row::before,
body.cm-open #adminView .sig-row::before,
body.cm-open #adminView .mrow::before,
body.cm-open #adminView .entry::before,
body.cm-open #adminView .mail-list-item::before,
body.cm-open #adminView .county-row::before,
body.cm-open #adminView .ov-row::before,
body.cm-open #adminView .map-focus-row::before,
body.cm-open #adminView .tl-item::before,
body.cm-open #adminView .GlassRow::after,
body.cm-open #adminView .glass-row::after,
body.cm-open #adminView .liquid-row::after,
body.cm-open #adminView .sig-row::after,
body.cm-open #adminView .mrow::after,
body.cm-open #adminView .entry::after,
body.cm-open #adminView .mail-list-item::after,
body.cm-open #adminView .county-row::after,
body.cm-open #adminView .ov-row::after,
body.cm-open #adminView .map-focus-row::after,
body.cm-open #adminView .tl-item::after {
  display: none !important;
}

body.cm-open #adminView .liquid-edge-button,
body.cm-open #adminView .cm-report,
body.cm-open #adminView .btn-primary,
body.cm-open #adminView .primary-accent,
body.cm-open #adminView .cm-nav .tab-btn[aria-selected="true"],
body.cm-open #adminView .sig-menu summary,
body.cm-open #adminView .mail-filter-row button.on,
body.cm-open #adminView .sort-chip.on {
  --mx: 28%;
  --my: 0%;
  position: relative !important;
  isolation: isolate !important;
  overflow: visible !important;
  min-height: 46px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: white !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  background:
    radial-gradient(150px 44px at var(--mx, 24%) 0%, rgba(255,255,255,.58), rgba(255,255,255,.16) 30%, transparent 66%),
    radial-gradient(180px 62px at 86% 100%, rgba(80,220,255,.30), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.035) 42%, rgba(0,13,46,.62)),
    rgba(3,14,36,.78) !important;
  box-shadow:
    0 18px 34px rgba(0,0,0,.36),
    0 0 26px rgba(66,188,255,.18),
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 -1px 0 rgba(255,255,255,.16),
    inset 12px 12px 26px rgba(255,255,255,.09),
    inset -16px -20px 38px rgba(0,24,92,.48),
    inset 0 0 26px rgba(86,202,255,.14) !important;
  -webkit-backdrop-filter: blur(22px) saturate(180%) contrast(112%) !important;
  backdrop-filter: blur(22px) saturate(180%) contrast(112%) !important;
  transform:
    perspective(900px)
    rotateX(var(--tilt-x, 0deg))
    rotateY(var(--tilt-y, 0deg))
    translateZ(0) !important;
  transition: transform 140ms ease, box-shadow 140ms ease, filter 140ms ease !important;
}

body.cm-open #adminView .liquid-edge-button::before,
body.cm-open #adminView .cm-report::before,
body.cm-open #adminView .btn-primary::before,
body.cm-open #adminView .primary-accent::before,
body.cm-open #adminView .cm-nav .tab-btn[aria-selected="true"]::before,
body.cm-open #adminView .sig-menu summary::before,
body.cm-open #adminView .mail-filter-row button.on::before,
body.cm-open #adminView .sort-chip.on::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  padding: 1.35px !important;
  background:
    conic-gradient(from 210deg, rgba(55,210,255,.98), rgba(255,255,255,.95), rgba(165,100,255,.30), rgba(255,255,255,.50), rgba(65,230,255,.88), rgba(55,210,255,.98)) !important;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0) !important;
  mask-composite: exclude !important;
  opacity: .86 !important;
  filter: none !important;
}

body.cm-open #adminView .liquid-edge-button::after,
body.cm-open #adminView .cm-report::after,
body.cm-open #adminView .btn-primary::after,
body.cm-open #adminView .primary-accent::after,
body.cm-open #adminView .cm-nav .tab-btn[aria-selected="true"]::after,
body.cm-open #adminView .sig-menu summary::after,
body.cm-open #adminView .mail-filter-row button.on::after,
body.cm-open #adminView .sort-chip.on::after {
  content: "" !important;
  position: absolute !important;
  left: 13% !important;
  right: 13% !important;
  bottom: -10px !important;
  height: 18px !important;
  z-index: -1 !important;
  pointer-events: none !important;
  border-radius: 999px !important;
  background:
    radial-gradient(ellipse at 50% 42%, rgba(92,208,255,.36), rgba(47,130,255,.18) 38%, transparent 72%),
    repeating-radial-gradient(circle at 38% 50%, rgba(255,255,255,.11) 0 1px, transparent 1px 5px) !important;
  filter: blur(8px) !important;
  opacity: .78 !important;
  mix-blend-mode: screen !important;
}

body.cm-open #adminView .primary-accent,
body.cm-open #adminView .btn-primary.primary-accent,
body.cm-open #adminView .sig-review-head .btn-primary {
  background:
    radial-gradient(160px 48px at var(--mx, 24%) 0%, rgba(255,255,255,.75), transparent 64%),
    radial-gradient(220px 70px at 80% 100%, rgba(120,235,255,.38), transparent 70%),
    linear-gradient(180deg, rgba(82,202,255,.98), rgba(25,118,255,.96)) !important;
  box-shadow:
    0 20px 42px rgba(0,0,0,.38),
    0 0 44px rgba(65,190,255,.46),
    inset 0 1px 0 rgba(255,255,255,.82),
    inset 0 -1px 0 rgba(255,255,255,.22),
    inset 16px 14px 30px rgba(255,255,255,.15),
    inset -20px -24px 42px rgba(0,45,150,.38) !important;
}

body.cm-open #adminView .liquid-edge-button:hover,
body.cm-open #adminView .cm-report:hover,
body.cm-open #adminView .btn-primary:hover,
body.cm-open #adminView .primary-accent:hover,
body.cm-open #adminView .cm-nav .tab-btn[aria-selected="true"]:hover,
body.cm-open #adminView .sig-menu summary:hover,
body.cm-open #adminView .mail-filter-row button.on:hover,
body.cm-open #adminView .sort-chip.on:hover {
  filter: brightness(1.08) !important;
  transform:
    perspective(900px)
    rotateX(var(--tilt-x, 0deg))
    rotateY(var(--tilt-y, 0deg))
    translateY(-1px)
    translateZ(0) !important;
  box-shadow:
    0 22px 42px rgba(0,0,0,.42),
    0 0 38px rgba(66,188,255,.30),
    inset 0 1px 0 rgba(255,255,255,.84),
    inset 0 -1px 0 rgba(255,255,255,.18),
    inset 14px 14px 28px rgba(255,255,255,.11),
    inset -18px -22px 40px rgba(0,24,92,.50),
    inset 0 0 34px rgba(86,202,255,.20) !important;
}

body.cm-open #adminView .liquid-edge-button:active,
body.cm-open #adminView .cm-report:active,
body.cm-open #adminView .btn-primary:active,
body.cm-open #adminView .primary-accent:active,
body.cm-open #adminView .cm-nav .tab-btn[aria-selected="true"]:active,
body.cm-open #adminView .sig-menu summary:active,
body.cm-open #adminView .mail-filter-row button.on:active,
body.cm-open #adminView .sort-chip.on:active {
  transform: translateY(1px) scale(.985) !important;
  box-shadow:
    0 8px 18px rgba(0,0,0,.32),
    0 0 18px rgba(66,188,255,.18),
    inset 0 3px 9px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.38),
    inset -10px -12px 26px rgba(0,24,92,.36) !important;
}

/* Signatures command sizing: keep menu labels and lens edges fully visible. */
body.cm-open #adminView #tabSignatures .sig-command-bar {
  align-items: center !important;
  gap: 12px !important;
  min-height: 58px !important;
  padding-block: 4px 10px !important;
  overflow: visible !important;
}

body.cm-open #adminView #tabSignatures .sig-command-bar .sig-menu,
body.cm-open #adminView #tabSignatures .sig-command-bar > button {
  flex: 0 0 auto !important;
  min-width: max-content !important;
  overflow: visible !important;
}

body.cm-open #adminView #tabSignatures .sig-command-bar .sig-menu summary,
body.cm-open #adminView #tabSignatures .sig-filter-bar .sig-menu summary {
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  min-height: 46px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
  overflow: visible !important;
  line-height: 1 !important;
}

body.cm-open #adminView #tabSignatures .sig-command-bar .sig-menu summary::before,
body.cm-open #adminView #tabSignatures .sig-command-bar .sig-menu summary::after,
body.cm-open #adminView #tabSignatures .sig-filter-bar .sig-menu summary::before,
body.cm-open #adminView #tabSignatures .sig-filter-bar .sig-menu summary::after {
  max-width: none !important;
}

/* Structured glass button component: replaces old cyan-border pills. */
body.cm-open #adminView .cm-sidebar,
body.cm-open #adminView .Sidebar,
body.cm-open #adminView .cm-nav,
body.cm-open #adminView .nav-group,
body.cm-open #adminView .cm-top-actions,
body.cm-open #adminView .CommandStrip {
  overflow: visible !important;
}

body.cm-open #adminView .cm-nav {
  display: flex !important;
  gap: 12px !important;
  padding: 2px 8px 18px 2px !important;
}

body.cm-open #adminView .nav-group {
  display: grid !important;
  gap: 10px !important;
  margin-bottom: 18px !important;
}

body.cm-open #adminView .sidebar-glass-btn {
  --mx: 28%;
  --my: 0%;
  --btn-bg: rgba(7, 18, 42, .42);
  --btn-bg-deep: rgba(3, 11, 30, .68);
  --btn-text: rgba(255, 255, 255, .92);
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 54px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: transparent !important;
  color: var(--btn-text) !important;
  cursor: pointer !important;
  isolation: isolate !important;
  overflow: visible !important;
  transform: translateY(0) scale(1) !important;
  transition: transform 140ms ease, filter 140ms ease !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* iPhone field app: safe-area aware, touch-first dashboard layout. */
.ios-install-tip {
  position: fixed; z-index: 5000; left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right)); bottom: max(14px, calc(env(safe-area-inset-bottom) + 8px));
  display: grid; grid-template-columns: 1fr auto; gap: 4px 14px; padding: 15px 46px 15px 17px; border: 1px solid rgba(129,211,255,.42); border-radius: 18px;
  color: #f7fbff; background: rgba(1,18,39,.94); box-shadow: 0 18px 50px rgba(0,0,0,.46), inset 0 1px rgba(255,255,255,.18); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
}
.ios-install-tip strong { font-size: 15px; }
.ios-install-tip span { grid-column: 1 / -1; color: rgba(225,239,249,.78); font-size: 13px; line-height: 1.4; }
.ios-install-tip i { color: #69cfff; font-style: normal; font-size: 17px; }
.ios-install-tip button { position: absolute; top: 8px; right: 9px; width: 34px; height: 34px; border: 0; border-radius: 50%; color: white; background: rgba(255,255,255,.08); font-size: 22px; }
.field-network-state { position:fixed; z-index:4900; top:max(8px, env(safe-area-inset-top)); left:50%; transform:translateX(-50%); padding:6px 10px; border-radius:999px; color:#dfffea; background:rgba(9,86,45,.94); box-shadow:0 8px 20px rgba(0,0,0,.3); font:700 11px/1.2 system-ui,sans-serif; transition:opacity .25s, transform .25s; }
.field-network-state.settled { opacity:0; transform:translate(-50%,-12px); pointer-events:none; }
.field-network-state.offline { color:#fff2d1; background:rgba(126,63,8,.96); }
.eventbrite-card.event-recommended { position:relative; border-color:rgba(98,218,255,.78) !important; box-shadow:0 0 0 2px rgba(43,168,255,.2),0 18px 42px rgba(0,39,89,.4) !important; }
.eventbrite-card.event-recommended::before { content:"Jordy's best pick"; position:absolute; z-index:4; top:10px; right:10px; padding:5px 8px; border-radius:999px; color:#eaf9ff; background:#075c9c; font:700 10px/1 system-ui,sans-serif; letter-spacing:.03em; }
.planner-mobile-agenda { display:none; }

@media (max-width: 760px) {
  html, body { min-height: 100%; }
  body { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
  button, input, select, textarea { font-size: 16px; }
  button, [role="button"], summary { touch-action: manipulation; }

  body.cm-open, body.cm-open main { position: fixed !important; inset: 0 !important; width: 100% !important; min-width: 0 !important; height: 100dvh !important; overflow: hidden !important; }
  body.cm-open #adminView:not([hidden]) { position: fixed !important; inset: 0 !important; width: 100% !important; min-width: 0 !important; height: 100dvh !important; contain: none !important; overflow: hidden !important; }
  body.cm-open #adminView > .cm-shell { position: absolute !important; inset: 0 !important; display: flex !important; flex-direction: column !important; min-height: 0 !important; height: 100% !important; overflow: hidden !important; }

  body.cm-open #adminView .cm-sidebar { flex: 0 0 auto !important; display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important; padding: max(7px, env(safe-area-inset-top)) 8px 7px !important; overflow: visible !important; border-right: 0 !important; border-bottom: 1px solid rgba(142,206,255,.14) !important; }
  body.cm-open #adminView .cm-brand, body.cm-open #adminView .cm-side-foot, body.cm-open #adminView .nav-group-label { display: none !important; }
  body.cm-open #adminView .cm-nav { display: flex !important; flex-direction: row !important; gap: 7px !important; width: 100% !important; min-height: 48px !important; padding: 1px 2px 4px !important; overflow-x: auto !important; overflow-y: visible !important; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  body.cm-open #adminView .cm-nav::-webkit-scrollbar { display: none; }
  body.cm-open #adminView .nav-group { display: contents !important; }
  body.cm-open #adminView .nav-group.collapsed .tab-btn, body.cm-open #adminView .nav-group.collapsed .glass-capsule { display: flex !important; }
  body.cm-open #adminView .cm-nav .tab-btn, body.cm-open #adminView .cm-nav .glass-capsule { flex: 0 0 142px !important; width: 142px !important; min-width: 142px !important; max-width: 142px !important; min-height: 44px !important; padding: 8px 12px !important; scroll-snap-align: start; }
  body.cm-open #adminView .cm-nav .glass-capsule__content { gap:7px !important; }
  body.cm-open #adminView .cm-nav .glass-capsule__icon { flex-basis:22px !important; width:22px !important; height:22px !important; }
  body.cm-open #adminView .cm-nav .glass-capsule__label { display:block !important; font-size:12px !important; }

  body.cm-open #adminView .cm-main { flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; width: 100% !important; min-width: 0 !important; min-height: 0 !important; height: auto !important; overflow: hidden !important; }
  body.cm-open #adminView .cm-topbar { flex: 0 0 auto !important; display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; padding: 9px 12px !important; }
  body.cm-open #adminView .cm-topbar > div:first-child, body.cm-open #adminView .cm-top-actions { display: none !important; }
  body.cm-open #adminView .cm-search-wrap { width: 100% !important; min-width: 0 !important; }
  body.cm-open #adminView #cmSearch { width: 100% !important; min-height: 44px !important; }
  body.cm-open #adminView .cm-search-results { position: fixed !important; left: 10px !important; right: 10px !important; top: calc(env(safe-area-inset-top) + 112px) !important; width: auto !important; max-height: 55dvh !important; }

  body.cm-open #adminView .cm-content { flex: 1 1 auto !important; min-height: 0 !important; height: auto !important; padding: 12px !important; overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important; }
  body.cm-open #adminView .tab-panel:not([hidden]), body.cm-open #adminView .tab-panel:not([hidden]) > *, body.cm-open #adminView .cm-grid, body.cm-open #adminView .cm-card { box-sizing:border-box !important; min-width:0 !important; max-width:100% !important; width:100% !important; }
  body.cm-open #adminView .cm-grid, body.cm-open #adminView .kpi-cards, body.cm-open #adminView .event-planning-grid, body.cm-open #adminView .event-utility-grid, body.cm-open #adminView .media-grid, body.cm-open #adminView .map-layout { grid-template-columns:minmax(0,1fr) !important; }
  body.cm-open #adminView .kpi-cards { display:grid !important; }
  body.cm-open #adminView .cm-hero { padding:4px 2px 10px !important; }
  body.cm-open #adminView .cm-hero h2 { font-size:clamp(28px,10vw,40px) !important; line-height:1.05 !important; }
  body.cm-open #adminView .cm-hero p { font-size:15px !important; line-height:1.45 !important; overflow-wrap:anywhere; }
  body.cm-open #adminView table { display:block !important; width:100% !important; max-width:100% !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch; }
  body.cm-open #adminView img, body.cm-open #adminView canvas, body.cm-open #adminView svg { max-width:100%; }
  body.cm-open #adminView .module-form, body.cm-open #adminView .ev-form-row, body.cm-open #adminView .event-browser-head, body.cm-open #adminView .event-section-head { align-items:stretch !important; flex-direction:column !important; }
  body.cm-open #adminView .module-form input, body.cm-open #adminView .module-form select, body.cm-open #adminView .module-form textarea, body.cm-open #adminView .ev-form-row > * { width:100% !important; min-width:0 !important; }
  body.cm-open #adminView .command-layout, body.cm-open #adminView .command-mini-grid, body.cm-open #adminView .command-kpi-strip { grid-template-columns: 1fr !important; }
  body.cm-open #adminView .cm-card { border-radius: 18px !important; }
  body.cm-open #adminView .ai-command-form { position: sticky; bottom: 0; z-index: 10; }
  body.cm-open #adminView .avatar-root { right: max(10px, env(safe-area-inset-right)) !important; bottom: max(10px, env(safe-area-inset-bottom)) !important; transform: scale(.86); transform-origin: bottom right; }
  body.cm-open #adminView .avatar-chat { position: fixed !important; inset: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)) !important; width: auto !important; max-width: none !important; height: auto !important; max-height: none !important; }

  body.cm-open #adminView .planner-desktop-calendar { display:none !important; }
  body.cm-open #adminView .planner-mobile-agenda { display:block !important; padding:12px !important; }
  body.cm-open #adminView .planner-mobile-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
  body.cm-open #adminView .planner-mobile-head > div { display:grid; gap:2px; }
  body.cm-open #adminView .planner-mobile-head > div > strong { font-size:18px; }
  body.cm-open #adminView .planner-mobile-head > div > span { color:var(--cm-muted); font-size:12px; }
  body.cm-open #adminView .planner-mobile-head .btn-primary { width:auto !important; min-width:0 !important; min-height:42px !important; padding:8px 13px !important; }
  body.cm-open #adminView .planner-agenda-list { display:grid; gap:8px; }
  body.cm-open #adminView .planner-agenda-row { display:grid; grid-template-columns:42px auto minmax(0,1fr) 12px; align-items:center; gap:8px; width:100%; min-height:64px; padding:8px; border:1px solid rgba(143,198,235,.16); border-radius:14px; color:var(--cm-text); text-align:left; background:rgba(1,12,29,.58); }
  body.cm-open #adminView .planner-agenda-row time { display:grid; place-items:center; align-content:center; min-height:46px; border-radius:10px; background:rgba(71,137,214,.12); }
  body.cm-open #adminView .planner-agenda-row time strong { font-size:18px; line-height:1; }
  body.cm-open #adminView .planner-agenda-row time span { margin-top:3px; color:var(--cm-muted); font-size:9px; text-transform:uppercase; }
  body.cm-open #adminView .planner-agenda-row .cal-chip { width:max-content; max-width:58px; }
  body.cm-open #adminView .planner-agenda-copy { display:grid; min-width:0; gap:2px; }
  body.cm-open #adminView .planner-agenda-copy strong, body.cm-open #adminView .planner-agenda-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  body.cm-open #adminView .planner-agenda-copy small { color:var(--cm-muted); }
  body.cm-open #adminView .planner-agenda-row > i { color:var(--cm-blue2); font-style:normal; font-size:22px; }
  body.cm-open #adminView .planner-empty-day { display:grid; gap:4px; width:100%; min-height:110px; place-content:center; border:1px dashed rgba(143,198,235,.25); border-radius:14px; color:var(--cm-text); background:rgba(1,12,29,.42); }
  body.cm-open #adminView .planner-empty-day span { color:var(--cm-muted); }
}

@media (display-mode: standalone) {
  .site-header { padding-top: env(safe-area-inset-top); }
  .ios-install-tip { display: none !important; }
}

/* Global search must escape the glass header and paint above later siblings. */
body.cm-open #adminView .cm-topbar,
body.cm-open #adminView .TopBar {
  z-index: 1200 !important;
  overflow: visible !important;
  isolation: isolate !important;
}

body.cm-open #adminView .cm-search-wrap {
  position: relative !important;
  z-index: 1202 !important;
  isolation: auto !important;
}

body.cm-open #adminView .cm-top-actions {
  position: relative !important;
  z-index: 2 !important;
}

body.cm-open #adminView .cm-search-results {
  z-index: 1204 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.cm-open #adminView .cm-content,
body.cm-open #adminView .PageStage {
  z-index: 1 !important;
}

/* Keep grouped navigation collapsible after glass buttons add display:flex !important. */
body.cm-open #adminView .nav-group.collapsed .tab-btn.sidebar-glass-btn {
  display: none !important;
}

body.cm-open #adminView .nav-group.collapsed .tab-btn.sidebar-glass-btn[aria-selected="true"] {
  display: flex !important;
}

/* The page is viewport-locked in admin mode, so the navigation column must own
   its vertical scroll. Override the decorative overflow rule above. */
body.cm-open #adminView .cm-sidebar {
  overflow: hidden !important;
}

body.cm-open #adminView .cm-sidebar .cm-nav {
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

body.cm-open #adminView .cm-nav .sidebar-glass-btn,
body.cm-open #adminView .cm-sidelink.sidebar-glass-btn {
  width: 100% !important;
}

body.cm-open #adminView .cm-report.sidebar-glass-btn,
body.cm-open #adminView .btn-primary.sidebar-glass-btn {
  width: auto !important;
  min-width: max-content !important;
}

body.cm-open #adminView .sidebar-glass-btn::before,
body.cm-open #adminView .sidebar-glass-btn::after {
  display: none !important;
  content: none !important;
}

body.cm-open #adminView .sidebar-glass-btn .sgb-inner {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  border-radius: inherit !important;
  background:
    radial-gradient(120px 34px at 22% 0%, rgba(255,255,255,.42), rgba(255,255,255,.10) 28%, transparent 70%),
    radial-gradient(160px 44px at 82% 100%, rgba(74,212,255,.18), transparent 72%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.025) 44%, rgba(0,10,38,.56)),
    linear-gradient(145deg, var(--btn-bg), var(--btn-bg-deep)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.46),
    inset 0 -1px 0 rgba(255,255,255,.10),
    inset 8px 8px 20px rgba(255,255,255,.06),
    inset -12px -14px 28px rgba(0,20,80,.34),
    0 10px 20px rgba(0,0,0,.24) !important;
  -webkit-backdrop-filter: blur(20px) saturate(170%) contrast(110%) !important;
  backdrop-filter: blur(20px) saturate(170%) contrast(110%) !important;
}

body.cm-open #adminView .sidebar-glass-btn .sgb-rim {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  border-radius: inherit !important;
  padding: 1.2px !important;
  pointer-events: none !important;
  background:
    conic-gradient(from 210deg, rgba(66,215,255,.92), rgba(255,255,255,.88), rgba(150,110,255,.18), rgba(255,255,255,.44), rgba(90,225,255,.76), rgba(66,215,255,.92)) !important;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0) !important;
  mask-composite: exclude !important;
  opacity: .72 !important;
}

body.cm-open #adminView .sidebar-glass-btn .sgb-shine {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background:
    radial-gradient(120px 36px at var(--mx) var(--my), rgba(255,255,255,.62), rgba(255,255,255,.14) 30%, transparent 70%),
    linear-gradient(145deg, transparent 0%, transparent 34%, rgba(255,255,255,.11) 47%, rgba(255,255,255,.02) 58%, transparent 70%) !important;
  mix-blend-mode: screen !important;
  opacity: .85 !important;
}

body.cm-open #adminView .sidebar-glass-btn .sgb-bloom {
  position: absolute !important;
  left: 14% !important;
  right: 14% !important;
  bottom: -10px !important;
  height: 18px !important;
  z-index: 0 !important;
  border-radius: 999px !important;
  pointer-events: none !important;
  background:
    radial-gradient(ellipse at 50% 45%, rgba(88,206,255,.34), rgba(35,115,255,.16) 38%, transparent 72%),
    repeating-radial-gradient(circle at 38% 50%, rgba(255,255,255,.10) 0 1px, transparent 1px 5px) !important;
  filter: blur(8px) !important;
  opacity: .72 !important;
  mix-blend-mode: screen !important;
}

body.cm-open #adminView .sidebar-glass-btn .sgb-content {
  position: relative !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  font-weight: 750 !important;
  text-align: left !important;
  white-space: nowrap !important;
}

body.cm-open #adminView .sidebar-glass-btn .sgb-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.35), transparent 60%),
    rgba(255,255,255,.08) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 0 12px rgba(80,190,255,.12) !important;
}

body.cm-open #adminView .sidebar-glass-btn .sgb-label {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.cm-open #adminView .sidebar-glass-btn:hover {
  transform: translateY(-1px) !important;
  filter: brightness(1.06) !important;
}

body.cm-open #adminView .sidebar-glass-btn:active {
  transform: translateY(1px) scale(.985) !important;
}

body.cm-open #adminView .sidebar-glass-btn:active .sgb-bloom {
  bottom: -6px !important;
  height: 12px !important;
  opacity: .48 !important;
  filter: blur(6px) !important;
}

body.cm-open #adminView .sidebar-glass-btn.is-active .sgb-inner,
body.cm-open #adminView .sidebar-glass-btn[aria-selected="true"] .sgb-inner,
body.cm-open #adminView .sidebar-glass-btn.sgb-primary .sgb-inner {
  background:
    radial-gradient(140px 42px at 22% 0%, rgba(255,255,255,.54), rgba(255,255,255,.14) 30%, transparent 70%),
    radial-gradient(180px 52px at 82% 100%, rgba(92,220,255,.22), transparent 72%),
    linear-gradient(180deg, rgba(80,190,255,.22), rgba(255,255,255,.03) 42%, rgba(0,14,44,.58)),
    linear-gradient(145deg, rgba(16,45,94,.56), rgba(5,17,42,.78)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.58),
    inset 0 -1px 0 rgba(255,255,255,.12),
    inset 10px 10px 24px rgba(255,255,255,.08),
    inset -14px -18px 34px rgba(0,30,120,.42),
    0 14px 28px rgba(0,0,0,.28),
    0 0 28px rgba(72,190,255,.22) !important;
}

body.cm-open #adminView .sidebar-glass-btn.is-active .sgb-rim,
body.cm-open #adminView .sidebar-glass-btn[aria-selected="true"] .sgb-rim,
body.cm-open #adminView .sidebar-glass-btn.sgb-primary .sgb-rim {
  opacity: .9 !important;
}

body.cm-open #adminView .sidebar-glass-btn.is-active .sgb-bloom,
body.cm-open #adminView .sidebar-glass-btn[aria-selected="true"] .sgb-bloom,
body.cm-open #adminView .sidebar-glass-btn.sgb-primary .sgb-bloom {
  opacity: .9 !important;
}

/* Signatures command menus: open into the workspace so labels are not clipped by the sidebar. */
body.cm-open #adminView #tabSignatures .sig-command-bar .sig-menu {
  position: relative !important;
  overflow: visible !important;
}

body.cm-open #adminView #tabSignatures .sig-command-bar .sig-menu-panel {
  left: 0 !important;
  right: auto !important;
  min-width: 260px !important;
  width: max-content !important;
  max-width: min(340px, 84vw) !important;
  overflow: visible !important;
  transform: translateY(0) !important;
}

body.cm-open #adminView #tabSignatures .sig-command-bar .sig-menu-panel button,
body.cm-open #adminView #tabSignatures .sig-command-bar .sig-menu-panel .btn-ghost,
body.cm-open #adminView #tabSignatures .sig-command-bar .sig-menu-panel .LiquidButton {
  min-width: 224px !important;
  width: 100% !important;
  justify-content: flex-start !important;
  text-align: left !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  padding-inline: 16px !important;
}

body.cm-open #adminView #tabSignatures .sig-filter-bar .sig-menu-panel,
body.cm-open #adminView #tabSignatures .sig-more-filters .sig-menu-panel {
  left: auto !important;
  right: 0 !important;
  width: min(420px, 84vw) !important;
  max-width: min(420px, 84vw) !important;
}

/* Sidebar collapse fix: the structured glass button layer must not force folded groups open. */
body.cm-open #adminView .nav-group.collapsed .tab-btn,
body.cm-open #adminView .nav-group.collapsed .sidebar-glass-btn {
  display: none !important;
}

body.cm-open #adminView .nav-group.collapsed .tab-btn[aria-selected="true"],
body.cm-open #adminView .nav-group.collapsed .sidebar-glass-btn[aria-selected="true"] {
  display: flex !important;
}

/* ========================================================================== */
/* Real layered glass materials                                               */
/* ========================================================================== */

body.cm-open #adminView .glass-capsule {
  --mx: 50%;
  --my: 18%;
  --capsule-radius: 20px;
  position: relative !important;
  z-index: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 54px !important;
  padding: 0 17px !important;
  border: 0 !important;
  border-radius: var(--capsule-radius) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: rgba(244, 250, 255, .94) !important;
  cursor: pointer !important;
  isolation: isolate !important;
  overflow: visible !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  transition: transform 150ms cubic-bezier(.2,.8,.2,1) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.cm-open #adminView .glass-capsule::before,
body.cm-open #adminView .glass-capsule::after {
  content: none !important;
  display: none !important;
}

body.cm-open #adminView .glass-capsule > span:not(.glass-capsule__content) {
  position: absolute;
  display: block;
  pointer-events: none;
}

body.cm-open #adminView .glass-capsule__bloom {
  z-index: -2;
  left: 10%;
  right: 10%;
  bottom: -9px;
  height: 24px;
  border-radius: 50%;
  opacity: .66;
  filter: blur(8px);
  background:
    radial-gradient(ellipse at 50% 35%, rgba(77, 208, 255, .38), rgba(51, 92, 255, .17) 39%, transparent 72%),
    repeating-radial-gradient(circle at 31% 55%, rgba(214, 247, 255, .16) 0 1px, transparent 1px 4px),
    repeating-linear-gradient(103deg, transparent 0 5px, rgba(97, 202, 255, .10) 6px 7px, transparent 8px 12px);
  transition: bottom 150ms ease, height 150ms ease, opacity 150ms ease, filter 150ms ease;
}

body.cm-open #adminView .glass-capsule__fill {
  z-index: 0;
  inset: 2px;
  border-radius: calc(var(--capsule-radius) - 2px);
  background:
    radial-gradient(150px 44px at var(--mx) var(--my), rgba(255,255,255,.25), transparent 68%),
    linear-gradient(180deg, rgba(211, 235, 249, .15), rgba(95, 142, 180, .09) 48%, rgba(3, 15, 34, .28));
  box-shadow:
    inset 0 2px 3px rgba(255,255,255,.11),
    inset 0 -3px 5px rgba(0,0,0,.72),
    inset 8px 0 14px rgba(120,218,255,.035),
    inset -10px 0 18px rgba(0,0,0,.30),
    0 9px 18px rgba(0,0,0,.28);
  -webkit-backdrop-filter: blur(18px) saturate(128%) contrast(108%);
  backdrop-filter: blur(18px) saturate(128%) contrast(108%);
}

body.cm-open #adminView .glass-capsule__rim {
  z-index: 4;
  inset: 0;
  padding: 2px;
  border-radius: var(--capsule-radius);
  opacity: .92;
  background: conic-gradient(from 218deg,
    rgba(35, 90, 139, .32) 0deg,
    rgba(144, 232, 255, .92) 35deg,
    rgba(255,255,255,.96) 67deg,
    rgba(83, 155, 218, .30) 116deg,
    rgba(22, 46, 85, .34) 176deg,
    rgba(72, 128, 192, .58) 218deg,
    rgba(230, 251, 255, .92) 270deg,
    rgba(68, 207, 255, .76) 318deg,
    rgba(35, 90, 139, .32) 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
}

body.cm-open #adminView [class*="glass-capsule__edge--"] { z-index: 5; opacity: .88; }
body.cm-open #adminView .glass-capsule__edge--top {
  top: 1px; left: 18px; right: 28px; height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(227,249,255,.82) 18%, rgba(255,255,255,.98) 42%, rgba(105,204,255,.32) 78%, transparent);
  filter: blur(.15px);
}
body.cm-open #adminView .glass-capsule__edge--bottom {
  bottom: 1px; left: 26px; right: 17px; height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(44,113,177,.18) 14%, rgba(94,207,255,.65) 61%, rgba(228,249,255,.76) 84%, transparent);
}
body.cm-open #adminView .glass-capsule__edge--left {
  left: 1px; top: 14px; bottom: 17px; width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, rgba(221,248,255,.90) 28%, rgba(73,173,231,.48) 66%, transparent);
}
body.cm-open #adminView .glass-capsule__edge--right {
  right: 1px; top: 18px; bottom: 13px; width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, rgba(89,180,234,.35) 22%, rgba(234,251,255,.82) 68%, transparent);
}

body.cm-open #adminView [class*="glass-capsule__corner--"] {
  z-index: 6;
  width: 18px;
  height: 18px;
  opacity: .94;
}
body.cm-open #adminView .glass-capsule__corner--tl {
  top: -1px; left: -1px;
  border-radius: var(--capsule-radius) 0 0 0;
  background: radial-gradient(circle at 76% 76%, transparent 48%, rgba(255,255,255,.96) 55%, rgba(102,215,255,.42) 64%, transparent 71%);
}
body.cm-open #adminView .glass-capsule__corner--tr {
  top: -1px; right: -1px;
  border-radius: 0 var(--capsule-radius) 0 0;
  background: radial-gradient(circle at 24% 76%, transparent 47%, rgba(126,220,255,.70) 55%, rgba(255,255,255,.88) 62%, transparent 72%);
}
body.cm-open #adminView .glass-capsule__corner--bl {
  bottom: -1px; left: -1px;
  border-radius: 0 0 0 var(--capsule-radius);
  background: radial-gradient(circle at 76% 24%, transparent 48%, rgba(74,155,220,.45) 56%, rgba(217,248,255,.78) 64%, transparent 72%);
}
body.cm-open #adminView .glass-capsule__corner--br {
  right: -1px; bottom: -1px;
  border-radius: 0 0 var(--capsule-radius) 0;
  background: radial-gradient(circle at 24% 24%, transparent 46%, rgba(255,255,255,.94) 55%, rgba(65,196,255,.54) 64%, transparent 72%);
}

body.cm-open #adminView .glass-capsule__shine {
  z-index: 3;
  inset: 3px;
  border-radius: calc(var(--capsule-radius) - 3px);
  opacity: .86;
  background:
    radial-gradient(110px 42px at var(--mx) var(--my), rgba(255,255,255,.43), rgba(153,226,255,.13) 31%, transparent 70%),
    linear-gradient(112deg, transparent 13%, rgba(255,255,255,.075) 37%, transparent 52%);
}

body.cm-open #adminView .glass-capsule__content {
  position: relative !important;
  z-index: 8 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  color: inherit !important;
  font-weight: 760 !important;
  line-height: 1.05 !important;
  text-align: left !important;
  white-space: nowrap !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.70) !important;
  pointer-events: none;
}

body.cm-open #adminView .glass-capsule__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 25px !important;
  width: 25px !important;
  height: 25px !important;
  border-radius: 50% !important;
  background: rgba(214,244,255,.075) !important;
  box-shadow: inset 0 1px 1px rgba(255,255,255,.22), inset 0 -1px 2px rgba(0,0,0,.38) !important;
}

body.cm-open #adminView .glass-capsule__label {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.cm-open #adminView .glass-capsule:hover {
  z-index: 3 !important;
  transform: translate3d(0, -3px, 0) scale(1.012) !important;
}

body.cm-open #adminView .glass-capsule:hover .glass-capsule__bloom { opacity: .88; filter: blur(9px); }
body.cm-open #adminView .glass-capsule:active {
  transform: translate3d(0, 1px, 0) scale(.972, .94) !important;
}
body.cm-open #adminView .glass-capsule:active .glass-capsule__bloom {
  bottom: -4px;
  height: 14px;
  opacity: .42;
  filter: blur(5px);
}

body.cm-open #adminView .glass-capsule.is-active .glass-capsule__fill,
body.cm-open #adminView .glass-capsule[aria-selected="true"] .glass-capsule__fill,
body.cm-open #adminView .glass-capsule--primary .glass-capsule__fill {
  background:
    radial-gradient(170px 48px at var(--mx) var(--my), rgba(255,255,255,.30), transparent 67%),
    linear-gradient(180deg, rgba(174, 225, 249, .20), rgba(51, 116, 164, .13) 57%, rgba(2, 16, 36, .34));
  box-shadow:
    inset 0 2px 4px rgba(255,255,255,.16),
    inset 0 -4px 6px rgba(0,0,0,.72),
    inset 9px 0 18px rgba(75,210,255,.07),
    0 10px 22px rgba(0,0,0,.34),
    0 0 24px rgba(66,184,255,.16);
}
body.cm-open #adminView .glass-capsule.is-active .glass-capsule__bloom,
body.cm-open #adminView .glass-capsule[aria-selected="true"] .glass-capsule__bloom,
body.cm-open #adminView .glass-capsule--primary .glass-capsule__bloom { opacity: .95; }

body.cm-open #adminView .glass-capsule--danger .glass-capsule__fill {
  background:
    radial-gradient(150px 44px at var(--mx) var(--my), rgba(255,255,255,.23), transparent 67%),
    linear-gradient(180deg, rgba(255,175,186,.18), rgba(127,28,50,.18) 58%, rgba(35,4,17,.34));
}
body.cm-open #adminView .glass-capsule--danger .glass-capsule__bloom {
  background:radial-gradient(ellipse at 50% 35%,rgba(255,100,132,.32),rgba(167,31,76,.15) 42%,transparent 72%);
}

body.cm-open #adminView .cm-nav .glass-capsule { width: 100% !important; }
body.cm-open #adminView .cm-report.glass-capsule,
body.cm-open #adminView .btn-primary.glass-capsule { width: auto !important; min-width: max-content !important; }

/* Keep the glow inside the nav's scroll gutter instead of against its clip edge. */
body.cm-open #adminView .cm-sidebar { overflow: visible !important; }
body.cm-open #adminView .cm-sidebar .cm-nav {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 8px 14px 30px 8px !important;
  scroll-padding-block: 12px 30px;
}
body.cm-open #adminView .nav-group { padding: 2px 2px 8px !important; }
body.cm-open #adminView .nav-group.collapsed .glass-capsule { display: none !important; }
body.cm-open #adminView .nav-group.collapsed .glass-capsule[aria-selected="true"] { display: flex !important; }

/* Calmer large-panel glass: one restrained rim and shallow edge reflections. */
body.cm-open #adminView .glass-panel-real {
  position: relative !important;
  isolation: isolate !important;
  border: 0 !important;
  background: linear-gradient(155deg, rgba(10, 27, 48, .86), rgba(4, 15, 31, .91)) !important;
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.10),
    inset 0 -2px 4px rgba(0,0,0,.48),
    inset 12px 0 28px rgba(85,181,225,.025),
    0 16px 38px rgba(0,0,0,.24) !important;
  -webkit-backdrop-filter: blur(10px) saturate(112%) !important;
  backdrop-filter: blur(10px) saturate(112%) !important;
}
body.cm-open #adminView .glass-panel-real::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  padding: 1px !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background: conic-gradient(from 205deg, rgba(76,135,179,.18), rgba(213,244,255,.58), rgba(72,158,207,.20), rgba(20,49,77,.16), rgba(169,226,249,.42), rgba(76,135,179,.18)) !important;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
  mask-composite: exclude !important;
  opacity: .72 !important;
}
body.cm-open #adminView .glass-panel-real::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 1px !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, transparent 5%, rgba(255,255,255,.16) 24%, rgba(154,218,244,.08) 64%, transparent 94%) top / 100% 1px no-repeat,
    linear-gradient(90deg, transparent 8%, rgba(64,140,185,.08) 30%, rgba(210,242,255,.15) 79%, transparent 96%) bottom / 100% 1px no-repeat,
    radial-gradient(480px 110px at 24% 0%, rgba(255,255,255,.055), transparent 72%) !important;
  opacity: .78 !important;
}
body.cm-open #adminView .glass-panel-real > * { position: relative; z-index: 1; }

/* Rows and controls stay quiet, matte, and recessed. */
body.cm-open #adminView .liquid-row,
body.cm-open #adminView .DataTable .sig-row,
body.cm-open #adminView .mrow,
body.cm-open #adminView .entry {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.cm-open #adminView input,
body.cm-open #adminView select,
body.cm-open #adminView textarea,
body.cm-open #adminView #cmSearch {
  border: 1px solid rgba(151,188,214,.14) !important;
  background: rgba(1, 10, 24, .72) !important;
  box-shadow: inset 0 2px 7px rgba(0,0,0,.56), inset 0 1px 1px rgba(255,255,255,.035) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* FINAL PORTRAIT LOCK — must remain the last dashboard rules in this file. */
@media screen and (max-width: 900px) and (orientation: portrait) {
  html, body, body.cm-open, body.cm-open main {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100dvh !important;
    overflow: hidden !important;
  }
  body.cm-open #adminView:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100dvh !important;
    contain: none !important;
    overflow: hidden !important;
  }
  body.cm-open #adminView > .cm-shell {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  body.cm-open #adminView .cm-sidebar {
    flex: 0 0 auto !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: max(7px, env(safe-area-inset-top)) 8px 6px !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }
  body.cm-open #adminView .cm-brand,
  body.cm-open #adminView .cm-side-foot,
  body.cm-open #adminView .nav-group-label { display: none !important; }
  body.cm-open #adminView .cm-sidebar .cm-nav {
    display: flex !important;
    flex-direction: row !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    max-height: 52px !important;
    padding: 1px 2px 4px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  body.cm-open #adminView .cm-sidebar .cm-nav::-webkit-scrollbar { display: none !important; }
  body.cm-open #adminView .nav-group { display: contents !important; padding: 0 !important; }
  body.cm-open #adminView .nav-group.collapsed .tab-btn,
  body.cm-open #adminView .nav-group.collapsed .glass-capsule { display: flex !important; }
  body.cm-open #adminView .cm-nav .tab-btn,
  body.cm-open #adminView .cm-nav .glass-capsule {
    flex: 0 0 136px !important;
    width: 136px !important;
    min-width: 136px !important;
    max-width: 136px !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 7px 11px !important;
    scroll-snap-align: start;
  }
  body.cm-open #adminView .cm-nav .glass-capsule__content { gap: 7px !important; }
  body.cm-open #adminView .cm-nav .glass-capsule__icon { flex-basis: 21px !important; width: 21px !important; height: 21px !important; }
  body.cm-open #adminView .cm-nav .glass-capsule__label { display: block !important; font-size: 12px !important; }
  body.cm-open #adminView .cm-main {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  body.cm-open #adminView .cm-topbar {
    flex: 0 0 auto !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 8px 10px !important;
    border-radius: 0 !important;
  }
  body.cm-open #adminView .cm-topbar > div:first-child,
  body.cm-open #adminView .cm-top-actions { display: none !important; }
  body.cm-open #adminView .cm-search-wrap,
  body.cm-open #adminView #cmSearch { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
  body.cm-open #adminView #cmSearch { min-height: 42px !important; }
  body.cm-open #adminView .cm-search-results { position: fixed !important; left: 8px !important; right: 8px !important; top: calc(env(safe-area-inset-top) + 104px) !important; width: auto !important; max-height: 60dvh !important; }
  body.cm-open #adminView .cm-content {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 10px 10px calc(82px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  body.cm-open #adminView .tab-panel:not([hidden]),
  body.cm-open #adminView .tab-panel:not([hidden]) > *,
  body.cm-open #adminView .cm-grid,
  body.cm-open #adminView .cm-card {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.cm-open #adminView .cm-grid,
  body.cm-open #adminView .kpi-cards,
  body.cm-open #adminView .command-layout,
  body.cm-open #adminView .event-planning-grid,
  body.cm-open #adminView .event-utility-grid,
  body.cm-open #adminView .media-grid,
  body.cm-open #adminView .map-layout { grid-template-columns: minmax(0, 1fr) !important; }
  body.cm-open #adminView .planner-desktop-calendar { display: none !important; }
  body.cm-open #adminView .planner-mobile-agenda { display: block !important; padding: 12px !important; }
  body.cm-open #adminView table { display: block !important; width: 100% !important; max-width: 100% !important; overflow-x: auto !important; }
  body.cm-open #adminView .avatar-chat { position: fixed !important; inset: max(6px, env(safe-area-inset-top)) 6px max(6px, env(safe-area-inset-bottom)) 6px !important; width: auto !important; height: auto !important; max-width: none !important; max-height: none !important; }
}

/* Native-style mobile application shell. */
.mobile-app-header, .mobile-bottom-nav, .mobile-section-sheet, .mobile-home-actions, .mobile-field-mode, .sig-mobile-list { display:none; }
body.mobile-privacy-shield::after { content:"Jordan HQ\A Campaign information protected"; white-space:pre; position:fixed; z-index:99999; inset:0; display:grid; place-items:center; padding:30px; color:#dff5ff; text-align:center; font:700 18px/1.8 Georgia,serif; background:#00102b; }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
@media screen and (max-width: 900px) and (orientation: portrait) {
  body.cm-open #adminView .cm-sidebar,
  body.cm-open #adminView .cm-topbar { display:none !important; }
  body.cm-open.mobile-searching #adminView .cm-topbar { position:fixed !important; z-index:2200 !important; top:calc(54px + env(safe-area-inset-top)) !important; left:8px !important; right:8px !important; display:block !important; width:auto !important; padding:8px !important; border-radius:16px !important; background:#061a38 !important; }
  body.cm-open.mobile-searching #adminView .cm-topbar .cm-search-wrap { display:block !important; }
  body.cm-open #adminView > .cm-shell { top:calc(58px + env(safe-area-inset-top)) !important; bottom:calc(66px + env(safe-area-inset-bottom)) !important; height:auto !important; }
  .mobile-app-header {
    position:absolute; z-index:1400; top:0; left:0; right:0; display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:8px;
    height:calc(58px + env(safe-area-inset-top)); padding:env(safe-area-inset-top) 12px 0; color:#f7fbff; background:rgba(0,12,33,.96); border-bottom:1px solid rgba(116,194,255,.16);
  }
  .mobile-app-header > strong { font-family:Georgia,"Times New Roman",serif; font-size:18px; letter-spacing:.045em; text-align:left; }
  .mobile-app-header > span { display:flex; gap:4px; }
  .mobile-app-header button { display:grid; place-items:center; width:40px; height:40px; padding:0; border:0; border-radius:12px; color:#e9f6ff; background:transparent; font-size:20px; }
  .mobile-app-header button:active { background:rgba(73,151,230,.18); }
  .mobile-app-header button.is-back { font-size:34px; font-weight:300; line-height:1; }
  .mobile-bottom-nav {
    position:absolute; z-index:1500; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(5,1fr); align-items:start;
    height:calc(66px + env(safe-area-inset-bottom)); padding:5px 6px env(safe-area-inset-bottom); background:rgba(0,12,33,.98); border-top:1px solid rgba(116,194,255,.18); box-shadow:0 -12px 30px rgba(0,0,0,.22);
  }
  .mobile-bottom-nav button { display:grid; place-items:center; align-content:center; gap:2px; min-width:0; height:55px; padding:2px; border:0; color:#8296b4; background:transparent; }
  .mobile-bottom-nav button > span { display:grid; place-items:center; width:29px; height:29px; border-radius:10px; font-size:20px; }
  .mobile-bottom-nav button small { font-size:9px; }
  .mobile-bottom-nav button.active { color:#78ceff; }
  .mobile-bottom-nav .mobile-jordy { position:relative; color:white; transform:translateY(-17px); }
  .mobile-bottom-nav .mobile-jordy > span { width:54px; height:54px; border:1px solid #9d8cff; border-radius:50%; font-size:27px; background:radial-gradient(circle at 45% 35%,#765cff,#18327f 52%,#04122e 76%); box-shadow:0 0 0 4px #00102b,0 0 18px rgba(80,112,255,.7); }
  .mobile-bottom-nav .mobile-jordy small { margin-top:1px; }
  .mobile-section-sheet { position:fixed; z-index:3000; inset:0; display:block; }
  .mobile-section-sheet[hidden] { display:none !important; }
  .mobile-sheet-backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(0,5,17,.72); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
  .mobile-section-sheet > section { position:absolute; left:8px; right:8px; top:max(12px,env(safe-area-inset-top)); bottom:max(12px,env(safe-area-inset-bottom)); display:flex; flex-direction:column; min-height:0; max-height:none; padding:16px; border:1px solid rgba(127,204,255,.28); border-radius:24px; color:#f3f9ff; background:#03142e; box-shadow:0 24px 80px rgba(0,0,0,.6); overflow:hidden; }
  .mobile-section-sheet > section > div { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
  .mobile-section-sheet > section > div strong { font-family:Georgia,"Times New Roman",serif; font-size:21px; }
  .mobile-sheet-close { width:38px; height:38px; border:0; border-radius:50%; color:white; background:rgba(255,255,255,.08); font-size:25px; }
  .mobile-section-sheet nav { flex:1 1 auto; display:grid; grid-template-columns:1fr 1fr; align-content:start; gap:8px; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; }
  .mobile-section-sheet nav button { display:flex; align-items:center; gap:10px; min-height:50px; padding:10px; border:1px solid rgba(121,191,240,.14); border-radius:14px; color:#e8f4ff; text-align:left; background:rgba(14,49,88,.42); }
  .mobile-section-sheet nav button span { color:#6fd3ff; }
  .mobile-section-sheet footer { flex:0 0 auto; margin-top:12px; padding-top:4px; }
  .mobile-section-sheet footer button { width:100%; min-height:44px; border:1px solid rgba(255,111,111,.24); border-radius:13px; color:#ffb9b9; background:rgba(106,22,36,.3); }

  body.cm-open #adminView .cm-content { padding:10px 10px 18px !important; }
  body.cm-open #adminView #tabMap { min-height:100%; }
  body.cm-open #adminView #tabMap > .cm-hero { display:none !important; }
  body.cm-open #adminView #tabMap .map-callout { margin:0 0 8px; padding:8px 10px; font-size:11px; }
  body.cm-open #adminView #tabMap .map-canvas-card { position:relative; margin:0 !important; padding:0 !important; border-radius:18px !important; overflow:hidden !important; }
  body.cm-open #adminView #tabMap #leafletMap { height:calc(100dvh - 154px) !important; min-height:430px; border-radius:18px !important; }
  body.cm-open #adminView #tabMap .mobile-map-toolbar { position:absolute; z-index:900; top:10px; left:10px; right:10px; display:grid; grid-template-columns:repeat(3,1fr); gap:7px; pointer-events:none; }
  body.cm-open #adminView #tabMap .mobile-map-toolbar button { pointer-events:auto; display:flex; align-items:center; justify-content:center; gap:5px; min-width:0; min-height:42px; padding:6px; border:1px solid rgba(130,211,255,.45); border-radius:13px; color:#eefaff; background:rgba(1,20,45,.9); box-shadow:0 8px 22px rgba(0,0,0,.3); font-weight:800; }
  body.cm-open #adminView #tabMap .mobile-map-toolbar span { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
  body.cm-open #adminView #tabMap .map-intel-grid { position:fixed !important; z-index:3200; left:8px; right:8px; bottom:calc(72px + env(safe-area-inset-bottom)); display:none !important; max-height:72dvh; margin:0 !important; padding:46px 10px 10px; border:1px solid rgba(126,205,255,.35); border-radius:22px; background:#03142e; box-shadow:0 24px 80px rgba(0,0,0,.7); overflow-y:auto; }
  body.cm-open #adminView #tabMap .map-intel-grid.is-open { display:grid !important; grid-template-columns:1fr !important; }
  body.cm-open #adminView #tabMap .mobile-map-sheet-close { position:absolute; z-index:1; top:8px; right:10px; display:grid; place-items:center; width:34px; height:34px; padding:0; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.09); font-size:25px; }
  body.cm-open #adminView #tabMap .map-controls,
  body.cm-open #adminView #tabMap .map-priority { padding:12px !important; }
  body.cm-open #adminView #tabMap .map-focus-row { grid-template-columns:1fr !important; gap:5px !important; }
  body.cm-open #adminView #tabMap .map-focus-actions { justify-content:flex-start; }
  body.cm-open #adminView #tabMap .map-focus-actions button { min-height:36px; }
  body.cm-open #adminView #tabMap .map-canvas-card + .cm-card { display:none !important; }
  body.mobile-map-sheet-open { overflow:hidden; }
  .mobile-field-mode { display:grid; gap:12px; margin-bottom:12px; padding:14px; border:1px solid rgba(104,198,255,.3); border-radius:20px; color:#eff9ff; background:linear-gradient(150deg,rgba(11,54,98,.96),rgba(2,20,46,.98)); box-shadow:inset 0 1px rgba(255,255,255,.08),0 16px 34px rgba(0,0,0,.24); }
  .mobile-field-mode-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
  .mobile-field-mode-head span,.mobile-next-stop small { color:#71d5ff; font-size:9px; font-weight:900; letter-spacing:.1em; }
  .mobile-field-mode-head h2 { margin:2px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:23px; }
  .mobile-field-mode-head i { padding:5px 8px; border-radius:999px; color:#bfffd9; background:rgba(16,119,71,.28); font-size:10px; font-style:normal; }
  .mobile-next-stop { display:grid; gap:5px; padding:12px; border:1px solid rgba(116,189,241,.18); border-radius:15px; background:rgba(0,15,38,.55); }
  .mobile-next-stop strong { font-size:15px; }
  .mobile-next-stop span { color:#9eb1ca; font-size:11px; line-height:1.4; }
  .mobile-next-stop em { color:#bfd0e3; font-size:10px; font-style:normal; line-height:1.4; }
  .mobile-next-stop button { min-height:40px; margin-top:4px; border:1px solid rgba(100,202,255,.35); border-radius:12px; color:#fff; background:linear-gradient(180deg,#176cc2,#0b3f83); font-weight:800; }
  .mobile-field-quick-actions { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
  .mobile-field-quick-actions button { display:grid; place-items:center; gap:5px; min-width:0; min-height:66px; padding:7px 2px; border:1px solid rgba(107,190,246,.2); border-radius:13px; color:#e9f5ff; background:rgba(9,43,79,.7); }
  .mobile-field-quick-actions b { display:grid; place-items:center; width:29px; height:29px; border-radius:9px; color:#79d9ff; background:rgba(36,111,171,.35); font-size:19px; }
  .mobile-field-quick-actions span { overflow:hidden; width:100%; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
  .mobile-field-mode > p { margin:0; color:#8fa4bf; font-size:10px; line-height:1.4; }
  body.cm-open .avatar-root .avatar-btn,
  body.cm-open .avatar-root .avatar-bubble { display:none !important; }
  body.cm-open #adminView .cm-hero { padding:4px 2px 10px !important; }
  body.cm-open #adminView .cm-hero h2,
  body.cm-open #adminView .sig-review-head h1 { display:none !important; }
  body.cm-open #adminView .cm-hero p,
  body.cm-open #adminView .sig-review-head > div { display:none !important; }
  body.cm-open #adminView .sig-review-head { display:block !important; margin:0 0 8px !important; }
  body.cm-open #adminView #sigReviewNext { width:100% !important; min-height:48px !important; }
  body.cm-open #adminView .sig-mobile-metrics { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin:0 0 10px; }
  body.cm-open #adminView .sig-mobile-metrics > div { display:grid; gap:3px; min-width:0; min-height:64px; align-content:center; padding:8px; border:1px solid rgba(110,185,237,.16); border-radius:14px; background:rgba(2,20,45,.72); }
  body.cm-open #adminView .sig-mobile-metrics strong { font-size:20px; }
  body.cm-open #adminView .sig-mobile-metrics span { overflow:hidden; color:#8499b7; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
  body.cm-open #adminView .sig-mobile-metrics .pending strong { color:#ffd166; }
  body.cm-open #adminView .sig-mobile-metrics .valid strong { color:#63e6a1; }
  body.cm-open #adminView .sig-mobile-metrics .flagged strong { color:#ff6f86; }
  body.cm-open #adminView .sig-command-bar { display:flex !important; flex-wrap:nowrap !important; gap:7px !important; width:100% !important; padding:0 0 10px !important; overflow-x:auto !important; scrollbar-width:none; }
  body.cm-open #adminView .sig-command-bar::-webkit-scrollbar { display:none; }
  body.cm-open #adminView .sig-command-bar > * { flex:0 0 auto !important; }
  body.cm-open #adminView .sig-command-bar summary,
  body.cm-open #adminView .sig-command-bar > button { min-height:40px !important; padding:8px 13px !important; font-size:12px !important; }
  body.cm-open #adminView .sig-filter-bar { display:grid !important; grid-template-columns:1fr !important; gap:8px !important; padding:0 0 10px !important; }
  body.cm-open #adminView .sig-filter-bar input,
  body.cm-open #adminView .sig-filter-bar select { min-height:46px !important; border-radius:14px !important; }
  body.cm-open #adminView .sig-summary-panel { border-radius:18px !important; }
  body.cm-open #adminView .sig-workspace { display:block !important; }
  body.cm-open #adminView .sig-mobile-list { display:grid !important; gap:8px !important; padding:10px !important; border:1px solid rgba(108,185,239,.17); border-radius:18px; background:rgba(2,18,42,.74); }
  body.cm-open #adminView .sig-workspace .sig-table-panel { display:none !important; }
  body.cm-open #adminView .sig-table-panel { padding:10px !important; border-radius:18px !important; }
  body.cm-open #adminView .sig-table-head { display:none !important; }
  body.cm-open #adminView .sig-table { display:grid !important; gap:8px !important; }
  body.cm-open #adminView .sig-row { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; min-height:92px !important; padding:13px !important; border:1px solid rgba(108,185,239,.17) !important; border-radius:16px !important; background:rgba(2,19,43,.72) !important; }
  body.cm-open #adminView .sig-row .sig-row-date { display:none !important; }
  body.cm-open #adminView .sig-review-drawer { position:fixed !important; z-index:2100 !important; inset:calc(58px + env(safe-area-inset-top)) 0 calc(66px + env(safe-area-inset-bottom)) 0 !important; width:100% !important; max-width:none !important; padding:14px !important; border-radius:0 !important; overflow:auto !important; background:#03142e !important; }
  body.cm-open #adminView .sig-review-drawer:empty,
  body.cm-open #adminView .sig-review-drawer.is-empty { display:none !important; }
  body.cm-open #adminView .sig-mobile-back { display:flex !important; align-items:center; gap:5px; width:max-content !important; min-height:38px; margin-bottom:8px; padding:4px 8px; border:0; color:#8fdcff; background:transparent; font-size:20px; }
  body.cm-open #adminView .sig-mobile-back span { font-size:13px; }

  body.cm-open #adminView .mobile-home-actions { display:block !important; padding:14px !important; }
  body.cm-open #adminView .mobile-home-section-title { display:grid; gap:2px; margin-bottom:10px; text-transform:uppercase; letter-spacing:.06em; }
  body.cm-open #adminView .mobile-home-section-title span { color:#69cfff; font-size:11px; font-weight:800; }
  body.cm-open #adminView .mobile-home-section-title small { color:#758aa9; font-size:10px; text-transform:none; letter-spacing:0; }
  body.cm-open #adminView .mobile-home-actions > div:last-child { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  body.cm-open #adminView .mobile-home-actions button { display:grid; place-items:center; gap:5px; min-width:0; min-height:68px; padding:7px 3px; border:1px solid rgba(107,190,246,.2); border-radius:14px; color:#e9f5ff; background:linear-gradient(180deg,rgba(12,63,115,.7),rgba(2,22,50,.84)); }
  body.cm-open #adminView .mobile-home-actions button span { color:#71d1ff; font-size:21px; }
  body.cm-open #adminView .mobile-home-actions button small { max-width:100%; overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
  body.cm-open #adminView #tabCommand .ai-command-card { display:none !important; }
  body.cm-open #adminView #tabCommand .command-signatures-card { display:none !important; }
  body.cm-open #adminView #tabCommand .command-mini-grid { grid-template-columns:1fr 1fr !important; }
}
@media screen and (min-width:901px), screen and (orientation:landscape) {
  .sig-mobile-metrics, .sig-mobile-back { display:none !important; }
}

.mobile-qr-screen,
.mobile-printable-screen { display:none; }
@media screen and (max-width:900px) and (orientation:portrait) {
  body.mobile-printable-open { overflow:hidden; }
  .mobile-printable-screen:not([hidden]) { position:fixed; z-index:3650; inset:0; display:grid; grid-template-rows:calc(64px + env(safe-area-inset-top)) minmax(0,1fr); width:100%; height:100dvh; background:#06172d; }
  .mobile-printable-screen > header { padding:env(safe-area-inset-top) 12px 0; display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:10px; color:#f7fbff; background:#071b36; box-shadow:0 1px 0 rgba(122,209,255,.3); }
  .mobile-printable-screen > header strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:15px; }
  .mobile-printable-back,.mobile-printable-print { min-height:42px; border:1px solid rgba(112,205,255,.42); border-radius:14px; color:#fff; background:rgba(18,61,103,.75); font-weight:800; }
  .mobile-printable-back { font-size:32px; line-height:1; }
  .mobile-printable-print { padding:0 16px; }
  .mobile-printable-frame { width:100%; height:100%; border:0; background:#fff; }
  .mobile-qr-screen:not([hidden]) { position:fixed; z-index:3600; inset:0; display:flex; flex-direction:column; width:100%; height:100dvh; color:#f2f8ff; background:radial-gradient(circle at 55% 10%,rgba(40,91,175,.3),transparent 35%),#001027; }
  .mobile-qr-screen > header { flex:0 0 auto; display:grid; grid-template-columns:42px 1fr 42px; align-items:center; min-height:calc(58px + env(safe-area-inset-top)); padding:env(safe-area-inset-top) 10px 0; border-bottom:1px solid rgba(115,191,244,.16); }
  .mobile-qr-screen > header strong { grid-column:2; font-family:Georgia,"Times New Roman",serif; font-size:17px; text-align:center; }
  .mobile-qr-back { grid-column:1; grid-row:1; width:40px; height:40px; padding:0; border:0; color:#e6f5ff; background:transparent; font-size:36px; line-height:1; }
  .mobile-qr-scroll { flex:1 1 auto; min-height:0; padding:14px 14px calc(20px + env(safe-area-inset-bottom)); overflow-y:auto; -webkit-overflow-scrolling:touch; }
  .mobile-qr-card, .mobile-field-materials { padding:16px; border:1px solid rgba(118,195,246,.2); border-radius:20px; background:linear-gradient(155deg,rgba(12,42,76,.9),rgba(2,18,42,.94)); box-shadow:inset 0 1px rgba(255,255,255,.08),0 16px 36px rgba(0,0,0,.24); }
  .mobile-qr-card { display:grid; place-items:center; text-align:center; }
  .mobile-qr-kicker { color:#87d9ff; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
  .mobile-qr-card h2 { margin:7px 0 14px; font-family:Georgia,"Times New Roman",serif; font-size:24px; }
  .mobile-qr-image { width:min(72vw,290px); aspect-ratio:1; padding:12px; border:2px solid #a994ff; border-radius:18px; background:#fff; box-shadow:0 0 0 5px rgba(142,112,255,.18),0 0 24px rgba(99,113,255,.5); }
  .mobile-qr-image img { display:block; width:100%; height:100%; }
  .mobile-qr-card p { max-width:100%; margin:14px 0; color:#8fa4c3; font-size:11px; overflow-wrap:anywhere; }
  .mobile-qr-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; width:100%; }
  .mobile-qr-actions button { min-height:44px; border:1px solid rgba(112,198,255,.25); border-radius:13px; color:#eaf7ff; background:linear-gradient(180deg,rgba(17,80,143,.85),rgba(3,30,66,.92)); }
  .mobile-field-materials { margin-top:12px; }
  .mobile-field-materials h3 { margin:0 0 10px; font-family:Georgia,"Times New Roman",serif; }
  .mobile-field-materials > button { display:grid; grid-template-columns:35px 1fr 15px; align-items:center; gap:9px; width:100%; min-height:62px; padding:8px; border:0; border-top:1px solid rgba(112,185,235,.14); color:#edf7ff; text-align:left; background:transparent; }
  .mobile-field-materials > button > span:first-child { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:#72d2ff; background:rgba(29,98,157,.35); }
  .mobile-field-materials > button > span:nth-child(2) { display:grid; gap:2px; }
  .mobile-field-materials > button small { color:#8196b5; }
  .mobile-field-materials > button i { color:#6ecfff; font-style:normal; font-size:22px; }
}

/* Mobile shell source-of-truth. Keep this block last. */
@media screen and (max-width:900px) and (orientation:portrait) {
  body.cm-open #adminView .mobile-app-header {
    grid-template-columns:auto auto minmax(0,1fr) auto !important;
  }
  body.cm-open #adminView .mobile-app-header [hidden] { display:none !important; }
  body.cm-open #adminView .mobile-tools-button,
  body.cm-open #adminView .mobile-header-back {
    position:relative !important;
    display:grid !important;
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    padding:0 !important;
  }
  body.cm-open.mobile-sheet-open #mobileSectionSheet,
  body.cm-open.mobile-sheet-open #mobileSectionSheet > section {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
  body.cm-open.mobile-sheet-open #mobileSectionSheet > section {
    display:flex !important;
  }

  body.cm-open #adminView .mobile-bottom-nav .mobile-jordy-home,
  body.cm-open #adminView .mobile-bottom-nav .mobile-jordy-home:hover,
  body.cm-open #adminView .mobile-bottom-nav .mobile-jordy-home:focus,
  body.cm-open #adminView .mobile-bottom-nav .mobile-jordy-home:active {
    appearance:none !important;
    -webkit-appearance:none !important;
    border:0 !important;
    outline:0 !important;
    border-radius:0 !important;
    background:none !important;
    background-color:transparent !important;
    background-image:none !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    box-shadow:none !important;
    filter:none !important;
  }
  body.cm-open #adminView .mobile-bottom-nav .mobile-jordy-home::before,
  body.cm-open #adminView .mobile-bottom-nav .mobile-jordy-home::after {
    content:none !important;
    display:none !important;
    border:0 !important;
    background:none !important;
    box-shadow:none !important;
  }
}

/* Public petition pages use the document scroller. Viewport locking belongs
   only to the authenticated Jordan HQ application. */
html {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
body:not(.cm-open) {
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-height: 100% !important;
  overflow: visible !important;
  touch-action: pan-y !important;
}
html:has(body.cm-open) {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100dvh !important;
  overflow: hidden !important;
}
body.cm-open {
  overflow: hidden !important;
}

html:has(body.cm-open),
body.cm-open {
  overflow: hidden !important;
}

/* Transparent refractive center: the interior now bends and blooms the scene
   beneath it instead of reading as a dark painted button fill. */
@media screen and (max-width:900px) and (orientation:portrait) {
  .mobile-app-header button,
  .mobile-bottom-nav button:not(.mobile-jordy) > span,
  body.cm-open #adminView .LiquidButton,
  body.cm-open #adminView .btn-primary,
  body.cm-open #adminView .btn-ghost,
  body.cm-open #adminView .btn-danger,
  body.cm-open #adminView .mobile-home-actions button,
  body.cm-open #adminView .mobile-field-quick-actions button,
  body.cm-open #adminView #tabMap .mobile-map-toolbar button,
  .mobile-qr-actions button,
  .mobile-printable-back,
  .mobile-printable-print {
    background-color:rgba(7,27,57,.28) !important;
    background-image:
      radial-gradient(ellipse 82% 58% at 50% -8%,rgba(240,251,255,.3),rgba(171,222,255,.11) 35%,transparent 68%),
      radial-gradient(circle at 8% 22%,rgba(80,207,255,.19),transparent 34%),
      radial-gradient(circle at 94% 82%,rgba(150,120,255,.17),transparent 36%),
      linear-gradient(112deg,rgba(255,255,255,.08),transparent 32%,rgba(111,194,255,.06) 58%,rgba(255,255,255,.1)),
      linear-gradient(180deg,rgba(42,87,142,.22),rgba(0,11,32,.38)) !important;
    -webkit-backdrop-filter:blur(24px) saturate(170%) brightness(1.08) !important;
    backdrop-filter:blur(24px) saturate(170%) brightness(1.08) !important;
    box-shadow:
      inset 0 2px 3px rgba(255,255,255,.24),
      inset 0 10px 22px rgba(142,210,255,.06),
      inset 0 -9px 18px rgba(0,2,20,.48),
      inset 3px 0 7px rgba(80,200,255,.08),
      inset -3px 0 7px rgba(170,133,255,.08),
      0 10px 24px rgba(0,4,20,.27),
      0 3px 14px rgba(57,183,255,.13) !important;
  }

  body.cm-open #adminView .btn-primary,
  body.cm-open #adminView .primary-accent,
  .mobile-bottom-nav button.active > span {
    background-color:rgba(21,73,140,.3) !important;
    background-image:
      radial-gradient(ellipse 90% 68% at 50% -12%,rgba(255,255,255,.4),rgba(133,217,255,.16) 38%,transparent 67%),
      radial-gradient(circle at 12% 35%,rgba(73,205,255,.25),transparent 36%),
      radial-gradient(circle at 90% 80%,rgba(123,101,255,.24),transparent 40%),
      linear-gradient(135deg,rgba(75,180,255,.22),rgba(17,49,115,.3) 52%,rgba(43,29,105,.24)) !important;
  }

  .mobile-app-header button:active,
  body.cm-open #adminView .LiquidButton:active,
  body.cm-open #adminView .btn-primary:active,
  body.cm-open #adminView .btn-ghost:active,
  body.cm-open #adminView .btn-danger:active,
  .mobile-qr-actions button:active {
    background-color:rgba(5,22,50,.4) !important;
    -webkit-backdrop-filter:blur(18px) saturate(150%) !important;
    backdrop-filter:blur(18px) saturate(150%) !important;
  }
}

/* Engraved mobile control labels: a dark upper cut and bright lower refraction
   make the glyphs read as recessed into the glass rather than printed on it. */
@media screen and (max-width:900px) and (orientation:portrait) {
  .mobile-app-header button,
  .mobile-bottom-nav button,
  body.cm-open #adminView .LiquidButton,
  body.cm-open #adminView .btn-primary,
  body.cm-open #adminView .btn-ghost,
  body.cm-open #adminView .btn-danger,
  body.cm-open #adminView .mobile-home-actions button,
  body.cm-open #adminView .mobile-field-quick-actions button,
  body.cm-open #adminView #tabMap .mobile-map-toolbar button,
  .mobile-qr-actions button,
  .mobile-printable-back,
  .mobile-printable-print {
    color:#dcebf7 !important;
    -webkit-text-stroke:.18px rgba(217,244,255,.34);
    text-shadow:
      0 -1px 1px rgba(0,3,18,.98),
      0 -2px 3px rgba(0,4,22,.5),
      0 1px 0 rgba(255,255,255,.62),
      0 2px 3px rgba(132,216,255,.2) !important;
  }

  .mobile-app-header button > *,
  .mobile-bottom-nav button > *,
  body.cm-open #adminView .LiquidButton > *,
  body.cm-open #adminView .btn-primary > *,
  body.cm-open #adminView .btn-ghost > *,
  body.cm-open #adminView .btn-danger > *,
  body.cm-open #adminView .mobile-home-actions button > *,
  body.cm-open #adminView .mobile-field-quick-actions button > *,
  body.cm-open #adminView #tabMap .mobile-map-toolbar button > *,
  .mobile-qr-actions button > * {
    color:inherit !important;
    -webkit-text-stroke:inherit;
    text-shadow:inherit !important;
  }

  body.cm-open #adminView .btn-primary,
  body.cm-open #adminView .primary-accent,
  .mobile-bottom-nav button.active {
    color:#f0faff !important;
    text-shadow:
      0 -1px 1px rgba(0,3,22,1),
      0 -2px 4px rgba(0,7,30,.58),
      0 1px 0 rgba(255,255,255,.82),
      0 2px 4px rgba(98,207,255,.34) !important;
  }

  .mobile-bottom-nav button small {
    font-weight:750;
    letter-spacing:.01em;
  }

  .mobile-app-header button:active,
  body.cm-open #adminView .LiquidButton:active,
  body.cm-open #adminView .btn-primary:active,
  body.cm-open #adminView .btn-ghost:active,
  body.cm-open #adminView .btn-danger:active,
  .mobile-qr-actions button:active {
    text-shadow:
      0 1px 2px rgba(0,2,16,.96),
      0 -1px 0 rgba(218,246,255,.28) !important;
  }
}

/* iPhone liquid-glass material layer. Kept mobile-only and intentionally
   excluded from inputs, tables, and the Leaflet canvas. */
@media screen and (max-width:900px) and (orientation:portrait) {
  body.cm-open {
    --ios-glass-fill:linear-gradient(145deg,rgba(111,174,235,.18),rgba(8,35,72,.32) 45%,rgba(0,15,39,.48));
    --ios-glass-rim:inset 0 1px 0 rgba(255,255,255,.36),inset 1px 0 0 rgba(187,230,255,.16),inset 0 -1px 0 rgba(0,8,28,.62),0 10px 30px rgba(0,5,22,.28);
    --ios-glass-blur:blur(24px) saturate(150%);
  }

  .mobile-app-header,
  .mobile-bottom-nav,
  .mobile-section-sheet > section,
  body.cm-open #adminView #tabMap .map-intel-grid,
  .mobile-printable-screen > header,
  .mobile-qr-screen > header {
    border-color:rgba(194,232,255,.22) !important;
    background:linear-gradient(145deg,rgba(61,118,184,.24),rgba(1,18,45,.62)) !important;
    -webkit-backdrop-filter:var(--ios-glass-blur) !important;
    backdrop-filter:var(--ios-glass-blur) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,20,.62),0 12px 32px rgba(0,4,20,.28) !important;
  }

  .mobile-app-header { background:linear-gradient(180deg,rgba(21,57,103,.6),rgba(2,20,48,.54)) !important; }
  .mobile-bottom-nav { background:linear-gradient(0deg,rgba(1,16,41,.78),rgba(35,75,128,.38)) !important; }

  .mobile-app-header button,
  .mobile-bottom-nav button > span,
  body.cm-open #adminView .mobile-home-actions button,
  body.cm-open #adminView .mobile-field-quick-actions button,
  body.cm-open #adminView #tabMap .mobile-map-toolbar button,
  .mobile-qr-actions button,
  .mobile-printable-back,
  .mobile-printable-print {
    position:relative;
    border:1px solid rgba(184,229,255,.23) !important;
    background:var(--ios-glass-fill) !important;
    -webkit-backdrop-filter:blur(16px) saturate(145%) !important;
    backdrop-filter:blur(16px) saturate(145%) !important;
    box-shadow:var(--ios-glass-rim) !important;
    transition:transform .16s cubic-bezier(.2,.8,.2,1),filter .16s ease,box-shadow .16s ease !important;
  }

  .mobile-app-header button::after,
  body.cm-open #adminView .mobile-home-actions button::after,
  body.cm-open #adminView .mobile-field-quick-actions button::after,
  body.cm-open #adminView #tabMap .mobile-map-toolbar button::after,
  .mobile-qr-actions button::after {
    content:"";
    position:absolute;
    pointer-events:none;
    inset:1px 8% auto;
    height:42%;
    border-radius:inherit;
    background:linear-gradient(180deg,rgba(255,255,255,.2),transparent);
    opacity:.72;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);
  }

  .mobile-app-header button:active,
  .mobile-bottom-nav button:active > span,
  body.cm-open #adminView .mobile-home-actions button:active,
  body.cm-open #adminView .mobile-field-quick-actions button:active,
  body.cm-open #adminView #tabMap .mobile-map-toolbar button:active,
  .mobile-qr-actions button:active {
    transform:scale(.94) translateY(1px) !important;
    filter:brightness(1.16) saturate(1.12);
    box-shadow:inset 0 2px 6px rgba(0,4,24,.52),inset 0 1px 0 rgba(255,255,255,.22),0 4px 12px rgba(0,4,20,.24) !important;
  }

  .mobile-bottom-nav button.active > span {
    color:#e9faff;
    border-color:rgba(192,235,255,.48) !important;
    background:radial-gradient(circle at 40% 18%,rgba(255,255,255,.34),transparent 36%),linear-gradient(145deg,rgba(76,175,255,.46),rgba(27,63,154,.42)) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 0 18px rgba(60,178,255,.34) !important;
  }

  .mobile-bottom-nav .mobile-jordy > span {
    border-color:rgba(211,221,255,.72) !important;
    background:radial-gradient(circle at 38% 22%,rgba(255,255,255,.78),rgba(161,130,255,.46) 14%,#6247dc 34%,rgba(13,31,89,.92) 72%) !important;
    box-shadow:inset 0 1px 2px rgba(255,255,255,.7),inset 0 -8px 18px rgba(0,5,39,.58),0 0 0 5px rgba(0,13,43,.86),0 0 26px rgba(111,99,255,.72) !important;
  }

  .mobile-field-mode,
  body.cm-open #adminView .mobile-home-actions,
  body.cm-open #adminView .sig-mobile-list,
  body.cm-open #adminView .sig-summary-panel,
  .mobile-qr-card,
  .mobile-field-materials {
    border:1px solid rgba(174,220,251,.2) !important;
    background:linear-gradient(145deg,rgba(42,91,148,.22),rgba(0,18,46,.58)) !important;
    -webkit-backdrop-filter:blur(18px) saturate(132%) !important;
    backdrop-filter:blur(18px) saturate(132%) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,5,26,.62),0 16px 36px rgba(0,4,20,.22) !important;
  }

  body.cm-open #adminView input,
  body.cm-open #adminView select,
  body.cm-open #adminView textarea {
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    background:rgba(0,15,36,.9) !important;
    box-shadow:inset 0 2px 7px rgba(0,0,16,.55),inset 0 1px 0 rgba(255,255,255,.05) !important;
  }
}

/* Jordy is the mobile material master: extend the same molded neutral glass to
   every actionable control and major feature surface, excluding matte data. */
@media screen and (max-width:900px) and (orientation:portrait) {
  body.cm-open #adminView button:not(.sig-row):not(.mrow-del):not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out),
  body.cm-open #adminView summary,
  .mobile-app-header button,
  .mobile-bottom-nav button:not(.mobile-jordy) > span,
  .mobile-qr-screen button,
  .mobile-printable-screen button {
    position:relative !important;
    isolation:isolate;
    overflow:visible !important;
    border-color:transparent !important;
    color:#e9f3fb !important;
    background-color:rgba(178,198,220,.13) !important;
    background-image:
      radial-gradient(ellipse 90% 68% at 38% 18%,rgba(255,255,255,.3),rgba(214,228,244,.12) 25%,transparent 58%),
      radial-gradient(ellipse 76% 62% at 82% 88%,rgba(132,151,188,.12),transparent 64%),
      linear-gradient(180deg,rgba(235,245,253,.12),rgba(147,169,198,.08) 48%,rgba(44,59,91,.18)) !important;
    -webkit-backdrop-filter:blur(20px) saturate(112%) brightness(1.04) !important;
    backdrop-filter:blur(20px) saturate(112%) brightness(1.04) !important;
    box-shadow:
      inset 0 1px 2px rgba(255,255,255,.5),
      inset 0 5px 12px rgba(232,244,255,.05),
      inset 0 -6px 13px rgba(14,25,51,.3),
      0 4px 10px rgba(0,6,25,.23),
      0 1px 2px rgba(241,251,255,.12) !important;
  }

  body.cm-open #adminView button:not(.sig-row):not(.mrow-del):not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out)::before,
  body.cm-open #adminView summary::before,
  .mobile-app-header button::before,
  .mobile-bottom-nav button:not(.mobile-jordy) > span::before,
  .mobile-qr-screen button::before,
  .mobile-printable-screen button::before {
    content:"" !important;
    position:absolute !important;
    z-index:2 !important;
    pointer-events:none !important;
    inset:-1px !important;
    display:block !important;
    padding:1.5px !important;
    border-radius:inherit !important;
    background:conic-gradient(from var(--glass-scroll-angle,205deg),rgba(192,211,228,.4),rgba(252,254,255,.9) 10%,rgba(211,230,244,.54) 22%,rgba(154,175,201,.27) 37%,rgba(242,249,253,.68) 49%,rgba(116,137,170,.25) 63%,rgba(246,251,255,.82) 78%,rgba(255,255,255,.96) 87%,rgba(192,211,228,.4)) !important;
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) !important;
    -webkit-mask-composite:xor !important;
    mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) !important;
    mask-composite:exclude !important;
    filter:drop-shadow(0 1px 1px rgba(248,253,255,.28)) drop-shadow(0 3px 4px rgba(0,7,27,.17)) !important;
    opacity:.86 !important;
  }

  body.cm-open #adminView button:not(.sig-row):not(.mrow-del):active,
  body.cm-open #adminView summary:active,
  .mobile-app-header button:active,
  .mobile-qr-screen button:active,
  .mobile-printable-screen button:active {
    transform:scale(.96) translateY(1px) !important;
    background-color:rgba(145,165,192,.17) !important;
    box-shadow:inset 0 3px 8px rgba(12,22,46,.38),inset 0 -1px 1px rgba(255,255,255,.18),0 2px 5px rgba(0,5,22,.2) !important;
  }

  body.cm-open #adminView :is(.mobile-field-mode,.mobile-home-actions,.sig-summary-panel,.sig-mobile-list,.cm-card,.GlassPanel,.panel-glass,.mobile-next-stop),
  .mobile-qr-card,
  .mobile-field-materials,
  .mobile-section-sheet > section {
    border-color:rgba(224,239,250,.2) !important;
    background-color:rgba(145,165,190,.1) !important;
    background-image:
      radial-gradient(ellipse 80% 42% at 32% 0,rgba(255,255,255,.12),transparent 65%),
      linear-gradient(150deg,rgba(205,222,239,.1),rgba(58,76,107,.14)) !important;
    -webkit-backdrop-filter:blur(18px) saturate(108%) !important;
    backdrop-filter:blur(18px) saturate(108%) !important;
    box-shadow:inset 0 1px 1px rgba(255,255,255,.25),inset 0 -2px 5px rgba(11,23,48,.22),0 8px 20px rgba(0,5,23,.16) !important;
  }

  body.cm-open #adminView :is(input,select,textarea,.sig-row,.mrow,.DataTable) {
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
}

@media (prefers-reduced-transparency:reduce) {
  .mobile-app-header,.mobile-bottom-nav,.mobile-section-sheet > section,
  body.cm-open #adminView .mobile-field-mode,
  body.cm-open #adminView .mobile-home-actions,
  body.cm-open #adminView .sig-mobile-list {
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    background:#061a38 !important;
  }
}

/* Full-perimeter refractive rim for mobile glass controls. */
@media screen and (max-width:900px) and (orientation:portrait) {
  .mobile-app-header button,
  .mobile-bottom-nav button > span,
  body.cm-open #adminView .LiquidButton,
  body.cm-open #adminView .btn-primary,
  body.cm-open #adminView .btn-ghost,
  body.cm-open #adminView .btn-danger,
  body.cm-open #adminView .mobile-home-actions button,
  body.cm-open #adminView .mobile-field-quick-actions button,
  body.cm-open #adminView #tabMap .mobile-map-toolbar button,
  .mobile-qr-actions button,
  .mobile-printable-back,
  .mobile-printable-print {
    position:relative !important;
    isolation:isolate;
    overflow:visible !important;
    border-color:transparent !important;
    background-color:rgba(7,27,57,.28) !important;
    background-image:
      radial-gradient(ellipse 82% 58% at 50% -8%,rgba(240,251,255,.3),rgba(171,222,255,.11) 35%,transparent 68%),
      radial-gradient(circle at 8% 22%,rgba(80,207,255,.19),transparent 34%),
      radial-gradient(circle at 94% 82%,rgba(150,120,255,.17),transparent 36%),
      linear-gradient(112deg,rgba(255,255,255,.08),transparent 32%,rgba(111,194,255,.06) 58%,rgba(255,255,255,.1)),
      linear-gradient(180deg,rgba(42,87,142,.22),rgba(0,11,32,.38)) !important;
    -webkit-backdrop-filter:blur(24px) saturate(170%) brightness(1.08) !important;
    backdrop-filter:blur(24px) saturate(170%) brightness(1.08) !important;
    box-shadow:
      inset 0 2px 3px rgba(255,255,255,.24),
      inset 0 10px 22px rgba(142,210,255,.06),
      inset 0 -9px 18px rgba(0,2,20,.48),
      inset 3px 0 7px rgba(80,200,255,.08),
      inset -3px 0 7px rgba(170,133,255,.08),
      0 10px 24px rgba(0,4,20,.27),
      0 3px 14px rgba(57,183,255,.13) !important;
  }

  .mobile-app-header button::before,
  .mobile-bottom-nav button > span::before,
  body.cm-open #adminView .LiquidButton::before,
  body.cm-open #adminView .btn-primary::before,
  body.cm-open #adminView .btn-ghost::before,
  body.cm-open #adminView .btn-danger::before,
  body.cm-open #adminView .mobile-home-actions button::before,
  body.cm-open #adminView .mobile-field-quick-actions button::before,
  body.cm-open #adminView #tabMap .mobile-map-toolbar button::before,
  .mobile-qr-actions button::before,
  .mobile-printable-back::before,
  .mobile-printable-print::before {
    content:"" !important;
    position:absolute !important;
    z-index:2 !important;
    pointer-events:none !important;
    inset:-2px !important;
    display:block !important;
    padding:2px !important;
    border-radius:inherit !important;
    background:conic-gradient(from 218deg,
      rgba(65,184,255,.38) 0deg,
      rgba(234,251,255,.96) 35deg,
      rgba(108,220,255,.72) 72deg,
      rgba(255,255,255,.18) 118deg,
      rgba(136,127,255,.34) 168deg,
      rgba(13,54,99,.28) 215deg,
      rgba(181,236,255,.86) 272deg,
      rgba(255,255,255,.98) 315deg,
      rgba(65,184,255,.38) 360deg) !important;
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) !important;
    -webkit-mask-composite:xor !important;
    mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) !important;
    mask-composite:exclude !important;
    filter:drop-shadow(0 1px 1px rgba(204,244,255,.42)) drop-shadow(0 4px 7px rgba(38,173,255,.18));
    opacity:.96 !important;
  }

  .mobile-app-header button::after,
  .mobile-bottom-nav button > span::after,
  body.cm-open #adminView .LiquidButton::after,
  body.cm-open #adminView .btn-primary::after,
  body.cm-open #adminView .btn-ghost::after,
  body.cm-open #adminView .btn-danger::after,
  .mobile-qr-actions button::after,
  .mobile-printable-back::after,
  .mobile-printable-print::after {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    pointer-events:none !important;
    inset:2px 10% auto !important;
    display:block !important;
    height:44% !important;
    border-radius:inherit !important;
    background:radial-gradient(ellipse at 50% 0,rgba(255,255,255,.32),rgba(174,228,255,.1) 42%,transparent 72%) !important;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent) !important;
    mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent) !important;
    opacity:.86 !important;
  }
}

/* Reference-matched molded glass: neutral frosted centers, a soft milky rim,
   restrained glints, and optical thickness without neon color separation. */
@media screen and (max-width:900px) and (orientation:portrait) {
  .mobile-app-header button,
  .mobile-bottom-nav button > span,
  body.cm-open #adminView .LiquidButton,
  body.cm-open #adminView .btn-primary,
  body.cm-open #adminView .btn-ghost,
  body.cm-open #adminView .btn-danger,
  body.cm-open #adminView .mobile-home-actions button,
  body.cm-open #adminView .mobile-field-quick-actions button,
  body.cm-open #adminView #tabMap .mobile-map-toolbar button,
  .mobile-qr-actions button,
  .mobile-printable-back,
  .mobile-printable-print {
    background-color:rgba(176,196,218,.12) !important;
    background-image:
      linear-gradient(180deg,rgba(236,246,255,.13),rgba(174,194,218,.08) 44%,rgba(80,99,132,.12)),
      radial-gradient(ellipse 95% 42% at 50% 0,rgba(255,255,255,.12),transparent 72%) !important;
    -webkit-backdrop-filter:blur(20px) saturate(112%) brightness(1.04) !important;
    backdrop-filter:blur(20px) saturate(112%) brightness(1.04) !important;
    box-shadow:
      inset 0 1px 1px rgba(255,255,255,.42),
      inset 0 3px 8px rgba(233,246,255,.08),
      inset 0 -4px 8px rgba(16,28,52,.24),
      inset 1px 0 2px rgba(255,255,255,.12),
      inset -1px 0 2px rgba(13,27,52,.12),
      0 4px 9px rgba(0,6,24,.22),
      0 1px 2px rgba(235,249,255,.12) !important;
  }

  .mobile-app-header button::before,
  .mobile-bottom-nav button > span::before,
  body.cm-open #adminView .LiquidButton::before,
  body.cm-open #adminView .btn-primary::before,
  body.cm-open #adminView .btn-ghost::before,
  body.cm-open #adminView .btn-danger::before,
  body.cm-open #adminView .mobile-home-actions button::before,
  body.cm-open #adminView .mobile-field-quick-actions button::before,
  body.cm-open #adminView #tabMap .mobile-map-toolbar button::before,
  .mobile-qr-actions button::before,
  .mobile-printable-back::before,
  .mobile-printable-print::before {
    inset:-1px !important;
    padding:1.5px !important;
    background:conic-gradient(from var(--glass-scroll-angle,205deg),
      rgba(192,211,228,.42) 0deg,
      rgba(250,253,255,.88) 25deg,
      rgba(216,233,246,.58) 67deg,
      rgba(170,190,211,.31) 118deg,
      rgba(237,247,253,.66) 171deg,
      rgba(129,149,180,.28) 223deg,
      rgba(245,251,255,.84) 278deg,
      rgba(255,255,255,.96) 310deg,
      rgba(192,211,228,.42) 360deg) !important;
    filter:drop-shadow(0 1px 1px rgba(245,252,255,.28)) drop-shadow(0 3px 4px rgba(0,7,27,.18)) !important;
    opacity:.84 !important;
  }

  .mobile-app-header button::after,
  .mobile-bottom-nav button > span::after,
  body.cm-open #adminView .LiquidButton::after,
  body.cm-open #adminView .btn-primary::after,
  body.cm-open #adminView .btn-ghost::after,
  body.cm-open #adminView .btn-danger::after,
  .mobile-qr-actions button::after,
  .mobile-printable-back::after,
  .mobile-printable-print::after {
    inset:1px 14% auto !important;
    height:34% !important;
    background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(235,246,255,.05) 58%,transparent) !important;
    opacity:calc(.58 + var(--glass-scroll-energy,0) * .18) !important;
    transform:translateX(var(--glass-glint-offset,0px));
    transition:opacity .12s linear,transform .12s linear !important;
  }

  body.cm-open #adminView .btn-primary,
  body.cm-open #adminView .primary-accent,
  .mobile-bottom-nav button.active > span {
    background-color:rgba(188,207,228,.17) !important;
    background-image:
      linear-gradient(180deg,rgba(249,253,255,.18),rgba(172,195,222,.1) 46%,rgba(67,85,122,.15)),
      radial-gradient(ellipse 88% 45% at 52% 0,rgba(255,255,255,.18),transparent 70%) !important;
    box-shadow:
      inset 0 1px 1px rgba(255,255,255,.52),
      inset 0 -4px 8px rgba(15,27,54,.27),
      0 5px 11px rgba(0,7,28,.24),
      0 0 9px rgba(220,241,255,.08) !important;
  }

  .mobile-bottom-nav .mobile-jordy > span {
    background:radial-gradient(circle at 38% 24%,rgba(255,255,255,.72),rgba(210,224,244,.28) 18%,rgba(105,119,157,.34) 48%,rgba(23,35,68,.62) 78%) !important;
    border-color:rgba(236,247,255,.62) !important;
    box-shadow:inset 0 1px 2px rgba(255,255,255,.64),inset 0 -7px 15px rgba(14,24,52,.42),0 0 0 4px rgba(4,18,44,.58),0 5px 14px rgba(0,5,25,.28) !important;
  }
}

/* Bottom navigation is one continuous glass bar. Only Jordy floats in its own
   molded control; the remaining icons no longer sit inside square tiles. */
@media screen and (max-width:900px) and (orientation:portrait) {
  .mobile-bottom-nav button:not(.mobile-jordy) > span,
  .mobile-bottom-nav button:not(.mobile-jordy).active > span {
    border:0 !important;
    background:transparent !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    box-shadow:none !important;
    filter:none !important;
    transform:none !important;
  }

  .mobile-bottom-nav button:not(.mobile-jordy) > span::before,
  .mobile-bottom-nav button:not(.mobile-jordy) > span::after {
    content:none !important;
    display:none !important;
  }

  .mobile-bottom-nav button:not(.mobile-jordy).active > span {
    color:#f2f9ff !important;
    text-shadow:0 -1px 1px rgba(0,4,20,.9),0 1px 0 rgba(255,255,255,.75),0 0 8px rgba(220,241,255,.3) !important;
  }

  .mobile-bottom-nav button:not(.mobile-jordy):active > span {
    transform:scale(.9) !important;
    opacity:.82;
  }
}

/* Role correction: navigation cells and agenda rows are not CTA capsules. */
@media screen and (max-width:900px) and (orientation:portrait) {
  .mobile-bottom-nav button:not(.mobile-jordy) {
    border:0 !important;
    background:transparent !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    box-shadow:none !important;
    filter:none !important;
  }

  .mobile-bottom-nav button:not(.mobile-jordy)::before,
  .mobile-bottom-nav button:not(.mobile-jordy)::after {
    content:none !important;
    display:none !important;
  }

  .mobile-app-header button {
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    padding:0 !important;
    border-radius:50% !important;
  }

  body.cm-open #adminView .planner-agenda-row {
    border:1px solid rgba(213,230,243,.22) !important;
    background:linear-gradient(180deg,rgba(157,181,207,.13),rgba(57,76,107,.16)) !important;
    -webkit-backdrop-filter:blur(9px) saturate(105%) !important;
    backdrop-filter:blur(9px) saturate(105%) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 2px rgba(12,23,45,.2),0 3px 8px rgba(0,6,24,.13) !important;
    color:#e8f1f8 !important;
    -webkit-text-stroke:0 !important;
    text-shadow:none !important;
    transform:none !important;
  }

  body.cm-open #adminView .planner-agenda-row::before,
  body.cm-open #adminView .planner-agenda-row::after {
    content:none !important;
    display:none !important;
  }

  body.cm-open #adminView .planner-agenda-row:active {
    transform:scale(.985) !important;
    background:linear-gradient(180deg,rgba(133,157,185,.16),rgba(43,61,91,.2)) !important;
  }

  body.cm-open #adminView .planner-agenda-row :is(strong,small,time,span,i) {
    -webkit-text-stroke:0 !important;
    text-shadow:none !important;
  }

  body.cm-open #adminView .planner-mobile-head .planner-mobile-day {
    min-height:38px !important;
    padding:7px 14px !important;
    border-radius:999px !important;
    font-size:12px !important;
  }

  body.cm-open #adminView .planner-agenda-row .cal-chip {
    border-color:rgba(158,214,238,.35) !important;
    color:#bfe6f5 !important;
    background:rgba(55,133,173,.18) !important;
    box-shadow:inset 0 1px rgba(255,255,255,.1) !important;
  }
}

/* Final mobile material normalization: every real control uses one molded-glass
   recipe; data/list features use its calmer panel variant. */
@media screen and (max-width:900px) and (orientation:portrait) {
  body.cm-open button,
  body.cm-open summary {
    position:relative !important;
    isolation:isolate;
    overflow:visible !important;
    border-color:transparent !important;
    color:#e9f3fb !important;
    background-color:rgba(178,198,220,.13) !important;
    background-image:
      radial-gradient(ellipse 90% 68% at 38% 18%,rgba(255,255,255,.3),rgba(214,228,244,.12) 25%,transparent 58%),
      radial-gradient(ellipse 76% 62% at 82% 88%,rgba(132,151,188,.12),transparent 64%),
      linear-gradient(180deg,rgba(235,245,253,.12),rgba(147,169,198,.08) 48%,rgba(44,59,91,.18)) !important;
    -webkit-backdrop-filter:blur(20px) saturate(112%) brightness(1.04) !important;
    backdrop-filter:blur(20px) saturate(112%) brightness(1.04) !important;
    box-shadow:inset 0 1px 2px rgba(255,255,255,.5),inset 0 -6px 13px rgba(14,25,51,.3),0 4px 10px rgba(0,6,25,.23) !important;
  }

  body.cm-open button::before,
  body.cm-open summary::before {
    content:"" !important;
    position:absolute !important;
    z-index:2 !important;
    pointer-events:none !important;
    inset:-1px !important;
    display:block !important;
    padding:1.5px !important;
    border-radius:inherit !important;
    background:conic-gradient(from var(--glass-scroll-angle,205deg),rgba(192,211,228,.4),rgba(252,254,255,.9) 10%,rgba(211,230,244,.54) 22%,rgba(154,175,201,.27) 37%,rgba(242,249,253,.68) 49%,rgba(116,137,170,.25) 63%,rgba(246,251,255,.82) 78%,rgba(255,255,255,.96) 87%,rgba(192,211,228,.4)) !important;
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) !important;
    -webkit-mask-composite:xor !important;
    mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) !important;
    mask-composite:exclude !important;
    filter:drop-shadow(0 1px 1px rgba(248,253,255,.28)) drop-shadow(0 3px 4px rgba(0,7,27,.17)) !important;
    opacity:.86 !important;
  }

  /* The nav bar is already glass. Its button hit areas must remain invisible. */
  body.cm-open .mobile-bottom-nav button,
  body.cm-open .mobile-bottom-nav button.active,
  body.cm-open .mobile-bottom-nav button:active {
    border:0 !important;
    background:transparent !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    box-shadow:none !important;
    filter:none !important;
    transform:none !important;
  }

  body.cm-open .mobile-bottom-nav button::before,
  body.cm-open .mobile-bottom-nav button::after {
    content:none !important;
    display:none !important;
  }

  body.cm-open .mobile-bottom-nav .mobile-jordy > span {
    border:1px solid rgba(236,247,255,.62) !important;
    background:radial-gradient(circle at 38% 24%,rgba(255,255,255,.72),rgba(210,224,244,.28) 18%,rgba(105,119,157,.34) 48%,rgba(23,35,68,.62) 78%) !important;
    box-shadow:inset 0 1px 2px rgba(255,255,255,.64),inset 0 -7px 15px rgba(14,24,52,.42),0 0 0 4px rgba(4,18,44,.58),0 5px 14px rgba(0,5,25,.28) !important;
  }

  body.cm-open :is(.planner-agenda-row,.sig-row,.mrow,.ov-row,.command-sig-row,.mail-list-item,.county-row,.map-focus-row,.tl-item) {
    border:1px solid rgba(213,230,243,.2) !important;
    background:linear-gradient(180deg,rgba(157,181,207,.12),rgba(57,76,107,.15)) !important;
    -webkit-backdrop-filter:blur(9px) saturate(105%) !important;
    backdrop-filter:blur(9px) saturate(105%) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 2px rgba(12,23,45,.2),0 3px 8px rgba(0,6,24,.12) !important;
  }

  body.cm-open :is(.planner-agenda-row,.sig-row)::before,
  body.cm-open :is(.planner-agenda-row,.sig-row)::after {
    content:none !important;
    display:none !important;
  }

  body.cm-open :is(input,select,textarea) {
    border:1px solid rgba(162,187,211,.18) !important;
    background:rgba(4,20,43,.82) !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    box-shadow:inset 0 2px 7px rgba(0,2,18,.5),inset 0 1px rgba(255,255,255,.05) !important;
  }
}

/* Clear-glass reference pass: one thin white molded edge, a transparent center,
   and no legacy colored overlays. Jordy is a standalone home-style button. */
@media screen and (max-width:900px) and (orientation:portrait) {
  body.cm-open button:not(.planner-agenda-row):not(.sig-row),
  body.cm-open summary {
    border:1px solid rgba(244,250,255,.52) !important;
    color:#f3f8fc !important;
    background-color:rgba(220,232,242,.065) !important;
    background-image:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.025) 48%,rgba(10,22,43,.08)) !important;
    -webkit-backdrop-filter:blur(15px) saturate(104%) brightness(1.02) !important;
    backdrop-filter:blur(15px) saturate(104%) brightness(1.02) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.42),inset 0 -1px 2px rgba(5,14,31,.18),0 2px 5px rgba(0,5,20,.14) !important;
  }

  body.cm-open button:not(.planner-agenda-row):not(.sig-row)::before,
  body.cm-open summary::before {
    inset:-1px !important;
    padding:1px !important;
    background:conic-gradient(from var(--glass-scroll-angle,205deg),rgba(255,255,255,.34),rgba(255,255,255,.92) 13%,rgba(225,236,245,.5) 29%,rgba(255,255,255,.28) 47%,rgba(247,251,255,.76) 66%,rgba(255,255,255,.96) 84%,rgba(255,255,255,.34)) !important;
    filter:drop-shadow(0 1px 1px rgba(255,255,255,.16)) !important;
    opacity:.72 !important;
  }

  body.cm-open button:not(.planner-agenda-row):not(.sig-row)::after,
  body.cm-open summary::after {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    pointer-events:none !important;
    inset:1px 16% auto !important;
    display:block !important;
    height:30% !important;
    border-radius:inherit !important;
    background:linear-gradient(180deg,rgba(255,255,255,.15),transparent) !important;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent) !important;
    mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent) !important;
    opacity:calc(.45 + var(--glass-scroll-energy,0) * .15) !important;
    transform:translateX(var(--glass-glint-offset,0px)) !important;
  }

  body.cm-open :is(.planner-agenda-row,.sig-row,.mrow,.ov-row,.command-sig-row,.mail-list-item,.county-row,.map-focus-row,.tl-item,.cm-card,.GlassPanel,.panel-glass) {
    border-color:rgba(239,247,253,.26) !important;
    background-color:rgba(211,225,237,.055) !important;
    background-image:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.018) 46%,rgba(10,23,46,.07)) !important;
    -webkit-backdrop-filter:blur(11px) saturate(102%) !important;
    backdrop-filter:blur(11px) saturate(102%) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 2px rgba(4,13,29,.14),0 3px 8px rgba(0,5,20,.1) !important;
  }

  /* Bottom bar owns the surface; all five tap targets are visually invisible. */
  body.cm-open .mobile-bottom-nav button,
  body.cm-open .mobile-bottom-nav button:hover,
  body.cm-open .mobile-bottom-nav button:active,
  body.cm-open .mobile-bottom-nav button.active {
    border:0 !important;
    background:transparent !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    box-shadow:none !important;
    filter:none !important;
    transform:none !important;
  }

  body.cm-open .mobile-bottom-nav button::before,
  body.cm-open .mobile-bottom-nav button::after {
    content:none !important;
    display:none !important;
  }

  /* Jordy behaves like a physical home button, not another navigation tile. */
  body.cm-open .mobile-bottom-nav .mobile-jordy {
    position:relative !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  body.cm-open .mobile-bottom-nav .mobile-jordy > span {
    width:58px !important;
    height:58px !important;
    border:2px solid rgba(248,252,255,.78) !important;
    border-radius:50% !important;
    background:radial-gradient(circle at 38% 25%,rgba(255,255,255,.25),rgba(230,239,247,.08) 28%,rgba(15,29,55,.22) 70%) !important;
    -webkit-backdrop-filter:blur(18px) saturate(102%) !important;
    backdrop-filter:blur(18px) saturate(102%) !important;
    box-shadow:inset 0 1px 1px rgba(255,255,255,.5),inset 0 -3px 7px rgba(6,16,35,.3),0 0 0 5px rgba(2,14,37,.72),0 4px 9px rgba(0,4,19,.24) !important;
  }

  body.cm-open .mobile-bottom-nav .mobile-jordy > span::before {
    content:"" !important;
    position:absolute !important;
    inset:5px !important;
    display:block !important;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:50% !important;
    background:transparent !important;
    -webkit-mask:none !important;
    mask:none !important;
    filter:none !important;
    opacity:1 !important;
  }

  body.cm-open .mobile-bottom-nav .mobile-jordy > span::after {
    content:"" !important;
    position:absolute !important;
    inset:4px 12px auto !important;
    display:block !important;
    height:15px !important;
    border-radius:50% !important;
    background:radial-gradient(ellipse,rgba(255,255,255,.24),transparent 70%) !important;
    -webkit-mask:none !important;
    mask:none !important;
    transform:none !important;
    opacity:.7 !important;
  }
}

/* Mobile cascade repair: remove injected desktop capsule layers, hide the
   public footer, and make the final role-specific rules authoritative. */
@media screen and (max-width:900px) and (orientation:portrait) {
  body.cm-open .site-footer { display:none !important; }

  body.cm-open #adminView .glass-capsule > :not(.glass-capsule__content) {
    display:none !important;
  }

  body.cm-open #adminView .glass-capsule,
  body.cm-open #adminView button:not(.planner-agenda-row):not(.sig-row):not(.mobile-bottom-nav button),
  body.cm-open #adminView summary {
    border:1px solid rgba(246,251,255,.5) !important;
    color:#f4f8fb !important;
    background-color:rgba(225,235,244,.06) !important;
    background-image:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.02) 50%,rgba(5,16,35,.075)) !important;
    -webkit-backdrop-filter:blur(14px) saturate(103%) !important;
    backdrop-filter:blur(14px) saturate(103%) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 2px rgba(5,13,29,.17),0 2px 5px rgba(0,5,20,.13) !important;
  }

  body.cm-open #adminView .glass-capsule {
    min-height:44px !important;
    padding:8px 14px !important;
    border-radius:999px !important;
    transform:none !important;
  }

  body.cm-open #adminView .glass-capsule::before,
  body.cm-open #adminView button:not(.planner-agenda-row):not(.sig-row):not(.mobile-bottom-nav button)::before,
  body.cm-open #adminView summary::before {
    content:"" !important;
    position:absolute !important;
    z-index:2 !important;
    pointer-events:none !important;
    inset:-1px !important;
    display:block !important;
    padding:1px !important;
    border-radius:inherit !important;
    background:conic-gradient(from var(--glass-scroll-angle,205deg),rgba(255,255,255,.28),rgba(255,255,255,.88) 14%,rgba(226,237,246,.44) 31%,rgba(255,255,255,.24) 49%,rgba(248,252,255,.7) 68%,rgba(255,255,255,.9) 85%,rgba(255,255,255,.28)) !important;
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) !important;
    -webkit-mask-composite:xor !important;
    mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) !important;
    mask-composite:exclude !important;
    filter:none !important;
    opacity:.7 !important;
  }

  body.cm-open #adminView .glass-capsule::after,
  body.cm-open #adminView button:not(.planner-agenda-row):not(.sig-row):not(.mobile-bottom-nav button)::after,
  body.cm-open #adminView summary::after {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    pointer-events:none !important;
    inset:1px 18% auto !important;
    display:block !important;
    height:27% !important;
    border-radius:inherit !important;
    background:linear-gradient(180deg,rgba(255,255,255,.13),transparent) !important;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent) !important;
    mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent) !important;
    opacity:calc(.4 + var(--glass-scroll-energy,0) * .14) !important;
    transform:translateX(var(--glass-glint-offset,0px)) !important;
  }

  body.cm-open #adminView .glass-capsule__content {
    position:relative !important;
    z-index:3 !important;
    justify-content:center !important;
    color:inherit !important;
    text-shadow:0 -1px 1px rgba(0,3,17,.75),0 1px 0 rgba(255,255,255,.42) !important;
  }

  body.cm-open #adminView :is(.cm-card,.GlassPanel,.panel-glass,.planner-agenda-row,.sig-row,.mrow,.ov-row,.command-sig-row,.mail-list-item,.county-row,.map-focus-row,.tl-item) {
    border:1px solid rgba(239,247,253,.22) !important;
    background-color:rgba(215,227,238,.045) !important;
    background-image:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.012) 50%,rgba(7,18,38,.055)) !important;
    -webkit-backdrop-filter:blur(9px) saturate(101%) !important;
    backdrop-filter:blur(9px) saturate(101%) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 2px 6px rgba(0,5,20,.08) !important;
  }

  /* High-specificity nav reset: no cell boxes, including behind Jordy. */
  body.cm-open #adminView .mobile-bottom-nav button,
  body.cm-open #adminView .mobile-bottom-nav button:hover,
  body.cm-open #adminView .mobile-bottom-nav button:active,
  body.cm-open #adminView .mobile-bottom-nav button.active {
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    box-shadow:none !important;
    filter:none !important;
    transform:none !important;
  }

  body.cm-open #adminView .mobile-bottom-nav button::before,
  body.cm-open #adminView .mobile-bottom-nav button::after {
    content:none !important;
    display:none !important;
  }

  body.cm-open #adminView .mobile-bottom-nav button:not(.mobile-jordy) > span,
  body.cm-open #adminView .mobile-bottom-nav button:not(.mobile-jordy).active > span {
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    box-shadow:none !important;
    filter:none !important;
  }

  body.cm-open #adminView .mobile-bottom-nav button:not(.mobile-jordy) > span::before,
  body.cm-open #adminView .mobile-bottom-nav button:not(.mobile-jordy) > span::after {
    content:none !important;
    display:none !important;
  }

  body.cm-open #adminView .mobile-bottom-nav .mobile-jordy > span {
    position:relative !important;
    width:56px !important;
    height:56px !important;
    border:2px solid rgba(248,252,255,.72) !important;
    border-radius:50% !important;
    background:rgba(225,235,244,.065) !important;
    -webkit-backdrop-filter:blur(16px) !important;
    backdrop-filter:blur(16px) !important;
    box-shadow:inset 0 1px 1px rgba(255,255,255,.38),inset 0 -2px 5px rgba(5,15,34,.22),0 0 0 4px rgba(2,14,37,.7),0 3px 7px rgba(0,4,18,.2) !important;
  }
}

/* Authoritative installed-app shell reset (must remain the final rule block). */
@media screen and (max-width:900px) and (orientation:portrait) {
  body.cm-open #adminView .mobile-app-header { grid-template-columns:auto auto minmax(0,1fr) auto !important; }
  body.cm-open #adminView .mobile-app-header [hidden] { display:none !important; }
  body.cm-open #adminView .mobile-tools-button,
  body.cm-open #adminView .mobile-header-back {
    display:grid !important; width:40px !important; height:40px !important;
    min-width:40px !important; min-height:40px !important; padding:0 !important;
  }
  body.cm-open #adminView .mobile-header-back.is-hidden { visibility:hidden !important; pointer-events:none !important; }
  body.cm-open.mobile-sheet-open #mobileSectionSheet { display:block !important; visibility:visible !important; opacity:1 !important; pointer-events:auto !important; }
  body.cm-open.mobile-sheet-open #mobileSectionSheet > section { display:flex !important; visibility:visible !important; opacity:1 !important; pointer-events:auto !important; }

  body.cm-open #adminView .mobile-bottom-nav .mobile-jordy-home,
  body.cm-open #adminView .mobile-bottom-nav .mobile-jordy-home:hover,
  body.cm-open #adminView .mobile-bottom-nav .mobile-jordy-home:focus,
  body.cm-open #adminView .mobile-bottom-nav .mobile-jordy-home:active {
    -webkit-appearance:none !important; appearance:none !important;
    border:0 !important; outline:0 !important; border-radius:0 !important;
    background:none !important; background-color:transparent !important; background-image:none !important;
    -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
    box-shadow:none !important; filter:none !important;
  }
  body.cm-open #adminView .mobile-bottom-nav .mobile-jordy-home::before,
  body.cm-open #adminView .mobile-bottom-nav .mobile-jordy-home::after {
    content:none !important; display:none !important; border:0 !important;
    background:none !important; box-shadow:none !important;
  }
}

/* Recording-driven corrections: signature controls, tools sheet, and nav. */
@media screen and (max-width:900px) and (orientation:portrait) {
  body.cm-open #adminView .mobile-bottom-nav {
    grid-template-columns:1fr 1fr 76px 1fr 1fr !important;
  }
  body.cm-open #adminView .mobile-bottom-nav button {
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
  body.cm-open #adminView .mobile-bottom-nav .mobile-jordy-home {
    position:absolute !important;
    z-index:4 !important;
    left:50% !important;
    top:-15px !important;
    width:76px !important;
    height:72px !important;
    margin:0 !important;
    transform:translateX(-50%) !important;
  }

  body.cm-open.mobile-sheet-open #mobileSectionSheet {
    position:fixed !important;
    z-index:5000 !important;
    inset:0 !important;
    display:block !important;
  }
  body.cm-open.mobile-sheet-open #mobileSectionSheet .mobile-sheet-backdrop {
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    background:rgba(0,5,17,.72) !important;
  }
  body.cm-open.mobile-sheet-open #mobileSectionSheet > section {
    position:absolute !important;
    inset:max(12px,env(safe-area-inset-top)) 8px max(12px,env(safe-area-inset-bottom)) !important;
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:hidden !important;
  }
  body.cm-open.mobile-sheet-open #mobileSectionSheet nav {
    flex:1 1 auto !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    align-content:start !important;
    min-height:0 !important;
    overflow-y:auto !important;
  }

  body.cm-open #adminView #tabSignatures .sig-command-bar > button,
  body.cm-open #adminView #tabSignatures .sig-command-bar summary,
  body.cm-open #adminView #tabSignatures .sig-filter-bar summary,
  body.cm-open #adminView #tabSignatures .sig-more-filters button,
  body.cm-open #adminView #tabSignatures .sig-review-drawer button:not(.sig-mobile-back) {
    position:relative !important;
    border:1px solid rgba(242,249,255,.48) !important;
    border-radius:999px !important;
    color:#eef6fb !important;
    background-color:rgba(210,225,238,.1) !important;
    background-image:linear-gradient(180deg,rgba(255,255,255,.18),rgba(176,198,220,.08) 48%,rgba(42,61,94,.13)) !important;
    -webkit-backdrop-filter:blur(16px) saturate(108%) !important;
    backdrop-filter:blur(16px) saturate(108%) !important;
    box-shadow:inset 0 1px 1px rgba(255,255,255,.45),inset 0 -2px 4px rgba(8,20,43,.2),0 3px 7px rgba(0,5,22,.18) !important;
  }
  body.cm-open #adminView #tabSignatures .sig-command-bar > button::before,
  body.cm-open #adminView #tabSignatures .sig-command-bar > button::after,
  body.cm-open #adminView #tabSignatures .sig-command-bar summary::before,
  body.cm-open #adminView #tabSignatures .sig-command-bar summary::after,
  body.cm-open #adminView #tabSignatures .sig-filter-bar summary::before,
  body.cm-open #adminView #tabSignatures .sig-filter-bar summary::after {
    content:none !important;
    display:none !important;
  }
}

/* iPhone-safe Jordy customizer. */
@media screen and (max-width:900px) and (orientation:portrait) {
  body.cm-open #adminView #tabSignatures #sigReviewNext { display:none !important; }
  body.cm-open #adminView .mobile-context-action {
    display:block !important;
    width:auto !important;
    min-width:88px !important;
    height:36px !important;
    min-height:36px !important;
    padding:0 12px !important;
    border-radius:999px !important;
    font-size:12px !important;
    font-weight:800 !important;
  }
  body.cm-open #adminView .mobile-context-action[hidden] { display:none !important; }
  body.cm-open #adminView .mobile-app-header.has-context-action #mobileSearchOpen { display:none !important; }
  #modalRoot:has(.avatar-customizer-back) {
    position:fixed !important;
    z-index:7000 !important;
    inset:0 !important;
  }
  .avatar-customizer-back {
    position:fixed !important;
    z-index:7000 !important;
    inset:0 !important;
    display:block !important;
    padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom)) !important;
    overflow:hidden !important;
  }
  .avatar-customizer-back .cust-card {
    box-sizing:border-box !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    max-height:none !important;
    margin:0 !important;
    padding:14px !important;
    border-radius:22px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .avatar-customizer-back .cust-head {
    position:sticky !important;
    z-index:2 !important;
    top:-14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin:-14px -14px 12px !important;
    padding:14px !important;
    background:rgba(5,22,48,.94) !important;
    -webkit-backdrop-filter:blur(16px) !important;
    backdrop-filter:blur(16px) !important;
  }
  .avatar-customizer-back .cust-head h3 { margin:0 !important; min-width:0 !important; }
  .avatar-customizer-back .cust-close {
    flex:0 0 44px !important;
    width:44px !important;
    height:44px !important;
    padding:0 !important;
    border:1px solid rgba(245,250,255,.52) !important;
    border-radius:50% !important;
    color:#fff !important;
    background:rgba(218,231,242,.1) !important;
  }
  .avatar-customizer-back .cust-group {
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) !important;
    gap:8px !important;
  }
  .avatar-customizer-back .cust-group > span { width:auto !important; }
  .avatar-customizer-back .cust-row { min-width:0 !important; }
  .avatar-customizer-back .modal-actions {
    position:sticky !important;
    bottom:-14px !important;
    margin:12px -14px -14px !important;
    padding:12px 14px max(12px,env(safe-area-inset-bottom)) !important;
    background:rgba(5,22,48,.94) !important;
  }
}

/* Final mobile-nav paint reset. The hit areas remain; their full-cell glass
   pseudo rims do not. Jordy's circle is rendered only by its inner span. */
@media screen and (max-width:900px) and (orientation:portrait) {
  body.cm-open #adminView #mobileBottomNav button::before,
  body.cm-open #adminView #mobileBottomNav button::after,
  body.cm-open #adminView #mobileBottomNav button:hover::before,
  body.cm-open #adminView #mobileBottomNav button:hover::after,
  body.cm-open #adminView #mobileBottomNav button:active::before,
  body.cm-open #adminView #mobileBottomNav button:active::after,
  body.cm-open #adminView #mobileBottomNav button.active::before,
  body.cm-open #adminView #mobileBottomNav button.active::after {
    content:none !important;
    display:none !important;
    padding:0 !important;
    border:0 !important;
    background:none !important;
    -webkit-mask:none !important;
    mask:none !important;
    filter:none !important;
    box-shadow:none !important;
    opacity:0 !important;
  }
}

/* Final public scroll safeguard. This intentionally follows every mobile
   material override so no admin overlay rule can freeze the petition page. */
html {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
body:not(.cm-open) {
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-height: 100% !important;
  overflow: visible !important;
  touch-action: pan-y !important;
}
html:has(body.cm-open) {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100dvh !important;
  overflow: hidden !important;
}
body.cm-open {
  overflow: hidden !important;
}
.remember-admin {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: .75rem 0;
  color: var(--muted, #9fb2ca);
  font-size: .92rem;
}
.remember-admin input { width: 1.1rem; height: 1.1rem; }
