:root{
  --bg:#071014;
  --glass:rgba(18,28,34,.68);
  --glass-strong:rgba(13,22,27,.86);
  --glass-soft:rgba(255,255,255,.055);
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.18);
  --text:#f1f5f4;
  --muted:#9ba8aa;
  --faint:#647278;
  --accent:#8fd6d0;
  --accent-2:#c7df74;
  --danger:#ff7368;
  --warning:#e6b860;
  --blue:#79a7ff;
  --shadow:0 24px 80px rgba(0,0,0,.36);
  --radius:22px;
  --mono:"SFMono-Regular","Cascadia Code","Roboto Mono",Consolas,monospace;
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;font-family:var(--sans);color:var(--text);background:#061014;overflow:hidden}
button,input,textarea,select{font:inherit}
button{color:inherit}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:#081011}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:12px}
::-webkit-scrollbar-track{background:transparent}
.grain{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}

/* LOGIN */
.login-page{background:#071014;transition:.4s ease}
.login-page.logging-in{opacity:0;transform:scale(1.025)}
.login-wallpaper,.wallpaper{position:fixed;inset:0;background:
  radial-gradient(circle at 22% 18%,rgba(107,179,188,.22),transparent 26%),
  radial-gradient(circle at 77% 65%,rgba(166,194,92,.12),transparent 24%),
  linear-gradient(135deg,#061219 0%,#0c2026 35%,#0a151b 66%,#071014 100%)}
.login-wallpaper:before,.wallpaper:before{content:"";position:absolute;inset:-12%;background:
  linear-gradient(135deg,transparent 0 28%,rgba(255,255,255,.025) 28.2% 28.6%,transparent 28.8% 60%,rgba(255,255,255,.018) 60.2% 60.6%,transparent 60.8%),
  repeating-linear-gradient(90deg,transparent 0 96px,rgba(255,255,255,.012) 96px 97px);
  transform:rotate(-5deg) scale(1.12)}
.login-wallpaper:after,.wallpaper:after{content:"";position:absolute;width:780px;height:780px;border:1px solid rgba(255,255,255,.045);border-radius:50%;right:-260px;top:-260px;box-shadow:0 0 0 90px rgba(255,255,255,.012),0 0 0 180px rgba(255,255,255,.009)}
.login-clock{position:fixed;top:42px;left:50%;transform:translateX(-50%);z-index:3;text-align:center;display:grid;gap:4px}
.login-clock strong{font-size:4.3rem;font-weight:250;letter-spacing:-.075em}
.login-clock span{font-size:1rem;color:rgba(255,255,255,.72);text-transform:capitalize}
.login-center{position:fixed;left:50%;top:55%;transform:translate(-50%,-50%);z-index:3;width:min(430px,calc(100vw - 36px));text-align:center}
.login-avatar{display:grid;place-items:center}
.login-emblem{width:86px;height:86px;border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.20);box-shadow:inset 0 1px rgba(255,255,255,.14),0 24px 70px rgba(0,0,0,.25);display:grid;place-items:center;font:900 1.25rem var(--mono);letter-spacing:-.08em;backdrop-filter:blur(18px)}
.login-center h1{font-size:1.22rem;margin:18px 0 6px;font-weight:650}
.login-subtitle{margin:0 0 23px;color:rgba(255,255,255,.57);font-size:.78rem}
.login-form{display:grid;gap:9px}
.login-input{height:44px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(12,22,27,.48);backdrop-filter:blur(20px);display:flex;overflow:hidden;box-shadow:inset 0 1px rgba(255,255,255,.05)}
.login-input:focus-within{border-color:rgba(143,214,208,.55);box-shadow:0 0 0 3px rgba(143,214,208,.08)}
.login-input input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:white;padding:0 14px;text-align:center;font-size:.78rem}
.login-input input::placeholder{color:rgba(255,255,255,.42)}
.login-input.password input{padding-left:46px}
.login-input button{width:45px;border:0;background:rgba(255,255,255,.07);cursor:pointer;font-size:1rem;transition:.18s}
.login-input button:hover{background:var(--accent);color:#061114}
.login-error{min-height:18px;margin:10px 0 0;color:#ff9c93;font-size:.68rem}
.login-hint{display:inline-flex;align-items:center;gap:9px;margin-top:16px;padding:8px 12px;border-radius:20px;background:rgba(5,12,15,.26);color:rgba(255,255,255,.56);font-size:.63rem;backdrop-filter:blur(12px)}
.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 5px rgba(199,223,116,.08);animation:pulse 1.8s ease infinite}
@keyframes pulse{50%{opacity:.45;box-shadow:0 0 0 9px rgba(199,223,116,0)}}
.login-bottom{position:fixed;left:28px;right:28px;bottom:22px;z-index:4;display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.48);font:650 .55rem var(--mono);letter-spacing:.08em}
.login-bottom>div:first-child{display:flex;gap:8px}.login-bottom b{color:rgba(255,255,255,.26)}
.login-actions{display:flex;gap:9px}.login-actions button{width:34px;height:34px;border:1px solid rgba(255,255,255,.10);background:rgba(10,18,21,.35);border-radius:50%;color:rgba(255,255,255,.7);backdrop-filter:blur(16px)}

/* OS SHELL */
.os-page{background:#061014;user-select:none}
.wallpaper{z-index:0}
.wallpaper-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 90%)}
.wallpaper-mark{position:absolute;left:54px;bottom:94px;display:grid;gap:3px;color:rgba(255,255,255,.16)}
.wallpaper-mark span{font:700 .54rem var(--mono);letter-spacing:.14em}
.wallpaper-mark strong{font-size:4.8rem;line-height:.88;letter-spacing:-.075em}
.wallpaper-mark small{font:650 .58rem var(--mono);letter-spacing:.12em}
.menubar{position:fixed;z-index:500;top:0;left:0;right:0;height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;background:rgba(9,17,21,.45);border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(28px) saturate(140%);font-size:.69rem}
.menu-left,.menu-right{display:flex;align-items:center;height:100%;gap:2px}
.menubar button{height:26px;border:0;background:transparent;border-radius:7px;padding:0 8px;cursor:pointer}
.menubar button:hover{background:rgba(255,255,255,.08)}
.bb-menu{font:900 .68rem var(--mono);letter-spacing:-.08em}
.active-app-label{font-weight:700}
.menu-text{color:rgba(255,255,255,.78)}
.menu-right{gap:3px}
.status-item{font-size:.82rem;position:relative}
.notify-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--danger);right:5px;top:4px;display:none}
.notify-dot.show{display:block}
.status-secure{display:flex;align-items:center;gap:6px;padding:0 7px;font:700 .49rem var(--mono);letter-spacing:.07em;color:rgba(255,255,255,.72)}
.status-secure i{width:6px;height:6px;border-radius:50%;background:var(--accent-2)}
.clock-btn{display:flex;gap:7px;align-items:center;font-size:.65rem}.clock-btn span{color:rgba(255,255,255,.6)}.clock-btn b{font-weight:650}
.desktop{position:fixed;z-index:5;inset:31px 0 0;overflow:hidden}
.desktop-icons{position:absolute;top:20px;right:22px;display:grid;gap:16px;z-index:8}
.desktop-icon{width:82px;border:0;background:transparent;color:white;display:grid;justify-items:center;gap:7px;cursor:pointer;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.desktop-icon b{font-size:.67rem;font-weight:600;max-width:78px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;font-size:1.2rem;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px rgba(255,255,255,.12),0 9px 24px rgba(0,0,0,.17)}
.desktop-icon:hover .app-icon,.dock-app:hover .app-icon{filter:brightness(1.12)}
.home-icon{background:linear-gradient(145deg,#7fb1b6,#37656e)}
.inmate-icon{background:linear-gradient(145deg,#607b8f,#263d50)}
.archive-icon{background:linear-gradient(145deg,#d0b86d,#8f7440);color:#18150d}
.report-icon{background:linear-gradient(145deg,#d87864,#914538)}
.security-icon{background:linear-gradient(145deg,#77bd99,#37644d)}
.medical-icon{background:linear-gradient(145deg,#e7eef0,#9fb8be);color:#ca4f50}
.staff-icon{background:linear-gradient(145deg,#8890c8,#4d527e)}
.message-icon{background:linear-gradient(145deg,#79a7ff,#4467ad)}
.audit-icon{background:linear-gradient(145deg,#87999b,#45595c)}
.settings-icon{background:linear-gradient(145deg,#8f9ba1,#4d5960)}
.windows-layer{position:absolute;inset:0;pointer-events:none}

/* DOCK */
.dock-wrap{position:fixed;z-index:600;bottom:10px;left:50%;transform:translateX(-50%);padding:5px;border:1px solid rgba(255,255,255,.14);background:rgba(10,18,22,.42);border-radius:20px;backdrop-filter:blur(28px) saturate(155%);box-shadow:0 18px 55px rgba(0,0,0,.28)}
.dock{display:flex;align-items:end;gap:5px}
.dock-app{width:51px;height:55px;border:0;background:transparent;padding:3px;display:grid;place-items:center;position:relative;cursor:pointer}
.dock-app .app-icon{width:44px;height:44px;border-radius:12px;transition:transform .18s cubic-bezier(.2,.7,.2,1)}
.dock-app:hover .app-icon{transform:translateY(-7px) scale(1.08)}
.dock-app i{position:absolute;bottom:0;width:4px;height:4px;border-radius:50%;background:white;opacity:0}
.dock-app.running i{opacity:.68}
.dock-separator{width:1px;height:42px;background:rgba(255,255,255,.13);margin:0 3px 4px}

/* WINDOWS */
.os-window{position:absolute;pointer-events:auto;width:min(1050px,calc(100vw - 110px));height:min(690px,calc(100vh - 118px));left:50%;top:48%;transform:translate(-50%,-50%) scale(.96);opacity:0;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(11,20,24,.82);backdrop-filter:blur(34px) saturate(145%);box-shadow:0 30px 110px rgba(0,0,0,.44);overflow:hidden;transition:opacity .18s,transform .18s;display:flex;flex-direction:column}
.os-window.open{opacity:1;transform:translate(-50%,-50%) scale(1)}
.os-window.focused{border-color:rgba(255,255,255,.20);box-shadow:0 34px 120px rgba(0,0,0,.52)}
.os-window.maximized{left:7px!important;top:7px!important;right:7px!important;bottom:78px!important;width:auto!important;height:auto!important;transform:none!important;border-radius:14px}
.window-titlebar{height:48px;flex:none;display:grid;grid-template-columns:100px 1fr 100px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);cursor:default}
.window-controls{display:flex;gap:8px;padding-left:16px}
.window-control{width:12px;height:12px;border:0;border-radius:50%;padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.window-control.close{background:#ff665f}.window-control.min{background:#f0bd46}.window-control.max{background:#56c56d}
.window-title{text-align:center;display:grid;gap:1px}.window-title strong{font-size:.72rem}.window-title small{font:600 .48rem var(--mono);color:var(--faint);letter-spacing:.07em}
.window-toolbar{height:47px;flex:none;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:8px;padding:0 13px;background:rgba(0,0,0,.08)}
.toolbar-search{height:31px;flex:1;max-width:360px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);border-radius:9px;display:flex;align-items:center;gap:7px;padding:0 9px}
.toolbar-search input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:.7rem}
.toolbar-search input::placeholder{color:var(--faint)}
.toolbar-btn{height:31px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(255,255,255,.035);padding:0 10px;cursor:pointer;font:650 .56rem var(--mono);color:#bdc7c8}
.toolbar-btn:hover{background:rgba(255,255,255,.08)}
.toolbar-btn.primary{background:rgba(143,214,208,.16);border-color:rgba(143,214,208,.25);color:#bce9e5}
.window-body{flex:1;min-height:0;overflow:auto;background:rgba(5,11,14,.20)}
.window-statusbar{height:25px;flex:none;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;padding:0 12px;font:600 .46rem var(--mono);color:#66757a;background:rgba(0,0,0,.12)}

/* HOME APP */
.home-shell{padding:22px}
.welcome-strip{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:19px}
.welcome-strip p{margin:0 0 5px;font:700 .52rem var(--mono);color:var(--accent);letter-spacing:.09em}
.welcome-strip h2{font-size:1.8rem;margin:0;letter-spacing:-.04em}
.welcome-weather{text-align:right}.welcome-weather strong{font:750 1.7rem var(--mono)}.welcome-weather small{display:block;color:var(--muted);font-size:.62rem}
.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}
.os-metric{min-height:105px;border:1px solid var(--line);border-radius:14px;padding:14px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.018));display:flex;flex-direction:column}
.os-metric span{font:700 .46rem var(--mono);letter-spacing:.08em;color:#77868a}
.os-metric strong{font:700 2rem var(--mono);margin:auto 0 0;letter-spacing:-.06em}
.os-metric small{color:#65747a;font-size:.55rem}
.home-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10px;margin-top:10px}
.widget{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.026);overflow:hidden}
.widget-head{height:49px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07)}
.widget-head div{display:grid;gap:2px}.widget-head span{font:700 .45rem var(--mono);letter-spacing:.09em;color:#65747a}.widget-head strong{font-size:.75rem}
.widget-head button{border:0;background:transparent;color:var(--accent);font:700 .48rem var(--mono);cursor:pointer}
.compact-list{min-height:170px}
.compact-row{display:grid;grid-template-columns:9px 1fr auto;gap:10px;align-items:center;padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.055);cursor:pointer}
.compact-row:last-child{border-bottom:0}.compact-row:hover{background:rgba(255,255,255,.035)}
.compact-row i{width:6px;height:6px;border-radius:50%;background:#6c7a7d}.compact-row i.high,.compact-row i.critical{background:var(--danger)}.compact-row i.medium{background:var(--warning)}
.compact-row strong{font-size:.66rem}.compact-row small{display:block;color:#68777b;font-size:.54rem;margin-top:3px}.compact-row time{font:600 .48rem var(--mono);color:#607075}
.quick-apps{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:11px}
.quick-app{min-height:83px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);padding:12px;text-align:left;cursor:pointer}.quick-app:hover{background:rgba(255,255,255,.055)}
.quick-app span{font-size:1rem;color:var(--accent)}.quick-app b{display:block;font-size:.66rem;margin-top:12px}.quick-app small{color:#65747a;font-size:.52rem}

/* TABLE / LIST APPS */
.split-app{height:100%;display:grid;grid-template-columns:270px 1fr}
.app-sidebar{border-right:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.09);padding:12px;overflow:auto}
.sidebar-section-label{font:700 .46rem var(--mono);letter-spacing:.1em;color:#526267;padding:8px 9px}
.sidebar-item{width:100%;height:34px;border:0;border-radius:8px;background:transparent;text-align:left;padding:0 10px;color:#9aa7a9;font-size:.65rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between}
.sidebar-item:hover{background:rgba(255,255,255,.045)}.sidebar-item.active{background:rgba(143,214,208,.12);color:#dff8f6}.sidebar-item em{font-style:normal;font:600 .46rem var(--mono);color:#66777b}
.app-content{min-width:0;overflow:auto}
.list-header{height:34px;display:grid;align-items:center;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.06);font:700 .44rem var(--mono);letter-spacing:.08em;color:#56666a}
.inmate-columns{grid-template-columns:80px minmax(180px,1fr) 150px 100px 90px}
.archive-columns{grid-template-columns:90px minmax(220px,1fr) 130px 110px}
.report-columns{grid-template-columns:105px minmax(220px,1fr) 100px 95px 110px}
.list-row{min-height:48px;display:grid;align-items:center;padding:6px 14px;border-bottom:1px solid rgba(255,255,255,.055);cursor:pointer;font-size:.65rem}
.list-row:hover{background:rgba(255,255,255,.035)}
.list-row strong{font-size:.66rem}.list-row small{display:block;color:#69787c;margin-top:2px}
.mono{font:650 .56rem var(--mono);color:#a7b5b8}
.tag{display:inline-flex;width:max-content;padding:4px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.10);font:700 .44rem var(--mono);text-transform:uppercase;color:#849397}
.tag.high,.tag.maximum,.tag.critical{border-color:rgba(255,115,104,.25);color:#ff948c;background:rgba(255,115,104,.07)}
.tag.elevated,.tag.medium{border-color:rgba(230,184,96,.22);color:#efca84;background:rgba(230,184,96,.055)}
.tag.internal{color:#9fabad}.tag.restricted{color:#edc36e}.tag.confidential{color:#e58a80}.tag.director{color:#c2df7b}
.empty-state{padding:46px;text-align:center;color:#6c7c80}.empty-state strong{display:block;color:#aab6b8;margin-bottom:6px}

/* DETAIL PANELS */
.detail-sheet{padding:18px;max-width:920px;margin:auto}
.detail-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.027)}
.identity-block{display:flex;gap:14px}.mugshot{width:66px;height:76px;border-radius:11px;border:1px solid var(--line);background:linear-gradient(145deg,#172428,#0d1518);display:grid;place-items:center;font:900 .8rem var(--mono);color:var(--accent)}
.identity-copy span{font:700 .47rem var(--mono);color:#617176}.identity-copy h2{margin:6px 0 3px;font-size:1.45rem}.identity-copy small{color:#718085}
.detail-actions{display:flex;gap:7px;flex-wrap:wrap}
.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:9px}
.detail-cell{border:1px solid var(--line);border-radius:11px;padding:11px;background:rgba(255,255,255,.018)}
.detail-cell span{display:block;font:700 .43rem var(--mono);color:#5e6e72;margin-bottom:5px}.detail-cell strong{font-size:.66rem}
.detail-section{margin-top:12px;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.detail-section>header{height:44px;padding:0 13px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.06)}
.detail-section>header strong{font-size:.7rem}.detail-section>header span{font:650 .45rem var(--mono);color:#607075}
.detail-row{padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.05)}.detail-row:last-child{border-bottom:0}.detail-row strong{font-size:.64rem}.detail-row p{font-size:.61rem;color:#718186;line-height:1.55;margin:5px 0}.detail-row footer{display:flex;gap:8px;color:#5e6d72;font:600 .44rem var(--mono)}

/* ARCHIVE READER */
.archive-reader{height:100%;display:grid;grid-template-columns:230px 1fr}
.archive-index{border-right:1px solid rgba(255,255,255,.07);padding:12px;overflow:auto;background:rgba(0,0,0,.08)}
.archive-index button{width:100%;border:0;border-radius:8px;background:transparent;color:#89979a;padding:9px;text-align:left;font-size:.62rem;cursor:pointer}.archive-index button:hover,.archive-index button.active{background:rgba(255,255,255,.045);color:white}
.document-stage{padding:28px;overflow:auto;background:radial-gradient(circle at center,rgba(255,255,255,.025),transparent 60%)}
.document-paper{width:min(760px,100%);min-height:820px;margin:auto;background:#d8d5c7;color:#1b201f;box-shadow:0 22px 70px rgba(0,0,0,.38);padding:54px 58px;position:relative;user-select:text}
.document-paper:before{content:"INTERNAL";position:absolute;right:34px;top:38px;border:2px solid rgba(115,39,32,.55);color:rgba(115,39,32,.68);font:900 .7rem var(--mono);padding:6px 8px;transform:rotate(3deg)}
.document-paper .doc-ref{font:700 .58rem var(--mono);letter-spacing:.08em;color:#5f6661}.document-paper h1{font-size:2.35rem;line-height:.98;letter-spacing:-.05em;margin:28px 0}.document-paper .doc-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;border-block:1px solid rgba(0,0,0,.19);padding:12px 0;margin-bottom:28px;font:650 .56rem var(--mono)}.document-paper p{font-family:Georgia,serif;font-size:.97rem;line-height:1.78;white-space:pre-line}.document-paper .doc-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:35px}.document-paper .doc-tags span{border:1px solid rgba(0,0,0,.2);padding:5px 7px;font:650 .5rem var(--mono)}

/* INCIDENT CARDS */
.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:14px}
.report-card{border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.023);padding:14px;cursor:pointer}.report-card:hover{background:rgba(255,255,255,.05)}
.report-card header{display:flex;justify-content:space-between;gap:12px}.report-card header span{font:650 .48rem var(--mono);color:#68787c}.report-card h3{font-size:.78rem;margin:18px 0 7px}.report-card p{font-size:.61rem;color:#738287;line-height:1.55;min-height:38px}.report-card footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.06);padding-top:10px;font:600 .45rem var(--mono);color:#5e6e72}

/* SECURITY TIMELINE */
.security-shell{padding:15px}
.security-banner{border:1px solid rgba(255,115,104,.16);border-radius:14px;padding:16px;background:linear-gradient(90deg,rgba(255,115,104,.07),transparent);display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.security-banner span{font:700 .47rem var(--mono);color:#a76e69}.security-banner strong{display:block;margin-top:6px}.security-banner b{font:700 .49rem var(--mono);color:#b4c07e}
.security-stream{position:relative;padding-left:35px}.security-stream:before{content:"";position:absolute;left:12px;top:0;bottom:0;width:1px;background:#29363a}
.security-event{position:relative;border:1px solid var(--line);border-radius:11px;padding:12px 14px;margin-bottom:8px;background:rgba(255,255,255,.02)}
.security-event:before{content:"";position:absolute;left:-28px;top:17px;width:7px;height:7px;border-radius:50%;background:#708084;box-shadow:0 0 0 5px #0b1519}.security-event.high:before,.security-event.critical:before{background:var(--danger)}.security-event.medium:before{background:var(--warning)}
.security-event header{display:flex;justify-content:space-between;gap:20px}.security-event strong{font-size:.67rem}.security-event time{font:600 .45rem var(--mono);color:#607075}.security-event p{font-size:.58rem;color:#718085}.security-event footer{display:flex;gap:6px;flex-wrap:wrap}

/* STAFF */
.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px}
.staff-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.022);display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center}.staff-avatar{width:48px;height:48px;border-radius:12px;background:linear-gradient(145deg,#35464b,#172428);display:grid;place-items:center;font:800 .6rem var(--mono);color:#c7d4d5}.staff-card strong{font-size:.68rem}.staff-card small{display:block;color:#68787b;font-size:.53rem;margin-top:4px}.staff-card .tag{margin-top:7px}

/* MESSAGES */
.message-app{height:100%;display:grid;grid-template-columns:260px 1fr}
.message-list{border-right:1px solid rgba(255,255,255,.07);overflow:auto;background:rgba(0,0,0,.07)}
.message-preview{padding:12px;border-bottom:1px solid rgba(255,255,255,.055);cursor:pointer}.message-preview:hover,.message-preview.active{background:rgba(255,255,255,.045)}.message-preview header{display:flex;justify-content:space-between;gap:9px}.message-preview strong{font-size:.62rem}.message-preview time{font:600 .43rem var(--mono);color:#607075}.message-preview p{font-size:.57rem;color:#728186;margin:6px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.message-reader{padding:28px;overflow:auto}.message-reader .mail-meta{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:16px}.message-reader h2{font-size:1.25rem;margin:18px 0}.message-reader p{font-size:.7rem;line-height:1.75;color:#aab5b7;white-space:pre-line}

/* AUDIT */
.audit-table{min-width:780px}.audit-head,.audit-row{display:grid;grid-template-columns:125px 130px 150px 145px 1fr;gap:10px;align-items:center;padding:9px 13px;border-bottom:1px solid rgba(255,255,255,.055)}.audit-head{font:700 .43rem var(--mono);color:#56666a}.audit-row{font-size:.58rem}.audit-row code{font:600 .48rem var(--mono);color:#97a6a9}

/* SETTINGS */
.settings-shell{height:100%;display:grid;grid-template-columns:230px 1fr}.settings-nav{border-right:1px solid rgba(255,255,255,.07);padding:12px}.settings-page{padding:24px;overflow:auto}.settings-page h2{font-size:1.35rem;margin-top:0}.settings-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:11px}.settings-row{min-height:54px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.06)}.settings-row:last-child{border-bottom:0}.settings-row div{display:grid;gap:3px}.settings-row strong{font-size:.67rem}.settings-row small{font-size:.54rem;color:#6e7e82}.switch{width:38px;height:22px;border-radius:20px;background:#344044;position:relative;cursor:pointer}.switch:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:white;left:2px;top:2px;transition:.18s}.switch.on{background:#5aa79f}.switch.on:after{left:18px}

/* POPOVERS */
.popover{position:fixed;z-index:800;opacity:0;pointer-events:none;transform:translateY(-8px) scale(.98);transition:.16s;border:1px solid rgba(255,255,255,.13);background:rgba(17,27,32,.78);backdrop-filter:blur(35px) saturate(160%);box-shadow:0 25px 80px rgba(0,0,0,.35);border-radius:14px}
.popover.show{opacity:1;pointer-events:auto;transform:none}
.bb-popover{left:8px;top:35px;width:260px;padding:7px}.popover-user{display:flex;gap:10px;align-items:center;padding:10px 9px 13px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:5px}.avatar-small{width:36px;height:36px;border-radius:10px;background:linear-gradient(145deg,#46636a,#1b2b30);display:grid;place-items:center;font:850 .58rem var(--mono)}.popover-user>div:last-child{display:grid;gap:2px}.popover-user strong{font-size:.66rem}.popover-user small{font:600 .48rem var(--mono);color:#748388}
.bb-popover>button{width:100%;height:34px;border:0;border-radius:8px;background:transparent;text-align:left;padding:0 10px;font-size:.61rem;cursor:pointer}.bb-popover>button:hover{background:rgba(255,255,255,.06)}.danger-action{color:#ff9f97!important}
.control-center{right:9px;top:35px;width:330px;padding:13px}.control-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.control-head strong{font-size:.72rem}.control-head span{font:650 .45rem var(--mono);color:#68787d}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.control-tile{border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.035);min-height:62px;display:flex;gap:9px;align-items:center;padding:10px;text-align:left;cursor:pointer}.control-tile.active{background:rgba(143,214,208,.13);border-color:rgba(143,214,208,.17)}.control-tile>span{font-size:.95rem}.control-tile div{display:grid;gap:3px}.control-tile b{font-size:.58rem}.control-tile small{font-size:.48rem;color:#718186}.control-slider{margin-top:10px;border:1px solid rgba(255,255,255,.08);border-radius:11px;padding:10px}.control-slider span{font-size:.52rem}.control-slider input{width:100%;margin-top:8px}
.notification-center{right:55px;top:35px;width:340px;max-height:510px;padding:10px;overflow:auto}.notification-title{display:flex;justify-content:space-between;align-items:center;padding:5px 4px 10px}.notification-title strong{font-size:.73rem}.notification-title button{border:0;background:transparent;color:#86bdb8;font-size:.54rem;cursor:pointer}.notification-card{border:1px solid rgba(255,255,255,.08);border-radius:11px;padding:10px;margin-bottom:7px;background:rgba(255,255,255,.03)}.notification-card header{display:flex;justify-content:space-between}.notification-card strong{font-size:.59rem}.notification-card time{font:600 .43rem var(--mono);color:#65757a}.notification-card p{font-size:.54rem;color:#748489;margin:5px 0 0;line-height:1.45}

/* SPOTLIGHT */
.spotlight{position:fixed;z-index:900;inset:0;background:rgba(2,7,9,.32);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:.15s;padding-top:12vh}
.spotlight.show{opacity:1;pointer-events:auto}
.spotlight-box,.spotlight-results{width:min(650px,calc(100vw - 30px));margin:auto;background:rgba(19,29,34,.86);backdrop-filter:blur(32px);border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow)}
.spotlight-box{height:58px;border-radius:15px;display:flex;align-items:center;gap:11px;padding:0 14px}.spotlight-box>span{font-size:1.1rem;color:#99aaaD}.spotlight-box input{flex:1;border:0;outline:0;background:transparent;color:white;font-size:1rem}.spotlight-box kbd{font:600 .48rem var(--mono);padding:4px 6px;border:1px solid rgba(255,255,255,.1);border-radius:5px;color:#708084}
.spotlight-results{margin-top:7px;border-radius:13px;max-height:430px;overflow:auto;display:none}.spotlight-results.show{display:block}.spotlight-result{height:52px;padding:0 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.055);cursor:pointer}.spotlight-result:hover{background:rgba(255,255,255,.05)}.spotlight-result .mini-icon{width:31px;height:31px;border-radius:8px;background:rgba(255,255,255,.08);display:grid;place-items:center}.spotlight-result div{display:grid;gap:2px}.spotlight-result strong{font-size:.64rem}.spotlight-result small{font-size:.5rem;color:#69797e}

/* MODAL INSIDE WINDOW */
.os-modal-backdrop{position:absolute;z-index:50;inset:0;background:rgba(2,7,9,.45);backdrop-filter:blur(5px);display:grid;place-items:center;opacity:0;pointer-events:none;transition:.15s}.os-modal-backdrop.show{opacity:1;pointer-events:auto}.os-modal{width:min(520px,calc(100% - 30px));max-height:90%;overflow:auto;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:#10191d;box-shadow:0 24px 80px rgba(0,0,0,.4);transform:scale(.96);transition:.15s}.os-modal-backdrop.show .os-modal{transform:scale(1)}
.modal-head{padding:16px;border-bottom:1px solid rgba(255,255,255,.07)}.modal-head span{font:700 .45rem var(--mono);color:#68787d}.modal-head h3{font-size:1rem;margin:5px 0 0}.modal-form{padding:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal-form label{display:grid;gap:5px;margin-bottom:9px;font:700 .46rem var(--mono);color:#728287}.modal-form input,.modal-form select,.modal-form textarea{border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#0a1215;color:white;padding:9px;outline:0}.modal-form textarea{min-height:120px;resize:vertical}.modal-form input:focus,.modal-form textarea:focus,.modal-form select:focus{border-color:rgba(143,214,208,.42)}.modal-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:13px}.modal-actions button{height:33px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.035);padding:0 12px;cursor:pointer;font:700 .5rem var(--mono)}.modal-actions button.primary{background:var(--accent);color:#071012;border-color:var(--accent)}

/* TOASTS */
.toast-stack{position:fixed;z-index:1000;right:14px;top:43px;width:310px;display:grid;gap:7px;pointer-events:none}.toast{border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(18,28,33,.86);backdrop-filter:blur(28px);box-shadow:0 18px 60px rgba(0,0,0,.26);padding:10px;display:grid;grid-template-columns:34px 1fr;gap:9px;transform:translateX(110%);opacity:0;animation:toastIn .28s forwards}.toast-icon{width:34px;height:34px;border-radius:9px;background:rgba(143,214,208,.12);display:grid;place-items:center;color:var(--accent)}.toast strong{font-size:.58rem}.toast p{font-size:.5rem;color:#738388;margin:3px 0 0;line-height:1.4}@keyframes toastIn{to{transform:none;opacity:1}}

/* permissions / responsiveness */
.hidden-permission{display:none!important}
@media(max-width:1100px){
  .metric-grid{grid-template-columns:repeat(3,1fr)}
  .home-grid{grid-template-columns:1fr}
  .staff-grid{grid-template-columns:repeat(2,1fr)}
  .os-window{width:calc(100vw - 48px);height:calc(100vh - 112px)}
}
@media(max-width:760px){
  .menu-text,.status-secure,.clock-btn span{display:none}
  .dock-wrap{bottom:5px;max-width:calc(100vw - 12px);overflow-x:auto}
  .dock-app{width:46px}.dock-app .app-icon{width:40px;height:40px}
  .desktop-icons{display:none}
  .os-window{left:5px!important;top:5px!important;right:5px!important;bottom:69px!important;width:auto!important;height:auto!important;transform:none!important;border-radius:13px}
  .window-titlebar{grid-template-columns:80px 1fr 80px}
  .metric-grid{grid-template-columns:1fr 1fr}
  .split-app,.archive-reader,.message-app,.settings-shell{grid-template-columns:1fr}
  .app-sidebar,.archive-index,.message-list,.settings-nav{max-height:165px;border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}
  .inmate-columns{grid-template-columns:65px 1fr 90px}.inmate-columns>*:nth-child(3),.inmate-columns>*:nth-child(5){display:none}
  .archive-columns{grid-template-columns:75px 1fr 95px}.archive-columns>*:nth-child(4){display:none}
  .report-columns{grid-template-columns:90px 1fr 80px}.report-columns>*:nth-child(4),.report-columns>*:nth-child(5){display:none}
  .detail-grid{grid-template-columns:1fr 1fr}
  .card-grid{grid-template-columns:1fr}
  .staff-grid{grid-template-columns:1fr}
  .document-stage{padding:10px}.document-paper{padding:30px 26px;min-height:600px}.document-paper h1{font-size:1.8rem}
  .audit-head,.audit-row{grid-template-columns:110px 100px 140px 130px 1fr}
}
