/* printIQ: colours and visual system from the supplied brand launch deck. */
:root{--lime:#94c01e;--green:#28a03c;--deep:#166223;--ink:#24252b;--paper:#f7f7f8;--line:#dedee2;font-family:"Nunito Sans",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--deep);outline-offset:3px}
header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:24px;text-decoration:none;color:var(--ink)}.brand-logo{width:142px;height:auto;display:block}.app-name{font-size:18px;border-left:1px solid var(--line);padding-left:24px}.version,.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--deep)}
main{max-width:1400px;padding:46px 5vw 48px;margin:auto;min-height:calc(100vh - 170px)}.signin{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:75px;align-items:center;min-height:620px;background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;padding-right:48px}.intro{position:relative;isolation:isolate;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:54px 44px;overflow:hidden}.intro:before{content:"";position:absolute;z-index:-1;inset:0 -1px 0 -62%;border-radius:0 52% 52% 0;background:linear-gradient(145deg,var(--lime),var(--green) 76%)}.intro .eyebrow{color:var(--deep)}.intro h1{font-family:"Nunito Sans Black","Nunito Sans",Arial,sans-serif;font-size:clamp(38px,4.3vw,62px);line-height:1.02;font-weight:900;letter-spacing:-2px;text-transform:uppercase;color:var(--deep);margin:26px 0}.intro h1 span{color:#fff}.intro p{max-width:330px;font-size:17px;line-height:1.65;color:var(--deep);margin:0}.connection{margin-top:38px;font-size:12px;color:var(--deep);display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;border-radius:50%;background:var(--deep);flex-shrink:0}
.panel{padding:36px 0;background:#fff}h2{font-size:24px;letter-spacing:-.6px;margin:14px 0 10px;font-weight:800}.panel h2{text-transform:uppercase;font-weight:900}.muted{color:#626269;font-size:14px;line-height:1.5;margin:6px 0}label{display:block;font-size:13px;font-weight:700;margin:24px 0 9px}input,select{background:#fff;width:100%;padding:13px 14px;color:var(--ink);border:1px solid #c9c9cf;border-radius:4px;font-size:14px}input:focus,select:focus{border-color:var(--deep)}.password-wrap{position:relative}.password-wrap input{padding-right:65px}.password-wrap button{position:absolute;right:7px;top:7px;padding:7px;border:0;color:var(--deep);background:none;font-size:12px;font-weight:700}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 18px;background:var(--deep);color:white;border:0;border-radius:4px;font-weight:700;margin-top:28px}.primary:hover{background:#104d1b}.footnote{font-size:12px;color:#626269;text-align:center;margin:18px 0 0}.error{color:#932b2b;background:#fff2f2;border:1px solid #e7bdbd;padding:13px;border-radius:4px;font-size:14px;line-height:1.5}
.workspace-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px;padding-bottom:26px;border-bottom:3px solid var(--green)}.workspace-top h1{font-family:"Nunito Sans Black","Nunito Sans",Arial,sans-serif;font-size:44px;font-weight:900;letter-spacing:-1.5px;text-transform:uppercase;margin:12px 0}.secondary{border:1px solid #c9c9cf;border-radius:4px;padding:11px 16px;background:#fff;color:var(--deep);font-size:13px;font-weight:700}.secondary:hover:not(:disabled){background:#edf5ed;border-color:var(--deep)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.toolbar h2{margin:0;font-weight:800}.tools{display:flex;gap:10px;align-items:center}.tools input{width:285px}.filters{display:flex;gap:16px;align-items:end;margin:0 0 24px;flex-wrap:wrap}.filters>div{flex:1;min-width:160px}.filters label{margin:0 0 8px}.filters button{min-height:44px}
.table-wrap{border:1px solid var(--line);border-radius:4px;background:#fff;overflow:auto}table{border-collapse:collapse;width:100%;min-width:820px;text-align:left}th{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--deep);background:#eff4ee;padding:17px 20px;border-bottom:1px solid var(--line)}td{font-size:14px;padding:19px 20px;border-bottom:1px solid #ebebee;max-width:380px;overflow-wrap:anywhere}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcf9}td:first-child{font-weight:800;color:var(--deep);white-space:nowrap}.numeric{text-align:right;font-variant-numeric:tabular-nums}.status{display:inline-block;border-radius:3px;background:#e9f3e9;color:var(--deep);padding:5px 8px;font-size:12px;font-weight:700}.empty,.loading{padding:36px;text-align:center;color:#626269}.pagination{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px}.pagination button{margin-left:6px}footer{display:flex;justify-content:space-between;align-items:center;margin:0 5vw;padding:20px 0;border-top:1px solid var(--line);font-size:12px;color:#626269}footer img{width:90px;height:auto}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
@media(min-width:1500px){footer{max-width:1260px;margin:auto}}@media(max-width:1050px){.signin{gap:28px;padding-right:30px}.intro{padding:40px 30px}.intro h1{font-size:44px}.version{display:none}}@media(max-width:760px){header{height:76px}.brand-logo{width:118px}.brand{gap:16px}.app-name{padding-left:16px}main{padding:24px 20px 36px}.signin{grid-template-columns:1fr;gap:0;padding:0;min-height:0}.intro{padding:32px 26px}.intro:before{inset:-55% -10% 0 -50%;border-radius:0 0 50% 0}.intro h1{font-size:38px;margin:18px 0}.intro p{max-width:90%;font-size:16px}.connection{margin-top:20px}.panel{padding:30px 26px}.toolbar{align-items:stretch;flex-direction:column}.tools input{flex:1;width:100px;min-width:0}.workspace-top{align-items:start;gap:15px;margin-bottom:26px}.workspace-top h1{font-size:36px}.filters>div{min-width:100%}.filters button{width:100%}.pagination{align-items:start;flex-direction:column}footer{margin:0 20px}}

.filter-panel{background:#fff;border:1px solid var(--line);border-radius:4px;padding:24px;margin-bottom:24px}.filter-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.filter-heading h2{margin:0;font-size:20px}.filter-panel fieldset{border:0;padding:0;margin:22px 0}.filter-panel legend,.save-filter>label{font-size:13px;font-weight:800;margin:0 0 10px}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-button{border:1px solid #c9c9cf;border-radius:4px;padding:9px 13px;background:#fff;color:var(--ink);font-size:13px}.filter-button[aria-pressed=true]{background:var(--deep);border-color:var(--deep);color:white}.filter-button:hover{border-color:var(--deep)}#customer-search{max-width:320px;margin-bottom:12px}.customer-buttons{max-height:160px;overflow:auto;padding:4px}.save-controls{display:flex;gap:10px;max-width:540px}.save-controls .primary{width:auto;margin:0;white-space:nowrap}.saved-section{border-top:1px solid var(--line);padding-top:15px;margin-top:18px}.saved-section h3{font-size:14px;margin:0 0 12px}.saved-filter{display:flex}.saved-filter .secondary{border-radius:4px 0 0 4px}.remove-filter{border:1px solid #c9c9cf;border-left:0;background:#fff;color:var(--deep);font-size:20px;border-radius:0 4px 4px 0;padding:4px 10px}@media(max-width:760px){.filter-panel{padding:18px}.filter-heading{flex-direction:column}.save-controls{flex-direction:column}.save-controls .primary{justify-content:center}}

.check-option{display:flex;align-items:center;gap:10px;margin:15px 0;font-size:13px;line-height:1.4}.check-option input{width:17px;height:17px;margin:0;accent-color:var(--deep);flex-shrink:0}#remember-controls{margin-top:20px}#touchid-note,#remember-note{text-align:left;line-height:1.5;margin:10px 0}.touchid-button{width:100%;margin:16px 0 8px}.text-button{background:none;border:0;color:var(--deep);padding:8px 0;font-size:12px;text-decoration:underline}#credential-notice{background:#eff4ee;border:1px solid var(--line);padding:14px;margin-bottom:20px}

.touchid-status{border-left:3px solid var(--green);background:#eff4ee;padding:12px;line-height:1.5;margin-top:18px}

.touchid-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#24252b66;padding:24px}.touchid-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:32px;max-width:430px;width:100%;text-align:center;box-shadow:0 18px 70px #24252b22}.touchid-card h2{margin-top:0}.touchid-card p{font-size:14px;line-height:1.5;overflow-wrap:anywhere}#touchid-native-slot{width:144px;height:144px;margin:24px auto}.touchid-card .secondary{margin-top:12px}

/* Compact jobs board: controls appear on demand, with the list taking priority. */
body.workspace-mode header{height:68px;padding:0 36px}body.workspace-mode .brand-logo{width:112px}body.workspace-mode .app-name{font-size:15px}body.workspace-mode main{max-width:1600px;padding:26px 36px 24px;min-height:calc(100vh - 125px)}body.workspace-mode .workspace-top{border:0;margin:0 0 22px;padding:0;align-items:center}body.workspace-mode .workspace-top h1{font-size:30px;letter-spacing:-1px;line-height:1.1;margin:6px 0 5px}body.workspace-mode .workspace-top .eyebrow{font-size:9px;letter-spacing:1.4px;color:#777b75}body.workspace-mode .workspace-top .muted{font-size:12px;margin:0}body.workspace-mode .workspace-top>.secondary{font-size:12px;border-color:var(--line);color:#646860;padding:8px 12px}.workspace-title{display:flex;align-items:center;gap:14px}.job-total{border:1px solid #dce9d0;border-radius:20px;background:#eff5e8;color:var(--deep);font-size:11px;padding:5px 9px;font-weight:700;white-space:nowrap}
.board-controls{position:relative;z-index:3;background:#fff;border:1px solid #dfe4db;border-radius:10px;box-shadow:0 3px 18px #24252b04;margin-bottom:16px}.viewbar{display:flex;align-items:center;gap:6px;padding:12px 14px}.status-toggle{display:flex;align-items:center;justify-content:center;gap:9px;min-height:43px;padding:10px 13px;border:1px solid var(--deep);border-radius:6px;background:var(--deep);color:#fff;font-size:12px;font-weight:700;white-space:nowrap}.status-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.control-count{display:grid;place-items:center;min-width:22px;height:21px;padding:0 5px;border-radius:4px;background:#ffffff22;font-size:10px}.chevron{width:6px;height:6px;border:solid currentColor;border-width:0 1.4px 1.4px 0;transform:rotate(45deg);margin:-3px 0 0 7px;flex-shrink:0}.status-toggle[aria-expanded=true] .chevron{transform:rotate(225deg);margin-top:3px}
.filter-picker{position:relative;min-width:155px;flex:0 1 215px;color:var(--ink)}.filter-picker summary{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 14px;grid-template-rows:14px 19px;column-gap:8px;padding:4px 15px;cursor:pointer;list-style:none;border-left:1px solid #eaede6;border-radius:4px;min-height:43px}.filter-picker summary::-webkit-details-marker{display:none}.filter-picker summary:hover,.filter-picker[open] summary{background:#f3f7ef}.picker-label{font-size:9px;font-weight:700;letter-spacing:1px;color:#83867e;grid-column:1}.picker-value{font-size:13px;line-height:19px;font-weight:700;color:var(--deep);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;grid-column:1}.filter-picker summary>.chevron{grid-column:2;grid-row:1/3;align-self:center;color:#777d71;margin-left:0}.saved-picker{margin-left:auto;flex-basis:235px}.due-picker{flex-basis:165px}.save-view-button{display:flex;align-items:center;gap:7px;justify-content:center;padding:10px 12px;background:#fff;border:1px solid #dbe4d5;color:var(--deep);border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap;min-height:40px}.save-view-button:hover{background:#eff5e8}.save-view-button>span{font-size:19px;line-height:14px;font-weight:400}.picker-panel{position:absolute;top:calc(100% + 12px);left:0;width:320px;max-width:calc(100vw - 48px);background:#fff;border:1px solid #dfe4db;border-radius:9px;padding:16px;box-shadow:0 12px 36px #24252b1a;z-index:20}.saved-picker .picker-panel{left:auto;right:0;width:340px}.picker-panel h3{margin:0 0 13px;font-size:13px}.picker-panel input{font-size:12px;padding:10px;border-radius:5px}.picker-help{font-size:12px;line-height:1.6;color:#7b8175;margin:14px 0 0}.picker-panel .filter-buttons{display:flex;flex-direction:column;gap:3px}.picker-panel .customer-buttons{max-height:300px;padding:0;overflow:auto}.picker-panel #customer-search{margin:0 0 12px;max-width:none}.filter-button{display:flex;align-items:center;gap:8px;text-align:left;font-size:12px;padding:9px 10px;min-height:36px;line-height:1.35;border-radius:5px}.filter-button:before{content:"";width:12px;height:12px;flex-shrink:0;border:1px solid #cdd7c5;border-radius:3px;background:#fff}.filter-button[aria-pressed=true]:before{background:var(--deep);border-color:var(--deep);box-shadow:inset 0 0 0 3px #fff}.option-name{flex:1;overflow:hidden;text-overflow:ellipsis}.option-count{font-size:10px;font-weight:400;color:#7c8774;flex-shrink:0;background:#edf2e8;border-radius:4px;padding:2px 5px}.filter-button[aria-pressed=true]{background:#edf5e7;border-color:#a8c596;color:var(--deep);font-weight:700}.picker-panel .filter-button{border:1px solid transparent;background:#fff}.picker-panel .filter-button:hover{background:#f7f9f4}.picker-panel .filter-button[aria-pressed=true]{background:#edf5e7;border-color:transparent}.date-range{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}.date-range label{font-size:11px;margin:0 0 7px;color:#70766b}.date-range input{min-width:0;width:100%}
.status-editor{padding:17px 18px 18px;background:#fafcf8;border-top:1px solid #e7ecdf}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.editor-heading h3{font-size:13px;margin:0 0 4px}.editor-heading>div>span{font-size:11px;color:#7b8175}.editor-heading>div:last-child{display:flex;align-items:center;gap:15px}.editor-heading .text-button{text-decoration:none;font-size:11px;padding:5px 0}.close-editor{border:0;background:none;color:#777d71;font-size:24px;line-height:1;padding:2px 5px}.status-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:7px}.status-buttons .filter-button{border-color:#dce5d4;background:#fff}.status-buttons .filter-button[aria-pressed=true]{background:#eaf4e1;border-color:#9abc81}.status-buttons .option-name{white-space:nowrap}.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 14px;border-top:1px solid #edf0e8}.search-control{position:relative;max-width:390px;width:100%}.search-control input{border:1px solid transparent;border-radius:5px;background:#f6f7f4;padding:9px 12px 9px 33px;font-size:12px}.search-control input:focus{background:#fff;border-color:#a9bd9a}.search-control svg{position:absolute;width:15px;height:15px;top:11px;left:11px;fill:none;stroke:#7a8272;stroke-width:1.6;pointer-events:none}.results-actions{display:flex;align-items:center;gap:12px}.results-actions select{width:140px;min-height:34px;padding:7px 10px;border:0;font-size:12px;color:#62695c;background:#fff;cursor:pointer}.refresh-button{height:33px;width:34px;display:grid;place-items:center;border:1px solid #dfe4db;border-radius:5px;background:#fff;color:#68745e}.refresh-button:hover:not(:disabled){background:#edf5e7;color:var(--deep)}.refresh-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.active-filter-bar{display:flex;align-items:center;gap:15px;justify-content:space-between;padding:9px 14px;border-top:1px solid #edf0e8;background:#fcfdfb;border-radius:0 0 10px 10px}.active-filter-chips{display:flex;gap:6px;overflow:auto;align-items:center;min-width:0;padding:2px}.active-chip{border:1px solid #e0e8d9;border-radius:4px;color:#506447;background:#f2f7ed;padding:5px 8px;font-size:10px;white-space:nowrap}.active-chip:hover{border-color:#9eb58b}.active-filter-bar>.text-button{font-size:11px;white-space:nowrap;text-decoration:none;padding:0}.filter-message{font-size:11px;color:var(--deep);margin:0 0 12px}.filter-message:empty{display:none}
body.workspace-mode .table-wrap{border-color:#e0e5dc;border-radius:8px;max-height:calc(100dvh - 340px);min-height:200px;scrollbar-gutter:stable;background:#fff}body.workspace-mode table{min-width:780px}body.workspace-mode thead{position:sticky;top:0;z-index:1}body.workspace-mode th{padding:13px 17px;font-size:9px;letter-spacing:.8px;background:#f0f5ea;color:#5b7150;border-bottom:1px solid #dde7d4}body.workspace-mode td{padding:13px 17px;font-size:12px;max-width:340px}body.workspace-mode td:nth-child(2){font-weight:600}body.workspace-mode td:nth-child(3){color:#72776c;font-size:11px}body.workspace-mode td:last-child{white-space:nowrap;color:#62695c;font-size:11px}body.workspace-mode .job-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.workspace-mode .status{font-size:10px;padding:4px 7px;background:#f0f6eb;color:#45673a;border-radius:4px;white-space:nowrap;border:1px solid #e5eedf}body.workspace-mode .status:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#76a65b;margin:0 5px 1px 0}body.workspace-mode .status[data-tone=muted]{background:#f4f4f4;border-color:#ececec;color:#81857b}body.workspace-mode .status[data-tone=muted]:before{background:#b6bcb0}body.workspace-mode .status[data-tone=done]{color:var(--deep)}body.workspace-mode .pagination{margin-top:13px}body.workspace-mode .pagination .muted{font-size:11px}body.workspace-mode .pagination .secondary{padding:7px 11px;font-size:11px}body.workspace-mode footer{padding:16px 0;font-size:10px;margin:0 36px}body.workspace-mode footer img{width:72px}.save-dialog{border:1px solid #dfe4db;border-radius:12px;padding:30px;max-width:450px;width:calc(100% - 40px);color:var(--ink);box-shadow:0 24px 80px #24252b25}.save-dialog::backdrop{background:#24252b66}.save-dialog h2{font-size:26px;margin:10px 0}.save-dialog .muted{font-size:13px;line-height:1.7}.save-dialog label{margin-top:24px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.dialog-actions .primary{width:auto;margin:0;padding:11px 18px}.dialog-actions .secondary{padding:11px 18px}
@media(max-width:1000px){.viewbar{gap:4px;padding:10px}.filter-picker{min-width:125px}.filter-picker summary{padding:4px 10px}.saved-picker{flex-basis:190px}.save-view-button{font-size:11px;padding:10px}.status-toggle{font-size:11px;padding:10px;gap:6px}.status-toggle svg{display:none}}
@media(max-width:760px){body.workspace-mode header{height:62px;padding:0 20px}body.workspace-mode main{padding:22px 18px}body.workspace-mode .workspace-top{margin-bottom:18px}body.workspace-mode .workspace-top h1{font-size:27px}.viewbar{flex-wrap:wrap;gap:8px}.status-toggle{flex:1;min-height:42px}.filter-picker{flex:1;min-width:135px}.saved-picker{margin-left:0}.save-view-button{flex:1;min-width:135px}.filter-picker summary{border-left:0;min-height:42px;background:#f8faf5;border:1px solid #e8ede2}.picker-panel,.saved-picker .picker-panel{position:fixed;top:190px;left:18px;right:18px;width:auto;max-width:none;max-height:65dvh;overflow:auto}.results-toolbar{gap:10px;padding:10px}.results-actions{gap:3px}.results-actions select{width:103px;font-size:11px;padding:7px 2px}.search-control input{font-size:11px}.status-editor{padding:14px}.status-buttons{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))}.status-buttons .filter-button{font-size:11px;padding:8px}.editor-heading>div:last-child{gap:10px}.editor-heading>div>span{display:block;max-width:145px;line-height:1.5}.active-filter-bar{padding:8px 10px}.active-filter-bar>.text-button{font-size:10px}body.workspace-mode .table-wrap{max-height:60dvh}body.workspace-mode footer{margin:0 18px}body.workspace-mode .pagination{flex-direction:row;align-items:center;gap:5px}body.workspace-mode .pagination .muted{max-width:45%;font-size:10px}.save-dialog{padding:24px}}

.picker-panel .saved-filter{display:flex;width:100%;gap:3px}.picker-panel .saved-filter .secondary{flex:1;text-align:left;border:0;border-radius:5px;background:#fff;color:var(--ink);font-size:12px;padding:11px 10px}.picker-panel .saved-filter .secondary:hover{background:#f7f9f4}.picker-panel .saved-filter .secondary[aria-pressed=true]{background:#edf5e7;color:var(--deep)}.picker-panel .remove-filter{border:0;border-radius:5px;color:#8e9885;width:30px;padding:4px;background:#fff}.picker-panel .remove-filter:hover{background:#f3f5ef;color:var(--deep)}

/* Layered job explorer: one focal point, quiet detail, purposeful green. */
.job-link{color:var(--deep);font-weight:800;text-decoration:none;border-bottom:1px solid #28a03c55;padding:3px 0}.job-link:hover{color:var(--green);border-bottom-color:var(--green)}
.detail-topbar{display:flex;align-items:center;gap:18px;margin:0 0 20px}.detail-topbar .text-button{padding-left:0;font-size:13px}.detail-topbar .muted{margin-left:auto;font-size:11px}.detail-topbar .secondary{font-size:12px;padding:9px 12px}
.detail-hero{background:var(--ink);color:white;border-radius:14px;position:relative;isolation:isolate;overflow:hidden;padding:30px 32px 0}.detail-hero:before{content:"";position:absolute;inset:-150px -280px auto auto;width:530px;height:530px;border-radius:50%;background:linear-gradient(145deg,#94c01e27,#28a03c36);z-index:-1}.detail-hero-copy{max-width:900px;padding-bottom:30px}.detail-kicker{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.detail-kicker .eyebrow{color:var(--lime)}.detail-status{font-size:11px;line-height:1.5;padding:4px 10px;border-radius:20px;border:1px solid #94c01e66;color:#ddf0c2}.detail-hero h1{margin:21px 0 13px;letter-spacing:-.8px;line-height:1.2}.detail-hero h1:focus{outline:0}#detail-number{font-size:15px;color:var(--lime);display:block;margin-bottom:9px;letter-spacing:1px}#detail-title{font-size:clamp(24px,3vw,38px);font-weight:800;display:block;overflow-wrap:anywhere}.detail-hero p{font-size:14px;color:#d9dbe0;margin:0;line-height:1.6}.detail-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #ffffff20}.detail-stat{padding:19px 22px 20px 0}.detail-stat+ .detail-stat{padding-left:22px;border-left:1px solid #ffffff20}.detail-stat>span{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#c0c5bd;margin-bottom:7px}.detail-stat strong{font-size:19px;font-weight:700;overflow-wrap:anywhere}
.detail-availability{display:flex;gap:9px 15px;flex-wrap:wrap;padding:15px 3px 20px}.source-indicator{font-size:10px;color:#697366;display:inline-flex;align-items:center;gap:5px}.source-indicator:before{content:"";width:5px;height:5px;border-radius:100%;background:#a1a6aa}.source-indicator[data-state=ready]:before{background:var(--green)}.source-indicator[data-state=unavailable]{color:#888}
.detail-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);overflow-x:auto;margin-bottom:30px}.detail-tabs button{background:none;color:#74777c;border:0;white-space:nowrap;padding:13px 0;font-size:12px;font-weight:700;border-bottom:3px solid transparent}.detail-tabs button[aria-selected=true]{color:var(--deep);border-bottom-color:var(--green)}.detail-tabs button:hover{color:var(--deep)}.detail-tabs button:focus-visible{outline-offset:-3px}
.detail-panel{max-width:1100px;padding:0 0 30px}.detail-panel h2{font-size:28px;letter-spacing:-.8px;margin:10px 0}.detail-intro{font-size:13px;line-height:1.7;color:#707078;margin:0 0 26px;max-width:760px}.detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:0 26px}.detail-facts>div{padding:14px 0;border-bottom:1px solid #e6e9e2;min-width:0}.detail-facts dt{font-size:11px;color:#73797a;margin-bottom:6px;overflow-wrap:anywhere}.detail-facts dd{font-size:13px;line-height:1.6;margin:0;color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap}.job-outline{margin-top:32px}.job-outline h3{font-size:15px}.outline-step{display:flex;align-items:center;gap:15px;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #e6e9e2;padding:17px 14px;font-size:13px}.outline-step:hover{background:#eff5e9}.outline-count{margin-left:auto;white-space:nowrap;color:#777;font-size:11px}.step-index{font-size:11px;font-weight:800;color:var(--deep);background:#ecf3e2;display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:50%}.source-disclosure{border:1px solid #e1e6dc;border-radius:9px;margin:14px 0;background:#fff;overflow:hidden}.source-disclosure>summary{padding:18px 20px;font-size:14px;font-weight:700;cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px}.source-disclosure>summary:before{content:"＋";font-size:16px;color:var(--deep);font-weight:400}.source-disclosure[open]>summary:before{content:"−"}.source-disclosure[open]>summary{border-bottom:1px solid #e6e9e2}.source-state{margin-left:auto;font-weight:400;color:#7c817b;font-size:11px;white-space:nowrap}.source-disclosure>.data-group,.source-disclosure>.detail-empty{padding:4px 20px 20px}.data-disclosure{margin:10px 0;border-top:1px solid #e6e9e2}.data-disclosure>summary{padding:13px 0;font-size:12px;color:var(--deep);cursor:pointer}.data-disclosure>.data-group{padding:0 0 12px 15px;border-left:2px solid #edf2e7}.data-count{float:right;margin-left:14px;color:#90968d;font-size:10px}.detail-empty{font-size:13px;line-height:1.7;color:#777f75}.data-search{max-width:650px;margin:0 0 16px;background:white}.data-search-row{padding:15px 0;border-bottom:1px solid #e1e6dc}.data-search-row>span{display:block;color:var(--deep);font-size:12px;overflow-wrap:anywhere}.data-search-row code{display:block;color:#92968f;font-size:10px;overflow-wrap:anywhere;margin-top:5px}.data-search-row p{font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.operation-route{list-style:none;padding:0;margin:25px 0}.operation-route>li{position:relative;margin:0;padding:0 0 25px 46px;border-left:1px solid #d4dfca;margin-left:15px}.operation-route>li>.step-index{position:absolute;left:-16px;top:0}.operation-route h3{font-size:15px;padding-top:5px;margin:0 0 10px}.operation-route .detail-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.operation-route>li:last-child{border-left-color:transparent}.detail-mode main{max-width:1450px!important}.detail-mode .loading{margin-top:25px}
@media(max-width:760px){.detail-topbar{gap:8px;flex-wrap:wrap}.detail-topbar .muted{order:3;width:100%;margin:0}.detail-topbar .secondary{margin-left:auto}.detail-hero{padding:24px 20px 0}.detail-hero-copy{padding-bottom:23px}.detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-stat{padding:15px 8px}.detail-stat+.detail-stat{padding-left:12px}.detail-stat:nth-child(3){border-left:0}.detail-stat strong{font-size:16px}.detail-tabs{gap:20px;margin-bottom:24px}.detail-facts,.operation-route .detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.detail-panel h2{font-size:24px}.detail-availability{gap:8px 12px}.source-disclosure>summary{padding:15px 13px;font-size:12px}.source-state{font-size:10px}.source-disclosure>.data-group{padding:3px 13px 16px}.outline-step{gap:9px;padding:14px 5px}.outline-count{font-size:10px}.operation-route>li{padding-left:26px}.data-disclosure>.data-group{padding-left:9px}}
.detail-subheading{font-size:15px;margin:28px 0 14px}.detail-table-wrap{overflow-x:auto;border:1px solid #e1e6dc;border-radius:8px;background:#fff}.detail-table{width:100%;border-collapse:collapse;min-width:550px}.detail-table th{background:#edf3e6;color:var(--deep);text-align:left;font-size:10px;padding:13px 15px;white-space:nowrap;letter-spacing:.3px}.detail-table td{font-size:12px;line-height:1.6;padding:14px 15px;white-space:normal;overflow-wrap:anywhere;border-bottom:1px solid #edf0e9}.detail-table tr:last-child td{border-bottom:0}.job-notes{margin:24px 0}.job-note{padding:16px 20px;background:#fff;border-left:3px solid var(--lime);margin:12px 0}.job-note h3{font-size:13px;margin:0 0 9px}.job-note p{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}

.timing-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-left:3px solid var(--green);padding:16px 20px;background:#edf4e6;margin:22px 0 28px}.timing-toolbar h3{font-size:14px;margin:0 0 6px}.timing-toolbar p{font-size:12px;line-height:1.7;color:#5b6e56;margin:0;max-width:640px}.timing-toolbar .secondary{font-size:11px;white-space:nowrap;padding:9px 12px}.operation-timing{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 0 9px;min-height:54px}.timing-state{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#6c7667;margin-right:auto}.timing-state:before{content:"";width:6px;height:6px;border-radius:100%;background:#a4afa0}.timing-state[data-running=true]{color:var(--deep);font-weight:700}.timing-state[data-running=true]:before{background:var(--green);box-shadow:0 0 0 4px #28a03c18}.timing-phase{width:auto;min-width:115px;font-size:12px;padding:9px 25px 9px 10px;border:1px solid #d4ddce;border-radius:6px;background:white;margin:0}.timing-start,.timing-stop{border:1px solid var(--deep);border-radius:6px;padding:10px 15px;font-size:12px;font-weight:700;background:var(--deep);color:white}.timing-start:hover{background:#1d7b2d}.timing-stop{background:var(--ink);border-color:var(--ink)}.timing-stop:hover{background:#46474c}.timing-unavailable{font-size:11px;color:#7c8179;line-height:1.6}.timing-message{position:sticky;top:0;z-index:3;border:1px solid #cfdfbf;background:#edf5e7;color:var(--deep);padding:14px 18px;border-radius:8px;font-size:13px;line-height:1.6;margin:0 0 24px}.timing-message[data-state=error],.timing-message[data-state=unconfirmed]{background:#fff6e4;border-color:#e7d3a1;color:#775421}@media(max-width:760px){.timing-toolbar{padding:14px;gap:12px;align-items:flex-start;flex-direction:column}.operation-timing{gap:10px}.timing-state{width:100%}.timing-start,.timing-stop{padding:10px 12px}.timing-phase{min-width:100px}}

.timing-phases{display:inline-flex;border:1px solid #ced8c6;border-radius:7px;overflow:hidden;background:white;max-width:100%}.timing-phase-button{border:0;border-right:1px solid #dce4d5;background:transparent;color:#63715c;font-size:12px;font-weight:700;padding:10px 14px;white-space:nowrap}.timing-phase-button:last-child{border-right:0}.timing-phase-button[aria-pressed=true]{background:#e4f0d9;color:var(--deep);box-shadow:inset 0 -2px 0 var(--green)}.timing-phase-button:hover:enabled{background:#eef6e7}.timing-phase-button:focus-visible{outline-offset:-3px}.timing-phase-button:disabled{opacity:.65}.timing-complete{border:1px solid #b8cbaa;border-radius:6px;padding:10px 14px;background:white;color:var(--deep);font-size:12px;font-weight:700}.timing-complete:hover:enabled{background:#eaf3e2;border-color:var(--green)}.timing-complete:disabled{border-color:#dfe5da;color:#7d8877;background:#f2f5ef;opacity:.7}.completion-name{font-weight:700;color:var(--deep);font-size:15px;line-height:1.5;overflow-wrap:anywhere}#complete-dialog .check-option{margin-top:22px;align-items:flex-start}#complete-dialog .footnote{margin-top:8px;line-height:1.6}@media(max-width:760px){.timing-phases{width:auto}.timing-phase-button{padding:10px 12px}.timing-complete{padding:10px 12px}}
/* Focused operation workspace: compact route, one readable detail panel. */
.job-brief{padding:6px 4px 22px}.job-brief .detail-facts{max-width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.job-description{font-size:13px;line-height:1.7;white-space:pre-wrap;color:#687065;margin:18px 0 0;max-width:950px}.operations-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 24px}.operations-heading h2{font-size:26px;letter-spacing:-.6px;margin:8px 0}.operations-heading p{font-size:13px;line-height:1.6;color:#757970;margin:0}.operations-heading .secondary{font-size:12px;white-space:nowrap}.operations-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:28px;align-items:start}.operation-section{border:1px solid #dee5d8;border-radius:12px;overflow:hidden;background:white;margin-bottom:19px}.operation-section-heading{display:flex;align-items:center;gap:15px;background:#edf3e6;border-bottom:1px solid #dfe7d8;padding:15px 18px}.operation-section-heading h3{font-size:13px;line-height:1.5;margin:0;color:var(--deep);overflow-wrap:anywhere}.operation-section-heading>span{margin-left:auto;font-size:11px;color:#73856a}.operation-stock{font-size:11px;color:#7a8175;padding:12px 18px 0;margin:0}.operation-choice{display:flex;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid #edf0e9;background:white;text-align:left;padding:16px 18px;color:var(--ink);border-radius:0}.operation-choice:last-child{border-bottom:0}.operation-choice:hover{background:#f5f8f0}.operation-choice[aria-pressed=true]{background:#f0f6e8;box-shadow:inset 3px 0 0 var(--green)}.operation-choice-copy{display:flex;flex-direction:column;min-width:0;gap:6px;flex:1}.operation-choice-copy strong{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.operation-choice-copy>span{font-size:10px;line-height:1.5;color:#7a8173}.operation-state{font-size:10px;border-radius:20px;padding:5px 9px;background:#f2f3f1;color:#6c7565;white-space:nowrap}.operation-state[data-state=running]{background:#e0f1d1;color:var(--deep)}.operation-state[data-state=locked]{background:#fff5df;color:#8c6a24}.operation-state[data-state=completed]{background:#e8f0e1;color:var(--deep)}.operation-arrow{color:#819477;font-size:16px}.operation-inspector{background:white;border:1px solid #dce5d5;border-radius:12px;padding:25px;position:sticky;top:22px;min-width:0;box-shadow:0 8px 30px #24252b06}.operation-inspector h2{font-size:25px;letter-spacing:-.5px;margin:12px 0 6px;overflow-wrap:anywhere}.operation-context{color:#7b8275;font-size:11px;line-height:1.6;margin:0 0 22px;overflow-wrap:anywhere}.operation-machine{padding:15px 17px;background:#f3f6ef;border-left:3px solid var(--green);margin:18px 0 10px}.operation-machine>span,.operation-estimates span{display:block;font-size:10px;color:#7b8275;margin-bottom:7px}.operation-machine strong{font-size:15px;line-height:1.5}.operation-inspector .detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.operation-inspector .detail-facts>div{padding:12px 0}.operation-inspector .detail-facts dd{font-size:13px}.operation-estimates{display:flex;gap:22px;flex-wrap:wrap;border-bottom:1px solid #e6e9e2;padding:20px 0}.operation-estimates strong{font-size:18px;color:var(--deep)}.operation-timing-title{font-size:13px;margin:22px 0 8px}.operation-help{font-size:11px;line-height:1.7;color:#79816f;margin:0}.operation-inspector .operation-timing{padding-top:18px;gap:10px}.operation-inspector .timing-state{width:100%}.operation-inspector .timing-unavailable{width:100%}.operation-inspector .detail-table{min-width:420px}.operations-workspace{padding-bottom:36px}
@media(max-width:1000px){.operations-layout{gap:18px;grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}.operation-choice{padding:14px 12px;gap:8px}.operation-arrow{display:none}.operation-inspector{padding:20px}.operation-choice .step-index{min-width:24px;height:24px;font-size:10px}}
@media(max-width:850px){.operations-layout{grid-template-columns:minmax(0,1fr)}.operation-inspector{position:static;scroll-margin-top:18px}.operations-heading{align-items:flex-start}.operations-heading h2{font-size:23px}.operations-heading .secondary{padding:9px}.job-brief .detail-facts{gap:0 15px}.operation-list{max-height:430px;overflow-y:auto;overscroll-behavior:contain;border-bottom:1px solid #dde5d6}.operation-section:last-child{margin-bottom:0}.operation-choice{padding:14px}.operation-inspector h2{font-size:24px}}
@media(max-width:450px){.operations-heading{flex-wrap:wrap}.operation-choice-copy>span{font-size:9px}.operation-state{font-size:9px;padding:4px 7px}.job-brief .detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-inspector{padding:18px}.operation-choice .step-index{display:none}}
.job-status-block{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-left:auto;min-width:180px;padding:15px 20px;background:#ffffff0d;border:1px solid #94c01e55;border-radius:10px}.job-status-block>span{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#c6d2bc}.job-status-block .detail-status{font-size:21px;line-height:1.35;font-weight:800;border:0;border-radius:0;padding:0;color:#e2f7cc}.detail-kicker{align-items:flex-start}.timing-unlock{background:#fff3d7;border:1px solid #d7b971;border-radius:6px;color:#765617;padding:10px 14px;font-size:12px;font-weight:700}.timing-unlock:hover:enabled{background:#f9e8bd}.timing-unlock:disabled{opacity:.6}@media(max-width:600px){.job-status-block{margin-left:0;width:100%;padding:13px 16px;min-width:0}.job-status-block .detail-status{font-size:20px}}
.operation-materials{border-top:1px solid #e1e6dc;margin-top:24px}.material-card{border:1px solid #dde6d6;border-radius:8px;padding:16px;margin:14px 0;background:#fafcf8}.material-card h4{font-size:13px;margin:0 0 7px;line-height:1.5}.material-code{color:#7e8577;font-size:10px;margin:0;overflow-wrap:anywhere}.material-card .detail-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.material-card .detail-facts dt{font-size:9px}.material-pick-form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(130px,1fr) auto;align-items:end;gap:12px;margin-top:14px}.material-pick-form select,.material-pick-form input{width:100%;margin:5px 0 0;font-size:12px;min-width:0}.material-pick-form label{font-size:11px;color:#6f7966}.milestone-note{font-size:12px;line-height:1.7;color:var(--deep);width:100%;padding:13px;background:#edf4e6;border-radius:6px}#pick-review{white-space:pre-line}
/* Keep the current page in place until the next response is ready. */
.page-progress{position:fixed;top:0;left:0;width:100%;height:4px;z-index:1000;background:#dcecc5;overflow:hidden;pointer-events:none}.page-progress>span{display:block;width:35%;height:100%;background:linear-gradient(90deg,var(--deep),var(--green),var(--lime));animation:iq-loading 1.2s ease-in-out infinite}@keyframes iq-loading{from{transform:translateX(-110%)}to{transform:translateX(400%)}}@media(prefers-reduced-motion:reduce){.page-progress>span{animation:none;width:100%;background:var(--green)}}.navigation-error{position:sticky;top:0;z-index:10;display:flex;gap:15px;align-items:center;padding:14px 25px;background:#fff4dd;color:#75551e;font-size:13px}.navigation-error button{margin-left:auto}.job-workspace-tabs{display:flex;gap:26px;border-bottom:1px solid #dce4d5;margin:22px 0 0}.job-workspace-tabs button{padding:15px 2px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:#72796c;font-size:13px;font-weight:700}.job-workspace-tabs button[aria-selected=true]{border-bottom-color:var(--green);color:var(--deep)}.operation-row{border-bottom:1px solid #e4eadf}.operation-row:last-child{border-bottom:0}.operation-row .operation-choice{border:0;padding-bottom:10px}.row-timing{padding:10px 17px 14px;gap:7px;min-height:0}.row-timing .timing-state{display:none}.row-timing .timing-phase-button{font-size:10px;padding:7px 9px}.row-timing .timing-start,.row-timing .timing-stop,.row-timing .timing-complete,.row-timing .timing-unlock{font-size:10px;padding:7px 10px}.row-timing .timing-unavailable{font-size:10px;width:100%}.row-timing .milestone-note{display:none}.time-budget{padding:0 18px 3px;min-width:0}.budget-track{height:5px;border-radius:6px;overflow:hidden;background:#e6ebdf}.budget-track>span{display:block;height:100%;border-radius:6px;background:var(--green);transition:width .25s ease}.time-budget[data-over=true] .budget-track>span{background:#ae7620}.budget-caption{display:block;font-size:10px;line-height:1.6;color:#78826d;margin:6px 0 0}.time-budget[data-over=true] .budget-caption{color:#986519}.inspector-budget{padding:18px 0 0}.inspector-budget .budget-track{height:8px}.stock-workspace{padding:12px 0 35px}.stock-summary{display:flex;gap:35px;padding:20px 24px;background:#edf3e6;border:1px solid #dbe4d3;border-radius:10px;margin:0 0 25px}.stock-summary span{display:block;color:#728069;font-size:11px;margin-bottom:8px}.stock-summary strong{font-size:25px;color:var(--deep)}.stock-item-group{margin:22px 0;border:1px solid #dce5d4;border-radius:12px;padding:20px;background:white}.stock-association{font-size:11px;color:#718065;line-height:1.6;margin:0 0 12px}.stock-item-group .material-card{background:white;border:0;padding:0;margin:0}.stock-item-group .material-card h4{font-size:18px}.stock-item-group .detail-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.stock-item-group .material-pick-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.65fr) auto;align-items:end;gap:18px}.stock-item-group .material-pick-form button{margin-bottom:0;padding:12px 20px}.stock-pick-history{border-top:1px solid #e0e6da;margin-top:20px;padding-top:15px}.stock-pick-history h5{font-size:11px;color:#6c7a62;margin:0 0 8px}.stock-pick-row{display:flex;align-items:center;gap:15px;justify-content:space-between;border-bottom:1px solid #edf0e9;padding:12px 0;font-size:12px;line-height:1.6}.stock-pick-row button{white-space:nowrap;font-size:11px;padding:8px 12px}.stock-workspace .operation-timing-title{margin-top:0}@media(max-width:850px){.row-timing{padding:10px 14px 14px}.stock-item-group .material-pick-form{grid-template-columns:minmax(0,1fr)}.stock-summary{gap:25px;padding:18px}.stock-summary strong{font-size:23px}.stock-pick-row{align-items:flex-start;flex-wrap:wrap}.job-workspace-tabs{gap:22px}}@media(max-width:450px){.stock-item-group{padding:16px}.stock-summary{gap:16px}.stock-summary span{font-size:10px}.time-budget{padding-left:14px;padding-right:14px}.row-timing{gap:6px}.row-timing .timing-phase-button{padding:7px 8px}}
.timing-message{position:static;margin:20px 0}.operation-row .operation-choice[aria-pressed=true]{box-shadow:inset 3px 0 0 var(--green)}
/* Job header: production facts remain legible at rest and while condensed. */
.detail-stat{position:relative}.operation-choice-copy>.operation-planned-info{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#4f7049;font-weight:700}
/* Compact, persistent job identity and navigation. The spacer keeps scroll layout stable. */
#summary-anchor{height:1px;overflow-anchor:none}.detail-summary-sticky{height:0;position:sticky;top:12px;z-index:20;overflow-anchor:none}.detail-summary-sticky .detail-hero{padding:17px 24px 0;border-radius:12px;box-shadow:0 5px 22px #24252b12}.detail-summary-sticky .detail-hero-copy{max-width:none;padding:0 0 16px}.detail-summary-sticky .detail-topbar{display:flex;gap:10px;margin:0 0 14px;align-items:center}.detail-summary-sticky .detail-topbar .muted{margin:0 auto 0 0;color:#b9c5b0;font-size:10px}.detail-summary-sticky .detail-topbar .secondary,.summary-back{background:#ffffff0b;border:1px solid #ffffff36;color:#e6eddf;border-radius:6px;padding:8px 12px;font-size:11px;font-weight:700;white-space:nowrap}.summary-back:hover,.detail-summary-sticky .detail-topbar .secondary:hover{background:#ffffff1d;border-color:#94c01e88}.detail-number-line{display:flex;align-items:center;gap:20px;min-height:27px}.detail-number-line #detail-number{font-size:14px;margin:0;display:block;white-space:nowrap}.detail-number-line .job-status-block{display:flex;flex-direction:row;gap:9px;align-items:center;padding:5px 10px;margin:0;min-width:0;border-radius:6px}.detail-number-line .job-status-block>span{font-size:9px;letter-spacing:.8px;white-space:nowrap}.detail-number-line .job-status-block .detail-status{font-size:14px;line-height:1.4}.detail-summary-sticky .detail-hero h1{margin:10px 0 7px}.detail-summary-sticky #detail-title{font-size:29px;line-height:1.2}.detail-summary-sticky .detail-hero p{font-size:12px}.detail-summary-sticky .detail-stat{padding:12px 18px 14px 0}.detail-summary-sticky .detail-stat+.detail-stat{padding-left:18px}.detail-summary-sticky .detail-stat>span{font-size:9px;margin-bottom:5px}.detail-summary-sticky .detail-stat strong{font-size:16px}.detail-summary-sticky.is-compact .detail-hero{padding:13px 20px}.detail-summary-sticky.is-compact .detail-topbar{position:absolute;right:18px;top:18px;margin:0}.detail-summary-sticky.is-compact .detail-topbar .muted,.detail-summary-sticky.is-compact #detail-refresh,.detail-summary-sticky.is-compact #detail-subtitle,.detail-summary-sticky.is-compact .detail-metrics{display:none}.detail-summary-sticky.is-compact .detail-hero-copy{padding:0 165px 0 0}.detail-summary-sticky.is-compact #detail-title{font-size:20px;line-height:1.3}.detail-summary-sticky.is-compact .detail-hero h1{margin:7px 0 0}.detail-summary-sticky.is-compact .detail-number-line{gap:13px;min-height:20px}.detail-summary-sticky.is-compact .job-status-block{padding:0;border:0;background:none}.detail-summary-sticky.is-compact .job-status-block>span{display:none}.detail-summary-sticky.is-compact .job-status-block .detail-status{font-size:12px}.detail-summary-sticky.is-compact #detail-number{font-size:12px}.operation-inspector{top:var(--job-summary-height,125px)}.operation-row-main{display:flex;align-items:center;gap:6px}.operation-row-main .operation-choice{flex:1;min-width:0;padding:13px 12px}.operation-row-main .row-timing{flex:0 0 auto;padding:10px 10px 10px 0;gap:5px;flex-wrap:nowrap}.operation-row-main .row-timing .timing-unavailable{display:none}.operation-row-main .row-timing .timing-phase-button{font-size:9px;padding:7px}.operation-row-main .row-timing .timing-start,.operation-row-main .row-timing .timing-stop,.operation-row-main .row-timing .timing-complete,.operation-row-main .row-timing .timing-unlock{font-size:9px;padding:7px 8px;white-space:nowrap}.operation-row-main .operation-choice .operation-choice-copy>span{display:none}.operation-row-main .operation-choice .operation-arrow{display:none}.operation-row-main .operation-state{font-size:9px;padding:4px 6px}.operation-row .time-budget{padding-bottom:11px}.sheet-quantities{margin:22px 0 8px}.sheet-plan-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sheet-plan-stat{padding:14px 12px;border:1px solid #dce5d5;background:#f5f8f1;border-radius:8px;min-width:0}.sheet-plan-stat>span{display:block;color:#738269;font-size:10px;line-height:1.5;min-height:30px}.sheet-plan-stat strong{display:block;margin-top:8px;color:var(--deep);font-size:22px;overflow-wrap:anywhere}.sheet-good{background:#eaf3e2;border-color:#cfe0c0}.sheet-waste{background:#fcf7ed;border-color:#e8dbc1}.sheet-waste strong{color:#987025}.sheet-plan-note{font-size:10px;color:#84907a;line-height:1.6}.sheet-quantities .detail-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-quantities .detail-facts dt{font-size:9px}
@media(min-width:1050px){.operations-layout{grid-template-columns:minmax(0,1.25fr) minmax(340px,.85fr)}}@media(max-width:1050px){.operations-layout{grid-template-columns:minmax(0,1fr)}.operation-inspector{position:static;scroll-margin-top:var(--job-summary-height,125px)}.operation-list{max-height:none;overflow:visible}.operation-row-main .operation-choice{padding:14px}.operation-row-main .row-timing{padding-right:14px}.operation-row-main .operation-choice-copy strong{font-size:13px}}
.detail-summary-sticky.is-compact .detail-metrics{display:block}.detail-summary-sticky.is-compact .detail-metrics .detail-stat{display:none}.detail-summary-sticky.is-compact .detail-metrics .detail-stat[data-header-field=dueDate]{display:block;position:absolute;right:184px;top:13px;padding:0;border:0}.detail-summary-sticky.is-compact .detail-metrics .detail-stat[data-header-field=dueDate]>span{display:none}.detail-summary-sticky.is-compact .detail-metrics .detail-stat[data-header-field=dueDate] strong{display:block;color:#e2f7cc;font-size:12px;white-space:nowrap}.detail-summary-sticky.is-compact .detail-hero-copy{padding-right:300px}.operation-row-main .operation-choice .operation-choice-copy>.operation-planned-info{display:block}
@media(max-width:600px){.detail-summary-sticky{top:6px}.detail-summary-sticky .detail-hero{padding:13px 15px 0}.detail-summary-sticky .detail-topbar .muted{display:none}.detail-summary-sticky .detail-topbar{justify-content:flex-end;margin-bottom:10px;flex-wrap:nowrap}.detail-summary-sticky #detail-title{font-size:24px}.detail-number-line{gap:12px;flex-wrap:wrap}.detail-number-line .job-status-block{width:auto}.detail-number-line .job-status-block>span{display:none}.detail-summary-sticky.is-compact .detail-hero{padding:11px 12px}.detail-summary-sticky.is-compact .detail-topbar{right:11px;top:12px}.detail-summary-sticky.is-compact .summary-back{font-size:10px;padding:7px}.detail-summary-sticky.is-compact .detail-hero-copy{padding-right:122px}.detail-summary-sticky.is-compact #detail-title{font-size:16px}.detail-summary-sticky.is-compact .detail-number-line{gap:7px;flex-wrap:wrap}.detail-summary-sticky.is-compact .detail-number-line .detail-status{font-size:10px}.detail-summary-sticky .detail-stat strong{font-size:14px}.operation-row-main{align-items:flex-start;flex-wrap:wrap;gap:0}.operation-row-main .operation-choice{flex-basis:100%;padding-bottom:7px}.operation-row-main .row-timing{padding:0 12px 10px;margin-left:auto}.sheet-plan-stat{padding:11px 8px}.sheet-plan-stat strong{font-size:20px}.sheet-plan-stat>span{font-size:9px}.operation-row-main .operation-choice-copy>span{display:none}}
/* Back navigation stays left, as requested; compact identity sits alongside it. */
.detail-summary-sticky #detail-back{order:-1;margin-right:8px}.detail-summary-sticky .detail-topbar .muted{margin:0 auto 0 0}.detail-summary-sticky.is-compact .detail-topbar{left:18px;right:auto;top:22px}.detail-summary-sticky.is-compact .detail-hero-copy{padding:0 0 0 166px}.detail-summary-sticky.is-compact #detail-back{margin-right:0}@media(max-width:600px){.detail-summary-sticky .detail-topbar{justify-content:space-between}.detail-summary-sticky #detail-back{margin-right:auto}.detail-summary-sticky.is-compact .detail-topbar{left:11px;right:auto;top:17px}.detail-summary-sticky.is-compact .detail-hero-copy{padding:0 0 0 126px}}
/* Status belongs to the operation name; action columns stay uniform. */
.operation-name-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}.operation-name-line>strong{font-size:13px;line-height:1.5}.operation-name-line .operation-state{flex:0 0 auto;margin:0}.operation-row-main .row-timing{display:grid;grid-template-columns:132px 65px 80px;align-items:center;gap:7px;flex:0 0 auto;padding:10px 12px 10px 0}.row-timing .timing-phases{grid-column:1;grid-row:1;width:100%;display:flex}.row-timing .timing-phase-button{flex:1;padding:7px 5px}.row-timing .timing-start,.row-timing .timing-stop,.row-timing .timing-unlock{grid-column:2;grid-row:1;width:100%}.row-timing .timing-complete{grid-column:3;grid-row:1;width:100%}.operation-row-main .operation-choice{gap:9px}.completion-pick{position:fixed;z-index:45;max-height:75vh;overflow-y:auto;overscroll-behavior:contain;background:white;border:1px solid #d1dec7;border-radius:12px;padding:19px;box-shadow:0 15px 55px #24252b30;color:var(--ink)}.completion-pick-header{display:flex;gap:15px;align-items:start;justify-content:space-between}.completion-pick-header .eyebrow{font-size:9px;letter-spacing:1px}.completion-pick-header h3{font-size:18px;margin:8px 0 10px}.completion-pick-close{background:none;border:0;color:#77836e;font-size:24px;padding:0 3px;line-height:1}.completion-pick-item{border-top:1px solid #e3e9dc;margin-top:15px;padding-top:14px}.completion-pick-item h4{font-size:12px;line-height:1.6;margin:0 0 5px}.completion-pick-item select{font-size:11px;padding:9px;margin-top:12px}.completion-pick-item label{font-size:10px;color:#738066;margin:12px 0 8px}.completion-pick-item input{margin-top:7px;font-size:12px;padding:10px}.completion-pick-item .secondary{font-size:11px;padding:9px 12px;width:100%;margin-bottom:3px}.completion-pick>.text-button{margin-top:12px}.completion-pick .operation-help{font-size:11px}@media(max-width:600px){.operation-row-main .row-timing{padding:0 12px 10px;grid-template-columns:132px 65px 80px;gap:6px;margin-left:auto}.operation-name-line{gap:8px}.completion-pick{max-height:70vh}}@media(max-width:370px){.operation-row-main .row-timing{grid-template-columns:120px 60px 75px;gap:5px}}
.operation-row-main .operation-choice .operation-choice-copy>.operation-name-line{display:flex;color:var(--ink)}
/* Keep the job status prominent at both summary sizes. */
.detail-number-line{justify-content:space-between}.detail-number-line .job-status-block{margin-left:auto;padding:7px 13px}.detail-number-line .job-status-block .detail-status{font-size:22px}.detail-summary-sticky.is-compact .detail-number-line .job-status-block{display:flex;margin-left:auto;padding:0;visibility:visible}.detail-summary-sticky.is-compact .detail-number-line .detail-status{display:inline-block;font-size:17px;visibility:visible}
/* Compact stock identity: associated operations, material and code share a row. */
.stock-item-group{padding:15px 18px;margin:12px 0}.stock-item-identity{display:flex;align-items:baseline;gap:10px 18px;flex-wrap:wrap;border-bottom:1px solid #e6ebdf;padding-bottom:10px}.stock-item-identity .stock-association{margin:0;color:var(--deep);font-size:11px;font-weight:700}.stock-item-group .stock-item-identity h4{margin:0;font-size:15px;line-height:1.5}.stock-item-identity .material-code{margin:0;font-size:10px;color:#7a8471}.stock-item-group .detail-facts>div{padding:9px 0}.stock-item-group .detail-facts{margin:0;gap:0 18px}.stock-item-group .material-pick-form{margin-top:10px;gap:12px}.stock-item-group .material-pick-form label{margin:0}.stock-item-group .material-pick-form input,.stock-item-group .material-pick-form select{padding:9px 11px}.stock-item-group .material-pick-form button{padding:10px 16px}.stock-item-group .stock-pick-history{margin-top:12px;padding-top:10px}.stock-item-group .stock-pick-row{padding:7px 0}
@media(max-width:600px){.detail-number-line .job-status-block .detail-status{font-size:18px}.detail-summary-sticky.is-compact .detail-number-line .detail-status{font-size:14px}.detail-summary-sticky.is-compact .detail-number-line{align-items:flex-start}.detail-number-line .job-status-block{max-width:100%}.detail-number-line .detail-status{overflow-wrap:anywhere}.stock-item-group{padding:13px}.stock-item-identity{gap:5px 12px}.stock-item-group .stock-item-identity h4{font-size:14px}}
.row-timing .timing-reopen{grid-column:2 / 4;grid-row:1;justify-self:end;border:1px solid #c8d7bd;border-radius:6px;background:#f5f8ef;color:var(--deep);font-size:11px;font-weight:700;padding:8px 14px;white-space:nowrap}.timing-reopen:hover:enabled{background:#e8f1dd;border-color:var(--green)}.timing-reopen:disabled{opacity:.5;cursor:not-allowed}
/* Preserve left Back / right Refresh actions while the summary is compact. */
.detail-summary-sticky.is-compact #detail-refresh{display:inline-flex;align-items:center;margin-left:auto}.detail-summary-sticky.is-compact .detail-topbar{position:static;left:auto;right:auto;top:auto;flex-wrap:nowrap;justify-content:space-between;gap:12px;margin:0 0 9px}.detail-summary-sticky.is-compact .detail-hero-copy{padding:0}.detail-summary-sticky.is-compact #detail-back{margin-right:auto}
@media(max-width:600px){.detail-summary-sticky.is-compact #detail-refresh{font-size:10px;padding:7px}}
:root{--active-timing-height:0px}body{padding-top:var(--active-timing-height)}.active-timing-bar{position:fixed;inset:0 0 auto;z-index:90;background:var(--deep);color:#fff;display:flex;align-items:center;gap:22px;padding:12px 28px;box-shadow:0 3px 12px #17442225}.active-timing-bar>span{font-size:11px;font-weight:700;letter-spacing:.5px;white-space:nowrap}.active-timing-bar>span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#b9e451;margin-right:9px}.active-timing-bar>div{display:flex;gap:12px 24px;flex-wrap:wrap;min-width:0}.active-timing-bar a{display:flex;align-items:baseline;gap:12px;color:white;text-decoration:none;font-size:13px;border-bottom:1px solid #ffffff55;padding:3px 0}.active-timing-bar a:hover{border-color:white}.active-timing-bar a strong{color:#d7f697}.active-timing-bar a span{overflow-wrap:anywhere}.active-timing-bar[data-stale=true]{background:#476a40}.detail-summary-sticky{top:calc(var(--active-timing-height) + 12px)}.page-progress{top:var(--active-timing-height)}@media(max-width:600px){.active-timing-bar{padding:10px 14px;gap:5px;align-items:flex-start;flex-direction:column}.active-timing-bar a{font-size:12px}.detail-summary-sticky{top:calc(var(--active-timing-height) + 6px)}}
.active-timing-bar a small{border:1px solid #ffffff4a;border-radius:20px;padding:2px 7px;font-size:10px;color:#e6f3df;white-space:nowrap}.active-timing-bar>div{max-height:180px;overflow-y:auto}.active-timing-bar a{border-radius:4px}.active-timing-bar a:focus-visible{outline-color:#d9f7a4}
.active-timing-popover{position:fixed;z-index:120;background:#fff;color:var(--charcoal);border:1px solid #dbe5d2;border-radius:10px;box-shadow:0 14px 34px #1d2f1b36;padding:16px;box-sizing:border-box}.active-timing-popover-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.active-timing-popover-heading strong,.active-timing-popover-heading span{display:block}.active-timing-popover-heading strong{font-size:15px;color:var(--deep)}.active-timing-popover-heading span{font-size:12px;font-weight:700;margin-top:3px}.active-timing-popover-close{border:0;background:transparent;color:#5e6757;font-size:11px;font-weight:700;padding:3px;cursor:pointer}.active-timing-popover-controls{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.active-timing-popover-controls button,.active-timing-full{border:1px solid #bdd1ae;border-radius:5px;padding:9px 11px;background:#fff;color:var(--deep);font-size:11px;font-weight:700;cursor:pointer}.active-timing-popover-controls .active-timing-stop{background:#f1f5ed}.active-timing-popover-controls .active-timing-complete{background:var(--deep);border-color:var(--deep);color:#fff}.active-timing-popover-controls .active-timing-phase{background:#eaf4e1}.active-timing-popover-controls button:hover:enabled,.active-timing-full:hover{border-color:#28a03c;box-shadow:0 1px 5px #17442218}.active-timing-popover-controls button:disabled{opacity:.55;cursor:wait}.active-timing-popover-help{font-size:11px;color:#64705d;line-height:1.55;margin:13px 0 0}.active-timing-popover-notice{margin:12px 0 0;padding:9px 10px;border-left:3px solid #b74532;background:#fff1eb;color:#8a3c2d;font-size:11px;line-height:1.5}.active-timing-full{display:inline-block;margin-top:14px;text-decoration:none}@media(max-width:600px){.active-timing-popover{padding:14px}.active-timing-popover-controls button,.active-timing-full{padding:9px 10px}}
/* Centre the visible artwork: source alpha bounds are y=0..675 in a 1097px image. */
.brand-logo{transform:translateY(19.2343%)}
.job-status-stack{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto}.proof-status-link{background:#ffffff0b;border:1px solid #ffffff55;border-radius:6px;color:#e7f3dd;padding:7px 11px;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.proof-status-link:hover{background:#ffffff20}.detail-summary-sticky.is-compact .proof-status-link{display:block;font-size:11px;padding:5px 9px}
/* IQapprove: a file library and a quiet, focused reading surface. */
.board-proof-status{display:inline-flex;align-items:center;gap:7px;color:var(--deep);font-size:11px;font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.board-proof-status:after{content:'↗';opacity:.65}.job-status-stack .job-status-block{margin-left:0}
#proofs-workspace{padding:8px 0 36px}.proofs-heading{display:flex;justify-content:space-between;align-items:center}.proofs-heading h2{font-size:28px;letter-spacing:-.8px;margin:8px 0}.proofs-heading .eyebrow{color:var(--deep)}.proof-context{padding:13px 17px;border-left:3px solid var(--green,#3fa535);background:#edf4e8;font-size:12px;color:#48603d;margin:18px 0 24px}.proof-file-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.proof-file-card{background:white;border:1px solid #dfe5d9;border-radius:10px;padding:22px;min-width:0}.proof-file-identity{display:flex;gap:12px;align-items:center;margin-bottom:17px}.proof-file-icon{display:grid;place-items:center;width:42px;height:52px;flex:none;border-radius:5px 12px 5px 5px;background:#edf4e8;color:var(--deep);font-size:10px;font-weight:800;letter-spacing:1px}.proof-file-identity h3{font-size:16px;line-height:1.45;margin:0;overflow-wrap:anywhere}.proof-file-status{display:inline-block;background:#eff5e9;color:var(--deep);border:1px solid #dce9ce;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:700}.proof-version-note{font-size:11px;color:#7a7162;margin-left:10px}.proof-file-card .muted,.proof-file-notes{font-size:12px;line-height:1.6}.proof-file-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:20px}.proof-file-actions .primary,.proof-assembly .primary{width:auto;margin:0;padding:11px 17px;font-size:12px;text-decoration:none}.proof-selection{display:flex;align-items:center;gap:7px;font-size:11px;margin:0;font-weight:500;color:#5f6858}.proof-selection input{width:15px;height:15px;margin:0;accent-color:var(--deep)}.proof-assembly{display:flex;gap:24px;align-items:center;justify-content:space-between;margin:22px 0;padding:20px 24px;border:1px solid #d9e3cf;border-radius:10px;background:#f1f6ed}.proof-assembly strong{font-size:16px}.proof-assembly p{font-size:12px;line-height:1.6;margin:5px 0 0}.proof-assembly button{flex:none}.proof-reader{background:#e9ece6;border:1px solid #d8ded2;border-radius:12px;margin-top:26px;overflow:hidden;scroll-margin-top:calc(var(--active-timing-height,0px) + 150px)}.proof-reader-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;background:#24252b;color:#fff}.proof-reader-heading h3{font-size:16px;margin:0;overflow-wrap:anywhere}.proof-reader-heading .muted{font-size:12px;color:#c8d3c0;white-space:nowrap}.proof-reader-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:15px;background:#fff;border-bottom:1px solid #dfe5d9}.proof-reader-controls button,.proof-reader-controls select{font-size:12px;padding:9px 12px;height:36px;width:auto;margin:0;border:1px solid #d6ddcf;border-radius:5px;background:#fff;color:var(--deep)}.proof-page-jump{display:flex;align-items:center;gap:7px}.proof-page-jump label{display:flex;align-items:center;gap:8px;font-size:12px;margin:0;white-space:nowrap}.proof-page-jump input{width:67px;height:36px;padding:7px;margin:0;border:1px solid #b9c9ac;border-radius:5px}.proof-page-status{font-size:11px;text-align:center;padding:12px 15px;margin:0;color:#5a6552;overflow-wrap:anywhere}.proof-book-stage{display:flex;align-items:flex-start;justify-content:center;gap:2px;overflow:auto;padding:12px 22px 28px;min-height:300px}.proof-book-page{margin:0;flex:0 0 auto;max-width:none;text-align:center}.proof-book-page canvas,.proof-book-page img{display:block;background:#fff;box-shadow:0 5px 18px #24252b22}.proof-book-page img{max-width:100%;max-height:70vh}.proof-book-page figcaption{font-size:10px;color:#687060;max-width:360px;padding:12px 8px;line-height:1.5;overflow-wrap:anywhere}.proof-blank-page{width:calc(50% - 2px);box-shadow:none}.proof-reader>.loading,.proof-reader>.error{margin:24px}.proof-reader-controls button:disabled{opacity:.4}
@media(max-width:760px){.job-status-stack{gap:6px;max-width:100%}.proof-status-link{text-align:right;font-size:11px}.proof-file-grid{grid-template-columns:1fr}.proof-assembly{align-items:flex-start;flex-direction:column;gap:15px;padding:18px}.proof-reader-controls{gap:7px;padding:12px 8px}.proof-book-stage{padding:8px 10px 18px}.proof-reader-heading{padding:15px}.proofs-heading h2{font-size:24px}}
@media(min-width:761px){.detail-summary-sticky.is-compact .detail-hero-copy{position:relative;padding-right:340px;min-height:60px}.detail-summary-sticky.is-compact .job-status-stack{position:absolute;right:0;top:0;max-width:330px}.detail-summary-sticky.is-compact .detail-number-line{justify-content:flex-start}.detail-summary-sticky.is-compact .proof-status-link{text-align:right}}
.proof-layout-note{margin:0;padding:11px 20px 0;font-size:11px;line-height:1.6;color:#5a6552;text-align:center}
.capacity-launch{margin-left:auto;text-decoration:none;align-self:flex-start}.workspace-top #logout{margin-left:12px}#capacity-workspace{padding:0 0 30px}.capacity-header{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:24px 28px;background:var(--ink,#24252b);color:white;border-radius:12px;position:relative;overflow:hidden}.capacity-header:after{content:'';position:absolute;width:280px;height:280px;border-radius:50%;background:#94c01e15;right:-100px;top:-110px;pointer-events:none}.capacity-header h1{margin:9px 0;font-size:30px;letter-spacing:-1px}.capacity-header .eyebrow{color:#add466}.capacity-header p{margin:0;color:#bfc8b8;font-size:12px}.capacity-header .summary-back{display:inline-block;margin-bottom:17px;text-decoration:none}.capacity-header-actions{display:flex;gap:10px;align-items:center;z-index:1}.capacity-header-actions button{color:#fff;background:#ffffff0b;border:1px solid #ffffff55;border-radius:6px;padding:10px 13px;font-size:11px;font-weight:700}.capacity-shell{display:grid;grid-template-columns:195px minmax(0,1fr);gap:20px;margin-top:22px}.capacity-departments{background:white;border:1px solid #dfe5d9;border-radius:9px;padding:15px 10px;align-self:start;position:sticky;top:calc(var(--active-timing-height) + 12px)}.capacity-departments h2{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#7b8672;margin:4px 10px 15px}.capacity-departments button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:12px 10px;border:0;border-radius:6px;background:transparent;color:#59634f;font-size:12px;font-weight:600;text-align:left}.capacity-departments button[aria-pressed=true]{color:var(--deep);background:#edf4e5}.capacity-departments button span{font-size:10px;opacity:.65}.capacity-main{min-width:0}.capacity-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;flex-wrap:wrap}.capacity-toolbar h2{font-size:23px;margin:0}.capacity-toolbar-controls{display:flex;gap:8px;align-items:center}.capacity-toolbar input,.capacity-toolbar button{width:auto;margin:0;font-size:12px;padding:8px 10px;border:1px solid #d8e0d0;border-radius:5px;background:#fff;color:var(--deep)}.capacity-note{font-size:11px;line-height:1.7;color:#6c7763}.capacity-status{padding:13px 17px;margin:15px 0;border-left:3px solid var(--green);background:#edf4e5;font-size:12px;line-height:1.6}.capacity-status[data-tone=error]{border-color:#b74532;background:#fff1eb;color:#8a3c2d}.capacity-week{border:1px solid #dfe5d9;border-radius:9px;background:#fff;overflow:auto}.capacity-grid{display:grid;grid-template-columns:150px repeat(7,minmax(145px,1fr));min-width:1165px}.capacity-day-heading{background:#f0f5e9;padding:15px 12px;border-bottom:1px solid #dfe7d7;border-right:1px solid #e3eadc;color:#617554;font-size:11px;font-weight:700;position:sticky;top:0;z-index:2}.capacity-day-heading strong{display:block;color:var(--deep);font-size:17px;margin-top:5px}.capacity-machine-heading{padding:19px 15px;background:#fbfcfa;border-right:1px solid #e1e7da;border-bottom:1px solid #e1e7da;position:sticky;left:0;z-index:1}.capacity-machine-heading h3{margin:0 0 9px;font-size:13px;line-height:1.5}.capacity-machine-heading small{display:block;font-size:10px;color:#7e8975;line-height:1.7}.capacity-slot{padding:10px;min-height:145px;border-right:1px solid #e7ece2;border-bottom:1px solid #e7ece2;background:#fff;transition:background .15s}.capacity-slot[data-over=true]{background:#e4f2d4;box-shadow:inset 0 0 0 2px #28a03c}.capacity-slot[data-closed=true]{background:repeating-linear-gradient(135deg,#fafbf9,#fafbf9 6px,#f3f5f0 6px,#f3f5f0 7px)}.capacity-slot-budget{display:flex;gap:7px;align-items:center;justify-content:space-between;font-size:9px;color:#7e8975;margin-bottom:10px}.capacity-slot-budget[data-over=true]{color:#a64a2e;font-weight:700}.capacity-budget-track{height:3px;border-radius:4px;background:#e7eddf;overflow:hidden;margin:7px 0 11px}.capacity-budget-fill{height:100%;background:#94c01e}.capacity-tcard{position:relative;display:block;background:#fff;border:1px solid #dce5d3;border-left:4px solid #28a03c;border-radius:3px 7px 7px 3px;padding:11px;margin:0 0 9px;box-shadow:0 2px 5px #24252b08;cursor:grab;min-width:0}.capacity-tcard:before{content:'';height:4px;position:absolute;left:10px;right:10px;top:-1px;background:var(--deep);border-radius:0 0 3px 3px}.capacity-tcard[draggable=false]{cursor:default}.capacity-tcard strong{display:block;font-size:12px;color:var(--deep)}.capacity-tcard p{font-size:11px;font-weight:600;line-height:1.5;margin:6px 0;overflow-wrap:anywhere}.capacity-tcard small{display:block;font-size:10px;color:#7a8570;line-height:1.6}.capacity-tcard a{color:var(--deep);font-size:11px;font-weight:700;text-underline-offset:3px}.capacity-tcard-actions{display:flex;align-items:center;gap:10px;margin-top:9px}.capacity-tcard-actions button{border:0;background:#eef5e7;border-radius:4px;color:var(--deep);padding:5px 8px;font-size:10px;font-weight:700}.capacity-backlog{margin-top:23px}.capacity-backlog-header{display:flex;align-items:center;gap:20px;justify-content:space-between}.capacity-backlog h3{font-size:18px;margin:8px 0}.capacity-backlog input{width:250px;font-size:12px;padding:9px;margin:0}.capacity-queue-group{margin-top:17px}.capacity-queue-group>h4{font-size:12px;margin:0 0 10px;color:#68775b}.capacity-queue-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.capacity-plan-dialog{max-width:510px}.capacity-plan-dialog label{font-size:12px;margin-top:20px}.capacity-plan-dialog input{margin-top:6px}.capacity-dialog-facts{font-size:12px;line-height:1.8;color:#6c7763}.capacity-empty{padding:35px 24px;color:#7a8570;font-size:13px;line-height:1.8}.capacity-key{display:flex;gap:18px;font-size:10px;color:#7a8570;margin-top:12px}.capacity-key i{display:inline-block;width:7px;height:7px;background:#28a03c;border-radius:2px;margin-right:5px}@media(max-width:850px){.capacity-shell{grid-template-columns:1fr}.capacity-departments{position:static;display:flex;gap:7px;overflow:auto;align-items:center}.capacity-departments h2{margin:0 5px;flex:none}.capacity-departments button{width:auto;white-space:nowrap}.capacity-header{padding:20px}.capacity-header h1{font-size:25px}.capacity-header-actions{flex-direction:column}.capacity-grid{grid-template-columns:125px repeat(7,minmax(145px,1fr));min-width:1140px}.capacity-backlog-header{flex-wrap:wrap}}
.capacity-toolbar select{width:auto;max-width:230px;padding:8px 10px;margin:0;border:1px solid #d8e0d0;border-radius:5px;background:#fff;color:var(--deep);font-size:12px}.capacity-toolbar-controls{flex-wrap:wrap}.capacity-tcard[data-conflict=true]{border-left-color:#bd683a}
.capacity-departments{max-height:calc(100dvh - var(--active-timing-height) - 24px);overflow-y:auto}@media(max-width:850px){.capacity-departments{max-height:none}}

/* Department capacity overview and true-scale daily machine timeline. */
.capacity-range{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:24px 0}.capacity-range label{font-size:11px;color:#617554;margin:0}.capacity-range input{margin:5px 0 0;padding:9px;width:170px}.capacity-range button{width:auto;margin:0}.capacity-overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:16px}.capacity-department-card{text-align:left;background:white;border:1px solid #dfe5d9;border-radius:12px;padding:24px;color:var(--charcoal);box-shadow:0 3px 12px #24252b04;transition:transform .15s,border-color .15s}.capacity-department-card:hover{transform:translateY(-3px);border-color:#28a03c}.capacity-department-card h2{font-size:20px;margin:12px 0 24px}.capacity-department-card>strong{display:block;font-size:32px;color:var(--deep)}.capacity-department-card>span:not(.eyebrow){display:block;font-size:12px;color:#6c7763}.capacity-department-card small{font-size:11px;color:#6c7763}.capacity-department-card .capacity-enter{margin-top:20px;color:var(--deep)!important;font-weight:700}.capacity-department-card .capacity-budget-track{margin:18px 0 9px;height:5px}.capacity-days{display:flex;gap:6px;margin:14px 0;overflow:auto}.capacity-days button{white-space:nowrap;padding:9px 14px;font-size:12px;background:white;border:1px solid #dfe5d9;border-radius:6px;color:var(--deep)}.capacity-days button[aria-pressed=true]{background:var(--deep);color:white}.capacity-main>.capacity-toolbar{margin-top:20px}.capacity-timeline-scroll{overflow:auto;border:1px solid #dfe5d9;border-radius:10px;background:white;max-width:100%;max-height:65vh}.capacity-timeline{min-width:2120px}.capacity-time-ruler,.capacity-time-row{display:grid;grid-template-columns:200px 1fr}.capacity-time-ruler{position:sticky;top:0;z-index:5;background:#f0f5e9;height:44px}.capacity-lane-name{position:sticky;left:0;z-index:3;background:#fafcf8;border-right:1px solid #dfe5d9;border-bottom:1px solid #dfe5d9;padding:14px 16px;font-size:11px;color:#617554}.capacity-lane-name h3{font-size:13px;color:var(--deep);margin:0 0 7px}.capacity-lane-name small{display:block;font-size:10px;line-height:1.6}.capacity-time-ruler .capacity-lane-name{z-index:6;background:#f0f5e9}.capacity-time-ticks{position:relative;margin-right:1px}.capacity-time-ticks span{position:absolute;top:15px;transform:translateX(-50%);font-size:10px;color:#617554}.capacity-time-ticks span:first-child{transform:none}.capacity-time-ticks span:last-child{transform:translateX(-100%)}.capacity-time-lane{position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent calc(4.1666667% - 1px),#dfe5d9 calc(4.1666667% - 1px),#dfe5d9 4.1666667%),#f3f4f1;border-bottom:1px solid #dfe5d9;min-width:0}.capacity-working-band{position:absolute;top:0;bottom:0;background:#28a03c0d;border-left:1px solid #28a03c40;border-right:1px solid #28a03c40;pointer-events:none}.capacity-time-lane[data-over=true]{box-shadow:inset 0 0 0 2px #28a03c}.capacity-time-card{position:absolute;height:44px;min-width:0;padding:6px 8px;border:1px solid #166223;border-radius:5px;background:#166223;color:white;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;text-align:left;cursor:grab;box-sizing:border-box;margin:0}.capacity-time-card:disabled{opacity:.75;cursor:default}.capacity-time-card:hover,.capacity-time-card:focus-visible{background:#28a03c;outline:2px solid #94c01e;z-index:4}.capacity-lane-message{position:absolute;left:16px;bottom:10px;font-size:10px;color:#7a8570;pointer-events:none}
.capacity-header .capacity-refresh{padding:10px 15px;border:1px solid #ffffff40;border-radius:6px;background:#ffffff0b;color:white;font-size:12px;cursor:pointer}.capacity-header .capacity-refresh:hover{background:#ffffff1c}.capacity-timeline{min-width:1100px}.capacity-timeline[data-zoom=true]{min-width:2120px}
.capacity-time-card{padding:6px 0;text-indent:6px}
.capacity-drop-ghost{position:absolute;top:8px;height:60px;z-index:8;box-sizing:border-box;border:2px dashed #28a03c;background:#28a03c38;backdrop-filter:blur(1px);border-radius:6px;pointer-events:none;color:#124c1b;font-size:11px;font-weight:700;padding:7px 0;text-indent:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 0 0 3px #28a03c12}.capacity-drop-ghost[data-conflict=true]{border-color:#b87819;background:#f0ba4538;color:#774610}.capacity-conflict-dialog{max-width:540px}.capacity-conflict-dialog>button{display:block;width:100%;margin-top:12px;text-align:left}.capacity-conflict-dialog>p{font-size:13px;line-height:1.7}.capacity-conflict-dialog button:disabled{opacity:.45;cursor:not-allowed}
.purchase-item-button{float:right;margin:0 0 8px 12px;font-size:11px}.purchase-order-dialog{max-width:740px;width:calc(100vw - 40px);max-height:90vh;overflow:auto}.purchase-item-title{font-size:13px;color:#617554;line-height:1.7}.purchase-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.purchase-order-form label{font-size:11px;font-weight:700;color:#58654e;display:block}.purchase-order-form input,.purchase-order-form select,.purchase-order-form textarea{display:block;width:100%;box-sizing:border-box;margin:5px 0 0;padding:9px;font-size:12px}.purchase-order-form textarea{min-height:70px}.purchase-unit-note{font-size:11px;line-height:1.7;color:#6c7763}.purchase-delivery{padding:14px 17px;border-radius:7px;background:#f0f5e9;font-size:11px;margin:15px 0}.purchase-delivery p{margin:5px 0;line-height:1.6}.purchase-status{font-size:12px;line-height:1.7;padding:12px 15px;background:#edf5e8;color:var(--deep);border-left:3px solid var(--green)}.purchase-status[data-error=true]{background:#fff0e9;border-color:#b74532;color:#8a3c2d}.purchase-review{background:#f7f9f4;border:1px solid #dfe5d9;border-radius:8px;padding:10px 18px}.purchase-review>div{display:grid;grid-template-columns:155px 1fr;gap:15px;padding:9px 0;border-bottom:1px solid #e5eadd;font-size:12px;line-height:1.6}.purchase-review>div:last-child{border:0}.purchase-review span{color:#6c7763}.purchase-review strong{font-weight:600}.purchase-review-actions{display:flex;justify-content:space-between;gap:12px;margin:18px 0}.purchase-result{font-size:14px;line-height:1.8}@media(max-width:650px){.purchase-fields{grid-template-columns:1fr}.purchase-review>div{grid-template-columns:1fr;gap:3px}}
.purchase-review-actions button{width:auto;min-width:115px;white-space:nowrap;align-self:center}.purchase-review-actions .primary{flex:1}
/* Department overview: IQ memberships and personal planning groups. */
.department-view-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0}.department-view-switch{display:flex;gap:4px;background:#e9ede6;padding:4px;border-radius:9px}.department-view-switch button{background:transparent;border:0;color:#617554;margin:0;padding:11px 18px;border-radius:6px;font-size:12px}.department-view-switch button[aria-pressed=true]{background:white;color:var(--deep);box-shadow:0 1px 5px #24252b12}.department-view-bar>button{width:auto;margin:0}.department-section{margin:28px 0 36px}.department-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.department-section-head h2{margin:0;font-size:21px}.department-section-head p{margin:5px 0 0;font-size:12px;color:#6c7763}.department-section-total{color:var(--deep);font-size:13px;font-weight:bold}.department-card-shell{position:relative;min-width:0}.department-card-shell .capacity-department-card{width:100%;height:100%;margin:0;padding:22px;display:block}.department-card-shell h3{font-size:19px;line-height:1.3;margin:12px 0 22px;min-height:49px;max-width:90%;color:var(--ink)}.department-membership{position:absolute;right:14px;top:12px;width:34px;height:34px;padding:7px!important;margin:0!important;border:1px solid #dfe5d9;border-radius:50%;background:#fff;color:#697361}.department-membership[aria-pressed=true]{color:var(--deep);background:#edf6e8;border-color:#b9d3ab}.department-membership:hover{border-color:var(--deep);background:#e4f1da}.department-membership svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;fill:none}.department-membership:disabled{opacity:.45;cursor:not-allowed}.department-group-filters{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 12px}.department-group-filters button{width:auto;margin:0;padding:9px 15px;border:1px solid #dfe5d9;border-radius:20px;background:white;font-size:12px;color:var(--deep)}.department-group-filters button[aria-pressed=true]{background:var(--deep);color:white;border-color:var(--deep)}.department-group-dialog{width:min(780px,calc(100vw - 40px));max-width:780px;padding:28px;max-height:88vh;overflow:auto}.department-group-dialog h2{margin:0 0 8px}.department-group-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;margin:22px 0}.department-group-list{display:flex;flex-direction:column;gap:6px;align-items:stretch}.department-group-list button{margin:0;text-align:left;overflow-wrap:anywhere;background:#f3f5f0;border:1px solid #e1e7db;border-radius:6px;padding:12px;color:var(--deep);font-size:12px}.department-group-list button[aria-pressed=true]{background:var(--deep);color:white}.department-group-editor label{font-size:12px}.department-group-editor input[name=name]{margin:7px 0 18px}.department-group-editor fieldset{border:1px solid #dfe5d9;border-radius:8px;padding:12px;max-height:42vh;overflow:auto}.department-group-editor legend{padding:0 5px;font-size:12px;color:#617554}.department-group-choice{display:flex;align-items:center;gap:10px;padding:7px 4px;margin:0!important;cursor:pointer}.department-group-choice input{width:16px;height:16px;margin:0;accent-color:var(--deep)}.department-group-remove{color:#a63b22;background:white;border:1px solid #e6d6d0}.department-group-editor .dialog-actions{margin-top:18px;justify-content:space-between}.department-group-dialog>button{width:auto}.department-card-shell button:focus-visible,.department-view-bar button:focus-visible,.department-group-filters button:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
@media(max-width:600px){.department-view-bar{align-items:stretch;flex-direction:column}.department-section-head{align-items:start;flex-direction:column;gap:8px}.department-group-layout{grid-template-columns:1fr}.department-group-list{max-height:150px;overflow:auto}.department-group-dialog{padding:20px}.department-group-editor fieldset{max-height:35vh}}
.job-planning-nav{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.job-planning-nav button{width:auto;margin:0;font-size:12px}.job-planning-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:24px 0}.job-planning-tools input{width:min(420px,100%);margin:0}.job-planning-tools button{width:auto;margin:0}.job-planning-number{border:0;background:transparent;color:var(--deep);padding:0;margin:0;text-decoration:underline;text-underline-offset:4px;font-weight:bold;text-align:left}.jobs-table td small{display:block;color:#73766f;margin-top:5px}.job-production-route{display:grid;gap:8px;margin:20px 0 32px}.job-route-step{display:grid;grid-template-columns:36px minmax(0,1fr) 100px 150px;gap:16px;align-items:center;background:white;border:1px solid #dfe5d9;border-radius:9px;padding:18px 20px}.job-route-number{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#edf3e7;color:var(--deep);font-size:12px;font-weight:bold}.job-route-step h3{margin:0 0 4px;font-size:16px}.job-route-step strong{font-size:13px;color:var(--deep)}.job-route-step small{display:block;font-size:11px;line-height:1.5;margin-top:5px;color:#71786a}.job-route-step>span{font-size:12px}.job-route-state{justify-self:end;padding:7px 10px;border-radius:5px;background:#f2f2ee;color:#6c7465;font-size:11px!important}.job-route-state[data-state=booked]{background:#e8f4e5;color:var(--deep)}.job-plan-proposal{background:#fff;border:1px solid #cbdcc0;border-radius:12px;padding:26px;margin:28px 0}.job-plan-proposal h2{margin-top:0}.job-proposal-operation{padding:16px 0;border-bottom:1px solid #e4e9de}.job-proposal-operation h3{font-size:14px;margin:0 0 12px}.job-plan-segments{display:flex;flex-wrap:wrap;gap:8px}.job-plan-segment{display:flex;flex-direction:column;gap:7px;background:#f1f7eb;border-left:4px solid var(--green);padding:13px 16px;min-width:210px;font-size:12px;flex:1}.job-plan-segment strong{color:var(--deep);font-size:11px;text-transform:uppercase;letter-spacing:.7px}.job-plan-segment small{color:#617554}.job-plan-segment[data-overtime=true]{background:#fff5e6;border-color:#d89521}.job-plan-segment[data-overtime=true] small{color:#8c5413;font-weight:bold}.job-plan-proposal>button{width:auto;margin:22px 10px 0 0}.job-autoplan-dialog{max-width:560px}.job-autoplan-dialog label{display:block;margin:18px 0}.job-autoplan-dialog select,.job-autoplan-dialog input{margin:7px 0}.job-autoplan-dialog>button{margin:10px 8px 0 0;width:auto}.planner-settings-form{max-width:650px;background:white;border:1px solid #dfe5d9;border-radius:12px;padding:28px}.planner-settings-form label{display:block;margin:0 0 24px;font-size:14px}.planner-settings-form input{display:block;margin:10px 0;width:170px}.planner-settings-form small{display:block;line-height:1.6}.planner-settings-form button{width:auto}.job-planning-number:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
@media(max-width:700px){.job-route-step{grid-template-columns:30px minmax(0,1fr);gap:10px}.job-route-step>span:nth-last-child(2){grid-column:2}.job-route-state{justify-self:start;grid-column:2}.job-plan-proposal{padding:18px}.job-plan-segment{min-width:160px}.jobs-table{font-size:11px}}
.job-machine-booking{cursor:default;font-size:10px;height:37px;background:#dfe2dd;color:#596251;border-color:#bac1b4}.job-machine-booking[data-own=true]{background:var(--deep);color:white;border-color:var(--deep)}.job-machine-booking[data-proposed=true]{background:#e1f1d6;color:var(--deep);border:2px dashed var(--green);box-shadow:none}.job-machine-booking:hover{outline:0;background:#dfe2dd}.job-machine-booking[data-own=true]:hover{background:var(--deep)}.job-machine-booking[data-proposed=true]:hover{background:#e1f1d6}

/* Compact production navigation and read-only overview. */
header{position:relative;gap:24px}.production-menu{align-self:stretch;display:flex;align-items:center}.production-menu>button{border:0;background:transparent;color:var(--ink);font:inherit;font-size:18px;font-weight:700;padding:18px 8px;cursor:pointer}.production-menu>button span{margin-left:9px;color:var(--deep)}.production-menu nav{display:none;position:absolute;top:100%;left:0;right:0;padding:18px 5vw;background:#fff;border-top:1px solid #eee;border-bottom:1px solid #dce5d8;box-shadow:0 8px 16px #24252b0c;z-index:90;gap:38px}.production-menu:hover nav,.production-menu:focus-within nav,.production-menu>button[aria-expanded=true]+nav{display:flex}.production-menu nav a{color:var(--deep);font-size:14px;font-weight:800;text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}.production-menu nav a:hover{border-color:var(--green)}body:not(.workspace-mode) .production-menu{display:none}.planner-settings-link{margin-left:auto!important}.job-planning-nav{display:flex;width:100%}.overview-heading{position:relative;margin:10px 0 28px}.overview-heading h1{font-size:34px;letter-spacing:-1px;margin:10px 0}.overview-actions{display:flex;gap:10px;margin-top:18px}.overview-metrics{display:flex;gap:0;background:#24252b;color:white;border-radius:10px;padding:26px;margin-bottom:26px}.overview-metrics>div{flex:1;padding:0 24px;border-right:1px solid #ffffff25}.overview-metrics>div:last-child{border:0}.overview-metrics strong{display:block;font-size:40px;line-height:1.2;color:#94c01e}.overview-metrics span{display:block;font-size:13px;margin-top:8px}.overview-charts{display:grid;grid-template-columns:1fr 1fr;gap:24px}.overview-chart{background:white;border:1px solid #e0e5dc;border-radius:9px;padding:24px}.overview-chart h2{font-size:19px;margin:0 0 22px}.overview-bar{display:grid;grid-template-columns:minmax(100px,1fr) minmax(60px,1.2fr) 30px;align-items:center;gap:12px;margin:17px 0;font-size:12px}.overview-bar strong{text-align:right}.overview-track{background:#eef3e8;border-radius:4px;height:10px;overflow:hidden}.overview-fill{height:100%;background:linear-gradient(90deg,#166223,#28a03c);border-radius:4px}.overview-footnote{font-size:11px;line-height:1.7;color:#73796d;margin-top:24px}@media(max-width:760px){.overview-charts{grid-template-columns:1fr}.overview-metrics{padding:20px 8px}.overview-metrics>div{padding:0 12px}.overview-metrics strong{font-size:29px}.overview-heading h1{font-size:28px}.production-menu nav{gap:24px}.department-view-switch{flex-wrap:wrap}}
header{justify-content:flex-start}header>.version{margin-left:auto}
.header-account{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:12px;color:#626269}.header-account time{font-variant-numeric:tabular-nums;white-space:nowrap}.header-weather{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu{position:relative}.user-menu>button{background:transparent;border:0;color:var(--deep);font:inherit;font-weight:800;cursor:pointer;padding:15px 0 15px 12px}.user-menu nav{position:absolute;right:0;top:100%;width:190px;padding:8px;background:white;border:1px solid #dfe5d9;border-radius:7px;box-shadow:0 8px 24px #24252b16;z-index:100}.user-menu nav a,.user-menu nav button{display:block;box-sizing:border-box;width:100%;text-align:left;padding:12px;border:0;background:transparent;text-decoration:none;font-size:13px;font-weight:700;color:var(--deep);border-radius:4px;cursor:pointer}.user-menu nav a:hover,.user-menu nav button:hover{background:#eff4ee}body:not(.workspace-mode) .header-account{display:none}#my-settings-workspace{padding:28px 0;min-height:300px}@media(max-width:1000px){.header-account{gap:12px}.header-weather{max-width:160px}.header-account time{font-size:11px}}@media(max-width:760px){header{flex-wrap:wrap;height:auto;min-height:76px;padding:12px 20px;gap:8px 18px}.header-account{flex-basis:100%;justify-content:flex-end;font-size:11px}.header-weather{max-width:140px}.header-account time{font-size:10px}.user-menu>button{padding:8px 0}.production-menu nav{padding:14px 20px}}
.header-refresh{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;background:transparent;border:1px solid #dfe5d9;border-radius:6px;color:var(--deep);cursor:pointer}.header-refresh:hover{background:#eff4ee}.header-refresh svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#overview-workspace{padding-top:8px}

.job-route-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.job-route-actions .job-unplan-button{width:auto;margin:0;padding:6px 9px;font-size:11px}.unplan-review-row{padding:10px 0;border-bottom:1px solid #e4e9de;font-size:13px}.job-autoplan-dialog{max-height:85vh;overflow:auto}@media(max-width:700px){.job-route-actions{grid-column:2;justify-content:flex-start}}

/* Compact production planning */
.compact-route{display:flex!important;gap:12px;overflow-x:auto;padding:4px 0 16px}.compact-route .route-tcard{flex:0 0 220px;display:flex;flex-direction:column;gap:7px;border-top:4px solid var(--green);padding:14px;min-height:0}.route-tcard strong{font-size:15px}.route-tcard small{font-size:11px;line-height:1.5}.route-tcard button{padding:6px 10px;font-size:11px}.route-tcard[draggable=true]{cursor:grab}.route-dates{color:var(--deep)}.planner-check{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;white-space:nowrap}.planner-check input{width:auto}.planner-day-track{display:flex;gap:8px;min-width:0}.planner-period{min-width:100px;overflow:hidden}.planner-period-label{position:absolute;z-index:2;top:4px;left:8px;font-size:10px;color:var(--deep)}.machine-link{display:block;border:0;background:none;padding:5px 0;color:var(--deep);text-decoration:underline;text-align:left;font-weight:700}.job-planning-tools{flex-wrap:wrap}.job-planning-tools .primary{width:auto;margin:0}.job-planning-tools input[type=date]{max-width:160px}.planner-operation-dialog{width:min(640px,92vw)}.planner-operation-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:13px}.planner-operation-facts dt{color:#687063}.planner-operation-facts dd{margin:0;font-weight:700}.planner-popup-controls{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.planner-popup-controls [aria-pressed=true]{background:var(--deep);color:white}.operation-planned-dates{padding:7px 16px;color:var(--deep);background:#f0f6eb;font-size:12px}.detail-topbar #detail-planning-link{font-size:12px;padding:8px 12px;color:white;border-color:#777;background:transparent}.capacity-time-card{min-width:0}.job-machine-booking{cursor:pointer}

.job-capacity-timeline{min-width:1000px}.capacity-toolbar-controls{flex-wrap:wrap}.planner-operation-dialog>.secondary{display:inline-block;margin:6px 8px 0 0}.route-tcard button{width:auto}.job-planning-tools>a.secondary{text-decoration:none;display:inline-flex;align-items:center}.job-machine-booking[data-own=false]{background:#e0e4dc;color:#4e5f44;border-color:#b9c5b2}.planner-operation-dialog .operation-machine{margin-top:12px}
/* Unsaved planning stays visually distinct from confirmed IQ bookings. */
.route-tcard[data-provisional=true]{border:2px dashed #28a03c;border-top:4px dashed #28a03c;background:#f0f8e9}.job-machine-booking[data-provisional=true]{background:#dbedc8!important;color:#166223!important;border:2px dashed #28a03c!important;box-shadow:none}.job-machine-booking[draggable=true]{cursor:grab}.proposal-actions{position:sticky;top:12px;z-index:12;display:flex;align-items:center;gap:12px;padding:16px 20px;border:2px dashed #28a03c;border-radius:8px;background:#f1f8e9;box-shadow:0 4px 14px #24252b12;margin:6px 0 24px}.proposal-actions>div{flex:1}.proposal-actions strong,.proposal-actions small{display:block}.proposal-actions strong{font-size:15px;color:var(--deep)}.proposal-actions small{font-size:11px;line-height:1.6;margin-top:5px}.proposal-actions button{width:auto;margin:0;white-space:nowrap}.planner-day-divider{padding:12px 16px;background:#166223;color:white;font-size:13px;font-weight:800;border-bottom:3px solid #94c01e;position:sticky;left:0;letter-spacing:.3px}.route-next-day{display:block;border-top:1px dashed #a7be96;padding-top:5px;margin-top:5px;font-weight:700;color:#166223}.planner-stock-info{margin:20px 0;border-top:1px solid #dedee2;padding-top:12px}.planner-stock-info h3{font-size:16px}.planner-stock-item{padding:12px;background:#f7f9f4;border:1px solid #dfe5d9;border-radius:6px;margin:10px 0}.planner-stock-item>strong,.planner-stock-item>small{display:block}.planner-stock-item>small{font-size:11px;color:#66745b}.planner-stock-figures{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.planner-stock-figures small,.planner-stock-figures strong{display:block}.planner-stock-figures small{font-size:10px;color:#66745b}.planner-stock-figures strong{font-size:12px;margin-top:4px}.planner-pick-record{padding-top:5px}.planner-operation-dialog{max-height:90vh;overflow-y:auto}@media(max-width:760px){.proposal-actions{flex-wrap:wrap}.proposal-actions>div{flex-basis:100%}.planner-stock-figures{grid-template-columns:repeat(2,1fr)}}

.planner-operation-dialog .planner-popup-controls{margin:12px 0 20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.planner-time-entries{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}.planner-time-entries h3{font-size:16px}.planner-time-entries .detail-table{font-size:11px}

/* Planner inspector shares Job Details' timing components. */
.planner-operation-dialog .planner-popup-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 0;min-height:54px}.planner-popup-controls .timing-state{flex-basis:100%;width:100%}.planner-popup-controls .timing-phases{flex-shrink:0}.planner-popup-controls .timing-phase-button[aria-pressed=true]{background:#e4f0d9;color:var(--deep)}

.planner-inspector-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:8px}.planner-inspector-title{min-width:120px;flex:1}.planner-inspector-title h2{margin:8px 0 0}.planner-inspector-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:290px}.planner-inspector-actions .secondary{display:inline-flex;align-items:center;text-decoration:none;padding:8px 10px;margin:0;font-size:11px;white-space:nowrap}.planner-operation-dialog{max-width:760px;width:min(760px,calc(100vw - 40px))}@media(max-width:560px){.planner-inspector-header{flex-wrap:wrap}.planner-inspector-actions{margin-left:auto;max-width:100%}}
.sheet-stock-identity{display:grid;grid-template-columns:2fr 1fr;gap:20px;background:#24252b;color:white;border-radius:7px;padding:16px 18px;margin:12px 0 16px;border-left:4px solid #94c01e}.sheet-stock-identity span,.sheet-stock-identity strong{display:block}.sheet-stock-identity span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#c4d5ad;margin-bottom:6px}.sheet-stock-identity strong{font-size:16px}.sheet-plan-cards .sheet-plan-stat strong{font-size:26px;font-weight:800;line-height:1.2}.sheet-plan-cards .sheet-plan-stat span{min-height:28px}.timing-comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 20px}.timing-comparison-item{padding:14px 12px;background:#f7f9f4;border:1px solid #dfe5d9;border-radius:7px}.timing-comparison-item>span,.timing-comparison-item>small,.timing-comparison-item>strong{display:block}.timing-comparison-item>span{font-size:11px;color:#607052;margin-bottom:8px}.timing-comparison-item>strong{font-size:24px;font-variant-numeric:tabular-nums;color:var(--deep)}.timing-comparison-item>small{font-size:10px;color:#687364;margin-top:12px}.timing-comparison-item>.timing-actual{font-size:24px;color:var(--ink);margin-top:5px}.timing-variance[data-over=true]{color:#a14e20}.planner-stock-item .material-pick-form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(130px,1fr) auto;gap:10px;align-items:end}.planner-stock-item .material-pick-form label{margin:0;flex:1}.planner-stock-item .material-pick-form select{margin:0}.planner-stock-item .material-pick-form button{padding:12px;white-space:nowrap}@media(max-width:560px){.sheet-stock-identity{grid-template-columns:1fr}.timing-comparison-item>strong,.timing-comparison-item>.timing-actual{font-size:20px}}

@media(max-width:560px){.planner-stock-item .material-pick-form{grid-template-columns:1fr}.planner-stock-item .material-pick-form button{width:100%}}
.planning-window{margin:16px 0;padding:16px 18px;border:1px solid #dce5d4;border-radius:10px;background:#f8faf5}.planning-window p{font-size:12px;line-height:1.6}.planning-window-choices{display:flex;gap:7px;flex-wrap:wrap}.planning-window-choices button{width:auto;margin:0;padding:9px 14px;font-size:12px;border-radius:999px;background:#fff;border-color:#d4e0cc;color:var(--deep)}.planning-window-choices button[aria-pressed=true]{background:var(--deep);border-color:var(--deep);color:white;box-shadow:0 2px 6px #16622324}.planning-window-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:14px 0 4px;padding-top:14px;border-top:1px solid #dce5d4}.planning-window-form label{margin:0;font-size:11px;color:var(--deep)}.planning-window-form input{display:block;margin:5px 0 0;padding:9px}.planning-window-form button{padding:11px 14px}

.material-pick-form button{white-space:nowrap}.material-pick-form select{margin-bottom:0}@media(max-width:560px){.material-pick-form{grid-template-columns:1fr}}
.machine-picker{position:relative;min-width:175px}.machine-picker summary{cursor:pointer;padding:12px 16px;background:white;border:1px solid #ced8c6;border-radius:6px;font-size:12px;font-weight:700;color:var(--deep)}.machine-picker-options{position:absolute;right:0;top:100%;z-index:25;min-width:290px;max-height:420px;overflow:auto;padding:14px;background:white;border:1px solid #ced8c6;border-radius:7px;box-shadow:0 8px 24px #24252b20}.machine-picker-options label{display:flex;padding:9px 4px;margin:0}.machine-picker-options button{font-size:11px;padding:7px 9px;margin:0 7px 8px 0}.capacity-machine-divider{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#166223;color:white;border-top:8px solid #f7f7f8;border-bottom:3px solid #94c01e;padding:13px 18px;min-height:54px}.capacity-machine-divider strong{font-size:16px}.capacity-machine-divider small{color:#d7e9c1;font-size:12px}.capacity-machine-divider+.capacity-time-row{border-top:0}.planning-window-form .planner-check{display:flex;align-items:center;gap:7px;max-width:230px;line-height:1.5}.planning-window-form .planner-check input{margin:0;width:auto}
.capacity-operation-filters{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:18px 0 6px;padding:14px 16px;background:#f1f6ec;border:1px solid #dbe7d4;border-radius:9px}.capacity-operation-filters>strong{color:var(--deep);font-size:12px;text-transform:uppercase;letter-spacing:.7px;margin:0 6px 10px 0}.capacity-operation-filters label{display:grid;gap:5px;color:#5f6e56;font-size:11px;font-weight:bold}.capacity-operation-filters select{min-width:150px;margin:0;padding:9px 28px 9px 10px;background:white;border:1px solid #ced8c6;border-radius:5px;color:var(--ink)}.capacity-operation-filters button{width:auto;margin:0;font-size:11px;padding:10px 13px}.capacity-machine-divider .machine-link{width:auto;margin:0;padding:0;border:0;background:transparent;color:white;font:inherit;font-size:16px;font-weight:800;text-align:left}.capacity-machine-divider .machine-link:hover{text-decoration:underline}.machine-settings-form{margin-top:22px}.machine-settings-form h2,.planner-settings-form h2{margin-top:0}.machine-override-fields{margin-top:16px}.batch-plan-dialog{max-width:560px}.batch-plan-dialog label{display:block;margin:18px 0}.batch-plan-dialog label input{margin-right:8px}.batch-plan-dialog select{margin-top:7px}
@media(max-width:700px){.capacity-operation-filters{align-items:stretch}.capacity-operation-filters label,.capacity-operation-filters select{width:100%}.capacity-operation-filters>strong{margin-bottom:2px}}

/* Compact T-card refinement controls: keep the queue visible while making matches easy to scan. */
.capacity-operation-filters{margin:20px 0 8px;padding:10px 12px;background:linear-gradient(135deg,#f7faf4,#eef5e7);border-color:#d7e3cf;gap:8px;box-shadow:0 1px 0 #fff inset}
.capacity-operation-filters>strong{align-self:center;margin:0 5px 0 0;font-size:10px;color:#607255}
.capacity-operation-filters label{position:relative;display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid #d9e4d1;border-radius:999px;background:#fff;color:#68775e;font-size:10px;font-weight:700}
.capacity-operation-filters select{min-width:0;max-width:185px;padding:0 18px 0 0;border:0;background:transparent;color:var(--deep);font:inherit;outline:none;cursor:pointer}
.capacity-operation-filters button{padding:7px 10px;border-radius:999px;font-size:10px}.capacity-operation-filters .primary{margin-left:auto;background:var(--deep);color:white;border-color:var(--deep)}
.capacity-tcard[data-filtered-out=true],.capacity-time-card[data-filtered-out=true]{opacity:.32;filter:grayscale(.8);transition:opacity .16s,filter .16s}.capacity-tcard[data-filtered-out=true]:hover,.capacity-time-card[data-filtered-out=true]:hover{opacity:.75;filter:grayscale(.25)}
@media(max-width:700px){.capacity-operation-filters{align-items:stretch}.capacity-operation-filters label{justify-content:space-between}.capacity-operation-filters select{max-width:none;width:100%}.capacity-operation-filters .primary{margin-left:0}}

/* Planning state and dates are the primary scanning cues on every T-card. */
.capacity-tcard[data-plan-state=unplanned]{background:#fff8e8;border-color:#efd08a;border-left-color:#d48618}.capacity-tcard[data-plan-state=unplanned]:before{background:#d48618}.capacity-tcard[data-plan-state=provisional]{background:#fff5e3;border-color:#e4b75e;border-left-color:#bf7812}.capacity-tcard[data-plan-state=provisional]:before{background:#bf7812}.capacity-tcard[data-plan-state=planned]{background:#f2f8ed;border-color:#bcdab5;border-left-color:#28a03c}.capacity-tcard[data-plan-state=planned]:before{background:#28a03c}.capacity-tcard[data-plan-state=complete]{background:#f3f4f1;border-left-color:#9aa397;opacity:.82}.capacity-tcard[data-plan-state=complete]:before{background:#899383}.tcard-status{display:inline-flex;align-self:flex-start;align-items:center;min-height:20px;padding:2px 8px;border-radius:999px;background:#fff;color:#8a5511;border:1px solid #edc876;font-size:9px!important;font-weight:800!important;letter-spacing:.5px;text-transform:uppercase;line-height:1.1!important}.capacity-tcard[data-plan-state=planned] .tcard-status{color:#166223;border-color:#a7d29b;background:#e5f2df}.capacity-tcard[data-plan-state=provisional] .tcard-status{color:#8a5511;border-color:#e8bd68;background:#fff5dc}.capacity-tcard[data-plan-state=complete] .tcard-status{color:#64705f;border-color:#d5d9d1;background:#f4f5f3}.route-tcard .route-dates{margin-top:2px;padding:8px 9px;border-radius:5px;background:#ffffffb8;border:1px solid #dfe7d7}.route-tcard .route-dates small{font-size:11px;line-height:1.6;color:#166223;font-weight:800;font-variant-numeric:tabular-nums}.tcard-date{margin-top:2px;color:#166223!important;font-weight:800!important;font-variant-numeric:tabular-nums}.capacity-time-card[data-plan-state=planned]{background:#166223;border-color:#0e4a19;box-shadow:inset 4px 0 #94c01e,0 2px 5px #16622330}.capacity-time-card[data-plan-state=external]{background:#637062;border-color:#4e5b4d;box-shadow:inset 4px 0 #c6d0bd}.capacity-date-focus{display:flex;align-items:baseline;gap:10px;margin:20px 0 5px;padding:10px 15px;border-left:5px solid var(--lime);border-radius:0 7px 7px 0;background:#24252b;color:white}.capacity-date-focus span{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#c8deac}.capacity-date-focus strong{font-size:20px;letter-spacing:-.3px}.capacity-date-focus small{margin-left:auto;color:#c8deac;font-size:11px;font-weight:700}.capacity-days{margin-top:8px}.capacity-days button[aria-pressed=true]{background:#166223;border-color:#166223;box-shadow:0 3px 8px #16622330;font-weight:800;transform:translateY(-1px)}
/* Repeated day marker: make each machine/day lane easy to scan in long views. */
.capacity-lane-name .capacity-lane-date{display:inline-flex;align-items:center;align-self:flex-start;margin:8px 0 7px;padding:4px 8px;border-radius:4px;background:#166223;color:white;font-size:12px;font-weight:800;letter-spacing:.15px;line-height:1.15;box-shadow:inset 3px 0 #94c01e}.capacity-lane-name .capacity-lane-date+small{margin-top:1px}

/* Keep the global production navigation available above every workspace. */
header{position:sticky;top:var(--active-timing-height);z-index:80;box-shadow:0 2px 12px #24252b0b}
.detail-summary-sticky{top:calc(var(--active-timing-height) + 102px)}
.capacity-departments,.proposal-actions{top:calc(var(--active-timing-height) + 102px)}
.page-progress{top:calc(var(--active-timing-height) + 90px)}
/* Capacity planning stays discoverable in the compact job header, beside Refresh. */
.detail-summary-sticky.is-compact .detail-topbar #detail-planning-link{order:2;margin-left:auto}
.detail-summary-sticky.is-compact .detail-topbar #detail-refresh{order:3;margin-left:0}
.capacity-tcard[data-draggable=true]{cursor:grab}.capacity-tcard[data-dragging=true],.capacity-time-card[data-dragging=true]{opacity:.55;cursor:grabbing}.tcard-drag-hint{margin-top:5px;color:var(--deep)!important;font-weight:800!important}.capacity-time-card[data-draggable=true]{cursor:grab}
@media(max-width:600px){.detail-summary-sticky{top:calc(var(--active-timing-height) + 82px)}.capacity-departments,.proposal-actions{top:calc(var(--active-timing-height) + 82px)}.page-progress{top:calc(var(--active-timing-height) + 76px)}.detail-summary-sticky.is-compact .detail-topbar #detail-planning-link{font-size:10px;padding:7px 8px}}

/* Compact job header: keep the date with its job number; status stays on the right. */
.detail-summary-sticky.is-compact .detail-number-line{position:relative;padding-right:0}
.detail-summary-sticky.is-compact .detail-metrics .detail-stat[data-header-field=dueDate]{position:static;display:flex;align-items:center;order:1;margin:0;padding:0;border:0}
.detail-summary-sticky.is-compact .detail-metrics{display:flex;align-items:center;gap:9px;order:1}
.detail-summary-sticky.is-compact #detail-number{order:0}
.detail-summary-sticky.is-compact .detail-number-line .job-status-block{order:3}

/* The compact due date lives beside its job number, before the status stack. */
.detail-summary-sticky.is-compact #detail-dueDate{display:flex!important;align-items:baseline;gap:5px;margin:0;padding:0;border:0;white-space:nowrap}
.detail-summary-sticky.is-compact #detail-dueDate>span{display:none}
.detail-summary-sticky.is-compact #detail-dueDate strong{color:#e2f7cc;font-size:12px;line-height:1.2}
@media(max-width:600px){.detail-summary-sticky.is-compact #detail-dueDate strong{font-size:10px}}


/* Compact Job Details: retain a labelled due date on the left and group all job actions on the right. */
.detail-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.detail-summary-sticky.is-compact .detail-topbar{display:flex;align-items:center;gap:10px}
.detail-summary-sticky.is-compact .detail-header-actions{display:flex;align-items:center;gap:7px;margin-left:auto;min-width:0}
.detail-summary-sticky.is-compact .detail-header-actions .job-status-stack{position:static;display:flex;flex-direction:row;align-items:center;gap:7px;max-width:none;margin:0}
.detail-summary-sticky.is-compact .detail-header-actions .job-status-block{display:flex;align-items:center;padding:5px 8px;border:1px solid #ffffff38;border-radius:6px;background:#ffffff0b;white-space:nowrap}
.detail-summary-sticky.is-compact .detail-header-actions .job-status-block>span{display:none}
.detail-summary-sticky.is-compact .detail-header-actions .job-status-block .detail-status{font-size:11px;line-height:1.2}
.detail-summary-sticky.is-compact .detail-header-actions .proof-status-link{display:block;padding:6px 9px;font-size:10px;white-space:nowrap;text-align:left}
.detail-summary-sticky.is-compact .detail-header-actions #detail-planning-link{order:0;margin-left:0}
.detail-summary-sticky.is-compact .detail-header-actions #detail-refresh{order:0;margin-left:0}
.detail-summary-sticky.is-compact .detail-number-line{gap:7px;min-height:20px}
.detail-summary-sticky.is-compact #detail-dueDate>span{display:block;margin:0;color:#b9c5b0;font-size:9px;letter-spacing:.55px;text-transform:uppercase;white-space:nowrap}
.detail-summary-sticky.is-compact #detail-dueDate>span::after{content:':'}
.detail-summary-sticky.is-compact #detail-dueDate strong{font-variant-numeric:tabular-nums}
@media(max-width:900px){.detail-summary-sticky.is-compact .detail-header-actions .proof-status-link{font-size:0;padding:7px 8px}.detail-summary-sticky.is-compact .detail-header-actions .proof-status-link:first-letter{font-size:12px}.detail-summary-sticky.is-compact .detail-header-actions .job-status-block{padding:5px 6px}.detail-summary-sticky.is-compact .detail-header-actions #detail-planning-link{font-size:10px;padding:7px 8px}}
@media(max-width:600px){.detail-summary-sticky.is-compact .detail-header-actions{gap:4px}.detail-summary-sticky.is-compact .detail-header-actions .proof-status-link{display:none}.detail-summary-sticky.is-compact .detail-header-actions .job-status-block .detail-status{font-size:9px}.detail-summary-sticky.is-compact #detail-dueDate>span{font-size:8px}.detail-summary-sticky.is-compact #detail-dueDate strong{font-size:10px}}

/* Compact header action hierarchy: controls first, then clearly separated job and proof states. */
.detail-summary-sticky.is-compact .detail-header-actions{display:grid;grid-template-columns:max-content max-content;grid-template-areas:'planning refresh' 'status status';justify-content:end;justify-items:end;align-items:start;column-gap:7px;row-gap:6px}
.detail-summary-sticky.is-compact .detail-header-actions #detail-planning-link{grid-area:planning}
.detail-summary-sticky.is-compact .detail-header-actions #detail-refresh{grid-area:refresh}
.detail-summary-sticky.is-compact .detail-header-actions .job-status-stack{grid-area:status;display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.detail-summary-sticky.is-compact .detail-header-actions .job-status-block,.detail-summary-sticky.is-compact .detail-header-actions .proof-status-link{display:inline-flex;align-self:flex-end}
@media(max-width:600px){.detail-summary-sticky.is-compact .detail-header-actions{row-gap:4px}.detail-summary-sticky.is-compact .detail-header-actions .proof-status-link{display:none}}

/* Expanded job identity: quote below the title, description alongside it. */
.detail-title-layout{display:flex;align-items:flex-start;gap:32px;margin-top:10px}
.detail-title-copy{flex:1;min-width:0}
.detail-summary-sticky .detail-title-copy h1{margin-top:0}
.detail-summary-sticky .detail-quote{margin:8px 0 0;color:#e2f7cc;font-size:12px;overflow-wrap:anywhere}
.detail-description{flex:1;min-width:0;padding:12px 16px;border:1px solid #ffffff30;border-radius:8px;background:#ffffff0b}
.detail-description>span{display:block;color:#b9c5b0;font-size:10px;letter-spacing:.6px;text-transform:uppercase}
.detail-summary-sticky .detail-description p{margin:6px 0 0;color:#f7f7f8;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.detail-summary-sticky.is-compact .detail-quote,.detail-summary-sticky.is-compact .detail-description{display:none}
.detail-summary-sticky.is-compact .detail-title-layout{display:block;margin-top:7px}
@media(max-width:760px){.detail-title-layout{flex-direction:column;gap:14px}.detail-description{align-self:stretch}.detail-title-copy{width:100%}}

/* Keep proof and job status on one right-aligned row. */
.detail-summary-sticky .job-status-stack,.detail-summary-sticky.is-compact .detail-header-actions .job-status-stack{flex-direction:row;align-items:center;gap:9px}
.detail-summary-sticky .job-status-stack .proof-status-link{order:-1;font-size:12px;white-space:nowrap}
.detail-summary-sticky.is-compact .detail-header-actions .proof-status-link{font-size:10px}
.detail-description:not(.is-expanded) #detail-description-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
#detail-description-toggle{display:block;background:none;border:0;padding:0;margin:0;color:#e2f7cc;font:inherit;font-size:12px;line-height:1.6;text-align:left;text-decoration:underline;cursor:pointer}
#detail-description-toggle[hidden]{display:none}
@media(max-width:600px){.detail-summary-sticky .job-status-stack{gap:6px}.detail-summary-sticky .job-status-stack .proof-status-link{font-size:10px;padding:6px 8px}}

/* Proof shares the job-status field styling; only its value is a link. */
.job-status-stack .proof-status-block{order:-1}
.job-status-block #detail-proof-status{font-weight:800;text-decoration:underline;text-underline-offset:3px}
.job-status-block #detail-proof-status:hover{color:white}

/* Previous-screen navigation stays in the persistent app header. */
.app-back{flex:0 0 auto;border:1px solid #dce5d5;background:white;color:var(--deep);border-radius:6px;padding:8px 12px;font-size:12px;font-weight:700;white-space:nowrap}
.app-back:disabled{opacity:.45;cursor:default}
.app-back[hidden]{display:none}
@media(max-width:600px){.app-back{padding:7px 8px;font-size:11px}}

/* Attach loading progress to the actual header edge at every window size. */
.page-progress{top:calc(var(--active-timing-height,0px) + var(--site-header-height,68px))}

/* Background printIQ updates */
.planning-task-panel{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;gap:8px;max-width:420px}
.planning-task{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:8px;background:#fff;border:1px solid #dfe5d9;border-left:4px solid #28a03c;box-shadow:0 6px 18px #24252b1f;font-size:12px;line-height:1.55;color:var(--deep,#24252b)}
.planning-task[data-state=attention]{border-left-color:#b74532;background:#fff6f2;color:#8a3c2d}
.planning-task[data-state=done]{border-left-color:#94c01e}
.planning-task>span:not(.planning-task-spinner){flex:1}
.planning-task-spinner{flex:none;width:12px;height:12px;margin-top:2px;border-radius:50%;border:2px solid #cfe3b4;border-top-color:#28a03c;animation:planning-task-spin .8s linear infinite}
.planning-task-close{flex:none;border:0;background:transparent;color:inherit;font-size:16px;line-height:1;padding:0 2px;cursor:pointer}
@keyframes planning-task-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.planning-task-spinner{animation:none}}
/* Grouped stock picking */
.grouped-pick{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.grouped-pick h5{margin:6px 0 0;font-size:12px}
.grouped-pick-location{display:flex;flex-direction:column;gap:4px;font-size:12px}
.grouped-pick-runs{display:flex;flex-direction:column;gap:6px}
.grouped-pick-run{display:grid;grid-template-columns:60px 1fr 110px auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e3eadc;border-radius:6px;font-size:12px}
.grouped-pick-run input{margin:0;padding:6px 8px}
.grouped-pick-hint{margin:0}
.stock-pick-row .return-quantity{width:90px;margin:0 6px 0 auto;padding:6px 8px}
@media(max-width:700px){.grouped-pick-run{grid-template-columns:1fr auto}.grouped-pick-run span{grid-column:1/-1}}
/* Shared planning board controls (department board + job planner) */
.board-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 18px;margin:14px 0 12px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:10px;background:var(--paper)}
.board-control-group{display:flex;flex-direction:column;gap:7px;min-width:0}
.board-control-group:first-child{grid-column:1/-1}
.board-control-head{display:flex;flex-direction:column;gap:2px}.board-control-head strong{font-family:"Nunito Sans Black","Nunito Sans",Arial,sans-serif;font-weight:900;font-size:12px;color:var(--deep);text-transform:uppercase;letter-spacing:.05em}.board-control-head small{font-size:11px;color:#5b5c63;line-height:1.35}
.board-control-body{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.board-control-body button{width:auto;margin:0;padding:8px 12px;font-size:12px}
.board-day-pick{display:inline-flex;align-items:center;gap:6px;margin:0 0 0 4px;font-size:12px;color:#5b5c63;padding:2px 8px;border-radius:6px;border:1px solid transparent}.board-day-pick.is-active{border-color:var(--green);background:#fff;color:var(--deep);font-weight:700}.board-day-pick input{margin:0;padding:6px 8px;width:auto}
.board-summary{grid-column:1/-1;margin:2px 0 0;padding-top:9px;border-top:1px solid var(--line);font-size:12px;font-weight:600;color:var(--deep)}
.planner-board-title{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:22px}.planner-board-title h2{margin:0}
.capacity-days{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 8px}.capacity-days-label{font-size:12px;color:#5b5c63;margin-right:4px}
/* Current time */
.now-line{position:absolute;top:0;bottom:0;width:0;border-left:2px solid var(--ink);z-index:4;pointer-events:none}.now-line:before{content:"";position:absolute;top:-1px;left:-6px;border:5px solid transparent;border-top:7px solid var(--lime)}
.now-line-label{position:absolute;top:2px;left:4px;background:var(--lime);color:var(--ink);font-size:10px;font-weight:700;line-height:1;padding:3px 5px;border-radius:4px;white-space:nowrap}
/* Side by side: following days to the right */
.side-timeline{min-width:0!important;width:max-content}
.side-timeline .capacity-time-row{grid-template-columns:200px max-content}
.side-day-track{display:flex;gap:0}
.side-day{flex:0 0 var(--side-day-width,880px);width:var(--side-day-width,880px);border-left:2px solid #c9d6be;min-width:0}
.side-timeline[data-zoom=true]{--side-day-width:1500px}
.job-capacity-timeline.side-timeline .side-day{--side-day-width:720px}
.side-day-header{position:sticky;top:0;z-index:5}.side-day-header .side-day,.side-day-label{background:#f0f5e9;font-size:12px;font-weight:700;color:var(--deep);padding:8px 12px;border-bottom:1px solid #dfe5d9}
.side-day.is-today>.side-day-label,.side-day-header .side-day.is-today{box-shadow:inset 0 3px 0 var(--lime)}
.job-capacity-timeline.side-timeline .planner-day-track.side-day{display:flex;gap:8px}
/* Planning data range (collapsible) */
details.planning-window>summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;list-style-position:outside}details.planning-window>summary small{flex-basis:100%;margin-top:3px}details.planning-window[open]>summary{margin-bottom:12px}
/* Job planner dark header — mirrors the Job Details header (.detail-summary-sticky) */
.plan-hero-sticky{position:sticky;top:calc(var(--active-timing-height) + 102px);z-index:20;margin:0 0 14px;overflow-anchor:none}
.plan-hero-sticky .detail-hero{padding:17px 24px 0;border-radius:12px;box-shadow:0 5px 22px #24252b12}
.plan-hero-sticky .detail-hero-copy{max-width:none;padding:0 0 16px}
.plan-hero-sticky .detail-topbar{display:flex;gap:10px;margin:0 0 14px;align-items:center}
.plan-hero-sticky .detail-topbar .muted{margin:0 auto 0 0;color:#b9c5b0;font-size:10px}
.plan-hero-sticky .detail-header-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.plan-hero-sticky .detail-topbar .secondary{background:#ffffff0b;border:1px solid #ffffff36;color:#e6eddf;border-radius:6px;padding:8px 12px;font-size:11px;font-weight:700;white-space:nowrap;width:auto;margin:0;text-decoration:none;display:inline-flex;align-items:center}
.plan-hero-sticky .detail-topbar .secondary:hover{background:#ffffff1d;border-color:#94c01e88}
.plan-hero-sticky .detail-topbar .primary{width:auto;margin:0;padding:8px 12px;font-size:11px}
.plan-hero-sticky .detail-topbar .plan-autoplan{border-color:var(--lime);color:#fff}
.plan-hero-sticky .detail-topbar button:disabled{opacity:.45;cursor:not-allowed}
.plan-hero-number{font-size:14px;color:var(--lime);letter-spacing:1px;white-space:nowrap}
.plan-hero-due{display:none}
.plan-hero-sticky .detail-number-line .job-status-stack{flex-direction:row;align-items:center;gap:8px;margin-left:auto}
.plan-hero-sticky .detail-number-line .job-status-block{margin-left:0}
.plan-hero-sticky .detail-hero h1{margin:0 0 7px;font-size:29px;line-height:1.2;font-weight:800;overflow-wrap:anywhere}
.plan-hero-sticky .detail-hero p{font-size:12px}
.plan-hero-subtitle{margin:0}
.plan-hero-sticky .detail-quote{margin:8px 0 0;color:#e2f7cc;font-size:12px;overflow-wrap:anywhere}
.plan-hero-sticky .detail-description p{margin:6px 0 0;color:#f7f7f8;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.plan-hero-sticky .detail-stat{padding:12px 18px 14px 0}.plan-hero-sticky .detail-stat+.detail-stat{padding-left:18px}.plan-hero-sticky .detail-stat>span{font-size:9px;margin-bottom:5px}.plan-hero-sticky .detail-stat strong{font-size:16px}
/* Compact on scroll: one line, actions kept */
.plan-hero-sticky.is-compact .detail-hero{padding:10px 18px}
.plan-hero-sticky.is-compact .detail-topbar{margin:0 0 6px}
.plan-hero-sticky.is-compact .detail-topbar .muted,.plan-hero-sticky.is-compact .detail-metrics,.plan-hero-sticky.is-compact .detail-description,.plan-hero-sticky.is-compact .detail-quote,.plan-hero-sticky.is-compact .plan-hero-subtitle{display:none}
.plan-hero-sticky.is-compact .detail-header-actions{margin-left:auto}
.plan-hero-sticky.is-compact .detail-hero-copy{display:flex;align-items:center;gap:14px;padding:0}
.plan-hero-sticky.is-compact .detail-title-layout{order:0;margin:0;min-width:0}
.plan-hero-sticky.is-compact .detail-number-line{order:1;flex:1;min-height:0}
.plan-hero-sticky.is-compact .detail-hero h1{font-size:18px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-hero-sticky.is-compact .plan-hero-due{display:inline;color:#e2f7cc;font-size:12px;white-space:nowrap}
.plan-hero-sticky.is-compact .job-status-block{padding:4px 8px}.plan-hero-sticky.is-compact .job-status-block>span{font-size:9px}.plan-hero-sticky.is-compact .job-status-block .detail-status{font-size:13px}
.plan-page .proposal-actions{top:calc(var(--active-timing-height) + 102px + var(--plan-hero-height,0px))}
@media(max-width:760px){.plan-hero-sticky{top:calc(var(--active-timing-height) + 82px)}.plan-hero-sticky .detail-hero{padding:13px 15px 0}.plan-hero-sticky .detail-topbar{flex-wrap:wrap}.plan-hero-sticky .detail-topbar .muted{display:none}.plan-hero-sticky .detail-number-line .job-status-stack{margin-left:0;flex-wrap:wrap}.plan-hero-sticky.is-compact .detail-hero-copy{flex-wrap:wrap}.plan-hero-sticky.is-compact .job-status-stack{display:none}.side-day{--side-day-width:640px}.board-controls{grid-template-columns:1fr}}
/* Grouped T-card popup: grouped timing at the top */
.planner-group-timing{margin:4px 0 18px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;background:var(--paper)}
.planner-group-timing h3{margin:0 0 4px;font-family:"Nunito Sans Black","Nunito Sans",Arial,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:13px;color:var(--deep)}
.planner-group-timing .planner-popup-controls{margin:10px 0 4px}
.planner-group-recorded{margin:8px 0 0;font-size:14px;font-weight:800;color:var(--ink)}

/* Keep the strip between the app bar and a sticky header blank while scrolling */
.plan-hero-sticky::before,.detail-summary-sticky::before{content:"";position:fixed;left:0;right:0;top:0;height:calc(var(--active-timing-height) + 102px);background:var(--paper);pointer-events:none;z-index:-1}
@media(max-width:760px){.plan-hero-sticky::before{height:calc(var(--active-timing-height) + 82px)}}
@media(max-width:600px){.detail-summary-sticky::before{height:calc(var(--active-timing-height) + 82px)}}
/* Time scale across the top of the planning boards; current time shown once */
.now-line:not(.has-label) .now-line-label,.now-line:not(.has-label):before{display:none}
.time-ruler-row{position:sticky;top:0;z-index:6}
.time-ruler-row .capacity-lane-name{display:flex;align-items:flex-end;padding-top:8px;padding-bottom:8px;font-weight:700;color:var(--deep)}
.time-ruler-cell{position:relative;height:34px;background:#f0f5e9;border-bottom:1px solid #dfe5d9}
.hour-ticks{position:absolute;inset:0;pointer-events:none}
.hour-tick{position:absolute;bottom:5px;transform:translateX(-50%);font-size:10px;font-weight:700;color:#5b5c63;white-space:nowrap}
.hour-tick:after{content:"";position:absolute;left:50%;bottom:-5px;height:4px;border-left:1px solid #b9c0b3}
.hour-tick.is-first{transform:none}.hour-tick.is-first:after{left:0}
.hour-tick.is-last{transform:translateX(-100%)}.hour-tick.is-last:after{left:100%}
.capacity-time-lane .hour-tick{top:3px;bottom:auto;font-size:9px;font-weight:600;color:#7d7e85}.capacity-time-lane .hour-tick:after{display:none}
.side-day-header .side-day{padding:0}.side-day-name{display:block;padding:8px 12px}
.side-day-header .time-ruler-cell{border-top:1px solid #dfe5d9}
.time-ruler-cell .now-line,.capacity-time-ticks .now-line{z-index:2}
.capacity-time-ticks .now-line .now-line-label{top:2px;left:4px;transform:none}

/* Enlarged timeline on the job planner (same as the department board) */
.job-capacity-timeline.side-timeline[data-zoom=true] .side-day{--side-day-width:1500px}
/* Shared T-card (tcard.js): number + status on one line, time first, then due,
   job time check, material, and the operation / title last. */
.capacity-queue-cards{grid-template-columns:repeat(auto-fill,minmax(236px,1fr))}
.compact-route .route-tcard.tcard{flex:0 0 250px}
.tcard{display:flex!important;flex-direction:column;gap:8px;padding:12px}
.tcard-top{display:flex;align-items:center;gap:8px;min-width:0}
.tcard .tcard-job{font-family:"Nunito Sans Black","Nunito Sans",Arial,sans-serif;font-weight:900;font-size:15px;letter-spacing:.02em;color:var(--deep);white-space:nowrap;text-decoration:none}
.tcard .tcard-job:hover{text-decoration:underline}
.tcard .tcard-status{margin-left:auto;white-space:nowrap;letter-spacing:.3px!important;padding:2px 7px;min-height:18px}
.tcard-time{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:6px;row-gap:5px}
.tcard .tcard-minutes{font-family:"Nunito Sans Black","Nunito Sans",Arial,sans-serif;font-weight:900;font-size:24px;line-height:1;color:var(--ink)}
.tcard-time>small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#5b5c63}
.tcard-hours{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:3px;align-items:center}
.tcard-hour{width:14px;height:10px;border-radius:2px;border:1px solid #b9c0b3;background:linear-gradient(90deg,var(--green) var(--fill),#fff var(--fill))}
.tcard-hour-more{font-size:10px;font-weight:800;color:var(--deep);margin-left:2px}
.tcard-due{display:flex;align-items:baseline;gap:6px}.tcard-due small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#5b5c63}
.tcard .tcard-due strong{display:inline;font-size:14px;color:var(--ink)}
.tcard-due.is-overdue strong{color:#9a4a12}.tcard-due-flag{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:#b8561a;border-radius:3px;padding:1px 5px}
.tcard-check{border-radius:6px;padding:7px 8px;border:1px solid var(--line);background:#fff}
.tcard-check-head{display:flex;align-items:center;gap:6px}.tcard-check-flag{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.tcard-check-scope{margin-left:auto;font-size:9px;color:#7d7e85}
.tcard-check-figures{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:5px}
.tcard-check-figures small{display:block;font-size:9px!important;color:#7d7e85!important;line-height:1.3!important}.tcard .tcard-check-figures strong{font-size:12px;color:var(--ink)}
.tcard-check[data-tone=ok] .tcard-check-flag{color:var(--deep)}
.tcard-check[data-tone=info] .tcard-check-flag{color:#5b5c63}
.tcard-check[data-tone=warn]{border-color:#e4b75e;background:#fff7e6}.tcard-check[data-tone=warn] .tcard-check-flag{color:#8a5511}
.tcard-check[data-tone=danger]{border-color:#d9895a;background:#fdeee5}.tcard-check[data-tone=danger] .tcard-check-flag{color:#9a3d0c}
.tcard-check.is-flag{display:flex;align-items:center;gap:6px;padding:5px 8px}
.capacity-tcard[data-concern=tight]{box-shadow:0 0 0 2px #e4b75e,0 2px 5px #24252b08}
.capacity-tcard[data-concern=short],.capacity-tcard[data-concern=overdue]{box-shadow:0 0 0 2px #d9895a,0 2px 5px #24252b08}
.tcard-material{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px;padding:7px 9px;border-radius:6px;background:#f7f7f8;border:1px solid var(--line);border-left:3px solid var(--lime)}
.tcard-material.is-print{background:var(--ink);border-color:var(--ink);border-left-color:var(--lime)}
.tcard .tcard-stock{flex-basis:100%;font-size:12px;color:var(--ink)}.tcard-material.is-print .tcard-stock{color:#fff}
.tcard-stock-detail{font-size:10px;color:#5b5c63}.tcard-material.is-print .tcard-stock-detail{color:#d8dbd4}
.tcard-stock-status{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:1px 5px;background:#e5e7e2;color:#4a4b52}
.tcard-stock-status[data-state=in]{background:var(--lime);color:var(--ink)}
.tcard-stock-status[data-state=partial]{background:#f3c46a;color:#4a3205}
.tcard-stock-status[data-state=out]{background:#d9895a;color:#fff}
.tcard-meta{display:flex;flex-direction:column;gap:1px;font-size:10px;color:#6c6d74;line-height:1.45}.tcard-operation{font-weight:700;color:#4a4b52}
.tcard .route-dates{margin:0}
.tcard .capacity-tcard-actions{margin-top:2px;flex-wrap:wrap;gap:6px}
.tcard .capacity-tcard-actions .tcard-autoplan{background:#fff;border:1px solid var(--green)}
.tcard .route-tcard button,.route-tcard.tcard .capacity-tcard-actions button{width:auto}
/* Production time panel on the job planner */
.production-time{margin:6px 0 16px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;background:var(--paper)}
.production-time h3{margin:0 0 2px;font-family:"Nunito Sans Black","Nunito Sans",Arial,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:13px;color:var(--deep)}
.production-time .tcard-check{max-width:520px;margin:8px 0}
.production-time .tcard-check-figures strong{font-size:16px}
.production-time-machines{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px}
.production-time-row{display:flex;flex-direction:column;padding:6px 9px;border-radius:5px;background:#fff;border:1px solid var(--line);font-size:11px}
.production-time-row[data-tone=warn]{border-color:#e4b75e;background:#fff7e6}.production-time-row[data-tone=danger]{border-color:#d9895a;background:#fdeee5}
.production-time-row strong{font-size:12px;color:var(--ink)}
/* T-card: operation name as a heading; physical stock line; click to open */
.tcard .tcard-op-name{margin:-2px 0 0;font-family:"Nunito Sans Black","Nunito Sans",Arial,sans-serif;font-weight:900;font-size:16px;line-height:1.2;color:var(--ink);overflow-wrap:anywhere}
.tcard-stock-level{flex-basis:100%;display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}
.tcard-stock-onhand{font-size:10px;font-weight:700;color:#4a4b52}.tcard-material.is-print .tcard-stock-onhand{color:#fff}
.tcard-stock-onhand.is-loading{font-weight:600;font-style:italic;opacity:.75}
.tcard.is-openable{cursor:pointer}.tcard.is-openable[draggable=true]{cursor:grab}
.tcard.is-openable:hover{border-color:var(--green)}
.tcard.is-openable:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
/* Date range calendar (board controls) */
.board-range{position:relative}
.board-range>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;padding:8px 12px;font-size:12px;font-weight:700;border-radius:6px;border:1px solid #ced8c6}
.board-range>summary::-webkit-details-marker{display:none}
.board-range>summary.secondary{background:#fff;color:var(--deep)}.board-range>summary.primary{background:var(--deep);color:#fff;border-color:var(--deep)}
.range-calendar{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:min(620px,calc(100vw - 48px));padding:14px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:10px;box-shadow:0 12px 30px #24252b26}
.range-calendar-nav{display:flex;justify-content:space-between;margin-bottom:8px}.range-calendar-nav button,.range-calendar-actions button{width:auto;margin:0;padding:6px 10px;font-size:12px}
.range-calendar-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.range-month-title{display:block;margin-bottom:6px;font-family:"Nunito Sans Black","Nunito Sans",Arial,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:12px;color:var(--deep)}
.range-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.range-weekday{font-size:10px;font-weight:700;color:#7d7e85;text-align:center;padding:2px 0}
.range-day{width:100%;margin:0;padding:6px 0;font-size:12px;font-weight:600;border:0;border-radius:4px;background:transparent;color:var(--ink);cursor:pointer}
.range-day:hover{background:#eef5e7}.range-day.is-weekend{color:#8a8b91}
.range-day.is-today{box-shadow:inset 0 0 0 2px var(--lime)}
.range-day.in-range{background:#e5f2df;color:var(--deep)}
.range-day.is-start,.range-day.is-end{background:var(--deep);color:#fff}
.range-calendar-actions{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.range-calendar-status{margin:0 auto 0 0;font-size:12px;font-weight:600;color:var(--deep)}.range-calendar-status[data-tone=error]{color:#9a3d0c}
@media(max-width:760px){.range-calendar{position:static;width:auto;margin-top:6px}}
.board-controls:has(.board-range[open]){position:relative;z-index:30}
.range-calendar{left:auto;right:0}@media(max-width:760px){.range-calendar{right:auto}}
.timing-checks{margin-top:28px;padding:16px 18px;border:1px solid var(--line);border-left:4px solid #e4b75e;border-radius:8px;background:var(--paper)}
.timing-checks h2{margin:0 0 4px}.timing-check-list td{font-size:12px;vertical-align:top}
/* Settings (header › your name) */
.user-submenu-label{display:block;padding:8px 14px 2px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a8a92}
.settings-tabs a{display:inline-flex;align-items:center;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;border:1px solid var(--line)}
.settings-tabs a.primary{background:var(--green);border-color:var(--green);color:#fff}.settings-tabs a.secondary{background:#fff;color:var(--ink)}
.timing-caution-time{display:flex;gap:14px}.timing-caution-time label{margin:0}.timing-caution-time input{width:110px}
.timing-caution-dialog .timing-caution-time{margin:16px 0 6px}.timing-caution-dialog .timing-caution-time label{display:block;font-size:13px}.timing-caution-dialog .timing-caution-time input{display:block;margin-top:6px}
nav.settings-tabs{display:flex;flex-direction:row;align-items:center}.settings-tabs>a{display:inline-flex!important;width:auto!important;margin:0!important;flex:0 0 auto}
.timing-caution-dialog p{font-size:14px;line-height:1.55;max-width:420px}
/* Job route (department board › planned job) */
.planned-route-strip{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:12px 0;padding:12px 16px;background:#f1f6ec;border:1px solid #dbe7d4;border-left:4px solid var(--lime);border-radius:9px;font-size:13px}
.planned-route-chips{display:flex;flex-wrap:wrap;gap:6px}.planned-route-chip{width:auto;margin:0;padding:5px 11px;border-radius:999px;border:1px solid var(--green);background:#fff;color:var(--deep);font-size:12px;font-weight:700;cursor:pointer}.planned-route-chip:hover{background:var(--green);color:#fff}
[data-just-planned=true]{box-shadow:0 0 0 2px var(--lime)}
.save-dialog.job-route-dialog{width:min(1100px,96vw);max-width:none;max-height:92vh;overflow:auto}.job-route-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.job-route-head h2{margin:4px 0}.job-route-head button{width:auto}
.job-route-tabs{display:flex;gap:8px;margin:14px 0 10px}.job-route-tabs button{width:auto;margin:0;font-size:12px}
.job-route-summary{font-size:13px;margin:6px 0 14px}.job-route-flag{display:inline-block;padding:2px 9px;border-radius:999px;background:#e5f4e4;color:var(--deep);font-weight:700;font-size:12px}.job-route-flag[data-late=true]{background:#fff1eb;color:#8a3c2d}
.job-route-chart{position:relative;border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px 0;margin-bottom:16px}
.job-route-scale,.job-route-row{display:grid;grid-template-columns:210px 1fr;align-items:center}.job-route-scale{height:24px;border-bottom:1px solid var(--line)}.job-route-row{min-height:40px;border-bottom:1px solid #f0f0f2}.job-route-row:last-of-type{border-bottom:0}
.job-route-label{padding:0 12px;font-size:12px;line-height:1.3;overflow:hidden}.job-route-label strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-route-label small{color:#6b6b73}
.job-route-track,.job-route-lane{position:relative;height:100%;min-height:24px;margin-right:12px}.job-route-day{position:absolute;top:4px;font-size:10px;font-weight:700;color:#55555c;white-space:nowrap;padding-left:4px}
.job-route-bar{position:absolute;top:9px;height:22px;border-radius:5px;background:var(--green);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.job-route-bar[data-print=true]{background:var(--deep)}.job-route-bar[data-done=true]{background:#b9c2b4}
.job-route-none{font-size:11px;color:#8a8a92;font-style:italic;line-height:40px}
.job-route-overlay{position:absolute;top:0;bottom:0;left:210px;right:12px;pointer-events:none}.job-route-midnight{position:absolute;top:0;bottom:0;border-left:1px dashed #cfd3cb}.job-route-due{position:absolute;top:0;bottom:0;border-left:2px solid #b74532}.job-route-now{position:absolute;top:0;bottom:0;border-left:2px solid var(--lime)}
.job-route-table td{font-size:12px}.job-route-table tr[data-status="Not planned"] td{color:#8a3c2d}.job-route-table tr[data-status=Completed] td{color:#8a8a92}
@media (max-width:700px){.job-route-scale,.job-route-row{grid-template-columns:120px 1fr}.job-route-overlay{left:120px}}
.job-route-scale{height:38px}.job-route-day{top:3px}.job-route-hour{position:absolute;bottom:3px;transform:translateX(-50%);font-size:10px;color:#8a8a92;font-variant-numeric:tabular-nums}
.navigation-error[data-tone=info]{background:#edf4e5;border-color:var(--green);color:var(--deep)}
/* Production board */
.production-filters{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:18px 0 8px}.production-modes{margin:0;align-items:center}
.production-machine{width:auto;min-width:220px;margin:0;font-size:12px;padding:8px 10px;border-radius:6px}.production-machine.selected{border-color:var(--green);box-shadow:0 0 0 2px #28a03c33;font-weight:700}
.production-search{width:min(380px,100%);margin:0}.production-summary{margin:6px 0 12px}
.production-table td small{display:block;color:#6b6b73;font-size:11px}.production-table .production-stock{color:var(--deep)}.production-awaiting{color:#8a6b1f;font-style:italic}
.production-table tr[data-planned=false] td:first-child{box-shadow:inset 3px 0 0 #e4b75e}.production-table tr[data-planned=true] td:first-child{box-shadow:inset 3px 0 0 var(--green)}
/* Settings › Machines */
.machine-users-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.machine-users-grid .planner-settings-form{max-width:none}
.machine-users-checks{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:6px 10px;margin-top:8px}.machine-users-checks label{margin:0;padding:6px 0;border-bottom:1px solid #f0f0f2;font-size:13px}.machine-users-checks label:last-child{border-bottom:0}.machine-users-checks small{display:block;margin-left:24px}
.machine-users-tools{display:flex;gap:12px;align-items:center;margin-top:8px}.machine-users-assign select{width:100%;margin-top:8px}
.machine-users-table{max-width:none;margin-top:18px}.machine-users-table-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.machine-users-table-head label{margin:0}
.machine-users-dept{margin:16px 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#6b6b73}.machine-users-row{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0f2}
.machine-users-chips{display:flex;flex-wrap:wrap;gap:6px}.machine-user-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border-radius:999px;background:#e5f4e4;color:var(--deep);font-size:12px;font-weight:700}
.machine-user-remove{width:20px;height:20px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--deep);font-size:14px;line-height:1;cursor:pointer}.machine-user-remove:hover{background:#cfe8cc}
@media (max-width:800px){.machine-users-grid{grid-template-columns:1fr}.machine-users-row{grid-template-columns:1fr}}
.machine-users-checks label,.machine-users-table-head label{display:grid;grid-template-columns:20px 1fr;align-items:center;column-gap:8px}.machine-users-checks input,.machine-users-table-head input{width:auto!important;margin:0!important;display:inline-block!important}.machine-users-checks small{grid-column:2;margin-left:0}
.machine-users-list input[type=search]{width:100%}
/* Production overview (landing page) */
.dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2px;padding:10px}
.dashboard-tile{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:8px;color:#fff;text-decoration:none}a.dashboard-tile:hover{background:#ffffff12}
.dashboard-tile strong{font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums}.dashboard-tile span{font-size:12px;color:#c9cbd1}.dashboard-tile small{font-size:11px;color:#9a9ca4}
.dashboard-tile[data-tone=warn] strong{color:#e4b75e}.dashboard-tile[data-tone=alert] strong{color:#ff8a70}
.dashboard-load{color:inherit;text-decoration:none}.dashboard-load:hover span{color:var(--deep);text-decoration:underline}
.overview-fill[data-tone=warn]{background:linear-gradient(90deg,#b8862b,#e4b75e)}.overview-fill[data-tone=alert]{background:linear-gradient(90deg,#9c3a28,#d0583d)}
.overview-bar strong{text-align:right;font-variant-numeric:tabular-nums}.dashboard-capacity .overview-bar{grid-template-columns:minmax(110px,1fr) minmax(60px,1.4fr) 40px}
.dashboard-risk-table td{font-size:12px;vertical-align:top}.dashboard-risk-table td small{display:block;color:#6b6b73;font-size:11px}.dashboard-flag{display:inline-block;padding:2px 8px;border-radius:999px;font-weight:700;font-size:11px;background:#f9eeda;color:#7a5410}
.dashboard-risk-table tr[data-status=overdue] .dashboard-flag,.dashboard-risk-table tr[data-status=short] .dashboard-flag{background:#fff1eb;color:#8a3c2d}.dashboard-ok{color:var(--deep);font-weight:700}
.dashboard-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 8px}.dashboard-fact{display:flex;flex-direction:column;gap:2px;padding:14px;border:1px solid var(--line);border-radius:8px;color:inherit;text-decoration:none}.dashboard-fact strong{font-size:24px}.dashboard-fact span{font-size:12px;color:#6b6b73}a.dashboard-fact:hover{border-color:var(--green)}
.dashboard-subhead{margin-top:22px}
@media (min-width:1000px){.overview-charts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
/* Purchase orders on a stock item */
.po-list{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.po-list-title{margin:0 0 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#6b6b73}
.po-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0}.po-name{display:flex;align-items:center;gap:8px}.po-status{padding:2px 8px;border-radius:999px;background:#eef3e8;color:var(--deep);font-size:11px;font-weight:700}
.po-row[data-status="1"] .po-status{background:#f9eeda;color:#7a5410}.po-row[data-status="4"] .po-status,.po-row[data-status="5"] .po-status{background:#e5f4e4}
.po-actions{display:flex;gap:6px}.po-actions button{width:auto;margin:0;font-size:12px;padding:6px 12px}
.po-form label{display:block;margin:0 0 14px;font-size:13px}.po-form input,.po-form textarea{display:block;width:100%;margin-top:6px}.po-action-dialog{width:min(520px,94vw)}
/* Stock picks: collapsed summaries */
details.stock-item-group{background:#fff;border:1px solid #e0e5dc;border-radius:10px;margin:10px 0;overflow:hidden}
.stock-summary-line{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(300px,1.6fr) minmax(160px,1fr);gap:16px;align-items:center;padding:14px 18px;cursor:pointer;list-style:none}
.stock-summary-line::-webkit-details-marker{display:none}.stock-summary-line::before{content:'▸';position:absolute;margin-left:-12px;color:#8a8a92}details[open]>.stock-summary-line::before{content:'▾'}
.stock-summary-line:hover{background:#f7faf4}details[open]>.stock-summary-line{border-bottom:1px solid #e0e5dc;background:#f7faf4}
.stock-summary-name strong{display:block;font-size:14px}.stock-summary-name small{display:block;color:#6b6b73;font-size:11px;margin-top:2px}
.stock-summary-figures{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stock-summary-figures small{display:block;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:#8a8a92}.stock-summary-figures strong{font-variant-numeric:tabular-nums;font-size:15px}
.stock-summary-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.stock-chip{padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;background:#eef3e8;color:var(--deep);white-space:nowrap}
.stock-chip[data-tone=todo]{background:#f9eeda;color:#7a5410}.stock-chip[data-tone=part]{background:#fdf3d6;color:#7a5410}.stock-chip[data-tone=done]{background:#e5f4e4;color:var(--deep)}.stock-chip[data-tone=short]{background:#fff1eb;color:#8a3c2d}.stock-chip[data-tone=po]{background:#e7f1fb;color:#1f4f7a}.stock-chip[data-tone=none]{background:#f0f0f2;color:#6b6b73}
.stock-item-body{padding:6px 18px 16px}.stock-expand-tools{display:flex;gap:14px;justify-content:flex-end;margin:6px 0}
.stock-summary-line{position:relative;padding-left:30px}.stock-summary-line::before{left:14px;margin-left:0;top:50%;transform:translateY(-50%)}
@media (max-width:900px){.stock-summary-line{grid-template-columns:1fr}.stock-summary-chips{justify-content:flex-start}}
.po-sent{display:block;width:100%;font-size:11px;color:#1f4f7a;margin-top:2px}.po-name{flex-wrap:wrap}.stock-summary-name .stock-summary-sent{color:#1f4f7a}
/* Stock card: key figures, then one section at a time */
.stock-card{padding:4px 0 0;border:0;box-shadow:none;background:transparent}
.stock-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:6px 0 14px}.stock-figure{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fafbf8}
.stock-figure span{display:block;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:#8a8a92}.stock-figure strong{font-size:17px;font-variant-numeric:tabular-nums}
.stock-figure[data-tone=todo] strong{color:#7a5410}.stock-figure[data-tone=done] strong{color:var(--deep)}.stock-figure[data-tone=short]{border-color:#e9b3a6;background:#fff6f2}.stock-figure[data-tone=short] strong{color:#8a3c2d}.stock-figure[data-tone=po]{border-color:#b8d3ec;background:#f2f7fc}.stock-figure[data-tone=po] strong{color:#1f4f7a}.stock-figure[data-tone=part]{border-color:#ecd59a;background:#fdf8ea}
.stock-sections{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px}.stock-sections button{width:auto;margin:0;font-size:12px;padding:7px 14px}
.stock-pane{padding:2px 0}.stock-pane .purchase-item-button{width:auto}
.stock-outlook-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.stock-outlook-step{padding:12px;border-radius:8px;background:#f5f6f3}.stock-outlook-step span{display:block;font-size:11px;color:#6b6b73}.stock-outlook-step strong{display:block;font-size:20px;font-variant-numeric:tabular-nums}.stock-outlook-step small{display:block;font-size:11px;color:#6b6b73}
.stock-outlook-step[data-tone=po]{background:#f2f7fc}.stock-outlook-step[data-tone=done]{background:#e5f4e4}.stock-outlook-step[data-tone=done] strong{color:var(--deep)}.stock-outlook-step[data-tone=short]{background:#fff1eb}.stock-outlook-step[data-tone=short] strong{color:#8a3c2d}
.stock-outlook-table td{font-size:12px}.stock-outlook-table td small{display:block;color:#6b6b73;font-size:11px}.stock-outlook-table tr[data-current=true] td{background:#f7faf4;font-weight:700}.stock-outlook-todo{color:#7a5410;font-weight:700}
@media (max-width:800px){.stock-outlook-sum{grid-template-columns:1fr 1fr}}
.po-form select{display:block;width:100%;margin-top:6px}.po-form small[data-tone=new]{color:#1f4f7a;font-weight:700}
.stock-pane .stock-pick-history{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}
.stock-outlook-jobs{margin:8px 0 16px}.stock-outlook-jobs>summary{cursor:pointer;color:var(--deep);font-weight:700;font-size:13px}.stock-pane .stock-outlook{margin-bottom:14px}
.purchase-need{grid-column:1/-1;margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fafbf8}.purchase-need>summary{cursor:pointer;font-weight:700;color:var(--deep)}.purchase-need .stock-outlook-sum{margin-top:10px}
.purchase-need-choices{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}.purchase-need-choices button{width:auto;margin:0;font-size:12px}.purchase-order-line{font-weight:700;color:var(--deep)}
.stock-pane .purchase-item-button{float:none!important;position:static!important;display:inline-block;margin:0 0 10px!important}.stock-pane .po-list{clear:both}
.stock-figure-warn{display:block;font-size:11px;font-weight:700;color:#8a3c2d;margin-top:2px}
.stock-outlook-toggle{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.stock-outlook-toggle label{display:grid;grid-template-columns:20px 1fr;column-gap:8px;align-items:center;font-weight:700;font-size:13px}.stock-outlook-toggle label input{width:auto;margin:0}.stock-outlook-toggle label small{grid-column:2;font-weight:400}.stock-outlook-toggle .stock-outlook{margin-top:12px}
/* Board status: operation in progress (timing running) / planned in the past and not complete */
.capacity-tcard[data-board-status=running]{background:#eaf3fb;border-color:#9cc3e6;border-left-color:#1f6fb8}.capacity-tcard[data-board-status=running]:before{background:#1f6fb8}.capacity-tcard[data-board-status=running] .tcard-status{color:#124f87;border-color:#9cc3e6;background:#dcebf8}
.capacity-tcard[data-board-status=overdue]{background:#fdeeee;border-color:#eba8a8;border-left-color:#c62828}.capacity-tcard[data-board-status=overdue]:before{background:#c62828}.capacity-tcard[data-board-status=overdue] .tcard-status{color:#9b1c1c;border-color:#eba8a8;background:#fbe0e0}
.capacity-time-card[data-board-status=running]{background:#1f6fb8!important;border-color:#124f87!important;box-shadow:inset 4px 0 #8fd0ff,0 2px 5px #1f6fb840!important;animation:board-running 2.4s ease-in-out infinite}
.capacity-time-card[data-board-status=overdue]{background:#c62828!important;border-color:#8e1b1b!important;box-shadow:inset 4px 0 #ffb3b3,0 2px 5px #c6282840!important}
@keyframes board-running{50%{filter:brightness(1.15)}}
@media (prefers-reduced-motion:reduce){.capacity-time-card[data-board-status=running]{animation:none}}
/* Collapsible operation sub-headings (operation-sections.js) */
section[data-collapsible=true]>h3[data-section-toggle=true]{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;border-radius:5px;margin-bottom:0;padding:6px 4px}
section[data-collapsible=true]>h3[data-section-toggle=true]:hover{background:#f1f6ec}
section[data-collapsible=true]>h3[data-section-toggle=true]:focus-visible{outline:2px solid #28a03c;outline-offset:2px}
section[data-collapsible=true]>h3[data-section-toggle=true]::after{content:'';margin-left:auto;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s;opacity:.65;flex:none}
section[data-collapsible=true][data-collapsed=true]>h3[data-section-toggle=true]::after{transform:rotate(-45deg)}
section[data-collapsible=true][data-collapsed=false]>h3[data-section-toggle=true]{margin-bottom:8px}
section[data-collapsible=true][data-collapsed=true]>:not(h3:first-child){display:none!important}
.planner-drag-handle{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;margin-top:6px;padding:4px 9px;border:1px dashed #d48618;border-radius:999px;background:#fff8e8;color:#8a5511;font-size:11px;font-weight:800;cursor:grab;user-select:none}.planner-drag-handle:active{cursor:grabbing}.planner-drag-handle[draggable=false]{opacity:.5;cursor:not-allowed}
/* Completed operations: purple with a tick, on T-cards and timeline bookings */
.capacity-tcard[data-plan-state=complete]{background:#f3effb;border-color:#cdbfe9;border-left-color:#6b4fa0;opacity:1}.capacity-tcard[data-plan-state=complete]:before{background:#6b4fa0}.capacity-tcard[data-plan-state=complete] .tcard-status{color:#4f3880;border-color:#cdbfe9;background:#ebe4f8}
.capacity-time-card[data-board-status=complete]{background:#6b4fa0!important;border-color:#4f3880!important;color:#fff!important;box-shadow:inset 4px 0 #cbb8f0,0 2px 5px #6b4fa040!important}
/* Sortable headings + Columns menu (board-columns.js) */
.sort-heading{all:unset;display:inline-flex;align-items:center;gap:5px;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap}.sort-heading:hover{color:#166223}.sort-heading:focus-visible{outline:2px solid #28a03c;outline-offset:2px;border-radius:3px}.sort-arrow{font-size:9px;opacity:.55}th[aria-sort=ascending] .sort-arrow,th[aria-sort=descending] .sort-arrow{opacity:1;color:#166223}
.column-picker{position:relative}.column-picker-panel{display:grid;gap:4px;min-width:230px;max-height:420px;overflow:auto}.column-picker-panel .planner-check{margin:0}.job-columns{display:inline-flex}.job-description{max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Production board */
.production-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.production-modes{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.production-machine-picker.selected>summary{border-color:#166223;box-shadow:0 0 0 1px #166223}.production-machine-panel{min-width:320px;max-width:min(560px,92vw);display:grid;gap:10px}
.production-machine-checks{display:grid;gap:8px;max-height:320px;overflow:auto;padding-right:4px}.production-machine-dept{border:1px solid #e3e7df;border-radius:6px;padding:6px 10px 8px;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px 10px}.production-machine-dept legend{padding:0 4px}.production-machine-dept legend .text-button{font-weight:800;font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#166223}
.production-machine-actions{display:flex;justify-content:space-between;align-items:center}.production-save-filter{display:flex;gap:8px;border-top:1px solid #e3e7df;padding-top:10px}.production-save-filter input{flex:1;min-width:0}
.production-saved{display:grid;gap:6px}.production-saved h3{margin:0;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#5f6b5c}.production-saved-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.production-saved-row>button:first-child{flex:1;text-align:left}
.production-status{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#f2f8ed;color:#166223;border:1px solid #bcdab5;white-space:nowrap}.production-status[data-status=unplanned]{background:#fff8e8;color:#8a5511;border-color:#efd08a}.production-status[data-status=running]{background:#dcebf8;color:#124f87;border-color:#9cc3e6}.production-status[data-status=overdue]{background:#fbe0e0;color:#9b1c1c;border-color:#eba8a8}
.production-table tr[data-board-status=running]>td:first-child{box-shadow:inset 4px 0 #1f6fb8}.production-table tr[data-board-status=overdue]>td:first-child{box-shadow:inset 4px 0 #c62828}
.production-timing{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.production-timing button{padding:5px 10px;font-size:12px;min-height:0}.production-timing-chip{font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px}.production-timing-chip.running{background:#1f6fb8;color:#fff}.production-timing-chip.done{background:#ebe4f8;color:#4f3880}.production-timing-note{font-size:11px;color:#5f6b5c}.production-timing-message{margin:4px 0 0;font-size:11px;max-width:320px}.production-timing-message[data-tone=error]{color:#9b1c1c}.production-timing-message[data-tone=success]{color:#166223}
.production-details{padding:5px 10px;font-size:12px;min-height:0;white-space:nowrap}.production-row-open>td{background:#f1f6ec}.production-detail-row>td{padding:0!important;background:#f7f9f5}.production-inline{padding:14px 16px}.planner-operation-inline{background:#fff;border:1px solid #dfe7d7;border-radius:8px;padding:16px 18px;max-width:1100px}
/* Settings › Machines: machine ticks for the selected users */
.machine-users-machines{display:grid;gap:8px;max-height:460px;overflow:auto;margin:8px 0 12px}.machine-users-dept-group{border:1px solid #e3e7df;border-radius:6px;padding:6px 10px 8px;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:2px 10px}.machine-users-dept-group legend{font-weight:800;font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#166223;padding:0 4px}.machine-users-dept-group label.changed{color:#8a5511;font-weight:800}
.machine-users-dept-group .planner-check,.production-machine-dept .planner-check{display:flex;align-items:center;gap:8px;margin:0;padding:4px 0}.machine-users-dept-group .planner-check input,.production-machine-dept .planner-check input{margin:0;flex:none}
.production-timing-cell{min-width:230px}.production-timing button{white-space:nowrap}
.job-time-chip{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap;background:#e5f2df;color:#166223;border:1px solid #a7d29b}.job-time-chip[data-tone=short]{background:#fbe0e0;color:#9b1c1c;border-color:#eba8a8}.job-time-chip[data-tone=tight]{background:#fff5dc;color:#8a5511;border-color:#e8bd68}td .job-time-chip+small{display:block;margin-top:3px}
/* One heading style for every operation sub-section, wherever the operation is
   shown (Job Details, planner popups, Production row details). */
:is(.operation-inspector,.planner-operation-dialog) section[data-collapsible=true]{border:0!important;border-top:1px solid #e3e7df!important;border-radius:0!important;background:none!important;box-shadow:none!important;margin:0!important;padding:4px 0!important}
:is(.operation-inspector,.planner-operation-dialog) section[data-collapsible=true]>h3[data-section-toggle=true]{font-size:17px!important;font-weight:800!important;line-height:1.3!important;letter-spacing:0!important;text-transform:none!important;color:#24252b!important;margin:0!important;padding:12px 4px!important;font-family:inherit!important}
:is(.operation-inspector,.planner-operation-dialog) section[data-collapsible=true][data-collapsed=false]>h3[data-section-toggle=true]{margin-bottom:6px!important}
:is(.operation-inspector,.planner-operation-dialog) section[data-collapsible=true][data-collapsed=false]{padding-bottom:12px!important}
/* Make room (make-room.js) */
.production-time-action{all:unset;box-sizing:border-box;display:grid;gap:2px;cursor:pointer;padding:9px 12px;border:1px solid #e3e7df;border-radius:6px;background:#fff}.production-time-row.production-time-action[data-tone=danger]{background:#fdeee8;border-color:#e8a07a}.production-time-row.production-time-action[data-tone=warn]{background:#fff8e8;border-color:#efd08a}.production-time-action:hover{box-shadow:0 2px 8px #24252b1f}.production-time-action:focus-visible{outline:2px solid #28a03c;outline-offset:2px}.production-time-cta{font-weight:800;color:#9b1c1c;font-size:11px;margin-top:2px}.production-time-row[data-tone=warn] .production-time-cta{color:#8a5511}
.make-room{margin:14px 0 18px;padding:18px 20px;border:2px solid #e8a07a;border-radius:10px;background:#fffaf7;display:grid;gap:12px}.make-room-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.make-room-head h2{margin:2px 0 0;font-size:20px}
.make-room-facts{display:flex;flex-wrap:wrap;gap:10px}.make-room-facts>div{display:grid;gap:2px;padding:8px 12px;border:1px solid #eadfd6;border-radius:7px;background:#fff;min-width:150px}.make-room-facts>div[data-tone=danger]{border-color:#e8a07a;background:#fdeee8}.make-room-facts small{font-size:11px;color:#5f6b5c}.make-room-facts strong{font-size:18px;font-variant-numeric:tabular-nums}
.make-room-table tr[data-can-move=false]{opacity:.7}.make-room-table td small{display:block}.make-room-why[data-tone=ok]{color:#166223;font-weight:700}.make-room-why[data-tone=danger]{color:#9b1c1c}
.make-room-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.make-room-total{margin:0;font-weight:800}.make-room-total[data-tone=ok]{color:#166223}.make-room-total[data-tone=danger]{color:#9b1c1c}
.make-room-result tr[data-tone=danger] td{background:#fdeee8}.make-room-again{margin-left:8px;padding:4px 10px;font-size:12px;min-height:0}.make-room-steps p{margin:4px 0;font-size:12px}
/* Job planner header: always compact; click the background to expand */
.plan-hero-sticky .plan-hero{cursor:pointer;position:relative}
.plan-hero-sticky .plan-hero-toggle{all:unset;position:absolute;left:50%;bottom:2px;transform:translateX(-50%);width:44px;height:16px;display:flex;align-items:center;justify-content:center;opacity:.6;cursor:pointer;border-radius:4px}.plan-hero-sticky .plan-hero-toggle:focus-visible{outline:2px solid var(--lime);opacity:1}.plan-hero-toggle::before{content:'';width:7px;height:7px;border-right:2px solid #e2f7cc;border-bottom:2px solid #e2f7cc;transform:rotate(45deg) translateY(-2px);transition:transform .15s}.plan-hero-sticky.is-expanded .plan-hero-toggle::before{transform:rotate(-135deg) translateY(-2px)}.plan-hero:hover .plan-hero-toggle{opacity:1}
.plan-hero-sticky.is-compact .plan-hero{padding-bottom:16px}
/* Overlap warning (overlap-choice.js) */
.overlap-list{list-style:none;margin:6px 0 12px;padding:0;display:grid;gap:6px}.overlap-list li{display:grid;gap:2px;padding:8px 10px;border:1px solid #eadfd6;border-left:4px solid #d48618;border-radius:5px;background:#fff}.overlap-list li[data-can-move=false]{border-left-color:#c62828}.overlap-list small{color:#5f6b5c}
.overlap-option{display:grid;gap:3px;margin:8px 0}.overlap-option button{justify-self:start}.overlap-option small{color:#5f6b5c;font-size:11px;max-width:520px}
/* Split card dialog */
.split-dialog{max-width:640px}
.split-dialog .split-total,.split-dialog .split-part{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}
.split-dialog input[type=number]{width:64px}
.split-dialog .split-quick{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.split-dialog .split-part-label{min-width:56px;font-weight:600}
.split-dialog .split-sum[data-tone=danger]{color:var(--danger,#b42318)}
.split-dialog .split-sum[data-tone=ok]{color:var(--success,#067647)}
.split-dialog .split-sections{list-style:none;padding:0;display:grid;gap:6px}
.split-dialog .split-sections label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.split-dialog .split-sections li[data-part=move]{opacity:.75;border-left:3px solid var(--accent,#2563eb);padding-left:6px}
.capacity-time-card[data-movable=true]{cursor:grab}
.timing-not-timed{font-size:11px;color:#6c7667;background:#f2f3f1;border-radius:20px;padding:6px 11px;line-height:1.4}
.job-route-members{display:block;font-size:10px;color:#7a8173;margin-top:3px;font-weight:400}
.capacity-back-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:17px}.capacity-back-row .summary-back{margin:0}
.toast-stack{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:10000;display:flex;flex-direction:column;gap:10px;align-items:center;width:min(560px,calc(100vw - 32px));pointer-events:none}
.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;width:100%;background:#1e5c27;color:#fff;border-radius:10px;padding:13px 14px;box-shadow:0 12px 34px #0003;animation:toast-in .18s ease-out}
.toast[data-tone=error]{background:#8a2a1c}.toast[data-tone=warning]{background:#8c6a24}.toast[data-tone=info]{background:#26272c}
.toast p{margin:0;font-size:13px;line-height:1.5;flex:1;overflow-wrap:anywhere}
.toast-icon{flex:none;width:22px;height:22px;border-radius:50%;background:#ffffff26;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.toast-close{flex:none;background:transparent;border:0;color:#fff;opacity:.75;font-size:18px;line-height:1;padding:0 2px;cursor:pointer}.toast-close:hover{opacity:1}
.toast[data-leaving=true]{opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}
@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* All Jobs filter bar: the planner's .board-controls grid (board-controls.js) must not apply here — it squeezed the bar into columns so the search overlapped "Save view". */
section.board-controls[aria-label="Job filters"]{display:block;grid-template-columns:none;padding:0;margin:0 0 16px;border:1px solid #dfe4db;border-left:4px solid var(--green);border-radius:10px;background:#fff}
section.board-controls[aria-label="Job filters"] .viewbar{flex-wrap:wrap}
section.board-controls[aria-label="Job filters"] .save-view-button{flex:0 0 auto}
/* Bottom-right dock: "Waiting for printIQ" and background planning tasks */
.iq-dock{position:fixed;right:18px;bottom:18px;z-index:9000;display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:min(420px,calc(100vw - 36px));pointer-events:none}
.iq-dock>*{pointer-events:auto}
.iq-dock .planning-task-panel{position:static;max-width:none}
.iq-waiting{display:flex;align-items:center;gap:10px;background:#26272c;color:#f1f5ec;border-radius:999px;padding:9px 15px 9px 11px;font-size:12px;box-shadow:0 8px 24px #0003;animation:toast-in .18s ease-out;max-width:100%}
.iq-waiting[data-write=true]{background:#1e5c27}
.iq-waiting-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iq-waiting-spinner{flex:none;width:14px;height:14px;border-radius:50%;border:2px solid #ffffff40;border-top-color:#b9e27a;animation:iq-spin .8s linear infinite}
@keyframes iq-spin{to{transform:rotate(360deg)}}
/* Multi-select filters */
.ms{position:relative;display:inline-flex}
.ms-button{display:flex;align-items:center;gap:8px;min-height:38px;padding:6px 12px;border:1px solid #d7dfd1;border-radius:8px;background:#fff;color:var(--ink);font-size:12px;cursor:pointer;text-align:left}
.ms-button:hover{border-color:#a9bd9a;background:#f7faf3}
.ms[data-active=true] .ms-button{border-color:var(--green);background:#eef6e6}
.ms-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6e7a66}
.ms-value{font-weight:700;color:var(--deep);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-chevron{width:8px;height:8px;border-right:2px solid #7a8a70;border-bottom:2px solid #7a8a70;transform:rotate(45deg) translateY(-2px);margin-left:2px}
.ms[data-open=true] .ms-chevron{transform:rotate(225deg) translateY(-1px)}
.ms-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:80;width:300px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #d7dfd1;border-radius:10px;box-shadow:0 14px 40px #0002;padding:12px;display:flex;flex-direction:column;gap:10px}
.ms-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.ms-head strong{font-size:13px}
.ms-tools{display:flex;gap:4px;flex-wrap:wrap}.ms-tool{border:1px solid #dfe6d9;background:#f6f8f3;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;color:var(--deep);cursor:pointer}
.ms-search{border:1px solid #dfe6d9;border-radius:6px;padding:8px 10px;font-size:12px}
.ms-list{max-height:280px;overflow:auto;display:flex;flex-direction:column}
.ms-option{display:flex;align-items:center;gap:9px;padding:7px 6px;border-radius:6px;font-size:12px;cursor:pointer}.ms-option:hover{background:#f3f7ee}
.ms-option input{accent-color:var(--green);width:15px;height:15px;margin:0}
.ms-option-label{flex:1;overflow-wrap:anywhere}.ms-count{font-size:10px;color:#6e7a66;background:#f0f3ec;border-radius:10px;padding:2px 7px}
.ms-empty{font-size:12px;color:#7a8173;margin:6px 0}
.ms-foot{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #edf0e9;padding-top:10px}.ms-foot button{padding:7px 14px;font-size:12px}
/* Department planner redesign (Oct 2026): board first, compact controls */
#capacity-workspace{max-width:none}
.capacity-header.is-compact{padding:16px 24px;border-radius:12px;margin-bottom:12px}
.capacity-header.is-compact h1{font-size:24px;margin:6px 0 2px}
.capacity-header.is-compact p{font-size:12px;margin:0}
.capacity-header.is-compact .capacity-back-row{margin-bottom:8px}
.capacity-header.is-compact::after,.capacity-header.is-compact:before{display:none}
.board-controls.is-compact{display:block;padding:10px 12px;margin:0 0 10px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:10px;background:#fff}
.board-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.board-views{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.board-views button,.board-views summary,.board-more>summary{padding:7px 11px;font-size:12px;border-radius:7px;min-height:34px;display:inline-flex;align-items:center}
.board-more{position:relative}.board-more>summary{cursor:pointer;list-style:none}.board-more>summary::-webkit-details-marker{display:none}
.board-more>summary:before{content:"⚙";margin-right:6px}
.board-more-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:70;background:#fff;border:1px solid #d7dfd1;border-radius:10px;box-shadow:0 14px 40px #0002;padding:14px;display:grid;gap:14px;width:min(420px,calc(100vw - 32px))}
.board-extra{display:flex;align-items:center;gap:6px}
.board-controls.is-compact .board-summary{margin:8px 0 0;font-size:11px;color:#6c7667;border:0;padding:0}
.board-controls.is-compact .board-control-head small{display:block;font-size:11px;color:#7a8173;margin-top:2px}
.capacity-operation-filters{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 10px}
.capacity-filter-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.capacity-filter-head strong{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--deep)}
.capacity-filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.capacity-hide-others{font-size:12px;margin-left:4px}
.capacity-filter-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.capacity-filter-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1}
.capacity-filter-foot .primary{padding:8px 14px;font-size:12px}
.capacity-drawer{background:#fff;border:1px solid var(--line);border-radius:10px;margin:0 0 10px;overflow:hidden}
.capacity-drawer-summary{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;background:#f3f7ee}
.capacity-drawer-summary::-webkit-details-marker{display:none}
.capacity-drawer-summary:before{content:"";width:8px;height:8px;border-right:2px solid var(--deep);border-bottom:2px solid var(--deep);transform:rotate(-45deg);transition:transform .15s}
.capacity-drawer[open]>.capacity-drawer-summary:before{transform:rotate(45deg)}
.capacity-drawer-title{font-weight:700;font-size:14px;color:var(--deep)}.capacity-drawer-count{font-size:12px;color:#5d6a55;background:#fff;border-radius:999px;padding:3px 10px;border:1px solid #dbe5d2}
.capacity-drawer-hint{margin-left:auto;font-size:11px;color:#7a8173}.capacity-drawer[open] .capacity-drawer-hint{display:none}
.capacity-drawer .capacity-backlog{margin:0;border:0;padding:10px 14px 14px;max-height:46vh;overflow:auto}
.capacity-pending-card{background:repeating-linear-gradient(45deg,#e7f2dc,#e7f2dc 8px,#d8eac6 8px,#d8eac6 16px)!important;color:var(--deep)!important;border:1px dashed var(--green)!important;font-weight:700;pointer-events:none}
.capacity-time-card[data-sending=true]{opacity:.35}
.capacity-timeline-scroll{max-height:none}
body.planner-mode main{max-width:none!important;padding:14px 18px 28px}
.capacity-header.is-compact{display:flex;align-items:center;gap:14px}
.capacity-header.is-compact>div:first-child{flex:1;min-width:0}
.job-planning-nav.is-in-header{width:auto;margin:0;gap:6px}
.job-planning-nav.is-in-header button{padding:8px 14px;font-size:12px;min-height:34px}
.job-planning-nav.is-in-header .secondary{background:#ffffff14;color:#e6eddf;border-color:#ffffff40}
body.planner-mode .capacity-machine-divider{min-height:34px;padding:6px 14px;border-top-width:4px;border-bottom-width:2px}
body.planner-mode .capacity-machine-divider .machine-link{font-size:15px}
.board-range>summary{min-height:34px}
.ms-panel label.ms-option{margin:0;border:0;min-height:0;padding:7px 6px;background:none;box-shadow:none;font-weight:400;text-transform:none;letter-spacing:0;color:var(--ink)}
.ms-panel .ms-option input{width:15px!important;min-width:15px;height:15px;padding:0;margin:0;flex:none}
.ms-panel .ms-tool,.ms-panel .ms-foot button{min-height:0}
/* Awaiting-planning drawer: smaller cards so more fit */
.capacity-drawer .capacity-queue-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.capacity-drawer .tcard{padding:9px 10px;gap:5px}
.capacity-drawer .tcard .tcard-minutes{font-size:18px}
.capacity-drawer .tcard .tcard-op-name{font-size:13px}
.capacity-drawer .tcard .tcard-job{font-size:13px}
.capacity-drawer .tcard-drag-hint{display:none}
.capacity-drawer .capacity-queue-group h4{margin:10px 0 6px;font-size:12px}
.capacity-drawer .capacity-backlog-header{margin-bottom:4px}
.segmented{display:inline-flex;gap:0;border:1px solid #d7dfd1;border-radius:8px;overflow:hidden}
.segmented button{border:0;border-radius:0;padding:7px 11px;font-size:12px;min-height:34px}
.segmented button+button{border-left:1px solid #d7dfd1}
.plan-route-drawer{background:#fff;border:1px solid var(--line);border-radius:10px;margin:0 0 12px;overflow:hidden}
.plan-route-drawer>.capacity-drawer-summary:before{content:"";width:8px;height:8px;border-right:2px solid var(--deep);border-bottom:2px solid var(--deep);transform:rotate(-45deg);transition:transform .15s}
.plan-route-drawer[open]>.capacity-drawer-summary:before{transform:rotate(45deg)}
.plan-route-drawer[open] .capacity-drawer-hint{display:none}
.plan-route-body{padding:12px 14px}
.plan-route-body .job-route-title{display:none}
.capacity-drawer-alert{font-size:11px;font-weight:700;color:#8a2a1c;background:#fbebeb;border-radius:999px;padding:3px 10px}
.board-views .board-range{margin:0;align-self:center}
.plan-page .planner-board-title{margin:4px 0 8px}
.board-views>button,.board-views>details{flex:0 0 auto;width:auto;margin:0}
.segmented button{margin:0;align-self:stretch}
.plan-route-body .production-time{padding:10px 14px;margin:0 0 10px}
.plan-route-body .production-time>p.capacity-note{display:none}
.plan-page .planning-window{margin:0 0 10px}
.board-filter-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 18px;margin:12px 0}
.board-filter-option{display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px}
.board-filter-option small{grid-column:2;font-size:10px;margin:0}
.capacity-filter-settings{margin-left:auto;font-size:11px}
.board-filter-settings .board-filter-option{margin:0;padding:4px 0}
.production-previous small{display:block;font-size:10px;color:#7a8173}.production-previous[data-late=true]>span{color:#a2452f;font-weight:700}
/* Board column layout: drag headings to reorder, drag the right edge to resize, ↕ Fit for best fit */
.col-layout th.col-head{position:relative;cursor:grab;user-select:none}.col-layout th.col-head-last{padding-right:64px}
.col-resize{position:absolute;top:0;right:-4px;width:9px;height:100%;cursor:col-resize;z-index:2;touch-action:none}.col-resize::after{content:"";position:absolute;top:25%;bottom:25%;left:4px;border-left:1px solid #c9d3c4}.col-layout th:hover .col-resize::after,.col-resize:hover::after{border-left:2px solid #28a03c}
.col-fit{all:unset;position:absolute;top:50%;right:8px;transform:translateY(-50%);z-index:3;font-size:10px;font-weight:800;letter-spacing:.4px;color:#166223;background:#fff;border:1px solid #cfdccb;border-radius:999px;padding:3px 8px;cursor:pointer;white-space:nowrap;text-transform:none}.col-fit:hover{background:#e8f4e5}.col-fit:focus-visible{outline:2px solid #28a03c;outline-offset:2px}
.col-layout th.col-dragging{opacity:.45}.col-layout th[data-drop=before]{box-shadow:inset 3px 0 0 #28a03c}.col-layout th[data-drop=after]{box-shadow:inset -3px 0 0 #28a03c}
.col-ghost{position:fixed;z-index:1000;pointer-events:none;background:#123c1c;color:#fff;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:6px 10px;border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
body.col-moving,body.col-moving *{cursor:grabbing!important;user-select:none}body.col-resizing,body.col-resizing *{cursor:col-resize!important;user-select:none}
table.col-layout[data-sized]{table-layout:fixed;min-width:0}
table.col-layout[data-sized] th .sort-heading{white-space:normal}
table.col-layout[data-sized][data-rows=fit] td,table.col-layout[data-sized][data-rows=fit] td:first-child,table.col-layout[data-sized][data-rows=fit] .job-description{max-width:none;white-space:normal;overflow-wrap:break-word;word-break:normal;overflow:visible;text-overflow:clip}
table.col-layout[data-rows=single] td,table.col-layout[data-rows=single] td:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.col-layout[data-rows=single] td *{white-space:nowrap}
table.col-layout[data-sized] th{overflow:visible;overflow-wrap:break-word}
table.col-layout.col-measure{table-layout:auto!important;width:auto!important;min-width:0!important}table.col-layout.col-measure th,table.col-layout.col-measure td,table.col-layout.col-measure .sort-heading,table.col-layout.col-measure .job-description{white-space:nowrap!important;max-width:none!important}
.column-picker-rows{border-top:1px solid #e3e8df;margin-top:8px;padding-top:8px;display:grid;gap:4px}.column-picker-rows strong{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--deep)}
.production-detail-row td{white-space:normal!important;overflow:visible!important}
/* Proof viewer: View all pages thumbnails and the "Proof Not Approved" watermark */
.proof-page-art{position:relative;display:inline-block;line-height:0;vertical-align:top}
.proof-watermark{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;user-select:none}
.proof-watermark text{font:800 16px/1 system-ui,-apple-system,sans-serif;letter-spacing:1.5px;fill:rgba(198,40,40,.17);stroke:rgba(255,255,255,.35);stroke-width:.4px}
.proof-unapproved-note{margin:0;padding:9px 15px;background:#fdf1f0;border-bottom:1px solid #f1d1cd;color:#8a2a22;font-size:12px;font-weight:700;text-align:center}
.proof-reader-controls .proof-all-pages[aria-pressed=true]{background:#123c1c;color:#fff;border-color:#123c1c}
.proof-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;padding:18px 20px 28px;max-height:72vh;overflow:auto;background:#f3f5f1}
.proof-thumb{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 8px;border-radius:8px;cursor:pointer;border:2px solid transparent;background:#fff;box-shadow:0 1px 4px #24252b14}
.proof-thumb:hover{border-color:#b8d7b3}.proof-thumb:focus-visible{outline:2px solid #28a03c;outline-offset:2px}.proof-thumb[aria-current=page]{border-color:#28a03c}
.proof-thumb-picture{min-height:200px;display:flex;align-items:center;justify-content:center}
.proof-thumb-picture canvas,.proof-thumb-picture img{display:block;background:#fff;box-shadow:0 2px 8px #24252b22;max-width:150px;max-height:200px}
.proof-thumb-loading{color:#9aa293;font-size:18px}
.proof-thumb-label{font-size:11px;font-weight:800;color:var(--deep);letter-spacing:.3px}
/* Production Planning › Jobs: filters, count, proof chip */
.job-planning-tools .planning-job-count{font-size:12px;font-weight:800;color:var(--deep)}
.planning-job-filters{margin:-8px 0 16px}
.planning-filters-clear{font-size:12px}
.planning-proof-chip{display:inline-block;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;background:#f1f2ee;color:#5d6457;border:1px solid #e1e5dc;white-space:nowrap}
.planning-proof-chip[data-approved=true]{background:#e8f4e5;color:#166223;border-color:#bfdcb8}
.planning-jobs-table td small{display:block;margin-top:3px;color:#6b6b73;font-size:11px}
/* Production Planning › Jobs: Columns and Saved filter at the top right */
.planning-jobs-actions{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.planning-jobs-actions .filter-picker{position:relative}
.planning-jobs-actions .picker-panel{left:auto;right:0}
.planning-saved-filter .picker-value{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.planning-saved-panel{min-width:300px;display:grid;gap:6px}
.planning-saved-row{display:flex;align-items:center;gap:6px}
.planning-saved-use{all:unset;box-sizing:border-box;flex:1;padding:8px 10px;border-radius:6px;font-size:13px;font-weight:700;color:var(--deep);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.planning-saved-use:hover,.planning-saved-use:focus-visible{background:#eef6e6}.planning-saved-use[aria-current=true]{background:#e2f0da}.planning-saved-use[aria-current=true]::after{content:"  ✓";color:#28a03c}
.planning-saved-delete{all:unset;cursor:pointer;width:26px;height:26px;display:grid;place-items:center;border-radius:6px;color:#8a8f86;font-size:16px}.planning-saved-delete:hover{background:#fdecea;color:#c62828}
.planning-saved-form{display:flex;gap:6px;border-top:1px solid #e3e8df;padding-top:8px;margin-top:2px}.planning-saved-form input{flex:1;margin:0;min-width:0;font-size:13px;padding:8px 10px}.planning-saved-form button{width:auto;margin:0;padding:8px 14px;font-size:12px}
.planning-jobs-wrap{margin-top:4px}
/* A drop printIQ has confirmed: stays where it was dropped until the board refreshes */
.capacity-pending-card[data-state=saved]{background:#e6f4e2!important;border:1px solid #7fbf75!important;color:#185c22!important}
/* Operation popup header: title on its own line, then every action in one tidy wrapping toolbar */
.planner-inspector-header{flex-direction:column;align-items:stretch;gap:12px}
.planner-inspector-actions{max-width:none;margin-left:0;justify-content:flex-start;gap:8px;padding-bottom:12px;border-bottom:1px solid #e6eadf}
.planner-inspector-actions .secondary{padding:9px 12px;font-size:12px}
.planner-inspector-actions .planner-autoplan-rest{border-color:#9fca93;background:#f1f8ec}
.planner-inspector-actions .planner-unplan{color:#8a2a22;border-color:#e7c3be}
/* Quick plan dialogs (Unplan / Autoplan rest of job) */
.quick-plan-dialog{max-width:560px}
.quick-plan-dialog label{display:grid;gap:6px;font-size:12px;font-weight:700;margin:12px 0}
.quick-autoplan-summary{font-weight:800;color:var(--deep)}.quick-autoplan-summary[data-tone=late]{color:#a33}
.quick-autoplan-list{margin:8px 0 4px;padding-left:20px;display:grid;gap:6px;max-height:300px;overflow:auto}.quick-autoplan-list li span{display:block;font-size:12px;color:#5d6457}
.planner-inspector-header{position:relative}.planner-inspector-title{padding-right:90px}
.planner-inspector-actions>button:last-child{position:absolute;top:0;right:0}
/* Dropped card: shown at once where it was dropped while printIQ confirms */
.capacity-pending-card{display:flex!important;flex-direction:column;justify-content:center;gap:2px;padding:4px 8px!important;overflow:hidden;background:#e9f5e1!important;border:1.5px dashed #3a9a3f!important;box-shadow:0 2px 8px #1d5c2522}
.capacity-pending-label{font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#123c1c}
.capacity-pending-badge{font-size:9.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#2b7a31;white-space:nowrap}
.capacity-pending-card[data-state=sending] .capacity-pending-badge::before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;border:1.5px solid #2b7a31;border-top-color:transparent;animation:pending-spin .8s linear infinite;vertical-align:-1px}
@keyframes pending-spin{to{transform:rotate(360deg)}}
/* Planning overview */
.planning-overview-metrics{margin:6px 0 22px}
.planning-overview-metrics .dashboard-tile{font:inherit;text-align:left;cursor:pointer}
button.dashboard-tile{border:1px solid #e0e5dc;background:#fff;border-radius:10px}
.planning-overview-section{margin:0 0 26px}.planning-overview-section h2{margin:0 0 4px;font-size:18px}.planning-overview-section>.muted{margin:0 0 12px;font-size:12px}
.planning-overdue-table td{vertical-align:top}.planning-overdue-table td small{display:block;margin-top:3px;color:#6b6b73;font-size:11px}
.planning-overdue-chip{display:inline-block;margin-top:4px;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800;background:#fdf0dc;color:#8a5a12;border:1px solid #f0d3a2;white-space:nowrap}
.planning-overdue-chip[data-tone=alert]{background:#fdeceb;color:#a3261d;border-color:#f2c4bf}.planning-overdue-chip[data-tone=running]{background:#e7f1fb;color:#1f5f9e;border-color:#bcd6f0}
.planning-affected summary{cursor:pointer;font-weight:700;color:var(--deep)}.planning-affected ol{margin:6px 0 0;padding-left:18px;display:grid;gap:4px;font-size:12px}.planning-affected li span{display:block;color:#6b6b73;font-size:11px}
.planning-overdue-actions{white-space:nowrap}.planning-overdue-actions button,.planning-overdue-actions a{width:auto;margin:0 6px 6px 0;padding:8px 12px;font-size:12px;display:inline-flex;text-decoration:none}
.planning-overview-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}@media(max-width:1000px){.planning-overview-grid{grid-template-columns:1fr}}
.planning-due-list{display:grid;gap:8px}.planning-due-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) auto auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid #e6eadf;border-radius:8px;background:#fff}
.planning-due-row small{display:block;color:#6b6b73;font-size:11px;margin-top:2px}.planning-due-row button{width:auto;margin:0;padding:7px 12px;font-size:12px}
.planning-overview-loading{padding:18px 0}
.planning-overview-metrics .dashboard-tile span{color:#3f4a3a;font-weight:700}.planning-overview-metrics .dashboard-tile small{color:#5f6a58}
/* Cards with a change still being sent to printIQ (job planner bookings, T-cards, department blocks) */
.capacity-time-card[data-sending=true],.tcard[data-sending=true]{position:relative;opacity:.7;outline:1.5px dashed #3a9a3f;outline-offset:-2px}
.capacity-time-card[data-sending=true] .capacity-pending-badge,.tcard .tcard-pending{position:absolute;right:4px;bottom:3px;background:#fff;border-radius:999px;padding:1px 7px;box-shadow:0 1px 3px #0002}
.tcard .tcard-pending{top:8px;bottom:auto;right:8px;font-size:10px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#2b7a31}
.capacity-time-card[data-sending=true] .capacity-pending-badge::before,.tcard .tcard-pending::before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;border:1.5px solid #2b7a31;border-top-color:transparent;animation:pending-spin .8s linear infinite;vertical-align:-1px}
.planner-inspector-actions .planner-unplan-job{color:#8a2a22}
/* Job planner: a moved/dropped card at its new time, before printIQ confirms */
.job-move-preview{display:flex!important;flex-direction:column;justify-content:center;gap:1px;padding:3px 8px!important;overflow:hidden;z-index:3;background:#1d6b2a!important;color:#fff!important;border:2px dashed #b9e3a8!important;box-shadow:0 4px 14px #12401b40;pointer-events:none;height:auto;min-height:30px}
.job-move-preview[data-state=saved]{border-style:solid!important;border-color:#8fd47a!important}
.job-move-label{font-size:11px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.job-move-when{font-size:10px;opacity:.9;white-space:nowrap}
.job-move-badge{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:#fff;color:#1d6b2a;border-radius:999px;padding:1px 8px;font-size:9.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}
.job-move-preview[data-state=sending] .job-move-badge::before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;border:1.5px solid #1d6b2a;border-top-color:transparent;animation:pending-spin .8s linear infinite;vertical-align:-1px}
.capacity-time-card[data-moved-from=true]{opacity:.28;filter:grayscale(.6);outline:1.5px dashed #6b7a66;outline-offset:-2px}
.job-moved-badge{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:#fff;color:#4d5548;border-radius:999px;padding:1px 8px;font-size:9.5px;font-weight:800;text-transform:uppercase}
.job-move-preview{min-height:44px;justify-content:center}
.job-move-line{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
.job-move-preview .job-move-badge{position:static;transform:none;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
/* Overview: select overrunning operations to unplan */
.planning-overdue-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px;padding:10px 14px;border:1px solid #e3e8df;border-radius:8px;background:#fff}
.planning-overdue-selected{font-size:13px;font-weight:700;color:var(--deep);margin-right:auto}
.planning-overdue-bar button{width:auto;margin:0;font-size:12px}.planning-unplan-selected{color:#8a2a22;border-color:#e7c3be;padding:8px 14px}
.planning-select-cell{width:34px;padding-right:0!important}.planning-select-cell input,.planning-first-op input,.planning-affected li.has-check input{width:16px;height:16px;margin:0 8px 0 0;accent-color:#1d6b2a;vertical-align:-3px}
.planning-first-op{display:inline-flex;align-items:center;cursor:pointer}.planning-affected li.has-check{list-style:none;margin-left:-18px}
.planning-overdue-table tr[data-pending=true]{opacity:.65}

.material-runs{margin:4px 0 0;font-size:12px;color:var(--muted,#5f6b63);}
.roll-run-breakdown{display:grid;gap:6px;margin:10px 0 4px;padding:10px 12px;border:1px solid var(--line,#dfe5e0);border-radius:10px;background:var(--surface,#fff);}
.roll-run-row{display:flex;gap:12px;align-items:baseline;font-size:13px;}
.roll-run-row strong{min-width:52px;}
.proposal-time-notes{margin-top:6px;padding:8px 12px;border:1px solid #f0d7a1;border-radius:8px;background:#fff8e8;color:#6b4e12;font-size:12px;}
.proposal-time-notes summary{cursor:pointer;font-weight:600;}
.proposal-time-notes ul{margin:6px 0 0 16px;padding:0;display:grid;gap:4px;}

/* Purchasing (Production › Purchasing) */
.purchasing-workspace{padding:0 0 40px;display:grid;gap:16px;}
.purchasing-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.purchasing-head h1{margin:4px 0;font-size:28px;}
.purchasing-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.purchasing-tile{background:#fff;border:1px solid var(--line,#dfe5e0);border-radius:12px;padding:12px 16px;display:grid;gap:2px;}
.purchasing-tile strong{font-size:26px;}
.purchasing-tile span{font-size:12px;color:var(--muted,#5f6b63);}
.purchasing-tile[data-tone=danger]{border-color:#efb2a8;background:#fff4f2;}
.purchasing-tile[data-tone=warn]{border-color:#f0d7a1;background:#fff8e8;}
.purchasing-filters{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.purchasing-toggle{display:inline-flex !important;align-items:center;gap:6px;margin:0;font-weight:500;white-space:nowrap;}
.purchasing-toggle input{margin:0;width:auto;}
.purchasing-jobs td{white-space:nowrap;}
.purchasing-jobs td:first-child{white-space:normal;}
.purchasing-filters input[type=search]{flex:1;max-width:420px;min-width:240px;padding:8px 12px;border:1px solid var(--line,#dfe5e0);border-radius:8px;}
.purchasing-items{display:grid;gap:10px;}
.purchasing-item{background:#fff;border:1px solid var(--line,#dfe5e0);border-left:4px solid #2a8a3e;border-radius:12px;}
.purchasing-item[data-tone=danger]{border-left-color:#c8442f;}
.purchasing-item[data-tone=warn]{border-left-color:#d79a1e;}
.purchasing-item-summary{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;flex-wrap:wrap;}
.purchasing-item-name{display:grid;gap:2px;min-width:240px;}
.purchasing-item-name small{color:var(--muted,#5f6b63);}
.purchasing-figures{display:flex;gap:18px;flex-wrap:wrap;}
.purchasing-figure{display:grid;gap:1px;min-width:90px;}
.purchasing-figure small{font-size:11px;color:var(--muted,#5f6b63);text-transform:uppercase;letter-spacing:.03em;}
.purchasing-figure[data-tone=danger] strong{color:#b3341f;}
.purchasing-figure[data-tone=ok] strong{color:#1f7a34;}
.purchasing-item-body{padding:0 16px 16px;display:grid;gap:12px;}
.purchasing-orders{display:grid;gap:4px;padding:10px 12px;border-radius:8px;background:#f5f8f5;}
.purchasing-orders h4{margin:0 0 4px;font-size:13px;}
.purchasing-order{display:flex;gap:12px;font-size:13px;}
.purchasing-jobs td small{display:block;color:var(--muted,#5f6b63);font-size:11px;}
.purchasing-sections{color:#1f6b33 !important;}
.purchasing-uncovered{color:#b3341f;font-weight:600;}
.purchasing-alloc{display:flex;flex-wrap:wrap;gap:4px;}
.purchasing-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 4px 2px 8px;border-radius:999px;background:#e7f4ea;font-size:12px;}
.purchasing-chip[data-state=closed]{background:#f2f2f2;color:#666;}
.purchasing-chip[data-state=part],.purchasing-chip[data-state=picked]{background:#fff3d6;}
.purchasing-release{border:0;background:transparent;cursor:pointer;font-size:14px;line-height:1;padding:0 4px;color:inherit;}
.purchasing-dialog label{display:grid;gap:4px;margin-top:10px;}

.purchasing-stock{background:#fff;border:1px solid var(--line,#dfe5e0);border-left:4px solid #2a8a3e;border-radius:12px;}
.purchasing-stock[data-tone=danger]{border-left-color:#c8442f;}
.purchasing-stock-summary{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;flex-wrap:wrap;}
.purchasing-stock-body{display:grid;gap:8px;padding:0 12px 12px 24px;}
.purchasing-stock-body .purchasing-item{border-left-width:3px;background:#fbfcfb;}
.purchasing-stock-filter{padding:8px 10px;border:1px solid var(--line,#dfe5e0);border-radius:8px;max-width:340px;}
.purchasing-select{width:34px;}
.purchasing-select input{width:auto;margin:0;}
.purchasing-jobs tr[data-selected=true] td{background:#eef7f0;}
.purchasing-row-actions{display:flex;gap:6px;justify-content:flex-end;}
.purchasing-chip[data-kind=stock]{background:#e4eefb;}
.purchasing-actions{position:sticky;bottom:12px;z-index:5;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-radius:12px;background:#1f2a22;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18);}
.purchasing-actions .purchasing-actions-sum{opacity:.8;font-size:13px;margin-right:auto;}
.purchasing-actions .text-button{color:#cfe8d5;}
.purchasing-pick-dialog{max-width:860px;width:min(860px,94vw);}
.purchasing-pick-table select,.purchasing-pick-table input{width:100%;min-width:120px;}
.purchasing-pick-progress{display:grid;gap:4px;margin:10px 0 0;padding-left:18px;font-size:13px;}
.purchasing-pick-progress li[data-tone=ok]{color:#1f7a34;}
.purchasing-pick-progress li[data-tone=warn],.purchasing-pick-progress li[data-tone=error]{color:#b3341f;}
.purchasing-actions button{width:auto;flex:0 0 auto;margin:0;}

.purchasing-forecast{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:16px;align-items:center;padding:10px 12px;border:1px solid var(--line,#dfe5e0);border-radius:10px;background:#fff;}
.purchasing-forecast svg{width:100%;max-width:620px;height:auto;max-height:170px;display:block;}
.purchasing-row-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch;}
.purchasing-row-actions button{width:auto;margin:0;}
.purchasing-forecast-facts{display:grid;gap:6px;font-size:13px;}
.purchasing-forecast-facts strong{font-size:15px;}
.purchasing-forecast-facts [data-tone=danger]{color:#b3341f;}
.purchasing-forecast-facts [data-tone=ok]{color:#1f7a34;}
.purchasing-forecast-order{padding:8px 10px;border-radius:8px;background:#eef7f0;}
.purchasing-forecast-order[data-tone=none]{background:#f4f4f4;}
.purchasing-suggestions{display:grid;gap:2px;font-size:12px;}
@media (max-width:900px){.purchasing-forecast{grid-template-columns:1fr;}}

.purchasing-supplier-filter{padding:8px 10px;border:1px solid var(--line,#dfe5e0);border-radius:8px;max-width:300px;}
.purchasing-po-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 14px;border-radius:10px;background:#eef7f0;border:1px solid #cfe5d5;}
.purchasing-po-bar button{width:auto;margin:0;}
.purchasing-po-pick{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#1f6b33;white-space:nowrap;}
.purchasing-po-pick input{width:auto;margin:0;}
.purchasing-preferred{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#e7f4ea;color:#1f6b33;font-size:10px;font-weight:700;vertical-align:middle;}
.purchasing-po-dialog{max-width:1100px;width:min(1100px,96vw);}
.purchasing-po-table select,.purchasing-po-table input{width:100%;min-width:90px;}
.purchasing-po-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:10px 0;}
.purchasing-po-head label{display:grid;gap:4px;margin:0;}
.purchasing-po-review td,.purchasing-po-review th{font-size:13px;}

.purchasing-po-bar{position:relative;}
.purchasing-po-supplier{display:inline-flex !important;align-items:center;gap:10px;margin:0;font-weight:500;}
.purchasing-po-supplier select{min-width:260px;padding:8px 10px;border:1px solid #cfe5d5;border-radius:8px;background:#fff;}
.purchasing-po-hint{color:#3d5a45;font-size:13px;margin-right:auto;}

/* Job Details › Kinds artwork */
@media(max-width:900px){.kinds-layout[data-open=true]{grid-template-columns:1fr;}.kinds-folder{position:static;max-height:none;}.kinds-row{grid-template-columns:72px minmax(0,1fr);}.kinds-thumb{width:72px;height:60px;}.kinds-row-tools{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;min-width:0;}}
@media(max-width:900px){.kinds-layout[data-open=true]{grid-template-columns:1fr;}.kinds-folder{position:static;max-height:none;}.kinds-row{grid-template-columns:72px minmax(0,1fr);}.kinds-thumb{width:72px;height:60px;}.kinds-row-tools{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;min-width:0;}}
@media(max-width:900px){.kinds-layout[data-open=true]{grid-template-columns:1fr;}.kinds-folder{position:static;max-height:none;}.kinds-row{grid-template-columns:72px minmax(0,1fr);}.kinds-thumb{width:72px;height:60px;}.kinds-row-tools{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;min-width:0;}}
.main-nav-menu{display:none;position:absolute;top:calc(100% + 3px);left:0;min-width:250px;padding:8px;background:#fff;border:1px solid #dce5d8;border-radius:10px;box-shadow:0 12px 30px #24252b1f;z-index:95;flex-direction:column}
.main-nav-item[data-open=true] .main-nav-menu{display:flex}
.main-nav-option{display:block;padding:9px 12px;border-radius:6px;color:var(--deep,#166223);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
.main-nav-option:hover{background:#edf4e5}
.main-nav-heading{display:block;padding:10px 12px 4px;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#7b8672;border-top:1px solid #eef2ea;margin-top:4px}
.main-nav-note{display:block;padding:6px 12px 8px;font-size:12px;line-height:1.5;color:#6c7763;max-width:240px;white-space:normal}
.main-nav{align-self:stretch;display:flex;align-items:stretch;gap:6px;margin-left:18px}
body:not(.workspace-mode) .main-nav{display:none}
.main-nav-item{position:relative;display:flex;align-items:center;border-bottom:3px solid transparent;margin-bottom:-1px}
.main-nav-item[data-current=true]{border-bottom-color:var(--green,#28a03c)}
.main-nav-link{color:var(--ink,#24252b);font-size:15px;font-weight:700;text-decoration:none;padding:10px 4px 10px 10px;white-space:nowrap}
.main-nav-item[data-current=true] .main-nav-link{color:var(--deep,#166223)}
.main-nav-toggle{border:0;background:transparent;margin:0;width:auto;padding:10px 8px 10px 4px;color:var(--deep,#166223);font-size:13px;line-height:1;cursor:pointer}
.main-nav-toggle span{display:inline-block;transition:transform .15s;transform:translateY(-3px)}
.main-nav-item[data-open=true] .main-nav-toggle span{transform:translateY(2px) rotate(180deg)}
.main-nav-link:hover,.main-nav-item[data-open=true] .main-nav-link{color:var(--deep,#166223)}
.main-nav-link:focus-visible,.main-nav-toggle:focus-visible,.main-nav-option:focus-visible{outline:3px solid var(--lime,#94c01e);outline-offset:1px}
header .brand{align-self:stretch;display:flex;align-items:center;border-bottom:3px solid transparent;margin-bottom:-1px}
header .brand[data-current=true]{border-bottom-color:var(--green,#28a03c)}
.purchasing-need{text-align:left;font:inherit;color:inherit;cursor:pointer;margin:0;width:auto;}
.purchasing-need:hover{box-shadow:0 0 0 2px #cfe0c4;}
.purchasing-need[aria-pressed=true]{box-shadow:0 0 0 3px var(--green,#28a03c);}
.purchasing-need-label{font-size:12px!important;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--ink,#24252b)!important;}
.purchasing-need strong{font-size:22px;}
.purchasing-need-qty{font-size:12px;color:#4c5a45!important;font-weight:700;}
.purchasing-need[data-tone=ok]{background:#f6faf3;}
.purchasing-need-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border-radius:999px;background:#edf4e5;color:var(--deep,#166223);font-size:12px;font-weight:700;}
.purchasing-pickable{color:#1f6b33;font-weight:700;}
.kinds-workspace{display:grid;gap:14px;padding:8px 0 24px;}
.kinds-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;}
.kinds-head h3{margin:0 0 4px;}
.kinds-head .capacity-note{margin:0;max-width:720px;}
.kinds-head-actions{display:flex;gap:8px;}
.kinds-head-actions button{width:auto;margin:0;font-size:12px;padding:8px 12px;}
.kinds-message{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;font-size:13px;background:#edf5e8;border-left:3px solid var(--green,#28a03c);}
.kinds-message[data-tone=warn]{background:#fff8e8;border-color:#d89521;}
.kinds-message[data-tone=bad]{background:#fff0e9;border-color:#b74532;color:#8a3c2d;}
.kinds-message .text-button{margin-left:auto;font-weight:700;}
.kinds-layout{display:grid;gap:16px;align-items:start;}
.kinds-layout[data-open=true]{grid-template-columns:minmax(0,1fr) minmax(280px,360px);}
.kinds-list{display:grid;gap:8px;}
.kinds-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid #dfe5d9;border-left:4px solid #e2b46a;border-radius:10px;padding:10px 12px;transition:box-shadow .15s,background .15s;}
.kinds-row[data-state=assigned]{border-left-color:#d8b44a;}
.kinds-row[data-state=ready]{border-left-color:#28a03c;}
.kinds-row[data-busy=true]{opacity:.65;}
.kinds-dragging .kinds-row:not([data-busy=true]){border-style:dashed;}
.kinds-row[data-over=true]{background:#e4f2d4;box-shadow:inset 0 0 0 2px #28a03c;}
.kinds-thumb{width:92px;height:72px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #e3e8df;border-radius:6px;background:#f4f6f4;color:#7a857d;font-size:10px;overflow:hidden;cursor:zoom-in;}
.kinds-thumb:disabled{cursor:default;}
.kinds-thumb img{max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;}
.kinds-thumb:hover:enabled{border-color:var(--deep,#1d4d2b);}
.kinds-row-main{display:grid;gap:6px;min-width:0;}
.kinds-row-name{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.kinds-row-name strong{font-size:15px;color:var(--deep,#1d4d2b);}
.kinds-qty{font-size:13px;font-weight:700;color:#4c5a45;background:#f0f5e9;border-radius:5px;padding:1px 7px;}
.kinds-sections{display:flex;gap:5px;flex-wrap:wrap;}
.kinds-section{font-size:11px;padding:2px 8px;border-radius:999px;background:#eef2f7;color:#3d5170;}
.kinds-section.muted{background:#f3f3f1;color:#80857b;}
.kinds-row-file{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;min-width:0;}
.kinds-file-link{border:0;background:none;padding:0;margin:0;color:var(--deep,#1d4d2b);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:zoom-in;word-break:break-all;text-align:left;font-size:12px;}
.kinds-file-link:disabled{cursor:default;text-decoration:none;}
.kinds-version{color:#6c7763;font-size:11px;word-break:break-all;}
.kinds-chip{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#fff3d6;color:#7a5410;}
.kinds-row[data-state=ready] .kinds-chip{background:#e7f4ea;color:#1f6b33;}
.kinds-row[data-state=missing] .kinds-chip{background:#fbe9e6;color:#9b2c1c;}
.kinds-proofs{display:flex;gap:4px;flex-wrap:wrap;}
.kinds-proof{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;background:#eef2f7;color:#3d5170;}
.kinds-proof[data-tone=good]{background:#e7f4ea;color:#1f6b33;}
.kinds-proof[data-tone=bad]{background:#fbe9e6;color:#9b2c1c;}
.kinds-proof[data-tone=wait]{background:#fff3d6;color:#7a5410;}
.kinds-proof[data-tone=muted]{background:#f3f3f1;color:#80857b;}
.kinds-proof-more{font-size:10px;color:#6c7763;}
.kinds-row-tools{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:170px;}
.kinds-pick{width:100%;margin:0;font-size:11px;padding:6px;}
.kinds-remove{width:auto;margin:0;padding:5px 8px;font-size:11px;border:1px solid #e6d6d0;border-radius:5px;background:#fff;color:#a63b22;}
.kinds-saving{font-size:11px;font-weight:700;color:var(--deep,#1d4d2b);}
.kinds-folder{position:sticky;top:calc(var(--active-timing-height,0px) + 12px);max-height:calc(100dvh - 120px);overflow:auto;background:#fbfcfa;border:1px solid #dfe5d9;border-radius:10px;padding:12px;}
.kinds-folder-head h4{margin:0 0 4px;font-size:15px;}
.kinds-folder-head .capacity-note{margin:0 0 8px;}
.kinds-folder-filter{display:flex;gap:6px;margin-bottom:10px;}
.kinds-folder-filter button{width:auto;margin:0;padding:5px 10px;font-size:11px;border:1px solid #dfe5d9;border-radius:999px;background:#fff;color:var(--deep,#1d4d2b);}
.kinds-folder-filter button[aria-pressed=true]{background:var(--deep,#1d4d2b);color:#fff;border-color:var(--deep,#1d4d2b);}
.kinds-folder-grid{display:grid;gap:8px;}
.kinds-file{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:start;background:#fff;border:1px solid #dfe5d9;border-radius:8px;padding:8px;cursor:grab;}
.kinds-file[data-used=false]{border-color:#e2b46a;background:#fffdf7;}
.kinds-file[data-dragging=true]{opacity:.5;}
.kinds-file-body{display:grid;gap:3px;font-size:12px;min-width:0;}
.kinds-file-body strong{word-break:break-all;}
.kinds-file-use{font-size:11px;font-weight:700;color:#4c5a45;}
.kinds-file[data-used=false] .kinds-file-use{color:#8c5413;}
.kinds-preview{width:96vw;max-width:96vw;height:94vh;max-height:94vh;padding:0;border:0;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;background:#2a2c31;}
.kinds-preview:not([open]){display:none;}
.kinds-preview::backdrop{background:#16171bcc;}
.kinds-preview-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;background:#fff;flex-wrap:wrap;}
.kinds-preview-bar strong{display:block;font-size:15px;word-break:break-all;}
.kinds-preview-bar small{color:#6c7763;font-size:11px;}
.kinds-preview-controls{display:flex;align-items:center;gap:8px;}
.kinds-preview-controls button,.kinds-preview-controls select{width:auto;margin:0;padding:7px 11px;font-size:12px;}
.kinds-preview-page{font-size:12px;color:#4c5a45;min-width:90px;text-align:center;}
.kinds-preview-stage{flex:1;overflow:auto;display:grid;place-items:center;padding:16px;}
.kinds-preview-stage canvas,.kinds-preview-image{background:#fff;box-shadow:0 6px 30px #0006;}
.kinds-preview-image{max-width:100%;max-height:100%;object-fit:contain;}
.kinds-preview-stage .capacity-status,.kinds-preview-stage .error{background:#fff;}
@media(max-width:900px){.kinds-layout[data-open=true]{grid-template-columns:1fr;}.kinds-folder{position:static;max-height:none;}.kinds-row{grid-template-columns:72px minmax(0,1fr);}.kinds-thumb{width:72px;height:60px;}.kinds-row-tools{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;min-width:0;}}
.kinds-toast{position:fixed;right:24px;bottom:24px;z-index:50;display:flex;align-items:center;gap:12px;max-width:min(520px,calc(100vw - 48px));padding:12px 16px;border-radius:10px;font-size:13px;background:#fff;border-left:4px solid var(--green,#28a03c);box-shadow:0 10px 34px #24252b33;animation:kinds-toast-in .18s ease-out;}
.kinds-toast[data-tone=warn]{border-color:#d89521;}
.kinds-toast[data-tone=bad]{border-color:#b74532;color:#8a3c2d;}
.kinds-toast .text-button{font-weight:700;margin:0;padding:0 2px;}
@keyframes kinds-toast-in{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
.kinds-row[draggable=true]{cursor:grab;}
.kinds-row[data-dragging=true]{opacity:.5;}
.kinds-row[data-over=true][data-action=swap]{background:#eef2fb;box-shadow:inset 0 0 0 2px #3d5170;}
.kinds-modes{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.kinds-modes>button[aria-pressed]{width:auto;margin:0;padding:7px 14px;font-size:12px;font-weight:700;border:1px solid #dfe5d9;border-radius:999px;background:#fff;color:var(--deep,#166223);}
.kinds-modes>button[aria-pressed=true]{background:var(--deep,#166223);color:#fff;border-color:var(--deep,#166223);}
.kinds-match{width:auto;margin:0 0 0 auto;font-size:12px;padding:7px 12px;}
.kinds-proof-row[data-locked=true]{background:#fafaf8;border-left-color:#c9cec4;}
.kinds-link-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;border:1px solid #dfe5d9;border-radius:999px;background:#f6faf3;}
.kinds-unlink{border:0;background:none;margin:0;width:auto;padding:0 4px;color:#a63b22;font-size:12px;cursor:pointer;}
.kinds-locked-note{font-size:11px;color:#6c7763;}
.kinds-suggest{justify-self:start;font-size:12px;font-weight:700;margin:0;padding:0;}
.purchasing-source-field{display:grid;gap:8px;margin-top:18px}
.purchasing-source-title{font-size:13px;font-weight:700}
.purchasing-source-pills{display:flex;flex-wrap:wrap;gap:8px}
.purchasing-source-pill{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:auto;margin:0;padding:9px 16px;border:1px solid #d8e0d0;border-radius:999px;background:#fff;color:var(--deep,#166223);cursor:pointer;text-align:left}
.purchasing-source-pill strong{font-size:13px}
.purchasing-source-pill span{font-size:11px;color:#5f6b63}
.purchasing-source-pill:hover{border-color:var(--green,#28a03c)}
.purchasing-source-pill[aria-checked=true]{background:var(--deep,#166223);border-color:var(--deep,#166223);color:#fff}
.purchasing-source-pill[aria-checked=true] span{color:#d9e8cf}
.purchasing-source-pill:focus-visible{outline:3px solid var(--lime,#94c01e);outline-offset:2px}
.purchasing-summary-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:1;min-width:0;flex-wrap:wrap}
.purchasing-item-summary:has(.purchasing-cover-list),.purchasing-stock-summary:has(.purchasing-cover-list){flex-wrap:wrap}
.purchasing-cover-list{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:6px 18px;margin-top:10px;padding-top:10px;border-top:1px dashed #e3e9de}
.purchasing-cover-row{display:grid;grid-template-columns:minmax(76px,max-content) minmax(0,1fr);gap:8px;align-items:center;font-size:12px}
.purchasing-cover-job{font-weight:700;color:var(--deep,#166223);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.purchasing-cover-more{flex-basis:100%;color:#6c7763;font-size:11px}
.purchasing-cover{display:grid;gap:3px;min-width:150px}
.purchasing-cover-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:#eef1ec}
.purchasing-cover-seg{display:block;height:100%}
.purchasing-cover-seg[data-part=picked]{background:#a9b7a1}
.purchasing-cover-seg[data-part=pickable]{background:#28a03c}
.purchasing-cover-seg[data-part=onOrderCover]{background:#4a78c2}
.purchasing-cover-seg[data-part=short]{background:#d0533b}
.purchasing-cover-text{font-size:11px;color:#5f6b63;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.purchasing-cover[data-short=true] .purchasing-cover-text{color:#9b2c1c}
.purchasing-cover-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:#5f6b63;align-items:center}
.purchasing-cover-legend span{display:inline-flex;align-items:center;gap:5px}
.purchasing-cover-legend i{display:inline-block;width:14px;height:8px;border-radius:3px}
.purchasing-cover-cell{min-width:170px}
.purchasing-cover-cell .purchasing-cover-text,.purchasing-cover-row .purchasing-cover-text{white-space:normal}
/* Linear metres for roll stock priced per SQM (purchase-units.js) */
.purchasing-po-table .purchasing-po-metres,.purchasing-po-table .purchasing-po-sqm{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;white-space:nowrap}.purchasing-po-table .purchasing-po-metres{margin-bottom:6px}.purchasing-po-table .purchasing-po-metres[hidden]{display:none}.purchasing-po-table .purchasing-po-metres input,.purchasing-po-table .purchasing-po-sqm input{flex:1;min-width:80px}.purchasing-po-table .purchasing-po-metres:not([hidden])+.purchasing-po-sqm{color:#626269;font-weight:400}.purchasing-po-table .purchasing-po-metres:not([hidden])+.purchasing-po-sqm input{font-size:12px}
.purchase-metres[hidden]{display:none}
.purchasing-figure strong{font-size:20px;line-height:1.2}
.purchasing-figure small{font-size:10px}
.purchasing-summary-cover{flex-basis:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin-top:10px}
.purchasing-summary-cover .purchasing-cover-bar{height:12px}
.purchasing-breakdown-toggle{font-size:12px;font-weight:700;color:var(--deep,#166223);white-space:nowrap;padding:5px 10px;border:1px solid #dfe5d9;border-radius:999px;background:#fff}
summary:hover .purchasing-breakdown-toggle{border-color:var(--green,#28a03c)}
.purchasing-breakdown-title{margin:4px 0 6px;font-size:13px}
.purchasing-stock-body>.purchasing-cover-list{border-top:0;margin-top:0;padding-top:0;margin-bottom:12px}
.purchasing-order-choice{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#4c5a45}
.purchasing-order-choice select{width:auto;margin:0;padding:7px 8px;font-size:12px}
.purchasing-item-head{display:flex;align-items:center;gap:12px;min-width:0}
.purchasing-item-head .purchasing-po-pick{flex:none;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid #cfdcc5;border-radius:999px;background:#fff;font-size:12px;font-weight:700;color:var(--deep,#166223);cursor:pointer}
.purchasing-item-head .purchasing-po-pick[data-disabled=true]{opacity:.45;cursor:not-allowed}
.purchasing-po-common{width:auto;margin:0;padding:6px 8px;font-size:12px}
.purchasing-po-need strong{display:block;white-space:nowrap;font-size:15px;color:var(--ink,#24252b)}
.purchasing-po-need small{font-size:11px;color:#6c7763}
.purchasing-po-table .purchasing-po-metres-input{font-size:16px;font-weight:800}
.purchasing-po-table .purchasing-po-sqm{opacity:.75}
.purchasing-po-table .purchasing-po-sqm input{font-size:12px;padding:6px 8px}
.purchasing-po-stocks{display:grid;gap:12px;margin-top:16px}
.purchasing-po-stocks h3{margin:0;font-size:15px}
.purchasing-po-stock{border:1px solid #dfe5d9;border-radius:10px;padding:12px 14px;background:#fbfcfa;display:grid;gap:10px}
.purchasing-po-stock-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.purchasing-po-stock-head .purchasing-po-master{display:inline-flex!important;flex-direction:row;white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#4c5a45;margin:0}
.purchasing-po-master input{width:110px;margin:0;padding:6px 8px;font-size:13px}
.purchasing-po-diagram{display:flex;height:34px;border:2px solid #24252b;border-radius:4px;overflow:hidden;background:#fff}
.purchasing-po-lane{display:flex;align-items:center;justify-content:center;min-width:0;font-size:10px;font-weight:700;color:#fff;background:#28a03c;border-right:2px solid #fff;overflow:hidden}
.purchasing-po-lane:nth-child(even){background:#1f8a33}
.purchasing-po-trim{background:repeating-linear-gradient(135deg,#d0533b,#d0533b 3px,#f6d6cf 3px,#f6d6cf 6px);min-width:4px}
.purchasing-po-diagram-note{margin:-4px 0 0;font-size:12px;color:#4c5a45}
.purchasing-po-stock-totals{display:flex;gap:22px;flex-wrap:wrap}
.purchasing-po-total{display:grid;gap:1px}
.purchasing-po-total small{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#6c7763}
.purchasing-po-total strong{font-size:16px}
.purchasing-po-total[data-main=true] strong{font-size:20px;color:var(--deep,#166223)}
.purchasing-po-master-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.purchasing-po-quick{display:inline-flex;gap:4px}
.purchasing-po-quick-btn{width:auto;margin:0;padding:6px 10px;font-size:12px;font-weight:700;border:1px solid #cfdcc5;border-radius:999px;background:#fff;color:var(--deep,#166223)}
.purchasing-po-quick-btn[aria-pressed=true]{background:var(--deep,#166223);color:#fff;border-color:var(--deep,#166223)}
.purchasing-po-rolls{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;padding-top:8px;border-top:1px dashed #e3e9de}
.purchasing-po-roll-field{display:grid!important;grid-template-columns:auto auto;gap:2px 6px;align-items:center;margin:0;font-size:12px}
.purchasing-po-roll-field small{grid-column:1/-1;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#6c7763}
.purchasing-po-roll-field input{width:96px;margin:0;padding:6px 8px;font-size:13px}
.purchasing-po-spec{flex-basis:100%;font-size:11px;color:#6c7763}
.purchasing-po-roll-line{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--ink,#24252b)}
.purchasing-po-roll-icon{width:34px;height:34px;flex:none}
.purchasing-po-roll-icon .outer{fill:#cfe6c4;stroke:#1f8a33;stroke-width:1.5}
.purchasing-po-roll-icon .core{fill:#fff;stroke:#7a5410;stroke-width:1.5}
/* Every size/stock card the same height: name on the left, figures in fixed columns on one row */
.purchasing-item-summary .purchasing-summary-wrap,.purchasing-stock-summary .purchasing-summary-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;flex-wrap:nowrap}
.purchasing-item-head,.purchasing-stock-summary .purchasing-item-name{min-width:0}
.purchasing-item-summary .purchasing-item-name,.purchasing-stock-summary .purchasing-item-name{min-width:0}
.purchasing-item-summary .purchasing-item-name strong,.purchasing-stock-summary .purchasing-item-name strong,.purchasing-item-summary .purchasing-item-name small,.purchasing-stock-summary .purchasing-item-name small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.purchasing-item-summary .purchasing-figures,.purchasing-stock-summary .purchasing-figures{display:grid;grid-auto-flow:column;grid-auto-columns:112px;gap:0 8px;flex-wrap:nowrap}
.purchasing-item-summary .purchasing-figure,.purchasing-stock-summary .purchasing-figure{min-width:0;height:52px;align-content:start}
.purchasing-item-summary .purchasing-figure strong,.purchasing-stock-summary .purchasing-figure strong{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.purchasing-figure-note{font-style:normal;font-size:10px;color:#6c7763;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1250px){.purchasing-item-summary .purchasing-summary-wrap,.purchasing-stock-summary .purchasing-summary-wrap{grid-template-columns:1fr}.purchasing-item-summary .purchasing-figures,.purchasing-stock-summary .purchasing-figures{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,112px)}}
.purchasing-po-roll-line{align-items:flex-start!important}
.purchasing-po-roll-text{display:grid;gap:3px;font-weight:400}
.purchasing-po-roll-text strong{font-size:14px}
.purchasing-po-roll-text span{font-size:13px}
.purchasing-po-roll-why{font-size:11px;color:#6c7763}
.purchasing-po-roll-warn{color:#8c5413;font-weight:600}
.purchasing-po-roll-ok{color:#1f6b33;font-weight:700;font-size:12px!important}
.purchasing-po-roll-apply{justify-self:start;width:auto;margin:4px 0 0;padding:6px 12px;font-size:12px}
@media(max-width:900px){.main-nav{margin-left:4px;gap:0}.main-nav-link{font-size:13px;padding:8px 2px 8px 6px}.main-nav-toggle{padding:8px 5px 8px 2px}}
@media(max-width:640px){.main-nav{overflow-x:auto}.main-nav-menu{position:fixed;left:12px;right:12px;top:64px;min-width:0}}
