:root,[data-theme=light]{color-scheme:light;--bg: #f5f7fb;--surface: #ffffff;--surface-2: #f2f5fa;--surface-3: #e9eef6;--border: #e3e8f0;--border-strong: #cfd7e3;--heading: #1e293b;--text: #334155;--muted: #64748b;--primary: #2f6bff;--primary-2: #7c4dff;--primary-hover: #1f55e0;--primary-soft: #eaf0ff;--primary-ring: rgba(47, 107, 255, .2);--on-primary: #ffffff;--accent: #f43f7a;--accent-2: #7c4dff;--cyan: #06b6d4;--danger: #f04438;--danger-soft: #fdeceb;--danger-text: #b42318;--warning: #b45309;--warning-soft: #fff5e3;--warning-line: #f59e0b;--success: #12b76a;--success-soft: #e7f8ef;--success-text: #067647;--info-text: #1f4fd1;--ink: #0f172a;--ink-2: #1e293b;--ink-text: #e2e8f0;--ink-muted: #94a3b8;--grad: #2f6bff;--hero-glow-1: rgba(47, 107, 255, .28);--hero-glow-2: rgba(124, 77, 255, .2);--hero-glow-3: rgba(6, 182, 212, .18);--radius: 4px;--radius-lg: 8px;--shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px -2px rgba(15, 23, 42, .08), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-lg: 0 18px 40px -16px rgba(15, 23, 42, .28);--on-accent: #ffffff;--warning-text: #93370d;--success-strong: #079455;--danger-strong: #d92d20;--danger-grad: #e5484d;--row-hover: color-mix(in srgb, var(--primary) 4%, var(--surface));--backdrop: rgba(15, 23, 42, .42);--sidebar: var(--surface);--paper: #ffffff;--paper-text: #1e293b;--paper-muted: #64748b;--paper-line: #e3e8f0}[data-theme=dark]{color-scheme:dark;--bg: #0b1017;--surface: #121924;--surface-2: #18212f;--surface-3: #1f2a3b;--border: #243044;--border-strong: #324059;--heading: #e6ebf3;--text: #c2cad7;--muted: #8b96a8;--primary: #5b8cff;--primary-2: #9b7bff;--primary-hover: #7aa3ff;--primary-soft: rgba(91, 140, 255, .14);--primary-ring: rgba(91, 140, 255, .3);--on-primary: #ffffff;--accent: #fb6f9c;--accent-2: #9b7bff;--cyan: #22d3ee;--danger: #f97066;--danger-soft: rgba(240, 68, 56, .14);--danger-text: #fda29b;--warning: #fbbf24;--warning-soft: rgba(245, 158, 11, .13);--warning-line: #f59e0b;--success: #32d583;--success-soft: rgba(18, 183, 106, .14);--success-text: #6ce9a6;--info-text: #9bb8ff;--ink: #070b11;--ink-2: #111827;--ink-text: #e2e8f0;--ink-muted: #94a3b8;--grad: #5b8cff;--hero-glow-1: rgba(91, 140, 255, .3);--hero-glow-2: rgba(155, 123, 255, .24);--hero-glow-3: rgba(34, 211, 238, .16);--shadow: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 14px -2px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 44px -16px rgba(0, 0, 0, .6);--warning-text: #fcd34d;--success-strong: #067647;--danger-strong: #b42318;--danger-grad: #c9353b;--backdrop: rgba(0, 0, 0, .62);--sidebar: #0f1620}[data-theme=ocean]{color-scheme:light;--bg: #f2f8f9;--surface: #ffffff;--surface-2: #edf6f7;--surface-3: #e1eff1;--border: #d8e8eb;--border-strong: #c2d9dd;--heading: #12333a;--text: #2c4a51;--muted: #5f7b82;--primary: #0d9488;--primary-2: #0ea5e9;--primary-hover: #0b7d73;--primary-soft: #e0f4f2;--primary-ring: rgba(13, 148, 136, .22);--on-primary: #ffffff;--accent: #0ea5e9;--accent-2: #6366f1;--cyan: #06b6d4;--info-text: #0b6f67;--grad: #0d9488;--hero-glow-1: rgba(13, 148, 136, .26);--hero-glow-2: rgba(14, 165, 233, .2);--hero-glow-3: rgba(99, 102, 241, .14)}[data-theme=sunset]{color-scheme:light;--bg: #fbf7f4;--surface: #ffffff;--surface-2: #f8f1ec;--surface-3: #f2e7df;--border: #ede2da;--border-strong: #ddcfc4;--heading: #2e1f2b;--text: #4a3a45;--muted: #7d6b74;--primary: #7c3aed;--primary-2: #ec4899;--primary-hover: #6d28d9;--primary-soft: #f2ebfe;--primary-ring: rgba(124, 58, 237, .22);--on-primary: #ffffff;--accent: #f97316;--accent-2: #ec4899;--cyan: #f59e0b;--info-text: #6d28d9;--grad: #7c3aed;--hero-glow-1: rgba(124, 58, 237, .24);--hero-glow-2: rgba(236, 72, 153, .2);--hero-glow-3: rgba(249, 115, 22, .16)}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--primary-ring)}a{color:var(--primary);text-decoration:none;transition:color .14s}a:hover{color:var(--primary-hover)}h1,h2,h3,h4{color:var(--heading);font-weight:600;letter-spacing:-.01em;line-height:1.3}h1{font-size:24px}h2{font-size:16px;margin:0 0 12px}h3{font-size:14.5px;margin:0 0 8px}b,strong{font-weight:600;color:var(--heading)}hr{border:0;border-top:1px solid var(--border);margin:16px 0}code,pre{font-family:ui-monospace,JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:12.5px}:not(pre)>code{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1px 5px;color:var(--heading)}pre.log{background:var(--ink);color:var(--ink-text);border:1px solid var(--ink-2);border-radius:var(--radius-lg);line-height:1.6}.muted{color:var(--muted)}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;font:inherit;font-size:13.5px;font-weight:500;line-height:1.2;padding:7px 14px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--heading);cursor:pointer;transition:background .14s,border-color .14s,color .14s,box-shadow .14s;white-space:nowrap;text-decoration:none;box-shadow:var(--shadow)}.btn:hover:not(:disabled){background:var(--surface-2);color:var(--heading)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-ring);border-color:var(--primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:var(--on-primary)}.btn-dark{background:var(--ink);color:var(--ink-text);border-color:var(--ink)}.btn-dark:hover:not(:disabled){background:var(--ink-2);border-color:var(--ink-2);color:var(--ink-text)}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:transparent}.btn-danger{color:var(--danger-text);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 55%,var(--border));color:var(--danger-text)}.btn-sm{min-height:28px;padding:4px 10px;font-size:12.5px;gap:5px}.btn-lg{min-height:42px;padding:10px 20px;font-size:15px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:500;font-size:13px;color:var(--heading)}.field .hint{font-size:12px;color:var(--muted)}.field.wide{grid-column:1/-1}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=date],input[type=url],input[type=search],select,textarea{width:100%;min-height:36px;font:inherit;font-size:14px;padding:7px 11px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--heading);transition:border-color .14s,box-shadow .14s}input[type=text]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder,input[type=number]::placeholder,input[type=tel]::placeholder,input[type=date]::placeholder,input[type=url]::placeholder,input[type=search]::placeholder,select::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input[type=text]:hover:not(:disabled):not(:focus),input[type=email]:hover:not(:disabled):not(:focus),input[type=password]:hover:not(:disabled):not(:focus),input[type=number]:hover:not(:disabled):not(:focus),input[type=tel]:hover:not(:disabled):not(:focus),input[type=date]:hover:not(:disabled):not(:focus),input[type=url]:hover:not(:disabled):not(:focus),input[type=search]:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:color-mix(in srgb,var(--primary) 30%,var(--border-strong))}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=tel]:focus,input[type=date]:focus,input[type=url]:focus,input[type=search]:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}input[type=text]:disabled,input[type=email]:disabled,input[type=password]:disabled,input[type=number]:disabled,input[type=tel]:disabled,input[type=date]:disabled,input[type=url]:disabled,input[type=search]:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--muted)}input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:15px;height:15px}textarea{resize:vertical;min-height:84px;line-height:1.5}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.grid{display:grid;gap:14px 16px;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow);transition:box-shadow .16s,border-color .16s}a.card:hover,.card.hover:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.card+.card{margin-top:16px}.stat-grid>.card+.card,.grid>.card+.card{margin-top:0}.card[style*="padding: 0"]{overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.card-header h2{margin:0}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:20px;flex-wrap:wrap}.page-header h1{font-size:24px;margin:0}.page-header p{margin:4px 0 0;font-size:14px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;line-height:1.5;padding:1px 8px;border-radius:999px;background:var(--surface-3);color:var(--text);border:1px solid transparent;white-space:nowrap;vertical-align:middle}.badge-success{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 22%,transparent);color:var(--success-text)}.badge-warning{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning-line) 28%,transparent);color:var(--warning-text)}.badge-danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 22%,transparent);color:var(--danger-text)}.badge-info{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 22%,transparent);color:var(--info-text)}.alert{position:relative;padding:11px 14px 11px 17px;border-radius:var(--radius-lg);margin-bottom:14px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);line-height:1.5;overflow:hidden;overflow-wrap:anywhere}.alert:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--border-strong)}.alert b{color:inherit}a.alert{transition:box-shadow .14s}a.alert:hover{box-shadow:var(--shadow-md)}.alert-info{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 22%,transparent);color:var(--info-text)}.alert-info:before{background:var(--primary)}.alert-warning{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning-line) 30%,transparent);color:var(--warning-text)}.alert-warning:before{background:var(--warning-line)}.alert-danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 25%,transparent);color:var(--danger-text)}.alert-danger:before{background:var(--danger)}.alert-success{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 25%,transparent);color:var(--success-text)}.alert-success:before{background:var(--success)}table{width:100%;border-collapse:collapse}table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;padding:9px 12px;border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap}table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle;transition:background .12s}table td>.btn+.btn{margin-left:4px}table tbody tr:hover td{background:var(--row-hover)}table tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.empty{text-align:center;color:var(--muted);padding:32px 20px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:30px 20px;color:var(--muted)}.empty-state .ico{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--primary-soft);color:var(--primary);margin-bottom:6px}.empty-state b{font-size:15px}.empty-state p{margin:0 0 8px;max-width:380px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:14px;margin-bottom:20px}.stat{--tone: var(--primary);position:relative;display:flex;flex-direction:column;gap:4px;overflow:hidden}.stat:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--tone);opacity:.85}.stat .value{font-size:24px;font-weight:600;letter-spacing:-.015em;line-height:1.2;color:var(--heading);font-variant-numeric:tabular-nums}.stat .label{color:var(--muted);font-size:13px}.stat .stat-icon{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-lg);color:var(--tone);background:color-mix(in srgb,var(--tone) 13%,var(--surface))}.stat:has(.stat-icon){padding-right:64px}.stat-grid>.stat:nth-child(4n+2){--tone: var(--accent-2)}.stat-grid>.stat:nth-child(4n+3){--tone: var(--accent)}.stat-grid>.stat:nth-child(4n+4){--tone: var(--cyan)}.stat-grid>.stat.tone-primary{--tone: var(--primary)}.stat-grid>.stat.tone-violet{--tone: var(--accent-2)}.stat-grid>.stat.tone-accent{--tone: var(--accent)}.stat-grid>.stat.tone-cyan{--tone: var(--cyan)}.stat-grid>.stat.tone-success{--tone: var(--success)}.stat-grid>.stat.tone-warning{--tone: var(--warning-line)}.stat-grid>.stat.tone-danger{--tone: var(--danger)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto}.tabs a{padding:8px 12px;color:var(--muted);font-weight:500;border-bottom:2px solid transparent;border-radius:var(--radius) var(--radius) 0 0;cursor:pointer;white-space:nowrap;transition:color .14s,border-color .14s,background .14s}.tabs a:hover{color:var(--heading);background:var(--surface-2)}.tabs a.active{color:var(--primary);border-color:var(--primary)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--border-strong);flex-shrink:0}.status-dot.on{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.status-dot.warn{background:var(--warning-line);box-shadow:0 0 0 3px var(--warning-soft)}.code-box{display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--ink-text);padding:10px 12px 10px 14px;border-radius:var(--radius-lg);border:1px solid var(--ink-2);border-left:3px solid var(--primary);font-family:ui-monospace,Consolas,monospace;font-size:12.5px;overflow-x:auto}.code-box code{flex:1;white-space:nowrap;background:none;border:0;padding:0;color:inherit}.code-box button{flex-shrink:0}.modal-backdrop{position:fixed;inset:0;background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:16px;z-index:100;animation:fade .14s ease-out}.modal{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 24px;width:min(560px,100%);max-height:92vh;overflow:auto;box-shadow:var(--shadow-lg);animation:pop .16s ease-out}.modal h2{margin-top:0;font-size:17px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.99)}}.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:200}.toast{padding:10px 16px;border-radius:var(--radius-lg);color:var(--on-accent);box-shadow:var(--shadow-lg);cursor:pointer;max-width:400px;animation:pop .16s ease-out}.toast-success{background:var(--success-strong)}.toast-error{background:var(--danger-strong)}.toast-info{background:var(--primary);color:var(--on-primary)}.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}@media print{.no-print{display:none!important}body{background:var(--paper)}}
