:root{--bg:#0b0d12;--surface:#141821;--surface-2:#1d222d;--surface-3:#232936;--border:#2a3140;--primary:#4f8cff;--primary-dim:#1b2b4d;--secondary:#7a5cff;--success:#35c48a;--warning:#e8b046;--error:#f2555a;--info:#53a7f5;--text:#f2f5fa;--text-2:#a8b1c2;--text-3:#6b7688;--radius:12px;--radius-sm:8px;--radius-lg:18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:236px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:4px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{padding:4px 10px 16px}.brand-title{letter-spacing:1px;margin:0;font-size:19px;font-weight:700}.brand-sub{color:var(--text-3);margin:2px 0 0;font-size:11px}.nav-group-label{letter-spacing:1.2px;text-transform:uppercase;color:var(--text-3);padding:14px 10px 6px;font-size:10px;font-weight:600}.nav-item{border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;align-items:center;gap:10px;padding:8px 10px;font-size:13px;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--primary-dim);color:var(--text);font-weight:500}.main{min-width:0;padding:24px 28px 64px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-title{margin:0;font-size:23px;font-weight:650}.page-sub{color:var(--text-3);margin:4px 0 0;font-size:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card-title{color:var(--text);margin:0 0 12px;font-size:13px;font-weight:600}.grid{gap:14px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);margin:0;font-size:11px;font-weight:600}.stat-value{font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:24px;font-weight:700}.stat-hint{color:var(--text-3);margin:4px 0 0;font-size:11px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface);padding:10px 12px;font-size:11px;font-weight:600;position:sticky;top:0}td{border-bottom:1px solid var(--border);color:var(--text-2);vertical-align:middle;padding:10px 12px}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface-2)}td.mono{color:var(--text-3);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}td strong{color:var(--text);font-weight:500}.clickable-row{cursor:pointer}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.badge-neutral{background:var(--surface-3);color:var(--text-2);border-color:var(--border)}.badge-success{color:var(--success);background:#35c48a24;border-color:#35c48a59}.badge-warning{color:var(--warning);background:#e8b04624;border-color:#e8b04659}.badge-error{color:var(--error);background:#f2555a24;border-color:#f2555a59}.badge-info{color:var(--info);background:#53a7f524;border-color:#53a7f559}.badge-primary{background:var(--primary-dim);color:var(--primary);border-color:#4f8cff66}.dot{border-radius:50%;width:7px;height:7px;display:inline-block}button,.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,opacity .12s;display:inline-flex}button:hover:not(:disabled),.btn:hover{background:var(--surface-3)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:#08101f;font-weight:600}.btn-primary:hover:not(:disabled){background:#6b9dff;border-color:#6b9dff}.btn-danger{color:var(--error);background:#f2555a24;border-color:#f2555a66}.btn-danger:hover:not(:disabled){background:#f2555a3d}.btn-sm{padding:5px 10px;font-size:12px}.btn-ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}input,select,textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;width:100%;padding:8px 11px;font-family:inherit;font-size:13px;transition:border-color .12s}input:focus,select:focus,textarea:focus{border-color:var(--primary)}textarea{resize:vertical;min-height:90px;line-height:1.5}label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);margin-bottom:5px;font-size:11px;font-weight:600;display:block}.field{margin-bottom:14px}.field-hint{color:var(--text-3);margin-top:5px;font-size:11px}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:16px;display:flex}.toolbar .field{min-width:150px;margin-bottom:0}.row{align-items:center;gap:10px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.spacer{flex:1}.muted{color:var(--text-3)}.small{font-size:12px}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.empty{text-align:center;color:var(--text-3);padding:40px 20px}.empty-title{color:var(--text-2);margin-bottom:4px;font-weight:500}.loading{text-align:center;color:var(--text-3);padding:40px}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:22px;height:22px;margin:0 auto 12px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-box{color:#ffb3b6;border-radius:var(--radius-sm);background:#f2555a1a;border:1px solid #f2555a59;padding:12px 14px;font-size:13px}.success-box{color:#8ee7c2;border-radius:var(--radius-sm);background:#35c48a1a;border:1px solid #35c48a59;padding:12px 14px;font-size:13px}.warning-box{color:#f3d69a;border-radius:var(--radius-sm);background:#e8b0461a;border:1px solid #e8b04659;padding:12px 14px;font-size:13px}.msg{border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;max-width:80%;margin-bottom:8px;padding:10px 13px;font-size:13px}.msg-user{background:var(--primary-dim);margin-left:auto}.msg-assistant{background:var(--surface-2)}.msg-other{background:#7a5cff24;border:1px solid #7a5cff4d}.msg-system{background:var(--surface-3);color:var(--text-3);font-style:italic}.msg-role{text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);margin-bottom:4px;font-size:10px;font-weight:600}input[type=range]{accent-color:var(--primary);background:0 0;border:none;padding:0}input[type=checkbox]{width:auto;accent-color:var(--primary)}.login-page{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:380px;padding:30px 26px}.login-title{letter-spacing:1px;text-align:center;margin:0 0 4px;font-size:21px;font-weight:700}.login-sub{text-align:center;color:var(--text-3);margin:0 0 24px;font-size:12px}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.tab{color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:0;margin-bottom:-1px;padding:9px 14px;font-size:13px;font-weight:500}.tab:hover{color:var(--text-2);background:0 0}.tab.active{color:var(--primary);border-bottom-color:var(--primary);background:0 0}.code{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);white-space:pre-wrap;word-break:break-word;max-height:460px;padding:12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;overflow:auto}.kv{grid-template-columns:180px 1fr;gap:8px 14px;font-size:13px;display:grid}.kv dt{color:var(--text-3)}.kv dd{color:var(--text);word-break:break-word;margin:0}
