:root{color-scheme:dark;--primary:24.6 95% 53.1%;--primary-foreground:0 0% 100%;--bg:222 47% 6%;--surface:222 40% 9%;--surface-2:222 34% 13%;--surface-3:222 30% 17%;--border:222 28% 20%;--text:210 40% 98%;--muted:215 20% 65%;--success:152 60% 50%;--danger:0 72% 58%;--warn:38 92% 55%;--radius:12px;--radius-sm:8px;--font:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow:0 10px 30px -12px #0000008c;--ring:0 0 0 3px hsl(var(--primary) / .35)}*{box-sizing:border-box}html,body{height:100%}body{font-family:var(--font);background:radial-gradient(900px 500px at 100% -10%, hsl(var(--primary) / .1), transparent 60%), radial-gradient(700px 500px at -10% 110%, #0d80f20f, transparent 55%), hsl(var(--bg));color:hsl(var(--text));-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.55}::selection{background:hsl(var(--primary) / .3)}button{cursor:pointer;font-family:inherit;font-size:14px}.btn{border-radius:var(--radius-sm);background:hsl(var(--surface-2));color:hsl(var(--text));white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 15px;font-weight:550;transition:background .15s,border-color .15s,transform 40ms,box-shadow .15s;display:inline-flex}.btn:hover{background:hsl(var(--surface-3))}.btn:active{transform:translateY(1px)}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover{background:hsl(var(--primary) / .9)}.btn-ghost{border-color:hsl(var(--border));background:0 0}.btn-ghost:hover{background:hsl(var(--surface-2))}.btn-danger{background:hsl(var(--danger));color:#fff}.btn-danger:hover{background:hsl(var(--danger) / .88)}.btn-sm{padding:6px 11px;font-size:13px}.btn-icon{padding:8px}.input,.textarea{border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background:hsl(var(--surface));width:100%;color:hsl(var(--text));outline:none;padding:10px 13px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.input::placeholder,.textarea::placeholder{color:hsl(var(--muted) / .7)}.input:focus,.textarea:focus{border-color:hsl(var(--primary) / .7);box-shadow:var(--ring)}.textarea{resize:vertical;min-height:96px}.field-label{color:hsl(var(--muted));margin-bottom:7px;font-size:12.5px;font-weight:550;display:block}.login-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:hsl(var(--surface) / .9);border:1px solid hsl(var(--border));border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow);backdrop-filter:blur(6px);padding:34px}.login-logo{align-items:center;gap:10px;margin-bottom:6px;display:flex}.login-card h1{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700}.login-card .sub{color:hsl(var(--muted));margin:0 0 26px;font-size:13px}.login-card .field{margin-bottom:16px}.shell{min-height:100vh;display:flex}.sidebar{background:hsl(var(--surface) / .6);border-right:1px solid hsl(var(--border));flex-direction:column;flex-shrink:0;gap:3px;width:236px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;align-items:center;gap:9px;padding:6px 10px 18px;font-size:16px;font-weight:700;display:flex}.logo-mark{background:linear-gradient(135deg, hsl(var(--primary)), #f34a16);color:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:15px;font-weight:800;display:grid}.nav-item{text-align:left;border-radius:var(--radius-sm);width:100%;color:hsl(var(--muted));background:0 0;border:none;align-items:center;gap:11px;padding:10px 12px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item svg{flex-shrink:0;width:18px;height:18px}.nav-item:hover{background:hsl(var(--surface-2));color:hsl(var(--text))}.nav-item.active{background:hsl(var(--primary) / .14);color:hsl(var(--primary))}.sidebar .spacer{flex:1}.sidebar-user{color:hsl(var(--muted));border-top:1px solid hsl(var(--border));margin-top:6px;padding:12px 12px 8px;font-size:12px}.main{flex:1;min-width:0;padding:30px 34px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.page-head h2{letter-spacing:-.01em;margin:0;font-size:21px;font-weight:700}.page-head .count{color:hsl(var(--muted));font-size:14px;font-weight:500}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card{background:hsl(var(--surface) / .7);border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{text-align:left;border-bottom:1px solid hsl(var(--border));white-space:nowrap;padding:13px 16px}thead th{color:hsl(var(--muted));text-transform:uppercase;letter-spacing:.05em;background:hsl(var(--surface-2) / .5);font-size:11.5px;font-weight:600}tbody tr{transition:background .12s}tbody tr:hover{background:hsl(var(--surface-2) / .5)}tbody tr:last-child td{border-bottom:none}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.table-fixed{table-layout:fixed}.table-fixed td,.table-fixed th{text-overflow:ellipsis;overflow:hidden}.cell-actions{justify-content:flex-end;gap:6px;display:flex}.badge{background:hsl(var(--surface-2));border:1px solid hsl(var(--border));color:hsl(var(--muted));border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge.green{color:hsl(var(--success));border-color:hsl(var(--success) / .35);background:hsl(var(--success) / .1)}.badge.red{color:hsl(var(--danger));border-color:hsl(var(--danger) / .35);background:hsl(var(--danger) / .1)}.badge.orange{color:hsl(var(--primary));border-color:hsl(var(--primary) / .35);background:hsl(var(--primary) / .1)}.dot{background:currentColor;border-radius:50%;width:7px;height:7px}.alert{border-radius:var(--radius-sm);align-items:flex-start;gap:9px;margin-bottom:16px;padding:11px 15px;font-size:13px;display:flex}.alert svg{flex-shrink:0;width:17px;height:17px;margin-top:1px}.alert-error{background:hsl(var(--danger) / .12);border:1px solid hsl(var(--danger) / .4);color:#faa8a8}.alert-info{background:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3);color:#f9c494}.muted{color:hsl(var(--muted))}.empty{text-align:center;color:hsl(var(--muted));padding:48px}.pagination{justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.select{display:inline-block;position:relative}.select-trigger{border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background:hsl(var(--surface));width:100%;min-width:140px;color:hsl(var(--text));text-align:left;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-weight:500;transition:border-color .15s,box-shadow .15s;display:inline-flex}.select-trigger:hover{border-color:hsl(var(--muted) / .5)}.select-trigger:focus-visible{box-shadow:var(--ring);border-color:hsl(var(--primary) / .7);outline:none}.select-trigger .chev{width:16px;height:16px;color:hsl(var(--muted));transition:transform .15s}.select.open .select-trigger .chev{transform:rotate(180deg)}.select-menu{z-index:40;background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);min-width:100%;box-shadow:var(--shadow);max-height:280px;padding:5px;animation:.12s pop;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.select-option{text-align:left;width:100%;color:hsl(var(--text));background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;font-weight:500;display:flex}.select-option:hover{background:hsl(var(--surface-3))}.select-option.selected{color:hsl(var(--primary))}.select-option .check{width:15px;height:15px}.switch{flex-shrink:0;width:44px;height:25px;display:inline-block;position:relative}.switch input{display:none}.slider{cursor:pointer;background:hsl(var(--surface-3));border-radius:999px;transition:background .18s;position:absolute;inset:0}.slider:before{content:"";background:#fff;border-radius:50%;width:19px;height:19px;transition:transform .18s;position:absolute;top:3px;left:3px}.switch input:checked+.slider{background:hsl(var(--primary))}.switch input:checked+.slider:before{transform:translate(19px)}.switch input:disabled+.slider{opacity:.5;cursor:not-allowed}.modal-overlay{z-index:60;backdrop-filter:blur(3px);background:#04060ba6;place-items:center;padding:20px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:var(--radius);width:100%;max-width:460px;box-shadow:var(--shadow);animation:.16s pop}.modal-head{align-items:flex-start;gap:13px;padding:22px 22px 0;display:flex}.modal-icon{border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.modal-icon svg{width:20px;height:20px}.modal-icon.danger{background:hsl(var(--danger) / .14);color:hsl(var(--danger))}.modal-icon.primary{background:hsl(var(--primary) / .14);color:hsl(var(--primary))}.modal-title{margin:0 0 4px;font-size:16.5px;font-weight:650}.modal-body{color:hsl(var(--muted));padding:6px 22px 4px;font-size:13.5px}.modal-body .strong{color:hsl(var(--text));font-weight:600}.modal-foot{justify-content:flex-end;gap:10px;padding:18px 22px 22px;display:flex}.log-stream{border:1px solid hsl(var(--border));border-radius:var(--radius);background:#05080f;max-height:66vh;padding:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;overflow-y:auto}.log-line{border-radius:6px;gap:12px;padding:5px 10px;display:flex}.log-line:hover{background:hsl(var(--surface-2) / .6)}.log-ts{color:hsl(var(--muted));white-space:nowrap}.log-level{text-transform:uppercase;flex-shrink:0;width:46px;padding-top:1px;font-size:11px;font-weight:700}.log-level.info{color:#64adf7}.log-level.warn{color:hsl(var(--warn))}.log-level.error{color:hsl(var(--danger))}.log-msg{word-break:break-word;white-space:pre-wrap}.live-dot{background:hsl(var(--success));width:8px;height:8px;box-shadow:0 0 0 0 hsl(var(--success) / .6);border-radius:50%;animation:1.6s infinite pulse}.feature-name{align-items:center;gap:12px;display:flex}.feature-icon{background:hsl(var(--primary) / .12);width:34px;height:34px;color:hsl(var(--primary));border-radius:9px;flex-shrink:0;place-items:center;display:grid}.feature-icon svg{width:18px;height:18px}.group-head{text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted));align-items:center;gap:9px;margin:0 2px 10px;font-size:12.5px;font-weight:650;display:flex}.group-count{background:hsl(var(--surface-3));min-width:20px;height:20px;color:hsl(var(--text));letter-spacing:0;border-radius:999px;place-items:center;padding:0 6px;font-size:11px;font-weight:600;display:inline-grid}.section{margin-bottom:18px}.section-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section h3{margin:0 0 4px;font-size:15.5px;font-weight:620}.section p{margin:0}.card-pad{padding:22px}.row-gap{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pulse{0%{box-shadow:0 0 0 0 hsl(var(--success) / .55)}70%{box-shadow:0 0 0 6px hsl(var(--success) / 0)}to{box-shadow:0 0 0 0 hsl(var(--success) / 0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}@media (width<=720px){.sidebar{flex-direction:row;width:100%;height:auto;position:static;overflow-x:auto}.shell{flex-direction:column}.main{padding:20px 16px}}
