/* Shelly Brain page — same dark look as the Shelly app */
:root{color-scheme:dark;
  --void:#070b12;--panel:#0f1622;--panel-2:#141e2c;--etch:#1f2a38;--etch-2:#172230;
  --ink:#eaf0f6;--ink-2:#b0bac8;--ink-3:#7d8a9c;--accent:#63b6d8;
  --store:#63b6d8;--totara:#b69cf2;--group:#7fd1a8;
  --auto:#3fb87f;--suggest:#ffc466;--approve:#e66767;--wait:#ff7b72;
  --mono:"JetBrains Mono",ui-monospace,monospace}
*{box-sizing:border-box}
html,body{background:var(--void)}
body{margin:0;padding:0 0 110px;color:var(--ink-2);font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.tag{font-family:var(--mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-3)}
header{padding:48px 0 8px}
h1{font-size:clamp(32px,6vw,56px);font-weight:300;letter-spacing:-.03em;line-height:1.05;margin:14px 0 0;color:var(--ink)}
h1 b{font-weight:600}
.sub{max-width:72ch;font-size:clamp(15px,2vw,17.5px);margin:16px 0 0}
.stats{display:flex;flex-wrap:wrap;gap:1px;margin-top:22px;border:1px solid var(--etch);border-radius:4px;overflow:hidden;background:var(--etch)}
.stat{flex:1 1 130px;background:var(--panel);padding:12px 14px}
.stat b{display:block;font:500 24px var(--mono);color:var(--ink)}
.stat span{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.stat.wait b{color:var(--wait)}
section{margin-top:34px;padding-top:26px;border-top:1px solid var(--etch-2)}
.sec-h{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;margin-bottom:14px}
.sec-h h2{margin:0;font:600 12px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.note{font:11px var(--mono);color:var(--ink-3)}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font:11px var(--mono);color:var(--ink-3)}
.legend i.lg{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.lg.auto{background:var(--auto)}.lg.suggest{background:var(--suggest)}.lg.approve{background:var(--approve)}.lg.wait{background:none;border:2px solid var(--wait)}

/* ask */
.ask form{display:grid;gap:8px}
.ask-row{display:flex;gap:8px}
.ask-row input{flex:1;min-width:0;font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--etch);border-radius:8px;padding:12px 14px}
.ask-row input:focus{outline:none;border-color:var(--accent)}
.ask-row button{font:600 12px var(--mono);background:var(--accent);color:#07131c;border:0;border-radius:8px;padding:0 16px;cursor:pointer}
.ask-out{margin-top:10px}
.ask-out .res{border:1px solid var(--etch);border-left:3px solid var(--accent);background:var(--panel);border-radius:6px;padding:10px 12px;font-size:14px}
.ask-out .res button{font:500 11px var(--mono);margin-left:8px;border:1px solid var(--etch);background:var(--panel-2);color:var(--ink);border-radius:5px;padding:4px 8px;cursor:pointer}

/* map */
.map{position:relative;border:1px solid var(--etch);border-radius:6px;background:radial-gradient(circle at 50% 50%,#101a29 0,#070b12 70%);overflow:hidden}
.map svg{display:block;width:100%;max-height:760px;margin:0 auto}
.map text{font-family:var(--mono);fill:var(--ink-3);font-size:11px}
.map .ring{fill:none;stroke:var(--etch);stroke-dasharray:2 5}
.map .spoke{stroke-opacity:.35;stroke-width:1}
.map .node{cursor:pointer;transition:transform .2s}
.map .node:hover .dot,.map .node:focus .dot{stroke:#fff;stroke-width:2}
.map .node:focus{outline:none}
.map .wait-ring{fill:none;stroke:var(--wait);stroke-width:2;animation:pulse 1.8s ease-in-out infinite}
.map .core-c{animation:breathe 4s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
.map .pulse-dot{animation:travel 3s linear infinite}
.map .dim{opacity:.18}
@keyframes pulse{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.maptip{position:absolute;pointer-events:none;background:#141e2c;border:1px solid #2a3a50;border-radius:8px;padding:8px 10px;font-size:12.5px;color:var(--ink);max-width:260px;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.maptip small{display:block;color:var(--ink-3);font-family:var(--mono);font-size:10.5px}

/* flow */
.flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;list-style:none;margin:0;padding:0;counter-reset:f}
.flow li{position:relative;border:1px solid var(--etch);background:var(--panel);border-radius:6px;padding:12px;counter-increment:f}
.flow li::before{content:counter(f);font:600 11px var(--mono);color:#07131c;background:var(--accent);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;margin-bottom:6px}
.flow b{display:block;color:var(--ink);font-size:14px}
.flow span{font-size:12.5px}

/* core */
.core{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.core details{border:1px solid var(--etch);background:linear-gradient(165deg,var(--panel-2),var(--panel) 62%);border-radius:6px;padding:12px 14px}
.core summary{cursor:pointer;list-style:none;display:flex;gap:10px;align-items:center}
.core summary::-webkit-details-marker{display:none}
.core .ic{width:34px;height:34px;flex:none;border-radius:8px;display:grid;place-items:center;background:rgba(99,182,216,.14);color:var(--accent);font-size:17px}
.core summary b{color:var(--ink);font-size:15px}
.core p{margin:8px 0 0;font-size:13.5px}
.core ul{margin:8px 0 0;padding-left:18px;font-size:13px}
.core code{font:11px var(--mono);color:var(--ink-3)}

/* orgs */
.filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.filters input{font:13px inherit;color:var(--ink);background:var(--panel);border:1px solid var(--etch);border-radius:99px;padding:6px 12px;min-width:200px}
.filters button{font:500 11.5px var(--mono);border:1px solid var(--etch);background:var(--panel-2);color:var(--ink-2);border-radius:99px;padding:5px 11px;cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--accent);color:#07131c;border-color:var(--accent)}
.biz-block{margin-bottom:28px}
.biz-h{display:flex;gap:12px;align-items:center;margin:6px 0 12px}
.biz-h .ic{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:20px;color:#07131c}
.biz-h h3{margin:0;font-size:20px;color:var(--ink);font-weight:600}
.biz-h p{margin:2px 0 0;font-size:13px;color:var(--ink-3)}
.biz-h a{margin-left:auto;font:500 11px var(--mono);white-space:nowrap}
.deps{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.dep{border:1px solid var(--etch);background:var(--panel);border-radius:6px;padding:12px;display:grid;gap:8px;align-content:start}
.dep-h b{color:var(--ink);font-size:14.5px}
.dep-h span{display:block;font-size:12.5px;color:var(--ink-3)}
.dep-h em{font:normal 10.5px var(--mono);color:var(--ink-3)}
.agent{text-align:left;width:100%;border:1px solid var(--etch);background:var(--panel-2);border-radius:6px;padding:10px 11px;cursor:pointer;color:inherit;font:inherit;display:grid;gap:5px;transition:border-color .2s,transform .2s}
.agent:hover,.agent:focus-visible{border-color:var(--accent);transform:translateY(-1px);outline:none}
.agent .top{display:flex;gap:6px;align-items:center}
.agent .top b{color:var(--ink);font-size:14px;flex:1}
.pill{font:600 9.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:99px;padding:2px 7px;border:1px solid currentColor;white-space:nowrap}
.pill.auto{color:var(--auto)}.pill.suggest{color:var(--suggest)}.pill.approve{color:var(--approve)}
.wait-b{font:600 10.5px var(--mono);background:var(--wait);color:#fff;border-radius:99px;padding:1px 7px}
.agent .m{font-size:12.5px;line-height:1.45}
.agent .lv{display:flex;flex-wrap:wrap;gap:4px 12px;font:11px var(--mono);color:var(--ink-3)}
.agent .lv b{color:var(--ink);font-weight:500}
.empty{color:var(--ink-3);font-size:13px}

/* drawer */
.drawer{position:fixed;inset:0;z-index:55;background:rgba(4,7,12,.55);backdrop-filter:blur(3px);display:flex;justify-content:flex-end}
.drawer[hidden]{display:none}
.d-in{position:relative;width:min(620px,100%);height:100%;overflow:auto;background:var(--panel);border-left:1px solid var(--etch);padding:22px 20px 60px;animation:slide .28s ease}
@keyframes slide{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.d-x{position:sticky;top:0;float:right;border:1px solid var(--etch);background:var(--panel-2);color:var(--ink);border-radius:8px;width:36px;height:36px;cursor:pointer;font-size:18px}
.d-in h2{margin:6px 0 4px;font-size:26px;color:var(--ink);font-weight:600;letter-spacing:-.02em}
.d-in .crumb{font:11px var(--mono);color:var(--ink-3)}
.d-in .mission{font-size:15px;color:var(--ink);margin:10px 0 0}
.d-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--etch);border:1px solid var(--etch);border-radius:6px;overflow:hidden;margin-top:14px}
.d-grid div{background:var(--panel-2);padding:10px 12px}
.d-grid span{display:block;font:500 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.d-grid b{color:var(--ink);font-size:14px;font-weight:500}
.d-sec{margin-top:18px}
.d-sec h3{margin:0 0 6px;font:600 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.d-sec ul{margin:0;padding-left:18px;font-size:13.5px}
.d-sec li{margin:3px 0}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:11.5px var(--mono);border:1px solid var(--etch);background:var(--panel-2);border-radius:5px;padding:4px 8px;color:var(--ink-2)}
button.chip{cursor:pointer}button.chip:hover{border-color:var(--accent);color:var(--ink)}
.skill{border:1px solid var(--etch);border-radius:6px;padding:8px 10px;background:var(--panel-2);margin-bottom:6px}
.skill code{font:12px var(--mono);color:var(--ink)}
.skill p{margin:2px 0 0;font-size:12.5px}
.ap-item{border:1px solid var(--etch);border-radius:6px;padding:8px 10px;background:var(--panel-2);margin-bottom:6px;font-size:13px}
.ap-item .r{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap;align-items:center}
.ap-item button{font:500 11px var(--mono);border:1px solid var(--etch);background:var(--panel);color:var(--ink);border-radius:5px;padding:4px 9px;cursor:pointer}
.ap-item .yes{border-color:var(--auto)}.ap-item .no{border-color:var(--approve)}
.d-open{display:inline-block;margin-top:18px;font:600 12px var(--mono);background:var(--accent);color:#07131c;text-decoration:none;border-radius:6px;padding:9px 14px}

footer{margin-top:44px;padding-top:18px;border-top:1px solid var(--etch-2);display:flex;flex-wrap:wrap;gap:8px 22px;font-size:12.5px;color:var(--ink-3)}

/* boot */
#boot{position:fixed;inset:0;z-index:70;background:var(--void);display:grid;place-items:center;padding:24px;transition:opacity .6s ease,visibility .6s}
#boot.done{opacity:0;visibility:hidden}
.boot-in{width:min(560px,100%)}
#boot{background:radial-gradient(ellipse at 50% 38%,#0f1b2e 0%,#070b12 62%)}
#boot::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 36%,rgba(99,182,216,.10),transparent 45%);pointer-events:none}
.boot-in{width:min(760px,100%);position:relative;text-align:left}
.boot-cv{display:block;width:100%;aspect-ratio:16/9;max-height:52vh;margin:8px 0 0}
#boot.b3 .boot-in{width:min(1100px,100%)}
#boot.b3 .boot-cv{aspect-ratio:auto;height:min(62vh,640px);max-height:none;margin:0 0 -40px}
.b3-lab{position:absolute;left:0;top:0;pointer-events:none;font:600 12px/1 "Plus Jakarta Sans",system-ui;color:#eaf0f6;letter-spacing:.02em;padding:5px 9px;border-radius:999px;
  background:rgba(9,14,22,.55);border:1px solid color-mix(in srgb,var(--c) 60%,transparent);white-space:nowrap;transition:opacity .3s,box-shadow .3s;will-change:transform}
.b3-lab.on{box-shadow:0 0 14px color-mix(in srgb,var(--c) 70%,transparent);border-color:var(--c)}
.boot-in{position:relative}
.boot-pc{font-family:var(--mono);font-size:.5em;color:var(--accent);margin-left:8px;vertical-align:middle}
.boot-bar{height:3px;background:#162233;border-radius:3px;overflow:hidden;margin:10px 0 0}
.boot-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#63b6d8,#b69cf2,#7fd1a8,#f2c14e);box-shadow:0 0 12px #63b6d8;transition:width .25s ease}
#boot.done .boot-cv{transform:scale(1.06);filter:brightness(1.6);transition:transform .6s ease,filter .6s ease}
.boot-h{margin:10px 0 0;font-size:clamp(22px,4.6vw,32px);font-weight:300;color:var(--ink)}.boot-h b{font-weight:600}
#bootLog{font-family:var(--mono);font-size:12.5px;line-height:1.85;color:var(--ink-2);white-space:pre-wrap;min-height:150px;margin:12px 0 0}
#bootLog .ok{color:var(--accent)}
#skipBoot{font:11px var(--mono);background:none;border:1px solid var(--etch);color:var(--ink-3);border-radius:3px;padding:6px 12px;cursor:pointer}
@media (prefers-reduced-motion:reduce){.map .wait-ring,.map .core-c,.map .pulse-dot{animation:none}}
@media (max-width:560px){.deps{grid-template-columns:1fr}.filters input{min-width:0;flex:1 1 100%}.ask-row{flex-direction:column}.ask-row button{padding:12px}}

/* tabs + Shelly HQ (3D office) */
.tabs{display:flex;gap:6px}
.tabs button{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);background:var(--panel);border:1px solid var(--etch);border-radius:999px;padding:8px 14px;cursor:pointer}
.tabs button[aria-selected="true"]{color:var(--ink);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.tabs button[hidden]{display:none}
.hq{position:relative;height:min(68vh,640px);min-height:420px;border:1px solid var(--etch);border-radius:10px;overflow:hidden;
  background:radial-gradient(ellipse at 50% 40%,#111a2b 0%,#070b12 70%)}
.hq canvas{display:block;width:100%;height:100%;cursor:grab}
.hq:not(.on) .hq-hint,.hq:not(.on) .hq-ctl{display:none}
.hq-hint{position:absolute;left:12px;bottom:10px;font:11px var(--mono);color:var(--ink-3);pointer-events:none}
.hq-ctl{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:6px}
.hq-ctl button{width:34px;height:34px;border-radius:8px;border:1px solid var(--etch);background:rgba(15,22,34,.85);color:var(--ink);font-size:16px;cursor:pointer}
.hq-ctl button:hover{border-color:var(--accent)}
.hq-tip{position:absolute;z-index:3;max-width:220px;background:#141e2c;border:1px solid #2a3a50;border-radius:8px;padding:8px 10px;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.hq-tip b{display:block;color:var(--ink);font-size:13px}.hq-tip span{display:block;font:11px var(--mono);color:var(--ink-3);margin-top:2px}
.hq-bub{position:absolute;z-index:2;transform:translate(-50%,calc(-100% - 10px));min-width:150px;max-width:min(240px,70%);background:#e9eef6;color:#101826;
  border-radius:12px;padding:7px 11px;font-size:12.5px;line-height:1.35;box-shadow:0 8px 22px rgba(0,0,0,.45);pointer-events:none;white-space:normal}
.hq-bub b{font-weight:700;margin-right:4px}
.hq-bub::after{content:"";position:absolute;left:50%;bottom:-7px;margin-left:-7px;border:7px solid transparent;border-bottom:0;border-top-color:#e9eef6}
.hq-bub.in{animation:hqin .35s ease}
@keyframes hqin{from{opacity:0;transform:translate(-50%,calc(-100% - 2px)) scale(.94)}to{opacity:1}}
@media (max-width:620px){.hq{height:72vh;min-height:460px}.hq-hint{font-size:10px;right:12px}}
@media (prefers-reduced-motion:reduce){.hq-bub.in{animation:none}}

.pill.head{background:rgba(242,193,78,.15);color:#f2c14e;border:1px solid rgba(242,193,78,.4)}
.agent .tm{display:block;font:10.5px var(--mono);color:var(--ink-3);letter-spacing:.04em}
.chainline{font:11px var(--mono);color:var(--ink-3);margin-top:6px}.chainline .ok{color:#3fb87f}.chainline .now{color:#ffc466}

/* ===================== Shelly HQ v2 ===================== */
.hqx{position:relative;width:min(1640px,calc(100vw - 24px));margin-left:calc(50% - min(820px,50vw - 12px));border:1px solid var(--etch);border-radius:12px;
  background:radial-gradient(ellipse at 50% 30%,#121a2c 0%,#080c14 70%);overflow:hidden;display:flex;flex-direction:column}
.hqx:fullscreen,.hqx.max{width:100vw;height:100vh;margin:0;border-radius:0;position:fixed;inset:0;z-index:60}
.hqx-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px;border-bottom:1px solid var(--etch);background:rgba(10,15,24,.85)}
.hqx-title{font:700 15px Georgia,serif;letter-spacing:.06em;color:var(--ink)}.hqx-title sup{font:600 9px var(--mono);color:var(--ink-3)}
.hqx-org{font:600 11px Georgia,serif;color:var(--ink-2)}
.hqx-biz select{font:600 11px var(--mono);color:var(--ink);background:var(--panel);border:1px solid var(--etch);border-radius:99px;padding:6px 10px}
.hqx-conn{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.hqx-conn .lbl{font:600 9.5px var(--mono);letter-spacing:.12em;color:#3fb87f;text-transform:uppercase;margin-right:4px}
.hqx-conn .src{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:#e9eef6;color:#1b2433;font-size:11px;font-weight:700}
.hqx-sp{flex:1}
.hqx-top button{font:600 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--panel);border:1px solid var(--etch);border-radius:99px;padding:7px 11px;cursor:pointer}
.hqx-top button:hover{border-color:var(--accent)}
.hqx-ap{border-color:#b8862b!important;color:#ffc466!important}
.hqx-clock{font:600 13px Georgia,serif;color:var(--ink);min-width:86px;text-align:right}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hqx-body{display:grid;grid-template-columns:300px minmax(0,1fr) 340px;height:min(80vh,780px);min-height:600px}
.hqx-left,.hqx-right{overflow:auto;padding:10px;display:flex;flex-direction:column;gap:10px;background:rgba(9,13,21,.6)}
.hqx-left{border-right:1px solid var(--etch)}.hqx-right{border-left:1px solid var(--etch)}
.hqx-stage{position:relative;min-width:0}
.hqx .hq{height:100%;min-height:0;border:0;border-radius:0;background:transparent}
.hq.flat::after{content:"3D campus needs WebGL. Everything else (departments, heads, tasks, approvals, calendar, funds) works in the panels.";position:absolute;inset:40% 12% auto;text-align:center;color:var(--ink-3);font-size:13px}
.hq-over{position:absolute;left:12px;top:12px;z-index:3;font:600 11px var(--mono);color:var(--ink);background:rgba(15,22,34,.9);border:1px solid var(--etch);border-radius:99px;padding:7px 12px;cursor:pointer}
.hq-ov{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hq-card[hidden],.hq-brainl[hidden],.hq-dl[hidden]{display:none!important}
.hq-card{position:absolute;left:0;top:0;pointer-events:auto;min-width:140px;max-width:200px;text-align:left;cursor:pointer;display:grid;gap:3px;
  background:rgba(16,22,36,.92);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:8px 10px;color:var(--ink-2);box-shadow:0 8px 24px rgba(0,0,0,.45);font:10px var(--mono)}
.hq-card:hover,.hq-card.sel{border-color:var(--c);box-shadow:0 0 0 1px var(--c),0 0 22px color-mix(in srgb,var(--c) 35%,transparent)}
.hq-card .h{font:700 10px var(--mono);letter-spacing:.1em;color:var(--ink);display:flex;align-items:center;gap:6px}
.hq-card i{width:7px;height:7px;border-radius:50%;background:var(--c);display:inline-block}
.hq-card .n{font:600 22px Georgia,serif;color:var(--ink);line-height:1}.hq-card .n small{font:700 8px var(--mono);letter-spacing:.14em;margin-left:5px;color:var(--ink-3)}
.hq-card .k{display:flex;justify-content:space-between;gap:8px;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}.hq-card .k b{color:var(--ink);white-space:nowrap}
.hq-card .dnd{font-size:9px;letter-spacing:.06em;color:var(--ink-3);border-top:1px solid var(--etch);padding-top:4px}.hq-card .dnd b{color:var(--ink);margin-right:5px}
.hq-card .w{color:#ffc466;border:1px solid #b8862b;border-radius:99px;padding:2px 7px;font-weight:700;font-size:9px;justify-self:start}
.hq-card.compact{min-width:0;display:flex;align-items:center;gap:5px;padding:4px 8px;font-weight:700;font-size:9.5px;color:var(--ink);border-radius:99px}
.hq-card.compact .w{padding:0 5px}
.hq-brainl{position:absolute;left:0;top:0;font:700 9.5px var(--mono);letter-spacing:.08em;color:#bfe9ff;background:rgba(10,16,28,.85);border:1px solid #2a4a66;border-radius:99px;padding:4px 10px;white-space:nowrap}
.hq-brainl b{color:#fff}
.hq-dl{position:absolute;left:0;top:0;pointer-events:auto;cursor:pointer;font:700 9px var(--mono);letter-spacing:.06em;color:#101826;background:#e9eef6;border:0;border-radius:6px;padding:3px 7px;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.hq-dl b{color:#c2410c}
/* panels */
.pnl{border:1px solid var(--etch);background:rgba(15,22,34,.85);border-radius:10px;padding:10px 12px}
.pnl-k{font:700 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:6px}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}
.pnl .big{font:600 30px Georgia,serif;color:var(--ink);margin:4px 0 6px}.pnl .big small{font:700 9px var(--mono);letter-spacing:.14em;color:var(--ink-3)}
.kv{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;padding:3px 0;border-bottom:1px dashed var(--etch)}.kv b{color:var(--ink)}.kv b.warn{color:#ffc466}
.dnd{display:flex;gap:12px;font:600 10px var(--mono);color:var(--ink-3);margin-top:8px;letter-spacing:.08em;text-transform:uppercase}.dnd b{color:var(--ink);font-size:13px}
.wpill{margin-top:8px;display:inline-block;color:#ffc466;border:1px solid #b8862b;border-radius:99px;padding:3px 9px;font:700 10px var(--mono)}
.dep-row,.ag-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;cursor:pointer;background:rgba(15,22,34,.85);border:1px solid var(--etch);border-radius:8px;padding:8px 10px;color:var(--ink-2)}
.dep-row:hover{border-color:var(--c)}.ag-row:hover{border-color:var(--accent)}
.dep-row i,.ag-row i{width:10px;height:10px;border-radius:50%;flex:none}
.dep-row span,.ag-row span{flex:1;min-width:0}.dep-row b,.ag-row b{display:block;color:var(--ink);font-size:13px}.dep-row small,.ag-row small{display:block;font:10.5px var(--mono);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dep-row em{font:600 12px var(--mono);color:var(--ink-3);font-style:normal}.dep-row .w,.ag-row .w{font:700 10px var(--mono);color:#ffc466;font-style:normal}
.ag-row{border:0;border-bottom:1px solid var(--etch);border-radius:0;background:none;padding:7px 2px}
.pnl-note{font-size:11.5px;color:var(--ink-3);margin:6px 2px 0}
.head-card{border-color:color-mix(in srgb,var(--c) 45%,var(--etch))}
.hc-t{font:700 19px Georgia,serif;color:var(--ink)}.hc-s{font:10.5px var(--mono);color:var(--ink-3);margin-top:2px}.hc-m{font-size:12.5px;margin:8px 0}
.chat{max-height:220px;overflow:auto;display:flex;flex-direction:column;gap:6px;margin:6px 0}
.msg{font-size:12.5px;line-height:1.45;padding:8px 10px;border-radius:10px;max-width:92%}
.msg.head{background:#141e2c;border:1px solid var(--etch);color:var(--ink-2);align-self:flex-start}
.msg.me{background:color-mix(in srgb,var(--c) 22%,#141e2c);color:var(--ink);align-self:flex-end}
.chips{display:flex;flex-wrap:wrap;gap:5px}.chips button{font:600 10.5px var(--mono);border:1px solid var(--etch);background:#0f1622;color:var(--ink);border-radius:99px;padding:5px 9px;cursor:pointer}
.chips button:hover{border-color:var(--c,#63b6d8)}
.ask-head{display:flex;gap:6px;margin-top:8px}.ask-head input{flex:1;min-width:0;font:inherit;font-size:12.5px;color:var(--ink);background:#0b111b;border:1px solid var(--etch);border-radius:99px;padding:8px 12px}
.ask-head button,.compose .add{font:700 10.5px var(--mono);text-transform:uppercase;background:#e9eef6;color:#101826;border:0;border-radius:99px;padding:0 14px;cursor:pointer}
.ap-mini{border-top:1px solid var(--etch);padding:8px 0}.ap-mini b{display:block;color:var(--ink);font-size:12.5px;line-height:1.35}.ap-mini small{display:block;font:10.5px var(--mono);color:var(--ink-3);margin:2px 0}
.steps{font:10.5px var(--mono);color:var(--ink-3);display:flex;flex-wrap:wrap;gap:3px}.steps i{font-style:normal;color:#4a5a70}.steps .ok{color:#3fb87f}.steps .now{color:#ffc466}
.r{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}
.r button{font:600 10.5px var(--mono);border:1px solid var(--etch);background:#0f1622;color:var(--ink);border-radius:6px;padding:5px 9px;cursor:pointer}
.r .yes{border-color:rgba(63,184,127,.5);color:#3fb87f}.r .no{border-color:rgba(255,123,114,.5);color:#ff7b72}
.r .st{font:700 11px var(--mono)}.r .st.y{color:#3fb87f}.r .st.n{color:#ff7b72}
.compose{display:grid;gap:7px}.compose .row{display:flex;gap:6px;flex-wrap:wrap}
.compose select,.compose input{font:inherit;font-size:12px;color:var(--ink);background:#0b111b;border:1px solid var(--etch);border-radius:8px;padding:7px 9px;min-width:0}
.compose .row select{flex:1}.compose #hqNewDep{width:100%}
.compose .amt{display:flex;align-items:center;gap:3px;flex:1;min-width:80px}.compose .amt span{color:var(--ink-3)}.compose .amt input{width:100%}
.compose .hint{margin:0;font-size:11px;color:var(--ink-3)}
.ts{flex:1;display:flex;flex-direction:column;min-height:0}
.ts-h{display:flex;justify-content:space-between;align-items:baseline}.ts-h b{font:700 15px Georgia,serif;color:var(--ink)}.ts-h span{font:600 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.ts-f{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.ts-f button{font:600 10px var(--mono);border:1px solid var(--etch);background:#0f1622;color:var(--ink-2);border-radius:99px;padding:4px 8px;cursor:pointer}
.ts-f button[aria-pressed="true"]{background:#e9eef6;color:#101826}.ts-f .waiting{border-color:#b8862b;color:#ffc466}
.ts-next{font:600 10px var(--mono);color:var(--ink-3);letter-spacing:.04em;margin-bottom:6px}
.ts-list{display:flex;flex-direction:column;gap:6px;overflow:auto}
@media (max-width:1180px){.ts-list{max-height:60vh}}
.tcard{border:1px solid var(--etch);border-radius:8px;padding:8px 10px;background:#0f1622}
.tcard.waiting{border-color:#6b5420;background:#1a1610}
.tcard b{display:block;color:var(--ink);font-size:12.5px;line-height:1.35;margin-top:3px}.tcard small{display:block;font:10.5px var(--mono);color:var(--ink-3);margin-top:3px}
.tcard .st{font:700 9px var(--mono);letter-spacing:.1em;text-transform:uppercase;border-radius:99px;padding:2px 7px;border:1px solid var(--etch)}
.st.doing{color:#63b6d8;border-color:#2f5a72}.st.next{color:#b0bac8}.st.backlog{color:#7d8a9c}.st.waiting{color:#ffc466;border-color:#b8862b}.st.done{color:#3fb87f;border-color:#2c6b4c}
.empty{color:var(--ink-3);font-size:12.5px}
/* sheets */
.hqx-sheet{position:absolute;left:12px;right:12px;top:58px;bottom:12px;z-index:8;background:rgba(10,15,24,.97);border:1px solid var(--etch);border-radius:12px;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.hqx-sheet[hidden]{display:none}
.sh-h{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--etch)}
.sh-h b{font:700 18px Georgia,serif;color:var(--ink)}.sh-h small{font:600 11px var(--mono);color:var(--ink-3);margin-left:8px;letter-spacing:.08em;text-transform:uppercase}
.sh-x{font-size:20px;background:none;border:0;color:var(--ink-3);cursor:pointer}
.sh-b{overflow:auto;padding:12px 14px}.sh-p{font-size:13px;color:var(--ink-2);max-width:90ch}
.cal-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:10px}
.cal-top button{font:600 10.5px var(--mono);border:1px solid var(--etch);background:#0f1622;color:var(--ink);border-radius:99px;padding:5px 10px;cursor:pointer}
.cal-deps{display:flex;flex-wrap:wrap;gap:4px;margin-left:8px}.cal-deps button{color:var(--c)}.cal-deps button[aria-pressed="false"]{opacity:.4}
.cal{display:grid;grid-template-columns:240px 1fr;gap:12px}
.routines{display:flex;flex-direction:column;gap:6px;max-height:70vh;overflow:auto}
.rt{border:1px solid var(--etch);border-left:3px solid var(--c);border-radius:6px;padding:6px 8px;background:#0f1622}.rt b{display:block;color:var(--ink);font-size:12px}.rt small{font:10px var(--mono);color:var(--ink-3)}
.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.dh{font:700 10px var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em;padding:2px 4px}
.cd{min-height:96px;border:1px solid var(--etch);border-radius:6px;padding:4px;background:#0c121d;display:flex;flex-direction:column;gap:3px;position:relative}
.cd.out{background:transparent;border-style:dashed;opacity:.4}.cd.today{border-color:#e9eef6;box-shadow:0 0 0 1px #e9eef6 inset}
.cd .dn{font:700 10px var(--mono);color:var(--ink-3);align-self:flex-end}
.ev{font-size:10px;line-height:1.25;color:var(--ink);background:color-mix(in srgb,var(--c) 30%,#141e2c);border-left:2px solid var(--c);border-radius:3px;padding:2px 4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ev.done{opacity:.6}.ev.task{border-left-style:dashed}.cd .more{font:600 9.5px var(--mono);color:var(--ink-3)}
.fund-tot{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.fund-tot div{border:1px solid var(--etch);border-radius:8px;padding:8px 10px;background:#0f1622}
.fund-tot span{display:block;font:600 9.5px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}.fund-tot b{font:600 20px Georgia,serif;color:var(--ink)}
table.fund{width:100%;border-collapse:collapse;font-size:12.5px}.fund th{text-align:left;font:600 9.5px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);padding:6px;border-bottom:1px solid var(--etch)}
.fund td{padding:7px 6px;border-bottom:1px solid var(--etch);color:var(--ink-2);white-space:nowrap}.fund td.neg{color:#ff7b72}
.fund td.bar{width:22%;position:relative}.fund td.bar span{display:block;height:8px;border-radius:99px}.fund td.bar em{position:absolute;right:6px;top:4px;font:600 10px var(--mono);font-style:normal;color:var(--ink-3)}
.opps{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin:10px 0}
.opp{border:1px solid var(--etch);border-radius:10px;padding:12px;background:#0f1622}.opp-h b{display:block;font:700 16px Georgia,serif;color:var(--ink)}.opp-h span{font:600 10px var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}
.opp p{font-size:12.5px;margin:8px 0}.opp-k{display:flex;gap:14px;font:600 10.5px var(--mono);color:var(--ink-3)}.opp-k b{color:var(--ink)}
.stages{display:flex;flex-wrap:wrap;gap:3px;margin-top:8px}.stages span{font:600 9px var(--mono);padding:2px 6px;border-radius:99px;border:1px solid var(--etch);color:var(--ink-3)}
.stages .ok{color:#3fb87f;border-color:#2c6b4c}.stages .now{color:#ffc466;border-color:#b8862b}.stages .no{color:#ff7b72;border-color:#ff7b72}
.score{height:6px;background:#1a2232;border-radius:99px;margin-top:8px;overflow:hidden}.score span{display:block;height:100%;background:linear-gradient(90deg,#b69cf2,#7fd1a8)}
.opp-new{display:grid;gap:7px;max-width:640px}.opp-new input{font:inherit;font-size:12.5px;color:var(--ink);background:#0b111b;border:1px solid var(--etch);border-radius:8px;padding:8px 10px;min-width:0}
.opp-new .row{display:flex;gap:6px}.opp-new .row input{flex:1}.opp-new .add{font:700 11px var(--mono);background:#e9eef6;color:#101826;border:0;border-radius:99px;padding:9px 14px;cursor:pointer;justify-self:start}
@media (max-width:1180px){.hqx-body{grid-template-columns:270px minmax(0,1fr);height:auto}.hqx-right{grid-column:1/-1;border-left:0;border-top:1px solid var(--etch);max-height:none}
  .hqx-stage{height:min(72vh,700px)}.hqx-left{max-height:min(72vh,700px)}}
@media (max-width:760px){.hqx{width:calc(100vw - 16px);margin-left:calc(50% - 50vw + 8px)}.hqx-body{display:flex;flex-direction:column;min-height:0}
  .hqx-stage{order:1;height:56vh;min-height:380px}.hqx-left{order:2;border-right:0;border-top:1px solid var(--etch);max-height:none}.hqx-right{order:3}
  .hqx-conn{display:none}.hqx-clock{display:none}.hqx-top button{padding:6px 9px}
  .cal{grid-template-columns:1fr}.routines{max-height:180px}.cd{min-height:60px}.ev{font-size:9px}
  .fund-tot{grid-template-columns:repeat(2,1fr)}table.fund{font-size:11.5px}.fund th:nth-child(2),.fund td:nth-child(2),.fund th:nth-child(4),.fund td:nth-child(4){display:none}
  .hqx-sheet{left:6px;right:6px;top:52px;bottom:6px}}
