@font-face{font-family:'Saira';src:url('/assets/fonts/Saira-800.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('/assets/fonts/IBMPlexSans-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('/assets/fonts/IBMPlexSans-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('/assets/fonts/IBMPlexSans-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('/assets/fonts/IBMPlexSans-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Saira';src:url('/assets/fonts/Saira-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/IBMPlexMono-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/IBMPlexMono-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Saira';src:url('/assets/fonts/Saira-600.ttf') format('truetype');font-weight:600;font-display:swap}
/* ==========================================================================
   The Sovereign Series™ — sovereign.css · v4.2 (clean)
   Single stylesheet for every estate page (portals, mobile, documents).
   Layers: 1 Bible tokens (verbatim) · 2 Bible components (verbatim) · 3 Estate layer
   Themes: light (primary default) · dark · green · green-light
   Rule: no other file may declare --* variables.
   ========================================================================== */

/* ---------- 1 · BIBLE TOKENS (kit tokens.css, verbatim; :root = dark) ---------- */
/* The Sovereign Series™ — design tokens. Dark is the default theme; scope light with data-theme="light" on <body> or any subtree. */
:root, [data-theme="dark"] {
  /* brand constants (theme-invariant) */
  --brand-crimson: #B41F24;
  --brand-crimson-hover: #C8242B;
  /* backgrounds */
  --page-bg: radial-gradient(1200px 700px at 50% -6%, rgba(180,31,36,.12), transparent 60%), #050506;
  --art-bg: radial-gradient(1100px 520px at 6% -12%, rgba(180,31,36,.22), rgba(180,31,36,0) 55%), linear-gradient(180deg, #0C0C11, #08080B);
  /* ink ladder: headline -> hint */
  --ink: #F5F5F7;
  --ink-strong: #E6E6EA;
  --ink-soft: #B9B9C2;
  --ink-label: #C7C7CF;
  --ink-mute: #9A9AA3;
  --ink-dim: #8A8A92;
  --ink-dim2: #7C7C85;
  --ink-faint: #63636C;
  /* surfaces */
  --card1: #17171D;
  --card2: #101015;
  --surface: rgba(255,255,255,.02);
  --surface2: rgba(255,255,255,.03);
  --surface3: rgba(255,255,255,.05);
  /* lines: hairline -> border -> divider */
  --line: rgba(255,255,255,.07);
  --line2: rgba(255,255,255,.08);
  --border: rgba(255,255,255,.10);
  --border-strong: rgba(255,255,255,.12);
  --divider: rgba(255,255,255,.22);
  --dash: rgba(255,255,255,.24);
  --dotline: rgba(255,255,255,.3);
  /* semantic accents — the brand has TWO states only: risk (red) and fix/permitted (rose). No green, no amber. */
  --rose: #E8ADB0;
  --r-key: #E5484D;     /* headline keyword, focus, live dot */
  --r-text: #F0888C;    /* alert text */
  --r-strong: #F4C9CB;  /* strong alert text on tinted fill */
  /* effects */
  --card-shadow: 0 26px 60px rgba(0,0,0,.6), 0 0 42px rgba(180,31,36,.16); /* dark cards may glow */
  --focus-ring: 0 0 0 3px rgba(229,72,77,.18);
}
[data-theme="light"] {
  --page-bg: radial-gradient(1200px 640px at 50% -6%, rgba(180,31,36,.08), transparent 60%), #F1EBE7;
  --art-bg: radial-gradient(1100px 520px at 6% -12%, rgba(180,31,36,.10), rgba(180,31,36,0) 55%), linear-gradient(180deg, #FBF8F6, #EFE8E4);
  --ink: #1A1720;
  --ink-strong: #26222C;
  --ink-soft: #514D57;
  --ink-label: #3A3640;
  --ink-mute: #6E6A74;
  --ink-dim: #827E87;
  --ink-dim2: #8A868F;
  --ink-faint: #9C97A0;
  --card1: #FFFFFF;
  --card2: #F4EEEA;
  --surface: rgba(24,12,14,.03);
  --surface2: rgba(24,12,14,.05);
  --surface3: rgba(24,12,14,.07);
  --line: rgba(24,12,14,.10);
  --line2: rgba(24,12,14,.11);
  --border: rgba(24,12,14,.14);
  --border-strong: rgba(24,12,14,.17);
  --divider: rgba(24,12,14,.20);
  --dash: rgba(24,12,14,.22);
  --dotline: rgba(24,12,14,.30);
  --rose: #A23A3F;
  --r-key: #C01722;
  --r-text: #B41F24;
  --r-strong: #7C1216;
  --card-shadow: 0 16px 36px rgba(26,23,32,.14); /* light cards never glow */
  --focus-ring: 0 0 0 3px rgba(192,23,34,.12);
}
/* radius ladder */
:root { --radius-card: 13px; --radius-panel: 11px; --radius-tile: 9px; --radius-control: 7px; --radius-badge: 5px; }

/* ---------- 2 · BIBLE COMPONENTS (kit components.css, verbatim) ---------- */
/* Buttons, forms, badges, cards, log rows. All colors via tokens — works in both themes automatically. */

/* BUTTONS — radius 7px; ONE primary per view; crimson is theme-invariant */
.btn { display:inline-flex; align-items:center; gap:8px; padding:11px 17px; border-radius:var(--radius-control); font:600 14px 'IBM Plex Sans',sans-serif; cursor:pointer; border:none; transition:background .15s ease, transform .1s ease, box-shadow .15s ease; }
.btn:active { transform:translateY(1px); }
.btn-primary { background:var(--brand-crimson); color:#fff; box-shadow:0 10px 26px rgba(180,31,36,.4); }
.btn-primary:hover { background:var(--brand-crimson-hover); }
.btn-primary:active { box-shadow:0 5px 13px rgba(180,31,36,.4); }
.btn-secondary { background:transparent; color:var(--ink); border:1px solid var(--divider); }
.btn-secondary:hover { border-color:var(--dotline); }
.btn-link { background:none; border:none; padding:0; font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.08em; color:var(--rose); cursor:pointer; }
.btn-link:hover { color:var(--ink); }
.btn[disabled], .btn-disabled { background:var(--surface3); color:var(--ink-faint); box-shadow:none; cursor:not-allowed; }

/* FORMS — labels ABOVE fields, mono uppercase; never floating placeholders */
.field { display:flex; flex-direction:column; gap:5px; }
.field-label { font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-mute); }
.input, .select, .textarea {
  padding:10px 12px; background:var(--surface2); border:1px solid var(--border);
  border-radius:var(--radius-control); font:400 13px 'IBM Plex Sans',sans-serif; color:var(--ink);
  outline:none; width:100%; transition:border-color .15s ease, box-shadow .15s ease;
}
.input::placeholder { color:var(--ink-faint); }
.input:focus, .select:focus, .textarea:focus { border-color:var(--r-key); box-shadow:var(--focus-ring); }
.field-error .input { border-color:var(--r-key); background:color-mix(in srgb, var(--r-key) 7%, transparent); }
.field-error-msg { font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.06em; color:var(--r-text); }
.field-error-msg::before { content:'\2715  '; }
.select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; }

/* checks / radios / toggles fill crimson when active, both themes; 44px targets on touch */
.check, .radio { appearance:none; width:16px; height:16px; border:1px solid var(--dash); background:var(--surface2); cursor:pointer; display:inline-grid; place-content:center; margin:0; }
.check { border-radius:4px; }
.radio { border-radius:50%; }
.check:checked { background:var(--brand-crimson); border-color:var(--brand-crimson); }
.check:checked::before { content:'\2713'; color:#fff; font-size:11px; line-height:1; }
.radio:checked { border-color:var(--r-key); }
.radio:checked::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--r-key); }
.check:focus-visible, .radio:focus-visible, .toggle:focus-visible { box-shadow:var(--focus-ring); outline:none; }
.toggle { appearance:none; width:32px; height:18px; border-radius:999px; background:var(--surface3); border:1px solid var(--border); position:relative; cursor:pointer; transition:background .15s ease; margin:0; }
.toggle::before { content:''; position:absolute; top:2px; left:2px; width:12px; height:12px; border-radius:50%; background:var(--ink-mute); transition:all .15s ease; }
.toggle:checked { background:var(--brand-crimson); border-color:var(--brand-crimson); }
.toggle:checked::before { left:16px; background:#fff; }
.control-row { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink); }

/* BADGES — mono, uppercase, tinted fill + border. Risk = red; fix/permitted = rose. */
.badge { display:inline-flex; align-items:center; gap:6px; font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; padding:4px 9px; border-radius:var(--radius-badge); }
.badge-risk { color:var(--r-text); background:color-mix(in srgb, var(--r-key) 10%, transparent); border:1px solid color-mix(in srgb, var(--r-key) 40%, transparent); }
.badge-fix { color:var(--rose); background:color-mix(in srgb, var(--rose) 8%, transparent); border:1px solid color-mix(in srgb, var(--rose) 38%, transparent); }
.badge .dot { width:6px; height:6px; border-radius:50%; background:currentColor; }

/* CARDS — header / body / footer separated by hairlines; footer carries a mono aphorism */
.card { border-radius:var(--radius-card); overflow:hidden; background:linear-gradient(180deg, var(--card1), var(--card2)); border:1px solid var(--border); box-shadow:var(--card-shadow); }
.card-header { display:flex; align-items:center; justify-content:space-between; padding:11px 14px; border-bottom:1px solid var(--line2); background:var(--surface); font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-label); }
.card-body { padding:14px; }
.card-footer { padding:9px 14px; border-top:1px solid var(--line); font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--ink-dim); }

/* LOG ROWS — the audit-trail motif */
.log-row { display:grid; grid-template-columns:58px 1fr 62px 16px; gap:6px; align-items:center; font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink-soft); padding:6px 8px; border-radius:6px; background:var(--surface); }
.log-row-blocked { color:var(--r-text); background:color-mix(in srgb, var(--r-key) 10%, transparent); border:1px solid color-mix(in srgb, var(--r-key) 22%, transparent); }

/* ---------- 3 · ESTATE LAYER ---------- */

/* 3.1 type · scale · motion */
:root{
  --font-display:'Saira',system-ui,sans-serif;--font-body:'IBM Plex Sans',system-ui,sans-serif;--font-mono:'IBM Plex Mono','SF Mono',Consolas,monospace;
  --text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;
  --transition-fast:120ms cubic-bezier(.4,0,.2,1);--transition-base:240ms cubic-bezier(.4,0,.2,1);
  --grid-ink:rgba(255,255,255,.035);
  --page:#050506;--scanner:#0C0C11;
  --photo-blend:linear-gradient(90deg,#08080B 1%,rgba(8,8,11,.72) 20%,rgba(8,8,11,.1) 52%,rgba(8,8,11,.5) 100%);
  --photo-vignette:linear-gradient(180deg,rgba(8,8,11,.45),transparent 22%,transparent 74%,rgba(8,8,11,.62));
  /* statutory MISS palette — classification banners only, never brand */
  --miss-restricted:#007A4D;--miss-confidential:#002395;--miss-secret:#DE3831;--miss-top-secret-ink:#FFB612;
}

/* 3.2 semantic aliases — every legacy name resolves to a Bible token (declared per theme so cascade order never matters) */
:root,[data-theme="dark"],[data-theme="light"],[data-theme="green"],[data-theme="green-light"]{
  --text:var(--ink);--text-secondary:var(--ink-soft);--text-tertiary:var(--ink-mute);--text-2:var(--ink-soft);--text-3:var(--ink-mute);--text-inverse:#fff;
  --surface-bg:var(--surface2);--surface-elevated:var(--card1);
  --success:var(--rose);--info:var(--rose);--warning:var(--r-text);--danger:var(--r-key);
  --accent:var(--brand-crimson);--accent-hover:var(--brand-crimson-hover);--dv8-red:var(--brand-crimson);--dv8-red-hover:var(--brand-crimson-hover);--dv8-red-light:var(--r-key);
  --quantum-cyan:var(--rose);--quantum-cyan-hover:var(--rose);--quantum-navy-950:var(--card2);--quantum-navy-900:var(--card1);--quantum-navy-800:var(--card1);--quantum-slate:var(--ink-mute);
  --sandf-gold:var(--rose);--sandf-gold-deep:var(--rose);--sa-flag-green:var(--miss-restricted);--sa-flag-red:var(--miss-secret);--sa-flag-blue:var(--miss-confidential);--sa-flag-gold:var(--miss-top-secret-ink);
  --glass:linear-gradient(180deg,var(--card1),var(--card2));--glass-bg:linear-gradient(180deg,var(--card1),var(--card2));--glass-strong:var(--card1);--glass-bg-strong:var(--card1);--glass-panel:var(--card2);--glass-chrome:var(--card2);--rail-bg:var(--card2);
  --glass-input:var(--surface2);--glass-hover:var(--surface3);--glass-b:var(--border);--glass-border:var(--border);--glass-b2:var(--divider);--glass-border-strong:var(--divider);--glass-highlight:transparent;--glass-blur:0px;
  --glass-shadow:var(--card-shadow);--glass-shadow-elevated:var(--card-shadow);--shadow-card:var(--card-shadow);--shadow-elevated:var(--card-shadow);--shadow-xl:var(--card-shadow);
  --ground-image:none;--ground-tint:var(--page-bg);--focus:var(--focus-ring);
}

/* 3.3 theme overrides (only what differs from the Bible ladder) */
[data-theme="light"]{--grid-ink:rgba(24,12,14,.04);--page:#F1EBE7;
  --photo-blend:linear-gradient(90deg,#FBF8F6 1%,rgba(251,248,246,.72) 20%,rgba(251,248,246,.1) 52%,rgba(251,248,246,.5) 100%);
  --photo-vignette:linear-gradient(180deg,rgba(251,248,246,.45),transparent 22%,transparent 74%,rgba(251,248,246,.62));}

/* Green tenant · green-matched dark ladder (Sovereign OE V4 tenant rule; brand marks unaffected) */
[data-theme="green"]{--brand-crimson:#2E8B62;--brand-crimson-hover:#3FA377;
  --page:#050706;--page-bg:radial-gradient(1200px 700px at 50% -6%,rgba(46,139,98,.16),transparent 60%),#050706;
  --art-bg:radial-gradient(1100px 520px at 6% -12%,rgba(46,139,98,.24),rgba(46,139,98,0) 55%),linear-gradient(180deg,#0B1210,#070B09);
  --ink:#EEF5F0;--ink-strong:#DFE9E2;--ink-soft:#B4C4B9;--ink-label:#C2D0C6;--ink-mute:#93A399;--ink-dim:#83938A;--ink-dim2:#75857C;--ink-faint:#5C6B63;
  --card1:#141C18;--card2:#0D1310;--surface:rgba(180,220,196,.03);--surface2:rgba(180,220,196,.05);--surface3:rgba(180,220,196,.08);
  --line:rgba(180,220,196,.08);--line2:rgba(180,220,196,.1);--border:rgba(180,220,196,.12);--border-strong:rgba(180,220,196,.16);--divider:rgba(180,220,196,.24);--dash:rgba(180,220,196,.26);--dotline:rgba(180,220,196,.32);
  --rose:#7FD1A6;--r-key:#E5484D;--r-text:#F0888C;--r-strong:#F4C9CB;
  --card-shadow:0 26px 60px rgba(0,0,0,.6),0 0 42px rgba(46,139,98,.18);--focus-ring:0 0 0 3px rgba(46,139,98,.28);--grid-ink:rgba(180,220,196,.045);}

/* Green tenant · green-matched light ladder */
[data-theme="green-light"]{--brand-crimson:#1F6E4A;--brand-crimson-hover:#2A8A5E;
  --page:#EDF3EE;--page-bg:radial-gradient(1200px 640px at 50% -6%,rgba(31,110,74,.12),transparent 60%),#EDF3EE;
  --art-bg:radial-gradient(1100px 520px at 6% -12%,rgba(31,110,74,.12),rgba(31,110,74,0) 55%),linear-gradient(180deg,#F6FAF7,#E5EEE8);
  --ink:#13201A;--ink-strong:#1F2E27;--ink-soft:#485A50;--ink-label:#36463E;--ink-mute:#65776D;--ink-dim:#7A8B81;--ink-dim2:#84948B;--ink-faint:#97A69D;
  --card1:#FFFFFF;--card2:#EAF3ED;--surface:rgba(12,40,24,.03);--surface2:rgba(12,40,24,.05);--surface3:rgba(12,40,24,.08);
  --line:rgba(12,40,24,.10);--line2:rgba(12,40,24,.11);--border:rgba(12,40,24,.14);--border-strong:rgba(12,40,24,.18);--divider:rgba(12,40,24,.22);--dash:rgba(12,40,24,.24);--dotline:rgba(12,40,24,.32);
  --rose:#1F6E4A;--r-key:#C01722;--r-text:#B41F24;--r-strong:#7C1216;
  --card-shadow:0 16px 36px rgba(19,32,26,.12);--focus-ring:0 0 0 3px rgba(31,110,74,.18);--grid-ink:rgba(12,40,24,.045);
  --photo-blend:linear-gradient(90deg,#F6FAF7 1%,rgba(246,250,247,.72) 20%,rgba(246,250,247,.1) 52%,rgba(246,250,247,.5) 100%);
  --photo-vignette:linear-gradient(180deg,rgba(246,250,247,.45),transparent 22%,transparent 74%,rgba(246,250,247,.62));}

/* 3.4 base */
*{box-sizing:border-box;}
html:not([data-theme]){color-scheme:light;}
body{margin:0;background:var(--page-bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:var(--rose);text-decoration:none;} a:hover{color:var(--ink);}
input,textarea,select,button{font-family:inherit;}
h1,h2,h3{text-wrap:balance;} p{text-wrap:pretty;}

/* 3.5 motifs */
.ss-grid{position:fixed;inset:0;z-index:-1;background-image:linear-gradient(var(--grid-ink) 1px,transparent 1px),linear-gradient(90deg,var(--grid-ink) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;}
.ss-frame{position:absolute;inset:18px;border:1px solid var(--border);pointer-events:none;}
.ss-tick-tl{position:absolute;top:-1px;left:-1px;width:34px;height:3px;background:var(--brand-crimson);} .ss-tick-tl2{position:absolute;top:-1px;left:-1px;width:3px;height:34px;background:var(--brand-crimson);}
.ss-tick-br{position:absolute;bottom:-1px;right:-1px;width:34px;height:3px;background:var(--brand-crimson);} .ss-tick-br2{position:absolute;bottom:-1px;right:-1px;width:3px;height:34px;background:var(--brand-crimson);}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--r-key);animation:ss-pulse 2.4s ease-in-out infinite;}
.duotone{position:relative;overflow:hidden;} .duotone>img,.duotone>.photo{filter:grayscale(1) contrast(1.08) brightness(.62);width:100%;height:100%;object-fit:cover;}
.duotone::before{content:'';position:absolute;inset:0;background:var(--brand-crimson);mix-blend-mode:multiply;opacity:.58;z-index:1;}
.duotone::after{content:'';position:absolute;inset:0;background:linear-gradient(150deg,rgba(232,173,176,.45),transparent 55%);mix-blend-mode:screen;opacity:.16;z-index:2;}

/* 3.6 motion (the only stylesheet animations; everything else inline) */
@keyframes ss-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.3;transform:scale(.7);}}
@keyframes ss-fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
@keyframes ss-spin{to{transform:rotate(360deg);}}
@keyframes ss-scan{0%{top:12%;}50%{top:82%;}100%{top:12%;}}
@keyframes ss-ring{from{stroke-dashoffset:163.4;}}
@keyframes ss-blink{0%,49%{opacity:1;}50%,100%{opacity:0;}}
@keyframes ss-draw{to{stroke-dashoffset:0;}}

/* 3.7 responsive · a11y */
@media (max-width:1100px){[data-ss-attest]{display:none!important;}}
@media (max-width:880px){[data-ss-landing-body]{grid-template-columns:minmax(0,1fr)!important;align-items:start!important;}}
@media (prefers-reduced-motion:reduce){:root{--transition-fast:0ms;--transition-base:0ms;}*{animation:none!important;}}

/* alias re-declared per theme so nested theme scopes resolve correctly */
[data-theme="light"],[data-theme="dark"],[data-theme="green"],[data-theme="green-light"]{--grid-ink:var(--surface2);}

[data-lockup-tier="xl"]{--lockup-endorse:var(--lockup-xl-endorse);} [data-lockup-tier="l"]{--lockup-endorse:var(--lockup-l-endorse);}
/* ===== Estate lockup & type standard (v4.3) — the same sizes on every page ===== */
:root{
  /* lockup scale: mark = 2 × wordmark · mark→text gap = .375 × wordmark · row gap = wordmark / 6 · endorsement fitted to wordmark width */
  --lockup-xl:48px; --lockup-xl-mark:96px; --lockup-xl-gap:18px; --lockup-xl-row:8px;   /* brand hero · store · print */
  --lockup-l:36px;  --lockup-l-mark:72px;  --lockup-l-gap:14px;  --lockup-l-row:6px;    /* login & access card header (web + native) · product brand pages */
  --lockup-m:22px;  --lockup-m-mark:44px;  --lockup-m-gap:10px;                          /* page headers · in-app header — wordmark + ™ only, no endorsement */
  --lockup-tm:.3em;
  --lockup-xl-endorse:9px; --lockup-l-endorse:7.5px;                                      /* one endorsement size per tier — width via letter-spacing */                                                                       /* ™ = 30 % of wordmark, Plex Mono 500 */
  /* tiles */
  --tile-rail:40px; --tile-rail-mark:24px; --tile-launch:44px; --tile-launch-mark:28px; --tile-app:60px; --tile-app-mark:36px;
  /* estate type standard */
  --type-page-title:var(--text-3xl); --type-card-title:var(--text-2xl); --type-section:var(--text-xl); --type-body:var(--text-sm); --type-label:.8125rem;
  --type-kicker:10px; --type-kicker-track:.16em; --type-micro:9.5px;
}

/* ===== Theme switch · one circle, four quadrants (v4.3) — same on every page ===== */
[role="group"][aria-label="Theme"]{display:inline-grid!important;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:0!important;padding:0!important;width:30px!important;height:30px!important;border-radius:50%!important;overflow:hidden;border:1px solid var(--divider)!important;background:none!important;flex:0 0 auto;}
[role="group"][aria-label="Theme"] [data-swatch]{position:relative;font-size:0!important;line-height:0!important;color:transparent!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline:none!important;cursor:pointer;transition:filter 120ms cubic-bezier(.4,0,.2,1);}
[role="group"][aria-label="Theme"] [data-swatch]:hover{filter:brightness(1.15);}
[role="group"][aria-label="Theme"]:focus-within{outline:2px solid var(--brand-crimson);outline-offset:2px;}
[role="group"][aria-label="Theme"] [data-swatch][aria-pressed="true"]::after{content:'';position:absolute;width:6px;height:6px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 1.5px var(--card1);}
[data-swatch="Light"]{background:#F1EBE7!important;} [data-swatch="Light"][aria-pressed="true"]::after{right:2px;bottom:2px;}
[data-swatch="Dark"],[data-swatch="Operator"]{background:#17171D!important;} [data-swatch="Dark"][aria-pressed="true"]::after,[data-swatch="Operator"][aria-pressed="true"]::after{left:2px;bottom:2px;}
[data-swatch="Green"]{background:#2E8B62!important;} [data-swatch="Green"][aria-pressed="true"]::after{right:2px;top:2px;}
[data-swatch="Green light"]{background:#CFE3D6!important;} [data-swatch="Green light"][aria-pressed="true"]::after{left:2px;top:2px;}

/* Estate application components. Existing class names below are behavior hooks, not imported legacy styles. */
*{box-sizing:border-box}body{margin:0;background:var(--page-bg);color:var(--ink);font:14px/1.55 var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;font-weight:700;letter-spacing:-.015em;color:var(--ink)}h1{font-size:clamp(26px,3vw,36px)}h2{font-size:24px}h3{font-size:18px}p{margin:0 0 16px}a{color:var(--r-key)}small,.small{font-size:12px}code,pre,.font-monospace,.mono{font-family:var(--font-mono)}pre{white-space:pre-wrap;overflow-wrap:anywhere}img,video,canvas{max-width:100%}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled,[aria-disabled=true]{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--r-key);outline-offset:3px}[hidden],.d-none,.is-hidden,.hidden{display:none!important}.visually-hidden,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:9999;padding:12px;background:var(--surface);color:var(--ink)}.skip-link:focus{top:12px}
.estate-ground{position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--grid-ink) 1px,transparent 1px),linear-gradient(90deg,var(--grid-ink) 1px,transparent 1px);background-size:40px 40px}.estate-shell{display:grid;grid-template-columns:76px minmax(0,1fr);min-height:calc(100vh - 40px)}.estate-rail{position:sticky;top:20px;height:calc(100vh - 40px);display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 8px;background:var(--card1);border-right:1px solid var(--border);overflow-y:auto}.estate-rail nav{display:flex;flex-direction:column;gap:8px}.estate-rail a,.estate-rail button{display:flex;align-items:center;justify-content:center;width:48px;min-height:48px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink-soft);text-decoration:none}.estate-rail a:hover,.estate-rail a[aria-current=page]{background:var(--surface2);border-color:var(--border);color:var(--r-key)}.estate-rail .estate-rail-home{background:var(--brand-crimson);color:white}.estate-rail-home img{width:32px;height:32px}.estate-rail-foot{margin-top:auto}.estate-workspace{min-width:0}.estate-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 28px;border-bottom:1px solid var(--border);background:var(--card1)}.estate-heading{display:flex;align-items:center;gap:12px}.estate-heading img{width:44px;height:44px}.estate-heading h1{margin:0;font-size:22px}.estate-topbar-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.estate-main{width:100%;max-width:1320px;margin:0 auto;padding:28px;min-width:0}.estate-session{margin:16px 28px 0;padding:12px 16px;border:1px solid var(--border);border-radius:11px;background:var(--card1)}.estate-session summary{cursor:pointer;font:11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.estate-session dl{display:flex;flex-wrap:wrap;gap:24px;margin:16px 0 0}.estate-session dt{font-size:11px;color:var(--ink-mute)}.estate-session dd{margin:0;overflow-wrap:anywhere}.estate-miss,.ss-miss{min-height:20px;padding:3px 16px;font:10px var(--font-mono);letter-spacing:.12em;text-align:center;background:var(--surface2);color:var(--ink);border-bottom:1px solid var(--border)}.estate-miss[data-classification=Secret],.ss-miss--secret{background:#b41f24;color:#fff}.ss-miss--confidential{background:#f2c94c;color:#171717}.ss-miss--top-secret{background:#111;color:#fff}.estate-footer{padding:16px 28px;border-top:1px solid var(--border);color:var(--ink-mute);font:10px var(--font-mono)}
.estate-auth-page{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.estate-auth-card{width:min(100%,640px);padding:clamp(20px,4vw,40px);border:1px solid var(--border);border-radius:13px;background:linear-gradient(145deg,var(--card1),var(--card2));box-shadow:var(--shadow-card,none)}.estate-lockup{display:flex;align-items:center;gap:14px;margin-bottom:24px}.estate-lockup img{width:72px;height:72px}.estate-lockup strong{font:700 36px/1.1 var(--font-display)}.estate-lockup small{display:block;margin-top:8px;font:8px var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.estate-auth-toolbar{display:flex;justify-content:flex-end;margin-bottom:24px}.estate-auth-card h1,.dv8-auth-title{font:700 24px/1.2 var(--font-display);margin:24px 0 16px}.estate-auth-footer{max-width:640px;margin:24px auto 0;text-align:center;font-size:11px;color:var(--ink-mute)}.estate-mark-dark{display:none}[data-theme=dark] .estate-mark-dark,[data-theme=sandf] .estate-mark-dark,[data-theme=green] .estate-mark-dark{display:inline-block}[data-theme=dark] .estate-mark-light,[data-theme=sandf] .estate-mark-light,[data-theme=green] .estate-mark-light{display:none}.cicx-theme-segmented,.estate-themes,.ss-theme{display:flex;gap:4px;flex-wrap:wrap}.cicx-theme-segmented button,.estate-themes button,.ss-theme button{min-height:44px;padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--ink-soft);font:10px var(--font-mono)}[data-theme-choice][aria-pressed=true]{color:var(--r-key);border-color:var(--r-key)}
.card,.panel,.qs-panel,.dashboard-panel,.stat-card,.metric-card,.public-card,.module-card,.form-section,.control-section,.ss-card,.glass-card,.ss-glass,.settings-section{background:linear-gradient(145deg,var(--card1),var(--card2));border:1px solid var(--border);border-radius:13px;margin-bottom:20px;overflow-wrap:anywhere}.card-header,.panel-header,.card-footer,.panel-footer{padding:14px 20px;border-bottom:1px solid var(--border);background:transparent}.card-header h2,.card-header h3,.panel-header h2,.panel-header h3{margin:0}.card-body,.panel-body,.card-content,.stat-card,.metric-card,.form-section,.control-section,.ss-card,.glass-card,.settings-section{padding:20px}.card-footer{border-top:1px solid var(--border);border-bottom:0}.stat-value,.metric-value{font:700 32px var(--font-display);font-variant-numeric:tabular-nums}.stat-label,.metric-label,.section-kicker,.mono-label,.qs-auth-kicker{font:10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}
label,.form-label,.field-label{display:block;margin-bottom:6px;font:500 11px var(--font-mono);letter-spacing:.06em;color:var(--ink-soft)}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,.form-control,.form-select{width:100%;min-height:48px;padding:11px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:7px;color:var(--ink)}input[type=checkbox],input[type=radio]{accent-color:var(--brand-crimson);min-width:20px;min-height:20px}input::placeholder,textarea::placeholder{color:var(--ink-faint)}textarea{min-height:120px;resize:vertical}.form-group,.field,.form-field,.qs-auth-field{margin-bottom:18px}.form-check{display:flex;align-items:center;gap:10px;min-height:44px}.form-check label{margin:0}.input-group,.qs-auth-input-shell,.password-wrapper{display:flex;align-items:center;gap:8px}.input-group input,.qs-auth-input-shell input{min-width:0}.input-group-text{padding:10px}.validation-error,.field-validation-error,.text-danger,.validation-summary-errors,.invalid-feedback{color:var(--r-key);font-size:12px}.input-validation-error,[aria-invalid=true]{border-color:var(--r-key)!important}.form-text,.text-muted{color:var(--ink-mute)}.required{color:var(--r-key)}
.btn,.ss-btn,.dv8-btn-primary,.dv8-btn-secondary,.submit-button,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--border);border-radius:7px;background:var(--surface2);color:var(--ink);font:600 13px var(--font-body);text-decoration:none;cursor:pointer}.btn-primary,.ss-btn--primary,.dv8-btn-primary,.submit-button,button[type=submit]:not(.btn-secondary):not(.btn-outline-secondary){background:var(--brand-crimson);border-color:var(--brand-crimson);color:white}.btn-danger{color:var(--r-key);border-color:var(--r-key)}.btn-link{background:none;border:0;color:var(--r-key)}.btn-sm{padding:6px 12px;font-size:12px}.btn-close{width:44px;height:44px;border:0;background:none;color:var(--ink);font-size:24px}.btn-close::before{content:'×'}.button-group,.form-actions,.control-actions,.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.badge,.status-badge,.ss-chip,.status-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border);border-radius:5px;font:10px var(--font-mono);color:var(--ink-soft);background:var(--surface2)}.badge-danger,.badge-risk,.bg-danger,.status-denied{color:var(--r-key);background:var(--r-soft)}.badge-success,.bg-success,.status-allowed,.text-success{color:var(--rose);background:var(--rose-soft)}.alert,.qs-auth-alert,.status-message,.error-banner,.notice{padding:14px 16px;border:1px solid var(--border);border-radius:9px;background:var(--surface2);margin:16px 0}.alert-danger,.error-banner{border-color:var(--r-key);color:var(--r-key)}.alert-success{border-color:var(--rose);color:var(--rose)}.qs-auth-alert{display:flex;gap:12px}.qs-auth-alert__title{font-weight:600}.qs-auth-alert__copy{margin:4px 0 0}
.table-responsive{width:100%;overflow:auto}table,.table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute);background:var(--surface2)}th,td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:top}tbody tr:hover{background:var(--surface2)}.list-group{padding:0;list-style:none}.list-group-item{padding:14px 16px;border-bottom:1px solid var(--border)}.pagination{display:flex;gap:8px;list-style:none;padding:0}.page-link{display:block;padding:10px 14px;border:1px solid var(--border);border-radius:7px;text-decoration:none}.page-item.active .page-link{background:var(--brand-crimson);color:white}.nav-tabs,.nav-pills{display:flex;gap:8px;list-style:none;padding:0;border-bottom:1px solid var(--border);overflow-x:auto}.nav-link{display:block;padding:12px;color:var(--ink-soft);text-decoration:none}.nav-link.active{color:var(--r-key);border-bottom:2px solid var(--r-key)}.tab-pane:not(.active){display:none}.collapse:not(.show){display:none}.modal{display:none;position:fixed;inset:0;z-index:1055;overflow:auto;padding:32px 16px;background:rgba(0,0,0,.6)}.modal.show{display:block}.modal-dialog{width:min(100%,720px);margin:24px auto}.modal-content{background:var(--card1);border:1px solid var(--border);border-radius:13px}.modal-header,.modal-body,.modal-footer{padding:20px}.modal-header,.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1050}.dropdown{position:relative}.dropdown-menu{display:none;position:absolute;z-index:1000;min-width:180px;padding:8px;background:var(--card1);border:1px solid var(--border);border-radius:9px}.dropdown-menu.show{display:block}.dropdown-item{display:block;padding:10px 12px;color:var(--ink);text-decoration:none}.toast{padding:16px;background:var(--card1);border:1px solid var(--border);border-radius:9px}.toast:not(.show){display:none}dialog{max-width:min(90vw,680px);padding:24px;background:var(--card1);color:var(--ink);border:1px solid var(--border);border-radius:13px}dialog::backdrop{background:rgba(0,0,0,.65)}
.ss-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}i.ss-icon{background-color:currentColor;mask-size:contain;mask-position:center;mask-repeat:no-repeat}.spinner-border{display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--r-key);border-radius:50%;animation:estate-spin 1s linear infinite}@keyframes estate-spin{to{transform:rotate(360deg)}}.progress{height:8px;overflow:hidden;background:var(--surface2);border-radius:5px}.progress-bar{height:100%;background:var(--brand-crimson)}.progress-track,.login-progress,.workflow-progress,.auth-progress{display:flex;gap:8px;align-items:flex-start;margin:24px 0}.progress-step,.workflow-step{flex:1;text-align:center;min-width:0}.step-indicator{display:grid;place-items:center;width:36px;height:36px;margin:0 auto 8px;border:1px solid var(--border);border-radius:50%}.progress-step.active .step-indicator,.workflow-step.active .step-indicator{border-color:var(--r-key);color:var(--r-key)}.step-label{font-size:11px}.step-authority{font:8px var(--font-mono);display:block;color:var(--ink-mute)}.step-connector{height:1px;flex:0 1 24px;margin-top:18px;background:var(--border)}.scanner,.camera-preview,.video-container{background:var(--scanner,#050506);border-radius:11px;overflow:hidden}.camera-preview video{display:block;width:100%}
.row,.control-field-grid,.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}.row>*{grid-column:span 12;min-width:0}.control-field-grid>*,.form-grid>*{grid-column:span 6}.container,.container-fluid{width:100%;margin:auto;min-width:0}.d-flex{display:flex}.d-grid{display:grid}.d-block{display:block}.d-inline-flex{display:inline-flex}.flex-wrap{flex-wrap:wrap}.flex-column{flex-direction:column}.flex-grow-1{flex-grow:1}.align-items-center{align-items:center}.align-items-start{align-items:flex-start}.justify-content-between{justify-content:space-between}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.text-center{text-align:center}.text-end{text-align:right}.fw-bold,.fw-semibold{font-weight:600}.w-100{width:100%}.h-100{height:100%}.overflow-auto{overflow:auto}.position-relative{position:relative}.border{border:1px solid var(--border)}.rounded{border-radius:9px}.ms-auto{margin-left:auto}.me-auto{margin-right:auto}
@media(min-width:768px){.col-md-3{grid-column:span 3}.col-md-4{grid-column:span 4}.col-md-6{grid-column:span 6}.col-md-8{grid-column:span 8}.col-md-9{grid-column:span 9}.col-md-12{grid-column:span 12}}@media(min-width:1024px){.col-lg-3{grid-column:span 3}.col-lg-4{grid-column:span 4}.col-lg-6{grid-column:span 6}.col-lg-8{grid-column:span 8}.col-lg-9{grid-column:span 9}}
@media(max-width:640px){.estate-shell{grid-template-columns:60px minmax(0,1fr)}.estate-rail{padding:12px 4px}.estate-rail a,.estate-rail button{width:44px;min-height:44px}.estate-topbar{padding:16px}.estate-main{padding:16px}.estate-session{margin:12px 16px}.estate-topbar-tools{width:100%}.estate-lockup strong{font-size:28px}.estate-lockup img{width:56px;height:56px}.control-field-grid>*,.form-grid>*{grid-column:span 12}.estate-auth-page{padding:20px 12px}.estate-auth-card{padding:20px 16px}.step-authority{font-size:7px}.modal{padding:16px 8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.estate-rail,.estate-topbar-tools,.estate-footer{display:none}.estate-shell{display:block}.estate-main{padding:0;max-width:none}body{background:white;color:black}a{color:inherit}}
.m-0{margin:0px!important;}
.mt-0{margin-top:0px!important;}
.mb-0{margin-bottom:0px!important;}
.ms-0{margin-left:0px!important;}
.me-0{margin-right:0px!important;}
.mx-0{margin-left:0px!important;margin-right:0px!important;}
.my-0{margin-top:0px!important;margin-bottom:0px!important;}
.p-0{padding:0px!important;}
.pt-0{padding-top:0px!important;}
.pb-0{padding-bottom:0px!important;}
.ps-0{padding-left:0px!important;}
.pe-0{padding-right:0px!important;}
.px-0{padding-left:0px!important;padding-right:0px!important;}
.py-0{padding-top:0px!important;padding-bottom:0px!important;}
.gap-0{gap:0px}
.m-1{margin:4px!important;}
.mt-1{margin-top:4px!important;}
.mb-1{margin-bottom:4px!important;}
.ms-1{margin-left:4px!important;}
.me-1{margin-right:4px!important;}
.mx-1{margin-left:4px!important;margin-right:4px!important;}
.my-1{margin-top:4px!important;margin-bottom:4px!important;}
.p-1{padding:4px!important;}
.pt-1{padding-top:4px!important;}
.pb-1{padding-bottom:4px!important;}
.ps-1{padding-left:4px!important;}
.pe-1{padding-right:4px!important;}
.px-1{padding-left:4px!important;padding-right:4px!important;}
.py-1{padding-top:4px!important;padding-bottom:4px!important;}
.gap-1{gap:4px}
.m-2{margin:8px!important;}
.mt-2{margin-top:8px!important;}
.mb-2{margin-bottom:8px!important;}
.ms-2{margin-left:8px!important;}
.me-2{margin-right:8px!important;}
.mx-2{margin-left:8px!important;margin-right:8px!important;}
.my-2{margin-top:8px!important;margin-bottom:8px!important;}
.p-2{padding:8px!important;}
.pt-2{padding-top:8px!important;}
.pb-2{padding-bottom:8px!important;}
.ps-2{padding-left:8px!important;}
.pe-2{padding-right:8px!important;}
.px-2{padding-left:8px!important;padding-right:8px!important;}
.py-2{padding-top:8px!important;padding-bottom:8px!important;}
.gap-2{gap:8px}
.m-3{margin:16px!important;}
.mt-3{margin-top:16px!important;}
.mb-3{margin-bottom:16px!important;}
.ms-3{margin-left:16px!important;}
.me-3{margin-right:16px!important;}
.mx-3{margin-left:16px!important;margin-right:16px!important;}
.my-3{margin-top:16px!important;margin-bottom:16px!important;}
.p-3{padding:16px!important;}
.pt-3{padding-top:16px!important;}
.pb-3{padding-bottom:16px!important;}
.ps-3{padding-left:16px!important;}
.pe-3{padding-right:16px!important;}
.px-3{padding-left:16px!important;padding-right:16px!important;}
.py-3{padding-top:16px!important;padding-bottom:16px!important;}
.gap-3{gap:16px}
.m-4{margin:24px!important;}
.mt-4{margin-top:24px!important;}
.mb-4{margin-bottom:24px!important;}
.ms-4{margin-left:24px!important;}
.me-4{margin-right:24px!important;}
.mx-4{margin-left:24px!important;margin-right:24px!important;}
.my-4{margin-top:24px!important;margin-bottom:24px!important;}
.p-4{padding:24px!important;}
.pt-4{padding-top:24px!important;}
.pb-4{padding-bottom:24px!important;}
.ps-4{padding-left:24px!important;}
.pe-4{padding-right:24px!important;}
.px-4{padding-left:24px!important;padding-right:24px!important;}
.py-4{padding-top:24px!important;padding-bottom:24px!important;}
.gap-4{gap:24px}
.m-5{margin:32px!important;}
.mt-5{margin-top:32px!important;}
.mb-5{margin-bottom:32px!important;}
.ms-5{margin-left:32px!important;}
.me-5{margin-right:32px!important;}
.mx-5{margin-left:32px!important;margin-right:32px!important;}
.my-5{margin-top:32px!important;margin-bottom:32px!important;}
.p-5{padding:32px!important;}
.pt-5{padding-top:32px!important;}
.pb-5{padding-bottom:32px!important;}
.ps-5{padding-left:32px!important;}
.pe-5{padding-right:32px!important;}
.px-5{padding-left:32px!important;padding-right:32px!important;}
.py-5{padding-top:32px!important;padding-bottom:32px!important;}
.gap-5{gap:32px}
i.ci-search{mask-image:url("/assets/icons/estate/search.svg")}
i.ci-user{mask-image:url("/assets/icons/estate/user.svg")}
i.ci-chevron-down{mask-image:url("/assets/icons/estate/chevron-down.svg")}
i.ci-tag{mask-image:url("/assets/icons/estate/tag.svg")}
i.ci-database{mask-image:url("/assets/icons/estate/database.svg")}
i.ci-lock{mask-image:url("/assets/icons/estate/lock.svg")}
i.ci-log-list{mask-image:url("/assets/icons/estate/log-list.svg")}
i.ci-key{mask-image:url("/assets/icons/estate/key.svg")}
i.ci-settings{mask-image:url("/assets/icons/estate/settings.svg")}
i.ci-mail{mask-image:url("/assets/icons/estate/mail.svg")}
i.ci-shield{mask-image:url("/assets/icons/estate/shield.svg")}
i.ci-download{mask-image:url("/assets/icons/estate/download.svg")}
i.ci-server{mask-image:url("/assets/icons/estate/server.svg")}
i.ci-layers{mask-image:url("/assets/icons/estate/layers.svg")}
i.ci-eye-off{mask-image:url("/assets/icons/estate/eye-off.svg")}
i.ci-plus{mask-image:url("/assets/icons/estate/plus.svg")}
i.ci-document{mask-image:url("/assets/icons/estate/document.svg")}
i.ci-warning{mask-image:url("/assets/icons/estate/warning.svg")}
i.ci-copy{mask-image:url("/assets/icons/estate/copy.svg")}
i.ci-check-circle{mask-image:url("/assets/icons/estate/check-circle.svg")}
i.ci-save{mask-image:url("/assets/icons/estate/save.svg")}
i.ci-camera{mask-image:url("/assets/icons/estate/camera.svg")}
i.ci-trash{mask-image:url("/assets/icons/estate/trash.svg")}
i.ci-network{mask-image:url("/assets/icons/estate/network.svg")}
i.ci-cloud-off{mask-image:url("/assets/icons/estate/cloud-off.svg")}
i.ci-alert-circle{mask-image:url("/assets/icons/estate/alert-circle.svg")}
i.ci-clock{mask-image:url("/assets/icons/estate/clock.svg")}
i.ci-blocked{mask-image:url("/assets/icons/estate/blocked.svg")}
i.ci-eye{mask-image:url("/assets/icons/estate/eye.svg")}
i.ci-sign-out{mask-image:url("/assets/icons/estate/sign-out.svg")}
i.ci-calendar{mask-image:url("/assets/icons/estate/calendar.svg")}
i.ci-globe{mask-image:url("/assets/icons/estate/globe.svg")}
i.ci-upload{mask-image:url("/assets/icons/estate/upload.svg")}
i.ci-shield-check{mask-image:url("/assets/icons/estate/shield-check.svg")}
i.ci-building{mask-image:url("/assets/icons/estate/building.svg")}
i.ci-users{mask-image:url("/assets/icons/estate/users.svg")}
i.ci-fingerprint{mask-image:url("/assets/icons/estate/fingerprint.svg")}
i.ci-print{mask-image:url("/assets/icons/estate/print.svg")}

.app-shell{display:grid;grid-template-columns:76px minmax(0,1fr);min-height:100vh}.side-nav{padding:16px 8px;border-right:1px solid var(--border);background:var(--card1)}.side-nav .nav-label,.side-nav .nav-caption,.side-nav .nav-group-title,.side-nav .brand-copy{display:none}.side-nav a,.side-nav button{display:flex;align-items:center;justify-content:center;min-height:48px;margin:6px 0;color:var(--ink);text-decoration:none;border-radius:9px}.side-nav a.active{background:var(--surface2);color:var(--r-key)}.workspace-frame{min-width:0}.top-bar{padding:16px 28px;border-bottom:1px solid var(--border);background:var(--card1)}.top-bar-context,.top-bar-tools,.top-bar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.workspace-main{max-width:1320px;margin:auto;padding:28px}.summary-zone,.summary-grid,.stats-grid,.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}.summary-card,.dashboard-section,.data-panel,.command-stage-card{padding:20px;border:1px solid var(--border);border-radius:13px;background:var(--card1);margin-bottom:20px}.auth-frame,.public-shell{max-width:640px;margin:40px auto;padding:0 16px}.public-card,.auth-card{padding:32px;background:var(--card1);border:1px solid var(--border);border-radius:13px}.brand-header,.auth-brand-header{display:flex;gap:14px;align-items:center;margin-bottom:24px}.brand-title{font:700 36px var(--font-display)}.brand-subtitle{font:8px var(--font-mono)}.auth-brand-header img{width:72px;height:72px}.frame-footer{max-width:640px;margin:24px auto;text-align:center;color:var(--ink-mute);font-size:11px}.auth-layout,.auth-main,.auth-shell{display:block;width:100%;max-width:640px;margin:32px auto}.auth-aside,.brand-aside,.auth-visual{display:none}.toast-region{position:fixed;bottom:16px;right:16px;z-index:2000}.breadcrumb-bar{font:11px var(--font-mono);margin-bottom:16px}.page-header{margin-bottom:24px}.page-header h1{margin:0 0 8px}.command-stage-zone,.action-zone{margin-bottom:20px}.qs-floating-confirmation{position:fixed;right:16px;bottom:16px;padding:10px 14px;border:1px solid var(--border);border-radius:9px;background:var(--card1);font-size:11px}.qs-floating-confirmation__copy{display:flex;gap:8px}.login-theme-toggle,.qs-theme-toggle{min-width:44px;min-height:44px;background:var(--surface2);border:1px solid var(--border);border-radius:7px;color:var(--ink)}.ss-product-mark,.auth-login-logo{width:72px;height:72px;object-fit:contain}.ss-product-mark--dark{display:none}[data-theme=dark] .ss-product-mark--dark,[data-theme=sandf] .ss-product-mark--dark{display:block}[data-theme=dark] .ss-product-mark--light,[data-theme=sandf] .ss-product-mark--light{display:none}

/* ===== Theme dial · single button, four themes (v4.6) — ci/theme-dial.js upgrades every Theme group ===== */
.ss-dial-source{display:none!important;}
.ss-theme-dial-wrap{position:relative;display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;}
.ss-theme-dial-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);white-space:nowrap;}
.ss-theme-dial{--brand-crimson:#B41F24;position:relative;width:44px;height:44px;padding:0;border:0;border-radius:50%;cursor:pointer;flex:0 0 auto;background:none;box-shadow:0 0 0 1px var(--divider);}
.ss-theme-dial::before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from -45deg,#F1EBE7 0 25%,#17171D 0 50%,#2E8B62 0 75%,#CFE3D6 0);transform:rotate(0deg);transition:transform 360ms cubic-bezier(.4,0,.2,1);}
.ss-theme-dial__core{position:absolute;inset:6px;border-radius:50%;background:radial-gradient(circle,var(--brand-crimson) 0 5px,var(--card1) 5.5px);box-shadow:inset 0 0 0 1px var(--border);}
.ss-theme-dial::after{content:'';position:absolute;left:50%;top:-3px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--brand-crimson);box-shadow:0 0 0 1.5px var(--card1);}
.ss-theme-dial:focus-visible{outline:2px solid var(--brand-crimson);outline-offset:3px;}
.ss-theme-dial:hover{filter:brightness(1.06);}
.ss-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
@media (prefers-reduced-motion:reduce){.ss-theme-dial::before{transition:none;}}
@media (max-width:640px){.ss-theme-dial-label{display:none;}}

.ss-theme-dial[data-theme-index="1"]::before{transform:rotate(-90deg)}
.ss-theme-dial[data-theme-index="2"]::before{transform:rotate(-180deg)}
.ss-theme-dial[data-theme-index="3"]::before{transform:rotate(-270deg)}
