/* One semantic palette for every screen, dialog and help page. */
:root{color-scheme:light;--bg:#edf2f0;--surface:#fff;--raised:#f5f8f6;--input:#fff;--ink:#183b35;--text:#19342f;--muted:#586e66;--edge:#cedbd4;--accent:#17624e;--accent-hover:#104f3e;--accent-soft:#e1efe7;--on-accent:#fff;--warn:#855318;--warn-bg:#fff2d9;--danger:#ae2637;--danger-bg:#fce9eb;--shadow:0 8px 26px #183c3010;--cyan:var(--accent);--violet:var(--accent);--panel:var(--surface);--request-red:var(--danger)}
:root[data-theme=steel]{--bg:#edf1f6;--raised:#f3f6fa;--ink:#223b55;--text:#22374c;--muted:#566d84;--edge:#cbd6e2;--accent:#245f9a;--accent-hover:#194c80;--accent-soft:#e3edf8;--shadow:0 8px 26px #203c5510}
:root[data-theme=copper]{--bg:#f4f0eb;--raised:#faf6f1;--ink:#4b3527;--text:#423329;--muted:#746352;--edge:#dfd3c7;--accent:#93532b;--accent-hover:#774020;--accent-soft:#f4e6d9;--shadow:0 8px 26px #67452210}
:root[data-theme=night]{color-scheme:dark;--bg:#11191c;--surface:#1a252a;--raised:#233238;--input:#152126;--ink:#ecf3f0;--text:#e0ebe7;--muted:#a7bcb4;--edge:#41534c;--accent:#8ed5b4;--accent-hover:#b5ebce;--accent-soft:#263e33;--on-accent:#132a1e;--warn:#f2c981;--warn-bg:#3b3321;--danger:#ffb1b9;--danger-bg:#412b30;--shadow:0 8px 26px #0002}
@media screen{
html{background:var(--bg)}body,.manager-shell{background:var(--bg);color:var(--text);font-size:16px}body::before{display:none}*{scrollbar-color:var(--edge) transparent}a{color:var(--accent)}h1,h2,h3,.brand,.metric-value,.empty,.empty h2,.lane-meta b,.material-balance strong,.bed-technology strong,.manager-heading h1,.manager-order h3,.source-card summary strong{color:var(--ink)}
button{background:var(--surface);border-color:var(--edge);color:var(--text);min-height:42px;box-shadow:none;transition:background .12s,border-color .12s}button:hover{background:var(--raised);border-color:var(--accent)}button:disabled{opacity:.48}button.primary,.primary,.lime{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);box-shadow:none}.primary:hover,.lime:hover{background:var(--accent-hover);color:var(--on-accent)}.ghost{background:transparent;color:var(--muted)}input,select,textarea{background:var(--input);color:var(--text);border-color:var(--edge);box-shadow:none;min-height:44px}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.sub,.muted,.help,.panel-head p,.right-note p,.metric-foot,.track-meta,label,.demo-disclaimer,.breadcrumb,.metric-label,.metric-value em,.plant-totals small,.plant-totals>span,.plant-scale,.lane-number small,.lane-meta small,.lane-footer,.plant-legend,.ruler,td small,.bed-technology small,.move-option small,.move-blockers summary,.move-blocker,.manager-heading p,.manager-stats span,.manager-order p,.order-date,.resolution,.request-review-head,.source-card summary small,.source-footer,.issue-row p,.technology-note,.technology-note p,.technology-intro p,.rip-item p,.rip-balance,.empty p,.cost-hero p,.stock-top p,.cost-explainer,.cost-allocation small,.stock-metrics span,.stock-quantity span,.stock-log>div>span,.stock-log small,.catalog-item small{color:var(--muted)}.help,small,td small,.demo-disclaimer{font-size:13px}.eyebrow,.source-number,.material-number,.norm-row legend,.cost-explainer b{color:var(--accent)}
.sidebar,.topbar,.manager-top{background:var(--surface);color:var(--text);border-color:var(--edge);backdrop-filter:none}.sidebar{padding:24px 14px 18px}.brand{padding-bottom:25px;font-size:21px}.brand small{color:var(--muted);letter-spacing:0;font-size:12px!important}.puzzle-logo{filter:none}.side-foot,.side-foot strong{color:var(--muted)}.nav{color:var(--muted);min-height:44px;margin:0;padding:10px 12px;border-radius:8px}.nav:hover{background:var(--raised);color:var(--ink)}.nav.active{background:var(--accent-soft);border-color:transparent;color:var(--accent);box-shadow:inset 3px 0 var(--accent)}.nav b{background:var(--raised);color:var(--accent)}.sidebar nav{gap:3px}.nav-group{margin-top:18px;padding:0 12px 6px;font-size:12px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}.topbar{min-height:68px;padding:12px 26px}.breadcrumb b{color:var(--text)}.top-actions{gap:10px;flex-wrap:wrap}.release-badge{color:var(--accent);border-color:var(--edge);background:var(--raised)}.role-switch{background:var(--raised);border-color:var(--edge);border-radius:9px}.role-switch button{color:var(--muted)}.role-switch button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);box-shadow:none}.theme-control{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px}.theme-control select{font-size:14px;min-height:38px;padding:6px 9px;max-width:166px}.content{padding:24px 26px 32px}.heading h1{font-size:28px;letter-spacing:-.5px}.heading .eyebrow{display:none}.heading .sub{margin-top:7px}.demo-disclaimer{margin:8px 0 14px}.reveal{animation:none!important}
.panel,.metric,.right-note,.manager-order,.request-review,.material-card,.stock-metrics>div,.stock-lot,.cost-hero,.stock-top,.technology-intro,.issue-row,.scan-details{background:var(--surface);border-color:var(--edge);box-shadow:var(--shadow);border-radius:12px}.panel-head{padding:16px 20px;border-color:var(--edge)}.panel-body{padding:20px}.panel-head h2{font-size:18px}.metric{min-height:0;padding:15px 18px}.metric::after{display:none}.metric-value{font-size:28px}.metric-foot.warn{color:var(--warn)}.progress{background:var(--edge)}.progress i{background:var(--accent)}.view-tabs,.journey{background:var(--raised);border-color:var(--edge)}.view-tabs button{color:var(--muted)}.view-tabs button.active{background:var(--surface);color:var(--accent)}.journey .step{color:var(--text);border-color:var(--edge)}.journey .step.active{background:var(--accent-soft)}.journey .detail{color:var(--muted)}.step-num,.step.done .step-num,.step.active .step-num{background:var(--accent-soft);color:var(--accent)}
.plant-board{padding:18px;background:none}.plant-toolbar{margin-bottom:12px}.plant-toolbar h2{font-size:22px}.plant-totals>strong{color:var(--ink)}.plant-dates{margin-bottom:16px;gap:6px}.plant-dates button{background:var(--raised);border-color:var(--edge);padding:8px 14px;min-width:108px;border-radius:8px}.plant-dates button span,.plant-dates button small{color:var(--muted);font-size:12px}.plant-dates button strong{color:var(--ink)}.plant-dates button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);box-shadow:none}.plant-dates button[aria-pressed=true] strong{color:var(--accent)}.plant-lane,.plant-lane:hover{background:var(--surface);color:var(--text);border-color:var(--edge);box-shadow:none;border-radius:10px;padding:14px;gap:14px;grid-template-columns:56px minmax(0,1fr)}.plant-lane.is-selected{background:var(--raised);border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}.lane-number{border-color:var(--edge)}.lane-number strong{font-size:28px}.lane-number small{font-size:12px;letter-spacing:0}.lane-track,.track{background:var(--edge);border-color:var(--edge);box-shadow:none}.lane-cut{background:var(--surface)}.lane-piece{color:var(--text);border-color:var(--surface);box-shadow:none;font-size:13px}.lane-footer{gap:14px;font-size:13px;flex-wrap:wrap}.lane-footer b{color:var(--text)}.lane-open{color:var(--accent)}.lane-fill{color:var(--accent)}.lane-empty{color:var(--muted);border-color:var(--edge);padding:16px}.lane-remainder,.offcut{background:repeating-linear-gradient(125deg,var(--warn-bg) 0 5px,color-mix(in srgb,var(--warn) 18%,var(--surface)) 5px 10px);border-color:var(--warn);color:var(--warn)}.lane-footer .lane-rest,.lane-rest b{color:var(--warn)}.track .piece,.track.w1000 .piece,.track.w1500 .piece{background:var(--accent-soft);color:var(--text);border-color:var(--surface);box-shadow:none}.material-balance,.bed-technology,.rip-details,.move-explanation,.move-impact,.order-summary,.stock-assignments>span,.change-comparison{background:var(--raised);border-color:var(--edge);color:var(--text)}.material-balance span,.balance-plus{color:var(--muted)}.material-balance .remainder-value,.remainder-chip{background:var(--warn-bg);border-color:var(--edge)}.material-balance .remainder-value strong,.material-balance .remainder-value span,.remainder-chip,.rip-balance strong{color:var(--warn)}.bed-tag,.bed-tag.w1000,.bed-tag.w1500{background:var(--accent-soft);border-color:var(--edge);color:var(--accent)}.order-details,.source-card,.issue-row,.norm-row,.stock-lot,.cost-bed,.cost-allocation,.stock-log>div,.catalog-results,.catalog-item,.line-cycle-settings{border-color:var(--edge)}.order-details summary,.source-card summary,.issue-row summary,.rip-details summary,.rip-item strong{color:var(--text)}.order-details summary:hover,.source-card summary:hover,.issue-row summary:hover,.order-details[open]>summary{background:var(--raised)}.width-track>span{background:var(--accent-soft);color:var(--text);border-color:var(--edge)}.width-track>b{background:var(--warn-bg)}
table{color:var(--text)}th{background:var(--raised);color:var(--muted);border-color:var(--edge);font-size:13px}td{border-color:var(--edge);font-size:14px}tbody tr:hover,.order-row:hover{background:var(--raised)}.table-wrap{scrollbar-color:var(--edge) transparent}.pill,.role-pill{background:var(--accent-soft);color:var(--accent)}.pill.warn,.pill.danger,.error,.request-state.pending,.urgent-banner,.urgency-button,.danger-button{background:var(--danger-bg);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--edge))}.notice,.stock-warning{background:var(--warn-bg);color:var(--warn);border-color:var(--edge)}.notice.info,.demo-banner,.work-banner{background:var(--accent-soft);color:var(--text);border-color:var(--edge)}.notice button{background:var(--surface)}.inline-error,.red-text{color:var(--danger)}.notice{font-size:14px}.request-state.pending p,.request-state.pending strong{color:var(--danger)}.request-state.accepted,.request-state.accepted p{background:var(--accent-soft);color:var(--accent)}.request-state.rejected{background:var(--warn-bg);color:var(--warn)}.request-review blockquote{background:var(--raised);color:var(--text);border-color:var(--accent)}.urgent-order{box-shadow:inset 3px 0 var(--danger)}.request-review.pending{border-left-color:var(--danger)}.urgency-button:hover,.danger-button:hover{background:var(--danger-bg)}
dialog{background:var(--surface);color:var(--text);border-color:var(--edge);box-shadow:0 24px 90px #0004;border-radius:16px}dialog::backdrop{background:#101e2380;backdrop-filter:blur(3px)}#toast{background:var(--ink);color:var(--bg);border-color:var(--edge);box-shadow:var(--shadow)}.manager-heading h1 span{background:none;color:var(--accent)}.manager-stats strong,.order-spec strong{color:var(--ink)}.manager-top .role-pill{background:var(--accent-soft)}.manager-main{padding-top:26px}.manager-heading{margin-bottom:14px}.manager-heading h1{font-size:29px;margin:8px 0}.manager-stats{gap:24px;padding:10px 0 18px;margin-bottom:20px;border-color:var(--edge)}.manager-stats strong{font-size:26px}.manager-order{padding:18px;box-shadow:none}.manager-order h3{font-size:17px}.order-summary strong,.stock-assignments b,.stock-covered,.stock-quantity strong,.stock-metrics strong,.cost-bed summary b,.move-impact strong{color:var(--accent)}.manager-jumps a{background:var(--surface);color:var(--text);border-color:var(--edge)}.technology-intro h2{color:var(--ink)}.technology-note{border-color:var(--edge)}.scan-details summary{color:var(--accent)}.move-option{background:var(--surface);border-color:var(--edge)}.move-option:has(input:checked){background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}.move-option strong{color:var(--ink)}.move-option input{accent-color:var(--accent)}.catalog-trigger{background:var(--accent-soft);color:var(--accent);border-color:var(--edge);padding:13px 16px}.cost-hero,.stock-top{padding:22px}.cost-hero h2{font-size:32px}.material-grid{padding:18px}.material-card{padding:18px}.stock-metrics>div{padding:18px}.cost-bed summary{padding:16px 20px}
.app-footer{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:24px 0 4px;margin-top:28px;border-top:1px solid var(--edge);font-size:14px;color:var(--muted)}.app-footer>div{display:flex;gap:18px;flex-wrap:wrap}.app-footer a{color:var(--muted)}.app-footer button{min-height:0;padding:0;border:0;background:none;color:var(--accent)}.about-card{display:grid;grid-template-columns:1fr 130px;gap:24px;align-items:center;margin:24px 0}.author-photo{width:130px;height:160px;object-fit:cover;border-radius:12px}.maker-logo{max-width:210px;max-height:65px;background:white;border-radius:8px;padding:8px}.about-card p{margin:10px 0}.about-contacts{display:flex;flex-wrap:wrap;gap:12px 24px;margin:22px 0}.help-page{max-width:1000px;margin:auto;padding:32px 24px}.help-page>header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:34px}.help-page h1{font-size:32px;margin-bottom:16px}.help-page section{padding:22px;margin-top:18px}.help-page li{margin:10px 0}.back-link{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid var(--edge);border-radius:8px;background:var(--surface);text-decoration:none}
@media(max-width:1050px){.theme-control>span{display:none}.topbar{padding:10px 16px}.content{padding:20px 16px}.nav-group{display:none}.sidebar nav{gap:5px}.app-footer{margin-top:20px}.heading h1{font-size:25px}}
@media(max-width:600px){.theme-control select{max-width:145px}.top-actions{gap:7px}.brand small{display:block!important}.theme-control{margin-left:auto}.manager-top{height:auto;min-height:90px;padding:16px;flex-wrap:wrap}.manager-top>div:last-child{flex-wrap:wrap;width:100%}.heading{align-items:stretch;flex-direction:column}.heading .actions{justify-content:space-between}.plant-lane{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:12px 9px}.lane-meta small{font-size:13px;white-space:normal}.lane-footer{gap:4px 12px}.lane-number strong{font-size:24px}.plant-board{padding:12px}.plant-scale{grid-template-columns:40px 1fr;padding:0 9px 8px}.app-footer{flex-direction:column}.about-card{grid-template-columns:1fr 92px;gap:16px}.author-photo{width:92px;height:124px}.help-page>header{flex-wrap:wrap}.theme-control select{font-size:13px}.cost-explainer{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
}
@media print{.app-footer,.theme-control{display:none!important}}
