/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:var(--font-geist-sans);--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.table{display:table}}.supplier-entry{margin-top:16px;padding-bottom:20px}.supplier-entry>.primary-button{width:calc(100% - 42px);margin:4px 21px 0}:root{--bg:#090e12;--surface:#111a21;--surface-2:#151f27;--surface-3:#0d141a;--line:#cadae221;--line-soft:#cadae214;--text:#e9eef0;--muted:#8c9aa2;--dim:#61717a;--accent:#dc7b53;--accent-2:#f09a6b;--teal:#6bc4b2;--yellow:#e7b961;--red:#e66b6b}html{background:var(--bg)}button,input,textarea,select{font:inherit;letter-spacing:0}.app-shell{background:var(--bg);min-height:100vh}.topbar{z-index:30;border-bottom:1px solid var(--line-soft);background:#090e12f5;grid-template-columns:280px 1fr auto;align-items:center;height:68px;display:grid;position:fixed;inset:0 0 auto}.brand-block{border-right:1px solid var(--line-soft);align-items:center;gap:11px;height:68px;padding:0 20px;display:flex}.brand-mark{flex:0 0 24px;width:24px;height:24px;position:relative}.brand-mark span{border:1.5px solid var(--accent);width:9px;height:9px;display:block;position:absolute;transform:rotate(32deg)}.brand-mark span:first-child{top:7px;left:0}.brand-mark span:nth-child(2){border-color:var(--yellow);top:2px;left:8px}.brand-mark span:nth-child(3){border-color:var(--teal);top:13px;left:9px}.brand-name{font-size:14px;font-weight:700;line-height:1.1}.brand-subtitle{color:var(--dim);white-space:nowrap;margin-top:4px;font-size:9px}.topbar-center{align-items:center;gap:27px;min-width:0;padding:0 26px;display:flex}.top-metric{color:var(--dim);white-space:nowrap;font-size:12px}.top-metric strong{color:var(--text);margin-left:6px;font-size:13px}.topbar-actions{gap:10px;padding:0 18px;display:flex}.status-pill,.grade-badge,.decision-status,.run-id{white-space:nowrap;align-items:center;display:inline-flex}.status-pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;gap:8px;padding:8px 12px;font-size:11px}.status-pill i{background:var(--teal);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #6bc4b21f}.grade-badge{min-width:34px;color:var(--teal);background:#6bc4b21a;border:1px solid #6bc4b240;border-radius:6px;justify-content:center;padding:7px 10px;font-size:12px;font-weight:700}.decision-status{color:var(--yellow);background:#e7b96117;border:1px solid #e7b9613d;border-radius:999px;padding:5px 9px;font-size:10px}.run-id{color:var(--dim);font-family:var(--font-geist-mono), monospace;font-size:10px}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#1b120e;font-weight:700}.primary-button:hover{background:var(--accent-2);border-color:var(--accent-2);transform:translateY(-1px)}.secondary-button{background:var(--surface-2);color:var(--text);border:1px solid #cadae233;font-weight:600}.ghost-button{border:1px solid var(--line);color:var(--muted);background:0 0}.button-dot{vertical-align:middle;background:#251712;border-radius:50%;width:6px;height:6px;margin-right:9px;display:inline-block}.text-button{color:var(--muted);background:0 0;border:0;padding:0;font-size:12px}.text-button span{color:var(--accent)}.full{width:100%}.sidebar{z-index:20;border-right:1px solid var(--line-soft);background:#0b1116;flex-direction:column;justify-content:space-between;width:196px;padding:16px 10px 14px;display:flex;position:fixed;top:68px;bottom:0;left:0}.sidebar nav{gap:4px;display:grid}.nav-item{width:100%;min-height:41px;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:13px;padding:0 15px;display:flex}.nav-item.active{color:#f6d8c8;background:#dc7b5324;border-color:#dc7b5340}.nav-icon{width:14px;color:var(--dim);text-align:center;font-size:15px}.sidebar-footer{color:var(--dim);gap:12px;padding:0 8px;font-size:10px;display:grid}.engine-chip{white-space:nowrap;align-items:center;gap:7px;display:flex}.engine-chip span,.status-text:before{background:var(--teal);border-radius:50%;width:6px;height:6px;display:inline-block}.server-time{color:#52616a;font-family:var(--font-geist-mono), monospace;font-size:9px}.workspace{min-height:100vh;margin-left:196px;padding:68px 0 0}.workspace-inner{max-width:1440px;margin:0 auto;padding:35px 26px 50px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:23px;display:flex}.page-heading h1{letter-spacing:-.02em;margin:4px 0 7px;font-size:28px;line-height:1.12}.page-heading p{max-width:760px;color:var(--muted);margin:0;line-height:1.6}.eyebrow,.panel-kicker{color:var(--accent-2);font-family:var(--font-geist-mono), monospace;letter-spacing:.13em;text-transform:uppercase;font-size:10px}.as-of{color:var(--dim);white-space:nowrap;padding-bottom:5px;font-size:11px}.panel{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-width:0}.panel-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 21px 16px;display:flex}.panel-header h2{margin:5px 0 0;font-size:17px;line-height:1.25}.hero-grid,.dashboard-lower,.market-grid,.factor-hero,.forecast-layout,.scenario-layout,.procurement-layout{gap:16px;display:grid}.hero-grid{grid-template-columns:1.04fr .96fr}.regime-row{align-items:center;gap:19px;margin:27px 0 18px;display:flex}.regime-dial{background:#dc7b5308;border:1px solid #dc7b536b;border-radius:50%;flex:0 0 86px;place-items:center;width:86px;height:86px;display:grid;box-shadow:inset 0 0 0 8px #dc7b5306}.regime-dial div{width:64px;height:64px;color:var(--accent-2);border:1px dashed #dc7b5359;border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.regime-title{margin:0 0 5px;font-size:24px}.regime-copy{max-width:380px;color:var(--muted);margin:0;line-height:1.55}.pressure-track{background:linear-gradient(90deg,#5cb99f 0%,#c9b860 50%,#dc7b53 74%,#d95a69 100%);border-radius:999px;height:5px;margin-top:17px;overflow:hidden}.pressure-track span{border-radius:inherit;background:#090e129e;height:100%;display:block;transform:translate(100%)}.pressure-scale{color:var(--dim);justify-content:space-between;margin-top:7px;font-size:9px;display:flex}.hero-kpis{grid-template-columns:repeat(4,1fr);margin-top:26px;display:grid}.hero-kpis>div{border-left:1px solid var(--line);gap:5px;padding-left:14px;display:grid}.hero-kpis>div:first-child{border-left:0;padding-left:0}.hero-kpis strong{font-size:22px;line-height:1}.hero-kpis small,.kpi-card small{font-size:10px}.forecast-chart{height:220px;margin:5px 20px 0;position:relative;overflow:hidden}.chart-grid{position:absolute;inset:8px 0 25px}.chart-grid i{border-top:1px solid var(--line-soft);position:absolute;left:0;right:0}.chart-band{background:#dc7b5333;border:1px solid #dc7b5340;position:absolute;inset:8px 0 25px}.chart-midline{position:absolute;inset:8px 0 25px}.chart-point{border:2px solid var(--accent);background:var(--surface);border-radius:50%;width:8px;height:8px;display:block;position:absolute;transform:translate(-50%,-50%)}.chart-labels{color:var(--dim);font-family:var(--font-geist-mono), monospace;justify-content:space-between;font-size:9px;display:flex;position:absolute;bottom:0;left:0;right:0}.chart-axis-note,.chart-legend{color:var(--dim);justify-content:space-between;font-size:10px;display:flex}.chart-axis-note{position:absolute;bottom:0;left:0;right:0}.chart-legend{justify-content:flex-start;gap:15px;padding:0 20px}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend i{width:11px;height:5px;display:inline-block}.legend-mid{background:var(--accent);height:2px!important}.legend-now{background:var(--teal);border-radius:50%;width:5px!important;height:5px!important}.kpi-strip{grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0;display:grid}.kpi-card{border:1px solid var(--line);background:var(--surface-3);border-radius:10px;gap:7px;min-height:91px;padding:17px 16px 14px;display:grid}.kpi-card strong{font-size:21px;line-height:1}.dashboard-lower{grid-template-columns:1.02fr 1.05fr .9fr}.dashboard-lower>.panel{min-height:265px}.factor-list{padding:0 21px 18px}.factor-row{border:0;border-bottom:1px solid var(--line-soft);width:100%;color:var(--text);text-align:left;background:0 0;grid-template-columns:28px 1.2fr 1fr 50px;align-items:center;gap:11px;padding:10px 0;display:grid}.factor-row:last-child{border-bottom:0}.factor-rank{color:var(--dim);font-family:var(--font-geist-mono), monospace;font-size:10px}.factor-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.factor-row strong{color:var(--accent-2);font-family:var(--font-geist-mono), monospace;text-align:right;font-size:11px}.factor-bar,.allocation-bar,.model-row i,.allocation-visual i,.supplier-progress i,.impact-row i,.quality-meter i{background:#0a1014;border-radius:999px;height:5px;display:block;overflow:hidden}.factor-bar i,.allocation-bar i,.model-row b,.supplier-progress b,.impact-row b,.quality-meter b{border-radius:inherit;background:linear-gradient(90deg, var(--teal), var(--accent));height:100%;display:block}.decision-card .panel-header,.risk-card .panel-header{padding-bottom:11px}.decision-summary,.risk-card>p{color:var(--muted);margin:0;padding:0 21px;line-height:1.6}.allocation-list{gap:13px;padding:18px 21px 21px;display:grid}.allocation-row{color:var(--muted);grid-template-columns:100px 1fr auto;align-items:center;gap:10px;font-size:11px;display:grid}.allocation-row strong{color:var(--text);font-family:var(--font-geist-mono), monospace;font-size:10px}.allocation-bar{height:5px}.risk-score{color:var(--red);font-family:var(--font-geist-mono), monospace;font-size:24px}.risk-action{background:#dc7b530f;border:1px solid #dc7b532b;border-radius:8px;gap:5px;margin:16px 21px;padding:12px;display:grid}.risk-action span{color:var(--accent-2);font-size:10px}.risk-action strong{color:#e6d7d0;font-size:11px;line-height:1.5}.event-mini-list{gap:10px;padding:0 21px 18px;display:grid}.event-mini{border-top:1px solid var(--line-soft);color:var(--muted);align-items:flex-start;gap:9px;padding-top:9px;font-size:11px;line-height:1.45;display:flex}.dot{background:var(--yellow);border-radius:50%;flex:0 0 5px;width:5px;height:5px;margin-top:5px;display:block}.market-grid{grid-template-columns:1.62fr .92fr}.segmented{border:1px solid var(--line);background:var(--surface-3);border-radius:8px;gap:4px;padding:3px;display:flex}.segmented button{color:var(--dim);background:0 0;border:0;border-radius:5px;padding:7px 9px;font-size:10px}.mini-market-chart{border-bottom:1px solid var(--line);align-items:flex-end;gap:8px;height:152px;margin:9px 22px 0;padding:0 0 15px;display:flex}.mini-market-chart span{flex:1;align-items:flex-end;min-width:8px;height:100%;display:flex;position:relative}.mini-market-chart span:before{content:"";background:var(--line-soft);height:1px;position:absolute;inset:0 0 auto}.mini-market-chart i{background:var(--accent);opacity:.78;border-radius:3px 3px 0 0;width:100%;display:block}.market-stat-row{align-items:center;gap:12px;padding:15px 22px 18px;display:flex}.market-stat-row strong{font-family:var(--font-geist-mono), monospace;font-size:18px}.market-stat-row span{color:var(--dim);font-size:10px}.market-stat-row em{color:var(--teal);margin-left:auto;font-size:11px;font-style:normal}.source-list{gap:0;padding:0 21px 18px;display:grid}.source-item{border-bottom:1px solid var(--line-soft);grid-template-columns:8px 1fr auto;align-items:center;gap:9px;min-height:43px;display:grid}.source-item:last-child{border-bottom:0}.source-item>i,.model-health-list>div>i{background:var(--dim);border-radius:50%;width:7px;height:7px}.source-item strong{font-size:11px;font-weight:600;display:block}.source-item small{color:var(--dim);margin-top:3px;font-size:9px;display:block}.source-item>span{color:var(--dim);font-size:10px}.health-score,.pressure-value{color:var(--teal);font-family:var(--font-geist-mono), monospace;font-size:18px}.two-column{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.timeline{padding:0 21px 21px}.timeline-item{border-bottom:1px solid var(--line-soft);grid-template-columns:78px 10px 1fr;align-items:start;gap:11px;padding:12px 0;display:grid}.timeline-item:last-child{border-bottom:0}.timeline-item time,.timeline-item small{color:var(--dim);font-family:var(--font-geist-mono), monospace;font-size:9px}.timeline-dot{border:2px solid var(--accent);border-radius:50%;width:8px;height:8px;margin-top:4px}.timeline-dot.teal{border-color:var(--teal)}.timeline-item strong{font-size:12px;font-weight:600;display:block}.timeline-item small{margin-top:5px;font-family:inherit;display:block}.realtime-levels{grid-template-columns:repeat(2,1fr);gap:9px;padding:0 21px 17px;display:grid}.realtime-levels>div{border:1px solid var(--line-soft);border-radius:8px;grid-template-columns:28px 1fr;gap:4px;padding:11px;display:grid}.realtime-levels span{color:var(--accent-2);font-family:var(--font-geist-mono), monospace;grid-row:span 2;font-size:10px}.realtime-levels strong{font-size:11px}.realtime-levels small{color:var(--dim);font-size:9px;line-height:1.4}.rule-note{border-left:2px solid var(--accent);color:var(--muted);background:#dc7b5314;margin:0 21px 20px;padding:11px 12px;font-size:10px;line-height:1.5}.factor-hero{grid-template-columns:1fr 1fr}.factor-map-card,.explanation-panel{min-height:360px}.radar-map{width:min(100%,430px);height:260px;margin:2px auto 0;position:relative}.radar-ring{border:1px solid var(--line);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ring-1{width:74px;height:74px}.ring-2{width:145px;height:145px}.ring-3{width:220px;height:220px}.radar-axis{border-top:1px solid var(--line-soft);width:220px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.axis-v{transform:translate(-50%,-50%)rotate(90deg)}.radar-node{background:var(--accent);border-radius:50%;width:8px;height:8px;display:block;position:absolute;box-shadow:0 0 0 5px #dc7b531f}.n1{top:29%;left:28%}.n2{background:var(--yellow);top:23%;left:64%}.n3{background:var(--teal);top:69%;left:70%}.n4{background:var(--teal);top:71%;left:26%}.radar-label{color:var(--dim);font-size:10px;position:absolute}.l1{top:4%;left:42%}.l2{top:48%;left:9%}.l3{top:48%;right:8%}.l4{bottom:2%;left:44%}.explanation-copy{padding:11px 21px 0}.explanation-copy strong{font-size:24px}.explanation-copy p{color:var(--muted);margin:10px 0 0;line-height:1.65}.explanation-copy b{color:var(--accent-2)}.formula-box{border:1px solid var(--line);background:var(--surface-3);border-radius:8px;margin:24px 21px;padding:16px}.formula-box code{color:var(--accent-2);font-family:var(--font-geist-mono), monospace;font-size:17px}.formula-box p{color:var(--dim);margin:9px 0 0;font-size:10px;line-height:1.5}.factor-card-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.factor-card{border:1px solid var(--line);background:var(--surface);min-height:132px;color:var(--text);text-align:left;border-radius:9px;padding:15px}.factor-card:hover,.factor-card.active{background:#182229;border-color:#dc7b53b3}.factor-card-head{justify-content:space-between;align-items:flex-start;gap:9px;display:flex}.factor-card-head h3{margin:0 0 0 7px;font-size:13px;display:inline-block}.factor-code{color:var(--dim);font-family:var(--font-geist-mono), monospace;font-size:9px}.factor-card-head>strong{color:var(--accent-2);font-family:var(--font-geist-mono), monospace;font-size:14px}.factor-card p{min-height:28px;color:var(--muted);margin:16px 0 10px;font-size:10px;line-height:1.4}.mini-track{background:#0a1014;border-radius:999px;height:4px;overflow:hidden}.mini-track i{border-radius:inherit;background:var(--accent);height:100%;display:block}.factor-detail{margin-top:16px}.detail-copy{padding:0 21px 21px}.detail-copy>p{color:var(--muted);margin:0 0 17px;line-height:1.6}.contribution-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.contribution-grid>div{border:1px solid var(--line-soft);border-radius:8px;gap:6px;padding:12px;display:grid}.contribution-grid span{color:var(--muted);font-size:10px}.contribution-grid strong{color:var(--accent-2);font-family:var(--font-geist-mono), monospace}.contribution-grid small{color:var(--dim);font-size:9px}.forecast-layout{grid-template-columns:1.6fr .85fr}.forecast-controls label,.form-grid label,.constraint-grid label{color:var(--muted);gap:7px;font-size:11px;display:grid}.forecast-controls input,.form-grid input,.form-grid select,.form-grid textarea,.constraint-grid input,.scenario-form input,.scenario-form select,.scenario-form textarea,.approval-row input,.search-field input{border:1px solid var(--line);background:var(--surface-3);width:100%;color:var(--text);border-radius:7px;outline:0}.forecast-controls input,.form-grid input,.form-grid select,.constraint-grid input,.scenario-form input,.scenario-form select,.approval-row input,.search-field input{height:38px;padding:0 11px}.form-grid textarea,.scenario-form textarea{resize:vertical;min-height:82px;padding:10px 11px}.check-row{grid-template-columns:auto 1fr;align-items:center;margin:15px 0;gap:8px!important;display:flex!important}.check-row input{width:14px;height:14px;accent-color:var(--accent)}.forecast-controls .secondary-button{margin-top:6px}.divider{background:var(--line-soft);height:1px;margin:24px 0 19px}.mini-title{color:var(--dim);margin-bottom:8px;font-size:10px}.driver{border-bottom:1px solid var(--line-soft);color:var(--muted);grid-template-columns:1fr auto;padding:9px 0;font-size:11px;display:grid}.driver strong{color:var(--accent-2);font-family:var(--font-geist-mono), monospace}.forecast-table{grid-template-columns:repeat(4,1fr);gap:9px;padding:0 21px 21px;display:grid}.forecast-cell{border:1px solid var(--line-soft);border-radius:8px;gap:6px;padding:12px;display:grid}.forecast-cell span,.forecast-cell small{color:var(--dim);font-size:9px}.forecast-cell strong{font-size:14px}.model-list{padding:0 21px 21px}.model-row{border-bottom:1px solid var(--line-soft);color:var(--muted);grid-template-columns:125px 1fr 40px;align-items:center;gap:12px;padding:11px 0;font-size:11px;display:grid}.model-row i{height:6px}.model-row b{background:var(--accent);height:100%;display:block}.model-row>strong{color:var(--text);font-family:var(--font-geist-mono), monospace;text-align:right;font-size:10px}.calibration-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:0 21px 21px;display:grid}.calibration-grid>div{border:1px solid var(--line-soft);border-radius:8px;gap:6px;padding:12px;display:grid}.calibration-grid span{color:var(--dim);font-size:10px}.calibration-grid strong{font-family:var(--font-geist-mono), monospace;font-size:16px}.engine-explainer{margin-top:16px}.engine-steps{grid-template-columns:repeat(6,1fr);gap:9px;padding:0 21px 21px;display:grid}.engine-steps>div{border-top:2px solid var(--accent);background:var(--surface-3);gap:6px;padding:13px;display:grid}.engine-steps span{color:var(--accent-2);font-family:var(--font-geist-mono), monospace;font-size:10px}.engine-steps strong{font-size:11px}.engine-steps small{color:var(--dim);font-size:9px;line-height:1.45}.scenario-layout{grid-template-columns:.82fr 1.7fr}.scenario-form,.scenario-result{min-height:495px;padding-bottom:20px}.form-grid{grid-template-columns:1fr 1fr;gap:15px 12px;padding:0 21px;display:grid}.wide-field{grid-column:1/-1}.form-grid output{color:var(--accent-2);font-family:var(--font-geist-mono), monospace;margin-left:auto;font-size:10px}.form-grid input[type=range]{height:5px;accent-color:var(--accent);padding:0}.scenario-form>.check-row{padding:0 21px}.scenario-form>.primary-button{width:calc(100% - 42px);margin:5px 21px 0}.scenario-metrics{grid-template-columns:repeat(4,1fr);gap:9px;padding:0 21px 23px;display:grid}.scenario-metrics>div{border:1px solid var(--line-soft);border-radius:8px;gap:7px;padding:12px;display:grid}.scenario-metrics span{color:var(--dim);font-size:9px}.scenario-metrics strong{font-family:var(--font-geist-mono), monospace;font-size:13px}.impact-list{gap:16px;padding:0 21px 20px;display:grid}.impact-row{grid-template-columns:80px 1fr;align-items:center;gap:8px 12px;display:grid}.impact-row>span{color:var(--muted);font-size:11px}.impact-row i{height:7px}.impact-row small{color:var(--dim);font-family:var(--font-geist-mono), monospace;grid-column:2;font-size:9px}.agent-grid{grid-template-columns:1fr 1fr;gap:9px;padding:0 21px 21px;display:grid}.agent-grid>div{border:1px solid var(--line-soft);border-radius:8px;padding:14px}.agent-grid strong{font-size:11px}.agent-grid p{min-height:27px;color:var(--muted);margin:10px 0;font-size:10px;line-height:1.45}.agent-grid small{color:var(--teal);font-family:var(--font-geist-mono), monospace;font-size:9px}.causal-chain{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 21px 18px;display:flex}.causal-chain span{border:1px solid var(--line);color:var(--muted);border-radius:6px;align-items:center;gap:8px;padding:9px 10px;font-size:10px;display:inline-flex}.causal-chain b{color:var(--accent);font-size:14px}.table-panel{overflow:hidden}.table-toolbar{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;padding:18px 21px;display:flex}.table-toolbar strong{font-size:13px}.table-toolbar span{color:var(--dim);font-size:10px}.search-field{align-items:center;gap:7px;width:190px;display:flex}.search-field span{color:var(--dim);font-size:16px}.search-field input{height:32px}.table-scroll{overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%;min-width:860px}.table-scroll th,.table-scroll td{border-bottom:1px solid var(--line-soft);color:var(--muted);text-align:left;white-space:nowrap;padding:13px 15px;font-size:10px}.table-scroll th{color:var(--dim);font-size:9px;font-weight:500}.table-scroll td:first-child,.table-scroll th:first-child{padding-left:21px}.table-scroll td:last-child,.table-scroll th:last-child{padding-right:21px}.table-scroll td strong{color:var(--text);font-size:11px}.number-accent{font-family:var(--font-geist-mono), monospace;color:var(--accent-2)!important}.table-tag{border-radius:5px;padding:4px 7px;font-size:9px;display:inline-block}.status-text{color:var(--teal)!important}.status-text:before{content:"";margin-right:6px}.supplier-cards{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.supplier-card{grid-template-columns:44px 1fr auto;gap:11px;padding:17px;display:grid;position:relative}.supplier-avatar{width:38px;height:38px;color:var(--accent-2);font-family:var(--font-geist-mono), monospace;border:1px solid #dc7b5359;border-radius:8px;place-items:center;display:grid}.supplier-card h2{margin:4px 0 3px;font-size:14px}.supplier-card p{color:var(--dim);margin:0;font-size:10px}.supplier-price{color:var(--text);font-family:var(--font-geist-mono), monospace;text-align:right;font-size:17px}.supplier-price small{color:var(--dim);margin-top:4px;font-family:inherit;font-size:8px;font-weight:400;display:block}.supplier-progress{color:var(--dim);grid-column:1/-1;grid-template-columns:80px 1fr 33px;align-items:center;gap:9px;margin-top:9px;font-size:9px;display:grid}.supplier-progress strong{color:var(--teal);font-family:var(--font-geist-mono), monospace;text-align:right}.procurement-layout{grid-template-columns:.88fr 1.58fr}.constraint-panel,.optimization-summary{min-height:335px;padding-bottom:20px}.constraint-grid{grid-template-columns:1fr 1fr;gap:13px 12px;padding:0 21px 18px;display:grid}.constraint-grid label{font-size:10px}.constraint-panel>.secondary-button{width:calc(100% - 42px);margin:0 21px}.optimization-summary>.decision-summary{max-width:680px}.strategy-cards{grid-template-columns:repeat(3,1fr);gap:9px;padding:20px 21px 0;display:grid}.strategy-card{border:1px solid var(--line);background:var(--surface-3);min-height:117px;color:var(--muted);text-align:left;border-radius:8px;gap:7px;padding:13px;display:grid}.strategy-card:hover,.strategy-card.active{border-color:var(--accent);background:#dc7b5314}.strategy-card span{font-size:11px}.strategy-card strong{color:var(--text);font-family:var(--font-geist-mono), monospace;font-size:19px}.strategy-card small{color:var(--dim);font-size:9px}.strategy-card em{color:var(--accent-2);font-size:9px;font-style:normal}.allocation-visual{gap:15px;padding:0 21px 18px;display:grid}.allocation-visual>div{color:var(--muted);grid-template-columns:100px 1fr 36px;align-items:center;gap:12px;font-size:10px;display:grid}.allocation-visual b{border-radius:inherit;height:100%;display:block}.allocation-visual strong{color:var(--text);font-family:var(--font-geist-mono), monospace;text-align:right;font-size:10px}.quality-row{border-top:1px solid var(--line-soft);color:var(--dim);flex-wrap:wrap;align-items:center;gap:8px;margin:0 21px 21px;padding-top:15px;font-size:9px;display:flex}.quality-row strong{border:1px solid var(--line-soft);color:var(--muted);font-family:var(--font-geist-mono), monospace;border-radius:5px;padding:5px 8px;font-size:9px;font-weight:400}.schedule-list,.target-price-list,.rule-stack{padding:0 21px 21px}.schedule-list>div{border-bottom:1px solid var(--line-soft);grid-template-columns:36px 1fr auto 42px;align-items:center;gap:9px;padding:12px 0;display:grid}.schedule-list span{color:var(--accent-2);font-family:var(--font-geist-mono), monospace;font-size:10px}.schedule-list strong{font-size:11px}.schedule-list b{color:var(--text);font-family:var(--font-geist-mono), monospace;font-size:10px}.schedule-list small{color:var(--dim);text-align:right}.target-price-list>div{border-bottom:1px solid var(--line-soft);grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:13px 0;display:grid}.target-price-list span,.target-price-list em{color:var(--muted);font-size:11px}.target-price-list strong{color:var(--accent-2);font-family:var(--font-geist-mono), monospace}.target-price-list strong small{color:var(--dim);font-family:inherit;font-size:9px;font-weight:400}.target-price-list em{color:var(--dim);font-size:10px;font-style:normal}.rule-stack{gap:0;display:grid}.rule-stack>div{border-bottom:1px solid var(--line-soft);grid-template-columns:25px 1fr auto;align-items:center;gap:8px;padding:11px 0;display:grid}.rule-stack i{color:var(--dim);font-family:var(--font-geist-mono), monospace;font-size:9px;font-style:normal}.rule-stack span{color:var(--muted);font-size:10px}.rule-stack b{color:var(--red);font-size:9px;font-weight:500}.approval-row{gap:8px;margin:0 21px;display:flex}.approval-row input{flex:1}.approval-row .primary-button{min-width:98px}.approval-status{color:var(--teal);margin:13px 21px 0;font-size:10px}.governance-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.quality-meter{padding:0 21px 18px}.quality-meter>div{align-items:baseline;gap:5px;display:flex}.quality-meter strong{font-family:var(--font-geist-mono), monospace;font-size:39px}.quality-meter span{color:var(--dim)}.quality-meter i{height:7px;margin:12px 0 8px}.quality-meter small{color:var(--dim);font-size:9px}.model-health-list{padding:0 21px 20px}.model-health-list>div{border-bottom:1px solid var(--line-soft);grid-template-columns:8px 1fr auto;align-items:center;gap:9px;min-height:45px;display:grid}.model-health-list strong{font-size:11px;display:block}.model-health-list small{color:var(--dim);margin-top:4px;font-size:9px;display:block}.model-health-list>div>span{color:var(--teal);font-family:var(--font-geist-mono), monospace;font-size:9px}.audit-list{padding:0 21px 20px}.audit-list>div{border-bottom:1px solid var(--line-soft);color:var(--muted);grid-template-columns:1.2fr .8fr .8fr .8fr .8fr;gap:10px;padding:13px 0;font-size:10px;display:grid}.audit-list>div span:first-child{color:var(--text);font-family:var(--font-geist-mono), monospace;font-size:9px}.toast{z-index:60;max-width:340px;color:var(--text);background:#15262a;border:1px solid #6bc4b259;border-radius:8px;padding:13px 16px;font-size:12px;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 30px #00000047}.loading-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05090cb8;place-items:center;display:grid;position:fixed;inset:0}.loading-card{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:12px;justify-items:center;gap:9px;min-width:260px;padding:28px;display:grid}.loading-card p{color:var(--dim);margin:0;font-size:10px}.loader-orbit{border:1px solid #dc7b5359;border-radius:50%;width:34px;height:34px;position:relative}.loader-orbit i{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1s linear infinite orbit;position:absolute}.loader-orbit i:first-child{top:-3px;left:14px}.loader-orbit i:nth-child(2){background:var(--teal);animation-delay:.25s;bottom:4px;right:-3px}.loader-orbit i:nth-child(3){background:var(--yellow);animation-delay:.5s;bottom:4px;left:-3px}@keyframes orbit{to{transform:rotate(360deg)translate(13px)rotate(-360deg)}}@media (width<=1180px){.topbar{grid-template-columns:235px 1fr auto}.topbar-center{gap:14px;padding:0 15px}.top-metric{display:none}.dashboard-lower{grid-template-columns:1fr 1fr}.risk-card{grid-column:1/-1}.engine-steps{grid-template-columns:repeat(3,1fr)}.hero-grid,.market-grid,.factor-hero,.forecast-layout,.scenario-layout,.procurement-layout{grid-template-columns:1fr}}@media (width<=820px){.topbar{grid-template-columns:1fr auto;height:auto;position:static}.brand-block{border-right:0}.topbar-center{border-top:1px solid var(--line-soft);grid-area:2/1/auto/-1;padding:9px 18px 11px}.topbar-actions{padding-right:18px}.sidebar{border-right:0;border-bottom:1px solid var(--line-soft);width:100%;height:auto;padding:8px 10px;position:sticky;top:0}.sidebar nav{gap:5px;padding-bottom:2px;display:flex;overflow-x:auto}.nav-item{flex:none;min-height:36px;padding:0 11px;font-size:11px}.nav-item span:last-child{white-space:nowrap}.sidebar-footer{display:none}.workspace{margin-left:0;padding:0}.workspace-inner{padding:25px 15px 36px}.page-heading{flex-direction:column;align-items:flex-start;gap:12px}.page-heading h1{font-size:24px}.kpi-strip,.supplier-cards{grid-template-columns:repeat(2,1fr)}.dashboard-lower,.two-column,.governance-grid{grid-template-columns:1fr}.risk-card{grid-column:auto}.forecast-table,.factor-card-grid{grid-template-columns:repeat(2,1fr)}.topbar-actions .ghost-button{display:none}}@media (width<=520px){.topbar-actions .primary-button{padding:0 10px;font-size:11px}.brand-block{padding-left:15px}.brand-name{font-size:13px}.workspace-inner{padding-left:12px;padding-right:12px}.panel-header{padding-left:15px;padding-right:15px}.market-hero,.forecast-hero{padding:18px 15px}.hero-kpis{grid-template-columns:repeat(2,1fr);gap:15px 0;margin-top:22px}.hero-kpis>div:nth-child(3){border-left:0;padding-left:0}.kpi-strip,.factor-card-grid,.supplier-cards,.forecast-table,.engine-steps,.contribution-grid{grid-template-columns:1fr}.factor-row{grid-template-columns:25px 1fr 56px}.factor-row .factor-bar{display:none}.realtime-levels,.form-grid,.constraint-grid,.scenario-metrics,.agent-grid,.calibration-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}.segmented{max-width:100%;overflow-x:auto}.segmented button{white-space:nowrap}.table-toolbar{flex-direction:column;align-items:flex-start}.search-field{width:100%}.allocation-row,.allocation-visual>div{grid-template-columns:90px 1fr auto}.audit-list{overflow-x:auto}.audit-list>div{min-width:530px}.page-heading .secondary-button,.page-heading .primary-button{align-self:stretch}.scenario-form,.scenario-result{min-height:auto}.forecast-chart{margin-left:10px;margin-right:10px}.chart-legend{padding:0 10px}.causal-chain span{justify-content:space-between;width:100%}}:root{--bg:#1d1b18;--surface:#25221f;--surface-2:#2c2824;--surface-3:#211f1c;--surface-4:#36312b;--line:#f6efe624;--line-soft:#f6efe614;--text:#f5efe7;--muted:#f5efe7ad;--dim:#f5efe770;--accent:#d97757;--accent-2:#e29a7a;--accent-soft:#d9775721;--teal:#83aaa0;--yellow:#d2aa63;--red:#c96b62;--shadow:#0a080642;--font-ui:var(--font-geist-sans), "DM Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-num:var(--font-geist-mono), "DM Mono", "SFMono-Regular", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{background:var(--bg);height:100%;overflow:hidden}body{color:var(--text);font-family:var(--font-ui);text-rendering:optimizelegibility;font-size:14px;line-height:1.4}button,input,textarea,select{font-family:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.app-shell{background:var(--bg);height:100dvh;min-height:0;overflow:hidden}.topbar{border-bottom-color:var(--line-soft);background:var(--surface);grid-template-columns:248px minmax(0,1fr) auto;min-width:0;height:72px;box-shadow:0 1px #0003}.brand-block{border-right-color:var(--line-soft);gap:12px;min-width:0;height:72px;padding:0 22px}.brand-mark{flex-basis:26px;width:26px;height:26px}.brand-mark span{border-width:1px;width:10px;height:10px}.brand-name{color:var(--text);letter-spacing:.01em;font-size:14px}.brand-subtitle{color:var(--dim);text-overflow:ellipsis;font-size:10px;overflow:hidden}.topbar-center{gap:22px;min-width:0;padding:0 24px}.top-metric{color:var(--dim);font-size:11px}.top-metric strong{color:var(--text);font-family:var(--font-num);font-size:12px;font-weight:600}.topbar-actions{gap:8px;min-width:0;padding:0 20px 0 12px}.status-pill,.grade-badge,.decision-status{border-radius:6px}.status-pill{border-color:var(--line);color:var(--muted);background:#83aaa012;gap:8px;padding:7px 10px;font-size:10px}.status-pill i{background:var(--teal);width:6px;height:6px;box-shadow:0 0 0 3px #83aaa01a}.status-pill.demo{background:#d2aa6312}.status-pill.demo i{background:var(--yellow);box-shadow:0 0 0 3px #d2aa631a}.grade-badge{min-width:30px;color:var(--teal);font-family:var(--font-num);background:#83aaa01a;border-color:#83aaa047;padding:6px 8px;font-size:11px}.decision-status{color:var(--yellow);background:#d2aa6314;border-color:#d2aa6347;padding:5px 8px;font-size:10px}.run-id,.server-time,.factor-rank,.factor-row strong,.market-stat-row strong,.allocation-row strong,.formula-box code,.number-accent,.supplier-price,.schedule-list span,.schedule-list b,.target-price-list strong,.quality-meter strong,.model-health-list>div>span,.audit-list>div span:first-child{font-family:var(--font-num)}.primary-button,.secondary-button,.ghost-button{border-radius:7px;min-height:38px;padding:0 14px;transition:background .16s,border-color .16s,color .16s,transform .16s}.primary-button{border-color:var(--accent);background:var(--accent);color:#241610;font-weight:700}.primary-button:hover{border-color:var(--accent-2);background:var(--accent-2);transform:translateY(-1px)}.secondary-button{border-color:var(--line);background:var(--surface-2);color:var(--text)}.secondary-button:hover{background:var(--surface-4);border-color:#e29a7a8c}.ghost-button{border-color:var(--line);color:var(--muted);background:0 0}.ghost-button:hover{color:var(--text);border-color:#f5efe74d}.button-dot{background:#2b1710;width:6px;height:6px;margin-right:8px}.text-button{color:var(--muted);font-size:11px}.text-button:hover{color:var(--accent-2)}.sidebar{border-right-color:var(--line-soft);background:#211f1c;width:214px;padding:18px 12px 16px;top:72px}.sidebar nav{gap:3px}.nav-item{min-height:40px;color:var(--muted);border-radius:7px;gap:12px;padding:0 13px;font-size:12px}.nav-item:hover{color:var(--text);background:#f5efe70b}.nav-item.active{background:var(--accent-soft);color:#f2d2c3;border-color:#d9775752}.nav-icon{width:18px;color:var(--dim);font-family:var(--font-num);font-size:13px}.nav-item.active .nav-icon{color:var(--accent-2)}.sidebar-footer{gap:11px;padding:0 7px}.engine-chip{color:var(--muted)}.engine-chip span,.status-text:before{background:var(--teal);width:6px;height:6px}.workspace{background:var(--bg);min-width:0;height:100dvh;min-height:0;margin-left:214px;padding:72px 0 0;overflow:hidden}.workspace-inner{overscroll-behavior:contain;scrollbar-color:var(--surface-4) transparent;scrollbar-width:thin;width:100%;min-width:0;max-width:1480px;height:100%;min-height:0;padding:32px 32px 42px;overflow-y:auto}.workspace-inner::-webkit-scrollbar{width:8px}.workspace-inner::-webkit-scrollbar-thumb{background:var(--surface-4);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.page-heading{align-items:flex-end;gap:28px;margin-bottom:22px}.page-heading h1{color:var(--text);letter-spacing:0;margin:5px 0 8px;font-size:30px;font-weight:700;line-height:1.12}.page-heading h1.hero-greet{letter-spacing:0;font-size:40px}.page-heading p{max-width:720px;color:var(--muted);line-height:1.55}.eyebrow,.panel-kicker{color:var(--accent-2);font-family:var(--font-num);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600}.as-of{color:var(--dim);font-family:var(--font-num);padding-bottom:5px;font-size:10px}.panel{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:0 12px 28px var(--shadow), inset 0 1px 0 #ffffff09;border-radius:16px}.panel-header{min-height:66px;padding:18px 20px 14px}.panel-header h2{color:var(--text);margin:5px 0 0;font-size:16px;font-weight:650;line-height:1.25}.hero-grid,.dashboard-lower,.market-grid,.factor-hero,.forecast-layout,.scenario-layout,.procurement-layout{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.hero-grid>.market-hero{grid-column:span 7}.hero-grid>.forecast-hero{grid-column:span 5}.market-hero,.forecast-hero{min-height:328px;padding:22px 22px 20px}.market-hero{background:#292520}.regime-row{gap:20px;margin:29px 0 18px}.regime-dial{background:#d9775709;border-color:#d9775775;flex-basis:92px;width:92px;height:92px;box-shadow:inset 0 0 0 8px #d9775709}.regime-dial div{width:68px;height:68px;color:var(--accent-2);font-family:var(--font-num);border-color:#e29a7a6e;font-size:12px}.regime-title{color:var(--text);margin:0 0 5px;font-size:25px}.regime-copy{max-width:420px;color:var(--muted)}.pressure-track{background:var(--surface-3);border:1px solid #f5efe71a;border-radius:999px;height:7px;margin-top:20px}.pressure-track span{background:var(--accent);transform:none;box-shadow:0 0 14px #d9775733}.pressure-scale{color:var(--dim);font-family:var(--font-num);margin-top:8px}.hero-kpis{margin-top:27px}.hero-kpis>div{border-left-color:var(--line);gap:6px;padding-left:15px}.hero-kpis span,.kpi-card span,.hero-kpis small,.kpi-card small{color:var(--dim);font-size:10px}.hero-kpis strong{color:var(--text);font-family:var(--font-num);font-size:22px;font-weight:600}.forecast-chart{height:220px;margin:4px 17px 0}.forecast-chart.compact{height:210px;margin:0 10px}.chart-grid i{border-top-color:var(--line-soft)}.chart-band{background:#d9775729;border-color:#d9775742}.chart-point{border-color:var(--accent);background:var(--surface)}.chart-point:first-child{border-color:var(--teal);background:var(--teal)}.chart-labels,.chart-axis-note{color:var(--dim);font-family:var(--font-num)}.chart-legend{color:var(--muted);padding:0 10px}.legend-band{background:#d9775775}.legend-mid{background:var(--accent)}.legend-now{background:var(--teal)}.kpi-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}.kpi-card{border-color:var(--line);background:var(--surface-3);border-radius:12px;grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) 82px;gap:6px 10px;min-height:105px;padding:16px 15px 13px;display:grid;box-shadow:0 8px 18px #0a080624,inset 0 1px #ffffff06}.kpi-card>span,.kpi-card>strong,.kpi-card>small{grid-column:1;min-width:0}.kpi-card>strong{color:var(--text);font-family:var(--font-num);text-overflow:ellipsis;white-space:nowrap;font-size:20px;font-weight:600;line-height:1.05;overflow:hidden}.kpi-spark{opacity:.86;grid-area:1/2/span 3;align-self:end;width:82px;height:31px;overflow:visible}.kpi-spark polyline{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px}.kpi-spark circle{fill:var(--accent)}.kpi-spark.teal polyline,.kpi-spark.teal circle{stroke:var(--teal);fill:var(--teal)}.kpi-spark.yellow polyline,.kpi-spark.yellow circle{stroke:var(--yellow);fill:var(--yellow)}.dashboard-lower>.panel{grid-column:span 4;min-height:285px}.factor-list,.allocation-list,.event-mini-list,.source-list,.timeline,.model-list,.rule-stack,.audit-list{padding-left:20px;padding-right:20px}.factor-list{padding-bottom:18px}.factor-row{border-bottom-color:var(--line-soft);grid-template-columns:30px minmax(0,1.2fr) minmax(70px,1fr) 52px;gap:12px;padding:11px 0}.factor-name{color:var(--muted)}.factor-row:hover .factor-name{color:var(--accent-2)}.factor-row strong{color:var(--accent-2);font-size:11px}.factor-bar,.allocation-bar,.model-row i,.allocation-visual i,.supplier-progress i,.impact-row i,.quality-meter i{background:#181614}.factor-bar i,.allocation-bar i,.model-row b,.supplier-progress b,.impact-row b,.quality-meter b{background:var(--accent)}.decision-summary,.risk-card>p{color:var(--muted)}.allocation-row{grid-template-columns:102px minmax(0,1fr) auto}.allocation-bar i{background:var(--accent)}.decision-card .secondary-button{width:calc(100% - 40px);margin:0 20px 20px}.risk-score{color:var(--red);font-family:var(--font-num)}.risk-action{background:#d9775712;border-color:#d9775738;border-radius:10px;margin:16px 20px}.risk-action span{color:var(--accent-2)}.event-mini{border-top-color:var(--line-soft)}.dot{background:var(--yellow)}.dot.teal{background:var(--teal)}.dot.red{background:var(--red)}.market-grid>.wide-panel{grid-column:span 8}.market-grid>.source-summary{grid-column:span 4}.wide-panel,.source-summary{min-height:280px}.segmented{background:var(--surface-3);border-radius:7px}.segmented button{color:var(--dim);border-radius:5px}.segmented button.active,.segmented button:hover{background:var(--surface-4);color:var(--text)}.mini-market-chart{border-bottom-color:var(--line)}.mini-market-chart i{background:var(--accent)}.mini-market-chart span:last-child i{background:var(--teal)}.market-stat-row{border-top:0}.market-stat-row strong{color:var(--text)}.market-stat-row em{color:var(--teal);font-family:var(--font-num)}.source-item,.timeline-item,.model-row,.model-health-list>div,.audit-list>div{border-bottom-color:var(--line-soft)}.source-item>i.healthy,.model-health-list>div>i.healthy{background:var(--teal)}.source-item>i.demo{background:var(--yellow)}.health-score,.pressure-value{color:var(--teal);font-family:var(--font-num)}.two-column{gap:14px;margin-top:14px}.rule-note{border-left-color:var(--accent);color:var(--muted);background:#d9775712;margin-left:20px;margin-right:20px}.factor-hero>.factor-map-card,.factor-hero>.explanation-panel{grid-column:span 6;min-height:360px}.radar-ring{border-color:var(--line)}.radar-axis{border-top-color:var(--line-soft)}.radar-node{background:var(--accent);box-shadow:0 0 0 5px #d977571f}.radar-label{color:var(--dim)}.explanation-copy b,.factor-card-head>strong,.factor-card:hover,.factor-card.active{color:var(--accent-2)}.factor-card,.contribution-grid>div,.forecast-cell,.calibration-grid>div,.realtime-levels>div,.agent-grid>div,.scenario-metrics>div,.strategy-card,.quality-row strong{border-color:var(--line-soft);background:var(--surface-3);border-radius:10px}.factor-card:hover,.factor-card.active,.strategy-card:hover,.strategy-card.active{background:var(--accent-soft);border-color:#d9775794}.mini-track{background:#181614}.mini-track i{background:var(--accent)}.factor-detail,.engine-explainer{margin-top:14px}.factor-detail{overflow:hidden}.formula-box{border-color:var(--line);background:var(--surface-3);border-radius:10px}.formula-box code{color:var(--accent-2)}.forecast-layout>.forecast-main{grid-column:span 8}.forecast-layout>.forecast-controls{grid-column:span 4}.forecast-main,.forecast-controls{min-height:390px}.forecast-controls{padding:20px}.forecast-controls input,.form-grid input,.form-grid select,.form-grid textarea,.constraint-grid input,.scenario-form input,.scenario-form select,.scenario-form textarea,.approval-row input,.search-field input{border-color:var(--line);color:var(--text);background:#1c1a17;border-radius:7px}.forecast-controls input:focus,.form-grid input:focus,.form-grid select:focus,.constraint-grid input:focus,.scenario-form input:focus,.scenario-form select:focus,.scenario-form textarea:focus,.approval-row input:focus,.search-field input:focus{border-color:var(--accent)}.driver,.forecast-cell span,.forecast-cell small,.calibration-grid span,.realtime-levels small{color:var(--dim)}.driver strong,.forecast-cell strong,.calibration-grid strong,.model-row>strong{color:var(--text);font-family:var(--font-num)}.engine-steps>div{border-top-color:var(--accent);background:var(--surface-3)}.engine-steps span{color:var(--accent-2);font-family:var(--font-num)}.scenario-layout>.scenario-form{grid-column:span 5}.scenario-layout>.scenario-result{grid-column:span 7}.scenario-form,.scenario-result{min-height:495px}.scenario-metrics>div{background:var(--surface-3)}.scenario-metrics strong,.impact-row small,.agent-grid small{font-family:var(--font-num)}.impact-row b{background:#d977576b}.causal-chain span{border-color:var(--line);background:var(--surface-3);border-radius:7px}.causal-chain b{color:var(--accent)}.table-panel{border-radius:16px}.table-toolbar,.table-scroll th,.table-scroll td{border-bottom-color:var(--line-soft)}.table-scroll th{color:var(--dim);font-family:var(--font-num)}.table-scroll td{color:var(--muted)}.table-scroll td strong{color:var(--text)}.table-tag.teal{color:var(--teal);background:#83aaa01a}.table-tag.yellow{color:var(--yellow);background:#d2aa631a}.table-tag.red{color:var(--red);background:#c96b621a}.supplier-cards{gap:10px}.supplier-card{background:var(--surface);border-radius:12px}.supplier-avatar{color:var(--accent-2);border-color:#d9775761;border-radius:9px}.supplier-price{color:var(--text)}.supplier-progress strong{color:var(--teal);font-family:var(--font-num)}.procurement-layout>.constraint-panel{grid-column:span 5}.procurement-layout>.optimization-summary{grid-column:span 7}.constraint-panel,.optimization-summary{min-height:335px}.strategy-card strong{color:var(--text);font-family:var(--font-num)}.strategy-card em{color:var(--accent-2)}.allocation-visual b{background:var(--accent)}.quality-row{border-top-color:var(--line-soft)}.schedule-list>div,.target-price-list>div,.rule-stack>div{border-bottom-color:var(--line-soft)}.rule-stack b{color:var(--red)}.rule-stack b.pass{color:var(--teal)}.rule-stack b.warn{color:var(--yellow)}.approval-status{color:var(--teal)}.governance-grid>.panel{min-height:320px}.quality-meter strong{color:var(--text)}.quality-meter b{background:var(--teal)}.model-health-list>div>span{color:var(--teal)}.toast{background:#2b3430;border-color:#83aaa04d;border-radius:10px;max-width:390px;bottom:24px;right:26px;box-shadow:0 14px 32px #0a08064d}.loading-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#1d1b18e0}.loading-card{background:var(--surface);border-radius:16px;min-width:280px;box-shadow:0 20px 50px #0a080647,inset 0 1px #ffffff0a}@media (width<=1180px){.topbar{grid-template-columns:230px minmax(0,1fr) auto}.topbar-center{gap:13px;padding:0 16px}.top-metric{display:none}.hero-grid,.market-grid,.factor-hero,.forecast-layout,.scenario-layout,.procurement-layout{grid-template-columns:1fr}.hero-grid>*,.market-grid>*,.factor-hero>*,.forecast-layout>*,.scenario-layout>*,.procurement-layout>*{grid-column:auto}.dashboard-lower{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-lower>.panel{grid-column:auto}.dashboard-lower>.risk-card{grid-column:1/-1}.engine-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=820px){.app-shell{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid}.topbar{z-index:30;grid-row:1;grid-template-columns:1fr auto;min-width:0;height:auto;position:relative;inset:auto}.brand-block{min-width:0;height:66px;padding:0 18px}.topbar-center{border-top-color:var(--line-soft);grid-area:2/1/auto/-1;padding:9px 18px 10px}.topbar-actions{align-items:center;min-width:0;padding-right:15px}.sidebar{z-index:20;border-right:0;border-bottom-color:var(--line-soft);grid-row:2;width:100%;height:auto;padding:8px 10px;position:relative;inset:auto}.sidebar nav{scrollbar-width:none;gap:5px;padding-bottom:2px;display:flex;overflow-x:auto}.sidebar nav::-webkit-scrollbar{display:none}.nav-item{flex:none;min-height:36px;padding:0 11px;font-size:11px}.sidebar-footer{display:none}.workspace{grid-row:3;height:auto;min-height:0;margin-left:0;padding:0}.workspace-inner{height:100%;padding:26px 16px 36px}.page-heading{flex-direction:column;align-items:flex-start;gap:12px}.page-heading h1{font-size:28px}.page-heading h1.hero-greet{font-size:40px}.page-heading .secondary-button,.page-heading .primary-button{align-self:stretch}.kpi-strip,.supplier-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-lower,.two-column,.governance-grid{grid-template-columns:1fr}.dashboard-lower>.panel,.dashboard-lower>.risk-card{grid-column:auto}.forecast-table,.factor-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-actions .ghost-button{display:none}}@media (width<=520px){.topbar-actions .primary-button{padding:0 10px;font-size:11px}.brand-block{padding-left:15px}.brand-name{font-size:13px}.workspace-inner{padding-left:12px;padding-right:12px}.panel-header,.market-hero,.forecast-hero{padding-left:15px;padding-right:15px}.hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 0;margin-top:22px}.hero-kpis>div:nth-child(3){border-left:0;padding-left:0}.kpi-strip,.factor-card-grid,.supplier-cards,.forecast-table,.engine-steps,.contribution-grid{grid-template-columns:1fr}.factor-row{grid-template-columns:25px minmax(0,1fr) 56px}.factor-row .factor-bar{display:none}.realtime-levels,.form-grid,.constraint-grid,.scenario-metrics,.agent-grid,.calibration-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}.segmented{max-width:100%;overflow-x:auto}.segmented button{white-space:nowrap}.table-toolbar{flex-direction:column;align-items:flex-start}.search-field{width:100%}.allocation-row,.allocation-visual>div{grid-template-columns:90px minmax(0,1fr) auto}.audit-list{overflow-x:auto}.audit-list>div{min-width:530px}.scenario-form,.scenario-result{min-height:auto}.forecast-chart{margin-left:10px;margin-right:10px}.chart-legend{gap:9px;padding:0 10px;font-size:9px}.causal-chain span{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-shell{background:var(--bg);place-items:center;min-height:100dvh;padding:28px 18px;display:grid;position:relative;overflow:auto}.login-grid{pointer-events:none;opacity:.45;background-image:linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);background-position:50%;background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 24% 76%,#0000);mask-image:linear-gradient(#0000,#000 24% 76%,#0000)}.login-surface{z-index:1;border:1px solid var(--line);background:var(--surface);width:min(100%,422px);box-shadow:0 24px 80px var(--shadow);border-radius:8px;padding:31px 32px 24px;position:relative}.login-brand{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding-bottom:24px;display:flex}.login-brand .brand-mark{flex:0 0 26px}.login-brand strong,.login-brand small{display:block}.login-brand strong{color:var(--text);letter-spacing:.01em;font-size:14px}.login-brand small{color:var(--dim);margin-top:5px;font-size:10px}.login-heading{padding:28px 0 21px}.login-heading h1{color:var(--text);margin:7px 0 8px;font-size:28px;line-height:1.15}.login-heading p{color:var(--muted);margin:0;font-size:12px}.login-error{color:#e3aaa2;background:#c96b621a;border:1px solid #c96b6259;border-radius:6px;margin-bottom:17px;padding:10px 12px;font-size:11px;line-height:1.5}.login-form{gap:16px;display:grid}.login-form label{color:var(--muted);gap:7px;font-size:11px;display:grid}.login-form input{border:1px solid var(--line);background:var(--surface-3);width:100%;height:43px;color:var(--text);border-radius:6px;outline:0;padding:0 12px;transition:border-color .16s,background .16s}.login-form input:hover{border-color:#f5efe740}.login-form input:focus{border-color:var(--accent-2);background:var(--surface-2)}.login-form input:disabled{cursor:not-allowed;opacity:.5}.login-submit{width:100%;margin-top:5px}.login-foot{color:var(--dim);font-family:var(--font-num);justify-content:space-between;gap:12px;margin-top:23px;font-size:9px;display:flex}.logout-form{display:contents}.logout-button{min-width:50px}@media (width<=820px){.topbar-actions .logout-button{display:inline-flex}}@media (width<=520px){.login-shell{align-items:start;padding:18px 12px}.login-surface{padding:24px 20px 20px}.login-foot{flex-direction:column;align-items:flex-start}}:root{--px-bg:#111112;--px-bg-soft:#151515;--px-sidebar:#181716;--px-surface:#1d1c1b;--px-surface-2:#232220;--px-surface-3:#292724;--px-line:#ffffff1a;--px-line-strong:#ffffff2b;--px-text:#f3f0ec;--px-muted:#b8b2ac;--px-dim:#8e8983;--px-orange:#d97757;--px-orange-bright:#e58a69;--px-orange-soft:#d9775721;--px-blue:#77a9f7;--px-blue-soft:#77a9f721;--px-green:#66bda5;--px-green-soft:#66bda521;--px-yellow:#d4ae63;--px-yellow-soft:#d4ae6321;--px-red:#dc7373;--px-red-soft:#dc737321;--px-shadow:0 18px 48px #0000003d}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--px-bg);color:var(--px-text);font-family:var(--font-geist-sans), "PingFang SC", "Microsoft YaHei", sans-serif;letter-spacing:0;margin:0;font-size:14px}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.px-app,.px-app *{font-size:14px}.px-app{background:linear-gradient(#ffffff03 1px, transparent 1px), linear-gradient(90deg, #ffffff03 1px, transparent 1px), var(--px-bg);height:100dvh;min-height:0;color:var(--px-text);background-size:32px 32px;overflow:hidden}.px-sidebar{z-index:40;border-right:1px solid var(--px-line);background:#181716fa;flex-direction:column;width:228px;display:flex;position:fixed;inset:0 auto 0 0}.px-brand{border-bottom:1px solid var(--px-line);align-items:center;gap:12px;min-height:76px;padding:0 20px;display:flex}.px-brand-mark{flex:none;width:30px;height:30px;position:relative}.px-brand-mark span{border:1px solid var(--px-orange);width:16px;height:16px;position:absolute;transform:rotate(35deg)}.px-brand-mark span:first-child{top:1px;left:2px}.px-brand-mark span:last-child{border-color:var(--px-green);bottom:1px;right:1px}.px-brand strong,.px-brand small{display:block}.px-brand strong{font-size:16px;line-height:1.25}.px-brand small{color:var(--px-dim);margin-top:4px}.px-sidebar nav{gap:6px;padding:22px 12px;display:grid}.px-nav-label{color:var(--px-dim);padding:0 10px 8px;font-weight:600}.px-sidebar nav button{min-height:48px;color:var(--px-muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:22px 1fr 18px;align-items:center;gap:10px;display:grid}.px-sidebar nav button>svg{width:18px;height:18px}.px-sidebar nav button .px-nav-chevron{color:#0000;width:16px;height:16px}.px-sidebar nav button:hover{color:var(--px-text);background:#ffffff09}.px-sidebar nav button.is-active{background:var(--px-orange-soft);color:var(--px-text);border-color:#d9775757}.px-sidebar nav button.is-active>svg{color:var(--px-orange-bright)}.px-sidebar nav button.is-active .px-nav-chevron{color:var(--px-orange)}.px-sidebar-foot{border-top:1px solid var(--px-line);gap:12px;margin-top:auto;padding:18px 16px;display:grid}.px-engine-state{grid-template-columns:8px 1fr;align-items:center;gap:10px;display:grid}.px-engine-state>span{background:var(--px-green);width:8px;height:8px;box-shadow:0 0 0 4px var(--px-green-soft);border-radius:50%}.px-engine-state.is-error>span{background:var(--px-red);box-shadow:0 0 0 4px var(--px-red-soft)}.px-engine-state strong,.px-engine-state small{display:block}.px-engine-state small{color:var(--px-dim);overflow-wrap:anywhere;margin-top:3px}.px-sidebar-foot form button{width:100%;min-height:40px;color:var(--px-muted);background:0 0;border:0;align-items:center;gap:9px;display:flex}.px-sidebar-foot form button svg{width:17px;height:17px}.px-main{overscroll-behavior:contain;scrollbar-color:var(--px-surface-3) var(--px-bg-soft);scrollbar-gutter:stable;scrollbar-width:thin;-webkit-overflow-scrolling:touch;height:100dvh;min-height:0;margin-left:228px;overflow:hidden auto}.px-main::-webkit-scrollbar{width:10px}.px-main::-webkit-scrollbar-track{background:var(--px-bg-soft)}.px-main::-webkit-scrollbar-thumb{border:2px solid var(--px-bg-soft);background:var(--px-surface-3);border-radius:999px}.px-main::-webkit-scrollbar-thumb:hover{background:var(--px-dim)}.px-topbar{z-index:30;border-bottom:1px solid var(--px-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#111112eb;justify-content:space-between;align-items:center;gap:20px;min-height:60px;padding:0 24px;display:flex;position:sticky;top:0}.px-topbar>div{align-items:center;gap:14px;display:flex}.px-topbar>div:first-child span{color:var(--px-dim)}.px-content{width:min(100%,1660px);margin:0 auto;padding:24px 24px 60px}.px-view-head{justify-content:space-between;align-items:flex-start;gap:24px;min-height:84px;padding:2px 0 18px;display:flex}.px-view-overline{color:var(--px-orange-bright);margin-bottom:8px;font-weight:700;display:block}.px-view-head h1{letter-spacing:0;margin:0;font-size:28px;line-height:1.2}.px-view-head p,.px-section-head p,.px-view-action-row p{color:var(--px-muted);margin:8px 0 0;line-height:1.6}.px-view-actions{align-items:center;gap:10px;display:flex}.px-check{min-height:40px;color:var(--px-muted);align-items:center;gap:8px;display:flex}.px-check input{width:18px;height:18px;accent-color:var(--px-orange)}.px-button,.px-icon-button,.px-row-action{border:1px solid var(--px-line-strong);background:var(--px-surface-2);color:var(--px-text);border-radius:6px}.px-button{white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:650;text-decoration:none;display:inline-flex}.px-button svg,.px-icon-button svg{width:17px;height:17px}.px-button:hover,.px-icon-button:hover,.px-row-action:hover{background:var(--px-surface-3);border-color:#d9775780}.px-button-primary{border-color:var(--px-orange);background:var(--px-orange);color:#1b1210}.px-button-primary:hover{background:var(--px-orange-bright)}.px-button-quiet{color:var(--px-muted);background:0 0}.px-full-button{width:100%}.px-icon-button,.px-row-action{place-items:center;width:40px;height:40px;padding:0;display:inline-grid}.px-row-action{width:34px;height:34px}.px-status{border:1px solid var(--px-line);min-height:26px;color:var(--px-muted);white-space:nowrap;background:#ffffff09;border-radius:999px;justify-content:center;align-items:center;padding:3px 8px;display:inline-flex}.px-status-blue{background:var(--px-blue-soft);color:var(--px-blue);border-color:#77a9f747}.px-status-orange{background:var(--px-orange-soft);color:var(--px-orange-bright);border-color:#d9775752}.px-status-green{background:var(--px-green-soft);color:var(--px-green);border-color:#66bda547}.px-status-yellow{background:var(--px-yellow-soft);color:var(--px-yellow);border-color:#d4ae6347}.px-status-red{background:var(--px-red-soft);color:var(--px-red);border-color:#dc73734d}.px-status-ribbon{border-top:1px solid var(--px-line);border-bottom:1px solid var(--px-line);grid-template-columns:1.1fr 1.45fr 1.25fr .8fr .8fr;margin-bottom:18px;display:grid}.px-status-ribbon>div{border-right:1px solid var(--px-line);min-width:0;padding:12px 16px}.px-status-ribbon>div:first-child{padding-left:0}.px-status-ribbon>div:last-child{border-right:0}.px-status-ribbon span,.px-status-ribbon strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.px-status-ribbon span{color:var(--px-dim)}.px-status-ribbon strong{color:var(--px-muted);margin-top:4px;font-weight:600}.px-mode-tabs{border:1px solid var(--px-line);background:var(--px-bg-soft);border-radius:6px;gap:4px;width:max-content;max-width:100%;margin-bottom:18px;padding:4px;display:flex;overflow-x:auto}.px-mode-tabs button{min-height:38px;color:var(--px-muted);white-space:nowrap;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.px-mode-tabs button svg{width:17px;height:17px}.px-mode-tabs button.is-active{background:var(--px-surface-3);color:var(--px-text);box-shadow:inset 0 0 0 1px var(--px-line)}.px-commodity-row{justify-content:space-between;align-items:stretch;gap:14px;margin-bottom:14px;display:flex}.px-segmented{border:1px solid var(--px-line);background:var(--px-bg-soft);border-radius:6px;flex:1;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.px-segmented button{border:0;border-right:1px solid var(--px-line);min-height:54px;color:var(--px-muted);text-align:left;background:0 0;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:8px 12px;display:grid}.px-segmented button:last-child{border-right:0}.px-segmented button strong{color:var(--px-dim)}.px-segmented button.is-active{background:var(--px-orange-soft);color:var(--px-text)}.px-segmented button.is-active strong{color:var(--px-orange-bright)}.px-window-picker{border:1px solid var(--px-line);background:var(--px-bg-soft);border-radius:6px;padding:4px;display:flex}.px-window-picker button{min-height:44px;color:var(--px-dim);white-space:nowrap;background:0 0;border:0;border-radius:4px;padding:0 11px}.px-window-picker button.is-active{background:var(--px-surface-3);color:var(--px-text)}.px-research-grid{grid-template-columns:minmax(0,8fr) minmax(300px,4fr);gap:14px;display:grid}.px-primary-surface,.px-insight-rail,.px-surface{border:1px solid var(--px-line);background:var(--px-surface);border-radius:8px;padding:18px}.px-primary-surface,.px-insight-rail{min-height:552px}.px-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.px-section-head>:last-child:not(:first-child){flex:none}.px-section-head h2{letter-spacing:0;margin:0;font-size:19px;line-height:1.3}.px-section-head p{max-width:760px}.px-forecast-canvas{min-height:440px}.px-forecast-canvas svg{touch-action:none;width:100%;height:auto;min-height:380px;display:block;overflow:visible}.px-chart-grid{stroke:#ffffff14;stroke-width:1px}.px-chart-axis,.px-chart-label,.px-chart-callout text{fill:var(--px-dim);font-family:var(--font-geist-mono), monospace;font-size:14px}.px-chart-band{fill:#77a9f71c}.px-chart-band-hatch{fill:url(#forecast-band-hatch);opacity:.32}.px-chart-hatch{stroke:#77a9f74d;stroke-width:1px}.px-chart-published{fill:none;stroke:var(--px-blue);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.px-chart-draft{fill:none;stroke:var(--px-orange-bright);stroke-width:2.5px;stroke-dasharray:8 7;stroke-linecap:round;stroke-linejoin:round}.px-chart-published-dot{fill:var(--px-blue);stroke:var(--px-surface);stroke-width:2px;cursor:pointer}.px-chart-published-dot.is-selected{stroke:var(--px-text)}.px-chart-drag-handle{fill:var(--px-orange);stroke:#ffd5c8;stroke-width:2px;cursor:ns-resize;outline:none}.px-chart-drag-handle:hover,.px-chart-drag-handle:focus,.px-chart-drag-handle.is-selected{filter:drop-shadow(0 0 7px #d97757b3)}.px-chart-callout rect{fill:#2a211e;stroke:#d977578c}.px-chart-callout text{fill:var(--px-text)}.px-chart-legend{color:var(--px-muted);flex-wrap:wrap;gap:18px;padding:8px 0 0 60px;display:flex}.px-chart-legend span{align-items:center;gap:8px;display:inline-flex}.px-chart-legend i{width:28px;height:3px;display:block}.px-chart-legend i.published{background:var(--px-blue)}.px-chart-legend i.interval{background:var(--px-blue-soft);border:1px solid #77a9f766;height:10px}.px-chart-legend i.draft{border-top:2px dashed var(--px-orange)}.px-canvas-empty,.px-empty{min-height:180px;color:var(--px-muted);text-align:center;align-content:center;place-items:center;gap:9px;padding:28px;display:grid}.px-empty svg{width:28px;height:28px;color:var(--px-dim)}.px-canvas-empty p,.px-empty p{max-width:520px;color:var(--px-dim);margin:0;line-height:1.55}.px-price-summary,.px-drawer-price{border-top:1px solid var(--px-line);border-bottom:1px solid var(--px-line);padding:18px 0}.px-price-summary span,.px-price-summary small,.px-drawer-price span,.px-drawer-price small{color:var(--px-dim);display:block}.px-price-summary strong,.px-drawer-price strong{font-family:var(--font-geist-mono), monospace;letter-spacing:0;margin:8px 0 6px;font-size:36px;line-height:1;display:block}.px-range-row{border:1px solid var(--px-line);background:var(--px-line);border-radius:6px;grid-template-columns:1fr 1fr;gap:1px;margin:12px 0;display:grid;overflow:hidden}.px-range-row>div{background:var(--px-surface-2);padding:12px}.px-range-row span,.px-range-row strong{display:block}.px-range-row span{color:var(--px-dim)}.px-range-row strong{font-family:var(--font-geist-mono), monospace;margin-top:5px;font-size:18px}.px-insight-block{border-bottom:1px solid var(--px-line);padding:14px 0}.px-insight-block>span{color:var(--px-dim);margin-bottom:7px;display:block}.px-insight-block p{color:var(--px-muted);margin:7px 0 0;line-height:1.55}.px-mini-driver-list{display:grid}.px-mini-driver-list button{border:0;border-top:1px solid var(--px-line);min-height:42px;color:var(--px-muted);text-align:left;background:0 0;grid-template-columns:1fr auto 16px;align-items:center;gap:8px;padding:0;display:grid}.px-mini-driver-list button em{color:var(--px-orange-bright);font-family:var(--font-geist-mono), monospace;font-style:normal}.px-mini-driver-list button svg{width:15px;height:15px}.px-rail-actions{gap:8px;padding-top:14px;display:grid}.px-unissued{grid-template-columns:1fr 1fr;align-items:center;gap:24px;min-height:430px;padding:36px;display:grid}.px-unissued-main h3{margin:18px 0 8px;font-size:24px}.px-unissued-main p,.px-shadow-formula small{color:var(--px-muted);line-height:1.6}.px-shadow-formula{border-left:2px solid var(--px-yellow);background:var(--px-yellow-soft);padding:22px}.px-shadow-formula span,.px-shadow-formula strong,.px-shadow-formula small{display:block}.px-shadow-formula strong{font-family:var(--font-geist-mono), monospace;margin:12px 0;font-size:18px;line-height:1.6}.px-coherence,.px-surface{margin-top:14px}.px-coherence{border-top:1px solid var(--px-line);padding:18px 0 0}.px-coherence-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.px-coherence-grid>button{border:1px solid var(--px-line);background:var(--px-surface);min-height:118px;color:var(--px-text);text-align:left;border-radius:6px;justify-items:start;gap:6px;padding:14px;display:grid;position:relative}.px-coherence-grid>button.is-active{border-color:#d977578c}.px-coherence-grid>button>span:first-child{color:var(--px-orange-bright);font-family:var(--font-geist-mono), monospace;font-weight:700}.px-coherence-grid>button>small{color:var(--px-dim)}.px-chain-arrow{z-index:2;width:24px;height:24px;color:var(--px-dim);position:absolute;top:50%;right:-18px;transform:translateY(-50%)}.px-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.px-two-column>.px-surface{margin-top:0}.px-two-column-drivers{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.px-driver-controls{gap:8px;display:grid}.px-driver-controls label{border-top:1px solid var(--px-line);gap:8px;padding:12px 0;display:grid}.px-driver-controls label>div{justify-content:space-between;align-items:center;display:flex}.px-driver-controls label>div span{color:var(--px-orange-bright);font-family:var(--font-geist-mono), monospace;font-weight:700}.px-driver-controls label small,.px-form-stack label>span,.px-form-grid label>span,.px-allocation-mixer label small{color:var(--px-dim)}input[type=range]{width:100%;min-height:24px;accent-color:var(--px-orange)}.px-inline-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.px-guardrail{border-left:2px solid var(--px-yellow);background:var(--px-yellow-soft);color:var(--px-muted);grid-template-columns:20px 1fr;gap:10px;margin-top:16px;padding:12px 14px;display:grid}.px-guardrail svg{width:18px;height:18px;color:var(--px-yellow);margin-top:2px}.px-guardrail p{margin:0;line-height:1.55}.px-form-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.px-form-stack label,.px-form-grid label{gap:7px;display:grid}.px-form-stack label:first-child{grid-column:1/-1}.px-form-stack input:not([type=range]),.px-form-grid input{border:1px solid var(--px-line-strong);background:var(--px-bg-soft);width:100%;min-height:42px;color:var(--px-text);border-radius:5px;outline:none}.px-form-stack input:not([type=range]){padding:0 11px}.px-form-stack input:focus,.px-form-grid input:focus{border-color:var(--px-orange);box-shadow:0 0 0 3px var(--px-orange-soft)}.px-input-with-value{grid-template-columns:1fr 52px;align-items:center;gap:10px;min-height:42px;display:grid}.px-input-with-value strong{color:var(--px-orange-bright);text-align:right}.px-impact-grid,.px-solution-metrics,.px-calibration-grid,.px-locked-metrics{border-top:1px solid var(--px-line);border-left:1px solid var(--px-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:18px;display:grid}.px-impact-grid>div{border-right:1px solid var(--px-line);border-bottom:1px solid var(--px-line);padding:14px}.px-impact-grid span,.px-impact-grid strong,.px-impact-grid small{display:block}.px-impact-grid span,.px-impact-grid small{color:var(--px-dim)}.px-impact-grid strong{margin:6px 0;font-size:20px}.px-response-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.px-response-grid article{border:1px solid var(--px-line);background:var(--px-surface-2);border-radius:6px;padding:15px}.px-response-grid article>div:first-child{justify-content:space-between;align-items:center;display:flex}.px-response-grid article>div:first-child>span{color:var(--px-orange-bright);font-weight:700}.px-response-grid h3{margin:18px 0 8px;font-size:17px}.px-response-grid article>strong{color:var(--px-yellow)}.px-response-grid p{color:var(--px-dim);margin:8px 0 0;line-height:1.55}.px-surface-response-list{gap:10px;margin-top:14px;display:grid}.px-surface-response-list>div{border-top:1px solid var(--px-line);grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding-top:10px;display:grid}.px-surface-response-list>div>span{color:var(--px-muted);font-weight:600}.px-surface-response-list strong{color:var(--px-yellow);font-family:var(--font-geist-mono), monospace}.px-surface-response-list code,.px-surface-response-list small{overflow-wrap:anywhere;grid-column:1/-1}.px-surface-response-list code{color:var(--px-orange-bright);font-family:var(--font-geist-mono), monospace}.px-surface-response-list small{color:var(--px-dim);line-height:1.45}.px-blocker-list{gap:8px;margin-top:18px;display:grid}.px-blocker-list>div,.px-object-readout{border-left:2px solid var(--px-yellow);background:var(--px-yellow-soft);gap:5px;padding:12px 14px;display:grid}.px-blocker-list strong,.px-blocker-list span,.px-blocker-list p,.px-object-readout span,.px-object-readout strong,.px-object-readout code{overflow-wrap:anywhere;margin:0}.px-blocker-list span,.px-blocker-list p,.px-object-readout span{color:var(--px-dim)}.px-object-readout{margin-top:18px}.px-object-readout code{color:var(--px-orange-bright)}.px-market-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.px-factor-list,.px-model-list,.px-allocation-list{display:grid}.px-factor-list>button{border:0;border-top:1px solid var(--px-line);min-height:70px;color:var(--px-muted);text-align:left;background:0 0;grid-template-columns:40px minmax(0,1fr) 120px 58px;align-items:center;gap:12px;padding:10px 8px;display:grid}.px-factor-list>button.is-active{background:var(--px-orange-soft)}.px-factor-list>button>span{color:var(--px-dim);font-family:var(--font-geist-mono), monospace}.px-factor-list button div strong,.px-factor-list button div small{display:block}.px-factor-list button div small{color:var(--px-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;overflow:hidden}.px-factor-list button i,.px-model-list button i,.px-allocation-list button i{background:#ffffff12;border-radius:999px;height:6px;display:block;overflow:hidden}.px-factor-list button i b,.px-model-list button i b,.px-allocation-list button i b{background:var(--px-orange);height:100%;display:block}.px-factor-list button em,.px-model-list button em,.px-allocation-list button em{color:var(--px-orange-bright);font-family:var(--font-geist-mono), monospace;text-align:right;font-style:normal}.px-factor-detail{gap:8px;margin-bottom:22px;display:grid}.px-factor-detail p{color:var(--px-muted);margin:0 0 6px;line-height:1.65}.px-factor-detail span{border-left:2px solid var(--px-orange);background:var(--px-orange-soft);color:var(--px-muted);padding:9px 10px}.px-event-list{display:grid}.px-event-list>div{border-top:1px solid var(--px-line);grid-template-columns:128px 10px 1fr;align-items:start;gap:8px;min-height:60px;padding:11px 0;display:grid}.px-event-list time,.px-event-list small{color:var(--px-dim)}.px-event-list>div>span{border:2px solid var(--px-orange);border-radius:50%;width:8px;height:8px;margin-top:5px}.px-event-list strong,.px-event-list small{display:block}.px-event-list small{margin-top:5px}.px-table-scroll{border:1px solid var(--px-line);border-radius:6px;max-width:100%;overflow:auto}.px-table-scroll-tall{max-height:440px}.px-table{border-collapse:collapse;width:100%;min-width:820px}.px-table th,.px-table td{border-bottom:1px solid var(--px-line);color:var(--px-muted);text-align:left;vertical-align:middle;white-space:nowrap;padding:12px 14px}.px-table th{z-index:1;background:var(--px-surface-2);color:var(--px-dim);font-weight:600;position:sticky;top:0}.px-table td strong,.px-table td small{display:block}.px-table td small{color:var(--px-dim);margin-top:4px}.px-table code,.px-baseline-grid code{color:var(--px-orange-bright);font-family:var(--font-geist-mono), monospace}.px-view-action-row{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px;display:flex}.px-view-action-row h2{margin:0;font-size:22px}.px-metric-strip,.px-evidence-strip{border-top:1px solid var(--px-line);border-bottom:1px solid var(--px-line);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px;display:grid}.px-evidence-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.px-metric{border-right:1px solid var(--px-line);min-width:0;padding:14px 16px}.px-metric:last-child{border-right:0}.px-metric span,.px-metric strong,.px-metric small{display:block}.px-metric span,.px-metric small{color:var(--px-dim)}.px-metric strong{color:var(--px-text);font-family:var(--font-geist-mono), monospace;text-overflow:ellipsis;white-space:nowrap;margin:7px 0 5px;font-size:21px;line-height:1.2;overflow:hidden}.px-metric-blue strong{color:var(--px-blue)}.px-metric-orange strong{color:var(--px-orange-bright)}.px-metric-green strong{color:var(--px-green)}.px-metric-yellow strong{color:var(--px-yellow)}.px-risk-list{display:grid}.px-risk-list article{border-top:1px solid var(--px-line);grid-template-columns:40px 1fr 48px;gap:12px;min-height:92px;padding:14px 0;display:grid}.px-risk-list article>span{color:var(--px-dim);font-family:var(--font-geist-mono), monospace}.px-risk-list article p{color:var(--px-muted);margin:6px 0;line-height:1.5}.px-risk-list article small{color:var(--px-green)}.px-risk-list article em{color:var(--px-orange-bright);font-family:var(--font-geist-mono), monospace;text-align:right;font-size:22px;font-style:normal}.px-engine-flow{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.px-engine-flow>div{border-top:2px solid var(--px-orange);background:var(--px-surface);align-content:start;gap:7px;min-height:128px;padding:14px;display:grid;position:relative}.px-engine-flow>div>svg:first-child{width:22px;height:22px;color:var(--px-orange-bright)}.px-engine-flow>div>span,.px-engine-flow>div>small{color:var(--px-dim)}.px-flow-arrow{z-index:2;width:24px;height:24px;color:var(--px-dim);position:absolute;top:50%;right:-18px;transform:translateY(-50%)}.px-model-list>button{border:0;border-top:1px solid var(--px-line);min-height:68px;color:var(--px-muted);text-align:left;background:0 0;grid-template-columns:34px minmax(0,1fr) 100px 54px 16px;align-items:center;gap:10px;padding:8px 4px;display:grid}.px-model-list>button>span{color:var(--px-dim)}.px-model-list button div strong,.px-model-list button div small{display:block}.px-model-list button div small{color:var(--px-dim);margin-top:5px}.px-model-list button>svg{width:15px;height:15px}.px-calibration-grid{margin-top:0}.px-calibration-grid .px-metric,.px-solution-metrics .px-metric,.px-locked-metrics .px-metric{border-right:1px solid var(--px-line);border-bottom:1px solid var(--px-line)}.px-baseline-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.px-baseline-grid article{border:1px solid var(--px-line);background:var(--px-surface-2);border-radius:6px;padding:16px}.px-baseline-grid article>div:first-child{justify-content:space-between;align-items:center;display:flex}.px-baseline-grid article>div:first-child>span{color:var(--px-orange-bright);font-weight:700}.px-baseline-grid h3{margin:16px 0 10px;font-size:18px}.px-baseline-grid code{background:var(--px-bg-soft);min-height:70px;padding:12px;line-height:1.6;display:block}.px-baseline-grid p{min-height:46px;color:var(--px-muted);line-height:1.55}.px-baseline-grid dl{gap:7px;margin:12px 0 0;display:grid}.px-baseline-grid dl div{grid-template-columns:86px 1fr;gap:8px;display:grid}.px-baseline-grid dt{color:var(--px-dim)}.px-baseline-grid dd{overflow-wrap:anywhere;margin:0}.px-no-call{border-left:2px solid var(--px-red);background:var(--px-red-soft);color:var(--px-red);margin-top:12px;padding:10px}.px-procurement-layout{grid-template-columns:minmax(340px,.82fr) minmax(0,1.5fr);gap:14px;display:grid}.px-procurement-layout>.px-surface{margin-top:0}.px-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.px-number-input{position:relative}.px-number-input input{padding:0 52px 0 11px}.px-number-input small{color:var(--px-dim);pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.px-constraint-panel .px-full-button{margin-top:16px}.px-strategy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.px-strategy-grid>button{border:1px solid var(--px-line);background:var(--px-surface-2);min-height:154px;color:var(--px-text);text-align:left;border-radius:6px;padding:14px}.px-strategy-grid>button:hover,.px-strategy-grid>button.is-active{background:var(--px-orange-soft);border-color:#d977578c}.px-strategy-grid>button>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.px-strategy-grid>button>strong,.px-strategy-grid>button>small{display:block}.px-strategy-grid>button>strong{font-family:var(--font-geist-mono), monospace;margin:18px 0 6px;font-size:25px}.px-strategy-grid>button>small,.px-strategy-grid>button>p{color:var(--px-dim)}.px-strategy-grid>button>p{margin:12px 0 0;line-height:1.45}.px-solution-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.px-decision-detail-grid{margin-top:14px}.px-allocation-list>button{border:0;border-top:1px solid var(--px-line);min-height:68px;color:var(--px-muted);text-align:left;background:0 0;grid-template-columns:minmax(130px,1fr) 110px 52px 84px 16px;align-items:center;gap:10px;padding:10px 4px;display:grid}.px-allocation-list button div strong,.px-allocation-list button div span{display:block}.px-allocation-list button div span,.px-allocation-list button small{color:var(--px-dim);margin-top:4px}.px-allocation-list button svg{width:15px;height:15px}.px-schedule{border:1px solid var(--px-line);background:var(--px-line);border-radius:6px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.px-schedule>div{background:var(--px-surface-2);padding:16px 12px}.px-schedule span,.px-schedule strong,.px-schedule small{display:block}.px-schedule span,.px-schedule small{color:var(--px-dim)}.px-schedule strong{margin:13px 0 7px;font-size:17px}.px-target-list,.px-rule-stack{display:grid}.px-target-list>div{border-top:1px solid var(--px-line);grid-template-columns:1fr auto auto;align-items:center;gap:14px;min-height:48px;display:grid}.px-target-list span{color:var(--px-green)}.px-target-list em{color:var(--px-yellow);font-style:normal}.px-rule-stack>div{border-top:1px solid var(--px-line);grid-template-columns:28px 1fr auto;align-items:center;gap:10px;min-height:58px;display:grid}.px-rule-stack>div>span{color:var(--px-dim)}.px-rule-stack p{color:var(--px-muted);margin:0;line-height:1.45}.px-tradeoff-tabs{border:1px solid var(--px-line);border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;display:grid}.px-tradeoff-tabs button{border:0;border-right:1px solid var(--px-line);min-height:44px;color:var(--px-muted);background:0 0}.px-tradeoff-tabs button:last-child{border-right:0}.px-tradeoff-tabs button.is-active{background:var(--px-orange-soft);color:var(--px-text)}.px-allocation-mixer{gap:8px;display:grid}.px-allocation-mixer label{border-top:1px solid var(--px-line);gap:8px;padding:12px 0;display:grid}.px-allocation-mixer label>div{justify-content:space-between;align-items:center;display:flex}.px-allocation-mixer label>div span{color:var(--px-orange-bright);font-family:var(--font-geist-mono), monospace;font-weight:700}.px-balance-check{border:1px solid var(--px-line);border-radius:6px;grid-template-columns:24px 1fr;gap:12px;margin:14px 0;padding:14px;display:grid}.px-balance-check svg{width:22px;height:22px}.px-balance-check p{color:var(--px-muted);margin:5px 0 0;line-height:1.45}.px-balance-check.is-valid{background:var(--px-green-soft);border-color:#66bda557}.px-balance-check.is-valid svg{color:var(--px-green)}.px-balance-check.is-invalid{background:var(--px-red-soft);border-color:#dc737357}.px-balance-check.is-invalid svg{color:var(--px-red)}.px-locked-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.px-locked-metrics .px-metric strong{color:var(--px-dim);font-family:inherit;font-size:17px}.px-data-requirements{margin-top:20px}.px-data-requirements h3{margin:0 0 10px;font-size:17px}.px-data-requirements>div{border-top:1px solid var(--px-line);grid-template-columns:8px 1fr;align-items:center;gap:10px;min-height:42px;display:grid}.px-data-requirements>div span{border:1px solid var(--px-yellow);border-radius:50%;width:7px;height:7px}.px-data-requirements p{color:var(--px-muted);margin:0}.px-governance-rules{display:grid}.px-governance-rules>div{border-top:1px solid var(--px-line);grid-template-columns:24px 1fr;gap:12px;min-height:78px;padding:12px 0;display:grid}.px-governance-rules>div>svg{width:20px;height:20px;color:var(--px-green)}.px-governance-rules span,.px-governance-rules strong,.px-governance-rules p{display:block}.px-governance-rules span{color:var(--px-dim)}.px-governance-rules strong{margin-top:4px}.px-governance-rules p{color:var(--px-muted);margin:5px 0 0}.px-definition-list{gap:0;margin:0;display:grid}.px-definition-list>div{border-top:1px solid var(--px-line);grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);align-items:center;gap:14px;min-height:48px;display:grid}.px-definition-list dt{color:var(--px-dim)}.px-definition-list dd{overflow-wrap:anywhere;text-align:right;margin:0}.px-calculation-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.px-decision-workspace-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.px-calculation-summary,.px-calculation-run-panel,.px-optimization-summary,.px-optimization-solutions,.px-optimization-validation{gap:18px;display:grid}.px-calculation-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.px-calculation-meta>div{border:1px solid var(--px-line);background:var(--px-surface-2);gap:5px;min-width:0;padding:12px;display:grid}.px-calculation-meta span{color:var(--px-muted);font-size:14px}.px-calculation-meta strong,.px-calculation-meta code{overflow-wrap:anywhere;color:var(--px-text);font-size:14px}.px-calculation-detail-grid,.px-calculation-output-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:18px;display:grid}.px-calculation-detail-grid h3,.px-calculation-output-grid h3{color:var(--px-text);margin:0 0 10px;font-size:15px}.px-chip-row{flex-wrap:wrap;gap:8px;display:flex}.px-chip-row span{border:1px solid var(--px-line);color:var(--px-muted);background:var(--px-surface-2);padding:6px 9px;font-size:14px}.px-calculation-output-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.px-calculation-output-row{border-bottom:1px solid var(--px-line);grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:10px;padding:10px 0;display:grid}.px-calculation-output-row span,.px-calculation-output-row small{color:var(--px-muted);overflow-wrap:anywhere}.px-calculation-output-row strong{color:var(--px-text);font-variant-numeric:tabular-nums}.px-optimization-infeasible{border-top:1px solid var(--px-line);gap:10px;padding-top:14px;display:grid}.px-optimization-infeasible>div:first-child{align-items:flex-start;gap:10px;display:flex}.px-optimization-infeasible svg{width:20px;color:var(--px-yellow);flex:0 0 20px}.px-optimization-infeasible strong,.px-optimization-infeasible p{margin:0}.px-optimization-infeasible p,.px-optimization-conflict span{color:var(--px-muted);font-size:14px;line-height:1.55}.px-optimization-conflict{border-top:1px solid var(--px-line);grid-template-columns:minmax(170px,.7fr) minmax(150px,.5fr) minmax(260px,1.4fr);align-items:start;gap:12px;padding:12px 0;display:grid}.px-optimization-strategy-grid{border-top:1px solid var(--px-line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.px-optimization-strategy{border-right:1px solid var(--px-line);min-width:0;padding:16px}.px-optimization-strategy:last-child{border-right:0}.px-optimization-strategy>header{justify-content:space-between;align-items:flex-start;gap:10px;min-height:58px;margin-bottom:14px;display:flex}.px-optimization-strategy>header>div{gap:5px;display:grid}.px-optimization-strategy>header span,.px-optimization-metrics span{color:var(--px-muted);font-size:14px}.px-optimization-strategy>header strong{font-variant-numeric:tabular-nums;font-size:20px}.px-optimization-metrics{border-top:1px solid var(--px-line);border-left:1px solid var(--px-line);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px;display:grid}.px-optimization-metrics>div{border-right:1px solid var(--px-line);border-bottom:1px solid var(--px-line);gap:4px;min-width:0;padding:10px;display:grid}.px-optimization-metrics strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:14px}.px-drawer-layer{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000094;position:fixed;inset:0}.px-drawer{border-left:1px solid var(--px-line-strong);background:var(--px-surface);width:min(520px,100%);height:100%;box-shadow:var(--px-shadow);animation:.18s ease-out px-drawer-in;position:absolute;top:0;right:0;overflow:hidden}@keyframes px-drawer-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.px-drawer>header{border-bottom:1px solid var(--px-line);justify-content:space-between;align-items:center;gap:16px;min-height:78px;padding:0 20px;display:flex}.px-drawer>header span{color:var(--px-orange-bright)}.px-drawer>header h2{margin:5px 0 0;font-size:21px}.px-drawer-body{height:calc(100% - 78px);padding:20px;overflow-y:auto}.px-drawer-section{margin:22px 0}.px-drawer-section h3{margin:0 0 10px;font-size:17px}.px-drawer-row{border:0;border-top:1px solid var(--px-line);width:100%;min-height:52px;color:var(--px-text);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.px-drawer-row strong,.px-drawer-row small{display:block}.px-drawer-row small{color:var(--px-dim);margin-top:4px}.px-drawer-row svg{width:16px;height:16px}.px-back-link{color:var(--px-muted);background:0 0;border:0;align-items:center;gap:7px;margin-bottom:16px;padding:0;display:inline-flex}.px-back-link svg{width:16px;height:16px;transform:rotate(180deg)}.px-trace-stack{display:grid}.px-trace-stack>div{border-top:1px solid var(--px-line);grid-template-columns:34px 1fr;gap:12px;min-height:82px;padding:13px 0;display:grid}.px-trace-stack>div>span{border:1px solid var(--px-orange);width:28px;height:28px;color:var(--px-orange-bright);border-radius:50%;place-items:center;display:grid}.px-trace-stack small,.px-trace-stack strong,.px-trace-stack p{display:block}.px-trace-stack small{color:var(--px-dim)}.px-trace-stack strong{overflow-wrap:anywhere;margin-top:4px}.px-trace-stack p{color:var(--px-muted);margin:5px 0 0}.px-engine-error{background:var(--px-red-soft);color:var(--px-red);border:1px solid #dc737352;border-radius:6px;grid-template-columns:24px 1fr;gap:11px;margin:16px 24px 0;padding:12px 14px;display:grid}.px-engine-error svg{width:20px;height:20px}.px-engine-error strong,.px-engine-error span{display:block}.px-engine-error span{color:var(--px-muted);margin-top:4px}.px-toast{z-index:100;width:min(420px,100% - 44px);color:var(--px-text);box-shadow:var(--px-shadow);background:#182521;border:1px solid #66bda55c;border-radius:6px;padding:14px 16px;position:fixed;bottom:22px;right:22px}.px-loading{z-index:90;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080809a8;place-items:center;display:grid;position:fixed;inset:0}.px-loading>div{border:1px solid var(--px-line-strong);background:var(--px-surface);border-radius:8px;justify-items:center;gap:10px;min-width:320px;padding:28px;display:grid}.px-loading svg{width:28px;height:28px;color:var(--px-orange-bright);animation:1.2s ease-in-out infinite px-pulse}.px-loading p{color:var(--px-muted);margin:0}@keyframes px-pulse{50%{opacity:.42;transform:scale(.92)}}.px-muted{color:var(--px-dim)}.login-shell,.login-shell *{font-size:14px!important}.login-heading h1{letter-spacing:0!important;font-size:30px!important}.login-brand strong{font-size:16px!important}.px-research-route-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.px-research-route-grid>a{border:1px solid var(--px-line);min-width:0;min-height:64px;color:var(--px-text);border-radius:6px;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:grid}.px-research-route-grid>a:hover{border-color:var(--px-line-strong);background:var(--px-surface-raised)}.px-research-route-grid>a:focus-visible{outline:2px solid var(--px-orange-bright);outline-offset:2px}.px-research-route-grid svg{width:18px;height:18px;color:var(--px-orange-bright)}.px-research-route-grid span,.px-research-route-grid small,.px-research-route-grid strong{min-width:0;display:block}.px-research-route-grid small{color:var(--px-dim)}.px-research-route-grid strong{overflow-wrap:anywhere;margin-top:3px}@media (width<=1350px){.px-research-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.px-sidebar{width:78px}.px-brand{justify-content:center;padding:0}.px-brand>div:last-child,.px-nav-label,.px-sidebar nav button>span,.px-sidebar nav button .px-nav-chevron,.px-engine-state>div,.px-sidebar-foot form button{display:none}.px-sidebar nav button{grid-template-columns:1fr;place-items:center;padding:0;display:grid}.px-sidebar nav button>svg{width:20px;height:20px}.px-sidebar-foot{justify-items:center;padding:18px 8px}.px-engine-state{display:block}.px-main{margin-left:78px}.px-content{padding-left:18px;padding-right:18px}.px-research-grid{grid-template-columns:minmax(0,1fr) 310px}.px-primary-surface,.px-insight-rail{padding:15px}.px-chart-legend{padding-left:0}.px-factor-list>button{grid-template-columns:36px minmax(0,1fr) 90px 52px}.px-baseline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1050px){.px-research-grid,.px-two-column,.px-two-column-drivers,.px-market-grid,.px-procurement-layout{grid-template-columns:1fr}.px-insight-rail,.px-primary-surface{min-height:auto}.px-response-grid,.px-coherence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.px-chain-arrow{display:none}.px-engine-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.px-flow-arrow{display:none}.px-status-ribbon{grid-template-columns:repeat(3,minmax(0,1fr))}.px-status-ribbon>div{border-bottom:1px solid var(--px-line)}.px-evidence-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.px-research-route-grid{grid-template-columns:1fr}.px-sidebar{border-top:1px solid var(--px-line);border-right:0;width:100%;height:68px;position:fixed;inset:auto 0 0}.px-brand,.px-sidebar-foot,.px-nav-label{display:none}.px-sidebar nav{grid-template-columns:repeat(4,1fr);gap:0;height:100%;padding:5px;display:grid}.px-sidebar nav button{grid-template-columns:1fr;place-items:center;gap:3px;min-height:56px;padding:4px;display:grid}.px-sidebar nav button>span{font-size:14px;display:block}.px-main{margin-left:0;padding-bottom:70px}.px-topbar{padding:0 14px}.px-topbar>div:first-child span,.px-topbar .px-status{display:none}.px-content{padding:18px 12px 36px}.px-view-head,.px-view-action-row,.px-commodity-row{flex-direction:column}.px-view-head h1{font-size:24px}.px-view-actions,.px-view-actions .px-button,.px-commodity-row,.px-window-picker{width:100%}.px-segmented{grid-template-columns:repeat(2,1fr);width:100%}.px-segmented button:nth-child(2){border-right:0}.px-segmented button:nth-child(-n+2){border-bottom:1px solid var(--px-line)}.px-window-picker{overflow-x:auto}.px-window-picker button{flex:1 0 auto}.px-status-ribbon,.px-metric-strip,.px-evidence-strip,.px-solution-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.px-status-ribbon>div,.px-metric{padding:12px 10px}.px-status-ribbon>div:first-child{padding-left:10px}.px-status-ribbon strong{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}.px-forecast-canvas svg{min-height:300px}.px-chart-legend{gap:10px}.px-unissued{grid-template-columns:1fr;padding:20px 4px}.px-response-grid,.px-coherence-grid,.px-engine-flow,.px-baseline-grid,.px-strategy-grid,.px-schedule,.px-form-stack,.px-form-grid{grid-template-columns:1fr}.px-form-stack label:first-child{grid-column:auto}.px-factor-list>button{grid-template-columns:34px minmax(0,1fr) 54px}.px-factor-list>button i{display:none}.px-event-list>div{grid-template-columns:104px 10px 1fr}.px-allocation-list>button{grid-template-columns:minmax(120px,1fr) 48px 72px 16px}.px-allocation-list>button i{display:none}.px-tradeoff-tabs{grid-template-columns:1fr}.px-tradeoff-tabs button{border-right:0;border-bottom:1px solid var(--px-line)}.px-tradeoff-tabs button:last-child{border-bottom:0}.px-calculation-tabs,.px-calculation-meta,.px-calculation-detail-grid,.px-calculation-output-grid,.px-optimization-strategy-grid,.px-optimization-conflict{grid-template-columns:1fr}.px-optimization-strategy{border-right:0;border-bottom:1px solid var(--px-line)}.px-optimization-strategy:last-child{border-bottom:0}.px-calculation-output-row{grid-template-columns:minmax(0,1fr) auto}.px-calculation-output-row small{grid-column:1/-1}.px-drawer{width:100%}.px-engine-error{margin-left:12px;margin-right:12px}}
