:root{--bg:#0B0F17;--surface:#141A24;--surface-2:#1D2531;--line:#273040;--line-strong:#39465C;--ink:#E9EDF4;--ink-2:#AAB4C6;--muted:#7C88A0;--accent:#2F6BFF;--accent-ink:#F5F8FF;--accent-soft:rgba(47,107,255,.14);--focus:#6D9BFF;--glow:0 0 0 1px rgba(47,107,255,.35),0 6px 20px rgba(47,107,255,.28);--good:#3FB950;--good-text:#7EE29A;--warn:#D9A33A;--serious:#D9A33A;--crit:#F0564E;--st1:#213A86;--st2:#2448A6;--st3:#2856C6;--st4:#2C61E6;--st5:#2F6BFF;--st6:#4C82FF;--st7:#6D9BFF;--st8:#92B4FF;--st9:#BBD0FF;--mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--display:"IBM Plex Sans",system-ui,sans-serif;--r:9px;--shadow:0 10px 30px rgba(3,6,12,.5);color-scheme:dark}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--st7);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}.mono{font-family:var(--mono);font-size:12.5px;letter-spacing:-.01em}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.app{min-height:100%}.app,.nav{display:flex}.nav{width:236px;flex:0 0 236px;background:var(--surface);border-right:1px solid var(--line);padding:18px 14px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto;flex-direction:column;gap:2px}.brand{display:flex;align-items:center;gap:12px;padding:2px 6px 18px;margin-bottom:10px;border-bottom:1px solid var(--line)}.brand .mark{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center}.brand .mark svg,.brand .wm b{display:block}.brand .wm b{font-family:var(--display);font-weight:600;font-size:14.5px;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}.brand .wm small{color:var(--muted);font-size:11.5px}.nav a{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:none;border:0;border-radius:var(--r);padding:8px 12px;color:var(--ink-2);text-decoration:none;font-size:13.5px;transition:background .14s,color .14s}.nav a:hover{text-decoration:none}.nav a.active,.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a.active{font-weight:500}.nav a.active:before{content:"";position:absolute;left:-14px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.nav .foot{margin-top:auto;padding:14px 8px 2px;font-size:11.5px;color:var(--muted);border-top:1px solid var(--line)}.main{flex:1 1;min-width:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:rgba(11,15,23,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:14px 24px;flex-wrap:wrap}.topbar h1{font-family:var(--display);font-size:18px;font-weight:600;letter-spacing:-.015em;margin:0;flex:1 1;min-width:120px}.content{padding:24px;display:flex;flex-direction:column;gap:18px;max-width:1420px}.h2{font-family:var(--display);font-size:16px;font-weight:600;margin:0}.sub{color:var(--muted);font-size:12.5px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.row.between{justify-content:space-between}.grid{display:grid;grid-gap:14px;gap:14px}.tiles{grid-template-columns:repeat(auto-fit,minmax(176px,1fr))}.tile{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 17px}.tile .lbl{font-size:12px;color:var(--muted);font-weight:500}.tile .val{font-family:var(--mono);font-size:33px;font-weight:500;line-height:1.05;margin-top:8px;letter-spacing:-.02em;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile .val .sub{font-family:var(--mono);font-size:17px;color:var(--muted);font-weight:400}.tile .note{font-size:12px;color:var(--ink-2);margin-top:6px}.tile.crit,.tile.warn{border-color:rgba(217,163,58,.4)}.tile.crit .val,.tile.warn .val{color:var(--warn)}.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;min-width:0}.card h3{font-family:var(--display);margin:0 0 2px;font-size:14.5px;font-weight:600;letter-spacing:-.01em}.card .sub{margin-bottom:10px}.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.three{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.bt{display:grid;grid-template-columns:minmax(90px,max-content) 1fr max-content;grid-gap:7px 10px;gap:7px 10px;align-items:center;font-size:12.5px}.bt .l{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt .bar{height:10px;background:var(--surface-2);border-radius:999px;position:relative;overflow:hidden}.bt .bar i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--accent);min-width:2px}.bt .bar i.skip{background:var(--warn)}.bt .v{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;color:var(--ink);font-family:var(--mono);font-size:12px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11px;letter-spacing:.03em;color:var(--muted);font-weight:600;white-space:nowrap;background:var(--surface)}td,th{padding:10px 12px;border-bottom:1px solid var(--line)}td{vertical-align:top}tr:last-child td{border-bottom:0}tbody tr:nth-child(2n){background:rgba(255,255,255,.018)}tbody tr.click{cursor:pointer}tbody tr:hover{background:var(--surface-2)}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tw{overflow-x:auto}.btn{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r);padding:7px 14px;cursor:pointer;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--ink);transition:background .14s,border-color .14s,box-shadow .14s}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--line);border-color:var(--muted)}.btn.p{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.p:hover{background:#4079ff;box-shadow:var(--glow)}.btn.sm{padding:5px 11px;font-size:12px}.btn.danger{color:#FF9A95;border-color:rgba(240,86,78,.5);background:transparent}.btn.danger:hover{background:rgba(240,86,78,.12);border-color:var(--crit)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{background:var(--surface-2);border-color:var(--line-strong);box-shadow:none}input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{width:100%;background:#0D131E;border:1px solid var(--line-strong);border-radius:var(--r);padding:9px 12px;font:inherit;color:inherit}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{min-height:120px;resize:vertical}label.f{display:block;font-size:12px;color:var(--ink-2);margin-bottom:4px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.form{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form .full{grid-column:1/-1}.stage{display:inline-flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}.stage i{width:10px;height:10px;border-radius:3px;flex:0 0 10px}.badge,.stage i{display:inline-block}.badge{border-radius:5px;padding:1px 7px;font-size:11px;font-weight:600;font-family:var(--mono)}.gA{background:rgba(63,185,80,.16);color:var(--good-text)}.gB{background:var(--accent-soft);color:var(--st8)}.gC{background:rgba(217,163,58,.16);color:var(--warn)}.gD{background:rgba(240,86,78,.16);color:#FF9A95}.st{display:inline-flex;align-items:center;gap:6px;font-size:12px}.st:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted)}.st.good:before{background:var(--good)}.st.warn:before{background:var(--warn)}.st.crit:before{background:var(--crit)}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:500;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);white-space:nowrap}.chip.ex{background:rgba(146,100,230,.16);color:#C9A6FF;border-color:rgba(146,100,230,.3)}.ex-mark{color:#C9A6FF}.ex-mark,.ok{font-weight:600}.ok{color:var(--good-text)}.note{background:var(--accent-soft);border:1px solid rgba(47,107,255,.28);border-radius:var(--r);color:var(--ink)}.err,.note{padding:11px 13px;font-size:12.5px}.err{background:rgba(240,86,78,.12);color:#FFB0AB;border:1px solid rgba(240,86,78,.32);border-radius:var(--r)}.kv{display:grid;grid-template-columns:160px 1fr;grid-gap:9px 14px;gap:9px 14px;font-size:13px}.kv .k{color:var(--muted)}.kv .v{min-width:0;word-break:break-all}.tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.tl li{display:grid;grid-template-columns:130px 14px 1fr;grid-gap:10px;gap:10px;font-size:12.5px;padding:6px 0}.tl li .t{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tl li .d{width:10px;height:10px;border-radius:50%;background:var(--accent);margin-top:4px}.tree ul{list-style:none;margin:0;padding-left:18px;border-left:1px solid var(--line)}.tree>ul{padding-left:0;border:0}.tree li{padding:4px 0}.tree .p{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.board{display:grid;grid-auto-flow:column;grid-auto-columns:236px;grid-gap:12px;gap:12px;overflow-x:auto;padding-bottom:10px}.col{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:8px;display:flex;flex-direction:column;gap:8px;min-height:200px}.col header{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 4px;font-size:12.5px;font-weight:600}.col header .own{display:block;font-weight:400;color:var(--muted);font-size:11px}.kcard{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:7px;padding:8px 10px;font-size:12.5px;text-decoration:none;display:block;color:inherit}.kcard:hover{border-color:var(--line-strong)}.kcard .nm{font-family:var(--mono);font-size:12px;font-weight:500;word-break:break-all}.kcard .m{display:flex;justify-content:space-between;gap:6px;color:var(--muted);font-size:11.5px;margin-top:4px;flex-wrap:wrap}.kcard .late{color:var(--warn);font-weight:500}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filters input,.filters select{width:auto;min-width:140px}.logo-rings .ring circle{stroke:var(--accent)}.logo-rings .ring:first-child{opacity:1}.logo-rings .ring:nth-child(2){opacity:.9}.logo-rings .ring:nth-child(3){opacity:.8}.logo-hero{animation:hero-in .9s cubic-bezier(.2,.7,.2,1) both}@keyframes hero-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media (max-width:820px){.app{flex-direction:column}.nav{width:auto;flex:none;height:auto;position:static;flex-direction:row;overflow-x:auto;padding:10px 12px;gap:4px;border-right:0;border-bottom:1px solid var(--line);align-items:center}.brand{border-bottom:0;padding:2px 6px;margin-bottom:0;flex:0 0 auto}.brand .wm{display:none}.nav a{flex:0 0 auto}.nav a.active:before{left:7px;right:7px;top:auto;bottom:-10px;width:auto;height:3px;border-radius:3px 3px 0 0}.nav .foot{display:none}.content{padding:16px}.kv{grid-template-columns:1fr}}