@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap";:root{--primary-50: #eef2ff;--primary-100: #e0e7ff;--primary-200: #c7d2fe;--primary-300: #a5b4fc;--primary-400: #818cf8;--primary-500: #6366f1;--primary-600: #4f46e5;--primary-700: #4338ca;--primary-800: #3730a3;--primary-900: #312e81;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--gray-950: #020617;--success-50: #ecfdf5;--success-500: #10b981;--success-600: #059669;--success-700: #047857;--warning-50: #fffbeb;--warning-500: #f59e0b;--warning-600: #d97706;--danger-50: #fef2f2;--danger-500: #ef4444;--danger-600: #dc2626;--danger-700: #b91c1c;--bg-body: #f0f2f8;--bg-surface: #ffffff;--bg-sidebar: linear-gradient(180deg, #0f172a 0%, #1e1b4b 100%);--bg-card: #ffffff;--bg-code: #1e1b4b;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(99, 102, 241, .15);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 0 0 1px rgba(0, 0, 0, .02);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;color:var(--gray-800);background:var(--bg-body);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg-body);background-image:radial-gradient(ellipse at 20% 0%,rgba(99,102,241,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(139,92,246,.04) 0%,transparent 50%)}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--bg-sidebar);color:#f5f7f8;padding:28px 20px;display:flex;flex-direction:column;position:relative;overflow:hidden}.sidebar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.sidebar:after{content:"";position:absolute;top:-60px;left:50%;transform:translate(-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(99,102,241,.3) 0%,transparent 70%);pointer-events:none}.brand{display:flex;align-items:center;gap:14px;margin-bottom:36px;padding:0 4px;position:relative;z-index:1}.brand>svg{color:var(--primary-400);filter:drop-shadow(0 0 8px rgba(99,102,241,.4))}.brand strong,.brand span{display:block}.brand strong{font-size:17px;font-weight:700;letter-spacing:-.01em;color:#fff}.brand span{margin-top:3px;color:#94a3b8cc;font-size:11px;font-weight:500;letter-spacing:.02em}.nav-list{display:grid;gap:4px;position:relative;z-index:1}.nav-item{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;border:0;border-radius:var(--radius-md);padding:0 14px;color:#cbd5e1b3;background:transparent;text-align:left;font-size:14px;font-weight:500;transition:all var(--transition-base);position:relative}.nav-item svg{flex-shrink:0;opacity:.7;transition:all var(--transition-base)}.nav-item:hover{color:#e2e8f0;background:#ffffff0f}.nav-item:hover svg{opacity:1}.nav-item.active{color:#fff;background:#6366f133;box-shadow:inset 0 0 0 1px #6366f14d}.nav-item.active svg{color:var(--primary-400);opacity:1;filter:drop-shadow(0 0 4px rgba(99,102,241,.5))}.workspace{min-width:0;padding:32px 36px;overflow-y:auto}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}h1,h2,p{margin:0}h1{color:var(--gray-900);font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.2}h2{color:var(--gray-900);font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.3}p{color:var(--gray-500);line-height:1.6;font-size:13.5px}.settings-strip{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,280px) auto;gap:12px;align-items:end;margin-bottom:20px;padding:18px 20px;border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-base)}.settings-strip:hover{box-shadow:var(--shadow-md)}label{display:grid;gap:7px}label span{color:var(--gray-600);font-size:12.5px;font-weight:600;letter-spacing:.01em}input,textarea,select{width:100%;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);padding:10px 13px;color:var(--gray-800);background:var(--gray-50);outline:none;font-size:14px;transition:all var(--transition-fast)}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--gray-400)}input:hover,textarea:hover,select:hover{border-color:var(--gray-300)}input:focus,textarea:focus,select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11f;background:var(--bg-surface)}.primary-button,.ghost-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:var(--radius-md);border:1.5px solid transparent;padding:0 16px;font-weight:600;font-size:13.5px;transition:all var(--transition-fast);letter-spacing:-.005em}.primary-button{color:#fff;background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-700) 100%);box-shadow:0 1px 2px #4f46e533,inset 0 1px #ffffff1a}.primary-button:hover{background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);box-shadow:0 4px 12px #4f46e54d,inset 0 1px #ffffff26;transform:translateY(-1px)}.primary-button:active{transform:translateY(0);box-shadow:0 1px 2px #4f46e533}.primary-button:disabled{cursor:wait;opacity:.5;transform:none;box-shadow:none}.ghost-button{color:var(--gray-700);border-color:var(--gray-200);background:var(--bg-surface)}.ghost-button:hover{border-color:var(--primary-300);color:var(--primary-700);background:var(--primary-50)}.icon-button{width:38px;padding:0;color:var(--gray-500);border-color:var(--gray-200);background:var(--bg-surface)}.icon-button:hover{color:var(--primary-600);border-color:var(--primary-300);background:var(--primary-50);box-shadow:var(--shadow-sm)}.icon-button.danger:hover{color:var(--danger-600);border-color:#ef44444d;background:var(--danger-50);box-shadow:0 1px 3px #ef44441a}.notice{margin-bottom:20px;border-radius:var(--radius-md);padding:12px 16px;font-weight:600;font-size:13.5px;animation:slideDown .3s cubic-bezier(.16,1,.3,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notice.success{color:var(--success-700);background:var(--success-50);border:1px solid rgba(16,185,129,.2)}.notice.error{color:var(--danger-700);background:var(--danger-50);border:1px solid rgba(239,68,68,.2)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.metric{min-height:96px;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:20px;background:var(--bg-surface);box-shadow:var(--shadow-card);transition:all var(--transition-base);position:relative;overflow:hidden}.metric:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-500),var(--primary-400));opacity:0;transition:opacity var(--transition-base)}.metric:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric:hover:before{opacity:1}.metric span,.metric strong{display:block}.metric span{color:var(--gray-500);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.metric strong{margin-top:12px;color:var(--gray-900);font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1}.content-grid{display:grid;grid-template-columns:minmax(340px,440px) minmax(0,1fr);gap:20px;align-items:start}.panel{border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:22px;background:var(--bg-surface);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-base)}.panel:hover{box-shadow:var(--shadow-md)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.form-panel{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:1fr;gap:12px}.wide-label{width:100%}.switch-row{display:flex;align-items:center;gap:10px}.switch-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-600);border-radius:4px;cursor:pointer}.switch-row span{color:var(--gray-700);font-size:14px;font-weight:500}.table-wrap{width:100%;overflow-x:auto;margin:0 -6px;padding:0 6px}table{width:100%;min-width:760px;border-collapse:collapse}th,td{border-bottom:1px solid var(--gray-100);padding:13px 12px;text-align:left;vertical-align:top}th{color:var(--gray-500);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding-bottom:10px}td strong,td small,td span{display:block}td strong{color:var(--gray-800);font-weight:600;font-size:13.5px}td small{margin-top:3px;color:var(--gray-400);font-size:12px;word-break:break-all}code{display:inline-block;max-width:340px;overflow:hidden;color:var(--primary-700);background:var(--primary-50);text-overflow:ellipsis;vertical-align:top;white-space:nowrap;padding:3px 8px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:12.5px;font-weight:500;border:1px solid rgba(99,102,241,.1)}.status-pill{width:fit-content;border-radius:var(--radius-full);padding:4px 10px;font-size:11.5px;font-weight:700;letter-spacing:.02em}.status-pill.enabled{color:var(--success-700);background:var(--success-50);border:1px solid rgba(16,185,129,.15)}.status-pill.disabled{color:var(--warning-600);background:var(--warning-50);border:1px solid rgba(245,158,11,.15)}.status-pill.error{color:var(--danger-700);background:var(--danger-50);border:1px solid rgba(239,68,68,.15)}.status-pill.pending{color:var(--primary-700);background:var(--primary-50);border:1px solid rgba(99,102,241,.15)}.actions{display:flex;gap:6px}.filter-row{display:grid;grid-template-columns:minmax(220px,360px);gap:12px;margin-bottom:16px}.empty-state{padding:40px 10px;color:var(--gray-400);text-align:center;font-size:14px;font-weight:500}.error-cell{max-width:340px;color:var(--danger-600);font-size:13px;word-break:break-word}.usage-panel{display:grid;gap:18px}.usage-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}pre{overflow:auto;margin:0;border-radius:var(--radius-lg);padding:20px;color:#e2e8f0;background:var(--bg-code);font-family:var(--font-mono);font-size:13px;line-height:1.7;border:1px solid rgba(99,102,241,.15);box-shadow:inset 0 2px 8px #0003}pre code{max-width:none;color:inherit;white-space:pre;background:none;border:none;padding:0;font-size:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@media (max-width: 1080px){.app-shell{grid-template-columns:1fr}.sidebar{padding:18px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}.brand{margin-bottom:0;margin-right:12px}.nav-list{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));flex:1}.nav-item{justify-content:center;min-height:40px;padding:0 8px;font-size:13px}.workspace{padding:20px}.settings-strip,.content-grid,.usage-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media (max-width: 560px){.nav-list,.metric-grid{grid-template-columns:1fr}.topbar{align-items:stretch}h1{font-size:22px}.workspace,.panel{padding:16px}}
