:root{--bg:#edf2f8;--bg-elevated:#fff;--surface-2:#f4f7fd;--surface-3:#e6edf8;--text-primary:#1c2a3d;--text-muted:#66768d;--border:#d7e0ec;--accent:#1677ff;--accent-2:#0f5bd8;--warning:#f59e0b;--critical:#ef4444;--success:#10b981;--info:#2563eb;--shadow-soft:0 16px 38px #1229491f;--shadow-card:0 3px 12px #19305614;--radius-lg:14px;--radius-md:10px;--radius-sm:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--sidebar-width:240px}*{box-sizing:border-box}html,body{color:var(--text-primary);background:linear-gradient(#f2f5fa 0%,#e9eef6 100%);min-height:100%;margin:0;padding:0;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}html{overflow-y:scroll}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.mono{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace}button{border-radius:var(--radius-sm);cursor:pointer;background:var(--accent);color:#fff;border:1px solid #0000;padding:9px 14px;font-weight:700;transition:all .15s}button:hover{background:var(--accent-2)}button:disabled{opacity:.5;cursor:default}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--border);background:#fff;border-radius:8px;min-height:38px;padding:8px 10px}label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.tag{align-items:center;gap:var(--space-1);border:1px solid #0000;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.tag.success{color:var(--success);background:#e6faf2;border-color:#beeedb}.tag.warning{color:var(--warning);background:#fff5e2;border-color:#f8dfb0}.tag.critical{color:var(--critical);background:#feeceb;border-color:#f6c7c2}.tag.info{color:var(--info);background:#e8f0ff;border-color:#c9dcff}.tag.muted{background:var(--surface-3);border-color:var(--border);color:var(--text-muted)}.btn{border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;border:1px solid #0000;padding:10px 14px;font-weight:700;transition:all .2s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn:focus-visible,.input:focus-visible,.select:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline-offset:1px;outline:2px solid #8ebdff}.btn-primary{color:#fff;background:linear-gradient(160deg,#0f5bd8,#1b7bff);box-shadow:0 8px 18px #1677ff47}.btn-secondary{border-color:var(--border);color:var(--text-primary);background:#fff}.btn-secondary:hover{border-color:var(--accent);background:var(--surface-2);color:var(--text-primary)}.btn-danger{color:var(--critical);background:#fff;border-color:#f3c1be}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover{background:var(--surface-3);color:var(--text-primary)}.btn-sm{padding:6px 10px;font-size:12px}.btn-ico{align-items:center;gap:var(--space-2);display:inline-flex}.input,.select,textarea{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;min-height:38px;padding:8px 10px}.card{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-4);background:#fff}.card-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.card-title{margin:0;font-size:16px}.card-subtitle{color:var(--text-muted);margin:3px 0 0;font-size:12px}.kpi-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.kpi-card{border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-4);background:linear-gradient(#fbfdff 0%,#f2f7ff 100%);border:1px solid #cfe0fa;position:relative;overflow:hidden}.kpi-card:before{content:"";background:linear-gradient(90deg,#8dbdff,#1a7dff);width:100%;height:3px;position:absolute;top:0;left:0}.kpi-label{color:var(--text-muted);margin:0;font-size:12px}.kpi-value{letter-spacing:-.02em;margin:8px 0 6px;font-size:26px;font-weight:800;line-height:1}.kpi-foot{color:var(--text-muted);margin:0;font-size:12px}.page-head{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.page-head>div:first-child{flex:1;min-width:0}.page-head h1{margin:0;font-size:24px}.page-head p{color:var(--text-muted);margin:4px 0 0;font-size:14px}.table-wrap{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:auto}.table-wrap table{border-collapse:collapse;width:100%}.table-wrap th,.table-wrap td{text-align:left;border-bottom:1px solid #e7efe9;padding:10px;font-size:13px}.table-wrap th{z-index:1;text-transform:uppercase;letter-spacing:.05em;color:#5e6f88;background:#f3f7fd;font-size:12px;position:sticky;top:0}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap tr:hover td{background:#f7faff}tr.row-inactive td{opacity:.5}tr.row-clickable{cursor:pointer}.grid{gap:var(--space-4);display:grid}.two-col{gap:var(--space-4);grid-template-columns:2fr 1fr;display:grid}.form-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-actions{gap:var(--space-2);justify-content:flex-end;display:flex}dialog.modal{width:100%;max-width:min(92vw,560px);color:var(--text-primary);background:0 0;border:none;padding:0}dialog.modal-sm{max-width:min(92vw,430px)}dialog.modal-lg{max-width:min(94vw,820px)}dialog.modal::backdrop{background:#07163575}.modal-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);max-height:86vh;box-shadow:var(--shadow-soft);flex-direction:column;display:flex;overflow:hidden}.modal-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border);display:flex}.modal-title{margin:0;font-size:16px}.modal-x{cursor:pointer;border-radius:var(--radius-sm);color:var(--text-muted);background:0 0;border:none;padding:2px 8px;font-size:22px;line-height:1}.modal-x:hover{background:var(--surface-3);color:var(--text-primary)}.modal-body{padding:var(--space-4);overflow:auto}.modal-foot{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--surface-2);display:flex}.confirm-body{font-size:14px;line-height:1.5}.field{margin-bottom:var(--space-3);display:block}.field.field-full{grid-column:1/-1}.field-label{margin-bottom:var(--space-1);font-size:12px;font-weight:700;display:block}.field-hint{color:var(--text-muted);margin:var(--space-1) 0 0;font-size:11px;display:block}.empty-state{text-align:center;padding:var(--space-7) var(--space-4)}.empty-state h3{margin:0 0 var(--space-2);font-size:16px}.empty-state p{margin:0 auto var(--space-4);color:var(--text-muted);max-width:400px;font-size:13px}.row-actions{gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end;display:flex}.btn-icon{cursor:pointer;border-radius:var(--radius-sm);color:var(--text-muted);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:6px;line-height:0;transition:background .15s,color .15s;display:inline-flex}.btn-icon:hover{background:var(--surface-3);color:var(--text-primary)}.btn-icon:focus-visible{outline-offset:1px;outline:2px solid #8ebdff}.btn-icon.danger:hover{color:var(--critical);background:#fff5f5}.btn-icon:disabled{opacity:.45;cursor:not-allowed}.btn-icon:disabled:hover{color:var(--text-muted);background:0 0}.btn-icon.primary{color:#fff;background:linear-gradient(160deg,#0f5bd8,#1b7bff);padding:8px;box-shadow:0 8px 18px #1677ff47}.btn-icon.primary:hover{color:#fff;background:linear-gradient(160deg,#0e52c2,#1772ef)}.timeline-list{gap:var(--space-2);display:grid}.timeline-item{border:1px solid var(--border);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-3);background:#fff;border-radius:10px;padding:12px 14px;transition:all .2s;display:flex}.timeline-item:hover{background:#f4f8ff;border-color:#b8d2ff}.timeline-item.active{background:#edf4ff;border-color:#7fb0ff;box-shadow:0 0 0 2px #1677ff24}.timeline-item.current{border-color:#7fb0ff;box-shadow:0 0 0 2px #1677ff2e}.timeline-dot{border-radius:99px;width:10px;height:10px;display:inline-block}.timeline-dot.success{background:var(--success)}.timeline-dot.warning{background:var(--warning)}.timeline-dot.muted{background:var(--text-muted)}.nav-badge{background:var(--critical);color:#fff;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700;line-height:1.5}.cell-link{color:var(--accent);font-weight:700}.cell-link:hover{text-decoration:underline}.muted{color:var(--text-muted)}.err{color:var(--critical)}.ok-text{color:var(--success)}@media (width<=1200px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.two-col{grid-template-columns:1fr}}@media (width<=980px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.page-head{flex-direction:column;align-items:flex-start}.kpi-grid,.form-grid{grid-template-columns:1fr}}.wrap.svelte-3z0wmw{place-items:center;min-height:100dvh;padding:1rem;display:grid}.login-card.svelte-3z0wmw{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(24rem,92vw);box-shadow:var(--shadow-soft);flex-direction:column;gap:.6rem;padding:1.75rem;display:flex}.badge.svelte-3z0wmw{border-radius:13px;width:46px;height:46px;margin-bottom:.4rem;box-shadow:0 8px 18px #1677ff47}.code-field.svelte-3z0wmw{display:flex;position:relative}.code-input.svelte-3z0wmw{letter-spacing:.12em;text-transform:uppercase;width:100%;padding-right:2.4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code-input.svelte-3z0wmw::placeholder{letter-spacing:.12em;text-transform:none}.reveal-btn.svelte-3z0wmw{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.reveal-btn.svelte-3z0wmw:hover{color:var(--text-primary)}h1.svelte-3z0wmw{color:var(--text-primary);margin:0;font-size:1.3rem}.sub.svelte-3z0wmw{color:var(--text-muted);margin:0 0 .6rem;font-size:.9rem}.login-card.svelte-3z0wmw .field:where(.svelte-3z0wmw){margin-bottom:0}.err.svelte-3z0wmw{color:var(--critical);margin:.2rem 0 0;font-size:.9rem}.dev-hint.svelte-3z0wmw{color:var(--text-muted);margin:.4rem 0 0;font-size:.85rem}.dev-hint.svelte-3z0wmw code:where(.svelte-3z0wmw){background:var(--surface-3);border-radius:5px;padding:1px 6px}.sidebar.svelte-129hoe0{border-radius:var(--radius-lg);padding:var(--space-4);background:radial-gradient(circle at 20% 0,#153a7c 0%,#0b224b 42%,#071634 100%);border:1px solid #0f2f67;box-shadow:0 18px 32px #0716355c}.nav-group.svelte-129hoe0{margin-bottom:var(--space-4)}.nav-group.svelte-129hoe0:last-child{margin-bottom:0}.nav-title.svelte-129hoe0{text-transform:uppercase;letter-spacing:.08em;color:#dfeaff9e;margin:0 0 var(--space-2) 0;font-size:11px}.nav-link.svelte-129hoe0{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);color:#dce8ff;border:1px solid #0000;margin-bottom:4px;padding:9px 11px;font-size:14px;font-weight:600;display:flex}.nav-link.svelte-129hoe0:hover{background:#306bcf42}.nav-link.active.svelte-129hoe0{color:#fff;background:linear-gradient(160deg,#0f5bd8,#1a7dff);border-color:#2787ff;box-shadow:0 8px 18px #1677ff47}.topbar.svelte-h6bux4{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-6);background:#f0f5fce6;display:flex;position:sticky;top:0}.brand.svelte-h6bux4{align-items:center;gap:var(--space-3);color:var(--text-primary);display:flex}.brand-badge.svelte-h6bux4{border-radius:10px;flex:none;width:34px;height:34px}.brand-text.svelte-h6bux4{flex-direction:column;line-height:1.1;display:flex}.brand-text.svelte-h6bux4 strong:where(.svelte-h6bux4){font-size:14px}.brand-text.svelte-h6bux4 span:where(.svelte-h6bux4){color:var(--text-muted);font-size:11px}.topbar-actions.svelte-h6bux4{align-items:center;gap:var(--space-3);display:flex}.ev-chip.svelte-h6bux4{align-items:center;gap:var(--space-2);background:var(--bg-elevated);border:1px solid var(--border);max-width:280px;color:var(--text-primary);border-radius:999px;padding:5px 14px;display:flex}.ev-chip.warn.svelte-h6bux4{color:var(--critical);background:#fff5f5;border-color:#f3c1be}.ev-text.svelte-h6bux4{flex-direction:column;min-width:0;line-height:1.15;display:flex}.ev-label.svelte-h6bux4{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.ev-name.svelte-h6bux4{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.user.svelte-h6bux4{align-items:center;gap:var(--space-2);display:flex}.avatar.svelte-h6bux4{color:#fff;background:linear-gradient(160deg,#0e2d63,#1877ff);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:flex}.user-name.svelte-h6bux4{font-size:13px;font-weight:700}.logout.svelte-h6bux4{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;padding:7px;line-height:0;display:inline-flex}.logout.svelte-h6bux4:hover{color:var(--critical);background:#fff5f5;border-color:#f3c1be}@media (width<=620px){.user-name.svelte-h6bux4,.ev-label.svelte-h6bux4,.brand-text.svelte-h6bux4 span:where(.svelte-h6bux4){display:none}}.footer.svelte-jz8lnl{border-top:1px solid var(--border);padding:var(--space-3) var(--space-6);background:#f0f5fcb3}.footer-bottom.svelte-jz8lnl{align-items:baseline;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.f-copy.svelte-jz8lnl{color:var(--text-muted);flex-shrink:0;margin:0;font-size:12px}.f-version.svelte-jz8lnl{color:var(--text-muted);flex-shrink:0;margin-left:auto;font-size:12px}.f-build.svelte-jz8lnl{opacity:.85;font-size:11px}.f-credit.svelte-jz8lnl{color:var(--text-muted);font-size:12px}.f-credit.svelte-jz8lnl:hover{color:var(--accent)}@media (width<=620px){.footer-bottom.svelte-jz8lnl{text-align:center;justify-content:center}.f-version.svelte-jz8lnl{margin-left:0}}.code-field.svelte-1s1gw85{display:flex;position:relative}.code-input.svelte-1s1gw85{letter-spacing:.12em;text-transform:uppercase;width:100%;padding-right:2.4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code-input.svelte-1s1gw85::placeholder{letter-spacing:.12em;text-transform:none}.reveal-btn.svelte-1s1gw85{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.reveal-btn.svelte-1s1gw85:hover{color:var(--text-primary)}.center.svelte-12qhfyh{text-align:center;color:var(--text-muted);margin-top:4rem}.app-shell.svelte-12qhfyh{flex-direction:column;min-height:100vh;display:flex}.frozen-banner.svelte-12qhfyh{align-items:center;gap:var(--space-2);color:#92600b;padding:var(--space-2) var(--space-6);background:#fff5e2;border-bottom:1px solid #f8dfb0;font-size:13px;font-weight:600;display:flex}.frozen-banner.svelte-12qhfyh a:where(.svelte-12qhfyh){color:var(--accent);text-decoration:underline}.demo-banner.svelte-12qhfyh{align-items:center;gap:var(--space-2);color:#3730a3;padding:var(--space-2) var(--space-6);background:#eef2ff;border-bottom:1px solid #c7d2fe;font-size:13px;font-weight:600;display:flex}.offline-banner.svelte-12qhfyh{align-items:center;gap:var(--space-2);color:#8c2f22;padding:var(--space-2) var(--space-6);background:#fdecea;border-bottom:1px solid #f5c6c0;font-size:13px;font-weight:600;display:flex}.update-banner.svelte-12qhfyh{align-items:center;gap:var(--space-2);background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text-muted);padding:var(--space-2) var(--space-6);font-size:13px;display:flex}.update-banner.svelte-12qhfyh button:where(.svelte-12qhfyh){margin-left:auto}.app-body.svelte-12qhfyh{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);gap:var(--space-5);max-width:none;padding:var(--space-5) var(--space-6);flex:1 0 auto;align-items:start;display:grid}.sidebar-col.svelte-12qhfyh{position:sticky;top:78px}main.svelte-12qhfyh{min-width:0}@media (width<=900px){.app-body.svelte-12qhfyh{padding:var(--space-4);grid-template-columns:1fr}.sidebar-col.svelte-12qhfyh{position:static}}
