:root{--ink:#16212e;--muted:#5d6b7a;--line:#dfe4ea;--bg:#f5f7f9;--panel:#fff;--brand:#0f766e;--brand-soft:#e6f4f2;--crit:#c2410c;--sel:#fff5d6;--done:#64748b;--wbs:#e9eef3;--subtle:#f8fafb;--soft:#e5e9ee;--chrome:#16212e;--cum:#1e3a8a;--subtle-a:#f8fafbf0;--line-strong:#c9d3dc;--wk:#fde68a;--input:#fff;--wbsbar:#334155;--wbs-l0:#d5e3ef;--wbs-l1:#e0eaf3;--wbs-l2:#e9f0f6;--wbs-l3:#f0f4f8;--wbs-l4:#f5f7fa;--zebra:#f7f9fb;--pv:#d97706;--ac:#be123c;--fc:#2563eb;--dd:#7c3aed;--itc:#db2777;--bac:#475569;--selc:#0284c7;--loe-f:#bfdbfe;--loe-s:#3b82f6;--link:#9aa8b6;--linkd:#475569;--done-f:#a3adba;--done-s:#64748b;--axis:#94a3b8;--pq:#c2410c;--bar-f:#5eead4;--bar-s:#0f766e;--bin-f:#99f6e4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--bg);font-family:Segoe UI,system-ui,sans-serif;font-size:13px}*{box-sizing:border-box}body{margin:0}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--line);background:var(--input);border-radius:4px;min-width:0;padding:3px 6px}button{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:4px;padding:3px 10px}button:hover:not(:disabled){border-color:var(--brand)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--brand);border-color:var(--brand);color:#fff}button.danger{color:var(--crit)}button.warn{color:var(--crit);border-color:#f3c3a5}button.x{color:var(--muted);background:0 0;border:none;padding:0 4px}button.lnk{color:var(--brand);background:0 0;border:none;padding:0;text-decoration:underline}.app{flex-direction:column;height:100vh;display:flex}.brand{background:var(--chrome);color:#fff;align-items:center;gap:10px;padding:7px 14px;display:flex}.brand .logo{color:#2dd4bf;font-size:16px}.brand .name{letter-spacing:.03em;white-space:nowrap;font-weight:700}.brand .proj{color:#b8c4d0}.brand .right{color:#b8c4d0;margin-left:auto}.brand b{color:#fff}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:6px 14px;display:flex}.toolbar .grp{align-items:center;gap:4px;display:flex}.toolbar .right{margin-left:auto}.toolbar .search{width:180px}label.chk{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.main{flex:1;min-height:0;display:flex}.center{flex-direction:column;flex:1;min-width:0;display:flex}footer{color:var(--muted);background:var(--panel);border-top:1px solid var(--line);gap:12px;padding:4px 14px;font-size:12px;display:flex}footer .right{margin-left:auto}.chart{background:var(--panel);flex:1;min-height:0;position:relative;overflow:auto}.chart .hdr{z-index:3;background:var(--panel);border-bottom:1px solid var(--line);height:36px;display:flex;position:sticky;top:0}.chart .lh{z-index:4;background:var(--subtle);border-right:1px solid var(--line);display:flex;position:sticky;left:0}.chart .hc{color:var(--muted);border-right:1px solid var(--soft);padding:10px 6px 0;font-size:11px;font-weight:600}.chart .hc.dur,.chart .hc.tf{text-align:right}.chart .hc{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chart .hc:hover{color:var(--brand)}.chart .hc.n{text-align:right}.gantt .blbar{fill:var(--wk);stroke:var(--pv);stroke-width:.6px}.gantt .blms{fill:var(--pv)}.drawer .cols{flex-direction:column;padding:6px 12px;display:flex}.drawer .colrow{border-bottom:1px solid var(--soft);align-items:center;gap:4px;padding:2px 0;display:flex}.drawer .colrow>:first-child{flex:1}.drawer .colgrp{flex-wrap:wrap;align-items:center;gap:2px 10px;display:flex}.drawer .colgrp b{color:var(--muted);flex-basis:100%;font-size:11px}.drawer .row2{gap:4px;display:flex}.drawer .row2 input{flex:1}.chart .ts .mo{fill:var(--subtle);stroke:var(--soft)}.chart .ts text{fill:var(--muted);font-size:10px}.chart .ts .tk{stroke:var(--soft)}.chart .body{display:flex}.chart .lcol{z-index:2;background:var(--panel);border-right:1px solid var(--line);position:sticky;left:0}.chart .row{height:var(--rh,24px);border-bottom:1px solid var(--soft);cursor:default;display:flex}.chart .row.sel .c{background:var(--sel)}.chart .row.wbs .c{background:var(--wbs);font-weight:600}.chart .row.wbs.sel .c{background:#ffeeb3}.chart .row.wbs .n{color:var(--muted);font-weight:400}.chart .c{white-space:nowrap;text-overflow:ellipsis;border-right:1px solid var(--soft);padding:4px 6px;overflow:hidden}.chart .c.n{text-align:right;font-variant-numeric:tabular-nums}.chart .c.d{font-variant-numeric:tabular-nums}.chart .c.neg{color:var(--crit);font-weight:600}.chart .row.crit .code{box-shadow:inset 3px 0 0 var(--crit)}.chart .row.done .c{color:var(--done)}.chart .c input{width:100%;height:18px;padding:0 3px}.chart .tw{color:var(--muted);background:0 0;border:none;padding:0 4px 0 0}.gantt .grid{stroke:var(--soft)}.gantt .plan{fill:#2dd4bf;stroke:#0f766e}.gantt .crit .plan{fill:#fb923c;stroke:var(--crit)}.gantt .done{fill:var(--done-f);stroke:var(--done-s)}.gantt .loe .plan{fill:var(--loe-f);stroke:var(--loe-s)}.gantt .wbsbar{fill:var(--wbsbar)}.gantt .ms{fill:#0f766e}.gantt .crit .ms{fill:var(--crit)}.gantt .msdone{fill:var(--done-s)}.gantt .selring{fill:none;stroke:var(--selc);stroke-width:1.5px}.gantt .link{fill:none;stroke:var(--link);stroke-width:1px}.gantt .link.drv{stroke:var(--linkd)}.gantt .link.hl{stroke:var(--selc);stroke-width:1.6px}.gantt .arrow{fill:var(--linkd)}.gantt .dd{stroke:var(--dd);stroke-width:1.5px;stroke-dasharray:4 3}.gantt .bar{cursor:pointer}.chart .empty{color:var(--muted);position:absolute;top:80px;left:40px}.detail{border-top:2px solid var(--brand);background:var(--panel);height:250px;overflow:auto}.detail.empty{color:var(--muted);height:60px;padding:14px}.detail .tabs{border-bottom:1px solid var(--line);background:var(--panel);align-items:flex-end;gap:2px;padding:6px 10px 0;display:flex;position:sticky;top:0}.detail .tabs button{background:var(--subtle);border-bottom:none;border-radius:4px 4px 0 0}.detail .tabs button.on{background:var(--panel);border-color:var(--brand);font-weight:600}.detail .title{color:var(--muted);margin-left:12px;padding-bottom:4px;font-weight:600}.form{flex-wrap:wrap;align-items:flex-end;gap:8px 14px;padding:10px;display:flex}.form label{color:var(--muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.form label input,.form label select{color:var(--ink);font-size:13px}.form label.w{flex:1;min-width:260px}.form .facts{color:var(--muted);flex-basis:100%;font-size:12px}.form .facts b{color:var(--ink)}span.crit,b.crit,.form .facts b.crit{color:var(--crit);font-weight:600}.warn{color:var(--crit)}.form.v{flex-direction:column;align-items:stretch}.form.v label.chk{flex-direction:row}.notes{width:calc(100% - 20px);min-height:160px;margin:10px}.relpanel{padding:8px 10px}.addrel{gap:6px;margin-bottom:6px;display:flex}.relpanel .two{grid-template-columns:1fr 1fr;gap:12px;display:grid}table.rels{border-collapse:collapse;width:100%}.rels th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:2px 4px;font-size:11px}.rels td{border-bottom:1px solid var(--soft);padding:2px 4px}.rels .w{width:100%}.rels input.s{width:60px}.rels td.n{text-align:right}.drawer{border-left:1px solid var(--line);background:var(--panel);width:340px;padding-bottom:20px;overflow:auto}.drawer.wide{width:380px}.drawer .dh{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 12px;display:flex}.drawer h4{color:var(--brand);text-transform:uppercase;letter-spacing:.06em;margin:10px 12px 0;font-size:12px}.drawer .days{flex-wrap:wrap;gap:4px 10px;display:flex}.drawer .hol{flex-direction:column;gap:4px;display:flex}.drawer .hol .row{gap:4px;display:flex}.drawer .ig{border-bottom:1px solid var(--soft);padding:8px 12px}.chip{background:var(--brand-soft);cursor:pointer;border:1px solid #cdeae6;border-radius:10px;align-items:center;gap:2px;margin:2px 4px 2px 0;padding:0 8px;font-size:11px;display:inline-flex}.hint{color:var(--muted);font-size:12px}.chart .histo{z-index:3;background:var(--panel);border-top:2px solid var(--line);height:112px;display:flex;position:sticky;bottom:0}.chart .histo .hl{z-index:4;background:var(--subtle);border-right:1px solid var(--line);flex-direction:column;gap:4px;padding:6px 8px;display:flex;position:sticky;left:0}.chart .histo .hl select{max-width:240px}.hg .load{fill:var(--bar-f);stroke:var(--bar-s);stroke-width:.6px}.hg .over{fill:#fb923c;stroke:var(--crit);stroke-width:.6px}.hg .limit{stroke:var(--crit);stroke-width:1.2px;stroke-dasharray:5 3}.hg .hgrid{stroke:var(--soft)}.hg .base{stroke:var(--axis)}.hg .hlab{fill:var(--muted);font-size:9px}table.rtab{border-collapse:collapse;width:calc(100% - 24px);margin:0 12px}.rtab th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:2px 3px;font-size:11px}.rtab td{padding:2px 3px}.rtab input{width:100%}.rtab input.s{width:60px}.rtab select{width:100%}.hint.pad{padding:0 12px}label.inl{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}label.inl input.s,.addrel input.s{width:60px}.incoming{background:var(--brand-soft);border-bottom:1px solid #cdeae6;align-items:center;gap:10px;padding:7px 14px;display:flex}.incoming .x{margin-left:auto}.exps{margin-top:8px}.exps b.sub{color:var(--brand);align-self:center;font-size:12px}.exps .addrel input:not(.s){flex:1}.rels input.m{width:90px}.rels td.w input{width:100%}.gantt .lvl{stroke:#64748b;stroke-width:1px;stroke-dasharray:2 2}.brand .pjbtn{color:#b8c4d0;background:0 0;border-color:#3b4855;padding:1px 8px;font-size:12px}.brand .pjbtn:hover{color:#fff}table.ptab{border-collapse:collapse;font-variant-numeric:tabular-nums;width:calc(100% - 24px);margin:6px 12px}.ptab th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:3px 4px;font-size:11px}.ptab td{border-bottom:1px solid var(--soft);white-space:nowrap;padding:3px 4px}.ptab td.n{text-align:right}.ptab .neg{color:var(--crit);font-weight:600}.ptab tr.on td{background:var(--sel)}.ptab tfoot td{border-top:1px solid var(--line);font-weight:600}.ptab td .hint{text-overflow:ellipsis;vertical-align:bottom;max-width:150px;display:inline-block;overflow:hidden}.ptab .acts{gap:2px;display:flex}.tag{background:var(--wbs);color:var(--muted);border-radius:6px;margin-left:4px;padding:0 5px;font-size:10px}dl.kpi{grid-template-columns:repeat(5,1fr);gap:8px;margin:4px 12px 8px;display:grid}dl.kpi>div{background:var(--subtle);border-radius:6px;padding:6px 8px}dl.kpi dt{color:var(--muted);font-size:11px}dl.kpi dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:16px;font-weight:600}dl.kpi dd.neg{color:var(--crit)}dl.kpi small{color:var(--muted);font-size:11px}svg.scurve{margin:0 12px}.scurve .gl{stroke:var(--soft)}.scurve .ax{stroke:var(--axis)}.scurve text{fill:var(--muted);font-size:10px}.scurve .yl{text-anchor:end}.scurve .pv{fill:none;stroke:var(--pv);stroke-width:2px;stroke-dasharray:6 3}.scurve .fc{fill:none;stroke:var(--fc);stroke-width:2px}.scurve .ev{fill:none;stroke:var(--ink);stroke-width:2.4px}.scurve .evp{fill:var(--ink)}.scurve .dd{stroke:var(--dd);stroke-width:1.2px;stroke-dasharray:4 3}.lg.pad{color:var(--muted);padding:4px 12px;font-size:11px}.lg i{vertical-align:middle;border-top:2px solid;width:18px;height:0;margin:0 4px 2px 10px;display:inline-block}.lg i:first-child{margin-left:0}.lg i.pv{border-color:var(--pv);border-top-style:dashed}.lg i.fc{border-color:var(--fc)}.lg i.ev{border-color:var(--ink);border-top-width:3px}.lg i.dd{border-color:var(--dd);border-top-style:dashed}.bottom{background:var(--panel);border-top:2px solid var(--brand);flex-direction:column;flex:none;display:flex;position:relative}.bottom .grip{cursor:ns-resize;z-index:5;height:8px;position:absolute;top:-5px;left:0;right:0}.bottom.closed .grip{display:none}.bottom .btabs{background:var(--subtle);border-bottom:1px solid var(--line);gap:2px;padding:3px 10px 0;display:flex}.bottom .btabs button{color:var(--muted);background:0 0;border-color:#0000;border-bottom-style:none;border-bottom-width:medium;border-radius:4px 4px 0 0;font-size:12px}.bottom .btabs button.on{background:var(--panel);border-color:var(--line);color:var(--ink);font-weight:600}.bottom .btabs .hide{margin-left:auto;font-size:14px}.bottom .bbody{overflow:hidden}.bottom .detail{border-top:none;height:100%}.bottom .detail.empty{height:100%}.tpane{scrollbar-width:none;height:100%;overflow:auto hidden}.tpane::-webkit-scrollbar{display:none}.tpane .tin{height:100%;display:flex}.tpane .tl{z-index:2;background:var(--subtle);border-right:1px solid var(--line);flex-direction:column;flex:none;gap:4px;padding:6px 54px 6px 8px;display:flex;position:sticky;left:0;overflow:hidden}.tpane .tl select{max-width:240px}.tpane .tl .yax{color:var(--muted);font-size:10px;position:absolute;right:6px}.tpane .tl .yax.lim{color:var(--crit)}.tpane .tl .kpis{color:var(--muted);font-size:12px}.tpane .tl .kpis b{color:var(--ink)}.tpane .tl .lg{color:var(--muted);font-size:11px}.tpane .tl .row2{gap:4px;display:flex}.tpane .tl .lg i{vertical-align:middle;border-top:2px solid;width:16px;height:0;margin:0 4px 2px 8px;display:inline-block}.tpane .tl .lg i:first-child{margin-left:0}.tpane .tl .lg i.pv{border-color:var(--pv);border-top-style:dashed}.tpane .tl .lg i.fc{border-color:var(--fc)}.tpane .tl .lg i.ev{border-color:var(--ink);border-top-width:3px}.hg .cum{fill:none;stroke:var(--cum);stroke-width:1.8px}.hg .ddl{stroke:var(--dd);stroke-width:1.2px;stroke-dasharray:4 3}.tpane svg.scurve,.tpane svg.hg{flex:none;margin:0}.rail{scrollbar-width:thin;background:#1d2a38;flex-direction:column;flex:none;gap:2px;width:66px;padding:6px 4px;display:flex;overflow-y:auto}.main.rail-left .rail{order:-2}.main.rail-left .drawer{order:-1}.main.rail-left .center{order:0}.rail .rg{border-bottom:1px solid #2c3b4c;flex-direction:column;gap:1px;margin-bottom:4px;padding-bottom:6px;display:flex}.rail .rg.end{border-bottom:none;margin-top:auto}.rail .rgl{text-transform:uppercase;letter-spacing:.08em;color:#7d8b9a;text-align:center;padding:2px 0;font-size:9px}.rail .rb{color:#c9d3dc;cursor:pointer;text-align:center;background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:center;gap:1px;padding:5px 2px 4px;font-size:10px;line-height:12px;display:flex}.rail .rb:hover:not(:disabled){color:#fff;background:#2a3a4c}.rail .rb.on{color:#fff;background:#0f766e}.rail .rb:disabled{opacity:.35;cursor:default}.rail .rb.warn span{color:#fdba74}.rail .rb.warn.on span{color:#fff}.rail label.rb input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.rail label.rb{position:relative}.rail .rb:focus-visible,.rail label.rb:focus-within{outline-offset:-2px;outline:2px solid #2dd4bf}.rail .ri{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.brand .search{color:#fff;background:#24323f;border-color:#3b4855;width:200px;margin-left:12px}.brand .search::placeholder{color:#8796a5}table.evt{border-collapse:collapse;font-variant-numeric:tabular-nums;width:calc(100% - 24px);margin:4px 12px}.evt th{text-align:left;color:var(--brand);text-transform:uppercase;letter-spacing:.05em;vertical-align:top;width:90px;padding:2px 4px;font-size:11px}.evt td{border-bottom:1px solid var(--soft);padding:2px 4px}.evt td[title]{cursor:help}.evt td.n{text-align:right;font-weight:600}.evt td.neg{color:var(--crit)}.evt tr.gs td,.evt tr.gs th{border-top:1px solid var(--line);padding-top:5px}.evwrap{overflow-x:auto}p.warn.pad{margin:4px 0;padding:0 12px;font-size:12px}.tag.bad{color:var(--crit);background:#ffedd5}.form .hint.w{flex-basis:100%}.scurve .acl{fill:none;stroke:var(--ac);stroke-width:2px}.scurve .acp{fill:var(--ac)}.scurve .bacl{stroke:var(--bac);stroke-width:1px;stroke-dasharray:2 3}.scurve .eacl{stroke:var(--ac);stroke-width:1.2px;stroke-dasharray:6 3}.tpane .tl .lg i.ac{border-color:var(--ac)}.tpane .tl .lg i.bac{border-color:var(--bac);border-top-style:dotted}.rail{gap:0;padding:4px 3px}.rail .rb{padding:3px 2px 2px;font-size:9.5px;line-height:11px}.rail .ri{width:18px;height:18px}.rail .rg{margin-bottom:2px;padding-bottom:3px}.rail .rgl{padding:1px 0}.cmenu{z-index:50;background:var(--panel);border:1px solid var(--line-strong);border-radius:6px;outline:none;flex-direction:column;min-width:230px;padding:4px;display:flex;position:fixed;box-shadow:0 6px 20px #16212e2e}.cmenu button{text-align:left;cursor:default;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:4px 8px 4px 2px;font-size:12.5px;display:flex}.cmenu button.cur:not(:disabled){background:var(--brand-soft)}.cmenu button:disabled{opacity:.4}.cmenu button.danger .ml{color:var(--crit)}.cmenu .mc{text-align:center;width:14px;color:var(--brand)}.cmenu .ml{flex:1}.cmenu .mh{color:var(--muted);margin-left:16px;font-size:11px}.cmenu .msep{background:var(--line);height:1px;margin:3px 4px}.scurve .wkb{fill:var(--wk);opacity:.55}.tpane .tl .lg .wk{background:var(--wk);vertical-align:middle;width:10px;height:8px;margin:0 4px 0 8px;display:inline-block}.chart .hdr{height:auto}.chart .lh{align-items:flex-end}.chart .hc{align-self:flex-end;padding-top:0;padding-bottom:6px}.chart .ts{cursor:ew-resize;-webkit-user-select:none;user-select:none}.chart .ts .mi{fill:var(--panel);stroke:var(--soft)}body.ew,body.ew *{-webkit-user-select:none;user-select:none;cursor:ew-resize!important}.tpane .tr{flex-direction:column;display:flex}.tpane svg.pts{border-bottom:1px solid var(--line);flex:none}svg.ts .mo{fill:var(--subtle);stroke:var(--soft)}svg.ts .mi{fill:var(--panel);stroke:var(--soft)}svg.ts text{fill:var(--muted);font-size:10px}svg.ts .tk{stroke:var(--soft)}.sky .blk{cursor:pointer}.sky .blk rect{stroke-width:.7px}.sky .blk text{fill:var(--ink);pointer-events:none;font-size:9.5px}.sky .done rect{fill:var(--done-f);stroke:var(--done-s)}.sky .prog rect{fill:var(--bar-f);stroke:var(--bar-s)}.sky .todo rect{fill:var(--panel);stroke:var(--done-s)}.sky .ms.todo rect,.sky .ms.prog rect{fill:#e0e7ff;stroke:#4338ca}.sky .crit rect{stroke:var(--crit);stroke-width:1.6px}.sky .sel rect{stroke:var(--selc);stroke-width:2px}.sky .ol{fill:none;stroke:var(--pv);stroke-width:2px;stroke-dasharray:5 3}.sky .dd{stroke:var(--dd);stroke-width:1.2px;stroke-dasharray:4 3}.sky .ax{stroke:var(--axis)}.tpane .tl .lg.sky i.b{border:1px solid;width:12px;height:9px;margin:0 3px 0 8px}.tpane .tl .lg.sky i.b:first-child{margin-left:0}.tpane .tl .lg.sky i.done{background:var(--done-f);border-color:var(--done-s)}.tpane .tl .lg.sky i.prog{background:var(--bar-f);border-color:var(--bar-s)}.tpane .tl .lg.sky i.todo{background:var(--panel);border-color:var(--done-s)}.tpane .tl .lg.sky i.ms{background:#e0e7ff;border-color:#4338ca}.tpane .tl .lg.sky i.crit{background:var(--panel);border:2px solid var(--crit)}.tpane .tl .lg.sky i.ol{border-top:2px dashed var(--pv)}.sky .pcol{fill:#0000}.sky .pcol:hover{fill:#0f766e0d}.hovercard{z-index:60;pointer-events:none;background:var(--panel);border:1px solid var(--line-strong);border-radius:6px;max-width:320px;padding:7px 9px;font-size:12px;position:fixed;box-shadow:0 6px 18px #16212e2e}.hovercard table{border-collapse:collapse;font-variant-numeric:tabular-nums;margin-top:4px}.hovercard th{text-align:left;color:var(--muted);white-space:nowrap;padding:1px 10px 1px 0;font-weight:400}.hovercard td{padding:1px 0}.hovercard .neg{color:var(--crit);font-weight:600}.hovercard .hint{font-size:11px}.bottom .btabs .max{margin-left:auto;font-size:14px}.bottom .btabs .max+.hide{margin-left:0}.sky .blk text{font-size:10px}.skyfit{flex-direction:column;height:100%;display:flex;overflow:hidden}.skyfit svg{flex:none;display:block}.skyfit .skyctl{background:var(--subtle);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:2px 14px;height:52px;padding:5px 8px;font-size:12px;display:flex;overflow:hidden}.skyfit .skyctl .row2{gap:4px;display:flex}.skyfit .skyctl .kpis{color:var(--muted)}.skyfit .skyctl .kpis b{color:var(--ink)}.skyfit .skyctl .kpis br{display:none}.skyfit .skyctl .lg{color:var(--muted);font-size:11px}.skyfit .skyctl .lg.sky i.b{vertical-align:middle;border:1px solid;width:12px;height:9px;margin:0 3px 0 8px;display:inline-block}.skyfit .skyctl .lg.sky i.done{background:var(--done-f);border-color:var(--done-s)}.skyfit .skyctl .lg.sky i.prog{background:var(--bar-f);border-color:var(--bar-s)}.skyfit .skyctl .lg.sky i.todo{background:var(--panel);border-color:var(--done-s)}.skyfit .skyctl .lg.sky i.ms{background:#e0e7ff;border-color:#4338ca}.skyfit .skyctl .lg.sky i.crit{background:var(--panel);border:2px solid var(--crit)}.skyfit .skyctl .lg.sky i.ol{vertical-align:middle;border-top:2px dashed var(--pv);width:16px;margin:0 3px 2px 8px;display:inline-block}.tpane .tl .stk{flex-direction:column;gap:1px;min-height:0;padding-right:2px;font-size:11px;display:flex;overflow-y:auto}.tpane .tl .stk .sk{align-items:center;gap:5px;display:flex}.tpane .tl .stk i{border-radius:2px;flex:none;width:11px;height:11px}.tpane .tl .stk .sl{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tpane .tl .stk .sh{color:var(--muted);font-variant-numeric:tabular-nums}.hg .seg{stroke:var(--panel);stroke-width:.5px;cursor:default}.hg .seg:hover{opacity:.8}.hg .overline{fill:none;stroke:var(--crit);stroke-width:1.5px}.axcol{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:10px;position:relative}.axcol .axt{color:var(--muted);align-items:flex-end;padding:0 4px 2px;font-size:10px;font-weight:600;line-height:11px;display:flex}.axcol .axl{white-space:nowrap;position:absolute}.axcol.left .axl{right:4px}.axcol.right .axl{left:4px}.axcol.cum,.axcol.cum .axt{color:var(--cum)}.tpane .tl>.axcol.left{position:absolute;top:0;bottom:0;right:0}.tpane .tl .yax{display:none}.tpane .axcol.right{z-index:3;background:var(--subtle-a);border-left:1px solid var(--line);height:100%;position:sticky;right:0}.tpane .axcol.right .axt{justify-content:flex-start}.skyrow{flex:1;min-height:0;display:flex}.skyrow .skymid{flex-direction:column;flex:none;display:flex}.skyrow .axcol.right{border-left:1px solid var(--line);background:var(--subtle)}.skyrow .axcol.left{border-right:1px solid var(--line)}.sky .gl{stroke:var(--soft)}.sky .cumf{fill:none;stroke:var(--cum);stroke-width:2px}.sky .cumb{fill:none;stroke:var(--pv);stroke-width:1.5px;stroke-dasharray:2 3}.hg .cum,.hg .limit,.hg .ddl,.hg .overline,.sky .cumf,.sky .cumb,.sky .ol,.sky .dd,.sky .gl,.hg .hgrid{pointer-events:none}.rprog{background:var(--soft);border-radius:5px;align-self:center;width:220px;height:10px;overflow:hidden}.rprog div{background:var(--brand);height:100%;transition:width .2s}.tornado{flex-direction:column;gap:2px;padding:4px 12px;display:flex}.tornado .tr{cursor:pointer;grid-template-columns:1fr 160px 44px;align-items:center;gap:6px;font-size:12px;display:grid}.tornado .tr:hover{background:var(--brand-soft)}.tornado .tn{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tornado .tb{background:var(--subtle);border-radius:2px;height:11px}.tornado .tb i{background:#0f766e;border-radius:2px;height:100%;display:block}.tornado .tb i.neg{background:#94a3b8}.tornado .tv{text-align:right;font-variant-numeric:tabular-nums}.riskd .rbin{fill:var(--bin-f);stroke:var(--bar-s);stroke-width:.6px}.riskd .rcum{fill:none;stroke:var(--cum);stroke-width:2px;pointer-events:none}.riskd .gl{stroke:var(--soft)}.riskd .rmark line{stroke-width:1.4px;pointer-events:none}.riskd .rmark text{font-size:10px;font-weight:600}.riskd .rmark.det line{stroke:var(--ink);stroke-dasharray:2 2}.riskd .rmark.det text{fill:var(--ink)}.riskd .rmark.pq line{stroke:var(--pq);stroke-dasharray:5 3}.riskd .rmark.pq text{fill:var(--pq)}.riskd .dd{stroke:var(--dd);stroke-width:1.2px;stroke-dasharray:4 3}.riskd .ax{stroke:var(--axis)}.tpane .tl .lg .wk.rk{background:var(--bin-f);border:1px solid var(--bar-s)}.tpane .tl .lg i.cumr{border-color:var(--cum)}.tornado .tr.rev .tn{color:#9a3412}.tornado .tr.rev .tb i{background:#ea580c}.heat{grid-template-rows:auto 16px;grid-template-columns:20px auto;align-items:center;gap:2px 4px;padding:6px 12px;display:grid}.heat .hy{writing-mode:vertical-rl;color:var(--muted);text-align:center;font-size:10px;transform:rotate(180deg)}.heat .hx{color:var(--muted);grid-column:2;font-size:10px}.heat .hg5{grid-template-columns:repeat(5,46px);grid-auto-rows:26px;gap:2px;display:grid}.hc5{border-radius:3px;justify-content:center;align-items:center;font-size:12px;display:flex}.hc5.lo{background:#d1fae5}.hc5.md{background:#fef3c7}.hc5.hi{background:#fecaca}.hc5 b{color:var(--ink)}.rt{text-align:center;background:var(--subtle);border-radius:8px;min-width:26px;padding:0 6px;font-size:11px;font-weight:600;display:inline-block}.rt.lo{color:#065f46;background:#d1fae5}.rt.md{color:#92400e;background:#fef3c7}.rt.hi{color:#991b1b;background:#fecaca}.rgt tr{cursor:pointer}.rged{border-top:2px solid var(--line);margin-top:6px}fieldset.assess{border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:4px;margin:6px 12px;padding:6px 8px;display:flex}fieldset.assess legend{color:var(--brand);font-size:11px;font-weight:600}.tri{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mxset .row2{flex-basis:100%;align-items:center;gap:4px;display:flex}.mxset .row2 .hint{width:170px}.brand .kpi-hd{cursor:pointer;border:1px solid #3b4855;border-radius:4px;margin-right:14px;padding:1px 8px}.brand .kpi-hd b{color:#5eead4;margin-right:4px}.brand .kpi-hd b.bad{color:#fdba74}.riskd .axin{fill:var(--muted);font-size:10px}.riskd .axin.r{text-anchor:end}.riskd .axin.c{text-anchor:middle}.jcl .jin{fill:#0f766e;opacity:.55}.jcl .jout{fill:#94a3b8;opacity:.45}.jcl .jq{fill:#d1fae5;opacity:.5}.riskd .band{fill:var(--bin-f);opacity:.55;stroke:none}.tpane .tl .lg .wk.band{background:var(--bin-f)}.form .row2.cu{flex-basis:100%;align-items:center;gap:10px;display:flex}.form .row2.cu label.chk{width:140px}.facts.corr{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.facts.corr .chip input{width:48px;padding:0 2px}.facts.struct{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.facts.struct .chip input{width:48px;padding:0 2px}.facts.struct .w{flex-basis:100%}.form.fw{align-items:center;gap:4px 8px;padding:3px 12px}.form.fw.sub{padding-left:28px}.form.fw input[type=date]{width:130px}.wxc{border-left:3px solid #bae6fd;margin:4px 12px}.lg .scl{margin-right:12px}.lg .scl i{vertical-align:middle;border-top:3px solid;width:16px;height:0;margin:0 4px 2px 0;display:inline-block}.riskd .p80l{stroke:var(--pq);stroke-dasharray:2 3}.qc tr.click{cursor:pointer}.qc tr.click:hover td{background:var(--brand-soft)}.qd{border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.qd.ok{background:#16a34a}.qd.bad{background:var(--crit)}.qd.na{background:#cbd5e1}.rels td.btns{white-space:nowrap}.rels td.btns button:disabled{opacity:.3}.rels td.btns button+button{margin-left:2px}.iterc{flex-direction:column;flex-basis:100%;gap:4px;display:flex}.iterbar{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.iterbar button.on{background:var(--brand-soft);border-color:var(--brand)}.iterbar input[type=range]{width:180px}.it-moved .chip{margin-right:4px}.rmark.it line{stroke:var(--itc);stroke-width:2px}.rmark.it text{fill:var(--itc);font-weight:600}.gantt .itbar{fill:none;stroke:var(--itc);stroke-width:1.5px;stroke-dasharray:4 2;pointer-events:none}.gantt .itbar.itcrit{stroke:var(--crit)}.gantt .itgone{stroke:var(--itc);stroke-width:1px;pointer-events:none}.skyfit .skyctl.auto{height:auto;max-height:120px}.wtabs{border-bottom:1px solid var(--line);scrollbar-width:thin;background:#0e1720;flex:none;align-items:flex-end;gap:2px;padding:4px 10px 0;display:flex;overflow-x:auto}.wtab{color:#b8c4d0;cursor:pointer;white-space:nowrap;background:#1f2b37;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;align-items:center;gap:6px;max-width:260px;padding:5px 6px 5px 12px;font-size:12px;display:flex}.wtab:hover{color:#fff;background:#2a3846}.wtab.on{background:var(--panel);color:var(--ink);border-color:var(--line);margin-bottom:-1px;padding-bottom:6px}.wtab .wt-code{font-weight:600}.wtab .wt-name{text-overflow:ellipsis;opacity:.75;overflow:hidden}.wtab .wt-x{color:inherit;opacity:.55;background:0 0;border:none;padding:0 4px;font-size:14px;line-height:1}.wtab .wt-x:hover{opacity:1;background:#7f7f7f40}.wtabs .wt-add{color:#b8c4d0;background:0 0;border:none;align-self:center;margin-left:4px;padding:0 8px;font-size:16px}.wtabs .wt-add:hover{color:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#e3e9ef;--muted:#98a6b4;--line:#2c3a47;--bg:#0d151c;--panel:#151f29;--brand:#2dd4bf;--brand-soft:#113a37;--crit:#fb923c;--sel:#3b3320;--done:#94a3b8;--wbs:#1b2632;--subtle:#111b24;--soft:#26323e;--chrome:#0a1117;--cum:#93c5fd;--subtle-a:#111b24f0;--line-strong:#3a4a59;--wk:#3d3416;--input:#0f1821;--wbsbar:#8fa1b3;--wbs-l0:#23384c;--wbs-l1:#1f3142;--wbs-l2:#1c2b39;--wbs-l3:#1a2633;--wbs-l4:#18222d;--zebra:#18232e;--pv:#f59e0b;--ac:#fb7185;--fc:#60a5fa;--dd:#c084fc;--itc:#f472b6;--bac:#94a3b8;--selc:#fde047;--loe-f:#1e3a8a;--loe-s:#93c5fd;--link:#5b6b7b;--linkd:#a3b1bf;--done-f:#5b6878;--done-s:#94a3b8;--axis:#4b5a69;--pq:#fdba74;--bar-f:#0f766e;--bar-s:#2dd4bf;--bin-f:#115e59;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ink:#e3e9ef;--muted:#98a6b4;--line:#2c3a47;--bg:#0d151c;--panel:#151f29;--brand:#2dd4bf;--brand-soft:#113a37;--crit:#fb923c;--sel:#3b3320;--done:#94a3b8;--wbs:#1b2632;--subtle:#111b24;--soft:#26323e;--chrome:#0a1117;--cum:#93c5fd;--subtle-a:#111b24f0;--line-strong:#3a4a59;--wk:#3d3416;--input:#0f1821;--wbsbar:#8fa1b3;--wbs-l0:#23384c;--wbs-l1:#1f3142;--wbs-l2:#1c2b39;--wbs-l3:#1a2633;--wbs-l4:#18222d;--zebra:#18232e;--pv:#f59e0b;--ac:#fb7185;--fc:#60a5fa;--dd:#c084fc;--itc:#f472b6;--bac:#94a3b8;--selc:#fde047;--loe-f:#1e3a8a;--loe-s:#93c5fd;--link:#5b6b7b;--linkd:#a3b1bf;--done-f:#5b6878;--done-s:#94a3b8;--axis:#4b5a69;--pq:#fdba74;--bar-f:#0f766e;--bar-s:#2dd4bf;--bin-f:#115e59;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg)}.theme-btn{color:#b8c4d0;background:0 0;border-color:#3b4855;padding:1px 8px;font-size:12px}.theme-btn:hover{color:#fff}.xlinks{margin-top:10px}.xlinks b.sub{color:var(--brand);align-self:center;font-size:12px}.chart .c{line-height:calc(var(--rh,24px) - 9px)}.chart.fs12{font-size:12px}.chart.fs13{font-size:13px}.chart.fs14{font-size:14px}.chart.wbsl .row.wbs.l0 .c{background:var(--wbs-l0)}.chart.wbsl .row.wbs.l1 .c{background:var(--wbs-l1)}.chart.wbsl .row.wbs.l2 .c{background:var(--wbs-l2)}.chart.wbsl .row.wbs.l3 .c{background:var(--wbs-l3)}.chart.wbsl .row.wbs.l4 .c,.chart.wbsl .row.wbs.l5 .c{background:var(--wbs-l4)}.chart.zebra .lcol .row.act:nth-child(2n) .c{background:var(--zebra)}.chart.zebra .row.act.sel .c{background:var(--sel)}.gantt .zebra{fill:var(--zebra);pointer-events:none}.chart.nocols .c{border-right-color:#0000}.gantt .rowline{stroke:var(--soft)}.chart .hc{position:relative}.chart .hc .rsz{cursor:col-resize;z-index:3;width:7px;height:100%;position:absolute;top:0;right:-3px}.chart .hc .rsz:hover{background:var(--brand);opacity:.35}.fcpane .seg{display:inline-flex}.fcpane .seg button{border-radius:0}.fcpane .seg button:first-child{border-radius:4px 0 0 4px}.fcpane .seg button:last-child{border-radius:0 4px 4px 0;margin-left:-1px}.fcpane .seg button.on{background:var(--brand-soft);border-color:var(--brand);position:relative}.fcsvg .fa{fill:var(--bar-s)}.fcsvg .fr{fill:var(--bin-f);stroke:var(--bar-s);stroke-width:.6px}.fcsvg .fbl{stroke:var(--pv);stroke-width:2px}.fcsvg .fcumbl{fill:none;stroke:var(--pv);stroke-width:1.6px;stroke-dasharray:5 3;pointer-events:none}.fcsvg .fhead{fill:none;stroke:var(--cum);stroke-width:2px;pointer-events:none}.fcsvg .pcol{fill:#0000}.fcsvg .pcol:hover{fill:var(--soft);opacity:.5}.fcsvg .axin.cumt{fill:var(--cum)}.fcsvg .axin.r{text-anchor:end}.fclg{color:var(--muted);padding:0 12px 4px 52px;font-size:11px}.fclg i.sw{vertical-align:middle;border-radius:2px;width:10px;height:9px;margin:0 4px 0 10px;display:inline-block}.fclg i.sw.fa{background:var(--bar-s)}.fclg i.sw.fr{background:var(--bin-f);border:1px solid var(--bar-s)}.fclg i.ln{vertical-align:middle;border-top:2px solid;width:16px;height:0;margin:0 4px 2px 10px;display:inline-block}.fclg i.ln.fbl{border-color:var(--pv)}.fclg i.ln.cumr{border-color:var(--cum)}.fclg i.ln.fcumbl{border-color:var(--pv);border-top-style:dashed}.fclg i.ln.fhead{border-color:var(--cum)}.fctable{flex:1;min-height:0;overflow:auto}.fctable table{border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:12px}.fctable th,.fctable td{border-bottom:1px solid var(--soft);white-space:nowrap;padding:3px 8px}.fctable th{background:var(--subtle);color:var(--muted);z-index:1;font-weight:600;position:sticky;top:0}.fctable td:first-child,.fctable th:first-child{background:var(--panel);text-align:left;z-index:2;border-right:1px solid var(--line);position:sticky;left:0}.fctable th:first-child{background:var(--subtle);z-index:3}.fctable td.n{text-align:right}.fctable .dd{box-shadow:inset 2px 0 0 var(--dd)}.fctable tr.sub td{color:var(--muted)}.fctable td.neg{color:var(--crit)}.fctable tr:hover td{background:var(--sel)}.dash{background:var(--bg);flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px 20px 28px;display:flex;overflow:auto}.dash .dhead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.dash h2{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:20px}.dash .dhead .sub{color:var(--muted);font-size:12px}.dash .dhead b{color:var(--ink);font-weight:600}.dash .tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=1250px){.dash .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.dash .tiles{grid-template-columns:1fr}}.dash .tile{background:var(--panel);border:1px solid var(--line);box-shadow:inset 4px 0 0 var(--line-strong);border-radius:10px;justify-content:space-between;gap:8px;min-width:0;padding:12px 14px;display:flex}.dash .tile.good{box-shadow:inset 4px 0 #16a34a}.dash .tile.watch{box-shadow:inset 4px 0 #d97706}.dash .tile.bad{box-shadow:inset 4px 0 0 var(--crit)}.dash .tile .tl{flex-direction:column;gap:3px;min-width:0;display:flex}.dash .tile .lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:600}.dash .tile .val{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:24px;font-weight:700;line-height:1.15}.dash .tile .sub{color:var(--muted);font-size:11.5px;line-height:1.4}.dash .tile .sub b{color:var(--ink)}.dash .tile.bad .val{color:var(--crit)}.dash .tile .tv{flex:none;align-self:center}.dash .panels{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px;display:grid}.dash .panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0;padding:12px 14px 10px}.dash .panel.wide{grid-column:span 2}@media (width<=900px){.dash .panel.wide{grid-column:auto}}.dash .panel h3{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 8px;font-size:13px;font-weight:600;display:flex}.dash .panel h3 small{color:var(--muted);font-size:11px;font-weight:400}.dash .chartbox{width:100%;min-width:0}.dash .empty{color:var(--muted);padding:18px 4px;font-size:12px}.dsvg .gl{stroke:var(--soft)}.dsvg .one{stroke:var(--axis);stroke-dasharray:3 3}.dsvg .axin{fill:var(--muted);font-size:10px}.dsvg .axin.r{text-anchor:end}.dsvg .axin.c{text-anchor:middle}.dsvg .sarea{fill:var(--bar-s);opacity:.14}.dsvg .sact{fill:none;stroke:var(--bar-s);stroke-width:2.6px}.dsvg .sfc{fill:none;stroke:var(--bar-s);stroke-width:2px;stroke-dasharray:6 4}.dsvg .sbl{fill:none;stroke:var(--pv);stroke-width:1.8px;stroke-dasharray:2 3}.dsvg .hl{stroke:var(--axis)}.dsvg .dd{stroke:var(--dd);stroke-width:1.2px;stroke-dasharray:4 3}.dsvg .ba{fill:var(--bar-s)}.dsvg .br{fill:var(--bin-f);stroke:var(--bar-s);stroke-width:.5px}.dsvg .bbl{stroke:var(--pv);stroke-width:2px}.dsvg .farea{opacity:.85;stroke:var(--panel);stroke-width:.5px}.dsvg .tspi{fill:none;stroke:var(--fc);stroke-width:2px}.dsvg .tcpi{fill:none;stroke:var(--ac);stroke-width:2px}.dsvg .pspi{fill:var(--fc)}.dsvg .pcpi{fill:var(--ac)}.dash .dlg{color:var(--muted);margin-top:2px;font-size:11px}.dash .dlg i.ln{vertical-align:middle;border-top:2px solid;width:16px;height:0;margin:0 4px 2px 10px;display:inline-block}.dash .dlg i.ln:first-child{margin-left:0}.dash .dlg i.sact{border-color:var(--bar-s)}.dash .dlg i.sfc{border-color:var(--bar-s);border-top-style:dashed}.dash .dlg i.sbl{border-color:var(--pv);border-top-style:dotted}.dash .dlg i.tspi{border-color:var(--fc)}.dash .dlg i.tcpi{border-color:var(--ac)}.dash .dlg i.sw{vertical-align:middle;border-radius:2px;width:10px;height:9px;margin:0 4px 0 8px;display:inline-block}.ring .rbg{fill:none;stroke:var(--soft);stroke-width:7px}.ring .rfg{fill:none;stroke:var(--bar-s);stroke-width:7px;stroke-linecap:round}.ring .rplan{stroke:var(--pv);stroke-width:2.5px}.gauge .garc{fill:none;stroke-width:7px}.gauge .garc.bad{stroke:var(--crit);opacity:.75}.gauge .garc.watch{stroke:#d97706;opacity:.75}.gauge .garc.good{stroke:#16a34a;opacity:.75}.gauge .gneedle{stroke:var(--ink);stroke-width:2.2px;stroke-linecap:round}.gauge .ghub{fill:var(--ink)}.dash .dtab{border-collapse:collapse;width:100%;font-size:12px}.dash .dtab td{border-bottom:1px solid var(--soft);padding:5px 4px}.dash .dtab tr{cursor:pointer}.dash .dtab tr:hover td{background:var(--sel)}.dash .dtab td.w{text-overflow:ellipsis;white-space:nowrap;width:60%;max-width:0;overflow:hidden}.dash .dtab td.d{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums;width:1%}.dash .dtab td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;width:1%}.dash .dtab td.neg{color:var(--crit);font-weight:600}.dash .dtab .cr{color:var(--crit);font-size:11px}.dash .dtab td.barc{width:35%}.dash .sbar{background:var(--crit);opacity:.75;border-radius:4px;height:8px;display:block}.dash .pbar{background:var(--soft);border-radius:5px;height:10px;display:block;position:relative}.dash .pfill{background:var(--bar-s);border-radius:5px;position:absolute;top:0;bottom:0;left:0}.dash .pplan{background:var(--pv);width:2px;position:absolute;top:-3px;bottom:-3px}.dash .chip{background:var(--soft);color:var(--ink);border-radius:10px;padding:1px 7px;font-size:11px;display:inline-block}.dash .chip.good{color:#15803d;background:#16a34a22}.dash .chip.watch{color:#b45309;background:#d9770622}.dash .chip.bad{color:var(--crit);background:#c2410c22}:root[data-theme=dark] .dash .chip.good{color:#4ade80}:root[data-theme=dark] .dash .chip.watch{color:#fbbf24}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .dash .chip.good{color:#4ade80}:root:not([data-theme=light]) .dash .chip.watch{color:#fbbf24}}.dash .qchips{flex-wrap:wrap;gap:5px;display:flex}.gantt .blab{fill:var(--ink);pointer-events:none;font-size:10.5px}.gantt .rwhisk line{stroke:var(--pq);stroke-width:1.6px}.gantt .rwhisk line.t80{stroke-width:2.2px}.gantt .rband rect{fill:var(--pq);opacity:.18}.gantt .rband line{stroke:var(--pq);stroke-width:1.4px}.gantt .rband line.t80{stroke-width:2.4px}.glegend{float:right;z-index:4;background:var(--panel);border:1px solid var(--line);width:max-content;max-width:320px;color:var(--muted);border-radius:6px;flex-wrap:wrap;gap:4px 10px;margin-top:-40px;margin-right:10px;padding:5px 9px;font-size:11px;display:flex;position:sticky;bottom:8px;left:calc(100% - 340px);box-shadow:0 4px 12px #16212e1f}.glegend i{vertical-align:middle;border-radius:2px;width:10px;height:9px;margin-right:4px;display:inline-block}.dash .tile.open{cursor:pointer;transition:border-color .12s,transform .12s}.dash .tile.open:hover{border-color:var(--brand);transform:translateY(-1px)}.dash .tile.open:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.dash .panel h3 .xopen{color:var(--brand);border-color:var(--line);background:0 0;margin-left:auto;padding:1px 8px;font-size:11px}.explore{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.explore .xhead{z-index:5;background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 16px;display:flex;position:sticky;top:0}.explore .xnav{flex-wrap:wrap;flex:1;gap:2px;display:flex}.explore .xnav button{color:var(--muted);background:0 0;border:none;border-radius:6px;padding:5px 10px}.explore .xnav button:hover{color:var(--ink);background:var(--soft)}.explore .xnav button.on{background:var(--brand-soft);color:var(--brand);font-weight:600}.explore .xbody{flex-direction:column;gap:12px;padding:14px 18px 30px;display:flex}.explore .xctl{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:10px;font-size:12px;display:flex}.explore .xctl .kpis{color:var(--muted)}.explore .xctl .kpis b{color:var(--ink)}.explore .seg{display:inline-flex}.explore .seg button{border-radius:0}.explore .seg button:first-child{border-radius:4px 0 0 4px}.explore .seg button:last-child{border-radius:0 4px 4px 0;margin-left:-1px}.explore .seg button.on{background:var(--brand-soft);border-color:var(--brand);position:relative}.explore .xtime{flex-direction:column;gap:12px;display:flex}.explore .xrow{align-items:stretch;gap:12px;display:flex}.explore .xchart{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex:1;min-width:0;padding:10px 12px}.xsvg .xcol{cursor:pointer}.xsvg .pcol{fill:#0000}.xsvg .xcol:hover .pcol{fill:var(--soft)}.xsvg .pcol.on{fill:var(--sel)}.xsvg .xseg{stroke:var(--panel);stroke-width:.4px}.xsvg .xcum{fill:none;stroke:var(--cum);stroke-width:2.2px;pointer-events:none}.xsvg .axin.cumt{fill:var(--cum)}.xsvg .sbl{pointer-events:none}.explore .xlegend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:4px;font-size:11px;display:flex}.explore .xlegend button{color:var(--ink);background:0 0;border:1px solid #0000;padding:1px 6px;font-size:11px}.explore .xlegend button:hover{border-color:var(--line)}.explore .xlegend button.off{opacity:.4;text-decoration:line-through}.explore .xlegend i{vertical-align:middle;border-radius:2px;width:10px;height:9px;margin-right:5px;display:inline-block}.explore .xlegend i.ln{border-top:2px solid;border-radius:0;width:16px;height:0}.explore .xlegend i.ln.bl{border-color:var(--pv);border-top-style:dotted}.explore .xlegend i.ln.cu{border-color:var(--cum)}.explore .xlegend span{margin-left:6px}.explore .xdrill{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;flex:none;width:340px;max-height:380px;padding:10px 12px;display:flex}.explore .xdh{justify-content:space-between;align-items:center;display:flex}.explore .xdl{flex-direction:column;margin-top:6px;display:flex;overflow:auto}.explore .xdi{text-align:left;border:none;border-bottom:1px solid var(--soft);background:0 0;border-radius:0;grid-template-columns:auto 1fr auto;gap:2px 8px;padding:5px 2px;font-size:12px;display:grid}.explore .xdi:hover{background:var(--sel)}.explore .xdi .c{color:var(--muted);font-variant-numeric:tabular-nums}.explore .xdi .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.explore .xdi .v{font-variant-numeric:tabular-nums;font-weight:600}.explore .xdi .a{color:var(--muted);grid-column:2/4;font-size:11px}.explore .xtable{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.explore .xtbar{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 10px;display:flex}.explore .xtbar button{margin-left:auto}.explore .xscroll{max-height:520px;overflow:auto}.explore table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.explore th,.explore td{border-bottom:1px solid var(--soft);white-space:nowrap;text-align:left;padding:5px 9px}.explore th{background:var(--subtle);color:var(--muted);cursor:pointer;z-index:1;-webkit-user-select:none;user-select:none;font-weight:600;position:sticky;top:0}.explore th.n,.explore td.n{text-align:right}.explore td.w{white-space:normal;min-width:220px}.explore tr.click{cursor:pointer}.explore tbody tr:hover td,.explore td.on,.explore th.on{background:var(--sel)}.explore td.dd,.explore th.dd{box-shadow:inset 2px 0 0 var(--dd)}.explore td.b,.explore tr.tot td{font-weight:600}.explore tfoot td{border-top:2px solid var(--line);background:var(--subtle);font-weight:600}.explore .neg{color:var(--crit);font-weight:600}.explore .chip{background:var(--soft);border-radius:10px;padding:0 7px;display:inline-block}.explore .chip.good{color:#15803d;background:#16a34a22}.explore .chip.watch{color:#b45309;background:#d9770622}.explore .chip.bad{color:var(--crit);background:#c2410c22}.explore .xprog{align-items:center;gap:6px;display:inline-flex}.explore .xprog .pbar{background:var(--soft);border-radius:4px;width:90px;height:8px;display:inline-block;position:relative}.explore .xprog .pfill{background:var(--bar-s);border-radius:4px;position:absolute;top:0;bottom:0;left:0}.explore .xprog .pfill.hot{background:var(--crit)}.explore .xprog .pplan{background:var(--pv);width:2px;position:absolute;top:-3px;bottom:-3px}.explore .xsub h4,.explore .xqd h4{margin:4px 0 8px;font-size:13px}.explore .xsub{margin-top:4px}.explore .xpct{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-bottom:12px;display:grid}.explore .xpct>div{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;padding:8px 10px;display:flex}.explore .xpct span{color:var(--muted);font-size:11px;font-weight:600}.explore .xpct b{font-variant-numeric:tabular-nums}.explore .xpct small{color:var(--muted)}.explore .xhealth{grid-template-columns:minmax(260px,340px) 1fr;gap:12px;display:grid}@media (width<=900px){.explore .xhealth{grid-template-columns:1fr}.explore .xrow{flex-direction:column}.explore .xdrill{width:auto}}.explore .xchecks{flex-direction:column;gap:4px;display:flex}.explore .xqc{text-align:left;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line-strong);border-radius:6px;grid-template-columns:1fr auto;gap:0 8px;padding:6px 10px;display:grid}.explore .xqc.good{border-left-color:#16a34a}.explore .xqc.bad{border-left-color:var(--crit)}.explore .xqc.on{border-color:var(--brand);background:var(--brand-soft)}.explore .xqc .nm{font-size:12px;font-weight:600}.explore .xqc .vl{font-variant-numeric:tabular-nums;font-weight:600}.explore .xqc .th{color:var(--muted);font-size:11px}.explore .xqc .ct{color:var(--muted);text-align:right;font-size:11px}.explore .empty{color:var(--muted);padding:20px 4px}.explore .warn{color:var(--crit)}:root[data-theme=dark] .explore .chip.good{color:#4ade80}:root[data-theme=dark] .explore .chip.watch{color:#fbbf24}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .explore .chip.good{color:#4ade80}:root:not([data-theme=light]) .explore .chip.watch{color:#fbbf24}}.drawer .colsearch{width:calc(100% - 28px);margin:0 14px 8px}.drawer h4 small,.colgrp b small{color:var(--muted);font-weight:400}.loglist{flex-direction:column;gap:4px;padding:0 10px 20px;display:flex}.logrow{border:1px solid var(--line);border-left:3px solid var(--line-strong);cursor:pointer;background:var(--panel);border-radius:6px;padding:6px 9px}.logrow:hover{border-color:var(--brand)}.logrow.on{background:var(--subtle)}.logrow.k-undo,.logrow.k-redo{border-left-color:var(--muted)}.logrow.k-scenario{border-left-color:var(--fc)}.logrow.k-change{border-left-color:var(--pv)}.logrow .lh{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.logrow .who{color:var(--ink);font-weight:600}.logrow .kind{margin-left:auto}.logrow .ref{color:var(--pv);font-weight:600}.logrow .note{overflow-wrap:anywhere;margin-top:2px;font-size:12.5px}.logrow .eff{gap:6px;margin-top:3px;display:flex}.logrow .eff:empty{display:none}.logrow .lines{margin:6px 0 0;padding-left:18px;font-size:12px}.logrow .lines li{margin:2px 0}.drawer .chip,.logrow .chip{background:var(--soft);border-radius:10px;padding:0 7px;font-size:11px;display:inline-block}.logrow .chip.bad{color:var(--crit);background:#c2410c22}.logrow .chip.good{color:#15803d;background:#16a34a22}.scenbar{color:#fff;background:#2563eb;flex-wrap:wrap;flex:none;align-items:center;gap:12px;padding:5px 14px;font-size:12px;display:flex}.scenbar b{font-size:13px}.scenbar span{opacity:.9}.scenbar button{color:#fff;background:0 0;border-color:#ffffff8c;padding:1px 10px}.scenbar button:hover{background:#ffffff26}.scenbar label{color:#fff}.gantt .livebar{fill:none;stroke:var(--ink);stroke-width:1.2px;stroke-dasharray:3 2;opacity:.7;pointer-events:none}.gantt .scnew{fill:none;stroke:#2563eb;stroke-width:1.6px;pointer-events:none}.drawer.xwide{width:640px}.drawer .scenNow{background:#2563eb18;border:1px solid #2563eb55;border-radius:6px;padding:8px 10px;font-size:12px}.sctable{padding:0 12px;overflow-x:auto}.sctable table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.sctable th,.sctable td{border-bottom:1px solid var(--soft);white-space:nowrap;text-align:left;padding:4px 6px}.sctable th{color:var(--muted);font-weight:600}.sctable .n{text-align:right}.sctable tr.live td{background:var(--subtle);font-weight:600}.sctable tr.on td{background:#2563eb14}.sctable tr.pick td{box-shadow:inset 0 -2px 0 var(--brand)}.sctable tbody tr{cursor:pointer}.sctable .neg{color:var(--crit);font-weight:600}.sctable .pos{color:#15803d;font-weight:600}.sctable .btns{gap:3px;display:flex}.sctable .btns button{padding:1px 7px;font-size:11px}.sctable i.sw{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.sctable .scname{background:0 0;border-color:#0000;width:150px;padding:1px 3px}.sctable .scname:hover,.sctable .scname:focus{border-color:var(--line);background:var(--input)}.sctable .tag{background:var(--soft);color:var(--muted);border-radius:8px;margin-left:5px;padding:0 5px;font-size:10px}.cashcmp{padding:0 12px}.cashcmp .cmp-live{fill:none;stroke:var(--ink);stroke-width:2.4px}.cashcmp .cmp-sc{fill:none;stroke-width:2px;stroke-dasharray:6 3}.cashcmp .cmphov{color:var(--muted);margin-top:2px;font-size:11px}.opslist{max-height:260px;margin:0 12px 16px;padding-left:18px;font-size:12px;overflow:auto}.opslist li{margin:2px 0}.crsum{grid-template-columns:repeat(3,1fr);gap:8px;padding:8px 14px 4px;display:grid}.crsum>div{border:1px solid var(--line);background:var(--panel);border-radius:8px;flex-direction:column;padding:6px 9px;display:flex}.crsum span{color:var(--muted);font-size:11px}.crsum b{font-variant-numeric:tabular-nums;font-size:18px}.crsum small{color:var(--muted);font-variant-numeric:tabular-nums}.crlist{flex-direction:column;gap:3px;max-height:260px;padding:0 12px 8px;display:flex;overflow:auto}.crrow{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:6px;grid-template-columns:62px 1fr auto;gap:1px 8px;padding:5px 8px;font-size:12px;display:grid}.crrow.on{border-color:var(--brand);background:var(--brand-soft)}.crrow .code{font-weight:700}.crrow .t{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.crrow .im{color:var(--muted);font-variant-numeric:tabular-nums;grid-column:2/4}.st{background:var(--soft);color:var(--muted);white-space:nowrap;border-radius:9px;align-self:center;padding:0 7px;font-size:10.5px}.st.s-submitted,.st.s-review{color:#b45309;background:#d9770622}.st.s-approved,.st.s-implemented{color:#15803d;background:#16a34a22}.st.s-rejected{color:var(--crit);background:#c2410c22}.creditor{border-top:1px solid var(--line);margin-top:6px;padding-bottom:20px}.crhead{align-items:center;gap:8px;padding:10px 14px 4px;display:flex}.crhead .crtitle{flex:1;font-weight:600}.creditor .acts{flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;display:flex}.creditor .acts .chip{background:var(--soft);border-radius:9px;padding:1px 7px}.crimpact{padding:0 2px}.crtiles{grid-template-columns:repeat(4,1fr);gap:6px;padding:0 12px 8px;display:grid}.crtiles>div{border:1px solid var(--line);background:var(--panel);border-radius:8px;flex-direction:column;padding:6px 9px;display:flex}.crtiles span{color:var(--muted);font-size:11px}.crtiles b{font-variant-numeric:tabular-nums;font-size:17px}.crtiles b.neg{color:var(--crit)}.crtiles small{color:var(--muted);font-size:11px}.crimpact .row2,.creditor .row2{padding:0 12px 6px}.crimpact b.sub{padding:6px 14px 2px;font-size:12px;display:block}.crhist{color:var(--muted);margin:4px 0;padding-left:18px;font-size:11.5px}.crhist b{color:var(--ink)}.modelf{padding-top:0}.modelf label{font-size:12px}.modelf .row2{gap:6px}.xmethods h4{margin:4px 0 8px;font-size:13px}.mtimeline{background:var(--panel);border:1px solid var(--line);border-radius:10px;height:84px;margin-bottom:10px;position:relative}.mtimeline .mk{white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex;position:absolute;transform:translate(-5px)}.mtimeline .mk i{background:var(--bar-s);border-radius:50%;flex:none;width:10px;height:10px}.mtimeline .mk.k-es i{background:var(--fc)}.mtimeline .mk.k-spi i{background:var(--pv)}.mtimeline .mk.k-p50 i,.mtimeline .mk.k-p80 i{background:var(--pq)}.mtimeline .mk.k-bl i{background:var(--axis)}.mtimeline .mdd{border-left:2px dashed var(--dd);position:absolute;top:0;bottom:0}.mbars{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:5px;margin-bottom:10px;padding:10px 12px;display:flex}.mbars .mb{grid-template-columns:260px 1fr 110px;align-items:center;gap:10px;font-size:12px;display:grid}.mbars .bar{background:var(--soft);border-radius:6px;height:12px;overflow:hidden}.mbars .bar i{background:var(--bar-s);border-radius:6px;height:100%;display:block}.mbars .bar i.k-comp{background:var(--ac)}.mbars .bar i.k-cpi{background:var(--pv)}.mbars .bar i.k-bac{background:var(--axis)}.mbars b{text-align:right;font-variant-numeric:tabular-nums}.mtimeline .mk.lft{flex-direction:row-reverse;transform:translate(calc(5px - 100%))}.mtimeline .mscale{color:var(--muted);font-size:10px;position:absolute;bottom:3px}.mtimeline .mscale.l{left:6px}.mtimeline .mscale.r{right:6px}.fpill{color:#b8c4d0;text-overflow:ellipsis;white-space:nowrap;background:0 0;border-color:#3b4855;max-width:280px;padding:1px 9px;font-size:12px;overflow:hidden}.fpill.ok:before{content:"● ";color:#4ade80}.fpill.warn{color:#fbbf24;border-color:#fbbf2488}.fpill.bad,.fpill.full{color:#fca5a5;border-color:#fca5a588}.fpill:hover{color:#fff}.folder h4,.drawer>h4{margin:12px 14px 4px}.folder .flist{border:1px solid var(--line);border-radius:6px;max-height:260px;margin:4px 14px 8px;overflow:auto}.folder .frow{border-bottom:1px solid var(--soft);grid-template-columns:1fr auto;align-items:center;gap:0 8px;padding:5px 8px;font-size:12px;display:grid}.folder .frow .nm{overflow-wrap:anywhere;font-weight:600}.folder .frow .hint{grid-column:1}.folder .frow button{grid-area:1/2/3}.sbar{background:var(--soft);border-radius:4px;height:8px;overflow:hidden}.sbar i{background:var(--bar-s);height:100%;display:block}.sbar i.warn{background:#d97706}.sbar i.bad{background:var(--crit)}.uptable{border:1px solid var(--line);border-radius:6px;max-height:420px;margin:0 12px;overflow:auto}.uptable table{border-collapse:collapse;width:100%;font-size:12px}.uptable th,.uptable td{border-bottom:1px solid var(--soft);white-space:nowrap;text-align:left;padding:3px 5px}.uptable th{background:var(--subtle);color:var(--muted);z-index:1;position:sticky;top:0}.uptable td.w{white-space:normal;min-width:160px}.uptable .n{text-align:right}.uptable tr.off td{opacity:.45}.uptable select{max-width:112px}.uphist{flex-direction:column;gap:4px;padding:0 14px 20px;font-size:12px;display:flex}.uph{border-bottom:1px solid var(--soft);flex-wrap:wrap;gap:10px;padding:4px 0;display:flex}.upsum{margin-top:6px}.drawer.xxwide{width:min(940px,70vw)}.uptable input[type=date]{width:122px}.uptable input.s{width:58px}.acttabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px;padding:6px 12px;display:flex}.acttabs button{color:var(--muted);background:0 0;border:none;border-radius:6px;padding:4px 10px}.acttabs button.on{background:var(--brand-soft);color:var(--brand);font-weight:600}.acttabs .badge{background:var(--crit);color:#fff;border-radius:8px;margin-left:5px;padding:0 5px;font-size:10px}.filebtn{border:1px solid var(--line);cursor:pointer;background:var(--panel);border-radius:4px;align-items:center;padding:3px 10px;display:inline-flex}.filebtn:hover{border-color:var(--brand)}.mapcols{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 10px;display:grid}.mapcols label{color:var(--muted);flex-direction:column;font-size:11px;display:flex}.impsum{font-size:12px}.impsum .warn{font-weight:600}.impprev{border:1px solid var(--line);border-radius:6px;max-height:300px;overflow:auto}.impprev table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.impprev th,.impprev td{border-bottom:1px solid var(--soft);text-align:left;white-space:nowrap;padding:3px 7px}.impprev th{background:var(--subtle);color:var(--muted);position:sticky;top:0}.impprev .n{text-align:right}.impprev tr.warn td,.impprev b.warn{color:var(--crit)}.chips{flex-wrap:wrap;gap:4px;display:flex}.chips .chip{background:var(--soft);border-radius:9px;padding:1px 8px;font-size:11.5px}.maprow{grid-template-columns:1fr 260px;align-items:center;gap:8px;display:grid}.addline{flex-wrap:wrap;gap:4px;display:flex}.addline input:not([type]),.addline input[type=text]{width:120px}.drawer .mapcols{flex:none;grid-auto-rows:min-content;align-content:start}.drawer .mapcols label{align-self:start;margin:0}.drawer .mapcols{flex-wrap:wrap;gap:6px 10px;display:flex}.drawer .mapcols label{width:205px}.drawer .chks{grid-template-columns:1fr 1fr;gap:3px 10px;display:grid}.dash .blsel{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.dash .blsel select{min-width:220px}.dash .blcmp .dtab tr.on td{background:var(--brand-soft)}.dash .blcmp .tag{background:var(--soft);color:var(--muted);border-radius:8px;margin-left:6px;padding:0 6px;font-size:10px}.dash .blcmp i.sw{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.dash .blcmp .dtab{margin-bottom:8px}.dash .panels{align-items:start}.escurve{flex-direction:column;gap:4px;min-width:0;padding:4px 8px;display:flex}.esrow{align-items:flex-start;gap:12px;min-width:0;display:flex}.eschart{flex:1;min-width:0}.esfig{border-collapse:collapse;font-variant-numeric:tabular-nums;flex:none;font-size:12px}.esfig th{text-align:left;color:var(--muted);white-space:nowrap;padding:2px 10px 2px 0;font-weight:400}.esfig td{text-align:right;white-space:nowrap;font-weight:600}.esfig td.neg{color:var(--crit)}.eslg{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:11px;display:flex}.eslg span{align-items:center;gap:5px;display:inline-flex}.es-grid{stroke:var(--soft)}.es-vgrid{stroke:var(--soft);opacity:.6}.es-ax{fill:var(--muted);font-size:10px}.es-r{text-anchor:end}.es-c{text-anchor:middle}.es-pv{fill:none;stroke:var(--pv);stroke-width:2.2px}.es-pvo{fill:none;stroke:var(--pv);opacity:.5;stroke-width:1.2px;stroke-dasharray:2 3}.es-ev{fill:none;stroke:var(--bar-s);stroke-width:2.6px}.es-evp{fill:var(--bar-s)}.es-ac{fill:none;stroke:var(--ac);stroke-width:2.2px}.es-acp{fill:var(--ac)}.es-fc{fill:none;stroke:var(--ac);stroke-width:1.8px;stroke-dasharray:6 4}.es-bac{stroke:var(--bac);stroke-width:1.4px;stroke-dasharray:2 3}.es-eacl{stroke:var(--ac);stroke-width:1.2px;stroke-dasharray:2 3}.es-eaccpi{stroke:var(--dd);stroke-width:1.4px;stroke-dasharray:5 3}.es-lab{fill:var(--muted);font-size:10px}.es-eact{fill:var(--ac)}.es-cpit{fill:var(--dd)}.es-dd{stroke:var(--dd);stroke-dasharray:4 3}.es-ddt{fill:var(--dd);font-size:10px}.es-br{fill:none;stroke-width:1.4px}.es-brt{font-size:11px;font-weight:700}.es-bad{stroke:var(--crit);fill:var(--crit)}.es-good{stroke:#16a34a;fill:#16a34a}path.es-br,path.es-slip{fill:none}.es-slip{stroke-width:1.6px}.es-fin{stroke:var(--axis);stroke-dasharray:2 2}.es-arrowh{fill:var(--muted)}.modelf .crash{border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:6px 12px;padding-top:8px;display:flex}.modelf .crash fieldset{border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;align-items:flex-end;gap:4px 10px;margin:0;padding:4px 8px 6px;display:flex}.modelf .crash legend{color:var(--muted);padding:0 4px;font-size:11px}.modelf .crashres{color:var(--ink);background:var(--brand-soft);border-radius:6px;padding:5px 9px;font-weight:600}.holpick{border:1px solid var(--line);background:var(--subtle);border-radius:8px;flex-direction:column;gap:6px;margin:6px 0;padding:8px 10px;display:flex}.holpick .holdays{flex-wrap:wrap;gap:2px 12px;font-size:12px;display:flex}.holpick .hollist{flex-wrap:wrap;gap:4px;max-height:180px;margin-top:4px;display:flex;overflow:auto}.holpick details summary{cursor:pointer;font-size:12px}.holchips{flex-wrap:wrap;gap:4px;max-height:200px;margin-top:4px;display:flex;overflow:auto}.rstabs{padding:8px 12px 0}.rstabs .seg{display:inline-flex}.rstabs .seg button{border-radius:0}.rstabs .seg button:first-child{border-radius:4px 0 0 4px}.rstabs .seg button:last-child{border-radius:0 4px 4px 0}.rstabs .seg button+button{margin-left:-1px}.rstabs .seg button.on{background:var(--brand-soft);border-color:var(--brand);position:relative}.rstw{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 2px}.rstw.built{color:var(--brand);font-weight:700}.rsall{text-align:right;font-variant-numeric:tabular-nums;min-width:60px;color:var(--brand);font-weight:600;display:inline-block}tr.rsopen td{background:var(--subtle)}tr.rsbuild>td{background:var(--subtle);border-bottom:1px solid var(--line);padding:0 0 8px}.rsb{flex-direction:column;gap:6px;padding:6px 8px;display:flex}.rsb .row2{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rsb .inl input.s{width:80px}.rsbt{overflow-x:auto}.rsbt table.ptab{width:100%;margin:0}.rsbt td.n,.rsbt th.n{text-align:right;font-variant-numeric:tabular-nums}.rsbt tr.tot td{border-top:2px solid var(--line)}.rsbt tr.base td{color:var(--muted)}.sw{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin-right:6px;display:inline-block}.rsbar{border-radius:3px;height:10px;margin:6px 0 2px;display:flex;overflow:hidden}.rsbar i{height:100%;display:block}.rsgroups{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;display:flex}.rscomps .rtab{width:100%;margin:0}.rscomps .row2{gap:6px;margin-top:4px;display:flex}.rscomps .row2 input{flex:1}.rsset{border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:6px;margin:8px 12px;padding:8px 10px;display:flex}.rsset .row2{gap:6px;display:flex}.rsset .rsname{flex:1;font-weight:600}.rsset .rsnotes{width:100%;font-size:12px}h4.rsh{margin:12px 12px 4px;font-size:12px}[data-k=rs-sum] .rsbt{padding:0 12px}.rsbt td.rsetn{white-space:normal;max-width:150px;color:var(--muted);font-size:11.5px}.wtab.wt-home{padding-left:8px;padding-right:12px}.wtab.wt-home .wt-code{font-size:14px}.home{background:var(--bg);flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px 20px 28px;display:flex;overflow:auto}.home .hhead{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.home h2{letter-spacing:-.01em;margin:0;font-size:20px}.home .hhead .sub{color:var(--muted);font-size:12px}.home .hhead .sub b{color:var(--ink)}.home .neg{color:var(--crit);font-weight:600}.home .hctl{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.home .hctl label{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.home .hctl input.search{width:200px}.home .card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:4px 0 8px;overflow-x:auto}.home table.ptab{width:100%;margin:0}.home .ptab th{background:var(--panel);z-index:1;position:sticky;top:0}.home .ptab td{white-space:nowrap}.home .ptab tr.grp td{background:var(--subtle);border-top:1px solid var(--line);padding:6px 4px;font-weight:600}.home .ptab tr.grp.l1 td{background:0 0;border-top:none;padding-left:22px}.home .ptab tr.grp .tg{width:18px;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0}.home .ptab tr.grp .cnt{color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}.home .ptab tr.pj.l1 td:first-child{padding-left:24px}.home .ptab tr.pj.l2 td:first-child{padding-left:42px}.home .ptab td.oc{cursor:text;min-width:90px}.home .ptab td.oc:hover{background:var(--sel)}.home .ptab td.oc .none{color:var(--muted)}.home .ptab td.oc input,.home .ptab td.oc select{width:100%;min-width:120px;padding:1px 4px}.home .ptab .st{background:var(--soft);border-radius:10px;padding:0 7px;font-size:11px;display:inline-block}.home .ptab .st.active{color:#15803d;background:#16a34a22}.home .ptab .st.on-hold{color:#b45309;background:#d9770622}.home .ptab .st.complete{background:var(--brand-soft);color:var(--brand)}.home .ptab .st.cancelled{opacity:.6}:root[data-theme=dark] .home .ptab .st.active{color:#4ade80}:root[data-theme=dark] .home .ptab .st.on-hold{color:#fbbf24}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .home .ptab .st.active{color:#4ade80}:root:not([data-theme=light]) .home .ptab .st.on-hold{color:#fbbf24}}.home .ptab .hint.pad,.home p.hint.pad{margin:0;padding:6px 12px 0}.home .home-empty{background:var(--panel);border:1px dashed var(--line-strong);border-radius:10px;flex-direction:column;align-items:flex-start;gap:10px;max-width:640px;padding:24px;display:flex}.home .home-empty h3,.home .home-empty p{margin:0}.home .home-empty .row2{gap:8px;display:flex}.home .folder{background:var(--panel);border:1px solid var(--line);border-radius:10px;max-width:760px;padding-bottom:8px}.wtab.wt-home .wt-name{opacity:1}.wtmenu{min-width:150px}.wtmenu .mi{text-align:left;background:0 0;border:none;border-radius:4px;padding:4px 10px;display:flex}.wtmenu .mi:hover:not(:disabled){background:var(--brand-soft)}.vstrip{background:var(--panel);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:12px;min-height:34px;padding:0 12px;display:flex}.vtabs{align-self:stretch;gap:2px;display:flex}.vtab{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:7px 10px 6px;font-size:12.5px}.vtab:hover{color:var(--ink);border-color:var(--soft)}.vtab.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.vtool{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;padding:4px 0;font-size:12px;display:flex}.vtool label{align-items:center;gap:4px;display:inline-flex}.vtool .vtl{text-transform:uppercase;letter-spacing:.05em;margin-left:6px;font-size:11px}.vtool .seg{display:inline-flex}.vtool .seg button{border-radius:0;padding:2px 8px;font-size:12px}.vtool .seg button:first-child{border-radius:4px 0 0 4px}.vtool .seg button:last-child{border-radius:0 4px 4px 0}.vtool .seg button+button{margin-left:-1px}.vtool .seg button.on{background:var(--brand-soft);border-color:var(--brand);color:var(--ink);position:relative}.vtool button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.pf{flex-direction:column;flex:1;min-height:0;display:flex}.pfbody{background:var(--bg);flex-direction:column;flex:1;gap:14px;min-height:0;padding:14px 20px 28px;display:flex;overflow:auto}.pfbody .card{background:var(--panel);border:1px solid var(--line);border-radius:10px}.pfbody .card.pad{padding:12px 14px}.pfbody .card h3{margin:0 0 6px;font-size:13px}.pfov{flex-direction:column;gap:14px;display:flex}.pfov .tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}@media (width<=1400px){.pfov .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=800px){.pfov .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.pfov .tile{background:var(--panel);border:1px solid var(--line);box-shadow:inset 4px 0 0 var(--line-strong);border-radius:10px;justify-content:space-between;gap:8px;min-width:0;padding:12px 14px;display:flex}.pfov .tile.good{box-shadow:inset 4px 0 #16a34a}.pfov .tile.watch{box-shadow:inset 4px 0 #d97706}.pfov .tile.bad{box-shadow:inset 4px 0 0 var(--crit)}.pfov .tile .tl{flex-direction:column;gap:3px;min-width:0;display:flex}.pfov .tile .lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:600}.pfov .tile .val{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1.15}.pfov .tile .val small{color:var(--muted);font-size:13px;font-weight:500}.pfov .tile .sub{color:var(--muted);font-size:11.5px;line-height:1.4}.pfov .tile .sub b{color:var(--ink)}.pfov .tile .sub b.neg,.pfov .neg,.pfov .tile.bad .val{color:var(--crit)}.pfov .tile.open{cursor:pointer;transition:border-color .12s,transform .12s}.pfov .tile.open:hover{border-color:var(--brand);transform:translateY(-1px)}.pfov .panels{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px;display:grid}.pfov .panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0;padding:12px 14px 10px}.pfov .panel.wide{grid-column:span 2}@media (width<=900px){.pfov .panel.wide{grid-column:auto}}.pfov .panel h3{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 8px;font-size:13px;font-weight:600;display:flex}.pfov .panel h3 small{color:var(--muted);font-size:11px;font-weight:400}.pfov .panel h3 .xopen{color:var(--brand);border-color:var(--line);background:0 0;margin-left:auto;padding:1px 8px;font-size:11px}.pfbody .empty{color:var(--muted);padding:14px 4px;font-size:12px}.pfbody .chartbox{width:100%;min-width:0}.pfbody .dtab{border-collapse:collapse;width:100%;font-size:12px}.pfbody .dtab td{border-bottom:1px solid var(--soft);padding:5px 4px}.pfbody .dtab tr{cursor:pointer}.pfbody .dtab tr:hover td{background:var(--sel)}.pfbody .dtab td.w{text-overflow:ellipsis;white-space:nowrap;width:60%;max-width:0;overflow:hidden}.pfbody .dtab td.d{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums;width:1%}.pfbody .dtab td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;width:1%}.pfbody .dtab .cr{color:var(--crit);font-size:11px}.pfbody .chip{background:var(--soft);color:var(--ink);white-space:nowrap;border-radius:10px;padding:0 7px;font-size:11px;display:inline-block}.pfbody .chip.good{color:#15803d;background:#16a34a22}.pfbody .chip.watch{color:#b45309;background:#d9770622}.pfbody .chip.bad{color:var(--crit);background:#c2410c22}:root[data-theme=dark] .pfbody .chip.good{color:#4ade80}:root[data-theme=dark] .pfbody .chip.watch{color:#fbbf24}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pfbody .chip.good{color:#4ade80}:root:not([data-theme=light]) .pfbody .chip.watch{color:#fbbf24}}.pfbody .xlegend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px;font-size:11px;display:flex}.pfbody .xlegend button{color:inherit;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.pfbody .xlegend button.off{opacity:.4;text-decoration:line-through}.pfbody .xlegend i{border-radius:2px;width:10px;height:9px;display:inline-block}.pfbody .xlegend i.ln{border-top:2px solid;border-radius:0;width:16px;height:0}.pfbody .xlegend i.ln.bl{border-color:var(--pv);border-top-style:dotted}.pfbody .xlegend i.ln.cu{border-color:var(--cum)}.pfbody .dsvg .pcol{fill:#0000}.pfbody .dsvg .xseg{stroke:var(--panel);stroke-width:.5px}.pfbody .dsvg .bbl{stroke:var(--pv);stroke-width:2px}.pfbody .dsvg .sbl{fill:none;stroke:var(--pv);stroke-width:1.5px;stroke-dasharray:3 3}.pfbody .dsvg .xcum{fill:none;stroke:var(--cum);stroke-width:2px}.pfbody .dsvg .gl{stroke:var(--soft)}.pfbody .dsvg .dd{stroke:var(--crit);stroke-width:1.2px;stroke-dasharray:4 3}.pfbody .dsvg text.axin{fill:var(--muted);font-size:10px}.pfbody .dsvg text.axin.r{text-anchor:end}.pfbody .dsvg text.axin.c{text-anchor:middle}.pfbody .dsvg text.cumt{fill:var(--cum)}.estb .estbar{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.estb .estc{background:var(--soft);color:var(--muted);border-radius:6px;align-items:center;gap:6px;padding:2px 8px;font-size:11px;display:inline-flex}.estb .estc.on{background:var(--brand-soft);color:var(--ink)}.estb .estc.bad{color:var(--crit);background:#c2410c22}.estb .estc b{font-size:13px}.estb .estrow{border-bottom:1px solid var(--soft);padding:3px 0;font-size:12px}.pfperiod{flex-direction:column;gap:14px;display:flex}.pfperiod .kpis{color:var(--muted);margin-bottom:6px;font-size:12px}.pfperiod .kpis b{color:var(--ink)}.pfbody .xtbar{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 12px;display:flex}.pfbody .xtbar button{margin-left:auto}.pfbody .xscroll{max-height:420px;overflow:auto}table.ptab.pfx{width:auto;min-width:100%;margin:0}.pfx th.w,.pfx td.w{background:var(--panel);z-index:1;min-width:160px;position:sticky;left:0}.pfx th.dd{color:var(--crit)}.pfx td.b{font-weight:600}.pfx tr.tot td{border-top:1px solid var(--line);font-weight:600}.tlbox{overflow:auto}.tlsvg .tlgrp{fill:var(--subtle)}.tlsvg .tlgl{fill:var(--ink);font-size:12px;font-weight:600}.tlsvg .tlgn{fill:var(--muted);font-weight:400}.tlsvg .tlname{fill:var(--ink);font-size:12px}.tlsvg .tlcode{font-weight:600}.tlsvg .tlbl{fill:none;stroke:var(--pv);stroke-dasharray:3 2}.tlsvg .tlbar{fill:var(--bar-f);stroke:var(--bar-s)}.tlsvg .tlbar.late{stroke:var(--crit)}.tlsvg .tlpct{fill:var(--bar-s)}.tlsvg .tldd{stroke:var(--crit);stroke-width:1.5px}.tlsvg .tllate{fill:var(--crit);font-size:10px;font-weight:600}.tlsvg .tlrow:hover .tlname{fill:var(--brand)}.pfbody .dlg{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;font-size:11px;display:flex}.pfbody .dlg i.sw{vertical-align:middle;border-radius:2px;width:14px;height:9px;margin-right:4px;display:inline-block}.pfbody .dlg i.tlbarsw{background:var(--bar-f);border:1px solid var(--bar-s)}.pfbody .dlg i.tlblsw{border:1px dashed var(--pv)}.pfbody .dlg i.ln{vertical-align:middle;border-top:2px solid;width:14px;height:0;margin-right:4px;display:inline-block}.pfbody .dlg i.ddl{border-color:var(--crit)}.pfrep{grid-template-columns:minmax(360px,640px) minmax(300px,420px);gap:14px;display:grid}@media (width<=1000px){.pfrep{grid-template-columns:1fr}}.pfrep .form.v{padding:12px 14px}.pfrep .chks{flex-wrap:wrap;gap:4px 14px;display:flex}.pfrep textarea{font:inherit;width:100%}.pfprojects{flex-direction:column;gap:14px;display:flex}.pfprojects .hhead{align-items:center;gap:12px;display:flex}.pfprojects .hhead .sub{color:var(--muted);font-size:12px}.pfprojects .hhead .sub b{color:var(--ink)}.pfprojects .hhead input.search{width:220px;margin-left:auto}.pfprojects .oc.est{cursor:pointer;display:inline-block}.pfprojects .oc.est.editing{align-items:center;gap:4px;display:inline-flex}.pfprojects .oc.est.editing label{color:var(--muted);align-items:center;gap:2px;font-size:11px;display:inline-flex}.pfprojects .oc.est.editing input{width:120px}.pfprojects table.ptab{width:100%;margin:0}.pfprojects .ptab th{background:var(--panel);z-index:1;position:sticky;top:0}.pfprojects .ptab td{white-space:nowrap}.pfprojects .ptab tr.grp td{background:var(--subtle);border-top:1px solid var(--line);padding:6px 4px;font-weight:600}.pfprojects .ptab tr.grp.l1 td{background:0 0;border-top:none;padding-left:22px}.pfprojects .ptab tr.grp .tg{width:18px;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0}.pfprojects .ptab tr.grp .cnt{color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}.pfprojects .ptab tr.pj.l1 td:first-child{padding-left:24px}.pfprojects .ptab tr.pj.l2 td:first-child{padding-left:42px}.pfprojects .ptab td.oc{cursor:text;min-width:90px}.pfprojects .ptab td.oc:hover{background:var(--sel)}.pfprojects .ptab td.oc .none{color:var(--muted)}.pfprojects .ptab td.oc input,.pfprojects .ptab td.oc select{width:100%;min-width:120px;padding:1px 4px}.pfprojects .ptab .st{background:var(--soft);border-radius:10px;padding:0 7px;font-size:11px;display:inline-block}.pfprojects .ptab .st.active{color:#15803d;background:#16a34a22}.pfprojects .ptab .st.on-hold{color:#b45309;background:#d9770622}.pfprojects .ptab .st.complete{background:var(--brand-soft);color:var(--brand)}.pfprojects .ptab .st.cancelled{opacity:.6}.pfprojects p.hint.pad{margin:0;padding:6px 12px 0}.pfprojects .folder{background:var(--panel);border:1px solid var(--line);border-radius:10px;max-width:760px;padding-bottom:8px}.pfbody .home-empty{background:var(--panel);border:1px dashed var(--line-strong);border-radius:10px;flex-direction:column;align-items:flex-start;gap:10px;max-width:640px;padding:24px;display:flex}.pfbody .home-empty h3,.pfbody .home-empty p{margin:0}.pfbody .home-empty .row2{gap:8px;display:flex}.ent{flex-direction:column;gap:14px;display:flex}.ent .enttabs{display:inline-flex}.ent .enttabs button{border-radius:0}.ent .enttabs button:first-child{border-radius:4px 0 0 4px}.ent .enttabs button:last-child{border-radius:0 4px 4px 0}.ent .enttabs button+button{margin-left:-1px}.ent .enttabs button.on{background:var(--brand-soft);border-color:var(--brand);position:relative}.entgrid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}.entlist .row2,.ent .row2{gap:6px;margin:8px 0;display:flex}.entlist .row2 input,.ent .row2 input:first-child{flex:1}.entul{margin:0;padding:0;list-style:none}.entul li{border-bottom:1px solid var(--soft);align-items:center;gap:6px;padding:3px 0;display:flex}.entul li input{flex:1}.entul li input.desc{flex:2}.entul li.on{background:var(--sel)}.entul li .acts{gap:2px;margin-left:auto;display:flex}.ent table.ptab,.ent table.rtab{width:100%;margin:6px 0 0}.ent .obst input{width:100%}.wtgrid{grid-template-columns:minmax(260px,360px) 1fr;gap:14px;display:grid}@media (width<=900px){.wtgrid{grid-template-columns:1fr}}.wted .row2 input{flex:1}.fpill.cpill{margin-right:6px}.brand .cpill.ok{border-color:#2dd4bf}.brand .cpill.warn{color:#fde68a;border-color:#a16207}[data-k=cloud-signin] .seg{margin-bottom:4px;display:inline-flex}[data-k=cloud-signin] .seg button{border-radius:0}[data-k=cloud-signin] .seg button:first-child{border-radius:4px 0 0 4px}[data-k=cloud-signin] .seg button:last-child{border-radius:0 4px 4px 0;margin-left:-1px}[data-k=cloud-signin] .seg button.on{background:var(--brand-soft);border-color:var(--brand)}.drawer .entul{margin:0;padding:0;list-style:none}.drawer .entul li{border-bottom:1px solid var(--soft);justify-content:space-between;gap:6px;padding:3px 0;display:flex}.drawer.assist{flex-direction:column;width:420px;padding-bottom:0;display:flex}.drawer.assist .dh{align-items:center;gap:8px}.drawer.assist .dh .hint{flex:1}.drawer.assist .lnk{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:12px}.drawer.assist .lnk:disabled{opacity:.5;cursor:default}.drawer.assist .chat{flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px 12px;display:flex;overflow:auto}.drawer.assist .intro p{margin:0 0 8px;font-size:13px}.drawer.assist .msg{max-width:100%;font-size:13px;line-height:1.45}.drawer.assist .msg.user{background:var(--brand-soft);border-radius:10px 10px 2px;align-self:flex-end;max-width:90%;padding:7px 10px}.drawer.assist .msg.user p{white-space:pre-wrap;margin:0}.drawer.assist .msg.assistant{border-left:3px solid var(--brand);padding:2px 0 2px 10px}.drawer.assist .msg.assistant p{margin:0 0 7px}.drawer.assist .msg.assistant ul{margin:0 0 7px;padding-left:18px}.drawer.assist .msg.assistant li{margin:2px 0}.drawer.assist .msg.assistant h5{text-transform:uppercase;letter-spacing:.05em;color:var(--brand);margin:8px 0 4px;font-size:12px}.drawer.assist .msg code{background:var(--soft);border-radius:3px;padding:0 4px;font-size:12px}.drawer.assist .msg.err{color:var(--crit);border-left:3px solid var(--crit);padding-left:10px}.drawer.assist .quick{border-top:1px solid var(--soft);flex-wrap:wrap;gap:4px;padding:8px 12px;display:flex}.drawer.assist .quick .chip{cursor:pointer;border:1px solid var(--line);background:var(--panel);padding:2px 8px;font-size:11px}.drawer.assist .quick .chip:hover:not(:disabled){border-color:var(--brand)}.drawer.assist .askrow{border-top:1px solid var(--line);background:var(--panel);gap:6px;padding:8px 12px 10px;display:flex;position:sticky;bottom:0}.drawer.assist textarea{resize:none;font:inherit;border:1px solid var(--line);background:var(--bg);color:inherit;border-radius:6px;flex:1;padding:6px 8px;font-size:13px}.gatebar{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#0f766e22,#7c3aed22);justify-content:center;align-items:center;gap:14px;padding:6px 14px;font-size:13px;display:flex}.gatebar b{color:var(--brand)}.gatebar button{padding:3px 12px}.dmark{vertical-align:middle;color:#fff;width:22px;height:22px;display:inline-block}.brand .logo{align-items:center;margin-right:2px;display:inline-flex}.conn{flex-direction:column;gap:10px;padding:10px 14px;display:flex}.conn .enttabs .hint{align-self:center;margin-left:auto}.conn .connbody{flex-direction:column;gap:10px;max-width:1100px;display:flex}.conn .card.pad h3{margin-bottom:4px}.conn .card.pad>.hint{margin-bottom:8px;display:block}.conn .note{background:var(--soft);word-break:break-all;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.conn code{background:var(--soft);border-radius:4px;padding:1px 5px;font-size:12px}.conn .catgrid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin:10px 0;display:grid}.conn .catitem{text-align:left;border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:8px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.conn .catitem:hover{border-color:var(--brand)}.conn .catitem .hint{white-space:normal;font-size:11px}.conn .connhead{cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;display:flex}.conn .connhead .grow{flex:1}.conn .conndetail{border-top:1px solid var(--soft);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.conn .conndetail h4{color:var(--muted);margin:6px 0 0;font-size:12px}.conn .form.v{padding:6px 0 0}.conn .form label.w input,.conn .form label.w select{width:100%;max-width:560px}.conn details{font-size:12px}.conn details summary{cursor:pointer;color:var(--muted)}.conn .dtab td.w{white-space:normal;max-width:none}.conn .chip.good{color:#15803d;background:#16a34a22}.conn .chip.bad{color:#b91c1c;background:#dc262622}
