@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--klkr-ink: #0b0c0a;--klkr-ink-soft: #15160f;--klkr-ink-line: #f6f2e924;--klkr-paper: #f6f2e9;--klkr-paper-dim: #ece5d3;--klkr-brass: #c7a050;--klkr-brass-soft: #e4cd98;--klkr-crane: #33493c;--klkr-crane-soft: #4a6455;--bg: var(--klkr-ink);--bg-2: #101108;--panel: var(--klkr-ink-soft);--panel-2: #1b1c14;--panel-3: #23241a;--border: var(--klkr-ink-line);--border-2: #f6f2e938;--text: var(--klkr-paper);--text-2: #f6f2e9bf;--muted: #f6f2e980;--accent: var(--klkr-brass);--accent-2: var(--klkr-brass-soft);--accent-ink: var(--klkr-ink);--indigo: var(--klkr-brass-soft);--danger: #c2635a;--g-bg: #15603a;--g-fg: #eafff2;--g-line: #2ea36a;--g-text: #7fd6a4;--g-soft: rgba(46, 163, 106, .16);--y-bg: #7a5a10;--y-fg: #fff8e4;--y-line: #e0b03a;--y-text: #f0cc74;--y-soft: rgba(224, 176, 58, .16);--r-bg: #8a2622;--r-fg: #ffecea;--r-line: #e0564c;--r-text: #f0a39c;--r-soft: rgba(224, 86, 76, .16);--n-bg: #1f2018;--n-fg: #f6f2e966;--n-line: #6b6f5e;--station-dbe3: #3b6f73;--station-dbe3-soft: rgba(59, 111, 115, .25);--station-dmv3: #75596b;--station-dmv3-soft: rgba(117, 89, 107, .25);--station-ink: #ffffff;--mark-green: #3f9c63;--mark-green-wash: rgba(63, 156, 99, .13);--mark-yellow: #d6a53c;--mark-yellow-wash: rgba(214, 165, 60, .13);--radius: 0px;--radius-sm: 0px;--shadow: none;--font: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;--mono: "Cascadia Mono", "Consolas", ui-monospace, monospace;--etikett-spacing: .2em;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:400;letter-spacing:0}h1{font-size:30px;line-height:1.15}h2{font-size:20px}h3{font-size:16px}.etikett{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:var(--etikett-spacing);color:var(--accent)}.mono{font-family:var(--mono);font-size:12.5px;letter-spacing:.01em}.muted{color:var(--muted)}.small{font-size:12px}.nowrap{white-space:nowrap}.right{text-align:right}.grow{flex:1}.app{display:grid;grid-template-columns:236px 1fr;min-height:100%}.sidebar{position:sticky;top:0;height:100vh;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 12px}.brand{display:flex;align-items:center;gap:10px;padding:2px 6px 24px}.brand>div:last-child{min-width:0}.brand-logo{display:grid;place-items:center;padding:2px 6px;border:1px solid rgba(199,160,80,.5);color:var(--klkr-brass);font-family:var(--font-display);font-weight:400;font-size:15px;letter-spacing:.08em}.brand-name{font-family:var(--font-display);font-weight:400;font-size:15px;line-height:1.2;white-space:nowrap}.brand-sub{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:var(--etikett-spacing);margin-top:2px}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:0;color:var(--text-2);font-weight:500;transition:background .15s,color .15s}.nav a:hover{background:transparent;color:var(--text)}.nav a.active{background:transparent;color:var(--klkr-brass);box-shadow:inset 2px 0 0 var(--klkr-brass)}.nav .num{margin-left:auto;font-size:11px;background:var(--r-bg);color:var(--r-fg);border-radius:0;padding:1px 7px}.nav svg{width:18px;height:18px;opacity:.85;flex:none}.sidebar-foot{margin-top:auto;padding:10px;font-size:11.5px;color:var(--muted)}.main{min-width:0;padding:26px 30px 60px}.page-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-head .sub{color:var(--muted);margin-top:4px}.page-head .actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.panel{background:var(--panel);border:1px solid var(--border);border-radius:0}.panel-pad{padding:18px 20px}.panel-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:18px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:18px}.grid-2>*{min-width:0}.btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:0;border:1px solid var(--border-2);background:var(--panel-2);color:var(--text);cursor:pointer;font-weight:550;transition:background .15s,border-color .15s,transform .05s;white-space:nowrap}.btn:hover{background:var(--panel-3);border-color:var(--border-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{background:var(--klkr-brass-soft)}.btn.danger{background:transparent;border-color:#f8717180;color:var(--danger)}.btn.danger:hover{background:#f871711a}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn.ghost:hover{background:var(--panel-2);color:var(--text)}.btn.sm{height:28px;padding:0 10px;font-size:12.5px;border-radius:0}.btn svg{width:16px;height:16px}h1 svg,h2 svg,h3 svg,.badge svg{width:1.05em;height:1.05em;vertical-align:-.15em;margin-right:4px;flex:none}.input,.select,textarea.input{height:36px;padding:0 12px;border-radius:0;border:1px solid var(--border-2);background:var(--bg-2);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}textarea.input{height:auto;padding:8px 12px;resize:vertical}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c7a0502e}.input.sm,.select.sm{height:30px;font-size:13px;padding:0 8px}.search{position:relative}.search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;color:var(--muted)}.search .input{padding-left:34px;width:280px}label.field{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--text-2)}.chips{display:inline-flex;background:var(--bg-2);border:1px solid var(--border);border-radius:0;padding:3px;gap:2px}.chip{border:0;background:transparent;color:var(--text-2);padding:5px 11px;border-radius:0;cursor:pointer;font-weight:550;font-size:13px;display:inline-flex;align-items:center;gap:6px}.chip:hover{color:var(--text)}.chip.on{background:var(--panel-3);color:var(--text)}.dot{width:9px;height:9px;border-radius:0;display:inline-block;flex:none}.dot.green{background:var(--g-line)}.dot.yellow{background:var(--y-line)}.dot.red{background:var(--r-line)}.dot.grey{background:var(--n-line)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:0;font-size:11.5px;font-weight:600;background:var(--panel-3);color:var(--text-2);white-space:nowrap}.badge.green{background:var(--g-soft);color:var(--g-text)}.badge.yellow{background:var(--y-soft);color:var(--y-text)}.badge.red{background:var(--r-soft);color:var(--r-text)}.badge.accent{background:#c7a05029;color:var(--accent)}.badge.indigo{background:#c7a05029;color:var(--klkr-brass-soft)}.idchip{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:12px;background:var(--bg-2);border:1px solid var(--border);padding:2px 4px 2px 8px;border-radius:0}.idchip button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0 4px;border-radius:0}.idchip button:hover{color:var(--danger);background:#f871711f}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:18px}.tile{padding:16px 18px;position:relative;overflow:hidden;animation:rise .35s ease both}.tile .label{color:var(--muted);font-size:12.5px;font-weight:550;display:flex;align-items:center;gap:7px}.tile .value{font-size:30px;font-weight:700;letter-spacing:-.02em;margin-top:6px;font-variant-numeric:tabular-nums}.tile .delta{font-size:12px;color:var(--muted);margin-top:2px}.tile .delta.up-bad,.tile .delta.down-good{color:inherit}.tile:after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--tile-line, transparent);opacity:.9}.tile.green{--tile-line: var(--g-line)}.tile.yellow{--tile-line: var(--y-line)}.tile.red{--tile-line: var(--r-line)}.tile.accent{--tile-line: var(--accent)}.tile.indigo{--tile-line: var(--indigo)}.tile.clickable{cursor:pointer;transition:border-color .15s,transform .15s}.tile.clickable:hover{border-color:var(--border-2);transform:translateY(-1px)}.tile.selected{border-color:var(--accent)}.problems{display:flex;flex-direction:column;gap:7px}.problem{display:grid;grid-template-columns:150px 1fr 72px;gap:10px;align-items:center;font-size:13px;cursor:pointer;padding:3px 4px;border-radius:0}.problem:hover{background:var(--panel-2)}.bar{height:10px;border-radius:0;background:var(--bg-2);overflow:hidden;display:flex}.bar span{display:block;height:100%;transition:width .5s ease}.bar .r{background:var(--r-line)}.bar .y{background:var(--y-line)}.table-wrap{overflow:auto;max-height:calc(100vh - 220px);border-radius:0}.table-wrap.free{max-height:none}table.t{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}.t th{position:sticky;top:0;z-index:2;background:var(--panel-2);color:var(--klkr-brass);font-weight:500;text-transform:uppercase;letter-spacing:.1em;font-size:12px;text-align:center;padding:10px;border-bottom:1px solid var(--border-2);white-space:nowrap;-webkit-user-select:none;user-select:none}.t th .sub{display:block;font-weight:500;color:var(--muted);font-size:10.5px;margin-top:1px}.t th.sortable{cursor:pointer}.t th.sortable:hover{color:var(--text)}.t th.sorted{color:var(--accent)}.t td{padding:0;border-bottom:1px solid var(--klkr-ink-line);text-align:center;height:44px}.t td.txt{text-align:left;padding:6px 12px}.t tbody tr{transition:background .12s}.t tbody tr:hover td{background-color:#ffffff06}.t tbody tr.click{cursor:pointer}.t .sticky{position:sticky;left:0;z-index:1;background:var(--panel);text-align:left;padding:6px 14px;border-right:1px solid var(--border);min-width:230px}.t th.sticky{z-index:3;background:var(--panel-2)}.t tbody tr:hover td.sticky{background:var(--panel-3)}.name-cell .n{font-weight:600;color:var(--text);display:flex;align-items:center;gap:7px}.name-cell .i{font-family:var(--mono);font-size:11px;color:var(--muted)}.name-cell .unknown{color:var(--r-text)}.t .sticky-pick{position:sticky;left:0;z-index:1;background:var(--panel);width:38px;min-width:38px;border-right:0;padding:0 0 0 12px;text-align:left}.t th.sticky-pick{z-index:3;background:var(--panel-2)}.t tbody tr:hover td.sticky-pick{background:var(--panel-3)}.t .sticky-pick+.sticky{left:38px;min-width:210px}.t th.sticky-pick input,.t td.sticky-pick input{cursor:pointer;accent-color:var(--klkr-brass)}.t tbody tr.mark-green td.sticky,.t tbody tr.mark-green td.sticky-pick{background-image:linear-gradient(var(--mark-green-wash),var(--mark-green-wash))}.t tbody tr.mark-yellow td.sticky,.t tbody tr.mark-yellow td.sticky-pick{background-image:linear-gradient(var(--mark-yellow-wash),var(--mark-yellow-wash))}.t tbody tr.mark-green>td:first-child{box-shadow:inset 4px 0 0 var(--mark-green)}.t tbody tr.mark-yellow>td:first-child{box-shadow:inset 4px 0 0 var(--mark-yellow)}.t tbody tr.mark-green>td:first-child,.t tbody tr.mark-yellow>td:first-child{padding-left:14px}.t tbody tr.mark-green>td.sticky-pick:first-child,.t tbody tr.mark-yellow>td.sticky-pick:first-child{padding-left:14px}.mark-pick{position:relative;display:inline-flex;flex:0 0 auto}.mark-dot{width:14px;height:14px;flex:0 0 auto;display:inline-block;padding:0;border-radius:0;border:1px solid var(--border-2);background:transparent;cursor:pointer;vertical-align:-2px}button.mark-dot.none{border-style:dashed}button.mark-dot:hover{border-color:var(--klkr-brass)}button.mark-dot:focus-visible{outline:2px solid var(--klkr-brass);outline-offset:1px}button.mark-dot:disabled{cursor:default;opacity:.55}.mark-dot.green{background:var(--mark-green);border-color:var(--mark-green)}.mark-dot.yellow{background:var(--mark-yellow);border-color:var(--mark-yellow)}.mark-dot.none{background:transparent}.mark-dot .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.mark-menu{position:fixed;z-index:60;display:flex;flex-direction:column;min-width:170px;background:var(--panel-2);border:1px solid var(--border);box-shadow:0 10px 28px #00000080}.mark-menu button{display:flex;align-items:center;gap:8px;padding:7px 11px;background:transparent;border:0;color:var(--text-2);font:inherit;font-size:12.5px;text-align:left;cursor:pointer;white-space:nowrap}.mark-menu button:hover{background:var(--panel-3);color:var(--text)}.mark-menu button.on{color:var(--klkr-brass-soft)}.mark-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 14px;border-bottom:1px solid var(--border);background:var(--panel-2)}.t td.editable{position:relative}.cell-pen{position:absolute;top:4px;right:5px;width:18px;height:18px;padding:2px;z-index:2;display:none;align-items:center;justify-content:center;background:var(--panel-3);border:1px solid var(--border);border-radius:0;color:var(--text-2);cursor:pointer}.cell-pen svg{width:12px;height:12px}.t td.editable:hover .cell-pen,.cell-pen:focus-visible{display:flex}.cell-pen:hover{color:var(--klkr-brass-soft);border-color:var(--klkr-brass)}.cell-edit{display:flex;flex-direction:column;gap:3px;padding:5px 7px;text-align:left;min-width:150px}.cell-edit .input.sm{width:92px;text-align:right}.t.boni td.num,.t.boni th.right{font-variant-numeric:tabular-nums}.t.boni td.right,.t.boni th.right{text-align:right;padding-right:14px}.t.boni tfoot td{border-top:1px solid var(--klkr-brass);border-bottom:0;height:44px;background:var(--panel-2)}.t.boni tfoot td.sticky{background:var(--panel-2);font-weight:600}.mc{display:flex;align-items:center;justify-content:center;gap:4px;margin:3px;height:36px;min-width:92px;padding:0 8px;border-radius:0;font-weight:650;font-size:13.5px;cursor:help;position:relative;transition:filter .12s,transform .12s}.mc:hover{filter:brightness(1.15)}.mc.green{background:var(--g-bg);color:var(--g-fg)}.mc.yellow{background:var(--y-bg);color:var(--y-fg)}.mc.red{background:var(--r-bg);color:var(--r-fg)}.mc.grey{background:var(--n-bg);color:var(--n-fg);font-weight:500}.mc.info{background:transparent;color:var(--text-2);font-weight:550;cursor:default}.mc .tr{font-size:10px;opacity:.85}.mc .mark{font-size:9.5px;font-weight:700;padding:0 4px;border-radius:0;background:#00000047;letter-spacing:.02em}.mc.st-range{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 6px,transparent 6px 12px);font-size:12.5px}.mc.st-not_aggregable{outline:2px dashed var(--y-line);outline-offset:-2px;font-size:12px}.mc.st-assumption,.mc.st-manual{font-style:italic}.st-badges{display:inline-flex;gap:4px}.st-badge{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:0;background:#c7a05029;color:var(--klkr-brass-soft);letter-spacing:.02em}.st-badge.DBE3{background:var(--station-dbe3);color:var(--station-ink)}.st-badge.DMV3{background:var(--station-dmv3);color:var(--station-ink)}.chip.st-chip{border-left:3px solid transparent}.chip.st-chip.DBE3{border-left-color:var(--station-dbe3)}.chip.st-chip.DMV3{border-left-color:var(--station-dmv3)}.chip.st-chip.DBE3:hover{background:var(--station-dbe3-soft)}.chip.st-chip.DMV3:hover{background:var(--station-dmv3-soft)}.chip.st-chip.on.DBE3{background:var(--station-dbe3);color:var(--station-ink)}.chip.st-chip.on.DMV3{background:var(--station-dmv3);color:var(--station-ink)}.chip.st-chip.on .muted{color:#ffffffc7}.banner{display:flex;gap:12px;align-items:center;padding:10px 16px;border-radius:0;margin-bottom:14px;flex-wrap:wrap}.banner.warn{background:var(--y-soft);border:1px solid var(--y-line);color:var(--y-text)}.banner.ok{background:var(--g-soft);border:1px solid var(--g-line);color:var(--g-text)}.week-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:18px}.week-card{padding:14px 16px}.week-card .st-line{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}.mc.dim{opacity:.35}.summary-dots{display:inline-flex;gap:6px;font-size:12px;font-weight:650}.summary-dots span{display:inline-flex;align-items:center;gap:3px}.empty{padding:50px 20px;text-align:center;color:var(--muted)}.empty h2{color:var(--text);margin-bottom:6px}.tip{position:fixed;z-index:1000;max-width:360px;background:var(--panel-2);border:1px solid var(--border-2);border-radius:0;padding:11px 13px;box-shadow:var(--shadow);font-size:12.5px;pointer-events:none;animation:fade .12s ease}.tip.pinned{pointer-events:auto;border-color:var(--accent)}.tip .tt{font-weight:650;margin-bottom:4px;display:flex;align-items:center;gap:7px}.tip .rs{margin-top:7px;padding-top:7px;border-top:1px solid var(--border);color:var(--muted)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#03060eb3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:500;display:grid;place-items:center;padding:30px;animation:fade .15s ease}.dialog{width:min(720px,100%);max-height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border-2);border-radius:0;box-shadow:var(--shadow);animation:pop .18s ease}.dialog.wide{width:min(1180px,100%)}.dialog-head{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.dialog-body{padding:18px 22px;overflow:auto}.dialog-foot{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.x{margin-left:auto}.drop{border:2px dashed var(--border-2);border-radius:0;padding:44px 20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:var(--bg-2)}.drop.over,.drop:hover{border-color:var(--accent);background:#c7a05012}.drop>svg{width:40px;height:40px;color:var(--accent);margin-bottom:8px}.alert{border-radius:0;padding:10px 14px;font-size:13px;border:1px solid;display:block}.alert ul{margin:4px 0 0;padding-left:18px}.alert.err{background:var(--r-soft);border-color:var(--r-line);color:var(--r-text)}.alert.warn{background:var(--y-soft);border-color:var(--y-line);color:var(--y-text)}.alert.info{background:#c7a0501a;border-color:#c7a05059;color:var(--klkr-brass-soft)}.alert.ok{background:var(--g-soft);border-color:var(--g-line);color:var(--g-text)}.toasts{position:fixed;right:22px;bottom:22px;z-index:2000;display:flex;flex-direction:column;gap:8px}.toast{background:#0f182b;border:1px solid var(--border-2);border-left:4px solid var(--accent);border-radius:0;padding:11px 16px;box-shadow:var(--shadow);max-width:420px;animation:slide .2s ease}.toast.err{border-left-color:var(--r-line)}.split{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start}.list{max-height:calc(100vh - 190px);overflow:auto}.list-item{padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer;display:flex;align-items:center;gap:10px}.list-item:hover{background:var(--panel-2)}.list-item.on{background:var(--panel-3);box-shadow:inset 3px 0 0 var(--accent)}.avatar{width:34px;height:34px;border-radius:0;display:grid;place-items:center;font-weight:700;font-size:12.5px;background:linear-gradient(135deg,#1e3a5f,#27406b);color:#cfe0ff;flex:none}.avatar.lg{width:54px;height:54px;font-size:18px}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.kpi{border-radius:0;padding:12px 14px;border:1px solid var(--border);background:var(--bg-2);position:relative;cursor:help}.kpi .k{font-size:12px;color:var(--muted)}.kpi .v{font-size:20px;font-weight:700;margin-top:3px;font-variant-numeric:tabular-nums}.kpi .d{font-size:11.5px;margin-top:2px}.kpi.green{border-color:var(--g-line);background:var(--g-soft)}.kpi.yellow{border-color:var(--y-line);background:var(--y-soft)}.kpi.red{border-color:var(--r-line);background:var(--r-soft)}.better{color:#4ade80}.worse{color:#f87171}.same{color:var(--muted)}.avg-cell{display:flex;flex-direction:column;align-items:center;line-height:1.15}.avg-cell small{font-size:10.5px;font-weight:500;opacity:.8}.chart-box{height:320px;padding:8px 8px 0 0}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{padding:10px 16px;cursor:pointer;color:var(--text-2);border:0;background:transparent;border-bottom:2px solid transparent;font-weight:550;display:flex;gap:8px;align-items:center}.tab:hover{color:var(--text)}.tab.on{color:var(--text);border-bottom-color:var(--accent)}.rules-table td{padding:6px 8px}.rule-line{display:flex;gap:6px;align-items:center;margin:3px 0}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@keyframes slide{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fade-in{animation:rise .3s ease both}@media(max-width:1100px){.split{grid-template-columns:1fr}.list{max-height:300px}}@media(max-width:860px){.app{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:20;height:auto;flex-direction:row;align-items:center;gap:4px;padding:10px 12px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border)}.brand{padding:0 14px 0 0;flex:none}.brand-sub,.sidebar-foot,.nav-section{display:none}.nav{flex-direction:row;gap:2px}.nav a{padding:7px 10px;white-space:nowrap;font-size:13px}.nav a.active{box-shadow:inset 0 -2px 0 var(--klkr-brass)}.main{padding:18px 14px 40px}.search .input{width:100%}.page-head{gap:10px}.page-head .actions{margin-left:0;width:100%}h1{font-size:24px}.table-wrap{max-height:calc(100vh - 260px);-webkit-overflow-scrolling:touch}.grid-2{grid-template-columns:1fr}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#2c2d22;border-radius:0;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#3a3b2c}::-webkit-scrollbar-track{background:transparent}.drop{padding:34px 20px}.drop:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.drop.over{border-style:solid;box-shadow:0 0 0 4px #c7a05024;transform:scale(1.005)}.drop.disabled{opacity:.55;cursor:not-allowed}.drop-title{font-weight:650;font-size:15px}.uq{background:var(--bg-2);border:1px solid var(--border);border-radius:0;padding:12px 14px}.uq-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}.uq-head{font-size:12px;font-weight:650;color:var(--muted);margin:8px 0 4px;text-transform:uppercase;letter-spacing:.04em}.uq-head.ok{color:var(--g-text)}.uq-head.err{color:var(--r-text)}.uq-item{border:1px solid var(--border);border-radius:0;padding:8px 10px;background:var(--panel)}.uq-item.done{border-color:var(--g-line)}.uq-item.error{border-color:var(--r-line)}.uq-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.uq-name{flex:1;min-width:160px;word-break:break-all}.uq-msg{margin-top:4px;color:var(--text-2)}.uq-item.error .uq-msg{color:var(--r-text)}.nav-section{font-size:10.5px;font-weight:700;letter-spacing:var(--etikett-spacing);text-transform:uppercase;color:var(--klkr-brass);padding:16px 12px 4px}.nav-section:first-child{padding-top:0}.nav a.reports-link.active{box-shadow:inset 3px 0 0 var(--indigo)}.nav a.reports-link svg{color:var(--indigo)}.reports-area{--area: var(--indigo)}.area-badge svg{width:13px;height:13px;flex:none}.area-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--klkr-brass-soft);background:#c7a05024;border:1px solid rgba(199,160,80,.35);padding:3px 9px;border-radius:0;margin-bottom:8px}.reports-area .tabs{overflow-x:auto;scrollbar-width:thin}.reports-area .tab{white-space:nowrap}.reports-area .tab.on{border-bottom-color:var(--indigo)}.reports-area .tile:after{background:var(--tile-line, var(--indigo))}html{scrollbar-gutter:stable}html.sheet-open{overflow:hidden}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#03060e8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .15s ease}.sheet{position:absolute;top:0;right:0;bottom:0;width:min(1120px,100vw);background:var(--bg);border-left:1px solid rgba(199,160,80,.45);box-shadow:var(--shadow);animation:sheetIn .2s ease}.sheet-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg)}.sheet-layer.hidden{visibility:hidden;pointer-events:none}.sheet-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 22px;border-bottom:1px solid var(--border);background:var(--panel);flex:none}.sheet-head .crumbs b{color:var(--text)}.sheet-body{flex:1;overflow:auto;padding:20px 22px 40px;overscroll-behavior:contain}.sheet-title{margin-bottom:16px}.sheet-title h1{margin:2px 0 4px}.sheet-title .unknown-name,h1.unknown-name{color:var(--r-text)}@keyframes sheetIn{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}@media(max-width:860px){.sheet-head,.sheet-body{padding-left:14px;padding-right:14px}}.driver-view{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:14px 18px;border-color:#c7a05073;background:var(--panel-2)}.driver-view h2{font-size:18px;margin:2px 0}.driver-view .unknown-name{color:var(--r-text)}.filterbar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;padding:12px 14px;margin-bottom:16px}.filterbar label.field{min-width:120px}.hbar{display:grid;grid-template-columns:minmax(140px,260px) 1fr 52px;gap:10px;align-items:center;font-size:13px;padding:3px 0}.hbar .bar span{background:var(--indigo)}.kv{display:grid;grid-template-columns:180px 1fr;gap:6px 14px;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0;word-break:break-word}@media(max-width:860px){.nav-section{display:none}.chips{max-width:100%;overflow-x:auto}.chip{flex:none}.tabs{overflow-x:auto}.tab{white-space:nowrap;flex:none}.drop{padding:24px 14px}.filterbar label.field{min-width:calc(50% - 10px);flex:1}.filterbar .select,.filterbar .input{width:100%}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile .value{font-size:24px}.hbar{grid-template-columns:1fr 1fr 44px}.kv{grid-template-columns:1fr}.overlay{padding:10px}.dialog-body,.dialog-head,.dialog-foot{padding-left:14px;padding-right:14px}.grid-2{grid-template-columns:1fr}.t .sticky{min-width:160px}}.btn.share{background:#33493c73;border-color:var(--klkr-crane-soft);color:#cfe0d4}.btn.share:hover{background:#33493cb3}
