:root{
  --ink:#141310; --void:#0B0A09; --card:#0E0D0B; --line:#2B2924; --line2:#3A3833;
  --paper:#FBFBF9; --orange:#FF5A1F; --amber:#FF9E2C; --burnt:#D94413;
  --ash:#8E8A80; --ash2:#6E6A60; --faint:#54514A; --body:#B7B3A9;
  --green:#3FB37F; --red:#C0392B;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--void);color:var(--body);font-family:'Familjen Grotesk',sans-serif}
a{color:var(--orange);text-decoration:none}a:hover{color:var(--amber)}
.mono{font-family:'Space Mono',monospace}
button{font-family:inherit}
input::placeholder{color:var(--faint)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}
::-webkit-scrollbar-track{background:transparent}
@keyframes blink{0%,48%{opacity:1}49%,100%{opacity:0}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes scan{0%{left:-40%}100%{left:100%}}
.scanbar{position:relative;height:6px;border-radius:3px;background:var(--void);overflow:hidden}
.scanbar>span{position:absolute;top:0;height:100%;width:40%;border-radius:3px;background:linear-gradient(90deg,transparent,var(--orange),transparent);animation:scan 1.3s linear infinite}

/* ---------- auth (login + setup) ---------- */
body.auth{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;
  background-image:
    radial-gradient(120% 80% at 82% -8%, rgba(255,90,31,.10), transparent 55%),
    linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:auto,44px 44px,44px 44px}
.authcard{width:440px;max-width:100%;background:var(--ink);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.9);overflow:hidden}
.chrome{height:46px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;padding:0 18px}
.dot{width:11px;height:11px;border-radius:50%}
.dot.o{background:var(--orange)}.dot.a{background:var(--amber)}.dot.g{background:#3A3833}
.chrome-url{font-size:12px;letter-spacing:.12em;color:var(--ash2);margin-left:12px}
.authbody{padding:40px 38px 34px}
.wordmark{display:flex;align-items:center}
.wordmark .gt{font-weight:700;font-size:34px;color:var(--orange)}
.wordmark .word{font-size:34px;color:var(--paper);letter-spacing:-.02em}
.caret{display:inline-block;width:11px;height:27px;background:var(--orange);margin-left:7px;border-radius:2px;animation:blink 1.1s step-end infinite}
.sub{font-size:13px;color:var(--ash);margin-top:14px}
.err{font-size:12px;color:var(--orange);margin-top:14px}
.flabel{display:block;font-size:11px;letter-spacing:.14em;color:var(--ash);margin-top:22px}
.field{display:flex;align-items:center;gap:10px;margin-top:9px;background:var(--void);border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.field .gt{font-weight:700;font-size:14px;color:var(--orange)}
.field input{flex:1;background:transparent;border:none;outline:none;color:var(--paper);font:400 14px/1 'Space Mono',monospace}
.btn-primary{width:100%;margin-top:28px;background:var(--orange);color:var(--ink);border:none;border-radius:8px;padding:14px;cursor:pointer;
  font-weight:700;font-size:14px;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;gap:8px}

/* ---------- app layout ---------- */
.shell{display:flex;height:100vh;overflow:hidden;position:relative}
.shell::before{content:"";position:absolute;inset:0;z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:44px 44px}
.sidebar,.main{position:relative;z-index:1}
.sidebar{width:236px;flex:none;background:rgba(11,10,9,.72);backdrop-filter:blur(2px);border-right:1px solid var(--line);
  display:flex;flex-direction:column;padding:22px 0}
.brand{padding:0 22px 22px;display:flex;align-items:center}
.brand .gt{font-weight:700;font-size:22px;color:var(--orange)}
.brand .word{font-size:22px;color:var(--paper);letter-spacing:-.02em}
.brand .caret{width:7px;height:17px;margin-left:5px}
.navlabel{padding:0 22px 12px;font-size:11px;letter-spacing:.14em;color:var(--faint)}
.navbtn{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:none;
  border-left:3px solid transparent;padding:11px 22px;cursor:pointer;color:var(--ash);font-weight:500;font-size:14px}
.navbtn .p{font-family:'Space Mono',monospace;font-weight:700;font-size:13px;color:var(--faint);width:12px}
.navbtn .c{margin-left:auto;font-family:'Space Mono',monospace;font-size:11px;color:var(--faint)}
.navbtn.active{background:rgba(255,90,31,.08);border-left-color:var(--orange);color:var(--paper)}
.navbtn.active .p{color:var(--orange)}
.opcard{margin:0 16px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#0E0D0B}
.opcard .row{display:flex;align-items:center;gap:10px}
.opavatar{width:30px;height:30px;border-radius:8px;background:var(--orange);display:flex;align-items:center;justify-content:center;
  font-family:'Space Mono',monospace;font-weight:700;font-size:14px;color:var(--ink)}
.opname{font-weight:600;font-size:13px;color:var(--paper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oprole{font-family:'Space Mono',monospace;font-size:10px;color:var(--ash2);margin-top:3px}
.signout{width:100%;margin-top:12px;background:transparent;border:1px solid var(--line);border-radius:6px;padding:8px;cursor:pointer;
  color:var(--ash);font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.08em}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{height:60px;flex:none;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;
  padding:0 28px;background:rgba(20,19,16,.7);backdrop-filter:blur(2px)}
.topbar .cmt{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;color:var(--orange)}
.topbar .ttl{font-weight:600;font-size:17px;color:var(--paper);margin-left:10px}
.live{display:flex;align-items:center;gap:8px}
.live .d{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 1.6s ease-in-out infinite}
.live .t{font-family:'Space Mono',monospace;font-size:12px;color:var(--ash)}
.clock{font-family:'Space Mono',monospace;font-size:13px;color:var(--ash2);margin-left:18px}
.content{flex:1;overflow-y:auto;padding:28px}

/* ---------- components ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:12px}
.pad{padding:22px 24px}
.grid{display:grid;gap:14px}
.kpis{grid-template-columns:repeat(auto-fit,minmax(178px,1fr))}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.kpi .l{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.12em;color:var(--ash)}
.kpi .v{font-weight:600;font-size:32px;color:var(--paper)}
.kpi .d{font-family:'Space Mono',monospace;font-size:12px}
.sectitle{font-weight:600;font-size:16px;color:var(--paper)}
.hint{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.12em;color:var(--ash)}
.bar{height:8px;border-radius:4px;background:#1B1A16;overflow:hidden}
.bar>span{display:block;height:100%;border-radius:4px}
.tone-ash{color:var(--ash)}.tone-amber{color:var(--amber)}.tone-green{color:var(--green)}
.tone-orange{color:var(--orange)}.tone-ash2{color:var(--ash2)}
.btn{border-radius:7px;padding:9px 14px;cursor:pointer;font-family:'Space Mono',monospace;font-size:12px;border:1px solid var(--line2);
  background:transparent;color:var(--paper)}
.btn.pri{background:var(--orange);color:var(--ink);border:none;font-weight:700}
.btn.amber{background:var(--amber);color:var(--ink);border:none;font-weight:700}
.btn.green{background:var(--green);color:var(--void);border:none;font-weight:700}
.btn.ghost{color:var(--ash2);border-color:var(--line)}
.badge{font-family:'Space Mono',monospace;font-weight:700;font-size:11px;letter-spacing:.06em;padding:7px 11px;border-radius:6px}
.searchbar{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 14px;width:340px;max-width:100%}
.searchbar input{flex:1;background:transparent;border:none;outline:none;color:var(--paper);font:400 13px/1 'Space Mono',monospace}
.searchbar .gt{font-family:'Space Mono',monospace;font-weight:700;font-size:13px;color:var(--orange)}
.trow{display:grid;gap:12px;padding:15px 20px;border-bottom:1px solid #1D1B17;align-items:center;cursor:pointer}
.thead{display:grid;gap:12px;padding:13px 20px;border-bottom:1px solid var(--line);
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--ash2)}
.empty{font-family:'Space Mono',monospace;font-size:13px;color:var(--faint);padding:18px 0}
.stagedots{display:flex;gap:3px}
.stagedots span{width:16px;height:5px;border-radius:2px}
.leadcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 24px;margin-bottom:12px}
.flex{display:flex}.between{justify-content:space-between}.center{align-items:center}.wrap{flex-wrap:wrap}.gap{gap:14px}
.mt{margin-top:16px}
