.points-billing{display:flex;flex-direction:column;gap:18px}.points-header,.points-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.points-header h2,.points-section-head h3{margin:0}.points-header p,.points-section-head p,.points-grant-modal p{margin:5px 0 0;color:var(--text-muted);font-size:13px}.points-header .btn,.points-section-head .btn{display:inline-flex;align-items:center;gap:6px}.points-error{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e1705540;border-radius:8px;color:#b34d37;background:#e1705510}.points-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.points-metrics article{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-secondary)}.points-metrics article svg{grid-row:1 / span 2;color:var(--accent)}.points-metrics span{color:var(--text-muted);font-size:12px}.points-metrics strong{font-size:21px}.points-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(420px,1.4fr);gap:16px}.points-accounts,.points-detail{padding:16px;min-height:420px}.points-search{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--border);border-radius:7px}.points-search input{width:118px;border:0;outline:0;background:transparent}.points-account-list{display:flex;flex-direction:column;gap:7px;margin-top:14px}.points-account-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer}.points-account-list button:hover,.points-account-list button.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.points-account-list span{display:flex;flex-direction:column;min-width:0}.points-account-list small,.points-ledger small{margin-top:4px;color:var(--text-muted)}.points-account-list b{white-space:nowrap;font-size:13px}.points-ledger{display:flex;flex-direction:column;margin-top:14px}.points-ledger article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.points-ledger article>span{display:flex;flex-direction:column}.points-ledger article>b{font-variant-numeric:tabular-nums}.points-ledger article>em{grid-column:3;color:var(--text-muted);font-size:11px;font-style:normal}.points-ledger .is-credit{color:#008b68}.points-ledger .is-debit{color:#c64f3a}.points-empty,.points-loading{padding:28px 10px;color:var(--text-muted);text-align:center}.points-loading{display:flex;align-items:center;justify-content:center;gap:8px}.points-grant-modal label{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-size:13px}.points-grant-modal input,.points-grant-modal select{padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--bg-secondary);color:inherit}@media(max-width:980px){.points-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.points-layout{grid-template-columns:1fr}}.agent-market{padding:20px 24px}.am-head{margin-bottom:20px}.am-head h2{margin:0 0 4px;font-size:18px}.am-sub{margin:0 0 12px;font-size:13px;color:var(--text-muted, #888)}.am-refresh{padding:6px 14px;border:1px solid var(--border, #ddd);border-radius:8px;background:transparent;color:var(--text-primary, #333);font-size:13px;cursor:pointer}.am-refresh:disabled{opacity:.6;cursor:not-allowed}.am-error{padding:10px 14px;margin-bottom:16px;border-radius:8px;background:color-mix(in srgb,var(--danger, #e5484d) 12%,transparent);color:var(--danger, #e5484d);font-size:13px}.am-empty{padding:48px 20px;text-align:center;color:var(--text-muted, #888);font-size:14px}.am-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.am-card{padding:16px;border:1px solid var(--border, #e5e5e5);border-radius:12px;background:var(--bg-elevated, #fff)}.am-card.off{opacity:.7}.am-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.am-name{font-size:15px;font-weight:600}.am-state{font-size:12px;padding:2px 10px;border-radius:999px}.am-state.on{background:color-mix(in srgb,var(--success, #30a46c) 15%,transparent);color:var(--success, #30a46c)}.am-state.off{background:var(--bg-secondary, #f0f0f0);color:var(--text-muted, #888)}.am-meta{display:flex;gap:8px;margin-bottom:10px}.am-platform,.am-model{font-size:12px;padding:2px 8px;border-radius:6px;background:var(--bg-secondary, #f4f4f4);color:var(--text-secondary, #666)}.am-desc{margin:0 0 10px;font-size:13px;line-height:1.6;color:var(--text-secondary, #555)}.am-caps{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.am-cap{font-size:12px;padding:2px 10px;border-radius:999px;background:var(--bg-secondary, #f0f0f0);color:var(--text-secondary, #666)}.am-tenants{font-size:12px;color:var(--text-muted, #999);margin-bottom:12px}.am-actions{display:flex;gap:8px}.am-btn{padding:6px 14px;border:1px solid var(--border, #ddd);border-radius:8px;background:transparent;color:var(--text-primary, #333);font-size:13px;cursor:pointer}.am-btn:hover{background:var(--bg-secondary, #f4f4f4)}.am-btn.primary{background:var(--accent, #6366f1);color:#fff;border-color:transparent}.am-btn.danger{color:var(--danger, #e5484d)}.am-edit{display:flex;flex-direction:column;gap:6px}.am-edit label{font-size:12px;color:var(--text-muted, #888);margin-top:6px}.am-edit textarea,.am-edit input{padding:8px 10px;border:1px solid var(--border, #ddd);border-radius:8px;background:var(--bg-input, #fafafa);color:var(--text-primary, #333);font-size:13px;font-family:inherit;resize:vertical}.am-edit-actions{display:flex;gap:8px;margin-top:10px}.am-distribute{display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--bg-soft, #f6f7f9);border-radius:6px}.am-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-primary, #333);cursor:pointer;-webkit-user-select:none;user-select:none}.am-check input[type=checkbox]{margin:0;cursor:pointer}.am-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 0}.am-groups-col{display:flex;flex-direction:column;gap:4px}.am-groups-title{font-size:12px;font-weight:600;color:var(--text-mute, #888);padding:2px 0 4px;border-bottom:1px solid var(--border, #e5e5e5);margin-bottom:4px}.agent-builder{padding:20px 24px;max-width:980px}.ab-head{margin-bottom:20px}.ab-head h2{margin:0 0 4px;font-size:18px;display:flex;align-items:center;gap:8px}.ab-sub{margin:0;font-size:13px;color:var(--text-muted, #888);line-height:1.6}.ab-form-card{border:1px solid var(--border, #e5e5e5);border-radius:12px;padding:20px;margin-bottom:24px;background:var(--bg-secondary, #fafafa)}.ab-form-title{margin:0 0 16px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px}.ab-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px}.ab-field{display:flex;flex-direction:column;gap:6px}.ab-field-full{grid-column:1 / -1}.ab-field label{font-size:12px;color:var(--text-muted, #888);display:flex;align-items:center;gap:4px}.ab-required{color:var(--danger, #e5484d)}.ab-field input,.ab-field select,.ab-field textarea{padding:8px 10px;border:1px solid var(--border, #ddd);border-radius:8px;font-size:13px;background:var(--bg-primary, #fff);color:var(--text-primary, #333);font-family:inherit}.ab-field textarea{resize:vertical;min-height:56px}.ab-field input:focus,.ab-field select:focus,.ab-field textarea:focus{outline:none;border-color:var(--accent, #6366f1)}.ab-hint{font-size:11px;color:var(--text-faint, #aaa)}.ab-actions{display:flex;gap:10px;margin-top:18px;align-items:center}.ab-btn{padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer;border:1px solid var(--border, #ddd);background:var(--bg-primary, #fff);color:var(--text-primary, #333);display:inline-flex;align-items:center;gap:6px}.ab-btn:hover:not(:disabled){background:var(--bg-tertiary, #f0f0f0)}.ab-btn:disabled{opacity:.55;cursor:not-allowed}.ab-btn-primary{background:var(--accent, #6366f1);border-color:var(--accent, #6366f1);color:#fff}.ab-btn-primary:hover:not(:disabled){background:var(--accent, #6366f1);filter:brightness(1.06)}.ab-banner{margin-top:14px;padding:10px 14px;border-radius:8px;font-size:13px;display:flex;align-items:flex-start;gap:8px;line-height:1.5}.ab-banner-ok{background:color-mix(in srgb,var(--success, #16a34a) 10%,transparent);color:var(--success, #16a34a)}.ab-banner-err{background:color-mix(in srgb,var(--danger, #e5484d) 10%,transparent);color:var(--danger, #e5484d)}.ab-banner code{background:#0000000f;padding:1px 5px;border-radius:4px;font-size:12px}.ab-list-head{margin:0 0 12px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px}.ab-list-empty{padding:32px 20px;text-align:center;color:var(--text-muted, #888);font-size:13px;border:1px dashed var(--border, #ddd);border-radius:12px}.ab-table{width:100%;border-collapse:collapse;font-size:13px}.ab-table th,.ab-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border, #eee);vertical-align:middle}.ab-table th{color:var(--text-muted, #888);font-weight:500;font-size:12px}.ab-table tr:hover td{background:var(--bg-tertiary, #fafafa)}.ab-platform-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;background:#6366f11a;color:var(--accent, #6366f1);border:1px solid rgba(99,102,241,.2);white-space:nowrap}.ab-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}.ab-status-on{color:var(--success, #16a34a)}.ab-status-off{color:var(--text-faint, #aaa)}.ab-test-btn{padding:4px 10px;border-radius:6px;font-size:12px;cursor:pointer;border:1px solid var(--border, #ddd);background:transparent;color:var(--text-primary, #333);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.ab-test-btn:hover:not(:disabled){background:var(--bg-tertiary, #f0f0f0)}.ab-test-btn:disabled{opacity:.5;cursor:not-allowed}.ab-test-result{margin-top:6px;padding:8px 10px;border-radius:6px;font-size:12px;line-height:1.5;word-break:break-all}.ab-test-result-ok{background:color-mix(in srgb,var(--success, #16a34a) 8%,transparent);color:var(--success, #16a34a)}.ab-test-result-err{background:color-mix(in srgb,var(--danger, #e5484d) 8%,transparent);color:var(--danger, #e5484d)}:root{--accent: #6366f1;--accent-hover: #818cf8;--accent-dim: rgba(99, 102, 241, .12);--accent-glow: rgba(99, 102, 241, .25);--bg-primary: #f5f6fa;--bg-secondary: #ffffff;--bg-tertiary: #f0f1f5;--bg-hover: rgba(0,0,0,.03);--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--border: #e5e7eb;--border-strong: #d1d5db;--success: #22c55e;--danger: #ef4444;--warning: #f59e0b;--info: #3b82f6;--radius: 12px;--radius-sm: 8px;--radius-xs: 4px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.1);--btn-text: #ffffff;--ease-out: cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;color:var(--text-primary);background:var(--bg-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary)}.login-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:40px;width:380px;box-shadow:var(--shadow)}.login-box h1{font-size:20px;margin-bottom:28px;text-align:center;color:var(--text-primary);font-weight:700;letter-spacing:-.01em}.login-box label{display:block;margin-bottom:6px;font-size:13px;color:var(--text-secondary);font-weight:500}.login-box input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px;outline:none;color:var(--text-primary);background:var(--bg-secondary);transition:border-color .2s ease}.login-box input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.login-box .error{color:var(--danger);font-size:13px;margin-bottom:12px}.login-box button{width:100%;padding:11px;background:var(--accent);color:var(--btn-text);border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s ease}.login-box button:hover{background:var(--accent-hover)}.login-box .login-tabs{display:flex;margin-bottom:20px;border-bottom:1px solid var(--border)}.login-box .login-tabs button{flex:1;padding:10px;background:transparent;color:var(--text-secondary);border:none;border-bottom:2px solid transparent;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.login-box .login-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.layout{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border);padding:20px 0;display:flex;flex-direction:column}.sidebar h2{font-size:16px;font-weight:700;padding:0 20px 16px;border-bottom:1px solid var(--border);margin-bottom:8px;color:var(--text-primary);letter-spacing:-.01em}.sidebar a{display:block;padding:10px 20px;color:var(--text-secondary);text-decoration:none;font-size:14px;border-left:3px solid transparent;cursor:pointer;transition:all .15s ease}.sidebar a:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar a.active{background:var(--accent-dim);color:var(--accent);border-left-color:var(--accent);font-weight:500}.sidebar .logout{padding:14px 20px;color:var(--text-muted);font-size:13px;cursor:pointer;border-top:1px solid var(--border);margin-top:auto;transition:color .15s ease}.sidebar .logout:hover{color:var(--danger)}.sidebar-group{margin-bottom:4px}.sidebar-group-title{display:flex;align-items:center;gap:6px;padding:10px 20px;font-size:16px;font-weight:700;color:var(--text-primary);letter-spacing:.02em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease}.sidebar-group-title:hover{color:var(--text-primary)}.sidebar-group-arrow{font-size:10px;transition:transform .15s ease;width:12px;text-align:center;flex-shrink:0}.sidebar-group-children{overflow:hidden}.sidebar a{padding-left:28px}.content{flex:1;padding:32px;overflow-y:auto}.content h2{font-size:20px;font-weight:700;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--border);color:var(--text-primary);letter-spacing:-.01em}.content h3{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:center;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.stat-card:hover{box-shadow:var(--shadow)}.stat-card .label{font-size:12px;color:var(--text-muted);margin-bottom:8px;font-weight:500}.stat-card .value{font-size:28px;font-weight:700;color:var(--text-primary)}table{width:100%;border-collapse:collapse;margin-bottom:24px}th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px}th{background:var(--bg-tertiary);font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);font-size:12px;text-transform:uppercase;letter-spacing:.03em}tr:hover td{background:var(--bg-hover)}.badge{display:inline-block;padding:3px 10px;font-size:12px;border-radius:var(--radius-xs);font-weight:500}.badge-active{background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.2)}.badge-suspended{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.badge-deleted{background:#6b72801a;color:#6b7280;border:1px solid rgba(107,114,128,.2)}.badge-free{background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.2)}.badge-pro{background:#8b5cf61a;color:#7c3aed;border:1px solid rgba(139,92,246,.2)}.badge-enterprise{background:#f59e0b1a;color:#d97706;border:1px solid rgba(245,158,11,.2)}.badge-exhausted{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s ease}.btn:hover{background:var(--bg-tertiary);border-color:var(--border-strong)}.btn-sm{padding:5px 12px;font-size:12px}.btn-danger{color:var(--danger);border-color:#ef44444d}.btn-danger:hover{background:#ef444414;border-color:var(--danger);color:var(--danger)}.btn-primary{background:var(--accent);color:var(--btn-text);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:32px;width:480px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal h3{font-size:16px;font-weight:600;margin-bottom:20px;padding-bottom:8px;border-bottom:1px solid var(--border)}.modal label{display:block;margin-bottom:6px;font-size:13px;color:var(--text-secondary);font-weight:500}.modal input,.modal select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:16px;font-size:13px;outline:none;color:var(--text-primary);background:var(--bg-secondary);transition:border-color .2s ease}.modal input:focus,.modal select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.modal .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:24px}.form-row{display:flex;gap:16px;margin-bottom:16px;align-items:center}.form-row label{margin-bottom:0;margin-right:4px;white-space:nowrap}.pagination{display:flex;gap:8px;align-items:center;margin-top:16px}.pagination span{font-size:13px;color:var(--text-muted)}.toast{position:fixed;top:20px;right:20px;padding:12px 24px;border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border);font-size:14px;z-index:200;box-shadow:var(--shadow);cursor:pointer}.toast-success{border-color:var(--success);color:var(--success)}.toast-error{border-color:var(--danger);color:var(--danger)}.sub-tabs{display:flex;gap:8px;margin-bottom:24px}.sub-content{margin-top:16px}.subtitle{color:var(--text-muted);font-size:13px;margin-top:-16px;margin-bottom:20px}.label-desc{color:var(--text-muted);font-size:12px}.empty{color:var(--text-muted);padding:40px 0;text-align:center}textarea{font-family:Courier New,monospace;resize:vertical}.pipeline-preview{display:flex;gap:0;align-items:center;margin-bottom:24px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px;overflow-x:auto;background:var(--bg-secondary)}.pipeline-step{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:8px 16px;font-size:13px}.pipeline-step:after{content:"→";margin-left:8px;color:var(--text-muted)}.pipeline-step:last-child:after{content:""}.step-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.color-swatch{display:inline-block;width:16px;height:16px;vertical-align:middle;margin-right:4px;border:1px solid var(--border);border-radius:var(--radius-xs)}code{background:var(--bg-tertiary);padding:1px 6px;border:1px solid var(--border);font-size:12px;border-radius:var(--radius-xs)}.info-box{border:1px solid var(--border);border-radius:var(--radius-sm);padding:24px;background:var(--bg-secondary);line-height:1.8;font-size:14px}.info-box p,.info-box ul,.info-box ol{margin-bottom:8px}.connector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:24px}.connector-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:box-shadow .2s ease,border-color .2s ease}.connector-card:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}.connector-layout{display:grid;grid-template-columns:320px 1fr;gap:16px}.connector-tenant-list{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.connector-tenant-item{padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.connector-tenant-item:hover{background:var(--bg-hover, rgba(0,0,0,.04))}.connector-tenant-item.active{background:var(--bg-active, rgba(108,92,231,.08));border-left:3px solid var(--accent, #6c5ce7)}.connector-tenant-item .name{font-weight:600;margin-bottom:4px}.connector-tenant-item .summary{font-size:12px;color:var(--text-secondary);display:flex;gap:12px;flex-wrap:wrap}.connector-detail{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:20px;min-height:400px}.admin-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.workspace-container{display:flex;flex-direction:column;height:calc(100vh - 100px);gap:0}.workspace-empty{padding:60px 0;text-align:center}.workspace-empty h2{border-bottom:none;margin-bottom:12px}.workspace-empty p{color:var(--text-muted);margin-bottom:20px}.workspace-topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.workspace-project-select{display:flex;align-items:center;gap:8px;font-size:13px}.workspace-project-select select{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-xs);font-size:13px;background:var(--bg-secondary)}.workspace-topbar-actions{display:flex;gap:8px}.workspace-main{display:flex;flex:1;overflow:hidden;border:1px solid var(--border);border-top:none}.workspace-files{width:220px;flex-shrink:0;background:var(--bg-tertiary);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.workspace-files-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);background:var(--bg-secondary)}.workspace-file-list{flex:1;overflow-y:auto;padding:4px 0}.workspace-file-item{display:flex;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;font-size:13px;transition:background .1s ease;color:var(--text-secondary)}.workspace-file-item:hover{background:var(--bg-hover);color:var(--text-primary)}.workspace-file-item.active{background:var(--accent-dim);color:var(--accent)}.workspace-file-icon{font-size:10px;font-weight:700;width:20px;text-align:center;flex-shrink:0;opacity:.6}.workspace-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-file-del{display:none;font-size:11px;padding:0 4px;color:var(--text-muted);cursor:pointer}.workspace-file-item:hover .workspace-file-del{display:inline}.workspace-file-del:hover{color:var(--danger)}.workspace-editor{flex:1;display:flex;flex-direction:column;overflow:hidden}.workspace-editor-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;font-size:12px;color:var(--text-muted);background:var(--bg-secondary);border-bottom:1px solid var(--border)}.workspace-editor-body{flex:1;overflow:auto}.workspace-editor-body .cm-editor{height:100%}.workspace-editor-body .cm-scroller{overflow:auto;font-family:Cascadia Code,Fira Code,JetBrains Mono,Consolas,monospace;font-size:13px;line-height:1.6}.workspace-ai{width:320px;flex-shrink:0;border-left:1px solid var(--border);background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden}.workspace-ai-header{padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border)}.workspace-ai-presets{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border)}.workspace-ai-presets .btn{font-size:11px;padding:3px 8px}.workspace-ai-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.workspace-ai-msg{display:flex;gap:8px;font-size:13px;line-height:1.6}.workspace-ai-msg-role{width:24px;height:24px;border-radius:50%;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.workspace-ai-msg-user .workspace-ai-msg-role{background:var(--bg-tertiary);color:var(--text-secondary)}.workspace-ai-msg-content{flex:1;white-space:pre-wrap;word-break:break-word}.workspace-ai-insert-btn{display:block;margin-top:6px;font-size:11px;padding:2px 10px}.workspace-ai-typing{color:var(--text-muted);font-style:italic}.workspace-ai-input{padding:8px 12px;border-top:1px solid var(--border);display:flex;gap:8px}.workspace-ai-input textarea{flex:1;padding:8px;border:1px solid var(--border);border-radius:var(--radius-xs);font-size:13px;font-family:inherit;resize:none;outline:none}.workspace-ai-input textarea:focus{border-color:var(--accent)}.workspace-ai-input .btn{align-self:flex-end}.workspace-bottom{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm)}.workspace-bottom-hint{font-size:12px;color:var(--text-muted)}.workspace-bottom-actions{display:flex;gap:8px}.btn-disabled{opacity:.5;cursor:not-allowed}.workspace-editor-tabs{display:flex;gap:2px;background:var(--bg-tertiary);border-radius:var(--radius-xs);padding:2px}.workspace-editor-tab{padding:4px 14px;font-size:12px;font-weight:500;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;transition:all .15s ease;font-family:inherit}.workspace-editor-tab:hover{color:var(--text-primary);background:#0000000a}.workspace-editor-tab.active{background:var(--bg-secondary);color:var(--accent);box-shadow:0 1px 2px #0000000f}.workspace-type-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;font-size:9px;font-weight:700;background:var(--accent-dim);color:var(--accent);margin-right:6px}.cli-container{flex:1;display:flex;flex-direction:column;background:#1a1b26;color:#a9b1d6;font-family:Cascadia Code,Fira Code,JetBrains Mono,Consolas,Courier New,monospace;font-size:13px;border:1px solid var(--border);border-top:none}.cli-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#24253a;border-bottom:1px solid #32344a}.cli-header-left{display:flex;align-items:center;gap:12px}.cli-title{font-size:12px;font-weight:600;color:#7aa2f7}.cli-model-select{background:#1a1b26;color:#a9b1d6;border:1px solid #32344a;border-radius:4px;padding:3px 8px;font-size:11px;font-family:inherit;cursor:pointer}.cli-model-select:focus{outline:none;border-color:#7aa2f7}.cli-model-status{font-size:11px}.cli-call-count{font-size:11px;color:#565f89}.cli-history{flex:1;overflow-y:auto;padding:12px 16px;line-height:1.6}.cli-entry{margin-bottom:4px;display:flex;gap:4px}.cli-entry-command{color:#c0caf5}.cli-entry-result{color:#9ece6a}.cli-entry-error{color:#f7768e}.cli-entry-system{color:#565f89;font-style:italic}.cli-prompt{color:#7aa2f7;font-weight:700;-webkit-user-select:none;user-select:none;flex-shrink:0}.cli-result-marker,.cli-error-marker,.cli-system-marker{flex-shrink:0;-webkit-user-select:none;user-select:none}.cli-result-marker{color:#9ece6a}.cli-error-marker{color:#f7768e}.cli-system-marker{color:#565f89}.cli-entry-text{white-space:pre-wrap;word-break:break-word}.cli-input-area{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#24253a;border-top:1px solid #32344a}.cli-input-area .cli-prompt{font-size:14px}.cli-input{flex:1;background:transparent;border:none;color:#c0caf5;font-size:13px;font-family:inherit;outline:none}.cli-input::placeholder{color:#565f89}.ops-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;padding:0 5px;font-size:10px;font-weight:700;background:var(--accent-dim);color:var(--accent);margin-left:4px}.ops-badge-danger{background:#ef444426;color:#dc2626}.ops-alert-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.ops-alert-item:last-child{border-bottom:none}.ops-alert-severity{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ops-alert-type{font-size:11px;font-weight:600;width:36px;flex-shrink:0;color:var(--text-muted)}.ops-alert-title{flex:1;font-weight:500}.ops-alert-source{color:var(--text-muted);font-size:12px;width:80px}.ops-alert-time{color:var(--text-muted);font-size:12px;width:140px;text-align:right}
