/* Shared visual system. Data and role permissions remain in the portal modules. */
:root{--bg:#08111f;--ink:#edf3fa;--muted:#a5b4c8;--panel:#101e30;--line:#ffffff12;--nav:#0b1524;--nav2:#1b304b;--blue:#579aff;--gold:#dfbc74;--green:#59c99a;}
body{font-family:Inter,"Segoe UI Variable","Segoe UI",system-ui,sans-serif;background:radial-gradient(ellipse at 80% 0%,#17325566,transparent 45%),#08111f;color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;}
button,input,select,textarea{font:inherit;}
h1,h2,h3{letter-spacing:-.035em;line-height:1.2;font-style:normal;}
h2{font-weight:650;}h3{font-weight:600;}
.main{min-width:0;}.content{padding:32px clamp(18px,3vw,48px);max-width:1600px;margin:auto;}
.topbar{padding:18px 32px;background:#0b1524d9;border-bottom:1px solid var(--line);}
.topbar h1{font-size:24px;font-weight:650;letter-spacing:-.04em;}
.hello-line{font-size:13px;color:var(--muted);font-weight:400;}
.controls{gap:10px;}.user-pill{border:0;background:#ffffff05;border-radius:12px;}
.avatar,.mark{border-radius:12px;background:#254b78;color:#dcecff;}
.sidebar{background:#0b1524f5;border-right:1px solid var(--line);padding:28px 16px;width:260px;}
.brand{margin-bottom:28px;}.brand strong{font-weight:650;letter-spacing:-.025em;}
.nav-group{border-top:0;margin-top:20px;padding-top:0;}.nav-group h2{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8295ae;margin-bottom:10px;}
.nav-button{min-height:42px;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:500;color:#aabbd0;margin:3px 0;transition:background .15s,color .15s;}
.nav-button.active,.nav-button[aria-current="page"]{background:#203d61;color:#e9f3ff;box-shadow:inset 3px 0 #78b2ff;}
.nav-button:hover{background:#172940;color:white;}
.panel,.stat,.action-list,.login-card,.cadet-workspace{border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#132237,#0e1b2d);box-shadow:0 8px 28px #00000012;backdrop-filter:blur(16px);}
.panel,.action-list{padding:24px;margin-bottom:20px;}
.panel h2,.action-list h2{font-size:18px;margin:0 0 20px;font-weight:650;}
.panel h3{font-size:15px;margin-top:24px;}
.grid,.command-grid{gap:20px;}.stats{gap:16px;margin:24px 0;}.stat{padding:22px;}.stat strong{font-size:32px;letter-spacing:-.055em;font-weight:650;}.stat span{font-size:12px;color:var(--muted);}
.signal-link{gap:14px;}.signal-link strong{font-size:30px;}.signal-link span{font-size:14px;font-weight:500;}
.mission{border-radius:20px;padding:32px;min-height:170px;}.mission h2{font-size:clamp(25px,3vw,38px);max-width:620px;}.mission p{line-height:1.65;max-width:640px;}
.badge,.status{border-radius:7px;font-size:11px;font-weight:600;letter-spacing:.015em;padding:5px 9px;}
.button,button[type="submit"]{border-radius:10px;min-height:42px;padding:10px 16px;background:#3879ce;border:1px solid #7ca9e344;color:white;font-size:13px;font-weight:600;box-shadow:none;cursor:pointer;}
.button.light{background:#ffffff06;border:1px solid #ffffff16;color:#cbd9e9;}.button.gold{background:#d4b16f;color:#19202a;border-color:#d4b16f;}
.button:hover{filter:brightness(1.12);}.button:disabled{opacity:.5;cursor:default;}
input:not([type="checkbox"]):not([type="radio"]),select,textarea,.sheet-form input,.sheet-form select,.sheet-form textarea,.login-form input,.login-grid input{min-height:44px;background:#081424;color:#e9f1fb;border:1px solid #ffffff1c;border-radius:10px;padding:11px 13px;max-width:100%;box-sizing:border-box;}
input:focus,select:focus,textarea:focus{outline:2px solid #79afff;outline-offset:2px;border-color:transparent;}
input::placeholder,textarea::placeholder{color:#8193ad;}
select option{background:#102039;color:#edf3fa;}
.sheet-form,.login-form,.login-grid{gap:18px;}.sheet-form label,.login-form label,.login-grid label{font-weight:500;font-size:12px;gap:8px;color:#b9c9db;}
.sheet-form textarea{min-height:100px;}.sheet-actions{gap:8px;}
.sheet-form>h3,.sheet-form>p,.sheet-form>button,.sheet-form>label:has(textarea){grid-column:1/-1;}
.sheet-form>button{justify-self:start;}.sheet-form>[data-result]{margin:0;}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;}th{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:#91a6bf;background:#081625;padding:14px 16px;border-bottom:1px solid var(--line);}td{padding:15px 16px;background:transparent;border-bottom:1px solid var(--line);line-height:1.5;}tbody tr:hover td{background:#ffffff03;}
.event,.command-row,.item,.doc-row,.inventory-row{padding:16px 0;border-color:var(--line);}.event h3{font-size:15px;font-weight:600;}.meta,.muted,.support-note{color:var(--muted);font-size:13px;line-height:1.65;}
.pipeline-card{border-radius:14px;background:#102039;border:1px solid var(--line);padding:18px;box-shadow:none;}.pipeline-card.active{border-color:#70a9ef;background:#183251;}.pipeline-date{color:#8ab9f6;font-size:11px;letter-spacing:.06em;}.pipeline-preview{border-radius:16px;background:#0b1829;border:1px solid var(--line);padding:24px;}.pipeline-preview-grid span{border-radius:10px;background:#ffffff04;padding:12px;}
.command-dialog{background:#101e30;border-radius:20px;padding:28px;border-color:#ffffff20;}.command-result{border-radius:12px;padding:16px;}.command-dialog::backdrop{background:#030a14b8;}
.staff-login{background:radial-gradient(ellipse at 15% 30%,#1b3f6b66,transparent 55%),#08111f;}.login-card{padding:32px;}.login-intro h1{letter-spacing:-.055em;font-weight:650;line-height:1.04;}.login-intro p{font-size:17px;line-height:1.7;}
.top{background:#0b1524d9;border-color:var(--line);}.top-links a{font-size:13px;}.intro h1{letter-spacing:-.055em;}.page{gap:28px;}
.cadet-shell{gap:24px;}.cadet-hero{border-radius:24px;overflow:hidden;}.cadet-workspace{padding:28px;}.workspace-head h2{font-size:24px;}.cadet-tabs{gap:6px;background:#081424;padding:6px;border-radius:13px;border:1px solid var(--line);}.cadet-tab{border:0;border-radius:9px;background:transparent;color:#9eb2cb;font-size:13px;font-weight:500;padding:11px 16px;}.cadet-tab.active{background:#24466f;color:#edf5ff;box-shadow:0 2px 8px #0003;}
.form-disclosure{border-top:1px solid var(--line);margin-top:16px;padding-top:12px;}.form-disclosure summary{cursor:pointer;color:#a9ceff;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:10px 0;font-size:13px;font-weight:600;}.form-disclosure summary::after{content:'+';font-size:20px;font-weight:400;}.form-disclosure[open] summary::after{content:'−';}.form-disclosure[open] .sheet-form{margin-top:18px;}
body[data-page="account-setup"] main{background:linear-gradient(145deg,#132237,#0e1b2d);border:1px solid var(--line);border-radius:24px;padding:36px;box-shadow:0 20px 80px #0003;}
@media(min-width:1100px){#staff-app.app{grid-template-columns:248px minmax(0,1fr);}#staff-app .sidebar{position:sticky;top:0;width:248px;transform:none;box-shadow:none;height:100vh;}#staff-app .menu-button,#staff-app .sidebar-close{display:none;}#staff-app .menu-overlay{display:none!important;}.sheet-form{grid-template-columns:repeat(2,minmax(0,1fr));}.sheet-form>label{min-width:0;}}
@media(max-width:700px){.content{padding:20px 14px;}.topbar{padding:14px 16px;gap:10px;}.topbar h1{font-size:19px;}.panel,.action-list,.cadet-workspace{padding:20px 16px;border-radius:16px;}.stats{gap:10px;}.stat{padding:16px;}.stat strong{font-size:27px;}.cadet-tabs{overflow-x:auto;flex-wrap:nowrap;}.cadet-tab{white-space:nowrap;}.command-dialog{padding:20px;}.login-card{padding:24px;}.pipeline-preview{padding:18px;}.sheet-form{grid-template-columns:minmax(0,1fr);}}
@media print{body{background:white;}.panel,.stat{box-shadow:none;}}
