@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root,[data-theme=dark]{--bg: #0a0e17;--bg-glow1: rgba(99, 102, 241, .18);--bg-glow2: rgba(34, 211, 238, .12);--panel: rgba(22, 28, 41, .72);--panel2: #1b2233;--sidebar-grad: linear-gradient(180deg, rgba(20, 26, 40, .85), rgba(12, 16, 26, .85));--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text: #eef2f8;--muted: #8c97ad;--input-bg: rgba(10, 14, 23, .7);--hover: rgba(255, 255, 255, .05);--hover-strong: rgba(255, 255, 255, .1);--row-hover: rgba(255, 255, 255, .03);--code-bg: rgba(8, 11, 18, .85);--chat-bg: rgba(10, 14, 23, .6);--assistant-bg: rgba(255, 255, 255, .04);--scrollbar: rgba(255, 255, 255, .1);--scrollbar-hover: rgba(255, 255, 255, .18);--shadow: 0 10px 30px -12px rgba(0, 0, 0, .6);--shadow-lg: 0 20px 50px -20px rgba(0, 0, 0, .7);--mono-text: #b6c2d4}[data-theme=light]{--bg: #f3f5fb;--bg-glow1: rgba(99, 102, 241, .16);--bg-glow2: rgba(34, 211, 238, .14);--panel: rgba(255, 255, 255, .82);--panel2: #eef1f8;--sidebar-grad: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(240, 243, 250, .92));--border: rgba(20, 30, 55, .1);--border-strong: rgba(20, 30, 55, .18);--text: #15203a;--muted: #5e6b85;--input-bg: #ffffff;--hover: rgba(20, 30, 55, .05);--hover-strong: rgba(20, 30, 55, .09);--row-hover: rgba(20, 30, 55, .035);--code-bg: #eef1f8;--chat-bg: #f7f9fd;--assistant-bg: rgba(99, 102, 241, .07);--scrollbar: rgba(20, 30, 55, .18);--scrollbar-hover: rgba(20, 30, 55, .3);--shadow: 0 10px 30px -14px rgba(40, 55, 90, .25);--shadow-lg: 0 20px 50px -22px rgba(40, 55, 90, .3);--mono-text: #3a4866}:root{--accent: #6366f1;--accent2: #22d3ee;--accent-grad: linear-gradient(135deg, #6366f1 0%, #22d3ee 100%);--green: #34d399;--red: #f87171;--amber: #f59e0b;--radius: 16px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;background:radial-gradient(1100px 600px at 12% -10%,var(--bg-glow1),transparent 60%),radial-gradient(900px 500px at 100% 0%,var(--bg-glow2),transparent 55%),var(--bg);background-attachment:fixed;transition:background-color .3s ease,color .3s ease}a{color:var(--accent2);text-decoration:none}a:hover{opacity:.85}code,.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.86em}::selection{background:#6366f159}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}.app{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;padding:22px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px;background:var(--sidebar-grad);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-right:1px solid var(--border)}.brand{font-weight:800;font-size:17px;padding:6px 12px 22px;letter-spacing:-.2px;display:flex;flex-direction:column;gap:2px}.brand .logo{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand small{color:var(--muted);font-weight:500;font-size:11px;letter-spacing:.4px;text-transform:uppercase}.nav{display:flex;flex-direction:column}.nav a{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:11px;color:var(--muted);cursor:pointer;margin-bottom:3px;font-weight:500;transition:all .18s ease;position:relative}.nav a:hover{background:var(--hover);color:var(--text);transform:translate(2px)}.nav a.active{background:var(--accent-grad);color:#fff;font-weight:600;box-shadow:0 8px 20px -8px #6366f1b3}.nav a .dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5}.nav a.active .dot{opacity:1}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:12px}.theme-toggle{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:11px;background:var(--hover);border:1px solid var(--border);color:var(--text);cursor:pointer;font-weight:500;font-size:13px;transition:all .18s ease}.theme-toggle:hover{background:var(--hover-strong)}.mlflow-link{display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:11px;font-weight:600;font-size:13px;color:var(--text);cursor:pointer;text-decoration:none;background:linear-gradient(135deg,#34d3992e,#22d3ee1f);border:1px solid rgba(52,211,153,.4);transition:all .18s ease}.mlflow-link:hover{opacity:1;transform:translateY(-1px);background:linear-gradient(135deg,#34d3994d,#22d3ee33)}.main{flex:1;padding:34px 40px;max-width:1180px;width:100%}.view{animation:fadeUp .4s cubic-bezier(.2,.7,.3,1)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.h1{font-size:24px;font-weight:800;margin:0 0 4px;letter-spacing:-.5px}.sub{color:var(--muted);margin:0 0 24px;font-size:14px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:24px}.card{background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);transition:transform .2s ease,border-color .2s ease}.card:hover{transform:translateY(-3px);border-color:var(--border-strong)}.card .label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:600}.card .value{font-size:28px;font-weight:800;margin-top:8px;letter-spacing:-.5px}.panel{background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin-bottom:22px;box-shadow:var(--shadow)}.panel h3{margin:0 0 16px;font-size:15px;font-weight:700;letter-spacing:-.2px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}tbody tr{transition:background .15s ease}tbody tr:hover{background:var(--row-hover)}th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.6px}td.mono{color:var(--mono-text)}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{color:var(--muted);font-size:12px;font-weight:500}input,select,textarea{background:var(--input-bg);border:1px solid var(--border-strong);color:var(--text);border-radius:11px;padding:11px 13px;font-size:13px;font-family:inherit;min-width:170px;transition:border-color .15s ease,box-shadow .15s ease}textarea{min-height:84px;width:100%;resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f138}button{background:var(--accent-grad);color:#fff;border:none;border-radius:11px;padding:10px 17px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;box-shadow:0 8px 20px -10px #6366f1cc}button:hover{transform:translateY(-1px);box-shadow:0 12px 26px -10px #6366f1e6}button:active{transform:translateY(0)}button.ghost{background:var(--hover);border:1px solid var(--border-strong);color:var(--text);box-shadow:none}button.ghost:hover{background:var(--hover-strong)}button.danger{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 8px 20px -10px #f87171cc}button.small{padding:6px 12px;font-size:12px}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}.badge.active{background:#34d39929;color:#16a34a}[data-theme=dark] .badge.active{color:#5eead4}.badge.revoked,.badge.expired{background:#f8717129;color:#dc2626}[data-theme=dark] .badge.revoked,[data-theme=dark] .badge.expired{color:#fca5a5}.toast{position:fixed;bottom:24px;right:24px;padding:13px 18px;border-radius:12px;box-shadow:var(--shadow-lg);z-index:50;max-width:380px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:toastIn .3s cubic-bezier(.2,.8,.2,1);color:#fff}@keyframes toastIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.toast.ok{background:#107a43f2;border:1px solid var(--green)}.toast.err{background:#be2828f2;border:1px solid var(--red)}.secret{background:#34d3991f;border:1px solid var(--green);border-radius:12px;padding:14px 16px;margin-top:14px;word-break:break-all}.muted{color:var(--muted)}.right{margin-left:auto}.spacer{height:10px}.chatlog{background:var(--chat-bg);border:1px solid var(--border);border-radius:12px;padding:16px;min-height:220px;max-height:440px;overflow-y:auto}.msg{margin-bottom:14px;animation:fadeUp .3s ease}.msg .who{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:600}.msg .body{white-space:pre-wrap;margin-top:4px;line-height:1.6}.msg.assistant .body{background:var(--assistant-bg);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:inline-block;max-width:100%}.tools{color:var(--amber);font-size:12px;margin-top:6px}.login{max-width:440px;margin:11vh auto;animation:fadeUp .5s ease}.login .panel{padding:30px}.login .brand{justify-content:center;align-items:center}.trace-row{border:1px solid var(--border);border-radius:10px;padding:11px 13px;margin-bottom:8px;cursor:pointer;transition:all .15s ease;background:var(--input-bg)}.trace-row:hover{border-color:var(--border-strong);transform:translate(2px)}.step-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:var(--accent-grad);color:#fff;font-weight:800;font-size:14px;flex-shrink:0;box-shadow:0 6px 16px -6px #6366f1cc}.code-block{background:var(--code-bg);border:1px solid var(--border-strong);border-radius:12px;padding:14px 16px;margin-top:12px;overflow-x:auto;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;color:var(--mono-text);white-space:pre;line-height:1.6}.hero{background:linear-gradient(135deg,#6366f124,#22d3ee14);border:1px solid var(--border-strong)}@media (max-width: 820px){.sidebar{width:200px}.main{padding:24px 22px}}
