@charset "UTF-8";:root{--brand-base: #1756c4;--brand-2: #f26a1b;--brand: var(--brand-base);--brand-600: color-mix(in srgb, var(--brand) 80%, #000);--brand-50: color-mix(in srgb, var(--brand) 9%, var(--surface));--brand-grad: linear-gradient(135deg, var(--brand-600), var(--brand) 60%, color-mix(in srgb, var(--brand) 75%, var(--brand-2)));--accent: #10b981;--accent-50: #ecfdf5;--danger: #e11d48;--danger-50: #fff1f2;--warn: #d97706;--warn-50: #fffbeb;--bg: #f4f6fb;--surface: #ffffff;--surface-2: #f8fafc;--border: #dde3ec;--border-strong: #c3ccd9;--border-hover: #94a3b8;--control-shadow: 0 1px 2px rgba(15, 23, 42, .06);--text: #0f172a;--muted: #64748b;--sidebar: #0b1424;--sidebar-text: #cbd5e1;--sidebar-strong: #ffffff;--sidebar-muted: #94a3b8;--sidebar-hover: rgba(255, 255, 255, .07);--sidebar-line: rgba(255, 255, 255, .07);--shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 2px 10px rgba(15, 23, 42, .05);--radius: 12px;--radius-sm: 8px;--font: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, "Noto Sans", Arial, sans-serif;--mono: "Cascadia Mono", Consolas, "Courier New", monospace;color-scheme:light}:root[data-theme=dark]{--brand: color-mix(in srgb, var(--brand-base) 72%, #fff);--brand-600: var(--brand-base);--brand-50: color-mix(in srgb, var(--brand-base) 22%, var(--surface));--accent: #10b981;--accent-50: #052e22;--danger: #fb7185;--danger-50: #3b0a17;--warn: #fbbf24;--warn-50: #3a2a06;--bg: #0b1120;--surface: #111a2e;--surface-2: #0f172a;--border: #233050;--border-strong: #33415f;--border-hover: #52618a;--control-shadow: 0 1px 2px rgba(0, 0, 0, .3);--text: #e2e8f0;--muted: #94a3b8;--sidebar: #070b16;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 20px rgba(0, 0, 0, .25);color-scheme:dark}:root[data-sidebar=brand]{--sidebar: color-mix(in srgb, var(--brand-base) 42%, #020617);--sidebar-text: #e2e8f0;--sidebar-muted: color-mix(in srgb, #fff 65%, var(--brand-base))}:root[data-sidebar=light]{--sidebar: var(--surface);--sidebar-text: var(--muted);--sidebar-strong: var(--text);--sidebar-muted: var(--muted);--sidebar-hover: var(--surface-2);--sidebar-line: var(--border)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em}h1{font-size:22px}h2{font-size:17px}h3{font-size:15px}::selection{background:color-mix(in srgb,var(--brand) 25%,transparent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 35%,transparent);border-radius:10px;border:2px solid transparent;background-clip:padding-box}.page{padding:20px 24px 40px;max-width:1500px;margin:0 auto}.page-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.page-head h1{flex:1}.page-head .sub{color:var(--muted);font-size:13px;font-weight:400;display:block;margin-top:2px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row.end{justify-content:flex-end}.spacer{flex:1}.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.g4,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}.muted{color:var(--muted)}.small{font-size:12px}.right{text-align:right}.center{text-align:center}.mono{font-family:var(--mono)}.nowrap{white-space:nowrap}.ok{color:var(--accent)}.bad{color:var(--danger)}.mt{margin-top:14px}.mb{margin-bottom:14px}.hidden{display:none!important}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:16px 18px}.card-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}.card-head h2,.card-head h3{flex:1}.kpi{padding:16px 18px;position:relative;overflow:hidden}.kpi .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.kpi .value{font-size:26px;font-weight:700;margin-top:6px;letter-spacing:-.02em}.kpi .hint{font-size:12px;color:var(--muted);margin-top:4px}.kpi .icon{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer;box-shadow:var(--control-shadow);transition:background .12s,border-color .12s,box-shadow .12s,transform .05s;white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:var(--border-hover)}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:var(--brand-600);color:#fff;box-shadow:0 1px 2px color-mix(in srgb,var(--brand) 35%,transparent),inset 0 1px #ffffff1f}.btn.primary:hover{background:var(--brand-600);border-color:var(--brand-600)}:root[data-theme=dark] .btn.primary{background:var(--brand-600);border-color:var(--brand-600)}:root[data-theme=dark] .btn.primary:hover{background:color-mix(in srgb,var(--brand-600) 85%,#fff)}.btn.success{background:var(--accent);border-color:color-mix(in srgb,var(--accent) 80%,#000);color:#fff}.btn.danger{color:var(--danger)}.btn.danger.solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn.ghost{border-color:transparent;background:transparent;box-shadow:none}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{height:30px;padding:0 10px;font-size:13px}.btn.lg{height:46px;padding:0 20px;font-size:15px}.btn.icon{width:36px;padding:0}.btn.sm.icon{width:30px}kbd{font-family:var(--mono);font-size:11px;padding:1px 5px;border-radius:4px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-weight:500}.btn.primary kbd,.btn.success kbd{background:#ffffff2e;border-color:#ffffff4d;color:#fff}label.field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--muted)}label.field.inline{flex-direction:row;align-items:center;gap:8px}.input,select.input,textarea.input{height:36px;padding:0 11px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-weight:400;width:100%;box-shadow:var(--control-shadow);transition:border-color .12s,box-shadow .12s}textarea.input{height:auto;padding:8px 11px;resize:vertical;min-height:70px}.input:hover:not(:focus):not(:disabled):not([readonly]){border-color:var(--border-hover)}.input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.input:disabled,.input[readonly]{background:var(--surface-2);box-shadow:none}.input::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}.input[type=file]{padding:0 4px;line-height:34px;font-size:13px;color:var(--muted);cursor:pointer}.input[type=file]::file-selector-button{height:26px;margin-right:10px;padding:0 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-2);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.input[type=file]:hover::file-selector-button{border-color:var(--border-hover)}.input.lg{height:46px;font-size:16px}.input.right{text-align:right}.check{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text);font-weight:400}.check input{width:16px;height:16px;accent-color:var(--brand)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 14px}.form-grid .wide{grid-column:1/-1}.hint{font-size:12px;color:var(--muted);font-weight:400}fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px 14px;margin:0 0 14px}legend{padding:0 6px;font-weight:650;font-size:13px}.table-wrap{overflow:auto}table.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface-2);position:sticky;top:0;z-index:1;white-space:nowrap}.table td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:color-mix(in srgb,var(--brand) 4%,transparent)}.table tr.clickable{cursor:pointer}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table tfoot td{font-weight:700;background:var(--surface-2);border-top:2px solid var(--border)}.empty{padding:40px;text-align:center;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap}.badge.green{background:var(--accent-50);color:var(--accent);border-color:transparent}.badge.red{background:var(--danger-50);color:var(--danger);border-color:transparent}.badge.amber{background:var(--warn-50);color:var(--warn);border-color:transparent}.badge.blue{background:var(--brand-50);color:var(--brand);border-color:transparent}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px;overflow-x:auto}.tabs button{border:none;background:none;padding:10px 14px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs button.active{color:var(--brand);border-bottom-color:var(--brand)}.modal-backdrop{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:grid;place-items:center;padding:20px;animation:fade .12s}.modal{background:var(--surface);border-radius:16px;box-shadow:0 20px 60px #0000004d;width:min(560px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;animation:pop .14s}.modal.wide{width:min(900px,100%)}.modal.xwide{width:min(1200px,100%)}.modal-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-head h2{flex:1}.modal-body{padding:18px 20px;overflow:auto}.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 16px 16px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.toasts{position:fixed;right:18px;bottom:18px;z-index:200;display:flex;flex-direction:column;gap:8px;max-width:420px}.toast{background:var(--text);color:var(--surface);padding:11px 14px;border-radius:10px;box-shadow:var(--shadow);font-weight:500;animation:pop .15s;display:flex;gap:10px;align-items:flex-start}.toast.error{background:var(--danger);color:#fff}.toast.success{background:#047857;color:#fff}.banner{display:flex;align-items:center;gap:12px;padding:10px 16px;font-weight:500}.banner.warn{background:var(--warn-50);color:var(--warn);border-bottom:1px solid color-mix(in srgb,var(--warn) 30%,transparent)}.banner.danger{background:var(--danger-50);color:var(--danger)}.banner.info{background:var(--brand-50);color:var(--brand)}.spinner{width:18px;height:18px;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);box-shadow:var(--control-shadow)}.seg button{border:none;background:none;padding:0 12px;height:34px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;border-right:1px solid var(--border-strong)}.seg button:last-child{border-right:none}.seg button.active{background:var(--brand);color:#fff}.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.choice{border:2px solid var(--border);border-radius:var(--radius);padding:16px;cursor:pointer;background:var(--surface);text-align:left;font:inherit;color:var(--text);transition:border-color .12s,transform .12s,box-shadow .12s}.choice:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--border));transform:translateY(-1px)}.choice.active{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 15%,transparent)}.choice .t{font-weight:700;font-size:15px;margin:8px 0 4px}.choice .d{font-size:12.5px;color:var(--muted);line-height:1.45}.choice .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand)}svg.i{width:18px;height:18px;flex:none}
