@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;--brand:#1668c4;--brand-d:#0f4e97;--brand-soft:#e9f2fc;--brand-line:#cfe2f7;--ground:#f2f6fb;--surface:#fff;--surface-2:#f8fbfe;--line:#e1eaf4;--line-2:#edf3f9;--ink:#12263f;--ink-2:#4e6787;--ink-3:#8a9cb4;--st-todo:#94a6bc;--st-doing:#1668c4;--st-pending:#c0790a;--st-done:#1c8a5b;--st-late:#c8393b;--st-todo-bg:#eef2f7;--st-doing-bg:#e4effb;--st-pending-bg:#fbf1df;--st-done-bg:#e3f3eb;--st-late-bg:#fbe8e8;--shadow:0 1px 2px #12263f0f, 0 8px 24px -12px #12263f2e;--weekend:#f4f7fb;--today:#c8393b;--row:36px;--lw:928px}html,body,#root{height:100%;min-height:0}body{background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Be Vietnam Pro,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13.5px;line-height:1.5;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{height:100%;min-height:0;display:flex}.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:0 0 238px;width:238px;height:100%;display:flex}.brandbox{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;align-items:center;gap:10px;margin:14px 12px 10px;padding:10px;display:flex}.logo{background:linear-gradient(160deg,var(--brand),var(--brand-d));color:#fff;border-radius:9px;place-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:grid}.brandbox b{font-size:12.5px;font-weight:700;display:block}.brandbox span{color:var(--ink-3);font-size:11px;display:block}.navwrap{flex:1;padding:0 10px 10px;overflow-y:auto}.navlabel{letter-spacing:.9px;color:var(--brand);text-transform:uppercase;padding:8px 8px 6px;font-size:10px;font-weight:700}.nav{flex-direction:column;gap:1px;display:flex}.nav a{color:var(--ink-2);cursor:default;border-radius:8px;align-items:center;gap:9px;padding:7px 9px;font-size:12.8px;text-decoration:none;display:flex}.nav a svg{opacity:.75;flex:0 0 15px}.nav a.on{background:var(--brand-soft);color:var(--brand);font-weight:600}.nav a.on svg{opacity:1}.sub{border-left:1.5px solid var(--brand-line);flex-direction:column;gap:1px;margin:3px 0 6px 10px;padding-left:11px;display:flex}.sub button{text-align:left;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 9px;font-size:12.5px}.sub button:hover{background:var(--line-2)}.sub button.on{background:var(--brand);color:#fff;font-weight:600}.sub .cap{letter-spacing:.7px;text-transform:uppercase;color:var(--ink-3);padding:7px 9px 3px;font-size:9.5px;font-weight:700}.clock{color:#dce9f8;text-align:center;background:#132438;border-radius:11px;margin:10px 12px 14px;padding:9px 12px}.clock b{letter-spacing:1px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:17px;display:block}.clock span{color:#7e9ac0;font-size:10.5px}.main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.top{z-index:30;background:var(--ground);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;padding:12px 18px 10px;display:flex}.search{background:var(--surface);border:1px solid var(--line);max-width:400px;color:var(--ink-3);border-radius:9px;flex:1;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}.kbd{border:1px solid var(--line);border-radius:6px;margin-left:auto;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:10.5px}.chip{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:500}.whoami{background:var(--surface);border:1px solid var(--line);border-radius:9px;align-items:center;gap:7px;margin-left:auto;padding:4px 6px 4px 10px;display:flex}.whoami input{background:0 0;border:0;width:140px;font-size:12.5px;font-weight:600}.whoami input:focus{outline:none}.av{background:var(--brand-soft);width:26px;height:26px;color:var(--brand);border-radius:7px;place-items:center;font-size:11px;font-weight:700;display:grid}.view{flex:1;min-height:0;padding:16px 18px 40px;overflow-y:auto}.card{background:var(--surface);border:1px solid var(--line);border-radius:13px}h1{letter-spacing:-.2px;text-wrap:balance;margin:0;font-size:21px;font-weight:700}.eyebrow{letter-spacing:1px;color:var(--brand);text-transform:uppercase;font-size:10.5px;font-weight:700}.crumb{color:var(--ink-3);align-items:center;gap:6px;margin-bottom:3px;font-size:11.5px;display:flex}.crumb button{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;font-size:11.5px;font-weight:600}.tiny{font-size:11.5px}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:500}.btn:hover{border-color:var(--brand-line);color:var(--brand)}.btn.pri{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.btn.pri:hover{background:var(--brand-d);border-color:var(--brand-d);color:#fff}.btn.ok{background:var(--st-done);border-color:var(--st-done);color:#fff;font-weight:600}.btn.ok:hover{filter:brightness(1.08);color:#fff}.btn.dgr{color:var(--st-late);border-color:var(--st-late)}.btn.dgr:hover{background:var(--st-late-bg);color:var(--st-late);border-color:var(--st-late)}.btn.sm{padding:4px 9px;font-size:11.5px}.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn.dgrf{background:var(--st-late);border-color:var(--st-late);color:#fff;font-weight:600}.btn.dgrf:hover{filter:brightness(1.08);color:#fff;border-color:var(--st-late)}.askmsg{white-space:pre-line;color:var(--ink-2);font-size:13.2px;line-height:1.6}.askmsg b{color:var(--ink)}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.pill i{background:currentColor;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.p-todo{background:var(--st-todo-bg);color:var(--st-todo)}.p-doing{background:var(--st-doing-bg);color:var(--st-doing)}.p-pending{background:var(--st-pending-bg);color:var(--st-pending)}.p-done{background:var(--st-done-bg);color:var(--st-done)}.p-late{background:var(--st-late-bg);color:var(--st-late)}.ovhead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px 13px}.stat b{font-variant-numeric:tabular-nums;letter-spacing:-.5px;font-size:23px;font-weight:700;display:block}.stat span{color:var(--ink-2);font-size:11.5px}.stat.hi{border-color:var(--st-late);background:var(--st-late-bg)}.stat.hi b{color:var(--st-late)}.stat.wr{border-color:var(--st-pending);background:var(--st-pending-bg)}.stat.wr b{color:var(--st-pending)}.ptab{border-collapse:collapse;width:100%}.ptab th{text-align:left;letter-spacing:.7px;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:10.5px;font-weight:700}.ptab td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:11px 12px;font-size:12.8px}.ptab tbody tr{cursor:pointer}.ptab tbody tr:hover{background:var(--surface-2)}.ptab tbody tr:last-child td{border-bottom:0}.pname{font-weight:600;display:block}.pcode{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:10.5px}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.mini{background:var(--line-2);vertical-align:middle;border-radius:99px;width:88px;height:6px;margin-right:7px;display:inline-block;overflow:hidden}.mini i{background:var(--st-done);height:100%;display:block}.rowact{justify-content:flex-end;gap:5px;display:flex}.dl{color:var(--st-late);font-weight:600}.dw{color:var(--st-pending);font-weight:600}.bar{background:var(--line-2);border-radius:99px;height:9px;display:flex;overflow:hidden}.bar i{height:100%;display:block}.legend{flex-wrap:wrap;gap:14px;margin-top:9px;display:flex}.legend span{color:var(--ink-2);align-items:center;gap:5px;font-size:11.5px;display:flex}.legend s{border-radius:3px;width:9px;height:9px;text-decoration:none}.pcard{grid-template-columns:1fr auto;align-items:center;gap:18px;padding:16px 18px;display:grid}.grpgrid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:9px;margin-top:14px;display:grid}.grpc{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--st-todo);cursor:pointer;text-align:left;border-radius:10px;width:100%;padding:10px 12px}.grpc:hover{border-color:var(--brand-line);border-left-color:var(--brand)}.grpc b{font-size:12.5px;font-weight:600;line-height:1.35;display:block}.grpc .m{color:var(--ink-3);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:5px;font-size:11px;display:flex}.tools{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.tools input[type=search],.tools select{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12.5px}.seg{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:flex;overflow:hidden}.seg button{cursor:pointer;color:var(--ink-2);background:0 0;border:0;padding:6px 11px;font-size:12.5px}.seg button.on{background:var(--brand);color:#fff;font-weight:600}.fchip{border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink-2);border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:600}.fchip.on{border-color:currentColor}.tt{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-height:260px;max-height:calc(100vh - 300px);position:relative;overflow:auto}.trow{min-width:min-content;height:var(--row);display:flex}.lft{z-index:12;width:var(--lw);flex:0 0 var(--lw);background:var(--surface);border-right:1px solid var(--line);align-items:center;display:flex;position:sticky;left:0}.thead{z-index:20;height:46px;position:sticky;top:0}.thead .lft{z-index:22;background:var(--surface-2);border-bottom:1px solid var(--line);letter-spacing:.6px;color:var(--ink-3);text-transform:uppercase;font-size:10.5px;font-weight:700}.time{flex:none;position:relative}.thead .time{background:var(--surface-2);border-bottom:1px solid var(--line)}.mo{border-left:1px solid var(--line);height:23px;color:var(--ink-2);white-space:nowrap;align-items:center;padding-left:6px;font-size:11px;font-weight:600;display:flex;position:absolute;top:0;overflow:hidden}.dy{height:23px;color:var(--ink-3);justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:9.5px;display:flex;position:absolute;top:23px}.trow:not(.thead){border-bottom:1px solid var(--line-2);cursor:pointer}.trow:not(.thead):hover .lft,.trow:not(.thead):hover .time,.trow.g .lft{background:var(--surface-2)}.trow.g:hover .lft{background:var(--brand-soft)}.trow.sel .lft,.trow.sel .time{background:var(--brand-soft)!important}.cell{white-space:nowrap;text-overflow:ellipsis;padding:0 8px;font-size:12.5px;overflow:hidden}.c-wbs{width:50px;color:var(--ink-3);flex:0 0 50px;align-items:center;gap:3px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.c-name{flex:auto;min-width:0}.trow.g .c-name{letter-spacing:.2px;text-transform:uppercase;font-size:12px;font-weight:700}.c-lead{width:180px;color:var(--ink-2);flex:0 0 180px;font-size:11.5px}.c-d{font-variant-numeric:tabular-nums;width:88px;color:var(--ink-2);flex:0 0 88px;padding:0 6px;font-size:11px}.c-n{text-align:right;font-variant-numeric:tabular-nums;flex:0 0 88px;width:88px;font-size:11.5px;font-weight:600}.c-st{flex:0 0 124px;justify-content:flex-end;align-items:center;width:124px;display:flex}.c-act{flex:0 0 44px;justify-content:center;align-items:center;width:44px;padding:0;display:flex}.rowbtn{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;opacity:.5;border-radius:6px;width:24px;height:22px;padding:0;font-size:14px;line-height:1}.trow:hover .rowbtn{opacity:1}.rowbtn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.sum{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:11px;padding:11px 15px;display:flex}.sum .u{flex-direction:column;gap:1px;min-width:78px;display:flex}.sum .u b{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700;line-height:1.2}.sum .u span{color:var(--ink-3);letter-spacing:.3px;font-size:10.5px}.sum .grow{flex:190px;min-width:150px}.sum .grow .bar{margin-top:6px}.alist{flex-direction:column;display:flex}.ai{border-bottom:1px solid var(--line-2);cursor:pointer;text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;grid-template-columns:104px 1fr auto;align-items:center;gap:12px;width:100%;padding:8px 2px;display:grid}.ai:last-child{border-bottom:0}.ai:hover{background:var(--surface-2)}.ai .nm{text-overflow:ellipsis;white-space:nowrap;font-size:12.8px;font-weight:500;display:block;overflow:hidden}.ai .sb{color:var(--ink-3);font-size:11px;display:block}.ai .rt{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px}.secthead{justify-content:space-between;align-items:baseline;margin:18px 0 8px;display:flex}.secthead h2{margin:0;font-size:14.5px;font-weight:700}.ev{flex-direction:column;gap:6px;margin-bottom:9px;display:flex}.evi{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:7px 9px;display:grid}.evi .ic{background:var(--brand-soft);width:24px;height:24px;color:var(--brand);border-radius:6px;place-items:center;font-size:11px;font-weight:700;display:grid}.evi .t{text-overflow:ellipsis;white-space:nowrap;font-size:12.3px;font-weight:500;display:block;overflow:hidden}.evi .s{color:var(--ink-3);font-size:10.5px;display:block}.evi button{color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:0 3px;font-size:14px}.evi button:hover{color:var(--st-late)}.drop{border:1.5px dashed var(--line);text-align:center;color:var(--ink-3);cursor:pointer;background:var(--surface);border-radius:9px;padding:14px;font-size:12px}.drop:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.imp th{background:var(--surface-2);text-align:left;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);padding:7px 9px;font-size:10.5px;position:sticky;top:0}.imp td{border-bottom:1px solid var(--line-2);padding:6px 9px}.var{margin-left:3px;font-size:10.5px;font-weight:600}.var.up{color:var(--st-late)}.var.dn{color:var(--st-done)}.exp{width:13px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:0;font-size:9px}.gbar{color:#fff;white-space:nowrap;z-index:3;border-radius:5px;align-items:center;height:18px;padding:0 6px;font-size:10.5px;font-weight:600;display:flex;position:absolute;top:9px;overflow:visible;box-shadow:0 1px 2px #00000026}.gbar.pbar{background:var(--brand-d);border-radius:5px;height:18px;top:9px}.gbar.pbar:before,.gbar.pbar:after{display:none}.gbar-label{background:inherit;color:#fff;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;align-items:center;max-width:260px;height:18px;padding:0 5px;display:flex;position:absolute;top:0;left:3px;overflow:hidden;box-shadow:0 1px 2px #0000001f}.prog{background:#ffffff52;border-right:1.5px solid #fff9;position:absolute;top:0;bottom:0;left:0}.now{background:var(--today);z-index:8;pointer-events:none;width:1.5px;position:absolute;top:0;bottom:0}.nowlab{background:var(--today);color:#fff;z-index:21;white-space:nowrap;border-radius:4px;padding:0 5px;font-size:9.5px;font-weight:700;position:absolute;top:26px;transform:translate(-50%)}.nowlab.edge{transform:none}.empty{text-align:center;color:var(--ink-3);padding:36px}.empty h3{color:var(--ink);margin:0 0 6px;font-size:14px}.scrim{z-index:60;opacity:0;pointer-events:none;background:#0c1a2c59;transition:opacity .18s;position:fixed;inset:0}.scrim.on{opacity:1;pointer-events:auto}.drawer{background:var(--surface);border-left:1px solid var(--line);z-index:61;width:min(470px,100%);box-shadow:var(--shadow);flex-direction:column;transition:transform .22s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%)}.drawer.on{transform:none}.dhead{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:14px 16px;display:flex}.dhead h2{text-wrap:balance;margin:0;font-size:15px;font-weight:700;line-height:1.35}.dbody{flex-direction:column;flex:auto;gap:14px;min-height:0;padding:14px 16px 30px;display:flex;overflow-y:auto}#dwrap{flex-direction:column;flex:auto;min-height:0;display:flex}.dhead{flex:none}.dtabs{border-bottom:1px solid var(--line);background:var(--surface);flex:none;gap:2px;padding:0 12px;display:flex;overflow-x:auto}.dtabs button{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:9px 12px;font-size:12.5px;font-weight:600}.dtabs button:hover{color:var(--ink)}.dtabs button.on{color:var(--brand);border-bottom-color:var(--brand)}.dtabs .cnt{background:var(--line-2);color:var(--ink-2);border-radius:99px;margin-left:4px;padding:0 5px;font-size:10.5px;font-weight:700}.gcap{color:var(--ink-2);white-space:nowrap;pointer-events:none;font-size:10.5px;position:absolute;top:11px}.tbar{flex-direction:column;gap:7px;margin-bottom:11px;display:flex}.tbar>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mile{border-collapse:collapse;width:100%}.mile th{text-align:left;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);padding:9px 10px;font-size:10.5px;font-weight:700}.mile td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:8px 10px;font-size:12.6px}.mile tr:last-child td{border-bottom:0}.mile input,.mile select{background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:4px 6px;font-size:12.6px}.mile input:hover,.mile select:hover{border-color:var(--line)}.mile input:focus,.mile select:focus{border-color:var(--brand);background:var(--surface)}.mk{z-index:19;cursor:help;outline:none;width:18px;height:18px;position:absolute;top:21px;transform:translate(-50%)}.mk-diamond{background:var(--brand-d);transform-origin:50%;width:9px;height:9px;position:absolute;top:5px;left:5px;transform:rotate(45deg)}.mk.ok .mk-diamond{background:var(--st-done)}.mk.bad .mk-diamond{background:var(--st-late)}.mk-tooltip{color:#fff;opacity:0;pointer-events:none;text-align:left;visibility:hidden;z-index:80;background:#0d2946;border-radius:9px;gap:5px;width:260px;padding:10px 11px;transition:opacity .12s,transform .12s;display:grid;position:absolute;top:23px;left:50%;transform:translate(-50%,5px);box-shadow:0 12px 30px #08182b47}.mk-tooltip:before{content:"";background:#0d2946;width:10px;height:10px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.mk:hover .mk-tooltip,.mk:focus .mk-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}.mk-tooltip b{font-size:11.5px;line-height:1.35}.mk-tooltip span{color:#d8e8f6;font-size:9.5px;line-height:1.35}.mk-tooltip strong{color:#fff}.mk-tooltip em{background:#ffffff1f;border-radius:99px;justify-self:start;margin-top:2px;padding:2px 6px;font-size:9px;font-style:normal;font-weight:700}.mk-tooltip em.done{color:#a9f0cf;background:#20b86a38}.mk-tooltip em.late{color:#ffc3c8;background:#d8374440}.sec{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:12px 13px}.sec>h3{letter-spacing:.9px;text-transform:uppercase;color:var(--ink-3);margin:0 0 9px;font-size:10.5px;font-weight:700}.fg{grid-template-columns:1fr 1fr;gap:9px;display:grid}.f label{color:var(--ink-3);margin-bottom:3px;font-size:11px;font-weight:500;display:block}.f input,.f select,.f textarea{background:var(--surface);border:1px solid var(--line);border-radius:7px;width:100%;padding:6px 8px;font-size:12.5px}.f textarea{resize:vertical;min-height:60px}.f.ro input{background:var(--line-2);color:var(--ink-2)}.wide{grid-column:1/-1}.kv{border-bottom:1px dashed var(--line);justify-content:space-between;gap:10px;padding:5px 0;font-size:12.5px;display:flex}.kv:last-child{border:0}.kv b{font-variant-numeric:tabular-nums;font-weight:600}.note{border-left:3px solid var(--brand);background:var(--brand-soft);color:var(--ink-2);border-radius:0 8px 8px 0;padding:8px 11px;font-size:11.8px}.note.warn{border-left-color:var(--st-pending);background:var(--st-pending-bg)}.log{flex-direction:column;display:flex}.li{grid-template-columns:14px 1fr;gap:9px;padding-bottom:11px;display:grid;position:relative}.li:before{content:"";background:var(--line);width:1px;position:absolute;top:14px;bottom:0;left:6px}.li:last-child:before{display:none}.dot{background:var(--brand);border:2px solid var(--surface-2);box-sizing:content-box;border-radius:50%;width:9px;height:9px;margin-top:5px}.li .m{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:10.5px}.li p{margin:1px 0 0;font-size:12.5px}.row2{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.modal{z-index:70;background:#0c1a2c66;justify-content:center;align-items:flex-start;padding:6vh 16px;display:none;position:fixed;inset:0;overflow-y:auto}.modal.on{display:flex}.mbox{background:var(--surface);border:1px solid var(--line);width:min(560px,100%);box-shadow:var(--shadow);border-radius:14px}.mbox header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 17px;display:flex}.mbox header h2{margin:0;font-size:15.5px;font-weight:700}.mbody{flex-direction:column;gap:11px;padding:15px 17px;display:flex}.mfoot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 17px;display:flex}.toast{color:#fff;z-index:90;opacity:0;pointer-events:none;background:#132438;border-radius:9px;padding:8px 16px;font-size:12.5px;transition:all .2s;position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px)}.toast.on{opacity:1;transform:translate(-50%)}.offline{margin-bottom:12px}@media (width<=1180px){:root{--lw:470px}.c-lead,.c-d,.hcol{display:none}}@media (width<=860px){.side{display:none}:root{--lw:260px}.c-n{display:none}}.root-sub{margin-left:2px}.root-sub>button{justify-content:space-between;align-items:center;display:flex}.mobile-nav-toggle{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:9px;flex:0 0 38px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:none}.mobile-nav-toggle span{background:currentColor;border-radius:99px;width:17px;height:2px;display:block;position:absolute}.mobile-nav-toggle span:first-child{transform:translateY(-5px)}.mobile-nav-toggle span:last-child{transform:translateY(5px)}.mobile-nav-toggle:hover{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand)}.mobile-nav-backdrop{z-index:104;background:#08182b80;position:fixed;inset:0}.mobile-nav-drawer{background:var(--surface);border-right:1px solid var(--line);z-index:105;flex-direction:column;width:310px;max-width:calc(100vw - 40px);transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-100%);box-shadow:16px 0 40px #08182b33}.mobile-nav-drawer.on{transform:none}.mobile-nav-header{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding-right:12px;display:flex}.mobile-nav-header .brandbox{flex:1;margin-right:0}.mobile-nav-close{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:50%;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:flex}.mobile-nav-drawer .navwrap{padding-top:8px}.mobile-nav-account{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:stretch;gap:7px;padding:12px;display:grid}.mobile-nav-account>div{grid-column:1/-1;gap:2px;display:grid}.mobile-nav-account b{font-size:12px}.mobile-nav-account span,.mobile-nav-account small{color:var(--ink-3);font-size:10px}.mobile-nav-account .btn{min-height:38px}.nav-section{margin-top:14px}.tth-logo{object-fit:contain;object-position:center;width:54px;height:38px}.selected-project{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;gap:2px;margin:16px 2px 0;padding:9px;display:grid}.selected-project span,.selected-project small{color:var(--ink-3);font-size:10px}.selected-project b{font-size:11.5px}.whoami>div:first-child{min-width:110px;line-height:1.25;display:grid}.whoami>div:first-child b{font-size:11.5px}.whoami>div:first-child span{color:var(--ink-3);font-size:10px}.whoami .account-department-tag{width:auto;min-width:26px;height:26px;padding:0 7px;font-size:9px}.logout-mini{color:var(--ink-2);background:0 0;border:0;padding:3px 5px;font-size:10.5px}.top-spacer{flex:1}.notification-root{position:relative}.notification-bell{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;display:flex;position:relative}.notification-bell:hover,.notification-bell.on{background:var(--brand-soft);color:var(--brand);border-color:#a9c9ee}.notification-bell svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:19px;height:19px}.notification-count{border:2px solid var(--ground);color:#fff;background:#e53845;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 3px;font-size:8px;font-weight:800;display:flex;position:absolute;top:-5px;right:-5px}.notification-panel{background:var(--surface);border:1px solid var(--line);z-index:100;border-radius:12px;flex-direction:column;width:min(390px,100vw - 24px);max-height:min(560px,100vh - 80px);display:flex;position:absolute;top:calc(100% + 9px);right:0;overflow:hidden;box-shadow:0 14px 40px #102a452e}.notification-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.notification-panel>header>div{gap:2px;display:grid}.notification-panel>header b{font-size:13px}.notification-panel>header span{color:var(--ink-3);font-size:9.5px}.notification-panel>header button{color:var(--brand);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:600}.notification-list{flex:auto;min-height:0;max-height:480px;overflow-y:auto}.notification-item{border:0;border-bottom:1px solid var(--line-2);color:var(--ink);cursor:pointer;text-align:left;background:#f8fbff;align-items:flex-start;gap:10px;width:100%;padding:11px 14px;display:flex}.notification-item:hover{background:var(--brand-soft)}.notification-item.seen{background:var(--surface-2);opacity:.7}.notification-item.seen:hover{background:var(--surface-2);opacity:.85}.notification-dot{background:var(--brand);border:3px solid var(--brand-soft);border-radius:50%;flex:none;width:11px;height:11px;margin-top:3px}.notification-approved .notification-dot{background:var(--st-done);border-color:var(--st-done-bg)}.notification-rejected .notification-dot{background:var(--st-late);border-color:var(--st-late-bg)}.notification-submitted .notification-dot{background:var(--st-pending);border-color:var(--st-pending-bg)}.notification-copy{gap:3px;min-width:0;display:grid}.notification-copy>b{color:var(--brand);text-transform:uppercase;font-size:9px}.notification-copy>strong{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.notification-copy>span{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.notification-copy>small{color:var(--ink-3);font-size:9px}.notification-empty{color:var(--ink-3);text-align:center;place-items:center;gap:4px;padding:32px 18px;font-size:10.5px;display:grid}.notification-empty b{color:var(--ink);font-size:12px}.approval-row{grid-template-columns:110px 1fr minmax(360px,auto)}.approval-box{gap:6px;display:flex}.approval-box input{border:1px solid var(--line);border-radius:7px;min-width:220px;padding:5px 7px}.approval-tabs{gap:8px;margin:14px 0;display:flex}.approval-tabs button{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:9px 12px;font-size:11px;font-weight:700;display:flex}.approval-tabs button b{background:var(--surface-2);border-radius:99px;min-width:20px;padding:2px 5px;font-size:9px}.approval-tabs button.on{background:var(--brand-soft);color:var(--brand);border-color:#a9c9ee}.approval-queue-card{padding:4px 16px}.approval-pagination{border-top:1px solid var(--line);color:var(--ink-3);justify-content:space-between;align-items:center;padding:10px 0;font-size:10.5px;display:flex}.approval-pagination>div{align-items:center;gap:8px;display:flex}.approval-pagination strong{color:var(--ink-2);text-align:center;min-width:62px}.dtabs .approval-tab{color:var(--st-pending)}.approval-panel{gap:12px;display:grid}.approval-request{background:var(--surface);border:1px solid var(--line);border-radius:9px;grid-template-columns:90px 1fr;gap:6px 10px;padding:10px;display:grid}.approval-request span{color:var(--ink-3);font-size:10px}.approval-request b,.approval-request p{margin:0;font-size:11px}.approval-request p{line-height:1.45}.approval-evidence{justify-content:space-between;align-items:center;gap:8px;display:flex}.approval-evidence .btn{text-overflow:ellipsis;white-space:nowrap;max-width:290px;overflow:hidden}.approval-panel-actions{justify-content:flex-end;gap:8px;display:flex}.evi>input[type=checkbox]{margin:0}.evi>button.t{color:var(--brand);cursor:pointer;text-align:left;text-overflow:ellipsis;background:0 0;border:0;padding:0;overflow:hidden}.users-host .content-card{border-color:var(--line)}.users-host .admin-grid{grid-template-columns:minmax(280px,340px) minmax(620px,1fr)}.user-list-card .card-heading>div{gap:3px;display:grid}.user-list-card .card-heading small{color:var(--ink-3);font-size:10px}.user-page-alert{margin:12px 14px 0}.user-list-toolbar{border-bottom:1px solid var(--line);padding:10px 14px}.user-list-toolbar input{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);border-radius:8px;width:min(360px,100%);padding:8px 10px}.user-list-toolbar input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:0}.users-table td:first-child strong{margin-bottom:4px;display:block}.user-account{color:var(--ink-3);align-items:center;gap:5px;font-size:10px;display:flex}.root-badge,.self-badge{text-transform:uppercase;border-radius:999px;padding:2px 5px;font-size:8.5px;font-weight:700}.root-badge{background:var(--brand-soft);color:var(--brand-d)}.self-badge{background:var(--st-done-bg);color:var(--st-done)}.user-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;min-width:255px;display:flex}.user-actions .btn{white-space:nowrap;padding:5px 7px;font-size:10px}.user-pagination{border-top:1px solid var(--line);color:var(--ink-3);justify-content:space-between;align-items:center;padding:10px 14px;font-size:10.5px;display:flex}.user-pagination>div{gap:6px;display:flex}.btn.danger-outline{color:var(--st-late);border-color:#f0b9be}.btn.danger-outline:hover{background:var(--st-late-bg)}.user-dialog-layer{z-index:110;background:#08182b80;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.user-dialog{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:14px;width:min(460px,100%);padding:20px;display:grid;box-shadow:0 24px 70px #0a223d3d}.user-dialog-heading{justify-content:space-between;align-items:flex-start;display:flex}.user-dialog-heading .eyebrow{margin-bottom:4px}.user-dialog-heading h2{margin:0;font-size:18px}.user-dialog-heading p:not(.eyebrow){color:var(--ink-3);margin:5px 0 0;font-size:11px}.user-dialog-close{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);border-radius:50%;width:30px;height:30px;font-size:20px;line-height:1}.user-dialog label{color:var(--ink-2);gap:6px;font-size:11px;font-weight:700;display:grid}.user-dialog label small{color:var(--ink-3);font-size:10px;font-weight:400;line-height:1.45}.user-dialog input,.user-dialog select{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:9px 10px}.user-dialog input:focus,.user-dialog select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:0}.user-dialog-actions{justify-content:flex-end;gap:7px;margin-top:2px;display:flex}.tracker-app .admin-grid{margin-top:8px}.tracker-app .page-heading{margin-bottom:12px}.tracker-app .page-heading h1{font-size:21px}.tracker-app .page-content{padding:0}.tracker-app .user-form textarea{border:1px solid var(--line);border-radius:7px}.import-box{width:min(1100px,94vw)}.import-template{background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:12px 14px;display:flex}.import-template>div{gap:3px;display:grid}.import-template b{color:var(--brand-d);font-size:12px}.import-template span{color:var(--ink-2);font-size:11px}.import-template .btn{background:var(--surface);border-color:var(--brand-line);color:var(--brand-d);flex:none;font-weight:700}.import-summary{margin:10px 0}.imp{border:1px solid var(--line);border-radius:8px;max-height:390px;overflow:auto}.imp table{border-collapse:collapse;width:100%;font-size:12px}.imp th,.imp td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:7px 8px}.imp thead th{background:var(--panel-2);z-index:1;position:sticky;top:0}.imp tr.gp td{background:var(--panel-2);font-weight:700}.imp td.bad{color:var(--st-late);font-weight:700}.empty-plan{padding:38px 20px}.empty-plan .row2{justify-content:center}.overview-stats{grid-template-columns:repeat(7,minmax(110px,1fr));overflow-x:auto}.overview-list{padding:6px 15px}.overview-chart-card{grid-template-columns:minmax(190px,.85fr) minmax(360px,1.5fr) minmax(190px,.75fr);align-items:center;gap:24px;padding:18px 20px;display:grid}.overview-chart-heading h2{margin:3px 0 6px;font-size:17px}.overview-chart-heading p{color:var(--ink-3);max-width:32ch;margin:0;font-size:11.5px;line-height:1.5}.overview-chart-visual{justify-content:center;align-items:center;gap:22px;display:flex}.overview-donut{border-radius:50%;flex:0 0 142px;place-items:center;width:142px;height:142px;padding:20px;display:grid;box-shadow:inset 0 0 0 1px #0f34600f}.overview-donut:before{background:var(--surface);border:1px solid var(--line-2);content:"";border-radius:50%;grid-area:1/1;width:88px;height:88px}.overview-donut>div{z-index:1;grid-area:1/1;place-items:center;display:grid;position:relative}.overview-donut b{font-size:23px;line-height:1}.overview-donut span{color:var(--ink-3);text-transform:uppercase;margin-top:4px;font-size:9.5px}.overview-chart-legend{gap:7px;min-width:180px;display:grid}.overview-chart-legend>div{grid-template-columns:9px minmax(90px,1fr) 25px 34px;align-items:center;gap:7px;display:grid}.overview-chart-legend i{border-radius:3px;width:9px;height:9px}.overview-chart-legend span{color:var(--ink-2);font-size:11.5px}.overview-chart-legend b{font-variant-numeric:tabular-nums;text-align:right;font-size:12px}.overview-chart-legend small{color:var(--ink-3);font-variant-numeric:tabular-nums;text-align:right;font-size:10px}.overview-chart-summary{gap:7px;display:grid}.overview-chart-summary>div{background:var(--surface-2);border:1px solid var(--line-2);border-radius:9px;grid-template-columns:1fr auto;padding:9px 11px;display:grid}.overview-chart-summary span{color:var(--ink-2);font-size:10.5px}.overview-chart-summary b{font-variant-numeric:tabular-nums;grid-row:span 2;font-size:17px}.overview-chart-summary small{color:var(--ink-3);margin-top:2px;font-size:8.5px}.overview-chart-summary .needs-attention{background:var(--st-pending-bg);border-color:#ead3aa}.overview-group-progress{background:var(--line-2);border-radius:99px;height:4px;margin-top:8px;overflow:hidden}.overview-group-progress i{background:var(--st-done);height:100%;display:block}.pill.status-summary{background:var(--surface);border:1px solid;border-radius:5px;box-shadow:inset 3px 0}.pill.status-summary i{border-radius:2px;transform:rotate(45deg)}.activity-card{padding:14px 16px}.activity-layout{grid-template-columns:minmax(300px,390px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.activity-compose{gap:12px;padding:16px;display:grid;position:sticky;top:10px}.activity-compose h2,.activity-list-heading h2{margin:0;font-size:15px}.activity-compose .eyebrow{margin-bottom:5px}.activity-compose textarea{resize:vertical;min-height:112px}.activity-compose .btn{justify-content:center;width:100%}.activity-list-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin:-2px -2px 12px;padding:0 2px 12px;display:flex}.activity-list-heading>div{gap:3px;display:grid}.activity-filters{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.activity-filters button{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:10px;display:flex}.activity-filters button b{background:var(--surface);color:var(--ink-3);border-radius:999px;min-width:18px;padding:2px 4px;font-size:8.5px}.activity-filters button:hover,.activity-filters button.on{background:var(--brand-soft);color:var(--brand);border-color:#a9c9ee}.activity-filters button.on b{color:var(--brand)}.activity-filters button.audit-filter.on{color:var(--st-late);background:#fff1f2;border-color:#f0b9be}.activity-pagination{border-top:1px solid var(--line);color:var(--ink-3);justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;font-size:10.5px;display:flex}.activity-pagination>div{align-items:center;gap:8px;display:flex}.activity-pagination strong{color:var(--ink-2);text-align:center;min-width:62px;font-size:10.5px}.success-note{background:var(--st-done-bg);color:var(--st-done);border-color:#b8e4cf}.plan-locked-note{border-left:3px solid var(--brand);margin:8px 0}.activity-link{color:var(--brand);background:0 0;border:0;padding:0;font-weight:600}.activity-deleted-name{color:var(--ink-2);font-weight:700}.activity-submitted .dot{background:var(--st-pending)}.activity-approved .dot{background:var(--st-done)}.activity-rejected .dot,.activity-deleted .dot{background:var(--st-late)}.activity-deleted{background:#fffafb;border-radius:8px}.activity-pulse,.nav-activity-pulse,.gantt-activity-pulse{border:2px solid var(--surface);background:#20b86a;border-radius:50%;flex:none;width:10px;height:10px;animation:1.6s ease-in-out infinite activity-glow;display:inline-block;box-shadow:0 0 0 3px #20b86a2e,0 0 11px #20b86abf}.activity-pulse{vertical-align:-1px;margin-right:7px}.nav-activity-badge{color:#087d49;background:#e5f8ef;border:1px solid #aee3ca;border-radius:999px;align-items:center;gap:4px;min-width:31px;padding:2px 6px;font-size:9px;display:inline-flex}.nav-activity-badge b{color:inherit;font-size:9px}.nav-activity-pulse{border-color:#e5f8ef;width:8px;height:8px;margin:0}.gantt-activity-pulse{z-index:3;border-color:#ffffffd9;width:9px;height:9px;position:absolute;top:-6px;left:-5px}.activity-new-badge{color:#087d49;text-transform:uppercase;vertical-align:1px;background:#e5f8ef;border:1px solid #aee3ca;border-radius:999px;align-items:center;gap:4px;margin-right:6px;padding:1px 5px;font-size:8.5px;font-weight:800;display:inline-flex}.activity-new-badge .activity-pulse{border-color:#e5f8ef;width:7px;height:7px;margin:0}.activity-unread-note{color:var(--ink);cursor:pointer;text-align:left;background:linear-gradient(90deg,#eaf9f2,#f8fffb);border:1px solid #aee3ca;border-radius:10px;align-items:center;gap:10px;width:100%;margin:9px 0;padding:9px 12px;display:flex}.activity-unread-note:hover{border-color:#55bd8b;box-shadow:0 3px 12px #087d491a}.activity-unread-note>.activity-pulse{border-color:#eaf9f2;margin:0}.activity-unread-note>span:not(.activity-pulse){gap:2px;display:grid}.activity-unread-note b{color:#087d49;font-size:11.5px}.activity-unread-note small{color:var(--ink-3);font-size:9.5px}.activity-unread-note strong{color:var(--brand);white-space:nowrap;margin-left:auto;font-size:10.5px}.work-scope{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px;padding:7px 9px;display:flex}.work-scope>span{color:var(--ink-2);font-size:10.5px;font-weight:700}.work-scope .seg button{align-items:center;gap:5px;display:inline-flex}.work-scope .seg button b{color:inherit;background:#fffc;border-radius:999px;min-width:17px;padding:1px 5px;font-size:9px}.work-scope .seg button.on b{color:var(--brand-d)}.work-scope>small{color:var(--ink-3);font-size:10px}.department-multi{position:relative}.department-multi>label{display:block}.department-multi>label small{color:var(--ink-3);font-weight:400}.department-multi-trigger{background:var(--surface);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:40px;padding:6px 9px;display:flex}.department-multi-trigger:hover,.department-multi-trigger.open{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.department-multi-trigger:disabled{cursor:default;opacity:.72}.department-chip-list{flex-wrap:wrap;flex:1;gap:5px;min-width:0;display:flex}.department-chip-list.empty{color:var(--ink-3);font-size:12px}.department-select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.department-select-value.empty{color:var(--ink-3)}.department-chip{background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-d);border-radius:999px;gap:5px;max-width:100%;padding:3px 7px;font-size:10.5px;font-weight:600;line-height:1.3;display:inline-flex}.department-chevron{color:var(--ink-3);font-size:17px;transform:translateY(-2px)}.department-menu{background:var(--surface);border:1px solid var(--brand-line);z-index:15;border-radius:10px;padding:8px;position:absolute;top:calc(100% + 5px);left:0;right:0;box-shadow:0 14px 38px #0a223d2e}.department-menu>input{background:var(--surface-2);border:1px solid var(--line);border-radius:7px;width:100%;padding:7px 9px;font-size:12px}.department-menu-list{flex-direction:column;gap:3px;max-height:230px;margin-top:6px;display:flex;overflow-y:auto}.department-menu-list button{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;width:100%;padding:7px 8px;display:flex}.department-menu-list button:hover{background:var(--surface-2)}.department-menu-list button.selected{background:var(--brand-soft);color:var(--brand-d)}.department-menu-list button span{flex-direction:column;min-width:0;display:flex}.department-menu-list button b{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.department-menu-list button small{color:var(--ink-3);font-size:9.5px}.department-menu-list button i{background:var(--line-2);border-radius:50%;flex:none;justify-content:center;align-items:center;width:21px;height:21px;font-size:11px;font-style:normal;display:flex}.department-menu-list button.selected i{background:var(--brand);color:#fff}.department-menu-empty{color:var(--ink-3);text-align:center;padding:15px 8px;font-size:11px}.participant-chip{color:#124f83;background:#e9f5ff;border-color:#bfdcf5}.participant-menu{z-index:16}@keyframes activity-glow{50%{transform:scale(1.12);box-shadow:0 0 0 5px #20b86a14,0 0 14px #20b86ae6}}.milestone-table-wrap{overflow-x:auto}.milestone-actions{background:color-mix(in srgb, var(--ground) 92%, transparent);z-index:12;flex-wrap:wrap;align-items:center;gap:8px;margin:0 -18px -40px;padding:12px 18px 16px;display:flex;position:sticky;bottom:-40px}.unsaved{color:var(--st-pending);font-weight:700}.project-list-tabs{gap:8px;margin:0 0 10px;display:flex}.project-table-wrap{overflow-x:auto}.deleted-project-row{opacity:.78;cursor:default!important}.deleted-project-row:hover{background:0 0!important}.confirm-layer{z-index:120;background:#08182b80;justify-content:center;align-items:center;padding:20px;animation:.14s ease-out confirm-fade;display:flex;position:fixed;inset:0}.confirm-box{background:var(--surface);border:1px solid var(--line);border-radius:16px;grid-template-columns:44px 1fr;gap:14px;width:min(460px,100%);padding:22px;animation:.18s ease-out confirm-rise;display:grid;box-shadow:0 24px 70px #0a223d3d}.confirm-icon{background:var(--brand-soft);color:var(--brand);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;font-weight:800;display:flex}.confirm-icon.danger{background:var(--st-late-bg);color:var(--st-late)}.confirm-copy h2{color:var(--ink);margin:2px 0 6px;font-size:17px}.confirm-copy p{color:var(--ink-2);white-space:pre-line;margin:0;font-size:13px;line-height:1.55}.confirm-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:2px;display:flex}@keyframes confirm-fade{0%{opacity:0}}@keyframes confirm-rise{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media (width<=900px){.side{flex-basis:200px;width:200px}.approval-row{grid-template-columns:1fr}.approval-box{flex-wrap:wrap}.whoami>div:first-child,.search{display:none}.users-host .admin-grid,.activity-layout{grid-template-columns:1fr}.activity-compose{position:static}.import-template{flex-direction:column;align-items:stretch}.overview-chart-card{grid-template-columns:1fr}.overview-chart-heading p{max-width:none}.overview-chart-visual{justify-content:flex-start}}@media (width<=860px){.mobile-nav-toggle{display:flex;position:relative}.top{padding:10px 12px}.view{padding-left:12px;padding-right:12px}}@media (width>=861px){.mobile-nav-backdrop,.mobile-nav-drawer{display:none}}@media (width<=560px){.notification-panel{position:fixed;top:62px;right:12px}.activity-pagination{flex-direction:column;align-items:stretch;gap:8px}.activity-pagination>div{justify-content:space-between}.overview-chart-visual{flex-direction:column;align-items:flex-start}.overview-donut{align-self:center}.overview-chart-legend{width:100%}.top-spacer{display:none}.top .chip{text-overflow:ellipsis;white-space:nowrap;max-width:92px;overflow:hidden}.top .whoami{display:none}.top .notification-root{margin-left:auto}}.notification-settings{max-width:1080px;margin:0 auto;padding:24px}.notification-settings h1{margin:8px 0;font-size:24px}.notification-settings p{color:#64748b;line-height:1.6}.notification-settings-fields{border:0;gap:12px;margin:20px 0;padding:0;display:grid}.notification-policy{background:#fff;border:1px solid #dbe5f0;border-radius:12px;padding:18px}.notification-policy-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.notification-policy h2{margin:0;font-size:16px}.notification-policy label{align-items:center;gap:8px;font-size:14px;display:flex}.notification-recipients{flex-wrap:wrap;gap:14px 24px;margin-top:18px;display:flex}.notification-days{flex-wrap:wrap;margin-top:16px}.notification-days input{border:1px solid #cbd5e1;border-radius:6px;width:70px;padding:8px}.notification-settings-footer{background:#fff;border:1px solid #dbe5f0;border-radius:10px;justify-content:flex-end;align-items:center;gap:12px;padding:16px;display:flex;position:sticky;bottom:0}.notification-settings-footer span{color:#64748b;margin-right:auto}.notification-settings button,.notification-tabs button{color:#004b9a;cursor:pointer;background:#fff;border:1px solid #dbe5f0;border-radius:6px;padding:8px 12px}.notification-settings button.primary{color:#fff;background:#004b9a}.notification-settings button:disabled{opacity:.5;cursor:default}.notification-settings-error{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;padding:12px}.notification-tabs{justify-content:center;align-items:center;gap:8px;padding:10px;display:flex}.notification-tabs .on{background:#e7f1ff;border-color:#004b9a}.notification-attention-dot{background:#f59e0b;border:1px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;bottom:3px;right:3px}.notification-overdue b{color:#b91c1c}.notification-due_soon b{color:#a16207}@media (width<=600px){.notification-settings{padding:12px}.notification-policy-heading,.notification-settings-footer{flex-wrap:wrap}}.proposal-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.proposal-list{padding:16px}.proposal-row{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:16px 0;display:flex}.proposal-row>div:first-child{overflow-wrap:anywhere;flex:1;min-width:0}.proposal-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;max-width:350px;display:flex}.proposal-status{color:var(--brand);margin-left:8px;font-size:12px;display:inline-block}.proposal-backdrop{z-index:90;background:#102c4a44;position:fixed;inset:0}.proposal-drawer{z-index:91}.proposal-drawer #dwrap{flex-direction:column;height:100%;display:flex}.proposal-drawer .dbody{flex:1;overflow-y:auto}.proposal-drawer fieldset{border:0;flex-direction:column;gap:12px;min-width:0;margin:0;padding:0;display:flex}.proposal-drawer .f>span{color:var(--ink-3);margin-bottom:3px;font-size:11px;font-weight:500;display:block}.proposal-drawer .department-chip-list.empty{text-align:left;padding:0}.proposal-drawer .dfoot{border-top:1px solid var(--line);flex-shrink:0;gap:8px;padding:16px;display:flex}.proposal-embedded fieldset{border:0;flex-direction:column;gap:12px;min-width:0;margin:0 0 12px;padding:0;display:flex}.proposal-embedded .f>span{color:var(--ink-3);margin-bottom:3px;font-size:11px;font-weight:500;display:block}@media (width<=700px){.proposal-row{flex-direction:column}.proposal-actions{max-width:none}}.log .m .directive-tag{color:var(--brand,#1f5fae);font-weight:600}.user-dialog .leader-hint,.leader-hint{color:var(--brand,#1f5fae);font-size:12px;line-height:1.4;display:block}.feedback-page{max-width:760px;margin:0 auto;padding:24px}.feedback-page h1{margin:4px 0 6px}.feedback-page>p{color:var(--ink-2);margin:0 0 16px;font-size:13px}.feedback-form{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px;display:flex}.feedback-form textarea{border:1px solid var(--line);width:100%;font:inherit;resize:vertical;border-radius:8px;padding:8px 10px;font-size:13px}.feedback-form textarea:focus{outline:2px solid var(--brand-line);border-color:var(--brand-line)}.feedback-form-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.feedback-form-footer small{color:var(--ink-3)}.feedback-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:12px;display:flex}.feedback-tabs button{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px;font-size:13px;font-weight:500}.feedback-tabs button.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.feedback-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.feedback-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.feedback-item-heading{justify-content:space-between;gap:8px;display:flex}.feedback-item-meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.feedback-item-meta b{color:var(--ink);font-size:13px}.feedback-dept{background:var(--brand-line);color:var(--brand-d);border-radius:6px;padding:1px 6px;font-size:11px;font-weight:600}.feedback-status{border-radius:999px;padding:1px 9px;font-size:11px;font-weight:600}.feedback-status.new{background:var(--st-late-bg);color:var(--st-late)}.feedback-status.resolved{background:var(--st-done-bg);color:var(--st-done)}.feedback-item-content{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font-size:13px}.feedback-resolution{background:var(--st-done-bg);border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:12.5px}.feedback-resolution b{color:var(--st-done);display:block}.feedback-item-actions{gap:8px;margin-top:8px;display:flex}.feedback-resolve-form{flex-direction:column;gap:8px;margin-top:8px;display:flex}.feedback-resolve-form textarea{border:1px solid var(--line);width:100%;font:inherit;resize:vertical;border-radius:8px;padding:8px 10px;font-size:13px}.feedback-error{border:1px solid var(--st-late);background:var(--st-late-bg);color:var(--st-late);border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:12.5px;display:flex}.feedback-loading{color:var(--ink-3)}.feedback-pagination{color:var(--ink-2);justify-content:center;align-items:center;gap:12px;margin-top:14px;font-size:12.5px;display:flex}.topbar-feedback{background:var(--surface);border:1px solid var(--line);cursor:pointer;color:var(--ink-2);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:500}.topbar-feedback:hover{border-color:var(--brand-line);color:var(--brand)}.topbar-feedback.on{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand);font-weight:600}@media (width<=560px){.topbar-feedback{padding:5px 8px;font-size:11.5px}}.system-logs-page{max-width:1280px;margin:0 auto;padding:24px}.system-logs-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.system-logs-heading h1{margin:4px 0 6px}.system-logs-heading p:not(.eyebrow){color:var(--ink-2);margin:0;font-size:12px}.system-logs-heading>span{background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-d);white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.system-log-filters{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(120px,1fr)) auto;align-items:end;gap:10px;margin-bottom:14px;padding:12px;display:grid}.system-log-filters label{color:var(--ink-2);gap:5px;font-size:10px;font-weight:700;display:grid}.system-log-filters input,.system-log-filters select{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);border-radius:7px;min-height:34px;padding:6px 8px}.system-log-filter-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.system-log-filter-actions small{color:var(--ink-3);white-space:nowrap;font-size:10px}.system-log-error{background:var(--st-late-bg);color:var(--st-late);border:1px solid #f0b9be;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:9px 12px;font-size:12px;display:flex}.system-log-state{color:var(--ink-3);text-align:center;padding:28px 8px}.system-log-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow-x:auto}.system-log-table{border-collapse:collapse;width:100%;min-width:900px}.system-log-table th,.system-log-table td{border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top;padding:10px 12px;font-size:11px}.system-log-table th{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;font-size:9px}.system-log-table td b,.system-log-table td small{display:block}.system-log-table td small{color:var(--ink-3);margin-top:3px;font-size:9px}.system-log-action{background:var(--surface-2);white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700;display:inline-block}.system-log-action.is-delete{background:var(--st-late-bg);color:var(--st-late)}.system-log-action.is-insert{background:var(--st-done-bg);color:var(--st-done)}.system-log-pagination{color:var(--ink-2);justify-content:space-between;align-items:center;margin-top:10px;font-size:11px;display:flex}.system-log-pagination>div{gap:6px;display:flex}.system-log-dialog-layer{z-index:120;background:#08182b80;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.system-log-dialog{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:14px;width:min(760px,100%);max-height:min(680px,92vh);padding:18px;display:grid;overflow:auto;box-shadow:0 24px 70px #0a223d3d}.system-log-dialog>header{justify-content:space-between;align-items:flex-start;display:flex}.system-log-dialog>header h2{margin:4px 0;font-size:18px}.system-log-dialog>header p:not(.eyebrow){color:var(--ink-3);margin:0;font-size:11px}.system-log-dialog>header>button{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);border-radius:50%;width:30px;height:30px;font-size:20px}.system-log-detail-table{overflow-x:auto}.system-log-detail-table table{border-collapse:collapse;width:100%;min-width:540px}.system-log-detail-table th,.system-log-detail-table td{border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top;padding:8px;font-size:11px}.system-log-detail-table th{color:var(--ink-2)}.system-log-dialog>footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;padding-top:12px;display:flex}.system-log-dialog>footer small{color:var(--ink-3);margin-right:auto}@media (width<=1100px){.system-log-filters{grid-template-columns:repeat(3,1fr)}.system-log-filter-actions{grid-column:1/-1}}@media (width<=700px){.system-logs-page{padding:14px 10px}.system-logs-heading{flex-direction:column}.system-log-filters{grid-template-columns:1fr 1fr}.system-log-filters label:first-child,.system-log-filter-actions{grid-column:1/-1}.system-log-table{min-width:0}.system-log-table thead{display:none}.system-log-table,.system-log-table tbody,.system-log-table tr,.system-log-table td{width:100%;display:block}.system-log-table tr{border-bottom:1px solid var(--line);padding:8px 12px}.system-log-table td{border:0;grid-template-columns:110px 1fr;gap:6px;padding:5px 0;display:grid}.system-log-table td:before{color:var(--ink-3);content:attr(data-label);text-transform:uppercase;font-size:9px;font-weight:700}.system-log-table td:last-child{justify-content:flex-end;display:flex}.system-log-table td:last-child:before{display:none}.system-log-dialog>footer{flex-direction:column;align-items:stretch}.system-log-dialog>footer small{margin-right:0}}.feedback-file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.feedback-attach-row{display:flex}.feedback-attach-chip{border:1px solid var(--brand-line);background:var(--brand-soft);color:var(--brand-d);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:12.5px;display:flex}.feedback-attach-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.feedback-attachment-link{border:1px solid var(--brand-line);background:var(--brand-soft);color:var(--brand-d);cursor:pointer;border-radius:8px;align-items:center;gap:4px;max-width:100%;margin-top:8px;padding:5px 10px;font-size:12.5px;display:inline-flex}.feedback-attachment-link:hover{border-color:var(--brand)}.feedback-attachment-link span,.feedback-attachment-link small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.executive-reports-page{max-width:1240px;margin:0 auto;padding:24px}.executive-reports-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.executive-reports-heading h1{margin:4px 0 6px}.executive-reports-heading p{color:var(--ink-2);max-width:760px;margin:0;font-size:13px}.executive-heading-status{text-align:right;flex:0 360px;place-items:flex-end end;gap:6px;display:grid}.executive-heading-status small{color:var(--ink-2);font-size:11px;line-height:1.45}.executive-ready-badge{background:var(--st-pending-bg);color:var(--st-pending);white-space:nowrap;border:1px solid #ead3aa;border-radius:999px;flex:none;padding:6px 10px;font-size:11px;font-weight:700}.executive-retry-row{background:var(--st-late-bg);color:var(--st-late);border:1px solid #f0b9be;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:8px 10px;font-size:12px;display:flex}.executive-retry-row .btn{flex:none}.executive-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.executive-tabs button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:9px 12px;font-size:12.5px;font-weight:600}.executive-tabs button.on{border-bottom-color:var(--brand);color:var(--brand)}.executive-config-panel{gap:13px;display:grid}.executive-section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-top:4px;display:flex}.executive-section-heading h2{margin:0 0 4px;font-size:16px}.executive-section-heading p{color:var(--ink-2);max-width:760px;margin:0;font-size:11.5px;line-height:1.5}.executive-section-heading>.btn{flex:none}.executive-form{background:var(--surface);border:1px solid var(--brand-line);border-radius:12px;gap:12px;padding:15px;display:grid}.executive-form h3{margin:0;font-size:14px}.executive-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.executive-form-grid label{color:var(--ink-2);gap:5px;font-size:11px;font-weight:600;display:grid}.executive-form-grid label.wide{grid-column:1/-1}.executive-form-grid input,.executive-form-grid select,.executive-form-grid textarea{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:8px;min-width:0;padding:8px 9px;font-size:12px}.executive-form-grid textarea{resize:vertical}.executive-form-grid input:focus,.executive-form-grid select:focus,.executive-form-grid textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:0}.executive-checkbox{align-items:center;padding-top:21px;gap:8px!important;display:flex!important}.executive-checkbox input{accent-color:var(--brand);width:16px;height:16px;margin:0}.executive-form-actions{justify-content:flex-end;gap:8px;display:flex}.executive-card-list{gap:9px;display:grid}.executive-config-card{background:var(--surface);border:1px solid var(--line);border-radius:11px;justify-content:space-between;align-items:flex-start;gap:14px;padding:13px 14px;display:flex}.executive-config-card h3{margin:5px 0 3px;font-size:13px}.executive-config-card p{color:var(--ink-2);margin:0 0 4px;font-size:11.5px;line-height:1.45}.executive-config-card small{color:var(--ink-3);font-size:10px}.executive-card-meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;display:flex}.executive-card-meta code,.executive-table code{color:var(--brand-d);font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:700}.executive-status{white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:9px;font-weight:700}.executive-status.is-draft{background:var(--st-pending-bg);color:var(--st-pending)}.executive-status.is-published,.executive-status.is-required{background:var(--st-done-bg);color:var(--st-done)}.executive-status.is-archived,.executive-status.is-optional{background:var(--st-todo-bg);color:var(--st-todo)}.executive-card-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.executive-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow-x:auto}.executive-table{border-collapse:collapse;width:100%;min-width:780px}.executive-table th,.executive-table td{border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top;padding:10px 12px;font-size:11px}.executive-table th{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;font-size:9px}.executive-table td strong,.executive-table td small{display:block}.executive-table td small{color:var(--ink-3);margin-top:3px;font-size:9.5px}.executive-table td:last-child{text-align:right}.executive-empty,.executive-state{background:var(--surface);border:1px dashed var(--line);color:var(--ink-2);text-align:center;border-radius:12px;padding:26px 18px;font-size:12px}.executive-state h1,.executive-state h2{color:var(--ink);margin:0 0 6px;font-size:17px}.executive-state p{margin:0}.executive-state-denied{border-color:#ead3aa}.executive-alert{border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:9px 11px;font-size:12px;display:flex}.executive-alert-error{background:var(--st-late-bg);color:var(--st-late);border:1px solid #f0b9be}@media (width<=700px){.executive-reports-page{padding:14px 10px}.executive-reports-heading,.executive-section-heading{flex-direction:column}.executive-heading-status{text-align:left;flex-basis:auto;place-items:flex-start start}.executive-form-grid{grid-template-columns:1fr}.executive-form-grid label.wide{grid-column:auto}.executive-checkbox{padding-top:0}.executive-config-card{flex-direction:column}.executive-card-actions{width:100%}.executive-card-actions .btn{flex:1}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;color:#17263a;font-synthesis:none;text-rendering:optimizelegibility;--brand:#123fa3;--brand-dark:#0a2d79;--navy:#10233c;--line:#dfe6ef;--muted:#64748b;background:#f4f7fb;font-family:Be Vietnam Pro,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}.muted{color:var(--muted)}.eyebrow{color:var(--brand);letter-spacing:.12em;margin-bottom:.65rem;font-size:.72rem;font-weight:700}.brand-mark{background:var(--brand);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:48px;height:42px;font-size:.9rem;font-weight:700;display:inline-flex}.mono{font-family:JetBrains Mono,monospace}.auth-page{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);min-height:100vh;display:grid}.auth-brand{color:#fff;background:linear-gradient(145deg,#0a2d79,#1659b7);flex-direction:column;justify-content:center;padding:clamp(3rem,8vw,8rem);display:flex}.auth-brand .eyebrow{color:#cfe2ff;margin-top:2rem}.auth-brand h1{max-width:14ch;font-size:clamp(2rem,4vw,3.7rem);line-height:1.14}.auth-brand>p:last-child{color:#c6d2e1;max-width:54ch;line-height:1.7}.auth-logo{object-fit:contain;background:#fff;border-radius:12px;width:190px;height:112px;padding:10px 14px}.auth-card{border:1px solid var(--line);background:#fff;border-radius:18px;align-self:center;width:min(430px,100% - 2rem);margin:2rem auto;padding:2.3rem;box-shadow:0 24px 70px #10233c1f}.auth-card h2{margin-bottom:.45rem;font-size:1.55rem}.auth-card form{gap:1.1rem;margin-top:2rem;display:grid}.auth-card label{color:#34445a;gap:.45rem;font-size:.82rem;font-weight:600;display:grid}.auth-card input{border:1px solid #cbd5e1;border-radius:9px;padding:.8rem .9rem}.auth-card input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #123fa31f}.primary-button{background:var(--brand);color:#fff;border:0;border-radius:9px;padding:.85rem 1rem;font-weight:600}.primary-button:hover{background:var(--brand-dark)}.primary-button:disabled{cursor:wait;opacity:.65}.alert{border-radius:9px;padding:.8rem .9rem;font-size:.82rem;line-height:1.55}.alert.error{color:#a11220;background:#fff0f1}.alert.info{color:#24578c;background:#edf5ff}.alert.success{color:#18764a;background:#e9f7f0}.toast-region{pointer-events:none;z-index:3000;gap:.65rem;width:100%;max-width:min(390px,100vw - 2rem);max-height:calc(100dvh - 2.5rem);display:grid;position:fixed;top:1.25rem;right:1.25rem;overflow-y:auto}.app-toast{border:1px solid var(--line);color:var(--navy);pointer-events:auto;background:#fff;border-left:4px solid #3478c7;border-radius:10px;grid-template-columns:26px minmax(0,1fr) 26px;align-items:start;gap:.7rem;padding:.8rem .75rem;animation:.18s ease-out toast-in;display:grid;box-shadow:0 14px 38px #10233c2e}.app-toast.success{border-left-color:#16966a}.app-toast.error{border-left-color:#d63849}.app-toast.info{border-left-color:#3478c7}.app-toast p{overflow-wrap:anywhere;margin:0;font-size:.82rem;line-height:1.45}.toast-icon{color:#245ea8;background:#eaf2ff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.78rem;font-weight:700;display:flex}.app-toast.success .toast-icon{color:#087a51;background:#e6f7f0}.app-toast.error .toast-icon{color:#b01d2c;background:#fff0f1}.app-toast button{color:#718096;background:0 0;border:0;height:26px;padding:0;font-size:1.2rem;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.setup-page,.app-loading,.account-disabled{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.account-disabled{text-align:center;background:#f4f7fb}.account-disabled .setup-card{max-width:520px}.account-disabled .primary-button{margin-top:.75rem}.setup-card{border:1px solid var(--line);background:#fff;border-radius:18px;max-width:620px;padding:2.5rem;box-shadow:0 22px 60px #10233c1a}.setup-card .eyebrow{margin-top:1.5rem}.setup-card code{background:#eef2f7;border-radius:5px;padding:.15rem .35rem}.app-shell{grid-template-columns:245px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;padding:1.2rem 1rem}.sidebar-brand{align-items:center;gap:.8rem;padding:.2rem .3rem 1.8rem;display:flex}.sidebar-brand div{gap:.2rem;display:grid}.sidebar-brand small{color:#99aac0;font-size:.68rem}.sidebar nav{gap:.35rem;display:grid}.nav-item{color:#b9c7d8;text-align:left;background:0 0;border:0;border-radius:8px;padding:.75rem .9rem}.nav-item.active{color:#fff;background:#ffffff1a;font-weight:600}.nav-item:disabled{cursor:default;opacity:.5}.main-area{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:70px;padding:0 2rem;display:flex}.topbar-title{font-weight:700}.account{align-items:center;gap:1rem;display:flex}.account>div{text-align:right;display:grid}.account small{color:var(--muted)}.account button{border:1px solid var(--line);color:#46566b;background:#fff;border-radius:8px;padding:.5rem .75rem}.page-content{padding:2rem}.page-heading{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.page-heading h1{margin-bottom:.45rem;font-size:1.75rem}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.2rem;display:grid}.metric-card,.content-card{border:1px solid var(--line);background:#fff;border-radius:12px}.metric-card{gap:.3rem;padding:1.2rem 1.3rem;display:grid}.metric-card strong{color:var(--navy);font-size:1.8rem}.metric-card span{color:var(--muted);font-size:.8rem}.content-card{overflow:hidden}.admin-grid{grid-template-columns:minmax(300px,390px) minmax(0,1fr);align-items:start;gap:1.2rem;display:grid}.user-tabs{gap:.6rem;margin-bottom:.2rem;display:flex}.user-tabs .btn{border:1px solid #cbd5e1}.user-tabs .btn.pri{border-color:var(--brand)}.user-form{gap:1rem;padding:1.25rem;display:grid}.user-form h2,.card-heading h2{margin-bottom:.35rem;font-size:1.05rem}.user-form label{color:#34445a;gap:.4rem;font-size:.8rem;font-weight:600;display:grid}.user-form input,.user-form select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-width:0;padding:.72rem .8rem}.user-form input:focus,.user-form select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #123fa31f}.user-form .user-check,.user-dialog .user-check{flex-direction:row;align-items:center;gap:.55rem;display:flex}.user-form .user-check input,.user-dialog .user-check input{flex:none;width:1rem;height:1rem;margin:0;padding:0}.card-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1.15rem 1rem;display:flex}.card-heading h2{margin:0}.card-heading span{color:var(--muted);font-size:.78rem}.state-message{color:var(--muted);text-align:center;padding:4rem 2rem}.state-message h2{color:var(--navy);font-size:1.1rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #edf1f6;padding:.9rem 1rem}th{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.7rem}td{font-size:.82rem}.status{border-radius:999px;padding:.3rem .6rem;font-size:.72rem;font-weight:600;display:inline-block}.status.active{color:#18764a;background:#e9f7f0}.status.draft{color:#58677a;background:#f1f4f8}.status.completed{color:#285e9f;background:#e8f1ff}.status.archived{color:#786044;background:#f5f0e9}@media (width<=800px){.toast-region{width:auto;top:1rem;left:1rem;right:1rem}.auth-page{grid-template-columns:1fr}.auth-brand{display:none}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:0 1rem}.topbar-title{display:none}.account{justify-content:space-between;width:100%}.page-content{padding:1rem}.metric-grid,.admin-grid{grid-template-columns:1fr}}
