:root{--bg:#fff;--bg-sidebar:#f7f8fa;--bg-input:#fff;--bg-bubble-ai:#f1f3f5;--bg-bubble-user:#04152b;--text:#1b2b3a;--text-muted:#64748b;--text-h:#04152b;--text-on-accent:#fff;--text-on-bubble-user:#fff;--border:#e2e6eb;--accent:#f6821f;--accent-hover:#e2740f;--accent-bg:#f6821f1f;--accent-border:#f6821f73;--navy:#04152b;--success:#16a34a;--danger:#dc2626;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:15px/1.5 var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0a1420;--bg-sidebar:#04101c;--bg-input:#0f1e2e;--bg-bubble-ai:#132437;--bg-bubble-user:#1e3a5c;--text:#dbe4ec;--text-muted:#8695a7;--text-h:#f5f8fa;--text-on-accent:#04152b;--text-on-bubble-user:#f5f8fa;--border:#1c2e42;--accent:#f6821f;--accent-hover:#ff9640;--accent-bg:#f6821f29;--accent-border:#f6821f80;--navy:#04152b;--success:#4ade80;--danger:#f87171}}*{box-sizing:border-box}body{margin:0}#root{width:100%;height:100svh}.console-root{flex-direction:column;height:100%;min-height:0;display:flex}.admin-view-banner{background:var(--accent-bg);color:var(--accent);border-bottom:1px solid var(--border);flex:none;justify-content:center;align-items:center;gap:16px;padding:8px 16px;font-size:13px;display:flex}.admin-view-banner button{font:inherit;color:var(--accent);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:6px;padding:3px 10px}.shell{flex:1;min-height:0;display:flex}.login-screen{grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:100%;display:grid}@media (width<=860px){.login-screen{grid-template-columns:1fr}.login-hero{display:none}}.login-hero{align-items:flex-end;display:flex;position:relative;overflow:hidden}.login-hero-svg{width:100%;height:100%;position:absolute;inset:0}.login-hero-copy{z-index:1;color:#f5f8fa;max-width:440px;padding:48px;position:relative}.login-hero-copy h2{letter-spacing:-.01em;margin:0 0 12px;font-size:28px;font-weight:700;line-height:1.25}.login-hero-copy p{color:#f5f8fabf;margin:0;font-size:14px;line-height:1.6}.login-panel{justify-content:center;align-items:center;padding:24px;display:flex}.login-card{flex-direction:column;gap:20px;width:100%;max-width:380px;display:flex}.login-brand{align-items:center;gap:10px;display:flex}.login-form{flex-direction:column;gap:14px;display:flex}.turnstile-container{margin:14px 0 0}.turnstile-container:empty{margin:0}.login-title{color:var(--text-h);letter-spacing:-.01em;margin:4px 0 0;font-size:22px;font-weight:700}.login-subtitle{color:var(--text-muted);margin:-6px 0 4px;font-size:13px;line-height:1.5}.login-card .field input{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:9px 12px}.login-card .field input:focus{outline:2px solid var(--accent-border);outline-offset:1px}.otp-input{font-family:var(--mono);letter-spacing:.4em;text-align:center;font-size:22px}.login-error{color:var(--danger);margin:0;font-size:13px}.login-submit{font:inherit;color:var(--text-on-accent);background:var(--accent);cursor:pointer;border:none;border-radius:10px;padding:10px 18px;font-weight:600}.login-submit:hover:not(:disabled){background:var(--accent-hover)}.login-submit:disabled{opacity:.6;cursor:default}.login-links{justify-content:space-between;align-items:center;margin-top:-4px;display:flex}.login-link{font:inherit;color:var(--text-muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.login-link:hover{color:var(--accent)}.context-list{flex-direction:column;gap:8px;display:flex}.context-card{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.context-card:hover{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.context-card-arrow{color:var(--text-muted)}.api-status{font-size:11px;font-family:var(--mono);color:var(--text-muted);align-items:center;gap:6px;display:flex}.api-status-dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px}.api-status-online .api-status-dot{background:#2ecc71}.api-status-offline .api-status-dot{background:#e74c3c}.session-bar{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;padding-top:12px;font-size:12px;display:flex}.logout-btn{font:inherit;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:3px 8px}.admin-sidebar{gap:14px}.admin-summary{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding-bottom:12px;display:flex}.admin-total{font-size:22px;font-weight:700}.admin-total-sub{color:var(--text-muted);font-size:11px}.tree{flex-direction:column;flex:1;gap:1px;display:flex;overflow-y:auto}.tree-row{width:100%;font:inherit;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;display:flex}.tree-row:hover{background:var(--accent-bg)}.tree-row.selected{background:var(--accent-bg);color:var(--accent);font-weight:600}.tree-row-project{padding-left:22px}.tree-row-env{padding-left:38px;font-size:12px}.tree-caret{width:10px;color:var(--text-muted);flex:none;font-size:10px}.tree-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-cost{font-family:var(--mono);color:var(--text-muted);flex:none;font-size:11px}.admin-main{overflow-y:auto}.admin-detail{padding:24px}.detail-card{flex-direction:column;gap:20px;max-width:640px;display:flex}.detail-grid{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.detail-grid dt{color:var(--text-muted);font-size:12px}.detail-grid dd{margin:0;font-size:14px}.detail-table{border-collapse:collapse;width:100%;font-size:13px}.detail-table th,.detail-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}.detail-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.tag-editor{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:16px;display:flex}.tag-editor-loading{color:var(--text-muted);font-size:13px}.chargeback-toggle{border:1px solid var(--border);border-radius:8px;width:fit-content;display:inline-flex;overflow:hidden}.chargeback-toggle button{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:13px}.chargeback-toggle button.active{background:var(--accent);color:var(--text-on-accent)}.tag-chips{flex-wrap:wrap;gap:6px;display:flex}.tag-chips-empty{color:var(--text-muted);font-size:13px}.tag-chip{font-family:var(--mono);background:var(--accent-bg);color:var(--accent);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;display:inline-flex}.tag-chip.removable button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;line-height:1}.tag-add-row{gap:8px;display:flex}.tag-add-row input{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:8px;flex:1;padding:6px 10px;font-size:13px}.tag-add-row button{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:13px}.chargeback-pill{font-family:var(--mono);border-radius:999px;padding:2px 9px;font-size:11px}.chargeback-pill-chargeback{background:var(--accent-bg);color:var(--accent)}.chargeback-pill-showback{background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border)}.finops{flex-direction:column;gap:16px;max-width:900px;display:flex}.finops-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.finops-filters input{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px}.finops-refresh{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);cursor:pointer;border-radius:8px;height:fit-content;padding:8px 14px;font-size:13px}.finops-empty{text-align:center;color:var(--text-muted);padding:20px}.finops-total{color:var(--text-muted);font-size:13px;font-family:var(--mono)}.finops-send{border:1px solid var(--border);background:var(--bg-sidebar);border-radius:12px;flex-direction:column;gap:10px;padding:18px;display:flex}.finops-send h2{margin:0;font-size:15px}.finops-send input{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px}.finops-send-note{color:var(--text-muted);margin:0;font-size:12px}.finops-send-btn{font:inherit;color:var(--text-on-accent);background:var(--accent);cursor:pointer;border:none;border-radius:10px;align-self:flex-start;padding:9px 16px;font-weight:600}.finops-error{color:#e74c3c;margin:0;font-size:13px}.finops-success{color:#2ecc71;margin:0;font-size:13px}.finops-search{flex:1;min-width:220px}.finops-search input{width:100%;font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px}.finops-edit-btn{font:inherit;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:4px 10px;font-size:12px}.finops-edit-btn:hover{border-color:var(--accent-border);color:var(--accent)}.finops-edit-btn:disabled{opacity:.4;cursor:default}.ledger-table-wrap{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.ledger-table{border-collapse:collapse;width:100%;font-size:13px}.ledger-table thead th{z-index:1;text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;background:var(--bg-sidebar);border-bottom:1px solid var(--border);padding:10px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.ledger-col-check{width:36px}.ledger-col-cost{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ledger-col-actions{white-space:nowrap;width:1%}.ledger-col-super{width:120px}.ledger-muted{color:var(--text-muted)}.ledger-data-row td{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 12px}.ledger-data-row:hover td{background:var(--accent-bg)}.ledger-data-row:last-child td{border-bottom:none}.ledger-group-row td{border-bottom:1px solid var(--border);background:var(--bg-sidebar);cursor:pointer;-webkit-user-select:none;user-select:none;padding:0}.ledger-group-inner{align-items:baseline;gap:8px;padding:8px 12px;display:flex}.ledger-group-row:hover td{background:var(--accent-bg)}.ledger-group-caret{color:var(--text-muted);flex:none;width:10px;font-size:10px}.ledger-group-label{color:var(--text-h);font-weight:700}.ledger-group-count{color:var(--text-muted);font-size:11px}.ledger-group-total{font-family:var(--mono);color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.ledger-group-depth-0 .ledger-group-label{font-size:14px}.ledger-group-depth-1 .ledger-group-inner{padding-left:30px}.ledger-group-depth-1 .ledger-group-label{font-size:13px;font-weight:600}.ledger-group-depth-2 td{background:0 0}.ledger-group-depth-2 .ledger-group-inner{padding-left:48px}.ledger-group-depth-2 .ledger-group-label{color:var(--text-muted);font-size:12.5px;font-weight:500}.tag-chip-row{flex-wrap:wrap;gap:4px;display:flex}.finops-export{border-top:1px solid var(--border);align-items:center;gap:14px;padding-top:12px;display:flex}.create-asset-form{gap:12px}.create-asset-form h2{margin:0;font-size:15px}.tree-search-row{align-items:flex-end;gap:6px;display:flex}.tree-search-row .tree-search{flex:1}.tree-search input,.documents-search{width:100%;font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);box-sizing:border-box;border-radius:8px;padding:7px 9px;font-size:13px}.impersonate-btn{font:inherit;color:var(--text-on-accent);background:var(--accent);cursor:pointer;border:none;border-radius:10px;align-self:flex-start;padding:9px 16px;font-weight:600}.impersonate-row{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.impersonate-note{color:var(--text-muted);max-width:480px;font-size:11px;line-height:1.5}.inline-create-form{border:1px solid var(--border);background:var(--bg-sidebar);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.inline-create-form-row{flex-flow:wrap;align-items:center}.inline-create-form-row input,.inline-create-form-row select{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:8px;flex:1;min-width:140px;padding:7px 10px;font-size:13px}.new-tenant-btn{align-self:flex-start}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;flex:none;gap:20px;width:260px;padding:20px 16px;display:flex;overflow-y:auto}.brand{align-items:center;gap:10px;display:flex}.brand-mark{font-family:var(--mono);letter-spacing:.06em;color:var(--text-on-accent);background:var(--accent);border-radius:6px;padding:4px 7px;font-size:13px;font-weight:700}.brand-name{font-size:14px;font-weight:600}.field{flex-direction:column;gap:6px;display:flex}.field-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.field select{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.nav{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding-top:4px;display:flex}.nav-item{font:inherit;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:9px 10px;display:flex}.nav-item:hover:not(.disabled){background:var(--accent-bg)}.nav-item.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.nav-item.disabled{color:var(--text-muted);cursor:default}.phase-tag{font-family:var(--mono);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:1px 6px;font-size:10px}.documents{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;display:flex}.documents-header{justify-content:space-between;align-items:center;display:flex}.upload-btn{font:inherit;color:var(--text-muted);border:1px dashed var(--border);cursor:not-allowed;background:0 0;border-radius:6px;padding:3px 8px;font-size:12px}.documents-empty{color:var(--text-muted);margin:0;font-size:13px}.documents-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.documents-list li{background:var(--bg-input);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:6px 8px;overflow:hidden}.main{flex-direction:column;flex:1;min-width:0;display:flex}.chat-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.chat-header h1{margin:0;font-size:18px;font-weight:600}.chat-subtitle{color:var(--text-muted);font-size:12px}.mock-badge{font-family:var(--mono);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:11px}.chat-log{flex-direction:column;flex:1;gap:12px;padding:24px;display:flex;overflow-y:auto}.bubble{white-space:pre-wrap;border-radius:12px;max-width:640px;padding:10px 14px;font-size:14px;line-height:1.5}.bubble-ai,.bubble-assistant{background:var(--bg-bubble-ai);color:var(--text);border-bottom-left-radius:2px;align-self:flex-start}.bubble-user{background:var(--bg-bubble-user);color:var(--text-on-bubble-user);border-bottom-right-radius:2px;align-self:flex-end}.chat-input{border-top:1px solid var(--border);gap:10px;padding:16px 24px;display:flex}.chat-input input{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:10px;flex:1;padding:10px 14px}.chat-input button{font:inherit;color:var(--text-on-accent);background:var(--accent);cursor:pointer;border:none;border-radius:10px;padding:10px 18px;font-weight:600}.chat-input button:hover{opacity:.9}.planner-chat{border:1px solid var(--border);background:var(--bg-panel,var(--bg));border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.planner-chat-log{max-height:360px;padding:16px}.planner-chat-version-tag{color:var(--accent);white-space:nowrap;margin-left:6px;font-size:12px;font-weight:600;display:inline-block}.user-mgmt-actions{gap:6px;display:flex}.user-mgmt-super-toggle{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.user-mgmt-access-list{flex-direction:column;gap:8px;display:flex}.user-mgmt-access-row{align-items:center;gap:8px;display:flex}.user-mgmt-access-row select{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:8px;flex:1;padding:7px 9px;font-size:13px}.user-mgmt-access-row button{font:inherit;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;width:28px;height:28px;font-size:16px;line-height:1}.user-mgmt-add-access{align-self:flex-start}.user-mgmt-form-actions{gap:10px;display:flex}.planner-intro{border:1px solid var(--border);background:var(--bg-sidebar);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.planner-intro p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.planner-admin-summary{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:12px;display:flex}.planner-preview-narrative{color:var(--text);margin:0;font-size:13px;line-height:1.5}.planner-preview-total{color:var(--text-h);margin:4px 0 0;font-size:14px;font-weight:700}.planner-preview-section{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding:12px 0;display:flex}.planner-preview-section:first-child{border-top:none;padding-top:0}.planner-preview-pricing-note{color:var(--text-muted);margin:0;font-size:12px;font-style:italic}.planner-diagram-img{border:1px solid var(--border);background:#fff;border-radius:6px;max-width:100%}
