.cloud-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:#edf0eb;color:#23352a}.cloud-card{width:min(100%,460px);background:#fff;border:1px solid #ccd6ca;border-radius:16px;padding:32px;box-shadow:0 12px 40px #23352a12}.cloud-card img{width:200px;max-width:100%;height:auto}.cloud-card h1{margin:24px 0 12px;font-size:26px}.cloud-card h2{font-size:19px;line-height:1.4}.cloud-card p{line-height:1.6}.cloud-card form{display:grid;gap:18px;margin-top:24px}.cloud-card label{display:grid;gap:6px;font-weight:600}.cloud-card input{width:100%;background:#fff;color:#23352a;border:1px solid #879a87;border-radius:6px;padding:12px}.cloud-card button{background:#2a382b;color:#fff;border:0;border-radius:6px;padding:12px 18px;cursor:pointer;margin:8px 8px 0 0}.cloud-card button:disabled{opacity:.6;cursor:wait}.cloud-card .cloud-help{font-size:13px;color:#526253}.cloud-card [role=alert]{color:#9c2424}.cloud-card-wide{width:min(100%,1280px)}.cloud-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.cloud-workspace .cloud-nav{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0;border-bottom:1px solid #ccd6ca;padding-bottom:16px}.cloud-workspace .cloud-nav button{background:#edf0eb;color:#23352a;margin:0}.cloud-workspace .cloud-nav button[aria-current=page]{background:#2a382b;color:#fff}.cloud-pilot{background:#f4f1df;border-left:4px solid #a18b35;padding:12px 16px;border-radius:4px}.cloud-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cloud-workspace .cloud-metrics article{display:grid;gap:6px;margin:0}.cloud-metrics strong{font-size:32px}.cloud-metrics span{color:#526253;font-size:14px}.cloud-status{display:inline-block;background:#edf0eb;border-radius:20px;padding:5px 12px;font-size:13px;text-transform:capitalize}.status-running{background:#dcebd3}.status-blocked{background:#f9dcdc}.status-complete{background:#d8e8df}.cloud-operation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cloud-workspace .cloud-operation h3{margin:0}.cloud-actions{display:flex;flex-wrap:wrap;gap:8px}.cloud-filters{display:flex;gap:16px;margin-top:24px}.cloud-filters label{flex:1}.cloud-card select{padding:12px;border:1px solid #879a87;border-radius:6px;background:#fff;color:#23352a}.cloud-activity{padding:0;list-style:none}.cloud-activity li{border-bottom:1px solid #e1e6df;padding:12px 0}.cloud-activity time{color:#526253;font-size:13px}.cloud-activity p{margin:4px 0}.cloud-table-wrap{overflow-x:auto;margin-top:20px}.cloud-table{width:100%;border-collapse:collapse;text-align:left}.cloud-table th,.cloud-table td{padding:12px;border-bottom:1px solid #ccd6ca;min-width:120px}@media(max-width:700px){.cloud-metrics{grid-template-columns:repeat(2,1fr)}.cloud-operation-grid{grid-template-columns:1fr}.cloud-filters{flex-direction:column}.cloud-shell{padding:12px}.cloud-card{padding:20px}}.cloud-workspace article{border:1px solid #ccd6ca;border-radius:8px;padding:16px;margin:16px 0}.cloud-workspace form{grid-template-columns:minmax(180px,1fr) auto;align-items:end}.cloud-workspace h3{margin-top:28px}@media(max-width:600px){.cloud-workspace form{grid-template-columns:1fr}}.cloud-workspace .cloud-job-editor{display:block}.cloud-job-editor fieldset{border:0;padding:0;min-width:0}.cloud-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.cloud-editor-line{display:grid;grid-template-columns:2fr 1fr 2fr auto;gap:12px;align-items:end;padding:16px 0;border-bottom:1px solid #ccd6ca}.cloud-card textarea{width:100%;padding:12px;color:#23352a;background:#fff;border:1px solid #879a87;border-radius:6px}@media(max-width:700px){.cloud-editor-fields,.cloud-editor-line{grid-template-columns:1fr}}.cloud-files li{margin:12px 0}.cloud-card .cloud-files li label{display:inline-flex;align-items:center;gap:8px;margin-right:12px}.cloud-card .cloud-files input[type=checkbox]{width:auto}.cloud-setup fieldset{border:0;padding:0;min-width:0}.cloud-card .cloud-setup-check{display:flex;align-items:center;gap:8px}.cloud-card .cloud-setup-check input{width:auto}.cloud-content{width:100%}.cloud-content .cloud-help{color:var(--muted);font-size:13px}.cloud-content>[role=alert]{color:#9c2424}.cloud-content form{display:grid;gap:18px;margin-top:24px}.cloud-content form label,.cloud-filters label{display:grid;gap:6px;font-weight:600}.cloud-content form .check-label{display:flex;align-items:center;gap:8px}.cloud-content form .check-label input{width:18px;flex:0 0 18px}.cloud-content .cloud-job-editor .field{align-content:start}.cloud-content .cloud-job-editor .field select{height:42px}.cloud-content .work-row-controls .field{display:grid;gap:6px}.cloud-content .cloud-job-editor{display:block}.cloud-content .cloud-job-editor fieldset{border:0;padding:0;min-width:0}.cloud-content .cloud-operation,.cloud-content>article,.cloud-content .cloud-metrics article{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}.cloud-content .cloud-actions{margin-top:12px}.cloud-content .cloud-status{background:var(--soft)}.cloud-content .status-blocked{background:#f9dcdc}.cloud-content .status-running{background:#dcebd3}.cloud-content .cloud-setup-check,.cloud-content .cloud-files li label{display:flex;align-items:center;gap:8px}.cloud-content .cloud-setup-check input,.cloud-content .cloud-files input[type=checkbox]{width:18px}.cloud-content .calendar-panel h3{margin-top:0}.cloud-schedule-list,.cloud-content .calendar-panel{margin-top:24px}@media(max-width:700px){.cloud-content .page-heading{align-items:flex-start;gap:12px}}.cloud-job-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) 200px;gap:16px;margin:18px 0}.cloud-job-toolbar label{display:grid;gap:6px;font-weight:600}.cloud-job-groups{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.cloud-job-groups button{gap:12px}.cloud-job-groups button[aria-pressed=true]{background:var(--green);color:#fff}.cloud-job-groups span{padding:2px 6px;border-radius:4px;background:var(--soft);color:var(--text)}.cloud-content .cloud-jobs h3{margin-top:0}.cloud-content .cloud-jobs .job-detail-section{background:var(--surface)}.cloud-content .cloud-jobs .job-detail-item{margin:0;padding:10px 0;border:0;border-bottom:1px solid var(--line);border-radius:0}.cloud-content .cloud-job-editor{margin-top:0}.cloud-content .cloud-job-editor>fieldset{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.cloud-content .cloud-job-editor .job-detail-section{margin:0}.cloud-content .cloud-job-editor .form-actions{margin-top:4px}.cloud-dependencies{display:grid;gap:8px}.cloud-content .cloud-dependencies label{display:flex;align-items:center;gap:8px}.cloud-content .cloud-dependencies input{width:18px}.cloud-content .cloud-jobs .stock-table td{vertical-align:top}.cloud-content .cloud-jobs .cloud-status{white-space:nowrap}@media(max-width:700px){.cloud-job-toolbar{grid-template-columns:minmax(0,1fr)}}.cloud-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cloud-session-status{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:-8px 0 20px;color:var(--muted);font-size:12px}.cloud-session-status>span:last-child{color:var(--text);background:var(--soft);padding:3px 8px;border-radius:4px}.cloud-content .cloud-stock-count{margin:0;display:flex;align-items:center;gap:8px}.cloud-stock-count input{width:92px;min-width:70px}.cloud-stock-count button{white-space:nowrap}.cloud-content .cloud-job-editor .field{font-weight:inherit}.cloud-content .cloud-job-editor .checkbox-row{display:flex;align-items:center;gap:8px}.cloud-content .cloud-job-editor .checkbox-row input{width:auto}.cloud-workspace .cloud-operation{margin:0}.cloud-content .cloud-status{color:var(--text)}[data-theme=dark] .cloud-content .status-blocked{background:#4a282d;color:#ffc3cb}[data-theme=dark] .cloud-content .status-running{background:#264437;color:#c9f0dc}[data-theme=dark] .cloud-pilot{background:#363222;color:#eee1ae}.cloud-content .cloud-table th,.cloud-content .cloud-table td{border-color:var(--line)}@media(max-width:700px){.cloud-heading-actions{justify-content:flex-start}.cloud-session-status{margin-top:0}}.skip-content{position:fixed;top:8px;left:8px;z-index:1000;padding:12px 18px;background:var(--surface);color:var(--text);border:2px solid var(--green);border-radius:6px;transform:translateY(-180%)}.skip-content:focus{transform:translateY(0)}.cloud-content h1:focus{outline:2px solid var(--green);outline-offset:5px}.cloud-session-status{align-items:center;margin-bottom:12px}.cloud-session-status details{position:relative;font-size:12px}.cloud-session-status details>span{display:block;padding:8px 0}.cloud-session-status summary,.workstation-help summary{cursor:pointer}.workstation-help{color:var(--muted);margin:8px 0 12px;font-size:13px}.workstation-help p{margin:8px 0;max-width:60em}.workstation-mobile-controls{display:none}.session-notice{padding:12px;background:var(--soft);border:1px solid var(--line);border-radius:6px;margin-bottom:12px}.session-notice p{margin:0 0 8px}@media(max-width:700px){.workstation-mobile-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:0 0 10px}.workstation-mobile-controls label{display:grid;gap:5px;font-weight:600}.workstation-mobile-controls select{width:100%;min-width:0;min-height:44px}.workstation-machines,.cloud-content .workstation-filters{display:none}.cloud-content .workstation-section{margin-top:12px}.workstation-section .stock-table-wrap{overflow:visible}.workstation-table,.workstation-table tbody{display:block;min-width:0!important;width:100%}.workstation-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.workstation-table .workstation-summary-row{display:grid;grid-template-columns:minmax(0,1fr);padding:12px;border-bottom:1px solid var(--line);gap:8px}.workstation-table .workstation-summary-row>th,.workstation-table .workstation-summary-row>td{display:block;min-width:0!important;width:auto!important;padding:0!important;border:0;white-space:normal;overflow-wrap:anywhere}.workstation-summary-row td[data-label]:before{content:attr(data-label) " · ";color:var(--muted);font-size:12px}.workstation-summary-row .table-row-link{width:100%;min-width:0;white-space:normal}.workstation-entry .work-entry-button{width:100%;min-height:44px;justify-content:center}.workstation-table .table-detail-row,.workstation-table .table-detail-row>td{display:block;min-width:0;width:100%}.workstation-table .work-row-expanded{grid-template-columns:minmax(0,1fr);padding:12px}.workstation-table .work-row-controls{min-width:0}.cloud-content .cloud-session-status{margin-bottom:10px;gap:8px}}.skip-content:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;border:0}.cloud-accounts{max-width:960px}.cloud-account-list{margin:16px 0}.cloud-account-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.cloud-account-row p{margin:6px 0 0}.cloud-account-row button{flex-shrink:0}.cloud-content .cloud-account-editor{margin-top:20px;max-width:600px;grid-template-columns:minmax(0,1fr);align-items:start}.cloud-account-editor fieldset{border:0;padding:0;display:grid;gap:14px;min-width:0}.cloud-account-editor label{display:grid;gap:6px}@media(max-width:600px){.cloud-account-row{align-items:flex-start;flex-direction:column}}:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#243d37;background:#f5f7f6;font-synthesis:none;font-size:14px;--bg: #f5f7f6;--surface: #fff;--text: #243d37;--muted: #75837e;--line: #e1e7e3;--green: #246955;--soft: #eaf2ed;--row-hover: #d4e7dc;--sidebar: #153e36;--warn: #986b20;--shadow: 0 3px 12px #153e3604;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;min-height:42px}button:hover{border-color:#7c9b8b;background:var(--soft)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--green);border-color:var(--green);color:#fff}button.primary:hover{filter:brightness(1.12)}a{color:var(--green);text-underline-offset:3px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px;font-weight:650;margin-bottom:10px}h2{font-size:18px;font-weight:650;letter-spacing:-.3px;margin-bottom:15px}h3{font-size:16px;margin-bottom:12px}p{line-height:1.65}small{font-size:14px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;color:var(--text);background:var(--surface);padding:10px 11px;min-height:42px}input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--green);margin:0;flex:none}input:focus,textarea:focus,select:focus{outline:2px solid #79a78e;outline-offset:2px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b3994d;outline-offset:3px}.shell{display:flex;min-height:100vh}.sidebar{width:244px;flex-shrink:0;background:var(--sidebar);color:#d8e5dd;padding:34px 18px 22px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;flex-direction:column;text-decoration:none;color:#e9f1e8;padding:0 8px 35px;gap:12px}.brand-logo{display:block;width:100%;max-width:249px;height:auto}.brand:focus-visible{outline:2px solid #c5d692;outline-offset:5px}.brand>span:last-child{font-size:14px;letter-spacing:2.3px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav{border:0;border-radius:6px;background:transparent;color:#bacec4;font-weight:400;justify-content:flex-start;padding:12px 14px;font-size:14px;gap:12px;min-height:46px}.nav:hover,.nav.active{background:#ffffff10;color:#fff}.nav.active{box-shadow:inset 3px 0 #c5d692}.nav-count{margin-left:auto;background:#c8dbb3;color:#254435;border-radius:4px;font-size:14px;padding:2px 6px}.connection-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#86ad78;margin-right:7px;vertical-align:middle}.main-shell{margin-left:244px;min-width:0;flex:1}.topbar{min-height:64px;border-bottom:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:flex-end;padding:0 36px;font-size:14px}.identity{display:flex;align-items:center;gap:12px}.identity label{font-size:14px;color:var(--muted)}.identity select{width:210px;font-size:14px;background:var(--bg);min-height:36px}.identity-name{padding:9px 12px;border:1px solid var(--line);border-radius:6px;color:var(--text);font-weight:600}main{max-width:1600px;margin:auto;padding:34px 36px 20px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading p{color:var(--muted);font-size:14px;margin-bottom:0;max-width:680px}.page-heading>button{white-space:nowrap}.app-content{margin:0;padding:0;border:0;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.section-heading h2{margin:0}.section-heading p{color:var(--muted);font-size:14px;margin:7px 0 0}.muted{color:var(--muted);font-size:14px;line-height:1.6}.job-list{display:grid;gap:10px}.job-section+.job-section{margin-top:32px}.job-section .section-heading{margin-bottom:12px}.logistics-sections{display:grid;gap:32px}.logistics-filters .tabs{align-items:center}.logistics-filters .tabs>span{min-width:48px}.logistics-filters .tabs:last-child{margin-bottom:0}.logistics-section{min-width:0}.logistics-section>.section-heading{padding-bottom:12px;border-bottom:1px solid var(--line)}.logistics-section h2{display:flex;align-items:center;gap:9px}.logistics-heading{margin-bottom:16px;flex-wrap:wrap}.logistics-heading>button{flex:none}.logistics-form{width:100%;padding:0;border:0;background:transparent}.logistics-form h3{margin:0 0 14px}.logistics-draft-row{display:block;padding:18px;margin:0 0 14px;border:1px solid var(--line);border-radius:7px;background:var(--bg)}.logistics-table-wrap{border:1px solid var(--line);border-radius:7px;background:var(--surface);box-shadow:var(--shadow)}.logistics-table td .date-warning{display:block;margin-top:3px}.logistics-edit-table-row td{padding:16px;background:var(--bg)}.logistics-form .form-grid{margin-top:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}.logistics-orders{margin:0 0 14px;padding:0;border:0;min-width:0}.logistics-orders legend{padding:0;margin-bottom:8px;font-size:14px;font-weight:600}.logistics-orders details{border:1px solid var(--line);border-radius:7px;background:var(--surface)}.logistics-orders summary{padding:12px;color:var(--text)}.logistics-order-options{max-height:220px;overflow-y:auto;padding:0 12px 12px}.logistics-order-search{padding:0 12px 10px}.logistics-order-search input{width:100%;min-width:0}.logistics-order-client{display:block;color:var(--muted)}.logistics-order-options label{display:flex;align-items:flex-start;gap:8px;padding:8px 0;line-height:1.5}.logistics-order-options input{flex:none;margin-top:3px}.logistics-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.6}.logistics-entry-body{min-width:0;overflow-wrap:anywhere}.logistics-entry-link{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;width:calc(100% + 16px);margin:-8px;padding:8px;border-radius:6px;color:var(--text);text-decoration:none}.logistics-entry-link:hover,.logistics-entry-link:focus-visible{background:var(--soft);color:var(--text)}.logistics-entry-link:focus-visible,.logistics-row:focus{outline:2px solid var(--green);outline-offset:2px}.logistics-row span{display:block;color:var(--muted)}.logistics-row p{margin:6px 0 0;white-space:pre-wrap}.logistics-row time{flex:none;color:var(--muted)}.job-row{border-left-color:var(--green)}.work-row-summary.job-row-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:start;padding:12px 16px;width:100%;border:0;border-radius:6px;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer}.work-row-summary.job-row-summary:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.job-summary-heading,.job-summary-heading-end,.job-summary-facts{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px}.job-summary-heading{justify-content:space-between}.job-summary-heading-end{justify-content:flex-end}.job-summary-facts{font-size:14px;line-height:1.5;color:var(--muted)}.job-summary-facts>span+span:before{content:"·";margin-right:12px;color:var(--line)}.job-summary-facts b{color:var(--text);font-weight:600}.job-summary-facts em{font-style:normal}.job-card-brief{display:grid;gap:8px;padding-top:8px;border-top:1px solid var(--line);line-height:1.5}.job-card-brief>span{display:block;min-width:0}.job-card-brief>span>b{display:inline-block;min-width:58px;color:var(--text)}.job-card-stock .material-summary-line{margin-left:58px;padding:2px 0 4px}.job-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.job-detail-toolbar h3{margin:0}.job-detail-sections{display:grid;gap:12px}.job-detail-section{padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--bg);min-width:0}.job-detail-section h3{margin:0 0 12px;font-size:16px}.job-detail-section>p{margin:0;line-height:1.5}.job-detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;margin:0}.job-detail-facts dt{color:var(--muted);font-size:14px;font-weight:600}.job-detail-facts dd{margin:4px 0 0;overflow-wrap:anywhere}.job-detail-items{display:grid;gap:10px}.job-detail-item{padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);line-height:1.5;overflow-wrap:anywhere}.job-detail-item-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.job-detail-item p{margin:5px 0 0}.job-detail-item .material-supply-status{margin-top:6px}.job-row-expanded>.job-detail-section{margin-top:12px}.job-summary-notes{white-space:pre-wrap}.material-summary-line{display:flex;flex-direction:column;gap:2px;padding:3px 0}.material-supply-status{display:flex;flex-wrap:wrap;gap:3px 12px;font-size:14px;line-height:1.5;color:var(--muted)}.material-supply-status>span{color:inherit}.material-supply-status .material-stock-full,.material-stock-full{color:var(--green);font-weight:600}.material-supply-status .material-to-order{color:var(--warn)}[data-theme=dark] .material-supply-status .material-stock-full,[data-theme=dark] .material-stock-full{color:#a9d5b7}[data-theme=dark] .material-supply-status .material-to-order{color:#e5c380}.material-edit-line>.material-supply-status{grid-column:1 / -1}.stock-totals{display:flex;flex-direction:column;gap:4px;font-size:14px}.stock-totals>span{color:var(--muted)}.job-materials{border-top:1px solid var(--line);margin-top:12px;padding-top:2px}.purchase-order-lines{padding-left:18px;font-size:14px;line-height:1.5;margin:8px 0}.job-row.is-open .job-summary-facts,.job-row.is-open .job-card-brief{display:none}.job-row.is-open .work-row-toggle:after{content:"⌃"}.job-row-expanded{display:block;padding:14px 16px 16px;border-top:1px solid var(--line)}.job-row-expanded>.intake{margin:0;padding:0;border:0;box-shadow:none}.job-editor.job-detail-sections{gap:12px}.job-editor .job-materials{border-top:1px solid var(--line);margin-top:0;padding-top:16px}.job-editor .job-file-editor{border:0;margin:0;padding:0}.job-editor .section-heading{margin-bottom:12px}.job-editor .section-heading p{margin-top:2px}.job-editor .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;margin:10px 0}.job-editor .field{gap:4px;margin-bottom:8px}.job-editor .field>span,.job-editor .field-caption{font-size:14px}.job-editor .field small{font-size:14px;line-height:1.35}.job-editor input,.job-editor select{min-height:36px;padding:7px 9px}.job-editor textarea{min-height:62px;padding:8px 9px}.job-editor h3{margin:12px 0 4px;font-size:14px}.job-editor .checkbox-row{gap:8px 16px;margin:8px 0}.job-editor .operation-form{grid-template-columns:minmax(80px,.5fr) minmax(130px,1fr) minmax(160px,1.5fr);gap:8px 14px;padding:10px 12px;margin-bottom:7px}.job-editor .operation-form h3{margin:0}.job-editor .operation-locked-note{display:block;margin-top:3px;color:var(--muted);font-size:14px;font-weight:400;line-height:1.3}.job-editor .dependency{padding-top:5px}.job-editor .material-edit-line{padding:7px 0;gap:8px}.job-editor .job-file-editor{margin:10px 0;padding:10px 12px}.job-legacy-document{margin:6px 0 0;overflow-wrap:anywhere}.job-editor .form-actions{margin-top:12px;padding-top:12px}@media(max-width:900px){.job-editor .form-grid,.job-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.job-editor .operation-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.job-summary-heading{align-items:flex-start}.job-summary-heading-end{justify-content:flex-start}.job-editor .form-grid,.job-editor .operation-form,.job-detail-facts{grid-template-columns:minmax(0,1fr)}}.badge{font-size:14px;letter-spacing:.4px;border-radius:4px;background:#c7e3cc;color:#1c5739;padding:5px 7px;white-space:nowrap;display:inline-block;font-weight:600}.badge.holding{background:#faf0d8;color:#936b27}.badge.awaiting_materials{background:#f8e9ce;color:#805719}.badge.urgent{background:#fae5df;color:#9b3728}[data-theme=dark] .badge.urgent{background:#683529;color:#ffe4d8}.job-editor .job-urgent-toggle{align-self:start;margin:22px 0 8px}.badge.blocked,.badge.inactive{background:#f8e7df;color:#9d5847}.badge.paused{background:#e9dfbc;color:#5a4b24}.badge.running,.badge.in_progress{background:#e5edf7;color:#496d9b}.priority{display:flex;align-items:center;gap:5px}.priority:before{content:"";width:5px;height:5px;background:#84a68d;border-radius:50%}.priority.p2:before{background:#c69d4c}.priority.p3:before{background:#c1795c}.operation-track{display:flex;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.operation-track>span{font-size:14px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.operation-track i{width:7px;height:7px;border:1px solid #b5c4ba;border-radius:50%}.operation-track i.complete{background:var(--green)}.operation-track i.running{background:#86a8c6}.operation-track small{color:var(--muted);font-size:14px}.job-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:15px}.job-actions:empty{display:none}.job-actions button{font-size:14px;min-height:37px;padding:8px 11px}.job-delete-button{border-color:#bc7667;color:#9a3f32}.job-delete-button:hover{border-color:#9a3f32;background:#fae9e5}.job-delete-confirm{margin-top:12px;padding:12px 14px;border:1px solid #bc7667;border-radius:7px;background:#fff4f0}.job-delete-confirm p{margin:0}.job-delete-confirm .job-actions{margin-top:10px}[data-theme=dark] .job-delete-button{border-color:#bb8676;color:#f3b8a9;background:#362922}[data-theme=dark] .job-delete-button:hover{background:#52352b}[data-theme=dark] .job-delete-confirm{background:#332820;border-color:#bb8676}details{font-size:14px}summary{padding:15px 0;cursor:pointer;color:var(--muted)}details p{font-size:14px}details p:last-child{margin-bottom:0}.panel{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);min-width:0;margin-bottom:20px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.overview-bottom{margin-top:24px}.overview-logistics+.overview-bottom{margin-top:0}.overview-jobs-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.overview-jobs-heading h2{margin-bottom:4px}.overview-jobs-heading p{margin:0;color:var(--muted)}.overview-jobs-heading .text-button{white-space:nowrap}.overview-job-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.overview-job-type{display:grid;grid-template-columns:1fr auto auto;grid-template-rows:auto auto;gap:8px;align-items:start;padding:12px;text-align:left;background:var(--soft);border-color:var(--line)}.overview-job-type:hover,.overview-job-type:focus-visible{border-color:var(--green)}.overview-job-type-label{font-size:15px;font-weight:650}.overview-job-type strong{grid-column:2;grid-row:1;font-size:24px;line-height:1}.overview-job-type-caption{grid-column:1 / -1;color:var(--muted);font-weight:400;line-height:1.35}.overview-job-type>svg{grid-column:3;grid-row:1;color:var(--green);justify-self:end}.overview-jobs-alerts{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted)}.overview-jobs-alerts strong{color:var(--text)}.overview-logistics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;margin-bottom:20px}.overview-logistics-card{display:flex;flex-direction:column;margin-bottom:0}.overview-jobs{margin-bottom:0}.stock-table.overview-summary-table{min-width:0;table-layout:fixed;font-size:13px;overflow-wrap:anywhere}.stock-table.overview-summary-table thead th{padding:10px 6px;font-size:12px;letter-spacing:.3px;white-space:normal}.stock-table.overview-stock-in-table th:nth-child(1){width:25%}.stock-table.overview-stock-in-table th:nth-child(2){width:26%}.stock-table.overview-stock-in-table th:nth-child(3){width:22%}.stock-table.overview-stock-in-table th:nth-child(4){width:27%}.stock-table.overview-outgoing-table th:nth-child(1){width:42%}.stock-table.overview-outgoing-table th:nth-child(2){width:27%}.stock-table.overview-outgoing-table th:nth-child(3){width:31%}.overview-stock-in-table .badge{max-width:100%;padding:4px 3px;font-size:11px;white-space:normal}.stock-table.overview-summary-table tbody th,.stock-table.overview-summary-table tbody td{vertical-align:top;padding:10px 6px}.stock-table.overview-summary-table tbody th{min-width:0;font-size:13px}.overview-summary-table .table-muted-line{font-size:12px}.overview-summary-table time{white-space:normal}@media(max-width:1200px){.overview-logistics>.panel,.overview-bottom>.panel{padding:18px}.overview-logistics,.overview-bottom{gap:16px}.overview-job-types{gap:8px}.overview-job-type{padding:10px}.overview-job-type-caption{font-size:13px}}@media(max-width:760px){.overview-logistics{grid-template-columns:minmax(0,1fr)}}@media(max-width:1000px){.overview-job-type{grid-template-columns:1fr auto}.overview-job-type-label{font-size:13px}.overview-job-type strong{font-size:20px}.overview-job-type>svg{display:none}}.overview-logistics-title{display:flex;align-items:center;gap:10px}.overview-logistics-title svg{color:var(--green)}.overview-logistics-title h2{margin:0}.overview-logistics-title .count{margin-left:auto}.overview-logistics-card>p{margin:10px 0 16px;color:var(--muted)}.overview-logistics-list .logistics-row{display:block;padding:14px 0}.overview-logistics-list .logistics-entry-link{display:block;color:var(--text)}.overview-logistics-list .logistics-row time{display:block;margin-top:8px}.overview-logistics-more{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:12px;color:var(--muted);font-size:14px}.overview-logistics-card>.empty{padding:24px 12px}.overview-bottom .panel{margin-bottom:0}.resource-line{display:flex;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;flex-wrap:wrap}.resource-line:last-child{border-bottom:0}.resource-line strong{font-weight:500}.resource-line>span:last-child{margin-left:auto;color:var(--muted);max-width:70%}.resource-dot{width:7px;height:7px;background:#8caa77;border-radius:2px}.resource-dot.off{background:#b5bdb8}.activity{display:flex;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5}.activity svg{color:#66927a;flex:none;margin-top:3px}.activity small{display:block;color:var(--muted);font-size:14px;margin-top:4px}.page-footer{display:flex;justify-content:space-between;gap:20px;padding-top:28px;margin-top:25px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.notice{padding:14px 18px;border-radius:7px;margin-bottom:20px;font-size:14px;line-height:1.6;display:flex;justify-content:space-between;gap:18px}.notice.success{background:var(--soft);color:var(--green)}.notice.error{background:#fff0e5;color:#8b4f29;border:1px solid #e5bea4}.empty{border:1px dashed var(--line);border-radius:7px;text-align:center;padding:36px 20px;color:var(--muted);font-size:14px;line-height:1.6}.count{background:var(--soft);border-radius:5px;padding:4px 7px;font-size:14px;margin-left:6px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;min-width:0}.field>span,.field-caption{font-size:14px;font-weight:600}.field small{color:var(--muted);font-size:14px;line-height:1.5}.field textarea{resize:vertical}.job-file-editor{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:7px}.job-file-editor .field{margin-bottom:6px}.job-file-editor input[type=file]{width:100%}.job-file-line{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}.job-file-line>:first-child{flex:1;min-width:140px;overflow-wrap:anywhere}.job-file-line>span:nth-child(2){color:var(--muted)}.checkbox-row{display:flex;flex-wrap:wrap;gap:15px;margin:17px 0}.checkbox-row label,.check-label{display:flex;align-items:center;gap:9px;font-size:14px;line-height:1.5}.check-label{margin:16px 0}.operation-form{display:grid;grid-template-columns:1fr 1fr 2fr;gap:24px;border:1px solid var(--line);border-radius:7px;padding:19px;margin-bottom:16px}.operation-form h3{font-size:14px}.dependency{display:flex;align-items:center;gap:14px;padding-top:10px}.dependency>label{display:flex;align-items:center;gap:7px;font-size:14px}.material-line{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px;padding:12px 0;border-bottom:1px solid var(--line)}.material-line span{color:var(--muted)}.material-line button{font-size:14px;min-height:32px;padding:5px 9px}.material-edit-line{display:grid;grid-template-columns:minmax(150px,2fr) minmax(100px,1fr) minmax(140px,1.5fr) 40px;align-items:end}.material-edit-line .field{margin:0}.material-edit-line select,.material-edit-line input{width:100%}.material-edit-line .material-remove{width:40px;height:40px;min-height:40px;padding:0;display:grid;place-items:center;justify-self:end}.material-group{margin-top:12px}.material-add-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.material-add-actions button{display:inline-flex;align-items:center;gap:6px;min-height:40px}.material-column-headings{display:grid;grid-template-columns:minmax(150px,2fr) minmax(100px,1fr) minmax(140px,1.5fr) 40px;gap:8px;padding:0 0 6px;color:var(--muted);font-size:14px;font-weight:600}@media(min-width:621px){.material-edit-line .field>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@media(max-width:620px){.material-column-headings{display:block;font-size:14px}.material-column-headings span:not(:first-child){display:none}.material-edit-line{grid-template-columns:minmax(0,1fr) 40px}.material-edit-line .field:nth-child(-n+2){grid-column:1 / -1}.material-edit-line .field:nth-child(3){grid-column:1}.material-edit-line .material-remove{grid-column:2}}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.planning{display:flex;align-items:center;justify-content:space-between;gap:20px}.planning p{font-size:14px;color:var(--muted);margin:0}.clock-control{background:var(--soft);padding:0 20px;border-radius:7px;margin-bottom:20px}.clock-control .field{max-width:300px}.clock-control>button{margin-bottom:16px}.preview-tools{margin-top:24px}.calendars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.calendars>.panel{padding:18px}.calendars h2{font-size:15px}.calendars .section-heading{gap:7px}.allocation{border-left:3px solid #91ad79;background:var(--soft);border-radius:4px;padding:14px;margin:12px 0;font-size:14px}.allocation.edging{border-left-color:#c9a05e}.allocation.bonding{border-left-color:#8c9dbf}.allocation>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.allocation>div>span{display:flex;gap:5px;align-items:center}.allocation p{margin:9px 0;color:var(--muted)}.allocation b{font-size:14px;line-height:1.7}.allocation small{display:block;font-size:14px;line-height:1.6;margin-top:6px;color:var(--muted)}.allocation-wrap{border-bottom:1px solid var(--line);padding-bottom:8px}.allocation-wrap:last-child{border:0}.allocation-wrap .checkbox-row{flex-direction:column}.inline-warning{color:var(--warn);font-size:14px;line-height:1.6;display:block;margin:12px 0}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.tabs button{padding:8px 15px;border-radius:999px}.tabs .selected,.tabs button[aria-pressed=true]{background:var(--soft);color:var(--text);border-color:var(--green)}.view-tabs{gap:8px;border-bottom:1px solid var(--line)}.view-tabs button{padding:12px 17px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent}.view-tabs button:hover{background:var(--soft);border-bottom-color:var(--line)}.view-tabs button.selected{color:var(--green);background:transparent;border-bottom-color:var(--green)}.tabs.filter-buttons{align-items:center}.tabs .filter-label{font-size:13px;font-weight:400;color:var(--text);opacity:1;margin-right:4px}.tabs span{font-size:14px;opacity:.7}.work-list{display:grid;gap:10px}.work-row{background:var(--surface);border:1px solid var(--line);border-left:4px solid #91ad79;border-radius:7px;box-shadow:var(--shadow);min-width:0}.work-row.edging{border-left-color:#c9a05e}.work-row.bonding{border-left-color:#8c9dbf}.work-row-summary{display:grid;grid-template-columns:minmax(180px,1.6fr) minmax(175px,1.3fr) minmax(90px,.7fr) auto auto;gap:14px;align-items:center;padding:15px 18px;color:var(--text);list-style:none}.work-row-summary::-webkit-details-marker{display:none}.work-row-summary:hover{background:var(--soft)}.work-row-summary>span,.work-row-expanded>div{min-width:0}.work-row-label{display:block;color:var(--muted);font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px}.work-row-job strong,.work-row-title{display:block;line-height:1.45}.work-row-job strong{font-size:14px}.work-row-title{color:var(--muted);font-size:14px;overflow-wrap:anywhere}.work-row-kind{display:block;color:var(--muted);font-size:14px;line-height:1.45}.work-row-schedule strong,.work-prerequisites{display:block;line-height:1.5}.work-row-schedule strong,.work-row-assignment{font-size:14px}.work-row-assignment svg{vertical-align:middle;margin-left:5px}.work-row-toggle{color:var(--green);font-size:14px;font-weight:600;white-space:nowrap}.work-row-toggle:after{content:"⌄";font-size:18px;margin-left:5px;vertical-align:-1px}.work-row[open] .work-row-toggle:after{content:"⌃"}.work-row-expanded{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.7fr);gap:28px;padding:18px 20px 20px;border-top:1px solid var(--line)}.work-row-details:only-child{grid-column:1 / -1}.work-prerequisites{color:var(--muted);margin-top:8px}.work-row .instructions{margin:0 0 8px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.work-row .inline-warning{margin:8px 0 0}.work-row-controls .check-label{margin:0 0 10px}.work-row-controls .field{margin-bottom:10px}.work-actions{display:flex;gap:8px}.work-actions button{flex:1;min-height:42px;font-size:14px}.work-material{display:block;padding:3px 0;color:var(--muted)}@media(max-width:700px){.work-row-summary{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.work-row-schedule{grid-column:1}.work-row-assignment{grid-column:2}.work-row-toggle{grid-column:1 / -1}.work-row-expanded{grid-template-columns:1fr}}.text-button{border:0;background:transparent;color:var(--green);font-size:14px;margin-top:12px}.catalogue-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:20px;align-items:start}.catalogue-heading{margin-bottom:16px}.catalogue-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.catalogue-card{min-width:0;padding:18px;overflow-wrap:anywhere}.catalogue-card>.section-heading{align-items:flex-start;gap:12px;margin-bottom:0}.catalogue-card h3{margin:0}.catalogue-card-details{display:grid;gap:4px;margin-top:14px;color:var(--muted);font-size:14px;line-height:1.45}.catalogue-editor{display:grid;gap:10px;margin-top:16px}.catalogue-editor .field{margin:0}.catalogue-editor .form-actions{margin-top:6px}.stock-search{display:flex;justify-content:flex-end;margin-bottom:20px}.stock-section+.stock-section{margin-top:28px}.stock-table-wrap{padding:0}.stock-table{min-width:800px}.jobs-table{min-width:880px}.jobs-table tbody .job-summary-row{cursor:pointer}.jobs-table .job-summary-row>td:nth-child(3),.jobs-table .job-summary-row>td:nth-child(4){white-space:nowrap}.jobs-table tbody tr.job-summary-row:hover,.jobs-table tbody tr.job-summary-row:focus-within{background:var(--row-hover)}.workstation-table{min-width:880px;width:100%;table-layout:fixed}.workstation-table th:nth-child(1){width:20%}.workstation-table th:nth-child(2){width:9%}.workstation-table th:nth-child(3){width:21%}.workstation-table th:nth-child(4){width:10%}.workstation-table th:nth-child(5){width:19%}.workstation-table th:nth-child(6){width:21%}.workstation-table .badge{box-sizing:border-box;max-width:100%}.workstation-table tbody .workstation-summary-row{cursor:pointer}.workstation-table tbody .workstation-summary-row:hover{background:var(--soft)}.work-entry-button{min-height:36px;white-space:normal;font-weight:600}.work-entry-recorded{font-size:14px;font-weight:600;color:var(--text)}.work-completion-record{display:grid;gap:4px;margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--soft)}.work-completion-record small{color:var(--muted)}.work-action-help{margin:4px 0 14px;font-size:14px;line-height:1.45}.work-action-blocker{margin:10px 0;color:var(--warn);font-size:14px;line-height:1.5}.logistics-table{min-width:880px}.stock-in-table{min-width:1020px}.stock-in-table td:last-child button{white-space:nowrap}.directory-table{min-width:760px}.table-row-link{display:grid;gap:3px;justify-content:start;min-height:0;padding:0;border:0;background:transparent;color:var(--text);text-align:left;font-weight:400}.table-row-link:hover{background:transparent;color:var(--green)}.table-row-link span{color:var(--muted);font-size:14px}.table-muted-line{display:block;margin-top:3px;color:var(--muted);font-size:14px}.table-status{display:flex;flex-wrap:wrap;gap:4px}.stock-table .table-detail-row>td{padding:0;background:var(--surface)}.jobs-table tbody .job-row-gap>td{height:12px;padding:0;border:0;background:var(--bg)}.stock-table .table-detail-row .job-row-expanded,.stock-table .table-detail-row .work-row-expanded{border-top:0}.stock-table tbody tr.stock-row>th,.stock-table tbody tr.stock-row>td{line-height:1.45}.work-row-expanded .instructions{margin:0 0 8px;overflow-wrap:anywhere}.work-row-expanded .inline-warning{margin:8px 0 0}.stock-table thead th{white-space:nowrap;padding:13px 12px}.stock-table thead th span:not(.sr-only){text-transform:none;letter-spacing:0}.stock-table tbody th,.stock-table tbody td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}.stock-table tbody th{text-align:left;font-weight:600;min-width:160px;color:var(--text);background:transparent;font-size:14px;letter-spacing:normal;text-transform:none}.stock-table.stock-in-table tbody th,.stock-table.stock-in-table tbody td{vertical-align:top}.logistics-purchase-order{margin:0 0 16px}.logistics-purchase-order>.muted{margin:4px 0 0}.logistics-delivery-actions{margin-top:14px;padding:12px 0;border-block:1px solid var(--line)}.logistics-delivery-actions>p{margin:0 0 10px}.logistics-delivery-actions .job-actions{flex-wrap:wrap}.stock-in-status-section>.section-heading h3{margin:0;font-size:18px}.stock-in-status-section .purchase-orders{gap:16px}.stock-in-status-section .logistics-purchase-order{margin:0}.purchase-material-status-table{min-width:860px}.purchase-material-status-table .purchase-material-status{width:100px;white-space:nowrap}.damage-quantity-field{display:flex;flex-direction:column;gap:5px;margin-top:12px;white-space:normal;font-size:13px}.damage-quantity-field input{width:110px;max-width:100%;min-height:38px}.damage-quantity-field small{color:var(--muted)}.badge.damage-badge,.purchase-order .badge.damage-badge{color:var(--warn);background:var(--bg);border:1px solid var(--warn)}.purchase-damage-notice{margin:12px 0;color:var(--text);line-height:1.6}.purchase-damage-notice .badge{margin-right:6px}.purchase-material-status .damage-quantity{white-space:normal;margin-top:6px;font-size:13px}.stock-in-order-jobs ul{display:grid;gap:5px;margin:7px 0 0;padding:0;list-style:none;font-weight:400;overflow-wrap:anywhere}.stock-inactive{display:block;margin-top:3px;color:var(--muted);font-size:14px;font-weight:400}.stock-table tbody tr.stock-row-alt{background:var(--soft)}.stock-table .stock-row-action{width:58px;text-align:right}.stock-table tbody tr.stock-row-editing th,.stock-table tbody tr.stock-row-editing td{padding:8px 6px}.stock-row-editing input:not([type=checkbox]),.stock-row-editing select{width:100%;min-width:0;min-height:34px;padding:5px 7px;font-size:14px}.stock-inline-name,.stock-inline-actions{display:flex;align-items:center;gap:4px}.stock-inline-name input:not([type=checkbox]){flex:1}.stock-inline-name{flex-direction:column;align-items:stretch}.stock-inline-name label{flex:none;display:flex;align-items:center;gap:5px;font-size:12px;font-weight:400}.stock-inline-name input[type=checkbox]{width:16px;height:16px;margin:0}.stock-table .stock-row-editing .stock-row-action{width:72px}.stock-inline-actions button{display:inline-flex;align-items:center;justify-content:center;width:30px;min-height:30px;padding:0}.stock-new-record{max-width:720px;margin-bottom:24px}.stock-new-record h2{margin-bottom:0}@media(max-width:1100px){.catalogue-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.catalogue-cards{grid-template-columns:1fr}}.search{max-width:210px;font-size:14px}.table-scroll{position:relative;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:14px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);font-weight:500;padding:13px 10px;background:var(--bg)}td{padding:16px 10px;border-bottom:1px solid var(--line);line-height:1.6}td strong{font-weight:500}td button{font-size:14px;min-height:32px;padding:5px 9px}.supplier-table th:last-child,.supplier-table .supplier-actions{width:54px;text-align:right}.supplier-contact{display:grid;gap:2px;color:var(--muted);overflow-wrap:anywhere}.supplier-edit{display:inline-flex;align-items:center;justify-content:center;width:34px;min-height:34px;padding:0}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.profile{padding:18px;background:var(--bg);border:1px solid var(--line);border-radius:7px}.profile p{font-size:14px;color:var(--muted)}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.resource-editor{margin-bottom:0}.panel.staff-card{padding:16px}.staff-draft-label{margin-bottom:8px;color:var(--muted);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.staff-card .section-heading{gap:8px;margin-bottom:0}.add-staff-panel{max-width:480px;margin-bottom:18px}.add-staff-panel .form-actions{justify-content:flex-start}.panel.resource-editor .section-heading{flex-wrap:nowrap}.resource-editor .section-heading h3{min-width:0;margin:0;overflow-wrap:anywhere}.resource-editor .section-heading h3.editing{outline:2px solid var(--green);outline-offset:4px;border-radius:2px;background:var(--surface);cursor:text}.staff-name-input{width:min(100%,260px);min-width:0;min-height:36px;padding:6px 8px;font-size:1.17em;font-weight:700}.staff-section-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.staff-section-actions .muted{font-size:14px}.staff-members-actions{margin:14px 0 0;padding:0;border-top:0}.staff-card-pending{border-color:var(--green)}.edit-name-button{min-width:28px;min-height:28px;padding:5px;flex:none}.staff-station-list{display:grid;gap:4px;margin:10px 0 0}.staff-station-heading,.staff-station-row{display:grid;grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:8px}.staff-station-row{min-height:36px}.staff-station-heading{color:var(--muted);font-size:14px;font-weight:600}.staff-station-row label{display:flex;align-items:center;gap:8px;min-width:0}.staff-priority-control{display:grid;grid-template-columns:minmax(0,1fr) 24px;height:36px}.staff-priority-control input{width:100%;min-width:0;min-height:36px;padding:5px;border-radius:7px 0 0 7px;text-align:center}.staff-priority-control.is-pending{border-radius:7px;box-shadow:0 0 0 2px var(--green)}.staff-priority-control.is-pending input{background:var(--soft);border-color:var(--green);font-weight:700}.staff-priority-steps{display:grid;grid-template-rows:repeat(2,18px)}.staff-priority-steps button{width:24px;min-width:24px;height:18px;min-height:18px;padding:0;border-radius:0 7px 0 0}.staff-priority-steps button+button{border-radius:0 0 7px;border-top:0}.staff-sections{display:grid;gap:26px;margin-top:28px}.staff-section-heading{flex-wrap:wrap}.staff-section-heading>button{flex:none;white-space:nowrap}.staff-schedule-section{margin-bottom:0}.staff-window-row{display:grid;grid-template-columns:minmax(325px,1.7fr) repeat(2,minmax(140px,1fr)) auto;gap:12px;align-items:end;margin:14px 0}.weekday-options{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;min-height:40px}.weekday-options label{display:inline-flex;align-items:center;gap:2px;white-space:nowrap;font-size:14px}.weekday-options input{margin:0}.quarter-time{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}.quarter-time select{min-width:0;width:100%}.staff-window-row>button{min-height:40px}.staff-window-row>.field{margin-bottom:0}.staff-window-row>.staff-row-remove,.holiday-row-fields>.staff-row-remove{display:inline-grid;place-items:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:4px;justify-self:center;align-self:end;margin-bottom:5px}.holiday-panel{padding:0;overflow:hidden}.holiday-table input,.holiday-table select{width:100%;min-width:0;min-height:34px;padding:5px 7px;font-size:14px}.holiday-table tbody th,.holiday-table tbody td{padding:8px}.holiday-panel>.staff-section-actions,.holiday-panel>.holiday-undo,.holiday-panel>.inline-warning,.holiday-panel>.holiday-empty{margin:0;padding:14px 16px}.holiday-row{padding:20px 0 14px}.holiday-row+.holiday-row{border-top:1px solid var(--line)}.holiday-row-fields{display:grid;grid-template-columns:minmax(130px,1fr) repeat(2,minmax(150px,1fr)) minmax(130px,1.1fr) 32px;gap:12px;align-items:end}.holiday-row-fields .field{margin-bottom:0;min-width:0}.holiday-row-fields input,.holiday-row-fields select{width:100%;min-width:0}.holiday-row-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:24px;margin-top:8px;color:var(--muted);font-size:14px}.holiday-row-status.has-error{color:var(--warn)}.holiday-row-status button{padding:3px 8px;min-height:26px;font-size:14px}.holiday-draft-label{border-radius:4px;padding:2px 6px;background:var(--soft);font-weight:600}.holiday-empty{display:flex;align-items:center;gap:16px;padding:28px 0;color:var(--muted)}.holiday-empty strong{color:var(--text)}.holiday-empty p{margin:5px 0 0;font-size:14px}.holiday-undo{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:12px;border-top:1px solid var(--line);font-size:14px}@media(max-width:900px){.staff-window-row{grid-template-columns:1fr 1fr}.holiday-row-fields{grid-template-columns:1fr 1fr 32px}.holiday-row-fields>.field:first-child{grid-column:1 / 3}.holiday-row-fields>.staff-row-remove{grid-column:3;grid-row:1}.holiday-row-fields>.field:nth-child(4){grid-column:1 / 3}.staff-day-field{grid-column:1 / -1}}@media(max-width:520px){.staff-window-row{grid-template-columns:1fr}}.window{border:1px solid var(--line);padding:15px;border-radius:6px;margin-bottom:12px}.window .two-col{gap:12px}.exclusion{background:var(--soft);padding:12px;margin:10px 0;border-radius:5px;font-size:14px}.exclusion small{display:block;margin:7px 0;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}html[data-theme=dark]{--bg: #16241f;--surface: #1e3028;--text: #e0e9e2;--muted: #a0b2a6;--line: #34483c;--green: #407e60;--soft: #293e30;--row-hover: #355d4b;--sidebar: #102c25;--warn: #e0b771;color-scheme:dark}html[data-theme=dark] .badge{background:#326a49;color:#e9f8ec}html[data-theme=dark] .notice.error{background:#483223;color:#f1c8a3;border-color:#6d5035}html[data-theme=dark] .badge.holding{background:#51442a;color:#e4c685}html[data-theme=dark] .badge.awaiting_materials{background:#57452a;color:#f1d59d}html[data-theme=dark] .badge.blocked,html[data-theme=dark] .badge.inactive{background:#52382d;color:#e1b4a1}html[data-theme=dark] .badge.paused{background:#665b37;color:#f5e8b8}html[data-theme=dark] .badge.running,html[data-theme=dark] .badge.in_progress{background:#2d4563;color:#dceafe}html[data-theme=dark] a{color:#a4ceb2}html[data-theme=dark] .view-tabs button.selected{color:#a4ceb2;border-bottom-color:#a4ceb2}@media(max-width:1200px){.overview-job-types{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:210px}.main-shell{margin-left:210px}main{padding:28px 24px}.topbar{padding:0 24px}.calendars,.catalogue-layout{grid-template-columns:1fr}}@media(max-width:1100px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.sidebar{position:relative;width:100%;padding:14px 16px}.brand{padding:0;flex-direction:row;align-items:center;gap:20px}.brand-logo{width:180px;flex-shrink:0}.brand>span:last-child{font-size:14px;letter-spacing:1.5px}.sidebar nav{flex-direction:row;overflow-x:auto;margin-top:15px;padding-bottom:3px}.nav{white-space:nowrap;min-height:44px;font-size:14px;padding:10px;gap:7px}.nav-count{display:none}.shell{display:block}.main-shell{margin-left:0}.topbar{padding:12px 18px;height:auto;gap:12px}.identity{flex-direction:row;justify-content:flex-end;align-items:center}.identity select{max-width:210px}main{padding:25px 18px}.page-heading{gap:14px;align-items:flex-start}h1{font-size:27px}.page-heading>button{font-size:14px;padding:9px}.two-col,.profile-grid,.resource-grid,.operation-form{grid-template-columns:1fr}.panel{padding:19px}.planning{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr 1fr}.page-footer{font-size:14px;line-height:1.6}.section-heading{gap:10px}.tabs button{padding:12px}.notice{display:block}.notice button{margin-top:12px}}@media(max-width:480px){.overview-jobs-heading{flex-wrap:wrap}.overview-job-types,.form-grid{grid-template-columns:1fr}.identity label{max-width:110px}.page-heading p{font-size:14px}.page-footer{flex-direction:column;gap:8px}.panel .section-heading{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.calendar-panel{min-width:0}.calendar-panel>.section-heading{padding-bottom:12px;border-bottom:1px solid var(--line)}.calendar-grid-card{overflow:hidden}.calendar-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:18px 0}.calendar-filters label,.calendar-fields>label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;min-width:170px}.calendar-filters input,.calendar-filters select{min-height:38px}.calendar-filter-sections{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px;margin-bottom:18px}.calendar-list{min-width:0;padding:10px 12px 12px;border:1px solid var(--line);border-radius:7px}.calendar-list legend{padding:0 5px;font-size:14px;font-weight:700}.calendar-list-items{display:flex;flex-wrap:wrap;gap:8px 16px}.calendar-list label{display:inline-flex;align-items:center;gap:7px;font-size:14px;cursor:pointer}.calendar-list input[type=checkbox]{width:15px;height:15px;min-height:0;margin:0}.calendar-staff-key{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.calendar-staff-key>span{display:inline-flex;align-items:center;gap:5px}.calendar-staff-swatch{display:inline-block;width:10px;height:10px;border-radius:3px}.calendar-legend{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:var(--muted);font-size:14px;margin:0 0 16px}.calendar-legend span{display:inline-flex;align-items:center;gap:5px}.calendar-legend span:before{content:"";width:10px;height:10px;border-radius:3px;background:#8d9ab9}.calendar-legend .cutting:before{background:#4d826a}.calendar-legend .edging:before{background:#bf9656}.calendar-legend .bonding:before{background:#8090b7}.calendar-legend .staff-hours:before{background:#4f9fbd}.calendar-legend .staff-away:before{background:#a35c4b}.calendar-legend .legend-lock:before{display:none}.calendar-host{overflow-x:auto;--fc-classic-background: var(--surface);--fc-classic-foreground: var(--text);--fc-classic-border: var(--line);--fc-classic-strong-border: var(--line);--fc-classic-muted-foreground: var(--muted);--fc-classic-today: #79ac7630;--fc-classic-primary: var(--green);--fc-classic-button: var(--surface);--fc-classic-button-border: var(--line);--fc-classic-button-foreground: var(--text);--fc-classic-button-strong: var(--green);--fc-classic-button-strong-border: var(--green);--fc-border-color: var(--line);--fc-page-bg-color: var(--surface);--fc-neutral-bg-color: var(--bg);--fc-list-event-hover-bg-color: var(--soft);--fc-today-bg-color: #dcecdf68;--fc-button-bg-color: var(--surface);--fc-button-border-color: var(--line);--fc-button-text-color: var(--text);--fc-button-hover-bg-color: var(--soft);--fc-button-hover-border-color: var(--green);--fc-button-active-bg-color: var(--green);--fc-button-active-border-color: var(--green)}.calendar-host .fc{font-family:inherit;font-size:14px;min-width:570px;color:var(--text)}.calendar-host [role=columnheader] [aria-hidden=true],.calendar-host [role=gridcell][data-date] [aria-hidden=true],.calendar-host [title^="Show "][aria-haspopup=dialog]>div,.calendar-host [data-time]>div>div{font-size:14px!important}.calendar-host .fc .fc-toolbar-title{font-size:20px;font-weight:650;letter-spacing:-.4px}.calendar-host .fc .fc-button{border-radius:6px;box-shadow:none;text-transform:capitalize;font-size:14px}.calendar-host .fc .fc-button:focus-visible,.calendar-host .fc .fc-event:focus-visible{outline:3px solid #b3994d;outline-offset:2px}.calendar-host .fc .fc-daygrid-day-number,.calendar-host .fc .fc-col-header-cell-cushion{color:var(--text);text-decoration:none}.calendar-host .fc .fc-timegrid-slot-label-cushion,.calendar-host .fc .fc-list-day-text,.calendar-host .fc .fc-list-day-side-text{color:var(--muted)}.calendar-host :is(.calendar-booking,.calendar-staff-hours,.calendar-staff-away){cursor:pointer;border:0;padding:2px 4px;border-radius:4px;color:#fff;overflow:hidden}.calendar-host :is(.calendar-booking,.calendar-staff-hours,.calendar-staff-away).calendar-cutting{background:#39745c}.calendar-host :is(.calendar-booking,.calendar-staff-hours,.calendar-staff-away).calendar-edging{background:#a97e39}.calendar-host :is(.calendar-booking,.calendar-staff-hours,.calendar-staff-away).calendar-bonding{background:#6b78a5}.calendar-host :is(.calendar-booking,.calendar-staff-hours,.calendar-staff-away).calendar-complete{background:#626b70;border-color:#aab0b4;color:#fff;opacity:1}.calendar-host :is(.calendar-booking,.calendar-staff-hours,.calendar-staff-away).calendar-paused{background:#77715d;border:2px dashed #e4d5a6}.calendar-host :is(.calendar-booking,.calendar-staff-hours,.calendar-staff-away).calendar-running{border:3px solid #d6ec8d;box-shadow:0 0 0 2px #173c2e,0 0 0 4px #d6ec8d;z-index:2}.calendar-host :is(.calendar-booking,.calendar-staff-hours,.calendar-staff-away).calendar-blocked{background:#ad6250;border:3px solid #f3c18a;z-index:2}.calendar-host :is(.calendar-booking,.calendar-staff-hours,.calendar-staff-away).calendar-locked{box-shadow:inset 0 0 0 2px #f5d68c}.calendar-host :is(.calendar-booking,.calendar-staff-hours,.calendar-staff-away).calendar-staff-hours{border:1px dashed #e8f3ef;cursor:default}.calendar-host :is(.calendar-booking,.calendar-staff-hours,.calendar-staff-away).calendar-staff-away{background:#a35c4b;border:1px dashed #f0c4b7;cursor:default}.calendar-event-content{display:flex;flex-direction:column;white-space:nowrap;line-height:1.25;font-size:14px;gap:2px;min-width:0}.calendar-event-content strong{flex-shrink:0;font-size:14px;overflow:hidden;text-overflow:ellipsis}.calendar-event-prediction-label{font-size:11px;font-style:italic}.calendar-event-content span{overflow:hidden;text-overflow:ellipsis}.calendar-hours-content{white-space:nowrap}.calendar-host :is(.calendar-booking,.calendar-staff-hours,.calendar-staff-away).calendar-predicted{border:2px dashed #d8e6df}.calendar-forecast-note{margin:16px 0 0;color:var(--muted);font-size:13px}.calendar-waiting{margin-top:16px;padding:0}.stock-save-error{min-width:150px;max-width:220px;white-space:normal;font-size:12px;margin:6px 0 0}.calendar-waiting p{margin:6px 0 0}.calendar-blocked-section{min-width:0}.calendar-blocked-section p{margin:0}.calendar-blocked-section p+p{margin-top:12px}.schedule-unscheduled{min-width:0}.calendar-blocked-entry{flex-direction:column;align-items:flex-start;border:0;background:transparent;color:inherit;padding:0;text-align:left}.calendar-blocked-entry span{display:block}.calendar-blocked-entry-main{font-weight:600;text-decoration:underline;text-underline-offset:3px}.calendar-blocked-entry-detail{margin-top:3px}.calendar-editor{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.calendar-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.calendar-detail-grid p{font-size:14px}.calendar-fields{display:flex;flex-direction:column;gap:12px}.calendar-fields .checkbox-row{margin:4px 0}.calendar-editor-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}html[data-theme=dark] .calendar-host{--fc-today-bg-color: #427d5a33}html[data-theme=dark] .calendar-host .fc .fc-button-primary{background:var(--surface);color:var(--text)}html[data-theme=dark] .calendar-host .fc .fc-button-primary:hover{background:var(--soft)}@media(max-width:900px){.calendar-filter-sections{grid-template-columns:1fr}}@media(max-width:700px){.calendar-detail-grid{grid-template-columns:1fr}.calendar-host .fc .fc-toolbar{flex-wrap:wrap;gap:12px}.calendar-host .fc .fc-toolbar-title{font-size:16px}}.purchase-orders{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:16px 0}.job-purchasing-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:10px 0;border-bottom:1px solid var(--line)}.job-purchasing-row a{margin-left:auto}.purchasing-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:16px 0 28px}.purchasing-toolbar p,.purchasing-toolbar .job-actions{margin:0}.purchase-status-section{margin:28px 0 40px}.purchase-status-section>.section-heading{padding-bottom:12px;border-bottom:1px solid var(--line)}.purchasing-page .purchase-orders{gap:18px}.purchasing-page .purchase-order-card{padding:20px}.purchase-order-heading h3{margin:0}.purchase-order-title{font-weight:650;white-space:nowrap}.purchase-single-order summary{line-height:1.6}.purchase-single-order>.purchase-order{margin-top:18px;padding:0;border:0}.purchase-status-section>.empty{text-align:left;padding:12px 0;border:0;background:transparent}.purchase-target{outline:2px solid var(--green);outline-offset:4px;border-radius:8px}.purchasing-page details{margin:12px 0}.purchasing-page summary{cursor:pointer;font-weight:600}.purchasing-page .job-actions [aria-pressed=true]{background:var(--soft);font-weight:700}.purchase-order-supply{list-style:none;margin:12px 0;padding:0}.purchase-job-allocation{display:flex;flex-direction:column;gap:3px;margin-top:5px}.purchase-material-table-wrap{margin:16px 0 20px;overflow:auto}.purchase-material-table{min-width:760px;margin:0}.purchase-material-table tbody th,.purchase-material-table tbody td{vertical-align:top}.purchase-material-table tbody th{width:26%}.purchase-material-table .purchase-material-quantity{white-space:nowrap}.purchase-material-table .purchase-job-allocation{margin-top:0;font-size:14px}.purchase-material-table .purchase-job-allocation+.purchase-job-allocation{margin-top:10px}.purchase-job-allocation>a{text-decoration:none}.purchase-job-allocation>a:hover{color:var(--text)}.purchase-stock-highlight{align-self:flex-start;max-width:100%;padding:5px 9px;border-left:3px solid var(--green);border-radius:4px;background:var(--soft);color:var(--text)}.purchase-order-supply li{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.purchase-order{border:1px solid var(--line);border-radius:8px;padding:18px;min-width:0}.purchase-order .badge{color:var(--text);background:var(--soft)}.purchase-order .job-actions{flex-wrap:wrap;margin:16px 0}.job-row-expanded .purchase-orders{gap:10px;margin:10px 0}.job-row-expanded .purchase-order{padding:12px}.job-row-expanded .purchase-order .section-heading{margin-bottom:6px}.job-row-expanded .purchase-order .field{gap:4px;margin-bottom:8px}.job-row-expanded .purchase-order .job-actions{gap:6px;margin:10px 0}.purchase-date-message{margin:10px 0}.purchase-date-confirm{margin:12px 0;padding:12px;border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:6px;background:var(--bg)}.purchase-date-confirm p{margin:0}.purchase-date-confirm .job-actions{margin:10px 0 0}.date-warning{color:#c25620;font-weight:600}[data-theme=dark] .date-warning{color:#ffbc8e}.stock-table .table-editable-cell{cursor:pointer}.stock-table .table-editable-cell:hover{background:var(--surface-hover, rgba(128, 160, 128, .15))}.stock-table .table-editable-cell:focus-visible{outline:2px solid var(--accent, #7eab8b);outline-offset:-3px}.panel.purchase-bulk-controls{position:sticky;top:12px;z-index:10;display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:16px;margin:16px 0 28px;box-shadow:0 4px 16px #0002}.purchase-bulk-controls .field{flex:1 1 220px;max-width:320px;margin:0}.purchase-bulk-controls .purchase-hold-reason{flex-basis:100%;max-width:none}.purchase-hold-reason small{color:var(--muted);font-size:13px}.purchase-hold-reason-cell{min-width:220px;max-width:360px}.purchase-hold-reason-cell p{margin:0 0 8px;white-space:pre-wrap;overflow-wrap:anywhere}.held-material-table{min-width:800px}.held-material-table tbody th{width:auto;min-width:140px}.held-material-table .purchase-hold-reason-cell{min-width:160px;width:20%}.held-material-table .held-linked-jobs{min-width:200px}.purchase-bulk-scope{flex-basis:100%;margin:0;font-size:13px}.purchase-selected-count,.purchase-bulk-hold{display:inline-flex;align-items:center;min-height:42px}.purchase-selected-count{font-weight:600;white-space:nowrap}.purchase-bulk-hold{gap:8px;white-space:nowrap}.purchase-material-table .purchase-select-column{width:58px}.damage-photo-column{min-width:210px;max-width:270px}.damage-photo-field{display:grid;gap:8px;font-size:.85rem}.damage-photo-field input{width:100%;min-width:0;max-width:250px}.damage-photo-field small{color:var(--muted)}.handover-controls{display:grid;gap:.5rem;min-width:180px;white-space:normal}.handover-controls [role=group]{min-width:220px}html[data-theme=dark] .notice.success{color:var(--text)}
