/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--tw-default-transition-duration:.15s;--tw-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer utilities;:root{--bg:#f6f7f9;--surface:#fff;--surface2:#eff1f4;--surface3:#f3f4f6;--ink:#111827;--ink2:#4b5563;--muted:#6b7280;--muted2:#8b919c;--line:#e5e7eb;--line2:#d1d5db;--brand:#4c6ef5;--brand2:#3b5bdb;--brand-soft:#eef2ff;--brand-ink:#3b4fd6;--ok:#1a7f37;--warn:#b45309;--bad:#c0392b;--ok-bg:#e8f7ee;--ok-line:#9fd8b4;--ok-ink:#116532;--warn-bg:#fff4e6;--warn-line:#f9c585;--warn-ink:#9a4a0b;--note-bg:#fff9e8;--note-line:#f3d98b;--note-ink:#6b4f0a;--bad-bg:#fdecec;--bad-line:#f5b5ae;--bad-ink:#b42318;--p1:#8a919c;--p2:#3b6ff0;--p3:#0e9aa7;--p4:#7c5cdb;--p5:#2b9a52;--p1-bg:#eef0f3;--p1-ink:#4b5563;--p2-bg:#e7eeff;--p2-ink:#2b4fc9;--p3-bg:#e0f6f8;--p3-ink:#0b6f79;--p4-bg:#efeafe;--p4-ink:#5b3fb7;--p5-bg:#e6f6ec;--p5-ink:#1b6e3b;--radius:10px;--r-sm:6px;--r-md:8px;--shadow:0 1px 3px #0000000d;--shadow-hover:0 6px 16px #1018281a,0 1px 3px #1018280f;--focus:0 0 0 3px #4c6ef547;--img-filter:none;--brand-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M9 10h14M9 16h14M9 22h9' stroke='%23fff' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--surface:#171a20;--surface2:#13161b;--surface3:#1d2128;--ink:#eceef2;--ink2:#c3c8d1;--muted:#8d94a0;--muted2:#646b77;--line:#ffffff17;--line2:#ffffff29;--brand:#6d8cff;--brand2:#86a0ff;--brand-soft:#6d8cff29;--brand-ink:#9db1ff;--ok:#4ade80;--warn:#fbbf24;--bad:#f87171;--ok-bg:#4ade801f;--ok-line:#4ade8059;--ok-ink:#7ee2a2;--warn-bg:#fbbf241f;--warn-line:#fbbf2459;--warn-ink:#f6cd6a;--note-bg:#fbbf2414;--note-line:#fbbf2447;--note-ink:#e9d79a;--bad-bg:#f8717124;--bad-line:#f8717159;--bad-ink:#fca5a5;--p1:#7d8591;--p2:#6d8cff;--p3:#2fc3d0;--p4:#a58cf5;--p5:#4ade80;--p1-bg:#ffffff14;--p1-ink:#c3c8d1;--p2-bg:#6d8cff29;--p2-ink:#a9bbff;--p3-bg:#2fc3d024;--p3-ink:#7fdbe3;--p4-bg:#a58cf529;--p4-ink:#c9b8ff;--p5-bg:#4ade8021;--p5-ink:#8ae6a8;--shadow:0 1px 2px #0006;--shadow-hover:0 6px 18px #00000080;--focus:0 0 0 3px #6d8cff59;--img-filter:brightness(.9)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:14px}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;line-height:1.5;overflow-x:hidden}a{color:var(--brand-ink);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{box-shadow:var(--focus);outline:none}h1,h2,h3{letter-spacing:-.01em;font-weight:600}::placeholder{color:var(--muted2)}img{filter:var(--img-filter)}header.top{background:var(--surface);border-bottom:1px solid var(--line);z-index:5;align-items:center;gap:16px;height:52px;padding:0 20px;display:flex;position:sticky;top:0}header.top .brand{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:8px;font-size:1.05rem;font-weight:600;display:inline-flex}header.top .brand:before{content:"";background:var(--brand) var(--brand-mark) center/100% no-repeat;border-radius:6px;width:22px;height:22px}header.top .brand:hover{text-decoration:none}header.top nav{flex:1;align-items:center;gap:2px;min-width:0;display:flex}header.top nav a{border-radius:var(--r-sm);color:var(--ink2);white-space:nowrap;padding:6px 10px;font-weight:500}header.top nav a.on{background:var(--brand-soft);color:var(--brand-ink)}header.top nav a:hover{background:var(--surface3);color:var(--ink);text-decoration:none}header.top nav .ng{align-items:center;gap:2px;display:inline-flex}header.top nav .ng>small{display:none}header.top nav .sep{background:var(--line2);flex:none;width:1px;height:20px;margin:0 10px}header.top .newbtn{border-radius:var(--r-md);background:var(--brand);color:#fff;white-space:nowrap;align-items:center;height:34px;padding:0 14px;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #3b5bdb4d}header.top .newbtn:hover{background:var(--brand2);text-decoration:none}header.top form.q{flex:none;margin-left:auto}header.top form.q input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa0ab' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");background-position:10px;background-repeat:no-repeat;background-size:16px;width:240px;padding-left:32px}header.top .who{color:var(--muted);white-space:nowrap;align-items:center;gap:10px;font-size:.92rem;display:flex}.mnav{display:none}main{max-width:1720px;margin:0 auto;padding:16px 20px 32px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card.err{text-align:center;max-width:520px;margin:80px auto}.card.err h1{color:var(--muted2);margin:0 0 4px;font-size:2.4rem}.card.ok{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-ink);word-break:break-all}.card.ok code{font-size:.9rem}.muted{color:var(--muted)}.empty{color:var(--muted);text-align:center;padding:28px 12px;font-size:.92rem}.empty:before{content:"";background:var(--surface3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa0ab' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M4 12h10M4 17h6'/%3E%3C/svg%3E") center/18px no-repeat;border-radius:50%;width:36px;height:36px;margin:0 auto 8px;display:block}.btn.google{width:100%;min-height:44px;padding:10px 20px;font-size:1rem}.linkbtn{color:var(--muted);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;padding:6px 4px}.linkbtn:hover{color:var(--ink);text-decoration:underline}.badge{background:var(--p1-bg);height:22px;color:var(--p1-ink);white-space:nowrap;letter-spacing:.01em;border-radius:5px;align-items:center;padding:0 8px;font-size:.8rem;font-weight:600;display:inline-flex}.status{background:var(--p1-bg);height:22px;color:var(--p1-ink);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 9px 0 7px;font-size:.78rem;font-weight:600;display:inline-flex}.status:before{content:"";background:var(--p1);border-radius:50%;flex:none;width:7px;height:7px}.status.p1{background:var(--p1-bg);color:var(--p1-ink)}.status.p1:before{background:var(--p1)}.status.p2{background:var(--p2-bg);color:var(--p2-ink)}.status.p2:before{background:var(--p2)}.status.p3{background:var(--p3-bg);color:var(--p3-ink)}.status.p3:before{background:var(--p3)}.status.p4{background:var(--p4-bg);color:var(--p4-ink)}.status.p4:before{background:var(--p4)}.status.p5{background:var(--p5-bg);color:var(--p5-ink)}.status.p5:before{background:var(--p5)}.status.st-arch{background:var(--ink);color:var(--bg)}.status.st-arch:before{background:var(--bg)}.status.ok{background:var(--ok-bg);color:var(--ok-ink)}.status.ok:before{background:var(--ok)}.status.warn{background:var(--warn-bg);color:var(--warn-ink)}.status.warn:before{background:var(--warn)}.status.bad{background:var(--bad-bg);color:var(--bad-ink)}.status.bad:before{background:var(--bad)}.chip{white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:.86rem;display:inline-flex}.chip.muted{color:var(--muted)}.av{object-fit:cover;color:#3730a3;filter:none;background:#c7d2fe;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:.68rem;font-weight:600;display:inline-flex}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.filters .ui-select,.filters .ui-input{width:auto;max-width:220px}.filters label{color:var(--ink2);cursor:pointer;align-items:center;gap:6px;min-height:36px;margin:0;padding:0 6px;display:flex}.filters .clear{color:var(--muted);border-radius:var(--r-sm);padding:6px 8px;font-size:.86rem}.filters .clear:hover{background:var(--surface3);color:var(--ink);text-decoration:none}table.list{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);overflow:hidden}table.list th,table.list td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:9px 12px;font-size:.9rem}table.list th{background:var(--surface2);color:var(--muted);letter-spacing:.02em;white-space:nowrap;font-size:.76rem;font-weight:600}table.list tbody tr:last-child td{border-bottom:none}table.list tbody tr{cursor:pointer;transition:background .1s}table.list tbody tr:hover{background:var(--surface3)}table.list td.empty{text-align:center}.pager{color:var(--muted);justify-content:center;align-items:center;gap:16px;padding:16px;font-size:.9rem;display:flex}.pager a{border-radius:var(--r-sm);padding:6px 10px}.pager a:hover{background:var(--surface3);text-decoration:none}fieldset{border:none;min-width:0;margin:0 0 14px;padding:0}legend{margin-bottom:8px;padding:0;font-size:.92rem;font-weight:600}legend small{color:var(--muted);margin-left:8px;font-weight:400}form label{margin:12px 0 4px;font-size:.9rem;font-weight:600;display:block}form label small{color:var(--muted);margin-left:6px;font-weight:400}label>.ui-input,label>.ui-select,label>.ui-textarea{margin-top:4px}.grid2{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.span2{grid-column:1/3}.actions{align-items:center;gap:8px;margin-top:16px;display:flex}.inline{display:inline}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.inline-form .ui-input,.inline-form .ui-select{width:auto}body.auth{background:radial-gradient(1200px 600px at 50% -10%,var(--brand-soft),transparent 60%) no-repeat,var(--bg);min-height:100vh}.login{text-align:center;background:var(--surface);border:1px solid var(--line);max-width:400px;box-shadow:0 10px 40px #10182814,var(--shadow);border-radius:16px;margin:12vh auto 0;padding:40px 32px 32px}.login .mark{background:var(--brand) var(--brand-mark) center/100% no-repeat;border-radius:14px;width:52px;height:52px;margin:0 auto 16px;box-shadow:0 6px 16px #4c6ef559}.login h1{margin:0 0 6px;font-size:1.4rem}.login p{color:var(--muted);margin:0 0 20px}.login .btn{margin-top:4px}.login .btn.google{background:var(--surface);color:var(--ink)}.login .foot{color:var(--muted2);margin:20px 0 0;font-size:.8rem}.err-msg{color:var(--bad);margin-top:14px}.toast{background:var(--ink);color:var(--bg);border-radius:var(--r-md);z-index:9;padding:10px 14px;font-size:.92rem;position:fixed;bottom:18px;right:18px;box-shadow:0 4px 14px #0003}.toast a{color:var(--brand)}@media (max-width:1100px){header.top form.q{display:none}header.top .newbtn{margin-left:auto}header.top nav .ng>small{display:none}header.top nav .sep{margin:0 4px}header.top .who .chip{gap:0;font-size:0}header.top nav{gap:0}header.top nav a{padding:6px 8px}}@media (max-width:760px){html{font-size:15px}main{padding:10px 12px 84px}header.top{gap:8px;height:50px;padding:0 12px}header.top nav,header.top .newbtn,header.top form.q{display:none}header.top .who{margin-left:auto}header.top .who .chip{gap:6px;font-size:.9rem}.mnav{z-index:6;height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);display:flex;position:fixed;bottom:0;left:0;right:0}.mnav a{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:44px;font-size:.72rem;display:flex}.mnav a svg{stroke:currentColor;fill:none;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.mnav a.on{color:var(--brand-ink)}.mnav a:hover{text-decoration:none}.mnav a.primary span.ic{background:var(--brand);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;margin-top:-10px;display:flex;box-shadow:0 4px 10px #4c6ef559}.filters{grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-bottom:10px;display:grid}.filters .ui-select,.filters .ui-input{width:100%;max-width:none}.filters label{white-space:nowrap;grid-column:1;justify-self:start;min-height:40px}.filters .clear{grid-column:2;place-self:center end;align-items:center;min-height:40px;display:inline-flex}.pager{padding:12px}.login{margin:6vh 0 0;padding:32px 20px 24px}.card.err{margin:40px 0}}.dash{max-width:1400px;margin:0 auto}.dash-head{justify-content:space-between;align-items:flex-end;gap:12px;margin:6px 0 16px;display:flex}.dash-head h1{letter-spacing:-.01em;margin:0 0 2px;font-size:1.25rem;font-weight:600}.dash-head p{margin:0;font-size:.82rem}.range{background:var(--surface3);border-radius:8px;gap:2px;padding:3px;display:inline-flex;box-shadow:inset 0 1px 2px #1018280f}.range a{color:var(--muted);border-radius:6px;padding:4px 12px;font-size:.85rem;font-weight:500}.range a.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-weight:600}.range a:hover{color:var(--ink);text-decoration:none}.kpis{grid-template-columns:repeat(8,1fr);gap:10px;margin-bottom:12px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;color:var(--ink);cursor:default;padding:12px 14px;display:block;position:relative}.kpi.link{cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .12s}.kpi.link:hover{border-color:var(--brand);box-shadow:var(--shadow-hover);text-decoration:none;transform:translateY(-2px)}.kpi .go{color:var(--muted2);font-size:.78rem;transition:color .12s;position:absolute;top:8px;right:10px}.kpi.link:hover .go{color:var(--brand)}.kpi .lbl{color:var(--muted);letter-spacing:.02em;white-space:nowrap;font-size:.75rem}.kpi .num{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink);margin:4px 0 2px;font-size:1.9rem;font-weight:600;line-height:1.15}.kpi .sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;overflow:hidden}.dgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dc{min-width:0;box-shadow:none;padding:14px 16px}.dc.span2{grid-column:span 2}.dc.span3{grid-column:1/-1}.dc h2{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 12px;font-size:.82rem;font-weight:600;display:flex}.dc h2 small{color:var(--muted);font-size:.74rem;font-weight:400}.dc .big{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-bottom:10px;font-size:1.9rem;font-weight:600;line-height:1.15}.dc .big small{color:var(--muted);letter-spacing:0;margin-top:2px;font-size:.74rem;font-weight:400;display:block}.dc .small{margin:6px 0 0;font-size:.78rem}.hb,.fs{font-variant-numeric:tabular-nums;grid-template-columns:minmax(72px,34%) 1fr auto;align-items:center;gap:8px;padding:4px 0;font-size:.85rem;display:grid}.hb .lbl,.fs .lbl{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);overflow:hidden}.hb .lbl a,.fs .lbl{color:var(--ink)}.hb .bar,.fs .bar{background:#f0f1f4;border-radius:4px;min-width:40px;height:8px;overflow:hidden}.hb .bar i,.fs .bar i{background:var(--brand);border-radius:4px;height:100%;display:block}.hb .n,.fs .n{text-align:right;white-space:nowrap;min-width:2.2em;font-weight:600}.hb .pct{color:var(--muted);margin-left:6px;font-size:.78rem;font-weight:400}.fs{grid-template-columns:minmax(72px,24%) 1fr auto minmax(90px,auto)}.fs .dw{color:var(--muted);text-align:right;white-space:nowrap;font-size:.78rem;line-height:1.2}.fs .dw small{color:#9ca3af;font-size:.7rem;display:block}.fs.done{color:var(--muted);border-top:1px dashed var(--line);margin-top:4px;padding-top:8px}.fs.done .n{font-weight:400}.fs .bar{border-radius:5px;height:22px}.fs .bar i{border-radius:5px}table.mini{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}table.mini th{color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:2px 6px 6px 0;font-size:.72rem;font-weight:500}table.mini td{vertical-align:middle;border-bottom:1px solid #f0f1f4;padding:5px 6px 5px 0}table.mini tr:last-child td{border-bottom:none}table.mini .num{text-align:right;white-space:nowrap}table.mini .num a{color:var(--ink);font-weight:600}table.mini .old{white-space:nowrap;font-size:.8rem}svg.chart{width:100%;height:auto;display:block}svg.chart .grid,svg.spark .grid{stroke:#eceef2;stroke-width:1px}svg.chart .ax{fill:var(--muted);font-size:11px}svg.chart .b-new{fill:var(--brand)}svg.chart .b-closed{fill:#c7d2fe}svg.chart .backlog{fill:none;stroke:var(--warn);stroke-width:2px;stroke-linejoin:round}svg.chart .backlog-dot{fill:#fff;stroke:var(--warn);stroke-width:2px}svg.chart .backlog-dot.off{stroke-dasharray:2 2;fill:#fff7ed}svg.chart rect.clip{opacity:.45}svg.chart .clip-lbl{fill:var(--muted);font-size:10px}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:6px;font-size:.76rem;display:flex}.legend .sw{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.legend .sw.b-new{background:var(--brand)}.legend .sw.b-closed{background:#c7d2fe}.legend .sw.line{background:var(--warn);vertical-align:2px;width:14px;height:2px}.donut-wrap{grid-template-columns:120px 1fr;align-items:center;gap:14px;display:grid}svg.donut{width:120px;height:120px}svg.donut .dn{fill:var(--ink);font-size:22px;font-weight:600}.hbars{min-width:0}@media (max-width:1100px){.kpis{grid-template-columns:repeat(4,1fr)}.dgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.dash-head{flex-direction:column;align-items:flex-start}.kpis{grid-template-columns:repeat(2,1fr);gap:8px}.kpi{padding:10px 12px}.kpi .num{font-size:1.6rem}.dgrid{grid-template-columns:1fr;gap:10px}.dc.span2,.dc.span3{grid-column:auto}.dc{padding:12px}.hb,.fs{grid-template-columns:minmax(64px,38%) 1fr auto}.fs{grid-template-columns:minmax(60px,26%) 1fr auto minmax(72px,auto)}svg.chart .ax{font-size:17px}svg.chart .clip-lbl{font-size:14px}.donut-wrap{grid-template-columns:96px 1fr}svg.donut{width:96px;height:96px}}:root{--bg:#f8fafc;--muted:#64748b;--card-line:#0f172a0f;--shadow:0 1px 2px #0f172a0a,0 4px 20px #0f172a09;--shadow-hover:0 2px 4px #0f172a0d,0 12px 28px #0f172a17}@media (prefers-color-scheme:dark){:root{--card-line:#ffffff12;--bg:#0f1115;--muted:#8d94a0;--shadow:0 1px 2px #0006;--shadow-hover:0 6px 18px #00000080}}.card,table.list,.kpi{border-color:var(--card-line)}header.top{-webkit-backdrop-filter:saturate(180%)blur(12px);border-bottom-color:var(--card-line);background:#ffffffd1;gap:12px;height:60px}@media (prefers-color-scheme:dark){header.top{background:#171a20d1}}header.top nav{gap:10px}header.top .seg{background:var(--surface3);border-radius:999px;gap:2px;margin-left:8px;padding:3px;display:inline-flex;box-shadow:inset 0 1px 2px #0f172a0f}header.top .seg a{color:var(--muted);border-radius:999px;padding:5px 16px;font-size:.88rem;font-weight:600;transition:color .12s,background .12s,box-shadow .12s}header.top .seg a:hover{color:var(--ink);background:0 0}header.top .seg a.on{background:var(--surface);color:var(--ink);box-shadow:0 2px 4px #00000014}header.top form.q{margin-left:auto;position:relative}header.top form.q input{border-radius:999px;width:190px;padding-right:44px;transition:width .18s,border-color .12s,box-shadow .12s}header.top form.q input:focus{width:280px}header.top form.q kbd{color:var(--muted);background:var(--surface);border:1px solid var(--line2);pointer-events:none;border-radius:5px;padding:3px 5px;font:600 .68rem/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;position:absolute;top:50%;right:10px;transform:translateY(-50%)}header.top form.q input:focus+kbd{display:none}header.top .newbtn{background:linear-gradient(135deg,#4c6ef5 0%,#6366f1 60%,#7c3aed 100%);border-radius:999px;height:36px;padding:0 18px;transition:transform .14s,box-shadow .14s;box-shadow:0 4px 14px #4c6ef559,inset 0 1px #ffffff2e}header.top .newbtn:hover{background:linear-gradient(135deg,#4263eb 0%,#5458e8 60%,#6d28d9 100%);transform:scale(1.04);box-shadow:0 6px 20px #4c6ef573}header.top .newbtn:active{transform:scale(.98)}header.top details.who{position:relative}header.top details.who>summary{cursor:pointer;border-radius:999px;align-items:center;padding:4px 8px 4px 4px;list-style:none;display:flex}header.top details.who>summary::-webkit-details-marker{display:none}header.top details.who>summary:hover,header.top details.who[open]>summary{background:var(--surface3)}header.top details.who .chip{color:var(--ink2);font-weight:500}header.top details.who .av{width:26px;height:26px;font-size:.78rem}header.top .menu{background:var(--surface);border:1px solid var(--card-line);z-index:20;border-radius:12px;flex-direction:column;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #0f172a24}header.top .menu a,header.top .menu .linkbtn{text-align:left;width:100%;color:var(--ink2);background:0 0;border-radius:8px;padding:8px 12px;font-size:.9rem;font-weight:500;display:block}header.top .menu a:hover,header.top .menu .linkbtn:hover{background:var(--surface3);color:var(--ink);text-decoration:none}header.top .menu form{border-top:1px solid var(--line);margin:4px 0 0;padding-top:4px}header.top .menu .linkbtn{color:var(--bad)}.kpis{grid-template-columns:minmax(0,2fr) repeat(7,minmax(0,1fr));gap:12px}.kpi{box-shadow:var(--shadow);border-radius:14px;padding:14px 16px;overflow:hidden}.kpi .lbl{color:var(--muted);font-size:.76rem;font-weight:500}.kpi .num{letter-spacing:-.03em;margin:6px 0 2px;font-size:2.3rem;font-weight:700}.kpi .sub{color:var(--muted)}.kpi[class*=bar-]{padding-left:20px}.kpi[class*=bar-]:before{content:"";background:var(--kbar);border-radius:0 4px 4px 0;width:4px;position:absolute;top:14px;bottom:14px;left:0}.kpi.bar-orange{--kbar:#f59e0b}.kpi.bar-purple{--kbar:#8b5cf6}.kpi.bar-green{--kbar:#22c55e}.kpi.bar-red{--kbar:#ef4444}.kpi.bar-blue{--kbar:#3b82f6}.kpi.ok .num{color:#16a34a}.kpi.warn .num{color:#dc2626}.kpi .go{color:var(--muted2);opacity:.55;font-size:.9rem;transition:opacity .14s,transform .14s,color .14s;top:12px;right:14px}.kpi.link:hover{box-shadow:var(--shadow-hover);border-color:#4c6ef573;transform:translateY(-2px)}.kpi.link:hover .go{opacity:1;color:var(--brand);transform:translate(2px,-2px)}.kpi.hero{color:#fff;background:radial-gradient(120% 140% at 100% 0,#a855f78c 0%,#a855f700 55%),linear-gradient(135deg,#1e1b4b 0%,#312e81 45%,#4338ca 100%);border:none;grid-row:span 1;padding:18px 22px;box-shadow:0 10px 30px #312e8159}.kpi.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#818cf873,#818cf800 70%);border-radius:50%;width:180px;height:180px;position:absolute;bottom:-60px;right:-40px}.kpi.hero .lbl{color:#ffffffbf;letter-spacing:.04em;font-size:.82rem}.kpi.hero .num{color:#fff;text-shadow:0 2px 12px #0003;margin:6px 0 4px;font-size:2.9rem;font-weight:800}.kpi.hero .sub{color:#ffffffb8;font-size:.8rem}.kpi.hero .go{color:#ffffffb3;opacity:1}.kpi.hero.link:hover{border:none;box-shadow:0 16px 40px #312e8173}.kpi.hero.link:hover .go{color:#fff}.dc{box-shadow:var(--shadow);border-radius:14px}svg.chart .backlog{stroke:url(#bl-line);stroke-width:2.5px}svg.chart .backlog-area{fill:url(#bl-area);stroke:none}svg.chart .backlog-dot{stroke:#6366f1}svg.chart .backlog-dot.off{fill:#eef2ff}svg.chart .ax-r{fill:#6366f1}svg.chart .grid{stroke:#0f172a0f}.legend .sw.line{background:linear-gradient(90deg,#6366f1,#a855f7)!important}@media (max-width:1300px){header.top form.q input{width:150px}header.top form.q input:focus{width:220px}}@media (max-width:1100px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi.hero{grid-column:span 2}header.top details.who .chip .nm{display:none}header.top .seg a{padding:5px 12px}}@media (max-width:760px){header.top{height:52px}header.top nav{flex:1;justify-content:flex-end;gap:8px;display:flex}header.top .seg,header.top form.q,header.top .newbtn{display:none}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi.hero{grid-column:1/-1}.kpi.hero .num{font-size:2.5rem}.kpi .num{font-size:1.9rem}}.ui-input,.ui-select,.ui-textarea{border-radius:var(--r-sm);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line2);background-color:var(--surface);width:100%;min-width:0;height:36px;color:var(--ink);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;transition-property:color,box-shadow,border-color;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration));outline-style:none;padding-inline:12px}:is(.ui-input,.ui-select,.ui-textarea)::placeholder{color:var(--muted2)}:is(.ui-input,.ui-select,.ui-textarea):focus-visible{border-color:var(--brand);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){:is(.ui-input,.ui-select,.ui-textarea):focus-visible{--tw-ring-color:color-mix(in oklab, var(--brand) 50%, transparent)}}:is(.ui-input,.ui-select,.ui-textarea):disabled{cursor:not-allowed;opacity:.5}:is(.ui-input,.ui-select,.ui-textarea)[aria-invalid=true]{border-color:var(--bad);--tw-ring-color:var(--bad)}@supports (color:color-mix(in lab, red, red)){:is(.ui-input,.ui-select,.ui-textarea)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--bad) 20%, transparent)}}.ui-input,.ui-select,.ui-textarea{margin:0;font-size:1rem;line-height:1.4}.ui-input:hover:not(:focus-visible):not(:disabled),.ui-select:hover:not(:focus-visible):not(:disabled),.ui-textarea:hover:not(:focus-visible):not(:disabled){border-color:var(--muted2)}.ui-select{cursor:pointer;appearance:none;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b919c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:32px}.ui-select[multiple]{padding-block:4px;background-image:none;height:auto;padding-right:12px}.ui-textarea{resize:vertical;height:auto;min-height:90px;padding-block:8px;line-height:1.5;display:block}.ui-input.ui-sm,.ui-select.ui-sm{height:32px;padding-inline:10px}.ui-select.ui-sm{background-position:right 8px center;padding-right:28px}.ui-check,.ui-radio{cursor:pointer;appearance:none;border-style:var(--tw-border-style);border-width:1px;border-color:var(--line2);background-color:var(--surface);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);width:16px;height:16px;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;transition-property:background-color,border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration));outline-style:none;flex-shrink:0;position:relative}:is(.ui-check,.ui-radio):focus-visible{border-color:var(--brand);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){:is(.ui-check,.ui-radio):focus-visible{--tw-ring-color:color-mix(in oklab, var(--brand) 50%, transparent)}}:is(.ui-check,.ui-radio):disabled{cursor:not-allowed;opacity:.5}.ui-check,.ui-radio{vertical-align:-3px;margin:0}.ui-check{border-radius:4px}.ui-radio{border-radius:3.40282e38px}.ui-check:checked{border-color:var(--brand);background-color:var(--brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:12px}.ui-radio:checked{border-color:var(--brand);background-image:radial-gradient(circle,var(--brand) 0 3.5px,transparent 4px)}.btn{cursor:pointer;border-radius:var(--r-sm);white-space:nowrap;border-style:var(--tw-border-style);border-width:1px;border-color:var(--line2);background-color:var(--surface);min-height:36px;color:var(--ink);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-outline-style:none;transition-property:color,background-color,border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration));outline-style:none;justify-content:center;align-items:center;gap:6px;padding-block:6px;padding-inline:16px;display:inline-flex}@media (hover:hover){.btn:hover{background-color:var(--surface3);color:var(--ink)}}.btn:focus-visible{border-color:var(--brand);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.btn:focus-visible{--tw-ring-color:color-mix(in oklab, var(--brand) 50%, transparent)}}.btn:disabled{pointer-events:none;opacity:.5}.btn{font-weight:500;line-height:1.2}.btn:hover{text-decoration:none}.btn:active{transform:translateY(.5px)}.btn.primary{border-color:var(--brand);background-color:var(--brand);color:#fff}@media (hover:hover){.btn.primary:hover{border-color:var(--brand2);background-color:var(--brand2);color:#fff}}.btn.small{gap:4px;min-height:32px;padding-inline:12px;font-size:.86rem}.ui-combo{position:relative}.ui-combo-input{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b919c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:32px}.ui-combo-input:focus{cursor:text}.ui-combo-list{z-index:30;border-radius:var(--r-md);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line2);background-color:var(--surface);inset-inline:0;max-height:256px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);overflow:auto;box-shadow:0 10px 28px #0f172a24}.ui-combo-list li{cursor:pointer;border-radius:var(--r-sm);align-items:center;min-height:34px;padding-block:6px;padding-inline:8px;display:flex}.ui-combo-list li.act,.ui-combo-list li[role=option]:hover{background-color:var(--surface3);color:var(--ink)}.ui-combo-list li.none{cursor:default;color:var(--muted2);background:0 0}.ui-combo-list[hidden],.ui-combo-list li[hidden]{display:none}@media (max-width:760px){.ui-input,.ui-select,.ui-textarea{font-size:16px}.ui-input,.ui-select{height:42px}.ui-input.ui-sm,.ui-select.ui-sm{height:38px}.ui-check,.ui-radio{width:18px;height:18px}.ui-check:checked{background-size:14px}.ui-combo-list li{min-height:42px}.btn{min-height:40px}.btn.small{min-height:34px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}