:root{--bg: #fafaf8;--surface: #ffffff;--surface-2: #f4f4f0;--border: #e6e5df;--border-strong: #d4d3cc;--ink: #14140f;--ink-2: #46453d;--ink-3: #76746a;--ink-4: #a8a69b;--accent: oklch(.55 .16 264);--accent-soft: oklch(.95 .04 264);--accent-ink: oklch(.4 .14 264);--warn: oklch(.65 .16 60);--warn-soft: oklch(.96 .05 70);--danger: oklch(.58 .19 25);--danger-soft: oklch(.96 .04 25);--info: oklch(.55 .13 240);--info-soft: oklch(.96 .03 240);--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--radius: 6px;--radius-sm: 4px;--shadow-sm: 0 1px 0 rgba(20, 20, 15, .04);--shadow: 0 1px 2px rgba(20, 20, 15, .06), 0 0 0 1px rgba(20, 20, 15, .04)}[data-theme=dark]{--bg: #0e0e0c;--surface: #181815;--surface-2: #1f1f1c;--border: #2a2a26;--border-strong: #3a3a34;--ink: #f0efe8;--ink-2: #c4c2b6;--ink-3: #8a8880;--ink-4: #5e5c54;--accent: oklch(.72 .16 264);--accent-soft: oklch(.28 .08 264);--accent-ink: oklch(.85 .13 264);--warn-soft: oklch(.28 .08 70);--danger-soft: oklch(.28 .08 25);--info-soft: oklch(.28 .07 240);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .04)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}[data-density=compact]{font-size:12px}[data-density=compact] .card{padding:12px}[data-density=compact] .tab{padding:6px 10px}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;height:48px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:8px;font-weight:600;letter-spacing:-.01em}.brand-mark{width:18px;height:18px;border-radius:4px;background:var(--accent);position:relative;display:grid;place-items:center;color:#fff;font-family:var(--mono);font-size:10px;font-weight:700}.brand-logo{height:24px;width:auto;max-width:150px;display:block}.brand-name{font-size:13px;color:var(--ink)}.brand-sep{color:var(--ink-4)}.brand-product{font-size:13px;color:var(--ink-2);font-weight:500}.topbar-spacer{flex:1}.tenant-switcher{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;position:relative}.tenant-switcher:hover{border-color:var(--border-strong)}.tenant-avatar{width:18px;height:18px;border-radius:4px;display:grid;place-items:center;font-family:var(--mono);font-size:10px;font-weight:700;color:var(--surface)}.tenant-name-wrap{display:flex;flex-direction:column;line-height:1.1}.tenant-name{font-size:12px;font-weight:500}.tenant-meta{font-size:10px;color:var(--ink-3);font-family:var(--mono)}.chevron{color:var(--ink-3)}.tenant-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:280px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #14140f14,0 0 0 1px #14140f0a;padding:4px;z-index:50}.tenant-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer}.tenant-option:hover{background:var(--surface-2)}.tenant-option[aria-selected=true]{background:var(--accent-soft)}.tenant-option-meta{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--ink-3)}.kbd{font-family:var(--mono);font-size:10px;padding:1px 5px;border:1px solid var(--border-strong);border-radius:3px;color:var(--ink-3);background:var(--surface-2)}.icon-btn{width:28px;height:28px;display:grid;place-items:center;border:1px solid transparent;background:transparent;border-radius:var(--radius-sm);color:var(--ink-3)}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.user-chip{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#d58679,#ad524d);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:600}.tabbar{display:flex;align-items:stretch;gap:0;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabbar::-webkit-scrollbar{display:none}.tab{display:flex;align-items:center;gap:8px;padding:0 14px;height:38px;border:none;background:transparent;color:var(--ink-3);font-size:13px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;position:relative}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.tab-count{font-family:var(--mono);font-size:10px;padding:1px 6px;border-radius:8px;background:var(--surface-2);color:var(--ink-3)}.tab[aria-selected=true] .tab-count{background:var(--ink);color:var(--bg)}.tab-badge{width:6px;height:6px;border-radius:50%;background:var(--accent)}.subbar{display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--bg);border-bottom:1px solid var(--border);font-size:12px;color:var(--ink-2);flex-wrap:wrap}.crumb{color:var(--ink-3)}.crumb strong{color:var(--ink);font-weight:500}.subbar-spacer{flex:1}.btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--ink);font-size:12px;font-weight:500;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn-primary:hover{background:var(--ink-2)}.btn-accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-accent:hover{background:var(--accent);border-color:var(--accent);color:#fff;filter:brightness(1.12)}.btn-danger{color:var(--danger)}.btn-danger:hover{background:var(--danger-soft)}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-3)}.btn-ghost:hover{color:var(--ink);background:var(--surface-2)}.btn-sm{padding:3px 8px;font-size:11px}.filter-group{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.filter-group .btn{border:none;border-radius:0;padding:5px 10px;border-right:1px solid var(--border)}.filter-group .btn:last-child{border-right:none}.filter-group .btn[aria-pressed=true]{background:var(--surface-2);color:var(--ink)}.filter-group .btn:not([aria-pressed=true]){color:var(--ink-3)}.main{flex:1;padding:16px 20px 60px;display:flex;flex-direction:column;gap:16px}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-2-1{grid-template-columns:2fr 1fr}.grid-1-2{grid-template-columns:1fr 2fr}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.card-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.card-title{font-size:12px;font-weight:600;letter-spacing:-.005em}.card-sub{font-size:11px;color:var(--ink-3);font-family:var(--mono)}.card-spacer{flex:1}.kpi{display:flex;flex-direction:column;gap:6px;padding:14px 16px}.kpi-label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.kpi-value{font-family:var(--mono);font-size:24px;font-weight:500;letter-spacing:-.02em;color:var(--ink);line-height:1.1}.kpi-delta{display:flex;align-items:center;gap:6px;font-size:11px;font-family:var(--mono);color:var(--ink-3)}.kpi-delta.up{color:var(--accent-ink)}.kpi-delta.down{color:var(--danger)}.kpi-spark{height:28px;margin-top:2px}.tbl{width:100%;border-collapse:collapse;font-size:12px}.tbl th,.tbl td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}.tbl th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:500;background:var(--surface-2);border-bottom:1px solid var(--border);position:sticky;top:0}.tbl td{color:var(--ink-2)}.tbl td.num{font-family:var(--mono);text-align:right;color:var(--ink)}.tbl tr:hover td{background:var(--surface-2)}.tbl tr:last-child td{border-bottom:none}.pill{display:inline-flex;align-items:center;gap:5px;padding:1px 7px;border-radius:10px;font-size:10px;font-family:var(--mono);border:1px solid transparent;white-space:nowrap}.pill .dot{width:5px;height:5px;border-radius:50%;background:currentColor}.pill.success{background:var(--accent-soft);color:var(--accent-ink)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.pill.info{background:var(--info-soft);color:var(--info)}.pill.muted{background:var(--surface-2);color:var(--ink-3)}.pill.outline{border-color:var(--border-strong);color:var(--ink-2);background:transparent}.platform-tag{font-family:var(--mono);font-size:10px;padding:1px 6px;border-radius:3px;border:1px solid var(--border);color:var(--ink-2)}.platform-tag.google{color:#0079b3;color:oklch(.55 .13 240);border-color:#abd4f2}.platform-tag.meta{color:#544ec5;border-color:#c4c9fc}.spark{display:flex;align-items:flex-end;gap:2px;height:28px}.spark span{flex:1;background:var(--ink-4);border-radius:1px;min-width:2px;transition:background .15s}.spark.accent span{background:var(--accent);opacity:.8}.spark span:last-child{background:var(--ink);opacity:1}.bar-row{display:grid;grid-template-columns:140px 1fr 60px;gap:10px;align-items:center;padding:6px 0;font-size:12px}.bar-row+.bar-row{border-top:1px solid var(--border)}.bar-track{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden;position:relative}.bar-fill{height:100%;background:var(--ink);border-radius:3px}.bar-fill.accent{background:var(--accent)}.bar-fill.warn{background:var(--warn)}.bar-fill.danger{background:var(--danger)}.bar-row .num{font-family:var(--mono);font-size:11px;text-align:right;color:var(--ink-2)}.bar-row .label{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.approval{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:all .15s}.approval.resolved{opacity:.55}.approval-head{display:flex;align-items:flex-start;gap:10px}.approval-agent{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.approval-title{font-size:13px;font-weight:600;color:var(--ink);margin:4px 0 0}.approval-reason{font-size:12px;color:var(--ink-2);line-height:1.5}.approval-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11px;color:var(--ink-3);font-family:var(--mono);padding-top:8px;border-top:1px dashed var(--border)}.approval-meta .k{color:var(--ink-4)}.approval-meta .v{color:var(--ink-2)}.approval-actions{display:flex;gap:6px;align-items:center}.diff{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface-2);border-radius:var(--radius-sm);font-family:var(--mono);font-size:11px}.diff .from{color:var(--ink-3);text-decoration:line-through}.diff .arrow{color:var(--ink-4)}.diff .to{color:var(--accent-ink);font-weight:500}.lead-row{display:grid;grid-template-columns:200px 1fr 120px 120px 80px;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);font-size:12px}.lead-row:hover{background:var(--surface-2)}.lead-name{display:flex;align-items:center;gap:8px;font-weight:500}.lead-source{color:var(--ink-3);font-family:var(--mono);font-size:11px}.score-bar{display:flex;align-items:center;gap:6px}.score-bar-track{width:60px;height:4px;background:var(--surface-2);border-radius:2px}.score-bar-fill{height:100%;border-radius:2px;background:var(--ink)}.score-num{font-family:var(--mono);font-size:11px;color:var(--ink);width:24px;text-align:right}.seq-step{display:grid;grid-template-columns:36px 1fr;gap:16px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.seq-num{width:28px;height:28px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink-2)}.seq-step.active .seq-num{background:var(--ink);color:var(--bg);border-color:var(--ink)}.seq-meta{display:flex;gap:10px;align-items:center;margin-bottom:4px;font-size:11px;color:var(--ink-3);font-family:var(--mono)}.seq-subject{font-size:13px;font-weight:600;margin:4px 0}.seq-body{font-size:12px;color:var(--ink-2);line-height:1.55}.funnel-stage{display:grid;grid-template-columns:80px 1fr 80px 60px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}.funnel-stage:last-child{border-bottom:none}.funnel-bar{height:22px;background:var(--ink);border-radius:3px;min-width:4px;transition:width .4s}.funnel-bar.dim{background:var(--ink-4)}.funnel-count{font-family:var(--mono);text-align:right;color:var(--ink)}.funnel-drop{font-family:var(--mono);font-size:11px;color:var(--ink-3);text-align:right}.audit-row{display:grid;grid-template-columns:80px 140px 70px 1fr 100px;gap:12px;padding:6px 0;font-size:11px;font-family:var(--mono);border-bottom:1px solid var(--border);color:var(--ink-2)}.audit-row .ts{color:var(--ink-3)}.audit-row .actor{color:var(--ink)}.audit-row .action{font-weight:500}.audit-row .action.approved,.audit-row .action.executed{color:var(--accent-ink)}.audit-row .action.flagged,.audit-row .action.rejected{color:var(--danger)}.audit-row .action.proposed,.audit-row .action.generated,.audit-row .action.sent{color:var(--info)}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.voice-chip{font-size:11px;padding:3px 8px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);color:var(--ink-2);font-family:var(--mono)}.voice-chip.banned{color:var(--danger);border-color:#edc2bd;background:var(--danger-soft);text-decoration:line-through}.voice-chip.approved{color:var(--accent-ink);border-color:#bdceef;background:var(--accent-soft)}.copy-card{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.copy-text{font-size:13px;color:var(--ink);line-height:1.5}.copy-meta{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--ink-3);font-family:var(--mono)}.copy-score-bar{flex:1;height:3px;background:var(--surface-2);border-radius:2px;overflow:hidden}.copy-score-fill{height:100%;background:var(--accent)}.divider{height:1px;background:var(--border);margin:8px 0}.muted{color:var(--ink-3)}.mono{font-family:var(--mono)}.flex{display:flex;align-items:center}.gap-sm{gap:6px}.gap-md{gap:10px}.gap-lg{gap:16px}.dim{opacity:.65}.search{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:240px}.search input{border:none;outline:none;background:transparent;flex:1;font-size:12px}.search input::placeholder{color:var(--ink-4)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--ink-3);font-size:12px;text-align:center}.toast{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:var(--radius);font-size:12px;z-index:1000;display:flex;align-items:center;gap:8px;box-shadow:0 8px 24px #00000026;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.banner{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--accent-soft);border:1px solid oklch(.85 .06 264);border-radius:var(--radius);font-size:12px;color:var(--accent-ink)}.banner.warn{background:var(--warn-soft);border-color:#f2d1ad;color:#7f4400;color:oklch(.45 .16 60)}.banner-spacer{flex:1}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#eef1f5;padding:24px;font-family:var(--sans)}.login-card2{display:flex;width:860px;max-width:95vw;background:#fff;border-radius:20px;box-shadow:0 8px 40px #0f2d5c1a;overflow:hidden}.login-left{flex:1;background:#f8f9fb;padding:48px 40px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-right:1px solid #e8ecf1;min-height:480px}.login-right{flex:1;padding:48px 44px;display:flex;flex-direction:column;justify-content:center}.login-headline{font-size:30px;font-weight:800;color:#0f2d5c;line-height:1.18;margin:0;max-width:340px}.login-tag{font-size:18px;font-weight:600;color:#334155;line-height:1.45;margin:22px 0 8px;max-width:320px}.login-tag2{font-size:15px;color:#475569;line-height:1.55;margin:0;max-width:320px}.login-trust{display:flex;gap:26px;margin-top:40px}.login-trust .t-item{text-align:center;font-size:10px;color:#475569;max-width:84px;line-height:1.3}.login-trust .t-item svg{color:#0f2d5c;margin-bottom:3px}.login-trust .t-item b{display:block;font-weight:600}.login-logo{max-width:230px;height:auto;display:block;margin:0 auto 6px}.login-subtitle{text-align:center;font-size:13px;color:#64748b;margin-bottom:28px}.login-subtitle .ai{color:var(--accent);font-weight:700}.login-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:6px}.login-input{width:100%;height:40px;padding:0 12px;border:1px solid #d7dde5;border-radius:8px;font-size:14px;outline:none;box-sizing:border-box;transition:border-color .15s}.login-input:focus{border-color:var(--accent)}.login-submit{width:100%;height:44px;margin-top:2px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:filter .15s}.login-submit:hover{filter:brightness(1.08)}.login-submit:disabled{opacity:.7;cursor:wait}.login-error{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:var(--danger);background:var(--danger-soft);border-radius:8px;padding:9px 12px;line-height:1.4}.login-foot2{text-align:center;margin-top:18px;font-size:12px;color:#94a3b8}@media (max-width: 720px){.login-card2{flex-direction:column}.login-left{border-right:none;border-bottom:1px solid #e8ecf1;min-height:0;padding:32px 28px}.login-right{padding:32px 28px}}.source-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:10px;padding:1px 7px;border-radius:10px;border:1px solid transparent;white-space:nowrap}.source-badge .dot{width:5px;height:5px;border-radius:50%;background:currentColor}.source-badge.live{background:var(--accent-soft);color:var(--accent-ink)}.source-badge.preview{background:var(--warn-soft);color:#7f4400;color:oklch(.45 .16 60)}.source-badge.loading{background:var(--surface-2);color:var(--ink-3)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14140f73;display:grid;place-items:center;z-index:200;padding:24px}.modal{width:100%;max-width:620px;max-height:88vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 16px 48px #14140f38;display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface)}.modal-title{font-size:14px;font-weight:600}.modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.modal-foot{display:flex;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--border);position:sticky;bottom:0;background:var(--surface)}.wizard-steps{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-3)}.wizard-step{display:flex;align-items:center;gap:6px}.wizard-step .num{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:10px;font-weight:600;background:var(--surface-2);border:1px solid var(--border);color:var(--ink-3)}.wizard-step.active .num{background:var(--accent);border-color:var(--accent);color:#fff}.wizard-step.done .num{background:var(--ink);border-color:var(--ink);color:var(--bg)}.wizard-step.active span{color:var(--ink);font-weight:500}.form-field{display:flex;flex-direction:column;gap:5px}.form-field>span{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.form-field input,.form-field select,.form-field textarea{padding:7px 10px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);outline:none;font-size:13px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-hint{font-size:11px;color:var(--ink-4)}.review-row{display:grid;grid-template-columns:200px 1fr;gap:12px;padding:7px 0;border-bottom:1px solid var(--border);font-size:12px}.review-row:last-child{border-bottom:none}.review-row .k{color:var(--ink-3)}.review-row .v{color:var(--ink);font-family:var(--mono);word-break:break-word}
