:root{--bg:#0a0b0e;--bg-2:#0c0e12;--panel:#111318;--raised:#161a21;--line:#232833;--line-soft:#191d25;--ink:#edeff3;--ink-2:#9ea5b2;--ink-3:#646b78;--accent:#4fd6e0;--accent-2:#7fe3ea;--accent-ink:#06272a;--accent-soft:#4fd6e01c;--accent-line:#4fd6e04d;--good:#57d48a;--good-soft:#57d48a1f;--warn:#f0b84a;--warn-soft:#f0b84a21;--crit:#f0726e;--crit-soft:#f0726e21;--await:#b79bf7;--await-soft:#b79bf721;--info:#6ba8f5;--shadow:0 1px 2px #0006,0 8px 30px #00000047;--shadow-lg:0 24px 70px #0000008c;--rail-w:255px;--mono:ui-monospace,"SF Mono","Geist Mono",Menlo,Monaco,monospace;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--r:11px}@media (prefers-color-scheme:light){:root{--bg:#f5f6f8;--bg-2:#fff;--panel:#fff;--raised:#fff;--line:#e4e7ec;--line-soft:#edeff2;--ink:#13161c;--ink-2:#565d6b;--ink-3:#868d9a;--accent:#0b96a2;--accent-2:#0b96a2;--accent-ink:#fff;--accent-soft:#0b96a217;--accent-line:#0b96a247;--good:#1e9d56;--good-soft:#1e9d561a;--warn:#b4791c;--warn-soft:#b4791c1c;--crit:#d6443f;--crit-soft:#d6443f1a;--await:#7a57d4;--await-soft:#7a57d41a;--info:#2f6fdb;--shadow:0 1px 2px #1018280f,0 8px 24px #10182814;--shadow-lg:0 24px 60px #1018282e}}:root[data-theme=dark]{--bg:#0a0b0e;--bg-2:#0c0e12;--panel:#111318;--raised:#161a21;--line:#232833;--line-soft:#191d25;--ink:#edeff3;--ink-2:#9ea5b2;--ink-3:#646b78;--accent:#4fd6e0;--accent-2:#7fe3ea;--accent-ink:#06272a;--accent-soft:#4fd6e01c;--accent-line:#4fd6e04d;--good:#57d48a;--good-soft:#57d48a1f;--warn:#f0b84a;--warn-soft:#f0b84a21;--crit:#f0726e;--crit-soft:#f0726e21;--await:#b79bf7;--await-soft:#b79bf721;--info:#6ba8f5;--shadow:0 1px 2px #0006,0 8px 30px #00000047;--shadow-lg:0 24px 70px #0000008c}:root[data-theme=light]{--bg:#f5f6f8;--bg-2:#fff;--panel:#fff;--raised:#fff;--line:#e4e7ec;--line-soft:#edeff2;--ink:#13161c;--ink-2:#565d6b;--ink-3:#868d9a;--accent:#0b96a2;--accent-2:#0b96a2;--accent-ink:#fff;--accent-soft:#0b96a217;--accent-line:#0b96a247;--good:#1e9d56;--good-soft:#1e9d561a;--warn:#b4791c;--warn-soft:#b4791c1c;--crit:#d6443f;--crit-soft:#d6443f1a;--await:#7a57d4;--await-soft:#7a57d41a;--info:#2f6fdb;--shadow:0 1px 2px #1018280f,0 8px 24px #10182814;--shadow-lg:0 24px 60px #1018282e}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;font-size:14px;line-height:1.5}::selection{background:var(--accent-soft)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.mono{font-family:var(--mono)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border:2px solid var(--bg);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}.app{grid-template-columns:var(--rail-w)1fr;min-height:100vh;display:grid}.rail{background:var(--bg-2);border-right:1px solid var(--line-soft);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.brand{align-items:center;gap:10px;padding:17px 18px 14px;display:flex}.brand .logo{background:linear-gradient(150deg,var(--accent),var(--accent)40%,transparent);width:26px;height:26px;box-shadow:inset 0 0 0 1px var(--accent-line),0 0 22px var(--accent-soft);border-radius:7px;flex:none;position:relative}.brand .logo:after{content:"";background:var(--bg-2);border-radius:3px;position:absolute;inset:7px}.brand .logo:before{content:"";background:var(--accent);z-index:2;border-radius:2px;width:2px;position:absolute;top:6px;bottom:6px;left:11px}.brand h1{letter-spacing:.2px;margin:0;font-size:13.5px;font-weight:640;line-height:1.15}.brand .sub{color:var(--ink-3);letter-spacing:.5px;text-transform:uppercase;font-size:10.5px;font-weight:560}.search-btn{background:var(--panel);border:1px solid var(--line);width:calc(100% - 24px);color:var(--ink-3);text-align:left;border-radius:9px;align-items:center;gap:9px;margin:2px 12px 12px;padding:8px 11px;font-size:12.5px;transition:all .14s;display:flex}.search-btn:hover{border-color:var(--ink-3);color:var(--ink-2)}.search-btn kbd{font-family:var(--mono);background:var(--raised);border:1px solid var(--line);color:var(--ink-3);border-radius:5px;margin-left:auto;padding:1px 5px;font-size:10.5px}.search-btn svg{flex:none}.nav{flex:1;padding:2px 10px 16px;overflow-y:auto}.nav-label{letter-spacing:.7px;text-transform:uppercase;color:var(--ink-3);padding:11px 10px 5px;font-size:10px;font-weight:600}.nav-item{color:var(--ink-2);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;width:100%;padding:7px 10px;font-size:13px;font-weight:480;transition:all .12s;display:flex;position:relative}.nav-item:hover{background:var(--panel);color:var(--ink)}.nav-item.active{background:var(--accent-soft);color:var(--ink);font-weight:560}.nav-item.active:before{content:"";background:var(--accent);border-radius:3px;width:2.5px;position:absolute;top:8px;bottom:8px;left:-10px}.nav-item .ico{width:16px;color:var(--ink-3);flex:none;display:flex}.nav-item.active .ico{color:var(--accent)}.nav-item .count{font-size:11px;font-family:var(--mono);color:var(--ink-3);background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:20px;min-width:20px;margin-left:auto;padding:0 6px}.nav-item.active .count{color:var(--accent)}.nav-item .count.alert{background:var(--crit-soft);color:var(--crit);border-color:#0000}.nav-proj{color:var(--ink-2);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;width:100%;padding:6.5px 10px;font-size:12.5px;font-weight:460;transition:all .12s;display:flex}.nav-proj:hover{background:var(--panel);color:var(--ink)}.nav-proj.active{background:var(--panel);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);font-weight:560}.nav-proj .dot{border-radius:50%;flex:none;width:7px;height:7px}.nav-proj .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-proj .flag{letter-spacing:.4px;color:var(--ink-3);text-transform:uppercase;margin-left:auto;font-size:9px;font-weight:700}.owner{border-top:1px solid var(--line-soft);align-items:center;gap:10px;padding:11px 14px;display:flex}.owner .av{background:linear-gradient(140deg,var(--accent),#2c8f96);width:29px;height:29px;color:var(--accent-ink);border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.owner .nm{font-size:12.5px;font-weight:580;line-height:1.2}.owner .rl{color:var(--ink-3);font-size:10.5px}.owner .tog{background:var(--panel);border:1px solid var(--line);color:var(--ink-2);border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;margin-left:auto;display:flex}.owner .tog:hover{color:var(--ink);border-color:var(--ink-3)}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;background:color-mix(in srgb,var(--bg)82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);align-items:center;gap:14px;height:54px;padding:0 26px;display:flex;position:sticky;top:0}.crumb{color:var(--ink-3);align-items:center;gap:7px;font-size:12.5px;display:flex}.crumb b{color:var(--ink);font-weight:580}.crumb .sep{color:var(--ink-3);opacity:.6}.top-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.bell{background:var(--panel);border:1px solid var(--line);width:34px;height:34px;color:var(--ink-2);border-radius:9px;justify-content:center;align-items:center;display:flex;position:relative}.bell:hover{color:var(--ink);border-color:var(--ink-3)}.bell .bdg{background:var(--crit);color:#fff;border:2px solid var(--bg);border-radius:20px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 3px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-5px;right:-5px}.content{width:100%;max-width:1320px;margin:0 auto;padding:26px 30px 70px;animation:.28s fade}@keyframes fade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.page-h{margin:2px 0 20px}.page-h .eyebrow{letter-spacing:.8px;text-transform:uppercase;color:var(--accent);margin-bottom:7px;font-size:11px;font-weight:640}.page-h h2{letter-spacing:-.4px;text-wrap:balance;margin:0 0 5px;font-size:25px;font-weight:680}.page-h p{color:var(--ink-2);max-width:70ch;margin:0;font-size:13.5px}.kpis{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:22px;display:grid}.kpi{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r);padding:14px 15px;position:relative;overflow:hidden}.kpi .k-top{color:var(--ink-3);letter-spacing:.3px;text-transform:uppercase;align-items:center;gap:7px;font-size:11px;font-weight:560;display:flex}.kpi .k-num{letter-spacing:-.5px;align-items:baseline;gap:6px;margin-top:7px;font-size:27px;font-weight:680;line-height:1;display:flex}.kpi .k-num small{color:var(--ink-3);letter-spacing:0;font-size:12px;font-weight:500}.kpi .k-bar{gap:3px;height:5px;margin-top:11px;display:flex}.kpi .k-bar span{background:var(--line);border-radius:3px;flex:1}.kpi.hot{border-color:var(--crit-soft)}.kpi.hot .k-num{color:var(--crit)}.section-t{align-items:center;gap:10px;margin:26px 0 13px;display:flex}.section-t h3{letter-spacing:-.1px;margin:0;font-size:14px;font-weight:620}.section-t .hint{color:var(--ink-3);font-size:12px}.section-t .line{background:var(--line-soft);flex:1;height:1px}.grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;display:grid}.card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r);cursor:pointer;flex-direction:column;min-height:172px;padding:16px 17px 15px;transition:all .15s;display:flex;position:relative}.card:hover{border-color:var(--line);box-shadow:var(--shadow);transform:translateY(-2px)}.card .c-head{align-items:flex-start;gap:11px;margin-bottom:9px;display:flex}.card .c-name{letter-spacing:-.2px;flex:1;font-size:15px;font-weight:640;line-height:1.25}.card .c-arch{color:var(--ink-3);letter-spacing:.3px;text-transform:uppercase;margin-top:2px;font-size:10.5px;font-weight:520}.card .c-line{color:var(--ink-2);flex:1;margin:0 0 12px;font-size:12.5px;line-height:1.45}.card .c-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;display:flex}.card .heading{color:var(--ink-2);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:7px;align-items:center;gap:7px;width:100%;margin:0 0 10px;padding:5px 9px;font-size:11.5px;display:flex}.card .heading svg{color:var(--accent);flex:none}.card .heading b{color:var(--ink);font-weight:560}.hpill{letter-spacing:.2px;white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:3px 9px 3px 8px;font-size:11px;font-weight:580;display:inline-flex}.hpill .d{border-radius:50%;width:6px;height:6px}.pin{color:var(--ink-3);align-items:center;gap:5px;font-size:10.5px;font-weight:560;display:inline-flex}.chip-owner{color:var(--await);background:var(--await-soft);border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;font-weight:640;display:inline-flex}.chip-owner .d{background:var(--await);width:5px;height:5px;box-shadow:0 0 0 0 var(--await);border-radius:50%;animation:2.4s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--await-soft)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.att{grid-template-columns:1fr;gap:9px;display:grid}.att-item{background:var(--panel);border:1px solid var(--line-soft);cursor:pointer;border-radius:10px;align-items:center;gap:13px;padding:12px 14px;transition:all .13s;display:flex}.att-item:hover{border-color:var(--line);box-shadow:var(--shadow)}.att-item .lead{border-radius:9px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.att-item .body{flex:1;min-width:0}.att-item .t{font-size:13px;font-weight:560;line-height:1.35}.att-item .m{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;font-size:11.5px;display:flex}.att-item .rung{flex:none;margin-left:auto}.tag{letter-spacing:.4px;text-transform:uppercase;border-radius:6px;padding:2.5px 7px;font-size:10px;font-weight:640}.tag.gated{background:var(--warn-soft);color:var(--warn)}.tag.fork{background:var(--await-soft);color:var(--await)}.tag.blocked{background:var(--crit-soft);color:var(--crit)}.tag.green{background:var(--good-soft);color:var(--good)}.pdetail{grid-template-columns:1fr 316px;align-items:start;gap:22px;display:grid}@media (max-width:1080px){.pdetail{grid-template-columns:1fr}}.phead{align-items:flex-start;gap:15px;margin-bottom:5px;display:flex}.phead .big{letter-spacing:-.5px;border-radius:12px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;font-size:18px;font-weight:700;display:flex}.phead h2{letter-spacing:-.5px;margin:0 0 6px;font-size:23px;font-weight:700}.phead .meta{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.direction-box{background:linear-gradient(180deg,var(--accent-soft),transparent);border:1px solid var(--accent-line);border-radius:var(--r);margin:20px 0;padding:15px 17px}.direction-box .lbl{letter-spacing:.7px;text-transform:uppercase;color:var(--accent);align-items:center;gap:7px;margin-bottom:8px;font-size:10.5px;font-weight:680;display:flex}.direction-box p{color:var(--ink);margin:0;font-size:14px;line-height:1.5}.block{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r);margin-bottom:14px;overflow:hidden}.block>.bh{border-bottom:1px solid var(--line-soft);align-items:center;gap:9px;padding:13px 16px 12px;display:flex}.block>.bh h4{letter-spacing:.1px;margin:0;font-size:12.5px;font-weight:620}.block>.bh .ct{color:var(--ink-3);font-size:11px;font-family:var(--mono);margin-left:auto}.block>.bh svg{color:var(--ink-3)}.blist{padding:5px 0}.decision{cursor:pointer;border-left:2px solid #0000;align-items:flex-start;gap:12px;padding:11px 16px;transition:all .12s;display:flex}.decision:hover{background:var(--raised);border-left-color:var(--accent)}.decision .dn{font-family:var(--mono);color:var(--ink-3);min-width:20px;margin-top:2px;font-size:11px}.decision .dbody{flex:1;min-width:0}.decision .dt{font-size:13px;font-weight:560;line-height:1.35}.decision .ds{color:var(--ink-2);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:3px;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.decision .dmeta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:9px;margin-top:5px;font-size:11px;display:flex}.decision .arrow{color:var(--ink-3);opacity:0;margin-top:3px;transition:all .12s}.decision:hover .arrow{opacity:1;color:var(--accent)}.li{color:var(--ink-2);align-items:flex-start;gap:10px;padding:8px 16px;font-size:12.5px;line-height:1.45;display:flex}.li .mk{background:var(--ink-3);border-radius:50%;flex:none;width:5px;height:5px;margin-top:6px}.li.risk .mk{background:var(--crit)}.li.need .mk{background:var(--accent)}.li.owner{cursor:pointer;color:var(--ink);transition:all .12s}.li.owner:hover{background:var(--raised)}.li.owner .mk{background:var(--await);margin-top:6px}.li.owner .go{color:var(--await);opacity:0;text-transform:uppercase;letter-spacing:.4px;margin-left:auto;font-size:10.5px;font-weight:640}.li.owner:hover .go{opacity:1}.side .block{background:var(--panel)}.who{flex-direction:column;display:flex}.who-item{gap:11px;padding:10px 16px;display:flex;position:relative}.who-item:not(:last-child):before{content:"";background:var(--line);width:1.5px;position:absolute;top:28px;bottom:-2px;left:22px}.who-item .av{z-index:1;background:var(--raised);border:2px solid var(--accent);border-radius:50%;flex:none;width:13px;height:13px;margin-top:2px}.who-item .w-who{font-size:12.5px;font-weight:560}.who-item .w-what{color:var(--ink-2);margin-top:1px;font-size:11.5px;line-height:1.4}.who-item .w-date{color:var(--ink-3);font-size:10.5px;font-family:var(--mono);margin-top:3px}.facts{padding:6px 0}.fact{justify-content:space-between;gap:12px;padding:7px 16px;font-size:12px;display:flex}.fact .fk{color:var(--ink-3)}.fact .fv{text-align:right;font-weight:560}.fact .fv.mono{font-family:var(--mono);font-size:11.5px}.kw{flex-wrap:wrap;gap:6px;padding:13px 16px;display:flex}.kw span{color:var(--ink-2);background:var(--raised);border:1px solid var(--line-soft);cursor:pointer;border-radius:6px;padding:3px 8px;font-size:11px;transition:all .12s}.kw span:hover{border-color:var(--accent-line);color:var(--ink)}.appr-intro{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r);align-items:flex-start;gap:15px;margin-bottom:18px;padding:16px 18px;display:flex}.appr-intro .ic{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.appr-intro h4{margin:0 0 4px;font-size:13.5px;font-weight:620}.appr-intro p{color:var(--ink-2);max-width:88ch;margin:0;font-size:12.5px;line-height:1.5}.flow{flex-wrap:wrap;align-items:center;gap:8px;margin-top:11px;display:flex}.flow .step{color:var(--ink-2);background:var(--raised);border:1px solid var(--line-soft);border-radius:20px;align-items:center;gap:7px;padding:4px 11px 4px 8px;font-size:11px;display:flex}.flow .step b{color:var(--ink);font-weight:580}.flow .step .n{background:var(--accent-soft);width:16px;height:16px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.flow .ar{color:var(--ink-3)}.appr-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r);margin-bottom:12px;transition:all .2s;overflow:hidden}.appr-card.done{border-color:var(--good-soft);background:linear-gradient(90deg,var(--good-soft),transparent 60%)}.appr-top{align-items:center;gap:13px;padding:15px 17px;display:flex}.appr-top .pj{border-radius:9px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.appr-top .info{flex:1;min-width:0}.appr-top .info .h{font-size:13.5px;font-weight:600;line-height:1.35}.appr-top .info .s{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:11.5px;display:flex}.appr-body{grid-template-columns:1fr;gap:12px;padding:0 17px 15px;display:grid}.appr-body .why{color:var(--ink-2);font-size:12.5px;line-height:1.5}.cmd{font-family:var(--mono);background:var(--bg-2);border:1px solid var(--line);color:var(--ink);white-space:pre;border-radius:8px;align-items:center;gap:8px;padding:9px 12px;font-size:12px;display:flex;overflow-x:auto}.cmd .pr{color:var(--ink-3)}.appr-act{flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;display:flex}.btn{border:1px solid var(--line);background:var(--raised);color:var(--ink);border-radius:9px;align-items:center;gap:7px;padding:8px 15px;font-size:12.5px;font-weight:580;transition:all .13s;display:inline-flex}.btn:hover{border-color:var(--ink-3)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn.primary:hover{background:var(--accent-2);box-shadow:0 4px 16px var(--accent-soft)}.btn.ghost{background:0 0}.btn.danger{color:var(--crit)}.btn.danger:hover{background:var(--crit-soft);border-color:var(--crit-soft)}.btn svg{flex:none}.grant{border:1px solid var(--good-soft);background:var(--bg-2);border-radius:9px;margin-top:13px;animation:.3s grantin;overflow:hidden}@keyframes grantin{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.grant .gh{border-bottom:1px solid var(--line-soft);color:var(--good);align-items:center;gap:8px;padding:9px 13px;font-size:11.5px;font-weight:580;display:flex}.grant .gh .path{font-family:var(--mono);color:var(--ink-3);margin-left:auto;font-size:10.5px;font-weight:400}.grant pre{font-family:var(--mono);color:var(--ink-2);margin:0;padding:13px;font-size:11.5px;line-height:1.6;overflow-x:auto}.grant pre .k{color:var(--accent)}.grant pre .v{color:var(--good)}.grant pre .b{color:var(--await)}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#0506089e;justify-content:center;align-items:flex-start;padding-top:11vh;animation:.16s fade;display:flex;position:fixed;inset:0}.palette{background:var(--panel);border:1px solid var(--line);width:min(680px,92vw);box-shadow:var(--shadow-lg);border-radius:15px;flex-direction:column;max-height:74vh;animation:.18s cubic-bezier(.2,.8,.3,1) pop;display:flex;overflow:hidden}@keyframes pop{0%{opacity:0;transform:scale(.97)translateY(-6px)}to{opacity:1;transform:none}}.p-in{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:16px 18px;display:flex}.p-in svg{color:var(--ink-3);flex:none}.p-in input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:16px}.p-in input::placeholder{color:var(--ink-3)}.p-in .esc{font-family:var(--mono);color:var(--ink-3);border:1px solid var(--line);border-radius:5px;padding:2px 6px;font-size:10.5px}.p-res{padding:7px;overflow-y:auto}.p-empty{text-align:center;color:var(--ink-3);padding:34px 20px;font-size:13px}.p-grp{letter-spacing:.7px;text-transform:uppercase;color:var(--ink-3);padding:11px 12px 5px;font-size:10px;font-weight:640}.p-item{cursor:pointer;border-radius:9px;align-items:center;gap:12px;padding:9px 12px;display:flex}.p-item.sel,.p-item:hover{background:var(--raised)}.p-item .pic{background:var(--bg-2);border:1px solid var(--line-soft);width:28px;height:28px;color:var(--ink-3);border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.p-item .ptext{flex:1;min-width:0}.p-item .pt{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:520;line-height:1.3;overflow:hidden}.p-item .pt mark{background:var(--accent-soft);color:var(--accent);border-radius:3px;padding:0 1px}.p-item .pm{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.p-item .pk{letter-spacing:.4px;text-transform:uppercase;color:var(--ink-3);background:var(--bg-2);border:1px solid var(--line-soft);border-radius:5px;flex:none;padding:2px 6px;font-size:9.5px;font-weight:640}.p-foot{border-top:1px solid var(--line-soft);color:var(--ink-3);gap:16px;padding:8px 15px;font-size:11px;display:flex}.p-foot kbd{font-family:var(--mono);background:var(--bg-2);border:1px solid var(--line);border-radius:4px;margin-right:4px;padding:1px 5px}.drawer-wrap{z-index:90;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-bg{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#05060880;animation:.18s fade;position:absolute;inset:0}.drawer{background:var(--panel);border-left:1px solid var(--line);width:min(560px,94vw);box-shadow:var(--shadow-lg);height:100%;animation:.26s cubic-bezier(.2,.8,.3,1) slidein;position:relative;overflow-y:auto}@keyframes slidein{0%{opacity:.4;transform:translate(30px)}to{opacity:1;transform:none}}.dr-head{background:color-mix(in srgb,var(--panel)90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-soft);z-index:2;align-items:flex-start;gap:12px;padding:18px 22px 15px;display:flex;position:sticky;top:0}.dr-head .cl{background:var(--raised);border:1px solid var(--line);color:var(--ink-2);border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;margin-left:auto;display:flex}.dr-head .cl:hover{color:var(--ink)}.dr-kick{color:var(--accent);letter-spacing:.4px;text-transform:uppercase;align-items:center;gap:7px;font-size:11px;font-weight:620;display:flex}.dr-head h3{letter-spacing:-.2px;text-wrap:balance;margin:8px 0 0;font-size:17px;font-weight:660;line-height:1.3}.dr-body{padding:20px 22px 40px}.dr-sec{margin-bottom:20px}.dr-sec .lb{letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:7px;margin-bottom:8px;font-size:10.5px;font-weight:640;display:flex}.dr-sec p{color:var(--ink);margin:0;font-size:13.5px;line-height:1.6}.dr-detail{background:var(--bg-2);border:1px solid var(--line-soft);color:var(--ink);border-radius:10px;padding:15px 16px;font-size:13.5px;line-height:1.62}.src{background:var(--bg-2);border:1px solid var(--line-soft);font-family:var(--mono);color:var(--ink-2);border-radius:9px;align-items:center;gap:9px;padding:11px 13px;font-size:11.5px;display:flex}.src svg{color:var(--accent);flex:none}.src .op{color:var(--ink-3);font-size:10px;font-family:var(--sans);margin-left:auto}.dr-meta-row{flex-wrap:wrap;gap:10px;margin-top:3px;display:flex}.composer{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:10px;padding:4px}.composer textarea{width:100%;color:var(--ink);resize:vertical;background:0 0;border:none;outline:none;min-height:82px;padding:12px 13px;font-family:inherit;font-size:13.5px;line-height:1.5}.composer textarea::placeholder{color:var(--ink-3)}.composer .cbar{border-top:1px solid var(--line-soft);align-items:center;gap:9px;padding:8px 10px;display:flex}.composer .cbar .hint{color:var(--ink-3);font-size:11px}.dir-feed{flex-direction:column;gap:9px;display:flex}.dir-msg{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:10px;padding:12px 14px;animation:.25s grantin}.dir-msg .dm-h{color:var(--ink-3);align-items:center;gap:8px;margin-bottom:6px;font-size:11px;display:flex}.dir-msg .dm-h .who{color:var(--await);font-weight:620}.dir-msg .dm-t{color:var(--ink);font-size:13px;line-height:1.5}.toast{z-index:200;background:var(--raised);border:1px solid var(--line);box-shadow:var(--shadow-lg);opacity:0;border-radius:11px;align-items:center;gap:11px;max-width:90vw;padding:12px 17px;font-size:13px;transition:all .32s cubic-bezier(.2,.9,.3,1);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(80px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast .ti{background:var(--good-soft);width:26px;height:26px;color:var(--good);border-radius:7px;flex:none;justify-content:center;align-items:center;display:flex}.toast b{font-weight:600}.toast .sub{color:var(--ink-3);font-size:11.5px}.empty{text-align:center;color:var(--ink-3);padding:50px 20px}.empty svg{opacity:.4;margin-bottom:12px}.two{grid-template-columns:1fr 340px;align-items:start;gap:22px;display:grid}@media (max-width:980px){.two{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.app{grid-template-columns:1fr}.rail{display:none}}.dtl{flex-direction:column;gap:8px;display:flex}.dtl .drow{background:var(--panel);border:1px solid var(--line-soft);cursor:pointer;border-radius:10px;align-items:center;gap:13px;padding:12px 15px;transition:all .12s;display:flex}.dtl .drow:hover{border-color:var(--line);box-shadow:var(--shadow)}.dtl .drow .pj{border-radius:50%;flex:none;width:8px;height:8px}.dtl .drow .dd{flex:1;min-width:0}.dtl .drow .dd .t{font-size:13px;font-weight:560}.dtl .drow .dd .m{color:var(--ink-3);margin-top:3px;font-size:11.5px}.dtl .drow .pjn{color:var(--ink-2);flex:none;font-size:11px;font-weight:560}.dtl .drow .dt2{color:var(--ink-3);font-size:11px;font-family:var(--mono);flex:none}.gate{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.gate-card{background:var(--panel);border:1px solid var(--line-soft);width:min(400px,94vw);box-shadow:var(--shadow);border-radius:16px;padding:30px 30px 26px}.gate-brand{align-items:center;gap:11px;margin-bottom:22px;display:flex}.gate-brand .logo{background:linear-gradient(150deg,var(--accent),var(--accent)40%,transparent);width:32px;height:32px;box-shadow:inset 0 0 0 1px var(--accent-line),0 0 22px var(--accent-soft);border-radius:9px;flex:none;position:relative}.gate-brand .logo:after{content:"";background:var(--panel);border-radius:4px;position:absolute;inset:8px}.gate-brand .logo:before{content:"";background:var(--accent);z-index:2;border-radius:2px;width:2.5px;position:absolute;top:7px;bottom:7px;left:14px}.gate-brand h1{letter-spacing:.2px;margin:0;font-size:15px;font-weight:660}.gate-brand .sub{color:var(--ink-3);letter-spacing:.5px;text-transform:uppercase;font-size:10.5px;font-weight:560}.gate h2{letter-spacing:-.3px;margin:0 0 6px;font-size:19px;font-weight:660}.gate p{color:var(--ink-2);margin:0 0 20px;font-size:13px;line-height:1.5}.gate label{letter-spacing:.4px;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px;font-size:11px;font-weight:600;display:block}.gate input[type=password]{background:var(--bg-2);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:10px;outline:none;padding:11px 13px;font-family:inherit;font-size:15px}.gate input[type=password]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.gate .btn{justify-content:center;width:100%;margin-top:16px;padding:11px 15px;font-size:14px}.gate .err{color:var(--crit);min-height:16px;margin-top:12px;font-size:12.5px}.gate .locked{background:var(--warn-soft);border:1px solid #0000;border-radius:11px;align-items:flex-start;gap:12px;margin-top:4px;padding:14px 15px;display:flex}.gate .locked svg{color:var(--warn);flex:none;margin-top:1px}.gate .locked .lt{color:var(--ink);font-size:13px;font-weight:600}.gate .locked .lm{color:var(--ink-2);margin-top:4px;font-size:12px;line-height:1.5}.gate .foot{color:var(--ink-3);text-align:center;margin-top:20px;font-size:11px}
