@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/archivo-latin-400-normal-C81ewxNO.woff2) format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/archivo-latin-500-normal-CGugC8dq.woff2) format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/archivo-latin-600-normal-3BBy0ZsW.woff2) format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/archivo-latin-700-normal-D9cHMWGj.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2")}:root{--bg: #ECEFF4;--bg-2: #F4F6FA;--surface: #FFFFFF;--surface-2: #F5F7FA;--ink: #0F1828;--ink-2: #4C5669;--ink-3: #7C8699;--line: #D8DEE8;--accent: #2340D0;--accent-ink: #FFFFFF;--accent-soft: #E2E8FF;--brand-navy: #0B1E40;--brand-gold: #D9A93A;--good: #13803F;--good-soft: #DDF3E5;--warn: #B25807;--warn-soft: #FCEFD8;--bad: #C3271E;--bad-soft: #FBE2DF;--side: #101A2C;--side-ink: #C9D2E3;--side-ink-2: #7F8BA3;--side-active: #2B48D6;--band-top: #13A36B;--band-ok: #2F7DE1;--band-low: #E39B1B;--band-bad: #D9443A;--band-none: #8A94A6;--shadow: 0 1px 2px rgba(15, 24, 40, .06), 0 8px 24px rgba(15, 24, 40, .08);--radius: 12px;--f-display: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--f-body: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0A0F17;--bg-2: #0E1520;--surface: #121A26;--surface-2: #182231;--ink: #E9EEF6;--ink-2: #A3AEC0;--ink-3: #727E92;--line: #263244;--accent: #7F98FF;--accent-ink: #0A0F17;--accent-soft: #1B2552;--good: #4FD98A;--good-soft: #12301F;--warn: #F3B04E;--warn-soft: #3A2911;--bad: #FF7B70;--bad-soft: #3B1715;--side: #070C14;--side-ink: #C9D2E3;--side-ink-2: #6F7B92;--side-active: #2B48D6;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35);color-scheme:dark}}:root[data-theme=dark]{--bg: #0A0F17;--bg-2: #0E1520;--surface: #121A26;--surface-2: #182231;--ink: #E9EEF6;--ink-2: #A3AEC0;--ink-3: #727E92;--line: #263244;--accent: #7F98FF;--accent-ink: #0A0F17;--accent-soft: #1B2552;--good: #4FD98A;--good-soft: #12301F;--warn: #F3B04E;--warn-soft: #3A2911;--bad: #FF7B70;--bad-soft: #3B1715;--side: #070C14;--side-ink: #C9D2E3;--side-ink-2: #6F7B92;--side-active: #2B48D6;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:14px;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--f-mono)}.display{font-family:var(--f-display);letter-spacing:.02em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{background:var(--bg-2)}a{color:var(--accent)}h1,h2,h3{text-wrap:balance}.boot{min-height:100vh;display:grid;place-items:center}.boot img{opacity:.9;animation:pulse 1.4s ease-in-out infinite alternate}@keyframes pulse{0%{opacity:.35}to{opacity:1}}.ic{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:8px 13px;font-size:13px;font-weight:500;line-height:1.2;transition:border-color .15s,background .15s,box-shadow .15s,transform .05s}.btn:hover{border-color:var(--ink-3)}.btn:active{transform:translateY(1px)}.btn .ic{width:16px;height:16px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600;box-shadow:0 1px #ffffff26 inset,0 4px 14px color-mix(in srgb,var(--accent) 28%,transparent)}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:transparent;border-color:transparent;color:var(--accent);font-weight:600}.btn.ghost:hover{background:var(--accent-soft)}.btn.danger{color:var(--bad)}.btn.danger:hover{border-color:var(--bad);background:var(--bad-soft)}.btn.solid-danger{background:var(--bad);border-color:var(--bad);color:#fff;font-weight:600}.btn.sm{padding:5px 9px;font-size:12px;border-radius:8px}.btn[disabled],.btn[aria-busy=true]{opacity:.55;pointer-events:none}.icon-btn{width:30px;height:30px;display:inline-grid;place-items:center;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);padding:0}.icon-btn:hover:not([disabled]){color:var(--ink);border-color:var(--ink-3)}.icon-btn[disabled]{opacity:.3;cursor:default}.icon-btn .ic{width:15px;height:15px}.icon-btn.del:hover:not([disabled]){color:var(--bad);border-color:var(--bad);background:var(--bad-soft)}.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>label,.field>.label{font-size:12px;color:var(--ink-2);font-weight:600}.field small,.hint{font-size:11.5px;color:var(--ink-3)}.input,.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,select.input{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 11px;width:100%;min-height:38px;transition:border-color .15s,box-shadow .15s}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field.invalid input,.field.invalid select{border-color:var(--bad)}.field .err{color:var(--bad);font-size:12px;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.form-grid .span-2{grid-column:span 2}@media (max-width: 560px){.form-grid .span-2{grid-column:auto}}.form-error{background:var(--bad-soft);color:var(--bad);border-radius:10px;padding:9px 12px;font-size:13px;font-weight:600}.switch{display:inline-flex;align-items:center;gap:10px;font-size:13px;cursor:pointer;user-select:none}.switch input{appearance:none;width:36px;height:20px;border-radius:99px;background:var(--line);position:relative;cursor:pointer;transition:background .2s;flex:none;margin:0}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(16px)}.switch input:disabled{opacity:.5}.check{display:inline-flex;gap:8px;align-items:center;font-size:13px;cursor:pointer}.check input,table input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent)}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:3px;gap:2px;flex-wrap:wrap}.seg button{border:0;background:none;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink-2)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0f18281f}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:0 11px;min-height:38px;flex:1;min-width:200px;max-width:360px}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search input{border:0;background:none;outline:none;width:100%;font-size:13px;padding:8px 0}.search .ic{width:16px;height:16px;color:var(--ink-3)}.phead{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.phead .crumb{font-size:11.5px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin-bottom:4px}.phead h1{margin:0;font-family:var(--f-display);font-weight:700;font-size:36px;letter-spacing:.01em;text-transform:uppercase;line-height:1}.phead p{margin:8px 0 0;color:var(--ink-2);max-width:74ch}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px;min-width:0}.card+.card{margin-top:16px}.card>h2,.card-head h2{margin:0;font-size:16px;font-weight:650}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.card .lead{margin:4px 0 14px;color:var(--ink-2);font-size:13px;max-width:72ch}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}@media (max-width: 1100px){.grid-2{grid-template-columns:minmax(0,1fr)}}@media (max-width: 420px){.grid-auto{grid-template-columns:minmax(0,1fr)}}.stack{display:flex;flex-direction:column;gap:16px}.note{font-size:12.5px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:10px 13px}.note b{color:var(--ink)}.note.accent{background:var(--accent-soft);border-color:transparent;color:var(--ink)}.empty{text-align:center;padding:32px 16px;color:var(--ink-2)}.empty b{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}.muted{color:var(--ink-3)}.sub{font-size:12px;color:var(--ink-2)}.bad-ink{color:var(--bad)}.good-ink{color:var(--good)}.warn-ink{color:var(--warn)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:16px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:15px 17px;display:flex;flex-direction:column;gap:5px;min-width:0;position:relative;overflow:hidden}.kpi small{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);font-weight:600}.kpi>b{font-family:var(--f-display);font-weight:700;font-size:44px;line-height:.95;font-variant-numeric:tabular-nums}.kpi>b em{font-style:normal;font-size:22px;color:var(--ink-3);font-weight:600}.kpi>span{font-size:12px;color:var(--ink-2)}.kpi.hero{background:linear-gradient(135deg,var(--brand-navy),#1A3170);color:#fff;border-color:transparent}.kpi.hero small,.kpi.hero span{color:#b9c6e4}.kpi.hero>b em{color:#8fa2cf}.stats{display:flex;flex-wrap:wrap;gap:8px}.stat{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:9px 13px;min-width:104px}.stat b{display:block;font-family:var(--f-display);font-size:26px;font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums}.stat span{font-size:11.5px;color:var(--ink-2)}.stat.acc{background:var(--accent-soft);border-color:transparent}.stat.acc b{color:var(--accent)}.stat.bad{background:var(--bad-soft);border-color:transparent}.stat.bad b{color:var(--bad)}.pbar{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden;border:1px solid var(--line);min-width:70px}.pbar i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .6s cubic-bezier(.2,.8,.2,1)}.pbar.good i{background:var(--good)}.pbar.on-dark{background:#ffffff1f;border-color:transparent}.pbar.on-dark i{background:var(--brand-gold)}.tag{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:650;white-space:nowrap;line-height:1.6}.tag.good{background:var(--good-soft);color:var(--good)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.bad{background:var(--bad-soft);color:var(--bad)}.tag.acc{background:var(--accent-soft);color:var(--accent)}.tag.plain{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.tag .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.lvl{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 10px 2px 7px;font-size:11px;font-weight:700;white-space:nowrap;line-height:1.6}.lvl i{display:inline-flex;gap:2px}.lvl i:before,.lvl i:after,.lvl i b{content:"";width:4px;height:9px;border-radius:2px;background:currentColor;opacity:.25;display:block}.lvl.flow{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.lvl.flow i:before{opacity:1}.lvl.key{background:var(--accent-soft);color:var(--accent)}.lvl.key i:before,.lvl.key i b{opacity:1}.lvl.full{background:var(--ink);color:var(--surface)}.lvl.full i:before,.lvl.full i:after,.lvl.full i b{opacity:1}.lvl.auto{background:transparent;color:var(--ink-2);border:1px dashed var(--ink-3)}.table-wrap{overflow-x:auto;margin:0 -4px;padding:0 4px}table.t{width:100%;border-collapse:collapse;font-size:13px}table.t th{text-align:left;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:650;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}table.t td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:middle}table.t tbody tr:last-child td{border-bottom:0}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:var(--surface-2)}table.t tr.click:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}table.t .r{text-align:right}table.t .c{text-align:center}table.t .src{font-size:11.5px;color:var(--ink-3);margin-top:2px}table.t tr.inactive td{opacity:.5}.num{font-variant-numeric:tabular-nums}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto;scrollbar-width:none}.tabs button{border:0;background:none;padding:10px 14px;font-size:13.5px;font-weight:600;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:inline-flex;gap:7px;align-items:center}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.tabs .count{font-size:11px;background:var(--surface-2);border-radius:99px;padding:0 7px;color:var(--ink-2)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--ink-2);display:inline-flex;gap:6px;align-items:center}.chip:hover{border-color:var(--ink-3)}.chip[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.chip em{font-style:normal;opacity:.6;font-weight:500}.drawer{position:fixed;inset:0;z-index:60;display:flex;justify-content:flex-end}.drawer .backdrop{position:absolute;inset:0;background:#080e1a73;animation:fade .2s ease;backdrop-filter:blur(2px)}.drawer .panel{position:relative;width:min(860px,100vw);height:100%;background:var(--bg-2);box-shadow:-20px 0 50px #00000040;display:flex;flex-direction:column;animation:slide .25s cubic-bezier(.2,.8,.2,1)}.drawer .panel.narrow{width:min(560px,100vw)}.drawer .dhead{padding:18px 24px 0;background:var(--surface);border-bottom:1px solid var(--line)}.drawer .dhead .r1{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:14px}.drawer .dhead .eyebrow{font-size:11.5px;color:var(--ink-3);font-family:var(--f-mono)}.drawer .dhead h2{margin:2px 0;font-family:var(--f-display);font-size:30px;text-transform:uppercase;line-height:1.05}.drawer .dhead .tabs{margin:0 -8px;border:0}.drawer .dbody{flex:1;overflow-y:auto;padding:20px 24px 40px;display:flex;flex-direction:column;gap:16px}.drawer .dbody>.card+.card{margin-top:0}.drawer .x{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;flex:none}.drawer .x:hover{border-color:var(--ink-3)}@media (max-width: 640px){.drawer .dhead{padding:14px 16px 0}.drawer .dbody{padding:16px 16px 40px}.drawer .dhead h2{font-size:24px}}@keyframes slide{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px}.modal .backdrop{position:absolute;inset:0;background:#080e1a80;animation:fade .15s ease}.modal .box{position:relative;background:var(--surface);border-radius:18px;box-shadow:var(--shadow);width:min(460px,100%);padding:22px;animation:pop .18s cubic-bezier(.2,.8,.2,1)}.modal h3{margin:0 0 8px;font-size:18px}.modal p{margin:0 0 18px;color:var(--ink-2)}.modal .btn-row{justify-content:flex-end}@keyframes pop{0%{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}.tip{position:fixed;z-index:90;pointer-events:none;background:var(--ink);color:var(--surface);font-size:12px;padding:7px 10px;border-radius:8px;box-shadow:var(--shadow);max-width:260px;line-height:1.35}.tip b{font-weight:700}.saved{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--good);opacity:0;transition:opacity .25s}.saved.on{opacity:1}.saved.err{color:var(--bad)}.skeleton{background:linear-gradient(90deg,var(--surface-2),var(--line),var(--surface-2));background-size:200% 100%;animation:shimmer 1.2s linear infinite;border-radius:12px;min-height:120px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:is(.grid-2,.grid-auto,.grid-dash,.stack)>.card{margin-top:0}@media (max-width: 900px){table.t.wide{width:max-content;min-width:100%}table.t.wide td{white-space:nowrap}table.t.matrix.wide td:first-child{white-space:normal;min-width:180px}}.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 2px 2px}.pager-pages{display:inline-flex;align-items:center;gap:4px}.pager-pages .btn{min-width:32px;justify-content:center}.pager-size{display:inline-flex;align-items:center;gap:6px}.pager-size .input{width:auto;padding-top:4px;padding-bottom:4px}.th-sort{all:unset;cursor:pointer;font:inherit;color:inherit;white-space:nowrap}.th-sort:hover{color:var(--ink)}.mlist .pager{flex-direction:column;align-items:stretch;gap:6px}.mlist .pager-pages{justify-content:center;flex-wrap:wrap}.mlist .pager-size{justify-content:center}
