*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=light]{--bg-primary: #f4f6f8;--bg-secondary: #ffffff;--bg-tertiary: #eceff3;--bg-input: #ffffff;--border: #d8dee6;--border-focus: #0f766e;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--accent: #0f766e;--accent-hover: #115e59;--accent-subtle: rgba(15, 118, 110, .08);--accent-contrast: #ffffff;--accent-light: #0f766e;--success: #047857;--warning: #b45309;--error: #b91c1c;--chart-1: #0f766e;--chart-2: #1d4ed8;--chart-3: #b45309;--chart-4: #be185d;--chart-5: #047857;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow: 0 8px 24px rgba(15, 23, 42, .08);--nav-height: 60px;--font-size: 15px;--radius: 10px;--radius-sm: 6px;--bg: var(--bg-primary);--surface: var(--bg-secondary);--surface-hover: var(--bg-tertiary);--text: var(--text-primary);--font-sans: "IBM Plex Sans", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, sans-serif;--font-mono: "IBM Plex Mono", "JetBrains Mono", "Fira Code", "Consolas", monospace;color-scheme:light}[data-theme=dark]{--bg-primary: #0c1118;--bg-secondary: #151b24;--bg-tertiary: #1c2430;--bg-input: #121821;--border: #2a3441;--border-focus: #2dd4bf;--text-primary: #e8eef4;--text-secondary: #9aa8b8;--text-muted: #6b7a8d;--accent: #2dd4bf;--accent-hover: #5eead4;--accent-subtle: rgba(45, 212, 191, .12);--accent-contrast: #042f2e;--accent-light: #5eead4;--success: #34d399;--warning: #fbbf24;--error: #f87171;--chart-1: #2dd4bf;--chart-2: #60a5fa;--chart-3: #fbbf24;--chart-4: #f472b6;--chart-5: #34d399;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow: 0 8px 28px rgba(0, 0, 0, .4);--bg: var(--bg-primary);--surface: var(--bg-secondary);--surface-hover: var(--bg-tertiary);--text: var(--text-primary);color-scheme:dark}html,body,#root{height:100%;width:100%;background:var(--bg-primary)}body{font-family:var(--font-sans);font-size:var(--font-size);background:var(--bg-primary);color:var(--text-primary);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;flex-direction:column;height:100%;width:100%;max-width:none;margin:0;background:var(--bg-primary)}.header{display:flex;align-items:center;gap:12px;padding:20px 24px 12px;border-bottom:1px solid var(--border)}.logo-mark{color:var(--accent);display:block;flex-shrink:0}.header-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent);background:none;width:auto;height:auto;border-radius:0}.header h1{font-size:18px;font-weight:600;letter-spacing:-.02em}.header p{font-size:13px;color:var(--text-muted)}.messages{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px;scroll-behavior:smooth;max-width:920px;width:100%;margin:0 auto}.message{display:flex;flex-direction:column;gap:8px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.user{align-items:flex-end}.message.assistant{align-items:flex-start}.bubble{max-width:85%;padding:12px 16px;border-radius:12px;font-size:15px;line-height:1.55}.message-user-row{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%}.turn-delete{width:28px;height:28px;border-radius:6px;background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity .15s,color .15s,background .15s}.message.user:hover .turn-delete,.turn-delete:focus-visible{opacity:1}.turn-delete:hover:not(:disabled){color:var(--error);background:#f871711a}.turn-delete:disabled{cursor:not-allowed;opacity:.4}.message.user .bubble{background:var(--accent);color:var(--accent-contrast);border-bottom-right-radius:4px}.message.assistant .bubble{background:var(--bg-secondary);border:1px solid var(--border);border-bottom-left-radius:4px}.result-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;max-width:100%;width:100%}.plan-options{display:flex;flex-direction:column;gap:10px}.plan-options-intro{margin:0 0 4px;font-size:13px;color:var(--text-secondary)}.plan-option-btn{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-tertiary);cursor:pointer;text-align:left;transition:border-color .15s,background .15s;font-family:var(--font-sans)}.plan-option-selectable{cursor:default}.plan-option-selectable.selected{border-color:var(--accent);background:var(--accent-subtle)}.plan-option-checkbox{margin-top:3px;flex-shrink:0;accent-color:var(--accent)}.plan-option-content{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.plan-option-run-one{flex-shrink:0;padding:4px 8px;font-size:11px;color:var(--accent);background:none;border:1px solid var(--border);border-radius:6px;cursor:pointer;font-family:var(--font-sans);white-space:nowrap}.plan-option-run-one:hover{border-color:var(--accent);background:var(--bg-secondary)}.plan-options-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.plan-options-other{margin-top:8px;padding-top:12px;border-top:1px solid var(--border)}.plan-option-other-toggle{width:100%;padding:10px 14px;font-size:13px;color:var(--text-secondary);background:none;border:1px dashed var(--border);border-radius:10px;cursor:pointer;font-family:var(--font-sans);text-align:left}.plan-option-other-toggle:hover{border-color:var(--accent);color:var(--accent)}.plan-option-other-form{display:flex;flex-direction:column;gap:8px}.plan-option-other-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.plan-option-other-input{width:100%;padding:10px 12px;font-size:13px;font-family:var(--font-sans);border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);resize:vertical;min-height:72px}.plan-option-other-input:focus{outline:none;border-color:var(--accent)}.plan-option-btn:hover{border-color:var(--accent);background:var(--accent-subtle)}.plan-option-label{font-size:14px;font-weight:600;color:var(--text-primary)}.plan-option-description{font-size:12px;color:var(--text-muted);line-height:1.4}.investigation-summary{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.investigation-summary .summary-text{padding:0}.investigation-summary-title{margin:0 0 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.investigation-step-bar{display:block}.investigation-step-row{display:flex;flex-wrap:nowrap;align-items:stretch;min-height:44px;border-bottom:1px solid var(--border)}.investigation-step-row>.investigation-step-save{margin-left:auto;margin-right:16px;align-self:center;flex:0 0 auto}.investigation-step-row-save-only{justify-content:flex-end}.investigation-step-tabs{display:flex;flex-wrap:nowrap;align-items:stretch;gap:4px;padding:4px 16px 0;min-height:44px;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden}.investigation-step-row>.investigation-step-tabs{flex:1 1 auto;min-width:0;border-bottom:none;padding-right:8px}.investigation-step-tab{padding:12px 12px 10px;font-size:12px;line-height:1.35;font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:var(--font-sans)}.investigation-step-tab:hover{color:var(--text-primary)}.investigation-step-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.investigation-step-panel{padding:0}.investigation-step-purpose{margin:0;padding:12px 16px 0;font-size:12px;color:var(--text-muted)}.investigation-result-card .chart-container{height:300px}.investigation-result-card .chart-container-table{height:auto;min-height:200px;max-height:420px}.investigation-result-card .chart-container-kpi{height:auto;min-height:0}.result-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:16px}.result-header-toolbar{justify-content:flex-end}.result-header-note{flex:1;min-width:0;font-size:13px;color:var(--text-secondary)}.result-header .meta{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:8px;flex-shrink:0}.result-header .meta span{display:flex;align-items:center;gap:4px}.result-tabs{display:flex;border-bottom:1px solid var(--border)}.result-tab{padding:8px 16px;font-size:13px;color:var(--text-secondary);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.result-tab:hover{color:var(--text-primary)}.result-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.result-body{padding:16px;overflow-x:auto}.summary-text{font-size:14px;line-height:1.7;color:var(--text-primary);padding:4px 0}.summary-text h1,.summary-text h2,.summary-text h3{margin:20px 0 10px;font-weight:600;color:var(--text-primary);line-height:1.35}.summary-text>:first-child{margin-top:0}.summary-text h1{font-size:18px}.summary-text h2{font-size:16px}.summary-text h3{font-size:15px}.summary-text p{margin:0 0 14px}.summary-text p:last-child{margin-bottom:0}.summary-text ul,.summary-text ol{margin:0 0 16px;padding-left:1.35em}.summary-text li{margin-bottom:6px;padding-left:.15em}.summary-text li>ul,.summary-text li>ol{margin-top:6px;margin-bottom:0}.summary-text strong{font-weight:600;color:var(--text-primary)}.summary-text code{font-family:var(--font-mono);font-size:13px;background:var(--bg-input);padding:2px 6px;border-radius:4px}.summary-text table,.dash-card-summary table{width:100%;border-collapse:collapse;font-size:13px;margin:12px 0 16px}.summary-text th,.summary-text td,.dash-card-summary th,.dash-card-summary td{border:1px solid var(--border);padding:8px 10px;text-align:left}.summary-text th,.dash-card-summary th{background:var(--bg-input);font-weight:600;color:var(--text-secondary);font-size:12px}.summary-text tr:nth-child(2n) td,.dash-card-summary tr:nth-child(2n) td{background:var(--accent-subtle)}.data-table{width:100%;border-collapse:collapse;font-size:14px}.table-scroll{width:100%;max-width:100%;overflow-x:auto}.data-table th{text-align:left;padding:10px 14px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.data-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-primary);white-space:nowrap}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--accent-subtle)}.data-table td.numeric{text-align:right;font-family:var(--font-mono);font-size:12px}.data-table.striped tbody tr:nth-child(2n) td{background:var(--bg-tertiary)}.data-table.compact th,.data-table.compact td{padding:6px 10px;font-size:12px}.configurable-table-wrap{overflow-x:auto;width:100%}.chart-container-table{height:auto;min-height:200px;max-height:520px;overflow:auto}.table-column-list{display:flex;flex-wrap:wrap;gap:8px}.table-column-item{display:flex;align-items:center;gap:4px}.table-column-actions{display:flex;flex-direction:column;gap:2px}.table-column-move-btn{width:22px;height:18px;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--text-secondary);font-size:10px;line-height:1;cursor:pointer}.table-column-move-btn:disabled{opacity:.35;cursor:not-allowed}.table-label-grid{display:grid;gap:8px;width:100%}.table-label-row{display:grid;grid-template-columns:140px 1fr;gap:8px;align-items:center}.table-label-key{font-size:12px;color:var(--text-muted)}.table-layout-toggles{display:flex;gap:16px;flex-wrap:wrap}.table-layout-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.sql-block{background:var(--bg-tertiary);border-radius:8px;padding:14px 16px;font-family:var(--font-mono);font-size:12px;line-height:1.7;color:var(--text-secondary);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.chart-wrapper{display:flex;flex-direction:column;gap:0;position:relative}.chart-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;width:100%;padding:6px 0;border-bottom:1px solid var(--border);margin-bottom:4px;position:relative;z-index:2;background:var(--bg-secondary)}.chart-toolbar-left{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.chart-type-group{display:flex;flex-wrap:wrap;gap:2px;background:var(--bg-tertiary);border-radius:8px;padding:2px}.chart-type-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all .15s ease}.chart-type-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.chart-type-btn.active{background:var(--accent);color:var(--accent-contrast)}.chart-segment-mode{display:inline-flex;gap:2px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:2px}.chart-segment-mode-btn{padding:4px 10px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all .15s ease}.chart-segment-mode-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.chart-segment-mode-btn.active{background:var(--accent);color:var(--accent-contrast)}.chart-settings-btn{display:flex;align-items:center;flex-shrink:0;margin-left:auto;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all .15s ease}.chart-settings-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.chart-settings-btn.active{color:var(--accent);border-color:var(--accent)}.chart-settings-panel{display:flex;flex-direction:column;gap:8px;padding:10px 0;border-bottom:1px solid var(--border);margin-bottom:4px;position:relative;z-index:2;background:var(--bg-secondary)}.chart-setting-row{display:flex;align-items:flex-start;gap:12px}.chart-setting-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;min-width:90px;padding-top:5px;flex-shrink:0}.chart-setting-select{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:12px;padding:4px 8px;min-width:160px}.chart-column-chips{display:flex;flex-wrap:wrap;gap:4px}.chart-chip{display:flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer;transition:all .15s ease}.chart-chip:hover{border-color:var(--text-secondary);color:var(--text-primary)}.chart-chip.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.chart-setting-hint{font-size:11px;color:var(--text-muted);font-style:italic;padding-top:4px}.chart-setting-segment-group{display:flex;flex-direction:column;gap:4px}.chart-setting-input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:12px;padding:4px 8px;width:130px;flex-shrink:0}.chart-setting-input::placeholder{color:var(--text-muted)}.chip-with-color{position:relative;display:flex;align-items:center;gap:2px}.chip-color-btn{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);cursor:pointer;flex-shrink:0;transition:border-color .15s}.chip-color-btn:hover{border-color:var(--text-secondary)}.color-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a1f}.color-picker-popup{position:fixed;visibility:hidden;z-index:1;display:flex;flex-wrap:wrap;gap:4px;padding:8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);width:196px}.color-picker-footer{display:flex;gap:6px;width:100%;align-items:center}.color-picker-hex{flex:1;min-width:0;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:12px;font-family:var(--font-mono);padding:4px 6px}.color-picker-done{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);border-radius:6px;font-size:12px;padding:4px 8px;cursor:pointer;flex-shrink:0}.color-picker-done:hover{border-color:var(--accent);color:var(--accent)}.color-swatch{width:22px;height:22px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:border-color .15s,transform .1s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.active{border-color:#fff}.color-custom-input{width:100%;height:26px;border:none;border-radius:4px;cursor:pointer;background:transparent;padding:0}.chart-format-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chart-format-decimals{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted)}.chart-format-decimals input{width:44px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:12px;padding:3px 6px;text-align:center}.chart-container{width:100%;height:300px;padding:8px 0;overflow:hidden;position:relative;z-index:0}.chart-container.chart-container-table{overflow:auto}.chart-container-horizontal{min-height:300px}.chart-container-kpi{height:auto;min-height:0;overflow:visible}.kpi-stack{display:flex;flex-direction:column;gap:10px;width:100%}.kpi-meta{display:flex;flex-direction:column;gap:6px}.kpi-caption{font-size:12px;color:var(--text-muted);font-weight:500}.kpi-filter-controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:12px;width:100%;align-items:stretch}.kpi-card{container-type:inline-size;container-name:kpi-card;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0;overflow:hidden}.kpi-value{font-size:clamp(13px,min(16cqi,calc(155cqi/max(var(--kpi-value-len, 8),1))),28px);font-weight:650;letter-spacing:-.02em;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.15;width:100%;min-width:0;white-space:nowrap;overflow:hidden}.kpi-label{font-size:clamp(9px,min(7cqi,calc(90cqi/max(var(--kpi-label-len, 12),1))),12px);color:var(--text-muted);font-weight:500;width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}.chart-legend-panel{position:relative;z-index:2;display:flex;flex-direction:column;gap:8px;padding:4px 0 2px;border-top:1px solid var(--border)}.chart-legend-toggle{align-self:flex-start;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer}.chart-legend-toggle:hover{color:var(--text-primary);border-color:var(--accent)}.chart-legend{display:flex;flex-wrap:wrap;gap:6px 12px}.chart-legend-item{position:relative;display:inline-flex;align-items:center;gap:6px;max-width:240px;min-width:0}.chart-legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.chart-legend-swatch-btn{border:1px solid transparent;padding:0;cursor:pointer}.chart-legend-swatch-btn:hover,.chart-legend-swatch-btn:focus-visible{border-color:var(--text-secondary);outline:none}.chart-legend-label{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-legend-hint{font-size:12px;color:var(--text-muted);margin:0}.input-area{padding:16px 24px 20px;border-top:1px solid var(--border);background:var(--bg-secondary)}.input-row{display:flex;gap:10px;align-items:flex-end;max-width:920px;margin:0 auto}.input-wrapper{flex:1;position:relative}.composer{display:flex;align-items:flex-end;gap:8px;max-width:920px;margin:0 auto;padding:8px 8px 8px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}.composer:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle)}.composer textarea{flex:1;width:100%;padding:8px 4px;background:transparent;border:none;color:var(--text-primary);font-family:var(--font-sans);font-size:15px;resize:none;outline:none;line-height:1.5;min-height:36px;max-height:140px}.composer textarea::placeholder{color:var(--text-muted)}.composer-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;position:relative}.tier-picker{position:relative}.tier-pill{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-size:13px;font-weight:500;cursor:pointer;padding:6px 10px;border-radius:999px;white-space:nowrap}.tier-pill:hover:not(:disabled),.tier-pill[aria-expanded=true]{background:var(--bg-tertiary);color:var(--text-primary)}.tier-pill:disabled{opacity:.5;cursor:not-allowed}.tier-chevron{display:block}.tier-popover{position:absolute;right:0;bottom:calc(100% + 10px);width:280px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:14px 16px 16px;z-index:30}.tier-popover-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.tier-popover-help{font-size:12px;line-height:1.4;color:var(--text-muted);margin:0 0 16px}.tier-slider{position:relative;padding:8px 10px 28px}.tier-slider-track{position:relative;height:8px;border-radius:999px;background:var(--bg-tertiary)}.tier-slider-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--accent)}.tier-slider-thumb{position:absolute;top:50%;width:18px;height:18px;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--accent);transform:translate(-50%,-50%);box-shadow:var(--shadow-sm);pointer-events:none}.tier-slider-ticks{position:absolute;left:10px;right:10px;top:8px;height:40px}.tier-tick{position:absolute;transform:translate(-50%);border:none;background:transparent;padding:0;cursor:pointer;color:var(--text-secondary);font-family:var(--font-sans);display:flex;flex-direction:column;align-items:center;gap:8px}.tier-tick-dot{width:6px;height:6px;margin-top:1px;border-radius:50%;background:var(--bg-secondary);opacity:.85}.tier-tick-label{font-size:11px;font-weight:500;white-space:nowrap}.tier-tick.is-selected{color:var(--text-primary)}.tier-tick.is-disabled{opacity:.35;cursor:not-allowed}.input-wrapper textarea{width:100%;padding:14px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-sans);font-size:15px;resize:none;outline:none;line-height:1.5;min-height:52px;max-height:140px;transition:border-color .15s,box-shadow .15s}.input-wrapper textarea::placeholder{color:var(--text-muted)}.input-wrapper textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle)}.send-btn{width:40px;height:40px;border-radius:50%;background:var(--accent);border:none;color:var(--accent-contrast);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.send-btn svg{width:20px;height:20px}.loading-dots{display:flex;gap:4px;padding:4px 0}.loading-dots span{width:8px;height:8px;background:var(--text-muted);border-radius:50%;animation:dotPulse 1.4s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;padding:48px 24px;gap:20px}.welcome h2{font-size:26px;font-weight:600;letter-spacing:-.03em}.welcome p{font-size:15px;color:var(--text-secondary);max-width:480px;line-height:1.6}.morning-briefing{width:100%;max-width:680px;text-align:left;padding:20px 22px;border:1px solid var(--accent);border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.morning-briefing h2{font-size:22px;font-weight:600;letter-spacing:-.03em;margin:0 0 12px}.morning-briefing>p{margin:0;max-width:none}.briefing-list{list-style:none;margin:0;padding:0}.briefing-item{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;padding:12px 0;border-top:1px solid var(--border)}.briefing-item:first-child{border-top:none;padding-top:4px}.briefing-item-copy{min-width:0}.briefing-item-copy strong{display:block;font-size:14px;color:var(--text-primary)}.briefing-item-copy p{margin:4px 0 0;font-size:13px;color:var(--text-secondary);line-height:1.45;max-width:none}.morning-briefing .btn-sm.btn-primary,.insight-card-actions .btn-sm.btn-primary{flex-shrink:0;background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.morning-briefing .btn-sm.btn-primary:hover:not(:disabled),.insight-card-actions .btn-sm.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.briefing-all-link{display:inline-block;margin-top:8px;font-size:13px;color:var(--accent);text-decoration:none}.briefing-all-link:hover{text-decoration:underline}.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:640px;width:100%}.suggestion-btn{padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-size:14px;text-align:left;cursor:pointer;transition:all .15s;line-height:1.5;font-family:var(--font-sans);box-shadow:var(--shadow-sm)}.suggestion-btn:hover{border-color:var(--accent);color:var(--text-primary);background:var(--accent-subtle)}.error-message{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:var(--error);padding:12px 16px;border-radius:12px;font-size:13px}.error-technical{margin-top:8px;font-size:12px;color:var(--text-muted)}.error-technical pre{margin:8px 0 0;white-space:pre-wrap;word-break:break-word;font-size:11px}.app.full-width,.app.chat-app{max-width:none}.chat-layout{display:flex;flex:1;overflow:hidden}.conversation-sidebar{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:margin-left .25s ease}.conversation-sidebar:not(.open){margin-left:-280px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.sidebar-header h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.sidebar-header .btn-sm.btn-primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.sidebar-list{flex:1;overflow-y:auto;padding:8px}.sidebar-empty{font-size:13px;color:var(--text-muted);text-align:center;padding:24px 8px}.sidebar-item{display:flex;align-items:center;border-radius:8px;transition:background .15s;margin-bottom:2px}.sidebar-item:hover,.sidebar-item.active{background:var(--accent-subtle)}.sidebar-item-content{flex:1;min-width:0;padding:10px 12px;cursor:pointer}button.sidebar-item-content{display:block;width:100%;background:none;border:none;text-align:left;font-family:inherit}.sidebar-item-title{display:block;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item-meta{display:block;font-size:11px;color:var(--text-muted);margin-top:2px}.sidebar-item-delete{width:28px;height:28px;border-radius:6px;background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:6px;opacity:0;transition:opacity .15s,color .15s}.sidebar-item:hover .sidebar-item-delete{opacity:1}.sidebar-item-delete:hover{color:var(--error);background:#f871711a}.chat-page{display:flex;flex-direction:column;flex:1;overflow:hidden;min-width:0;background:var(--bg-primary)}.chat-header-bar{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-secondary);min-height:48px}.chat-header-bar .btn{flex-shrink:0}.sidebar-toggle{width:36px;height:36px;background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.sidebar-toggle:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--text-primary)}.chat-title-form{min-width:0;flex:0 1 auto;max-width:min(420px,46vw)}.chat-title-badge,.chat-title-input{font-size:13px;font-weight:600;font-family:inherit;color:var(--text-primary);padding:6px 12px;background:var(--bg-tertiary);border:1px solid transparent;border-radius:6px;line-height:1.3}.chat-title-badge{display:block;min-width:0;flex:0 1 auto;max-width:min(420px,46vw);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;cursor:text}.chat-header-bar .saved-query-title,.chat-header-bar .saved-query-title:hover{cursor:default;border-color:transparent}.chat-title-badge:hover:not(:disabled),.chat-title-badge:focus-visible{border-color:var(--border)}.chat-title-badge:disabled{cursor:default;opacity:.7}.chat-title-input{width:100%;min-width:160px;outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.login-page{display:flex;align-items:center;justify-content:center;height:100vh;padding:24px;background:var(--bg-primary)}.login-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:44px 40px;width:100%;max-width:420px;box-shadow:var(--shadow)}.login-header{text-align:center;margin-bottom:32px}.login-header .header-icon{margin:0 auto 16px}.login-header h1{font-size:22px;font-weight:600;letter-spacing:-.03em;margin-bottom:6px}.login-header p{font-size:14px;color:var(--text-muted)}.login-error{background:#b91c1c14;border:1px solid rgba(185,28,28,.25);color:var(--error);padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:16px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px;font-weight:500}.form-group input,.form-group select{width:100%;padding:11px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:var(--font-sans);font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle)}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.form-hint{margin:6px 0 0;font-size:12px;color:var(--text-muted);font-weight:400;line-height:1.4}.settings-note{font-size:13px;color:var(--text-secondary);margin:0 0 10px;max-width:820px;line-height:1.45}.login-btn{width:100%;padding:12px;background:var(--accent);border:none;border-radius:8px;color:var(--accent-contrast);font-size:15px;font-weight:600;cursor:pointer;transition:background .15s;margin-top:8px;font-family:var(--font-sans)}.login-btn:hover:not(:disabled){background:var(--accent-hover)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-home-link{display:inline-flex;text-decoration:none;color:inherit}.login-home-link:hover .logo-mark{opacity:.85}.login-back{display:block;text-align:center;margin-top:16px;font-size:13px;color:var(--text-muted);text-decoration:none}.login-back:hover{color:var(--accent)}.home-page{min-height:100%;background:var(--bg-primary);color:var(--text-primary)}.home-nav{position:sticky;top:0;z-index:4;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.home-nav-inner,.home-footer-inner{max-width:1080px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;min-height:var(--nav-height)}.home-brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.02em}.home-nav-actions{display:flex;align-items:center;gap:10px}.home-nav-login,.home-cta{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:8px;background:var(--accent);color:var(--accent-contrast);font-size:14px;font-weight:600;text-decoration:none;border:none;cursor:pointer;font-family:var(--font-sans)}.home-nav-login:hover,.home-cta:hover{background:var(--accent-hover)}.home-cta-secondary{display:inline-flex;align-items:center;padding:8px 16px;border-radius:8px;border:1px solid var(--border);color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:600;background:var(--bg-secondary)}.home-cta-secondary:hover{border-color:var(--accent);color:var(--text-primary)}.home-hero,.home-section{max-width:1080px;margin:0 auto;padding:48px 24px}.home-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:56px;padding-bottom:32px}.home-kicker{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.home-hero h1{font-size:clamp(28px,4vw,40px);font-weight:700;letter-spacing:-.04em;line-height:1.15;margin-bottom:16px}.home-lede,.home-section-lede,.home-card p,.home-steps li,.home-checklist li{color:var(--text-secondary);font-size:15px}.home-lede{font-size:17px;line-height:1.6;margin-bottom:24px;max-width:36em}.home-hero-actions{display:flex;flex-wrap:wrap;gap:10px}.home-cta{padding:12px 18px;font-size:15px}.home-preview{display:flex;flex-direction:column;gap:12px}.home-preview-bubble{align-self:flex-end;max-width:90%;background:var(--accent);color:var(--accent-contrast);border-radius:12px 12px 4px;padding:12px 16px;font-size:14px;font-weight:500;box-shadow:var(--shadow-sm)}.home-preview-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px 18px}.home-preview-tabs{display:flex;gap:16px;font-size:13px;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:8px}.home-preview-tabs .active{color:var(--accent);font-weight:600}.home-preview-summary{font-size:14px;color:var(--text-secondary);margin-bottom:16px;line-height:1.55}.home-preview-bars{display:flex;align-items:flex-end;gap:10px;height:88px;padding:0 4px}.home-preview-bars span{flex:1;background:var(--accent);border-radius:4px 4px 0 0;opacity:.85}.home-preview-bars span:nth-child(2){background:var(--chart-2)}.home-preview-bars span:nth-child(4){background:var(--chart-2);opacity:.7}.home-section h2{font-size:22px;font-weight:600;letter-spacing:-.03em;margin-bottom:8px}.home-section-lede{margin-bottom:24px;max-width:42em}.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.home-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:20px 20px 22px;box-shadow:var(--shadow-sm)}.home-card h3{font-size:16px;font-weight:600;margin-bottom:8px;letter-spacing:-.02em}.home-steps,.home-checklist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;max-width:720px}.home-steps li,.home-checklist li{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px 14px 48px;position:relative}.home-steps li{counter-increment:home-step}.home-steps{counter-reset:home-step}.home-steps li:before,.home-checklist li:before{position:absolute;left:16px;top:14px;width:22px;height:22px;border-radius:6px;background:var(--accent-subtle);color:var(--accent);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.home-steps li:before{content:counter(home-step)}.home-checklist{counter-reset:home-check;margin-bottom:24px}.home-checklist li{counter-increment:home-check}.home-checklist li:before{content:counter(home-check)}.home-try .home-cta{margin-top:4px}.home-footer{border-top:1px solid var(--border);background:var(--bg-secondary);margin-top:24px}.home-footer a{color:var(--accent);text-decoration:none;font-weight:600;font-size:14px}.home-footer span{color:var(--text-muted);font-size:13px}@media(max-width:900px){.home-hero{grid-template-columns:1fr;gap:32px;padding-top:32px}.home-grid{grid-template-columns:1fr}.home-preview{max-width:480px}}.navbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;min-height:var(--nav-height);height:auto;background:var(--bg-secondary);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);flex-shrink:0;z-index:20}.nav-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0;flex-wrap:wrap;padding:8px 0}.nav-brand{display:flex;align-items:center;gap:10px;margin-right:4px;padding:2px 4px 2px 0;text-decoration:none;color:var(--text-primary);border-radius:8px;flex-shrink:0}.nav-brand:hover,.nav-brand.active{color:var(--text-primary);background:none}.nav-product{font-size:15px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}.nav-links{display:flex;align-items:center;flex-wrap:wrap;gap:2px}.nav-logo{width:32px;height:32px;border-radius:8px;margin-right:0}.nav-link{padding:8px 12px;font-size:14px;font-weight:500;color:var(--text-secondary);text-decoration:none;border-radius:6px;transition:all .15s}.nav-link:hover{color:var(--text-primary);background:var(--bg-tertiary)}.nav-link.active{color:var(--accent);background:var(--accent-subtle);font-weight:600}.nav-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.nav-user{font-size:13px;color:var(--text-secondary);white-space:nowrap}.nav-company{color:var(--text-muted)}.nav-logout{padding:7px 12px;font-size:13px;font-weight:500;color:var(--text-secondary);background:none;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s;font-family:var(--font-sans)}.nav-logout:hover{color:var(--text-primary);border-color:var(--text-muted)}.notification-bell-wrap{position:relative}.notification-bell-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-muted);background:none;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s}.notification-bell-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.notification-bell-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:var(--accent-contrast);font-size:10px;font-weight:700;line-height:16px;text-align:center}.notification-panel{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:420px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);z-index:100;overflow:hidden}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600}.notification-read-all{font-size:11px;color:var(--accent);background:none;border:none;cursor:pointer;font-family:var(--font-sans)}.notification-panel-body{max-height:360px;overflow-y:auto}.notification-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:12px 14px;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;font-family:var(--font-sans)}.notification-item.unread,.notification-item:hover{background:var(--accent-subtle)}.notification-item-title{font-size:13px;font-weight:600;color:var(--text-primary)}.notification-item-body{font-size:12px;color:var(--text-secondary);line-height:1.45;max-height:96px;overflow:hidden}.notification-item-body.expanded{max-height:none;overflow:visible}.notification-item-body p,.notification-item-body ul,.notification-item-body ol{margin:0 0 6px}.notification-item-body p:last-child,.notification-item-body ul:last-child,.notification-item-body ol:last-child{margin-bottom:0}.notification-item-body h1,.notification-item-body h2,.notification-item-body h3,.notification-item-body h4{margin:8px 0 4px;font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.3}.notification-item-body h1:first-child,.notification-item-body h2:first-child,.notification-item-body h3:first-child,.notification-item-body h4:first-child{margin-top:2px}.notification-item-body ul,.notification-item-body ol{padding-left:1.2em}.notification-item-body li{margin-bottom:3px}.notification-item-body strong{color:var(--text-primary);font-weight:600}.notification-item-body code{font-family:var(--font-mono);font-size:11px;background:var(--bg-input);padding:1px 4px;border-radius:3px}.notification-item-time{font-size:11px;color:var(--text-muted)}.notification-expand{font-size:11px;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-sans)}.studio-editor-fieldset{border:0;margin:0;padding:0;min-width:0}.playbook-assign-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.page-toggles{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:8px}.notification-empty{padding:20px 14px;font-size:13px;color:var(--text-muted);text-align:center}.admin-subtitle{font-size:13px;color:var(--text-muted);margin-top:4px}.metrics-errors{margin-top:12px;padding:12px;border:1px solid rgba(185,28,28,.3);border-radius:8px;background:#b91c1c14;font-size:13px;color:var(--error)}.studio-versions-panel,.studio-health-panel,.studio-gaps-panel{padding:16px}.studio-version-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border)}.studio-version-meta{display:block;font-size:12px;color:var(--text-muted);margin-top:4px}.studio-health-score{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.studio-health-number{font-size:48px;font-weight:700;color:var(--accent-light);line-height:1}.studio-health-label{font-size:14px;color:var(--text-secondary)}.studio-health-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;font-size:13px;color:var(--text-muted)}.studio-health-issues{margin:0;padding-left:20px;color:var(--text-secondary);font-size:13px}.studio-health-issues li{margin-bottom:6px}.studio-gaps-table{width:100%;border-collapse:collapse;font-size:13px}.studio-gaps-table th,.studio-gaps-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top}.studio-gaps-table th{color:var(--text-muted);font-weight:600}.studio-gap-type{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;background:#60a5fa1f;color:var(--accent-light)}.studio-gap-questions{margin:0;padding-left:16px;color:var(--text-secondary)}.studio-version-compare{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:16px}.studio-version-compare label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.studio-version-compare select{min-width:180px}.yaml-diff{margin:0;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);max-height:480px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5}.yaml-diff-line{display:flex;gap:8px;white-space:pre-wrap;word-break:break-word}.yaml-diff-prefix{width:12px;flex-shrink:0;color:var(--text-muted)}.yaml-diff-add{background:#22c55e1f}.yaml-diff-remove{background:#f871711f}.gap-suggestion-modal textarea{width:100%;min-height:180px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:none;color:var(--text-muted);cursor:pointer;transition:all .15s}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-subtle)}.admin-page{flex:1;padding:28px 32px;overflow-y:auto}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-header h2{font-size:22px;font-weight:600;letter-spacing:-.03em}.admin-empty{text-align:center;color:var(--text-muted);padding:40px 0;font-size:14px}.btn-primary{padding:8px 16px;background:var(--accent);border:none;border-radius:8px;color:var(--accent-contrast);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s;font-family:var(--font-sans)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .15s;font-family:var(--font-sans)}.btn-secondary:hover{border-color:var(--text-muted)}.btn-ghost{padding:8px 18px;background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;font-family:var(--font-sans)}.btn-ghost:hover{color:var(--text-primary)}.btn-sm{padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s;font-family:var(--font-sans)}.btn-sm:hover{color:var(--text-primary);border-color:var(--text-muted)}.admin-form-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.admin-form-card h3{font-size:15px;font-weight:600;margin-bottom:16px}.llm-tier-block{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.llm-tier-block h4{font-size:13px;font-weight:600;margin:0 0 12px;color:var(--text-primary)}.catalog-span{grid-column:1 / -1}.catalog-table-wrap{overflow-x:auto;margin-top:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.form-actions{display:flex;align-items:center;gap:10px;margin-top:20px}.test-result{margin-top:12px;padding:10px 14px;border-radius:8px;font-size:13px}.test-result.success{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:var(--success)}.test-result.failure{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:var(--error)}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{text-align:left;padding:12px 14px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.admin-table td{padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.admin-table tr:hover td{background:var(--accent-subtle)}.admin-table .mono{font-family:var(--font-mono);font-size:12px}.admin-table .numeric{text-align:right;font-family:var(--font-mono);font-size:12px}.admin-table .nowrap{white-space:nowrap}.admin-table .action-cell{display:flex;align-items:center;gap:6px}.admin-table td.action-cell{display:table-cell;vertical-align:middle;white-space:nowrap}.admin-table td.action-cell>button+button{margin-left:6px}.action-buttons{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.admin-table .question-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-page .analytics-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.analytics-date-label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.analytics-date-input{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px}.analytics-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:20px 0}.analytics-kpi{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}.analytics-kpi-value{display:block;font-size:24px;font-weight:700;color:var(--text)}.analytics-kpi-label{display:block;font-size:12px;color:var(--text-muted);margin-top:4px}.analytics-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-bottom:24px}.analytics-chart-card,.analytics-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.analytics-chart-card h3,.analytics-panel h3{margin:0 0 12px;font-size:14px;font-weight:600}.analytics-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.analytics-panel-hint{font-size:12px;color:var(--text-muted);margin:-8px 0 12px}.analytics-token-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:24px}.analytics-token-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.analytics-token-header h3{margin:0;font-size:14px;font-weight:600;color:#0f766e}.analytics-grain-toggle{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.analytics-grain-toggle button{padding:6px 12px;border:none;background:transparent;font-size:12px;cursor:pointer;color:var(--text-muted)}.analytics-grain-toggle button.active{background:#0f766e;color:#fff}.analytics-token-totals{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px;font-size:13px;color:var(--text-muted)}.analytics-token-totals strong{color:#0f766e;font-weight:700}.analytics-token-meta{margin-left:auto}.analytics-token-table .token-col,.logs-table .token-col,.token-stat{color:#0f766e}.playbook-welcome{margin-top:28px;text-align:left;max-width:720px}.playbook-welcome h3{margin:0 0 8px;font-size:16px}.playbook-welcome>p{margin:0 0 16px;font-size:13px;color:var(--text-muted)}.playbook-category{margin-bottom:16px}.playbook-category-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px}.playbook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.playbook-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.playbook-card:hover:not(:disabled){border-color:var(--accent);background:var(--surface-hover)}.playbook-card-name{font-size:14px;font-weight:600;color:var(--text)}.playbook-card-desc{font-size:12px;color:var(--text-muted);line-height:1.4}.playbook-card-meta{font-size:11px;color:var(--accent)}.sidebar-playbooks{border-top:1px solid var(--border);padding:12px;flex-shrink:0;max-height:232px;overflow-y:auto}.sidebar-section-title{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.playbook-sidebar-btn{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:10px;margin-bottom:6px;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.playbook-sidebar-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border)}.playbook-sidebar-name{font-size:13px;font-weight:500;color:var(--text)}.playbook-sidebar-meta{font-size:11px;color:var(--text-muted)}.playbook-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.playbook-form-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.playbook-form-grid input,.playbook-form-grid select,.playbook-form-grid textarea{font-size:13px}.playbook-form-wide{grid-column:1 / -1}.playbook-form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.playbook-table-desc{font-size:12px;color:var(--text-muted);margin-top:4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-card{width:min(520px,100%);max-height:90vh;overflow:auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:var(--shadow)}.modal-card h3{margin:0 0 16px}.modal-actions{display:flex;gap:8px;margin-top:16px}.schedule-summary{margin:0;font-size:13px;color:var(--text)}.linkish{background:none;border:0;padding:0;color:var(--accent, #3b6cff);cursor:pointer;text-align:left}.schedule-name-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.schedule-run-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:10px}.schedule-run-toggle{background:none;border:0;padding:0;color:var(--text-primary);cursor:pointer;font:inherit;text-align:left}.schedule-run-toggle[aria-expanded=true]{font-weight:600}.admin-table tr.schedule-history-row td{background:var(--bg-secondary);vertical-align:top}.admin-table tr.schedule-history-row:hover td{background:var(--bg-secondary)}.subscription-run-report{margin-top:10px}.subscription-run-banner{margin:0 0 12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--accent-subtle);font-size:13px;color:var(--text-secondary)}.subscription-run-banner strong{color:var(--text-primary)}.subscription-run-banner-detail{display:block;margin-top:4px}.subscription-run-live{display:inline-block;margin-top:6px;font-weight:600}.schedule-form{display:flex;flex-direction:column;gap:12px}.schedule-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.schedule-form input,.schedule-form select{font-size:13px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.schedule-checkbox{flex-direction:row!important;align-items:center;gap:8px!important;color:var(--text)!important}.schedule-alert-rules{border-top:1px solid var(--border);padding-top:12px}.schedule-alert-rules h4{margin:0 0 8px;font-size:13px}.schedule-alert-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.insights-feed{display:flex;flex-direction:column;gap:12px}.insight-card{display:block;width:100%;text-align:left;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:default;transition:border-color .15s,background .15s}.insight-card.unread{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));cursor:pointer}.insight-card h3{margin:8px 0 10px;font-size:16px}.insight-charts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;align-items:start}.insight-body+.insight-charts{margin-top:12px}.insight-chart{min-width:0;margin:0;padding:8px 14px 6px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary)}.insight-chart figcaption{margin:0 0 4px}.insight-chart-kicker{margin:0 0 2px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.2;color:var(--accent)}.insight-chart h4{margin:0;font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.3}.insight-chart-caption,.insight-chart-axis{margin:2px 0 0;font-size:12px;color:var(--text-muted);line-height:1.35;overflow-wrap:anywhere}.insight-chart-caption{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.insight-chart-axis{font-size:11px;line-height:1.3}.insight-chart .chart-wrapper{min-width:0}.insight-chart .chart-container,.insight-chart .chart-container-horizontal{height:auto;min-height:0;max-height:none;padding:0}.insight-chart .chart-container.chart-container-scroll{overflow-x:hidden;overflow-y:auto}.insight-chart .chart-legend-panel{border-top:none;padding:2px 0 0;gap:4px}.insight-chart .chart-legend-panel:has(.chart-legend-item:only-child){display:none}.insight-chart .chart-legend-label{font-size:11px}.insight-card p{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}.insight-body{font-size:14px;color:var(--text-secondary)}.sira-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.sira-section{padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);min-width:0}.sira-section h4{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.sira-section-body,.sira-section-body.summary-text{font-size:13px;color:var(--text-secondary);line-height:1.55}.sira-section-body.summary-text h1,.sira-section-body.summary-text h2,.sira-section-body.summary-text h3{margin:8px 0 6px;font-size:13px}.insight-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.insight-feedback{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.insight-feedback-label{font-size:12px;color:var(--text-muted);margin-right:4px}.insight-feedback-btn.selected{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.insight-inline-error{margin:8px 0 0!important;font-size:12px!important;color:var(--error)!important}.insight-source-scan{background:var(--accent-subtle);color:var(--accent)}.insight-source-rule{background:#9ca3af26;color:var(--text-secondary)}@media(max-width:720px){.sira-grid,.insight-charts,.insight-charts.single{grid-template-columns:1fr}.briefing-item{flex-direction:column}}.insight-card-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.insight-rule-type{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.insight-time{margin-left:auto;font-size:11px;color:var(--text-muted)}.insight-severity-info{background:var(--accent-subtle);color:var(--accent)}.insight-severity-warning{background:#f59e0b26;color:var(--chart-3)}.insight-severity-critical{background:#f8717126;color:var(--error)}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge.active{background:#34d39926;color:var(--success)}.badge.inactive{background:#f8717126;color:var(--error)}.badge.role-superadmin{background:#ec489926;color:var(--chart-4)}.badge.role-admin{background:var(--accent-subtle);color:var(--accent)}.badge.role-viewer{background:#9ca3af26;color:var(--text-secondary)}.badge.status-success{background:#34d39926;color:var(--success)}.badge.status-error,.badge.status-db_error,.badge.status-validation_error{background:#f8717126;color:var(--error)}.badge.status-no_sql{background:#fbbf2426;color:var(--warning)}.badge.status-plan{background:#6366f126;color:#6366f1}.log-header{flex-wrap:wrap;gap:12px;align-items:flex-start}.log-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.log-view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.log-view-toggle button{padding:6px 12px;background:var(--bg-secondary);border:none;color:var(--text-secondary);font-size:13px;font-family:var(--font-sans);cursor:pointer}.log-view-toggle button.active{background:var(--accent);color:var(--accent-contrast)}.log-row{cursor:pointer}.log-detail-row td{padding:0 14px 14px!important;background:var(--bg-secondary)}.log-detail{display:flex;flex-direction:column;gap:12px}.log-detail strong{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.conversation-detail{gap:20px;padding:8px 0 4px}.log-turn{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px}.log-turn-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:12px;color:var(--text-muted)}.log-title{font-weight:500;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-turns{display:flex;flex-direction:column;gap:16px;padding:8px 0 4px}.log-turn-stat{font-size:12px;color:var(--text-muted)}.log-turn-question strong,.log-detail strong{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.question-full{margin:0;font-size:14px;line-height:1.5;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.status-mix.has-error{color:var(--error)}.log-truncated-note,.log-snapshot-note{margin:0;font-size:12px;color:var(--text-muted)}.log-truncated-note{color:var(--warning)}.question-expand-btn{margin-top:6px;padding:0;background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;font-family:var(--font-sans)}.status-mix{display:flex;flex-wrap:wrap;gap:4px}.snapshot-note,.truncated-note{margin:0;font-size:12px;color:var(--text-muted)}.truncated-note{color:var(--warning)}.log-pagination{display:flex;align-items:center;gap:12px;margin-top:16px;font-size:13px;color:var(--text-secondary)}.error-text{color:var(--error);font-size:13px}.log-turn .result-card{box-shadow:none}.schema-company-select select{padding:8px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:13px;font-family:var(--font-sans);outline:none;min-width:220px}.schema-tabs,.schema-editor-area{margin-bottom:0}.yaml-editor{width:100%;min-height:500px;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border);border-top:none;color:var(--text-primary);font-family:var(--font-mono);font-size:13px;line-height:1.6;resize:vertical;outline:none}.yaml-editor:focus{border-color:var(--border-focus)}.save-message{font-size:13px;color:var(--success)}.filter-select{padding:6px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:var(--font-sans);outline:none}.save-query-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:28px;padding:0 10px;font-size:11px;line-height:1;color:var(--text-muted);background:none;border:1px solid var(--border);border-radius:5px;cursor:pointer;transition:all .15s;font-family:var(--font-sans);box-sizing:border-box}.save-query-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.save-query-btn:disabled{opacity:.55;cursor:default}.export-data-wrap{position:relative}.export-data-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:28px;padding:0 10px;font-size:11px;line-height:1;color:var(--text-muted);background:none;border:1px solid var(--border);border-radius:5px;cursor:pointer;transition:all .15s;font-family:var(--font-sans);box-sizing:border-box}.export-data-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.export-data-btn:disabled{opacity:.45;cursor:not-allowed}.export-data-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:140px;padding:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000001f}.export-data-menu button{display:block;width:100%;padding:8px 10px;border:none;border-radius:6px;background:none;color:var(--text-primary);font-size:12px;text-align:left;cursor:pointer;font-family:var(--font-sans)}.export-data-menu button:hover{background:var(--bg-tertiary)}.dash-card-actions .export-data-wrap{display:inline-flex}.saved-badge{font-size:11px;color:var(--success);font-weight:600}.save-input-bar{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.save-field-label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.save-input-bar input[type=text],.save-input-bar textarea{width:100%;padding:6px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:var(--font-sans);outline:none;resize:vertical}.save-input-bar input[type=text]:focus,.save-input-bar textarea:focus{border-color:var(--border-focus)}.save-date-options{display:flex;flex-direction:column;gap:6px}.save-date-options label{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-primary);line-height:1.4}.save-date-note{margin:0;font-size:12px;color:var(--text-muted);line-height:1.4}.save-input-actions{display:flex;gap:8px}.dashboard-grid-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.dashboard-list-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:relative;transition:border-color .15s,box-shadow .15s;box-shadow:var(--shadow-sm)}.dashboard-list-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.dashboard-list-card-body{padding:20px;cursor:pointer}.dashboard-list-card h3{font-size:15px;font-weight:600;margin-bottom:8px}.dashboard-list-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.dashboard-list-date{font-size:12px;color:var(--text-muted);margin-top:8px}.dashboard-list-delete{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:6px;background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,color .15s}.dashboard-list-card:hover .dashboard-list-delete{opacity:1}.dashboard-list-delete:hover{color:var(--error);background:#f871711a}.dashboard-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.dash-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.dash-card.wide{grid-column:span 2}.dash-card-header{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);gap:12px}.dash-card-title h4{font-size:14px;font-weight:600;margin-bottom:2px}.dash-card-question{font-size:12px;color:var(--text-muted);display:block;line-height:1.4}.dash-card-actions{display:flex;gap:4px;flex-shrink:0}.dash-card-body{padding:0;flex:1;overflow:auto;display:flex;flex-direction:column}.dash-card-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 16px;gap:4px}.dash-card-tab{padding:10px 12px;font-size:12px;font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;font-family:var(--font-sans);transition:color .15s,border-color .15s}.dash-card-tab:hover{color:var(--text-primary)}.dash-card-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.dash-card-content{padding:16px;flex:1;overflow:auto}.dash-card-loading{text-align:center;color:var(--text-muted);font-size:13px;padding:24px 16px}.dash-card-error{color:var(--error);font-size:13px;padding:16px}.dash-card-summary{font-size:13px;line-height:1.6;color:var(--text-primary);margin-bottom:8px}.dash-card-summary h1,.dash-card-summary h2,.dash-card-summary h3{margin:12px 0 6px;font-weight:600;color:var(--text-primary);line-height:1.3}.dash-card-summary h1{font-size:16px}.dash-card-summary h2{font-size:15px}.dash-card-summary h3{font-size:14px}.dash-card-summary p{margin-bottom:8px}.dash-card-summary ul,.dash-card-summary ol{margin:4px 0 12px 16px}.dash-card-summary li{margin-bottom:2px}.dash-card-summary strong{font-weight:600;color:var(--text-primary)}.dash-card-meta{font-size:11px;color:var(--text-muted);padding:10px 16px;border-top:1px solid var(--border);text-align:right}.dash-card .chart-container{height:280px}.dash-card .chart-container-table{height:auto;min-height:180px;max-height:360px}.dash-card .chart-container-kpi{height:auto;min-height:0}.dash-card .kpi-value{font-size:clamp(12px,min(15cqi,calc(150cqi/max(var(--kpi-value-len, 8),1))),22px)}.add-to-dash-dropdown{margin-top:8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;overflow:hidden}.add-to-dash-list{max-height:150px;overflow-y:auto}.add-to-dash-item{display:block;width:100%;padding:8px 12px;font-size:13px;color:var(--text-primary);background:none;border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;font-family:var(--font-sans);transition:background .15s}.add-to-dash-item:hover{background:var(--accent-subtle)}.add-to-dash-item:last-child{border-bottom:none}.add-to-dash-new{display:flex;gap:8px;padding:8px 12px;border-top:1px solid var(--border)}.add-to-dash-new input{flex:1;padding:6px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:12px;font-family:var(--font-sans);outline:none}.add-to-dash-new input:focus{border-color:var(--border-focus)}.add-card-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.add-card-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px}.add-card-item strong{font-size:13px}.add-card-item .btn-sm.btn-primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}@media(max-width:768px){.dashboard-card-grid{grid-template-columns:1fr}.dash-card.wide{grid-column:span 1}}.schema-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.admin-page:has(>.studio-section-nav) .schema-toolbar{border-bottom:none}.admin-page>.studio-section-nav{position:sticky;top:-28px;z-index:5;margin:0 -32px;padding:10px 32px 8px;background:var(--bg-primary);border-bottom:1px solid var(--border);box-shadow:0 8px 16px -12px #0f172a59}.toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-right:16px}.studio-yaml-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);font-family:var(--font-sans);white-space:nowrap}.studio-structured{padding:16px;display:flex;flex-direction:column;gap:16px;border:1px solid var(--border);border-top:none;background:var(--bg-tertiary)}.studio-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:16px}.studio-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.studio-card-header h4{margin:0;font-size:15px;font-weight:600}.studio-table-card .studio-card-header{margin-bottom:0;align-items:flex-start}.studio-table-card.is-open .studio-card-header{margin-bottom:12px}.studio-accordion-toggle{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:inherit;font:inherit}.studio-accordion-toggle:hover h4{color:var(--accent)}.studio-accordion-chevron{flex-shrink:0;width:20px;height:20px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);transition:transform .15s ease}.studio-table-card.is-open .studio-accordion-chevron{transform:rotate(90deg)}.studio-accordion-heading{display:flex;flex-direction:column;gap:2px;min-width:0}.studio-accordion-heading h4{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-accordion-meta{font-size:12px;font-weight:400;color:var(--text-muted)}.studio-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.studio-structured .form-grid label,.studio-full-label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary);font-weight:500;margin-bottom:10px}.studio-structured input,.studio-structured select,.studio-structured textarea,.studio-suggestion-body input,.studio-suggestion-body textarea{width:100%;padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:var(--font-sans);font-size:13px;outline:none}.studio-structured input:focus,.studio-structured select:focus,.studio-structured textarea:focus,.studio-suggestion-body input:focus,.studio-suggestion-body textarea:focus{border-color:var(--border-focus)}.studio-sql,.studio-sql-preview{font-family:var(--font-mono);font-size:12px}.studio-sql-preview{margin:8px 0 0;padding:10px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;overflow-x:auto;white-space:pre-wrap}.studio-columns,.studio-rule-block{display:flex;flex-direction:column;gap:8px;margin-top:8px}.studio-section-nav{display:flex;flex-wrap:wrap;gap:6px}.studio-column-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr) auto;gap:8px;align-items:center}.studio-column-row-pk{grid-template-columns:minmax(0,1.2fr) minmax(80px,.7fr) auto minmax(0,2fr) auto}.studio-pk-flag{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.studio-pk-flag input[type=checkbox]{width:auto;margin:0;accent-color:var(--accent, #3b82f6)}.studio-join-block{border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:12px;margin-bottom:12px}.studio-join-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.6fr) auto;gap:8px;align-items:end;margin-bottom:10px}.studio-join-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:8px;align-items:end;margin-bottom:8px}.studio-join-arrow{padding-bottom:10px;color:var(--text-secondary);font-size:16px}@media(max-width:960px){.studio-join-meta,.studio-join-row{grid-template-columns:minmax(0,1fr)}.studio-join-arrow{display:none}}.studio-rule-block .studio-column-row{grid-template-columns:minmax(0,1fr) auto}.studio-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.studio-badge-pass{background:#34d3991f;color:var(--success)}.studio-badge-fail{background:#f871711f;color:var(--error)}.studio-preview-wrap{overflow-x:auto;margin-top:10px}.studio-preview-table{font-size:12px}.studio-suggestion-toolbar{display:flex;align-items:center;gap:8px}.studio-suggestion-list{display:flex;flex-direction:column;gap:10px;max-height:55vh;overflow-y:auto}.studio-suggestion-card{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input)}.studio-suggestion-body{display:flex;flex-direction:column;gap:8px;min-width:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;width:100%;max-width:500px;padding:32px;display:flex;flex-direction:column;gap:16px;max-height:90vh;box-shadow:var(--shadow)}.modal-card.studio-suggestion-modal{width:min(1140px,100%);max-width:min(1140px,100%)}.modal-card.explore-db-modal{width:min(1170px,100%);max-width:min(1170px,100%)}.modal-card h3{font-size:18px;font-weight:600}.modal-card p{font-size:14px;color:var(--text-secondary)}.table-selector-list{flex:1;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-input)}.table-selector-item{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border)}.table-selector-item:hover{background:var(--bg-tertiary)}.table-selector-item input[type=checkbox]{width:16px;height:16px}.table-schema-tag{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);min-width:60px}.table-type-tag{font-size:10px;text-transform:uppercase;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.05em}.table-type-tag.table{background:var(--accent-subtle);color:var(--accent)}.table-type-tag.view{background:#10b98133;color:#34d399}.table-name{font-size:13px;font-family:var(--font-mono)}.explore-db-modal{display:flex;flex-direction:column;max-height:90vh}.explore-db-filters{display:grid;grid-template-columns:1fr 180px;gap:12px;margin-bottom:12px}.explore-db-filters label,.explore-db-search{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.explore-schema-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}.explore-schema-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer}.explore-schema-chip.active{border-color:var(--accent);background:var(--accent-subtle)}.explore-schema-chip input{margin:0}.metric-scan-card{border-color:var(--accent);background:linear-gradient(135deg,var(--accent-subtle) 0%,var(--bg-secondary) 55%)}.metric-scan-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.metric-scan-card-header h3{margin-bottom:4px;color:var(--accent)}.metric-scan-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:var(--accent-subtle);color:var(--accent);white-space:nowrap}.metric-scan-badge.disabled{background:#9ca3af26;color:var(--text-muted)}.metric-scan-card p,.metric-scan-card li{font-size:13px;color:var(--text-secondary);line-height:1.55}.metric-scan-card ul{margin:10px 0 14px;padding-left:20px}.metric-scan-settings{display:flex;flex-wrap:wrap;gap:20px 28px;align-items:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.metric-scan-settings label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--text-primary)}.metric-scan-settings input[type=number]{width:88px}.metric-scan-settings .studio-yaml-toggle{margin-bottom:2px}.metric-scan-meta{font-size:12px;color:var(--text-muted);margin-top:8px}.static-rules-heading{margin:8px 0 12px}.static-rules-heading h3{font-size:15px;font-weight:600;margin-bottom:4px}.insight-rule-composer{margin-bottom:20px}.insight-rule-composer textarea{width:100%;margin-top:6px}.explore-pack-items{margin:6px 0 0;padding-left:18px;font-size:13px;color:var(--text-secondary)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.schema-drift-panel{margin:16px 16px 0;padding:16px;border:1px solid #0f766e;border-radius:12px;background:var(--bg-secondary)}.schema-drift-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.schema-drift-header h3{margin:0 0 4px;color:#0f766e;font-size:16px}.schema-drift-header p{margin:0;max-width:640px;font-size:13px;color:var(--text-secondary)}.schema-drift-counts{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 8px;font-size:12px;color:#0f766e}.schema-drift-counts span{padding:2px 8px;border:1px solid #99f6e4;border-radius:999px;background:#f0fdfa}.schema-drift-group{margin-top:12px}.schema-drift-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.schema-drift-group-head h4{margin:0;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#0f766e}.schema-drift-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:start;margin-bottom:6px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary)}.schema-drift-row.is-selected{border-color:#0f766e;background:#f0fdfa}.schema-drift-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.schema-drift-copy strong{font-size:13px}.schema-drift-copy span,.schema-drift-copy em{font-size:12px;color:var(--text-secondary);font-style:normal}.schema-drift-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.schema-drift-actions select{max-width:180px;font-size:12px}.schema-drift-action-label{font-size:12px;font-weight:600;color:#0f766e;white-space:nowrap}.schema-drift-empty,.schema-drift-error{margin:12px 0 0;font-size:13px}.schema-drift-error{color:#b45309}.schema-drift-footer{display:flex;justify-content:flex-end;margin-top:12px}@media(max-width:960px){.nav-product,.nav-user .nav-company{display:none}.suggestions{grid-template-columns:1fr}}.insights-page{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,var(--bg-primary)) 0,var(--bg-primary) 280px)}.signals-board{max-width:1080px;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));border-radius:18px;box-shadow:var(--shadow-sm);padding:18px 20px 8px}.signals-mast{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:2px 4px 14px}.signals-kicker{margin:0 0 2px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.signals-mast h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.03em;color:var(--text-primary)}.signals-mast-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.signals-list{display:flex;flex-direction:column}.signal-card{padding:16px 4px 18px;border-top:1px solid var(--border)}.signals-list>.signal-card:first-child{border-top:none;padding-top:4px}.signal-card.unread{box-shadow:inset 3px 0 0 var(--accent);padding-left:12px}.signal-card-top{display:flex;justify-content:flex-end;min-height:0}.signal-card-top:not(:has(.signal-topic-pill)){display:none}.signal-topic-pill{display:inline-flex;align-items:center;margin-bottom:8px;padding:4px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:12px;line-height:1.3}.signal-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.signal-summary.with-hero{grid-template-columns:minmax(0,1fr) minmax(148px,190px);gap:8px 28px}.signal-copy h3{margin:8px 0;font-size:22px;line-height:1.25;font-weight:700;letter-spacing:-.03em;color:var(--text-primary)}.signal-lede,.signal-next,.signal-detail-body,.signal-chart-note,.signal-rec-detail,.signal-evidence-body,.signal-metric-caption,.signal-hero-caption{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.45}.signal-lede+.signal-lede{margin-top:2px}.signal-next{margin-top:8px;color:var(--text-primary)}.signal-next strong{font-weight:700}.signal-aside{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:8px;padding-left:18px;border-left:1px solid var(--border)}.signal-time{color:var(--text-muted);font-size:12px;white-space:nowrap}.signal-hero-value{margin:0;font-size:34px;line-height:1;font-weight:700;letter-spacing:-.04em}.signal-hero-caption{margin-top:6px;max-width:150px;font-size:12px;line-height:1.35;color:var(--text-muted)}.signal-tone-positive{color:var(--success)}.signal-tone-negative{color:var(--error)}.signal-tone-neutral{color:var(--text-primary)}.signal-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.signal-comparison{margin:0;font-size:13px;color:var(--text-secondary)}.signal-comparison .signal-tone-neutral{color:var(--text-secondary)}.signal-toggle{flex-shrink:0;border:none;border-radius:8px;padding:10px 16px;background:var(--accent);color:var(--accent-contrast);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.signal-toggle:hover{background:var(--accent-hover)}.signal-expanded{display:flex;flex-direction:column;gap:14px;margin-top:16px}.signal-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.signal-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.signal-tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:6px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.signal-source{color:var(--text-muted);font-size:13px}.signal-detail-title{margin:2px 0 0;font-size:22px;line-height:1.25;font-weight:700;letter-spacing:-.03em}.signal-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.signal-metric{padding:14px 16px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.signal-metric.emphasis{background:color-mix(in srgb,var(--success) 10%,var(--surface));border-color:color-mix(in srgb,var(--success) 28%,var(--border))}.signal-metric-label{margin:0;color:var(--text-muted);font-size:12px}.signal-metric-value{margin:6px 0 2px;font-size:26px;line-height:1.1;font-weight:700;letter-spacing:-.03em}.signal-metric-caption{font-size:12px;color:var(--text-muted)}.signal-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.8fr);gap:14px;align-items:start}.signal-split.single{grid-template-columns:1fr}.signal-chart-stack{display:flex;flex-direction:column;gap:14px;min-width:0}.signal-chart,.signal-recs,.signal-evidence{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:14px 16px 12px}.signal-chart-head,.signal-recs h4{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.signal-chart h4,.signal-recs h4{margin:0;font-size:16px;font-weight:700}.signal-chart-head p,.signal-recs-kicker{margin:2px 0 0;color:var(--text-muted);font-size:13px}.signal-chart-unit{color:var(--text-muted);font-size:12px;white-space:nowrap}.signal-bars{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.signal-bar{display:grid;grid-template-columns:minmax(110px,34%) minmax(0,1fr) auto;gap:10px;align-items:center}.signal-bar-label{color:var(--text-secondary);font-size:13px;line-height:1.3}.signal-bar-track{display:block;height:10px;border-radius:999px;background:var(--bg-tertiary);overflow:hidden}.signal-bar-fill{display:block;height:100%;border-radius:999px;background:var(--accent)}.signal-tone-fill-negative{background:var(--error)}.signal-tone-fill-neutral{background:var(--text-muted)}.signal-bar-value{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.signal-chart-note{margin-top:12px;font-size:12px;color:var(--text-muted)}.signal-recs ol{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.signal-recs li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start}.signal-rec-index{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--accent-subtle);color:var(--accent);font-size:12px;font-weight:700}.signal-rec-title{margin:0;font-size:14px;font-weight:700;line-height:1.35}.signal-rec-detail{margin-top:2px;font-size:13px}.signal-evidence{padding:0;background:color-mix(in srgb,var(--bg-tertiary) 65%,var(--surface))}.signal-evidence-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;border:none;background:transparent;color:var(--text-primary);font:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer}.signal-chevron{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid var(--text-secondary)}.signal-chevron.open{border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--text-secondary);border-bottom:none}.signal-evidence-body{margin:0;padding:0 14px 14px 28px;font-size:13px;color:var(--text-secondary)}.signal-empty-detail{margin:0;color:var(--text-muted);font-size:13px}.signal-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding-top:4px}.signal-prose{font-size:14px;color:var(--text-secondary)}.signals-settings,.insight-failures,.insight-scan-status{max-width:1080px;margin-top:20px}.insight-scan-status dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 16px;margin:0}.insight-scan-status dt{font-size:12px;color:var(--text-secondary)}.insight-failure{border-top:1px solid var(--border);padding:12px 0}.insight-failure header{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.insight-failure dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 16px;margin:0 0 12px}.insight-failure dt{font-size:12px;color:var(--text-secondary)}.insight-failure dd,.insight-scan-status dd{margin:0}.insight-queries{margin:0 0 12px}.insight-queries summary{cursor:pointer;font-size:13px}.insight-query-step{margin:8px 0 0;font-weight:600}.insight-query-missing{margin:8px 0 0;color:var(--text-secondary);font-size:13px}.signal-figure{margin:0}@media(max-width:800px){.signals-mast,.signal-foot,.signal-meta-row{flex-direction:column;align-items:stretch}.signal-summary.with-hero,.signal-split{grid-template-columns:1fr}.signal-aside{align-items:flex-start;text-align:left;border-left:none;border-top:1px solid var(--border);padding-left:0;padding-top:12px}.signal-hero-caption{max-width:none}.signal-toggle{width:100%}.signal-bar{grid-template-columns:1fr auto}.signal-bar-label{grid-column:1 / -1}}
