:root{--background:#f5f7fb;--surface:#fff;--surface-subtle:#edf1f8;--border:#e1e7f0;--text:#0b1020;--muted:#586074;--accent:#057fff;--accent-strong:#046fe0;--danger:#cb3a31;--code:#0b1020}*{box-sizing:border-box}body{background:var(--background);min-height:100vh;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button:not(:disabled),select,summary{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}pre,code,textarea{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.login-page{place-items:center;min-height:100vh;padding:32px;display:grid}.login-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:18px;width:min(420px,100%);padding:28px;display:grid;box-shadow:0 18px 48px #0f172a1a}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:700}h1,h2{letter-spacing:0;margin:0}h1{font-size:28px;line-height:1.15}h2{font-size:18px;line-height:1.2}label{color:var(--muted);gap:8px;font-size:13px;font-weight:700;display:grid}input,select,textarea{width:100%;color:var(--text);border:1px solid var(--border);background:#fff;border-radius:6px;outline:none}input,select{min-height:40px;padding:0 12px}textarea{resize:vertical;padding:12px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #057fff2e}button{min-height:38px;color:var(--text);border:1px solid var(--border);background:#fff;border-radius:6px;padding:0 14px;font-weight:700}.primary{color:#fff;background:var(--accent);border-color:var(--accent)}.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.error{color:var(--danger);background:#fff1f0;border:1px solid #ffcdc7;border-radius:6px;padding:10px 12px;font-size:13px;font-weight:700}.dashboard{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#e5edf5;background:#0b1020;align-content:start;gap:28px;padding:24px;display:grid}.sidebar h1{color:#fff;font-size:24px}.sidebar nav{gap:8px;display:grid}.sidebar nav button,.sidebar-footer button{color:#d9e3ee;text-align:left;background:0 0;border-color:#ffffff1f;justify-content:flex-start}.sidebar nav button:hover,.sidebar nav .nav-active{color:#fff;background:#ffffff1a;border-color:#ffffff38}.sidebar-footer{color:#a8b3c2;gap:10px;margin-top:24px;font-size:13px;display:grid}.workspace{grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.topbar{background:var(--surface);border-bottom:1px solid var(--border);grid-template-columns:minmax(260px,460px) minmax(0,1fr);align-items:end;gap:18px;padding:18px 24px;display:grid}.tenant-meta{color:var(--muted);justify-items:end;gap:4px;font-size:12px;display:grid}.tenant-meta span{overflow-wrap:anywhere}.content-grid{grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:18px;min-height:0;padding:18px 24px 24px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-content:start;gap:16px;min-width:0;min-height:0;padding:18px;display:grid}.panel-header{grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:center;gap:12px;display:grid}.segmented{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(2,1fr);gap:6px;padding:4px;display:grid}.segmented button{background:0 0;border-color:#0000}.segmented .selected{border-color:var(--border);background:#fff;box-shadow:0 1px 2px #0f172a14}.prompt-editor{min-height:360px}.json-input{min-height:150px}.json-block,.response-stack pre{color:#e8edf2;background:var(--code);white-space:pre-wrap;border-radius:6px;max-height:650px;margin:0;padding:14px;font-size:12px;line-height:1.5;overflow:auto}.response-stack{gap:12px;min-width:0;display:grid}.metric-row{flex-wrap:wrap;gap:8px;display:flex}.metric-row span{color:var(--muted);background:var(--surface-subtle);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:700}.field-status{color:var(--muted);margin:-6px 0 0;font-size:12px;font-weight:700;line-height:1.5}.field-status strong{color:var(--accent)}.prompt-actions{flex-wrap:wrap;gap:10px;display:flex}.success{color:#166534;background:#dcfce7;border:1px solid #86efac;border-radius:6px;padding:10px 12px;font-size:13px;font-weight:700}.pagination-bar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:700;display:flex}.pagination-actions{gap:8px;display:flex}.pagination-actions button{min-height:34px;padding:7px 12px}.object-list{gap:8px;max-height:680px;display:grid;overflow:auto}.object-list button{text-align:left;grid-template-columns:minmax(0,1fr) 90px 150px;align-items:center;gap:10px;min-height:54px;display:grid}.object-list strong,.object-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.object-list span{color:var(--muted);font-size:12px}.empty{min-height:180px;color:var(--muted);background:var(--surface-subtle);border:1px dashed var(--border);border-radius:8px;place-items:center;font-weight:700;display:grid}.daily-scoring-stack{align-content:start;gap:18px;min-width:0;padding:18px 24px 24px;display:grid}.production-banner{grid-template-columns:minmax(0,1fr) auto;align-items:center}.daily-editor-grid{grid-template-columns:minmax(0,1fr);padding:0}.simulation-control-panel{order:-1}.preview-ready-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.preview-ready-card>div{gap:4px;display:grid}.preview-ready-card span{color:var(--muted);font-size:12px}.preview-drawer{z-index:100;border-left:1px solid var(--border);background:#fff;grid-template-rows:auto minmax(0,1fr);width:min(900px,100vw - 280px);min-width:620px;animation:.18s ease-out preview-drawer-in;display:grid;position:fixed;inset:0 0 0 auto;box-shadow:-18px 0 50px #0f172a2e}@keyframes preview-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.preview-drawer-header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.preview-drawer-header>div:first-child{gap:2px;display:grid}.preview-drawer-header>div:last-child{gap:8px;display:flex}.preview-drawer-header button{width:36px;height:36px;padding:0;font-size:20px}.preview-drawer-header .preview-json-toggle{width:auto;padding:0 12px;font-size:12px}.preview-drawer-body{min-height:0;padding:18px;overflow:auto}.preview-json-view{gap:10px;display:grid}.preview-drawer-tab{z-index:100;writing-mode:vertical-rl;border-radius:8px 0 0 8px;padding:14px 9px;position:fixed;top:42%;right:0;box-shadow:-6px 4px 18px #0f172a29}.simulation-context-grid{grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(150px,1fr));gap:10px;display:grid}.preview-result,.preview-overview,.preview-section,.excluded-section{gap:14px;min-width:0;display:grid}.preview-title-row,.preview-section-heading,.preview-item-title,.preview-item-facts{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.preview-item-facts .decision-math-badge{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:4px 8px}.preview-title-row h3,.preview-section-heading h3{margin:0}.preview-ok,.preview-warning,.preview-item-title>span,.preview-section-heading>span{border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.preview-ok{color:#166534;background:#dcfce7}.preview-warning,.status-overdue{color:#9a3412;background:#ffedd5}.preview-metrics{grid-template-columns:repeat(5,minmax(90px,1fr));gap:8px;display:grid}.preview-metrics>div{background:var(--surface-subtle);border:1px solid var(--border);border-radius:7px;gap:2px;padding:10px;display:grid}.preview-metrics strong{font-size:17px}.preview-metrics span,.preview-item-main>p,.excluded-row p,.decision-line span,.factor-breakdown-table small{color:var(--muted);font-size:11px}.preview-warning-box{color:#854d0e;background:#fefce8;border:1px solid #fde68a;border-radius:6px;padding:9px 11px;font-size:12px;font-weight:700}.preview-test-guide{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;padding:12px 14px;font-size:12px}.preview-test-guide ol{margin:8px 0 0;padding-left:20px;line-height:1.6}.layer-rule-list,.preview-item-list,.excluded-list{gap:8px;margin-top:10px;display:grid}.layer-rule-list>div{background:var(--surface-subtle);border-radius:6px;grid-template-columns:28px minmax(150px,.7fr) minmax(220px,1.3fr);align-items:center;gap:8px;padding:8px;display:grid}.layer-rule-list>div>strong{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.layer-rule-list small{color:var(--muted)}.preview-section,.excluded-section,.technical-json{border-top:1px solid var(--border);padding-top:14px}.preview-item-row{border:1px solid var(--border);border-radius:7px;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:11px;display:grid}.preview-position{width:26px;height:26px;color:var(--accent);background:#eff6ff;border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.preview-item-main{gap:5px;min-width:0;display:grid}.preview-item-main>p,.excluded-row p{margin:0}.preview-item-main>.decision-equation{color:#334155;overflow-wrap:anywhere;background:#f8fafc;border-left:3px solid #3b82f6;border-radius:4px;margin-top:3px;padding:7px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.preview-item-title{justify-content:flex-start}.preview-item-title>span{color:var(--muted);background:var(--surface-subtle)}.preview-item-facts{color:var(--muted);justify-content:flex-start;font-size:11px;font-weight:700}.decision-explanation{grid-column:2}.decision-line{border-bottom:1px solid var(--border);grid-template-columns:90px minmax(0,1fr);gap:10px;padding:6px 0;font-size:12px;display:grid}.decision-math-block{background:#f8fafc;border:1px solid #cbd5e1;border-radius:7px;gap:10px;margin-top:12px;padding:12px;display:grid}.decision-math-title,.decision-math-result{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.decision-math-title span{color:#1d4ed8;font-size:11px;font-weight:800}.decision-math-block code{color:#e8edf2;background:var(--code);white-space:normal;border-radius:6px;padding:9px;font-size:11px}.decision-rule-explanation{color:#334155;margin:0;font-size:12px;line-height:1.5}.decision-trace-steps{counter-reset:decision-step;gap:0;margin:0;padding:0;list-style:none;display:grid}.decision-trace-steps li{border-top:1px solid var(--border);counter-increment:decision-step;gap:3px;padding:9px 8px 9px 38px;display:grid;position:relative}.decision-trace-steps li:before{color:#1d4ed8;content:counter(decision-step);background:#dbeafe;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:grid;position:absolute;top:9px;left:4px}.decision-trace-steps span{color:var(--muted);font-size:11px}.decision-technical-details{padding-top:4px}.decision-technical-details code{margin-top:8px;display:block}.decision-math-components{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;display:grid}.decision-math-components>div{border:1px solid var(--border);background:#fff;border-radius:6px;gap:3px;padding:8px;display:grid}.decision-math-components span,.decision-math-result span{color:var(--muted);font-size:10px}.decision-math-components strong,.decision-math-result strong{overflow-wrap:anywhere;font-size:12px}.decision-math-result{border-top:1px solid var(--border);padding-top:9px}.factor-breakdown-table{border:1px solid var(--border);border-radius:6px;margin-top:10px;display:grid;overflow:auto}.factor-debug-list,.rule-trace-list{gap:10px;margin-top:12px;display:grid}.factor-debug-card{border:1px solid var(--border);border-radius:8px;gap:10px;padding:12px;display:grid}.factor-debug-heading,.rule-trace-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.factor-debug-heading>div,.rule-trace-heading>div{gap:2px;display:grid}.factor-debug-heading small,.rule-trace-heading small,.factor-calculation-result>span{color:var(--muted);font-size:10px}.factor-debug-heading>strong{color:#1d4ed8}.factor-debug-summary,.decision-business-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;display:grid}.factor-debug-summary>div,.decision-business-facts>div{border:1px solid var(--border);background:#f8fafc;border-radius:6px;gap:3px;padding:8px;display:grid}.factor-debug-summary span,.decision-business-facts span{color:var(--muted);font-size:10px}.rule-trace{background:snow;border:1px solid #fecaca;border-radius:7px;padding:10px}.rule-trace.matched{background:#f0fdf4;border-color:#86efac}.rule-trace-heading>span{color:#991b1b;font-size:10px;font-weight:800}.rule-trace.matched .rule-trace-heading>span{color:#166534}.rule-inputs{flex-wrap:wrap;gap:6px;margin:9px 0 3px;display:flex}.rule-inputs>span{color:#334155;background:#e2e8f0;border-radius:999px;padding:4px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px}.factor-calculation-result,.decision-score-equation{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;gap:5px;padding:10px;display:grid}.factor-calculation-result code{color:inherit;background:0 0;font-size:11px}.factor-breakdown-table>div{grid-template-columns:minmax(220px,1fr) 60px 60px 80px;align-items:center;gap:8px;padding:8px;font-size:11px;display:grid}.factor-breakdown-table>div+div{border-top:1px solid var(--border)}.factor-breakdown-table>div>span:first-child{gap:3px;display:grid}.factor-breakdown-header{color:var(--muted);background:var(--surface-subtle);font-weight:800}.excluded-list{max-height:620px;overflow:auto}.excluded-row{background:snow;border:1px solid #fee2e2;border-radius:7px;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr);gap:10px;padding:11px;display:grid}.excluded-row>div:first-child{gap:4px;display:grid}.excluded-row>div:first-child>span{color:var(--muted);font-size:11px}.exclusion-reason{align-content:center;gap:4px;display:grid}.exclusion-reason strong{color:var(--danger);font-size:12px}.exclusion-reason span{color:var(--muted);font-size:11px}.excluded-row>details{grid-column:1/-1}.preview-empty{color:var(--muted);background:var(--surface-subtle);border:1px dashed var(--border);text-align:center;border-radius:6px;padding:16px;font-size:12px;font-weight:700}.technical-json .json-block{margin-top:10px}.factor-list,.version-list,.simulation-table{gap:10px;display:grid}.factor-card{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;gap:14px;padding:14px;display:grid}.factor-grid{grid-template-columns:minmax(150px,.8fr) minmax(220px,1.4fr) 130px;gap:10px;display:grid}.factor-grid-secondary{grid-template-columns:minmax(180px,1fr) 140px minmax(180px,1fr)}.range-inputs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.rules-editor,.signals-editor{background:#fff;min-height:180px;font-size:12px;line-height:1.45}.signals-editor{min-height:300px;margin-top:10px}.weight-valid{color:#166534}.weight-invalid{color:var(--danger)}.simulation-table,.version-list{max-height:420px;overflow:auto}.simulation-table>div,.version-list>div{border:1px solid var(--border);border-radius:6px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px;font-size:12px;display:grid}.simulation-breakdown{grid-column:1/-1}.simulation-breakdown pre{color:#e8edf2;background:var(--code);white-space:pre-wrap;border-radius:6px;max-height:300px;margin:8px 0 0;padding:10px;font-size:11px;overflow:auto}.version-list>div{grid-template-columns:60px 90px minmax(140px,1fr) auto}details{gap:10px;display:grid}summary{color:var(--accent);font-weight:800}@media (max-width:980px){.dashboard,.content-grid,.daily-editor-grid,.topbar,.simulation-context-grid,.sidebar,.object-list button,.production-banner,.factor-grid,.simulation-table>div,.version-list>div,.preview-metrics,.layer-rule-list>div,.excluded-row,.factor-breakdown-table>div{grid-template-columns:1fr}.decision-explanation{grid-column:1/-1}.preview-drawer{width:100vw;min-width:0}}
