.setup-banner{border:1px solid #d9d6ca;border-left:4px solid var(--cyan);background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:20px;margin:12px 34px 0;padding:14px 16px;display:flex;box-shadow:0 4px 18px #1919180d}.setup-banner div{gap:4px;display:grid}.setup-banner b{font-size:14px}.setup-banner span{color:#65625c;font-size:12px}.setup-banner.complete{border-left-color:var(--green);background:#f5fbf8}.setup-banner.error,.stock-adjustment-error{border-left-color:var(--magenta);background:#fff6f8}.setup-banner button:disabled{opacity:.65;cursor:wait}@media (max-width:760px){.setup-banner{flex-direction:column;align-items:stretch;margin:12px 18px 0}.setup-banner button{width:100%}}.invoice-filters{grid-template-columns:1fr 1fr;gap:14px;display:grid}.invoice-period-note{color:var(--muted);margin:12px 0 8px;font-size:12px}@media (max-width:640px){.invoice-filters{grid-template-columns:1fr}}.invoice-row{cursor:pointer}.invoice-link{color:#007caa;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.invoice-detail{width:min(1100px,100vw - 40px);max-height:calc(100vh - 40px);overflow:auto}.invoice-detail-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.invoice-detail-header .drawer-actions{flex-wrap:wrap;margin:0}.invoice-detail h2{margin:4px 0 14px;font-size:21px;line-height:1.1}.invoice-title-line{align-items:center;gap:10px;margin:0 0 20px;display:flex}.invoice-title-line .modal-subtitle{margin:0}.invoice-detail-meta{grid-template-columns:1fr 1fr;gap:16px;margin:22px 0;display:grid}.invoice-detail-meta div{gap:5px;display:grid}.invoice-detail-meta small{color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.invoice-lines{border-collapse:collapse;background:#fff;width:100%;font-size:12px}.invoice-lines th{text-align:left;color:var(--muted);text-transform:uppercase;background:#f3efe7;padding:10px;font-size:10px}.invoice-lines td{border-bottom:1px solid #ece9e3;padding:12px 10px}.invoice-lines th,.invoice-lines td{white-space:nowrap}.invoice-lines th:last-child,.invoice-lines td:last-child{text-align:right}.invoice-no-lines{color:var(--muted);text-align:center!important;padding:28px!important}.invoice-detail-totals{gap:7px;width:min(320px,100%);margin:20px 0 0 auto;font-size:14px;display:grid}.invoice-detail-totals span{justify-content:space-between;display:flex}.invoice-detail-totals .grand-total{border-top:2px solid var(--ink);padding-top:9px;font-size:14px}.invoice-print-totals,.invoice-totals{font-size:14px}.invoice-detail-totals b,.invoice-print-totals b,.invoice-totals b{font-size:inherit}@media (max-width:640px){.invoice-detail-header{display:block}.invoice-detail-header .drawer-actions{justify-content:flex-start;margin-bottom:16px}}.job-status-select{color:#555;cursor:pointer;background:#fff;border:1px solid #c8c5be;border-radius:6px;min-width:142px;height:32px;padding:0 28px 0 9px;font-size:11px;font-weight:700}.job-status-select.in-production{color:#007f99;background-color:#effbfc;border-color:#8bd8e5}.job-status-select.finishing,.job-status-select.artwork{color:#b31955;background-color:#fff3f7;border-color:#ef9cbc}.job-status-select.ready-for-production{color:#7e6100;background-color:#fffae9;border-color:#e9c75c}.job-status-select.completed,.job-status-select.ready-to-invoice,.job-status-select.invoiced{color:#19734d;background-color:#f0fbf5;border-color:#8fd3b3}.drawer-status-select{color:var(--muted);gap:7px;margin:4px 0 18px;font-size:11px;font-weight:700;display:grid}.drawer-status-select .job-status-select{width:100%;height:40px}.jobs-status-filter{min-width:190px;color:var(--muted);gap:6px;font-size:11px;font-weight:700;display:grid}.jobs-status-filter select{height:40px;color:var(--ink);background:#fff;border:1px solid #bdb9b0;border-radius:7px;padding:0 34px 0 11px;font-weight:700}.jobs-head-actions{align-items:flex-end;gap:12px;display:flex}.historical-artwork-tool{justify-items:end;gap:5px;max-width:430px;display:grid}.historical-artwork-tool label{min-height:40px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #aaa69d;border-radius:7px;justify-content:center;align-items:center;padding:0 13px;font-size:11px;font-weight:700;display:inline-flex}.historical-artwork-tool label:hover{border-color:var(--cyan)}.historical-artwork-tool label.disabled{opacity:.55;cursor:wait}.historical-artwork-tool input{display:none}.historical-artwork-tool small{color:var(--muted);text-align:right;font-size:10px;line-height:1.3}.historical-artwork-tool.complete small{color:#217547}.historical-artwork-tool.error small{color:#a34040}.dashboard-year-note{color:var(--muted);text-align:right;margin:-4px 0 14px;font-size:11px;font-weight:700}.maintenance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.settings-tabs,.settings-subtabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 20px;padding-bottom:10px;display:flex}.settings-tabs button,.settings-subtabs button{border:1px solid var(--line);min-height:38px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;padding:0 16px;font-size:12px;font-weight:750}.settings-tabs button:hover,.settings-subtabs button:hover{border-color:var(--ink);color:var(--ink)}.settings-tabs button.active,.settings-subtabs button.active{color:#6d3e1f;background:#f8dcc7;border-color:#d8a47a}.settings-tab-panel{margin-top:4px}.settings-subtabs{margin-bottom:22px}.production-settings-panel .recipe-toolbar{margin-top:0}.production-settings-panel .production-resources-settings,.production-settings-panel .production-resources-grid,.production-settings-panel .production-resource-editor,.production-settings-panel .recipe-settings,.production-settings-panel .recipe-toolbar,.production-settings-panel .recipe-editor,.production-settings-panel .recipe-preview,.production-settings-panel .recipe-operation,.production-settings-panel .recipe-labour-step{background:var(--paper)}.production-resources-settings{color:var(--ink);font-size:12px}.production-resources-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.production-resources-heading h3{margin:0 0 6px;font-size:17px}.production-resources-heading p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.production-resources-heading-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.production-resources-grid{gap:16px;margin-top:20px;display:grid}.production-resources-settings label,.production-resource-editor{font-size:12px}.production-resources-settings label{color:#44505c;gap:5px;font-weight:650;display:grid}.production-resource-editor{border:1px solid var(--line);border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;display:grid}.production-resources-settings input:not([type=checkbox]),.production-resources-settings select,.production-resources-settings textarea{box-sizing:border-box;width:100%;min-height:36px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbd3dc;border-radius:6px;padding:6px 9px;font-size:12px}.production-resources-settings textarea{resize:vertical;min-height:76px}.production-resources-settings button{min-height:34px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #cbd3dc;border-radius:7px;justify-self:start;padding:0 14px;font-size:12px;font-weight:700}.production-resources-heading-actions .primary{border-color:var(--ink);background:var(--ink);color:#fff;justify-self:auto;min-width:130px}.labour-run-charge{align-content:start}.labour-run-charge span{align-items:center;gap:8px;min-height:36px;display:flex}.labour-run-charge small{color:var(--muted);font-size:10px;font-weight:400}@media (max-width:720px){.production-resource-editor{grid-template-columns:1fr}}.maintenance-card{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:52px 1fr;align-items:start;gap:16px;min-height:250px;padding:22px;display:grid}.maintenance-card-icon{color:#007e98;background:#e0f7fb;border-radius:10px;place-items:center;width:52px;height:52px;font-size:16px;font-weight:800;display:grid}.maintenance-card-icon.migration{color:#b71955;background:#fde7f0;font-size:24px}.maintenance-card h3{margin:2px 0 8px;font-size:17px}.maintenance-card p{min-height:52px;color:var(--muted);margin:0 0 18px;font-size:12px;line-height:1.55}.maintenance-select{color:var(--muted);gap:7px;font-size:11px;font-weight:700;display:grid}.maintenance-select select{width:100%;height:40px;color:var(--ink);background:#fff;border:1px solid #bdb9b0;border-radius:7px;padding:0 34px 0 11px;font-weight:700}.maintenance-note{color:var(--muted);margin-top:9px;font-size:10px;display:block}.maintenance-migration{justify-items:start;max-width:none}.maintenance-migration label{background:var(--ink);color:#fff;border-color:var(--ink);min-width:170px}.maintenance-migration small{text-align:left;max-width:100%}.jobs-empty-filter{text-align:center;color:var(--muted);padding:32px;font-size:12px}.approval-required-badge,.approval-approved-badge,.job-approval-warning{color:#8a5714;background:#fff5df;border:1px solid #e4b86f;border-radius:5px;align-items:center;width:fit-content;margin-top:6px;padding:4px 7px;font-size:10px;font-weight:700;display:inline-flex}.approval-approved-badge{color:#286b35;background:#eff9f0;border-color:#9bc9a4}.job-approval-warning{justify-content:space-between;gap:14px;margin-top:0;line-height:1.35}.job-approval-warning.approved{color:#286b35;background:#eff9f0;border-color:#9bc9a4}.job-approval-copy{gap:2px;display:grid}.job-approval-control{color:inherit;white-space:nowrap;flex:none;align-items:center;gap:6px;margin:0!important;display:inline-flex!important}.job-approval-control input{width:auto!important}.job-approval-help{color:inherit;text-align:right;font-size:10px}.delete-job-button{border:1px solid var(--red);width:100%;color:var(--red);background:#fff;border-radius:7px;margin-top:28px;padding:11px;font-size:12px;font-weight:700}.delete-job-button:hover{background:#fff3f5}.delete-confirm-overlay{z-index:60}.delete-confirm{width:min(500px,100%)}.delete-confirm h2{margin-bottom:10px}.delete-confirm>p:not(.eyebrow){color:var(--muted);line-height:1.55}.delete-job-summary{border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;margin:18px 0;padding:14px;display:grid}.delete-job-summary span{color:var(--muted);font-size:12px}.delete-accounting-note{font-size:12px}.danger-button{border:1px solid var(--red);background:var(--red);color:#fff;border-radius:8px;height:42px;padding:0 16px;font-weight:700}.danger-button:disabled{opacity:.6;cursor:wait}.invoice-edit-heading{justify-content:space-between;align-items:end;margin:8px 0 10px;display:flex}.invoice-edit-heading div{gap:3px;display:grid}.invoice-edit-heading span{color:var(--muted);font-size:11px}.invoice-edit-list{border:1px solid var(--line);background:#fff;border-radius:8px;max-height:340px;overflow:auto}.invoice-edit-list label{cursor:pointer;border-bottom:1px solid #ece9e3;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px;display:grid}.invoice-edit-list label:last-child{border-bottom:0}.invoice-edit-list label:hover{background:#faf8f3}.invoice-edit-list input{width:16px;height:16px;accent-color:var(--cyan)}.invoice-edit-list span{white-space:nowrap;align-items:baseline;gap:8px;min-width:0;display:flex}.invoice-edit-list span b{text-overflow:ellipsis;overflow:hidden}.invoice-edit-list span b,.invoice-edit-list strong{font-size:12px}.invoice-edit-list small{color:var(--muted)}.invoice-price-button{white-space:nowrap}.invoice-price-message{color:#176454;background:#eef8f5;border-radius:7px;margin:10px 0 0;padding:9px 11px;font-size:12px}.invoice-list-actions{align-items:center;gap:10px;display:flex}.invoice-list-actions label,.invoice-list-actions .primary{width:170px}.invoice-list-actions select{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:8px;width:100%;height:42px;padding:0 32px 0 14px;font-size:12px;font-weight:700}.table-edit-button{border:1px solid var(--ink);min-width:62px;height:32px;color:var(--ink);cursor:pointer;background:#fff;border-radius:7px;padding:0 12px;font-size:12px;font-weight:700}.table-edit-button:hover{background:var(--ink);color:#fff}.client-top-actions{flex-wrap:wrap;justify-content:flex-end;margin:0 0 18px}.delete-client-warning{color:#9b2020;background:#fff5f5;border:1px solid #d44;border-radius:8px;gap:3px;margin-top:14px;padding:12px 14px;display:grid}.delete-client-warning span{font-size:12px}button{font-size:11px}.primary,.secondary,.icon-button,.danger-button{border-radius:6px;height:32px;padding:0 10px;font-size:11px}.icon-button{width:32px;padding:0}.sidebar nav button{padding:8px 9px;font-size:14px}.sidebar nav button>span{font-size:18px}.pipeline button{min-height:116px;padding:13px 7px}.panel-title button,.row-action{font-size:10px}.filter-chip{padding:5px 10px;font-size:10px}.stock-list button,.stock-actions button,.equipment-actions button{padding:6px 7px;font-size:10px}.table-edit-button{min-width:50px;height:26px;padding:0 8px;font-size:10px}.delete-job-button{padding:8px;font-size:11px}.upload-button{padding:5px 8px;font-size:10px}.google-button{height:40px;font-size:12px}.modal-close{font-size:23px}.invoice-list-actions .primary{height:32px}.top-actions .search{border-radius:6px;height:32px}.search-clear{width:20px;height:20px;color:var(--muted);cursor:pointer;background:#ece9e3;border:0;border-radius:50%;flex:0 0 20px;padding:0;font-size:15px;line-height:1}.search-clear:hover{color:var(--ink);background:#ddd8ce}.search-clear:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}.product-price-table .price-column{text-align:center;min-width:92px}.product-price-table th.price-column{vertical-align:middle}.product-costing-modal{width:min(1480px,100%);padding:22px 26px}.product-costing-modal h2{margin-bottom:10px}.product-costing-tabs{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin:0 0 12px;padding-bottom:8px;display:flex}.product-costing-tab-options,.product-costing-tab-actions{align-items:center;gap:6px;display:flex}.product-costing-tab-options button{border:1px solid var(--line);height:36px;color:var(--muted);cursor:pointer;background:#fff;border-radius:7px;padding:0 16px;font-size:11px;font-weight:700}.product-costing-tab-options button.active{color:#6d3e1f;background:#f8dcc7;border-color:#d8a47a}.product-costing-tab-actions button{white-space:nowrap;height:36px;font-size:11px}.product-costing-modal.specifications-tab .volume-discount-section,.product-costing-modal.specifications-tab .costing-price-panel{display:none}.product-costing-modal.specifications-tab{width:min(1180px,100%)}.product-costing-modal.specifications-tab .costing-workspace{grid-template-columns:1fr}.product-costing-modal.specifications-tab .costing-fields{grid-template-columns:minmax(0,880px) 220px;align-items:start;column-gap:18px;display:grid}.product-costing-modal.specifications-tab .costing-fields>h3:not(.price-list-heading),.product-costing-modal.specifications-tab .costing-fields>.costing-grid,.product-costing-modal.specifications-tab .production-section-heading,.product-costing-modal.specifications-tab .copy-production-confirmation{grid-column:1}.product-costing-modal.specifications-tab .costing-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.product-costing-modal.specifications-tab .price-list-heading{grid-area:1/2}.product-costing-modal.specifications-tab .price-list-content{grid-area:2/2/span 4;grid-template-columns:1fr;align-content:start}.product-costing-modal.specifications-tab .price-list-content textarea{min-height:90px}.product-costing-modal.volume-tab .product-specification-section{display:none}.product-costing-modal.volume-tab{width:min(1280px,100%)}.product-costing-modal.volume-tab .costing-workspace{grid-template-columns:minmax(0,650px) 550px}.costing-scroll .volume-discount-section>h3{margin-bottom:4px}.margin-band-help{color:var(--muted);margin:0 0 10px;font-size:10px;line-height:1.4}.price-check-panel{border:1px solid var(--line);background:#fafafa;border-radius:9px;margin-top:14px;padding:12px}.product-costing-modal.specifications-tab .price-check-panel{display:none}.product-costing-modal.volume-tab .price-check-panel{display:block}.price-check-panel h3{margin:0 0 4px}.price-check-panel>p{color:var(--muted);margin:0 0 10px;font-size:10px}.price-check-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.price-check-fields label{color:var(--muted);gap:4px;font-size:10px;font-weight:700;display:grid}.price-check-fields input{box-sizing:border-box;width:100%;height:34px;color:var(--ink);background:#fff;border:1px solid #bdb9b0;border-radius:6px;padding:0 8px;font-size:11px}.price-check-fields input[readonly]{background:#f1eee7;font-weight:700}.price-check-panel>button{height:32px;margin-top:10px;font-size:10px}.margin-band-table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow-x:auto}.margin-band-table{border-collapse:collapse;table-layout:fixed;width:100%}.margin-band-table th,.margin-band-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:9px 8px}.margin-band-table thead th{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;background:#f1eee7;font-size:9px;font-weight:800}.margin-band-table thead th:first-child{width:27%}.margin-band-table thead th:last-child{width:15%}.margin-band-table tbody tr:last-child th,.margin-band-table tbody tr:last-child td{border-bottom:0}.margin-band-table tbody th strong,.margin-band-table tbody th span{display:block}.margin-band-table tbody th strong{color:var(--ink);font-size:11px}.margin-band-table tbody th span{color:var(--muted);margin-top:2px;font-size:9px;font-weight:400;line-height:1.25}.margin-band-table input[type=number]{box-sizing:border-box;width:100%;height:34px;color:var(--ink);background:#fff;border:1px solid #bdb9b0;border-radius:6px;padding:0 8px;font-size:11px}.margin-band-toggle{color:var(--ink);white-space:nowrap;flex-direction:row;align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.margin-band-toggle input{width:15px;height:15px;margin:0}.costing-scroll{max-height:calc(100vh - 210px);padding-right:8px;overflow:auto}.costing-workspace{grid-template-columns:minmax(0,1fr) 550px;align-items:start;gap:24px;display:grid}.costing-fields{min-width:0}.costing-scroll h3{border-bottom:1px solid var(--line);margin:18px 0 9px;padding-bottom:6px;font-size:13px}.production-section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:14px;margin-top:18px;padding-bottom:7px;display:flex}.costing-scroll .production-section-heading h3{border:0;flex:1;margin:0;padding:0}.copy-production-controls{align-items:center;gap:6px;display:flex}.copy-production-controls select{width:220px;height:32px;color:var(--ink);background:#fff;border:1px solid #bdb9b0;border-radius:7px;padding:0 9px;font-size:11px}.copy-production-controls button{height:32px;padding:0 11px;font-size:11px}.copy-production-controls button:disabled{opacity:.45;cursor:not-allowed}.copy-production-confirmation{color:#19734d;margin:8px 0 0;font-size:11px}.costing-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}.costing-grid .form-wide{grid-column:span 2}.costing-grid label{gap:4px;font-size:11px}.field-label{align-items:center;gap:5px;display:inline-flex}.info-tip{color:#686865;cursor:help;background:#fff;border:1px solid #8a8780;border-radius:50%;outline:none;place-items:center;width:15px;height:15px;font-size:9px;font-weight:700;line-height:1;display:inline-grid;position:relative}.info-tip:focus{border-color:var(--cyan);box-shadow:0 0 0 2px #00a6c82e}.costing-tooltip{z-index:10000;color:#fff;pointer-events:none;background:#181817;border-radius:7px;width:270px;padding:9px 10px;font-size:10px;font-weight:400;line-height:1.45;position:fixed;box-shadow:0 8px 24px #00000040}.costing-tooltip.above{transform:translate(-50%,-100%)}.costing-tooltip.below{transform:translate(-50%)}.costing-grid input,.costing-grid select{height:34px;font-size:11px}.costing-grid .calculated-costing-field{color:var(--ink);background:#f1f1ee;border-color:#d5d3cd;font-weight:700}.tier-display-toggle{background:#f7f7f4;border:1px solid #d5d3cd;border-radius:6px;align-self:end;align-items:center;height:34px;padding:0 9px;flex-direction:row!important;gap:7px!important;display:flex!important}.tier-display-toggle input{width:15px;height:15px;margin:0}.tier-display-toggle span{font-size:10px;font-weight:700}.price-list-content{grid-template-columns:minmax(0,1fr) 220px;align-items:stretch;gap:14px;display:grid}.price-list-content>label{color:var(--muted);flex-direction:column;gap:5px;font-size:11px;font-weight:700;display:flex}.price-list-content textarea{resize:vertical;min-height:122px;font-size:11px;line-height:1.45}.product-image-content{flex-direction:column;gap:10px;display:flex}.product-saved-image{flex-direction:column;gap:7px;display:flex}.product-saved-image>span{color:var(--muted);font-size:11px;font-weight:700}.product-saved-image img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;height:150px}.product-image-field{border:1px solid var(--line);background:#fafafa;border-radius:8px;flex-direction:column;gap:7px;padding:10px;display:flex}.product-image-field>span{color:var(--muted);font-size:11px;font-weight:700}.product-image-field .upload-button{text-overflow:ellipsis;white-space:nowrap;align-self:flex-start;max-width:100%;overflow:hidden}.product-image-field small{color:var(--muted);font-size:9px;line-height:1.35}.margin-band-note{height:34px;color:var(--muted);background:#f1f1ee;border-radius:6px;align-self:end;padding:10px 9px;font-size:10px}.primary,.secondary,.danger-button,.table-edit-button,.edit-job-button,.icon-button,.drawer-actions button,.product-costing-tab-options button,.product-costing-tab-actions button,.stock-actions button,.stock-list button,.equipment-actions button,.filter-chip,select{box-sizing:border-box;min-height:34px;height:34px!important}.costing-price-panel{border:1px solid var(--line);background:#fafafa;border-radius:9px;margin-top:1px;padding:0 14px 14px;position:sticky;top:0}.costing-price-panel>p{color:var(--muted);margin:-3px 0 10px;font-size:10px}.costing-price-table-wrap{overflow-x:auto}.costing-price-table{border-collapse:collapse;white-space:nowrap;background:#fff;width:100%;font-size:10px}.costing-price-table th,.costing-price-table td{border-bottom:1px solid var(--line);text-align:right;padding:8px 7px}.costing-price-table th:first-child,.costing-price-table td:first-child{text-align:left}.costing-price-table thead th{background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.04em;font-size:9px}.costing-price-table .price-group th{color:var(--ink);text-align:left;background:#ececea;padding:7px;font-size:10px}.price-tier-toggle{width:100%;min-height:22px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0;font-weight:700;display:flex}.price-tier-toggle:hover{color:#007caa}.price-tier-toggle span:last-child{font-size:13px;line-height:1}.costing-price-table tbody tr:last-child td{border-bottom-color:#d3d2ce}@media (max-width:1050px){.costing-workspace,.product-costing-modal.volume-tab .costing-workspace{grid-template-columns:1fr}.costing-price-panel{position:static}.costing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-costing-modal.specifications-tab .costing-fields{display:block}.product-costing-modal.specifications-tab .costing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-costing-modal.specifications-tab .price-list-content{grid-template-columns:minmax(0,1fr) 220px;display:grid}.maintenance-grid{grid-template-columns:1fr}}@media (max-width:760px){.product-costing-tabs{flex-direction:column;align-items:stretch}.product-costing-tab-options,.product-costing-tab-actions{flex-wrap:wrap}.production-section-heading,.copy-production-controls{flex-direction:column;align-items:stretch}.copy-production-controls select{width:100%}.costing-grid,.product-costing-modal.specifications-tab .costing-grid,.product-costing-modal.specifications-tab .price-list-content{grid-template-columns:1fr}.costing-grid .form-wide{grid-column:auto}.price-list-content{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.invoice-detail-overlay,.invoice-detail-overlay *{visibility:visible}.invoice-detail-overlay{background:#fff;padding:0;position:absolute;inset:0}.invoice-detail{width:100%;max-height:none;box-shadow:none}.no-print{display:none!important}}.resource-costing-status{color:#32633c;background:#eff8f1;border:1px solid #b8d5bf;border-radius:7px;margin:8px 0 14px;padding:8px 10px;font-size:12px}.resource-costing-status.legacy{color:#5c6671;background:#f6f7f9;border-color:#d8dde3}.resource-costing-status a,.maintenance-costing-links a{color:#275f9b;font-weight:650}.maintenance-costing-links{gap:10px;margin-top:12px;display:flex}.maintenance-page{flex:auto;min-height:0;overflow:auto}.production-recipes-page{flex-direction:column;padding-bottom:16px;display:flex;overflow:hidden}.production-recipes-page>.section-head,.production-recipes-page>.settings-tabs{flex:none}.production-recipes-page .production-recipes-panel{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.production-recipes-panel .recipe-settings{flex-direction:column;flex:auto;min-height:0;display:flex}.production-recipes-panel .recipe-settings>[role=status]{flex:none}.production-recipes-panel .recipe-layout{flex:auto;grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:0;overflow:hidden}.production-recipes-panel .recipe-editor{min-height:0;overflow:auto}.production-recipes-panel .recipe-preview{align-self:start;max-height:100%;position:static;overflow:auto}.production-recipes-panel .recipe-toolbar-inline{border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0 0 18px;padding:0 0 16px}@media (max-width:1050px){.production-recipes-panel .recipe-layout{grid-template-rows:none;padding-right:6px;overflow:auto}.production-recipes-panel .recipe-editor,.production-recipes-panel .recipe-preview{max-height:none;overflow:visible}.production-recipes-panel .recipe-preview{align-self:stretch}}.production-recipes-panel .recipe-product-selector{align-items:end;gap:8px;min-width:300px;display:flex}.production-recipes-panel .recipe-product-selector>label{flex:auto;min-width:0}.production-recipes-panel .recipe-product-selector .recipe-info-button{box-sizing:border-box;color:#6d3e1f;background:#f8dcc7;border:1px solid #9a7354;border-radius:50%;flex:0 0 24px;width:24px;height:24px;min-height:24px;margin-bottom:6px;padding:0;font-size:11px;font-weight:800;line-height:1}.production-recipes-panel .recipe-product-selector .recipe-info-button:hover{background:#f3c9aa;border-color:#bd7d4b}.production-recipes-panel .recipe-editor{padding:12px}.production-recipes-panel .recipe-toolbar-inline{gap:12px;margin-bottom:10px;padding-bottom:10px}.production-recipes-panel .recipe-product-selector .recipe-info-button{margin-bottom:4px}.production-recipes-panel .recipe-activation{margin-bottom:10px;padding:8px 10px}.production-recipes-panel .recipe-fields{gap:8px 10px}.production-recipes-panel .recipe-editor input:not([type=checkbox]),.production-recipes-panel .recipe-editor select{min-height:32px;padding-top:4px;padding-bottom:4px}.production-recipes-panel .recipe-operations-heading{margin-top:14px;padding-top:11px}.production-recipes-panel .recipe-operations-heading h4{margin-bottom:1px}.production-recipes-panel .recipe-operation,.production-recipes-panel .recipe-labour-step{gap:8px;margin-top:8px;padding:8px 10px}.production-recipes-panel .recipe-checkbox{min-height:32px}.production-recipes-panel .recipe-editor button:not(.recipe-info-button){min-height:30px;padding-left:10px;padding-right:10px}.maintenance-page>.section-head{align-items:center}.maintenance-page>.section-head>.settings-tabs{border-bottom:0;justify-content:flex-end;margin:0;padding:0}.artwork-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.artwork-refresh-button{color:#77736b;cursor:pointer;background:#fff;border:1px solid #d9d6ce;border-radius:6px;place-items:center;width:24px;height:24px;padding:0;font-size:16px;line-height:1;display:grid}.artwork-refresh-button:hover{color:#2a2926;background:#f7f5f0;border-color:#aaa69d}.artwork-refresh-button:disabled{opacity:.5;cursor:wait}.unified-job-artwork .artwork-card,.unified-job-artwork .artwork-preview-loading,.unified-job-artwork .artwork-pdf-preview,.unified-job-artwork .artwork-pdf-preview img,.unified-job-artwork .artwork-thumbnail-loading{border:0}.portal-access-toggle{border:1px solid var(--line,#d9d5ce);background:var(--panel,#f7f5f1);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.portal-access-toggle input{flex:none;width:auto;margin:3px 0 0}.portal-access-toggle strong,.portal-access-toggle small,.portal-client-access>strong,.portal-client-access>small{display:block}.portal-access-toggle small,.portal-client-access>small{color:var(--muted,#6f6a62);margin-top:3px}.portal-client-access{border:1px solid var(--line,#d9d5ce);background:var(--panel,#f7f5f1);border-radius:8px;flex-direction:column;min-height:0;padding:10px 12px;display:flex}.portal-client-list{grid-template-columns:repeat(3,minmax(180px,1fr));align-items:start;gap:6px 18px;max-height:210px;margin-top:8px;padding:2px 8px 2px 0;display:grid;overflow-y:auto}.portal-client-option{align-items:center;gap:8px;min-height:28px;line-height:1.25;display:flex}.portal-client-option input{flex:none;width:auto;margin:0}@media (max-width:900px){.portal-client-list{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media (max-width:600px){.portal-client-list{grid-template-columns:1fr}}.user-modal-header .drawer-actions button{height:34px;min-height:34px;padding:0 10px;font-size:11px;font-weight:400}.user-access-details input,.user-access-details select{background:#fff;border:1px solid #bdb9b0;border-radius:7px;padding:0 10px}.primary,.secondary,.danger-button,.table-edit-button,.edit-job-button,.drawer-actions button,.stock-actions button,.stock-list button,.equipment-actions button{box-sizing:border-box;height:34px;min-height:34px;padding:0 10px;font-size:11px;font-weight:400}.program-logo-card .program-logo-preview{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:center;align-items:center;width:min(280px,100%);min-height:92px;margin:12px 0;padding:12px;display:flex}.program-logo-card .program-logo-preview img{object-fit:contain;max-width:100%;max-height:72px;display:block}.program-logo-card .maintenance-file-button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:7px;align-items:center;min-height:34px;padding:0 10px;font-size:11px;font-weight:400;display:inline-flex}.program-logo-card .maintenance-file-button input{display:none}.program-logo-card .maintenance-note{margin-top:9px;display:block}.timeline-report-print-title img{object-fit:contain;object-position:left center;width:min(280px,55%);max-height:72px;margin:0 0 12px;display:block}.client-portal-settings .portal-client-access{margin-top:.8rem}.portal-access-managed-note{border:1px solid var(--line,#d9dee8);background:var(--surface-soft,#f7f8fb);border-radius:12px;gap:.3rem;padding:.9rem 1rem;display:grid}.portal-access-managed-note small{color:var(--muted,#687386);line-height:1.45}.client-edit-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:11px 14px;display:grid}.client-edit-layout>.form-grid{min-width:0}.client-portal-settings{grid-column:1/-1}.client-portal-delegation{width:100%;min-width:0}.client-editor-modal{width:min(980px,100vw - 40px);max-height:calc(100vh - 40px);overflow:auto}@media (max-width:900px){.client-edit-layout{grid-template-columns:1fr}}.client-editor-modal .client-portal-delegation .portal-client-list{flex:auto;min-height:0;max-height:none}.client-editor-modal .portal-client-list{row-gap:2px}.client-editor-modal .portal-client-option{min-height:22px}:root{--paper:#f4f2ee;--ink:#21123b;--muted:#6d6874;--line:#ddd9e2;--card:#fff;--surface-soft:#f8f6f3;--brand-purple:#21123b;--brand-purple-soft:#eee9f5;--brand-orange:#d97943;--brand-orange-dark:#b65e2d;--focus-ring:#d9794338;--shadow-card:0 5px 18px #21123b0f;--shadow-modal:0 20px 60px #21123b2e;--radius-card:12px;--radius-control:8px;--control-height:36px}html,body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,Segoe UI,Arial,Helvetica,sans-serif}button,input,select,textarea{font-family:inherit}button{transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand-orange);outline-offset:2px}.sidebar{background:var(--brand-purple);box-shadow:4px 0 18px #21123b14}.sidebar nav button{color:#d9d1e4;border-radius:var(--radius-control)}.sidebar nav button:hover{color:#fff;background:#ffffff14}.sidebar nav button.active{color:#fff;background:#3a2856;box-shadow:inset 0 0 0 1px #ffffff14}.sidebar nav button.active:before{background:var(--brand-orange)}.sidebar nav .nav-section+.nav-section{border-top-color:#ffffff24}.topbar{border-bottom-color:var(--line);background:#ffffffeb;box-shadow:0 2px 12px #21123b0a}.topbar h1{color:var(--brand-purple);letter-spacing:-.8px}.topbar p,.eyebrow{color:var(--brand-orange-dark)}.content{background:var(--paper)}.panel,.data-panel,.kpi,.pipeline,.maintenance-card,.production-settings-panel,.drawer,.modal,.invoice-detail{border-color:var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.panel-title{border-bottom-color:var(--line);background:#ffffffb8}.panel-title h2,.section-head h2,.maintenance-card h3{color:var(--brand-purple)}.data-panel th,.compact-head,.invoice-lines th{background:var(--surface-soft);color:var(--muted);letter-spacing:.55px}.data-panel td,.compact-table>button,.stock-list>div,.invoice-lines td{border-color:#ebe8ed}.data-panel tbody tr:hover,.compact-table>button:hover,.stock-list>div:hover,.invoice-edit-list label:hover{background:#fbfaf8}input:not([type=checkbox]),select,textarea,.search,.jobs-status-filter select,.client-status-filter select{border-radius:var(--radius-control);color:var(--ink);background:#fff;border-color:#cfc9d5;transition:border-color .16s,box-shadow .16s,background-color .16s}input:not([type=checkbox]):focus,select:focus,textarea:focus,.search:focus-within,.jobs-status-filter select:focus,.client-status-filter select:focus{border-color:var(--brand-orange);box-shadow:0 0 0 3px var(--focus-ring)}.primary,.secondary,.icon-button,.danger-button,.table-edit-button,.edit-job-button,.drawer-actions button,.stock-actions button,.stock-list button,.equipment-actions button,.section-head>.primary,.stock-page-actions .primary,.client-page-actions .primary,.invoice-list-actions .primary{box-sizing:border-box;min-height:var(--control-height);height:var(--control-height);border-radius:var(--radius-control);letter-spacing:.01em;font-size:12px;font-weight:400}.primary{border-color:var(--brand-purple);background:var(--brand-purple);color:#fff;box-shadow:0 3px 8px #21123b1f}.primary:hover{background:#35224f;border-color:#35224f;transform:translateY(-1px)}.secondary,.icon-button,.table-edit-button{color:var(--brand-purple);background:#fff;border-color:#cfc9d5}.secondary:hover,.icon-button:hover,.table-edit-button:hover{border-color:var(--brand-orange);color:var(--brand-orange-dark);background:#fff9f5}.danger-button{color:#fff;background:#c83250;border-color:#c83250}.panel-title button,.row-action,.invoice-link,.compact-table a,.data-panel table a{color:var(--brand-orange-dark)}.panel-title button:hover,.row-action:hover,.invoice-link:hover,.compact-table a:hover,.data-panel table a:hover{color:var(--brand-purple)}.kpi,.pipeline button{background:var(--card)}.kpi{box-shadow:var(--shadow-card)}.kpi:before,.pipeline button i{background:var(--brand-orange)}.kpi.magenta:before,.pipeline button i.magenta{background:#b84f73}.kpi.yellow:before,.pipeline button i.yellow{background:#d2a51c}.filter-chip{border-color:var(--brand-orange);color:var(--brand-orange-dark);background:#fff9f5}.modal-backdrop,.drawer-backdrop,.overlay-backdrop{background:#21123b6b}.drawer,.modal,.invoice-detail{background:var(--card);box-shadow:var(--shadow-modal)}.drawer-title h2,.modal h2,.invoice-detail h2{color:var(--brand-purple)}.status,.job-status-select{border-radius:var(--radius-control)}.historical-artwork-tool label,.upload-button{border-radius:var(--radius-control);color:var(--brand-purple);border-color:#cfc9d5}.historical-artwork-tool label:hover,.upload-button:hover{border-color:var(--brand-orange);background:#fff9f5}.artwork-empty,.invoice-empty,.jobs-empty-filter{background:#ffffff9e;border-color:#cbc5d1}@media (max-width:900px){.topbar,.content{padding-left:24px;padding-right:24px}}@media (max-width:640px){.content{padding-left:18px;padding-right:18px}.topbar h1{font-size:25px}}.sidebar{width:228px;padding:20px 12px 16px}.workspace{margin-left:228px}.brand{border-bottom-color:#ffffff24;gap:11px;min-height:58px;padding:4px 10px 20px}.brand-mark{background:#ffffff14;border-radius:6px;grid-template-columns:repeat(2,9px);gap:3px;padding:3px}.brand-mark i{border-radius:2px;width:9px;height:9px}.brand b{color:#fff;letter-spacing:.08em;font-size:19px}.brand small{color:#c8bed6;font-size:10px}.sidebar nav{gap:3px;padding-top:13px}.sidebar nav .nav-section{gap:3px}.sidebar nav .nav-section+.nav-section{margin-top:16px;padding-top:13px}.sidebar nav .nav-section>p{color:#a99bb8;letter-spacing:1.3px;margin:0 12px 5px;font-size:9px}.sidebar nav button{gap:11px;min-height:38px;padding:0 11px;font-size:12px}.sidebar nav button>span{color:#cfc3dc;width:22px;font-size:17px}.sidebar nav button.active>span{color:#ffb183}.sidebar nav button.active:before{border-radius:0 3px 3px 0;width:3px;left:-12px}.sidebar nav button em{background:var(--brand-orange);color:#fff;padding:2px 6px;font-size:9px}.sidebar-foot{border-top-color:#ffffff24;padding:15px 6px 0}.sidebar-foot small{color:#c8bed6}.sidebar-foot .sidebar-logout-button{color:#ffd5c0;background:#d9794324;border-color:#d9794373;min-height:34px}.sidebar-foot .sidebar-logout-button:hover{border-color:var(--brand-orange);background:#d979433d}.topbar{height:88px;min-height:88px;padding:18px 30px}.topbar p{letter-spacing:.02em;margin-bottom:5px;font-size:11px}.topbar h1{font-size:28px}.top-actions{gap:9px}.production-dashboard.content{padding-top:20px}.production-dashboard .dashboard-year-note{border:1px solid var(--line);background:#ffffffb8;border-radius:999px;align-self:flex-end;margin:0 0 10px;padding:5px 10px;font-size:10px;font-weight:600;display:inline-flex}.production-dashboard .pipeline{background:0 0;border:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:0;overflow:visible}.production-dashboard .pipeline button{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);min-height:122px;box-shadow:var(--shadow-card);padding:18px 10px 15px;overflow:hidden}.production-dashboard .pipeline button:last-child{border-right:1px solid var(--line)}.production-dashboard .pipeline button:hover{background:#fff;border-color:#c7b8d5;transform:translateY(-2px);box-shadow:0 8px 22px #21123b1c}.production-dashboard .pipeline button i{height:4px}.production-dashboard .pipeline button span{min-height:32px;color:var(--muted);font-size:11px;line-height:1.35}.production-dashboard .pipeline button b{color:var(--brand-purple);margin-top:6px;font-size:30px;line-height:1}.production-dashboard .pipeline button small{color:#918b98;margin-top:6px;font-size:10px;display:block}.production-dashboard .dashboard-grid{gap:16px;margin-top:16px}.production-dashboard .dashboard-grid>.panel{box-shadow:var(--shadow-card)}.production-dashboard .panel-title{min-height:62px;padding:0 18px}.production-dashboard .panel-title h2{letter-spacing:-.1px;font-size:16px}.production-dashboard .panel-title h2 i{background:var(--brand-purple);width:26px;height:26px;margin-right:8px;font-size:11px}.production-dashboard .panel-title button{border:1px solid var(--line);border-radius:var(--radius-control);min-height:32px;color:var(--brand-orange-dark);background:#fff;padding:0 9px}.production-dashboard .panel-title button:hover{border-color:var(--brand-orange);background:#fff9f5}.production-dashboard .dashboard-stage-filter{border-color:var(--line);min-width:178px;height:34px;font-size:11px;font-weight:600}.production-dashboard .compact-head{background:var(--surface-soft);padding:10px 16px;font-size:10px}.production-dashboard .compact-table>button{min-height:48px;padding:10px 16px}.production-dashboard .compact-table>button strong{color:var(--brand-purple)}.production-dashboard .compact-table>button small{color:var(--muted)}@media (max-width:1100px){.production-dashboard .pipeline{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:900px){.sidebar{width:210px}.workspace{margin-left:210px}.production-dashboard .dashboard-grid{grid-template-columns:1fr}}@media (max-width:700px){.sidebar{width:100%;min-height:auto;position:static}.workspace{margin-left:0}.brand{padding-bottom:14px}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.sidebar nav .nav-section+.nav-section{margin-top:7px;padding-top:8px}.production-dashboard .pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{height:auto;min-height:82px;padding:16px 18px}}.jobs-page{--jobs-panel-gap:16px}.jobs-page .section-head{align-items:flex-end;gap:20px;margin-bottom:18px}.jobs-page .list-heading-group{gap:7px;min-width:220px}.jobs-page .list-heading-group h2{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:clamp(20px,2vw,25px)}.jobs-page .list-heading-group .eyebrow{color:var(--muted);letter-spacing:.12em;margin:0;font-size:10px}.jobs-page .group-controls{margin-top:6px}.jobs-head-actions{border:1px solid var(--line);background:#ffffffb8;border-radius:10px;flex:none;grid-template-columns:repeat(5,minmax(0,1fr));justify-self:end;align-items:end;gap:8px;width:min(820px,100%);min-width:0;margin-left:auto;padding:10px;display:grid}.jobs-head-actions .jobs-status-filter{min-width:0;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;gap:5px;font-size:9px;font-weight:800}.jobs-head-actions .jobs-status-filter select{width:100%;min-width:0;height:34px;color:var(--ink);text-transform:none;border-color:#d3cec4;border-radius:6px;padding:0 26px 0 9px;font-size:11px;font-weight:650}.jobs-head-actions .jobs-status-filter select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #00aecd1f}.stock-table-panel th{white-space:nowrap;vertical-align:middle;line-height:1.15}.stock-conversion-costs{border:1px solid var(--line);background:#f7f4ee;border-radius:10px;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 14px;display:grid}.stock-conversion-costs div{gap:4px;display:grid}.stock-conversion-costs span{color:var(--muted);font-size:11px;font-weight:700}.stock-conversion-costs strong{color:var(--ink);font-size:14px}@media (max-width:760px){.stock-conversion-costs{grid-template-columns:repeat(2,minmax(0,1fr))}}.jobs-table-panel{background:#fff;border-color:#d3cec4;border-radius:12px;overflow:auto hidden;box-shadow:0 8px 24px #21123b0f}.jobs-table-panel table{table-layout:fixed;min-width:1060px}.jobs-table-panel thead{z-index:2;position:sticky;top:0}.jobs-table-panel th{color:#6f6a62;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;background:#f2efe8;border-bottom:1px solid #d8d2c8;height:38px;padding:0 10px;font-size:9px;font-weight:850}.jobs-table-panel td{color:#3f3d39;vertical-align:middle;border-bottom:1px solid #eeeae3;height:48px;padding:7px 10px;font-size:11px}.jobs-table-panel tbody tr:not(.list-group-row){cursor:pointer;transition:background-color .14s,box-shadow .14s}.jobs-table-panel tbody tr:not(.list-group-row):hover{background:#fcfaf5}.jobs-table-panel tbody tr.selected-job-row{box-shadow:inset 3px 0 0 var(--orange);background:#fff3e9}.jobs-table-panel tbody tr.selected-job-row td{border-bottom-color:#f0d1b9}.jobs-table-panel td:first-child,.jobs-table-panel th:first-child{width:64px;padding-left:14px}.jobs-table-panel td:first-child a{color:var(--ink);font-weight:850;text-decoration:none}.jobs-table-panel tbody tr:hover td:first-child a,.jobs-table-panel tbody tr.selected-job-row td:first-child a{color:#a6521e}.jobs-table-panel td:nth-child(5),.jobs-table-panel th:nth-child(5){text-align:right;width:58px}.jobs-table-panel td:nth-child(6),.jobs-table-panel th:nth-child(6),.jobs-table-panel td:nth-child(7),.jobs-table-panel th:nth-child(7){white-space:nowrap;width:92px}.jobs-table-panel td:nth-child(9),.jobs-table-panel th:nth-child(9){text-align:right;white-space:nowrap;width:108px;padding-right:14px}.jobs-table-panel .job-title-cell{min-width:0}.jobs-table-panel .job-title-cell b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:700;display:block;overflow:hidden}.jobs-table-panel .job-status-select{border-radius:5px;width:116px;min-width:0;height:28px;padding:0 24px 0 8px;font-size:10px;font-weight:750}.jobs-table-panel .list-group-row td{background:#faf8f3;border-bottom:1px solid #e2ddd4;height:36px;padding:0}.jobs-table-panel .list-group-row button{width:100%;min-height:36px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;display:flex}.jobs-table-panel .list-group-row button span{color:#6a6259;letter-spacing:.04em;text-transform:uppercase;font-size:10px}.jobs-table-panel .list-group-row button b{color:var(--ink);font-size:11px}.jobs-table-panel .list-group-row button strong{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:650}.jobs-page .jobs-empty-filter{min-height:160px;color:var(--muted);background:#fff;place-items:center;margin:0;display:grid}@media (max-width:1180px){.jobs-page .section-head{flex-direction:column;align-items:stretch}.jobs-head-actions{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;min-width:0}}@media (max-width:760px){.jobs-head-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.jobs-table-panel{overflow-x:auto}}@media (max-width:430px){.jobs-head-actions{grid-template-columns:1fr}}:root{--control-height:36px;--control-radius:7px;--control-border:#c9c4ba;--control-focus:#00aecb}button{font-family:inherit}.primary,.secondary,.danger-button,.table-edit-button,.drawer-actions button,.top-actions button,.modal-actions button,.form-actions button{box-sizing:border-box;white-space:nowrap;border-radius:7px;min-height:34px;padding:0 13px;font-size:11px;font-weight:700;line-height:1;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s,transform .14s}.primary{border:1px solid var(--ink);background:var(--ink);color:#fff}.primary:hover:not(:disabled){background:#3a2163;border-color:#3a2163;box-shadow:0 4px 12px #21123b2e}.secondary,.table-edit-button{color:var(--ink);background:#fff;border:1px solid #aaa59b}.secondary:hover:not(:disabled),.table-edit-button:hover:not(:disabled){border-color:var(--ink);color:var(--ink);background:#f6f1e9}.danger-button{color:#fff;background:#b4324d;border:1px solid #b4324d}.danger-button:hover:not(:disabled){background:#92243b;border-color:#92243b;box-shadow:0 4px 12px #b4324d2e}.primary:active:not(:disabled),.secondary:active:not(:disabled),.danger-button:active:not(:disabled),.table-edit-button:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.primary:disabled,.secondary:disabled,.danger-button:disabled,.table-edit-button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.modal,.drawer,.job-editor,.client-editor,.product-editor,.stock-editor,.equipment-editor{color:var(--ink)}.modal label,.drawer label,.job-editor label,.client-editor label,.product-editor label,.stock-editor label,.equipment-editor label,.settings-tab-panel label{color:#5e5a53;font-size:11px;font-weight:750}.modal input:not([type=checkbox]):not([type=radio]),.modal select,.modal textarea,.drawer input:not([type=checkbox]):not([type=radio]),.drawer select,.drawer textarea,.job-editor input:not([type=checkbox]):not([type=radio]),.job-editor select,.job-editor textarea,.client-editor input:not([type=checkbox]):not([type=radio]),.client-editor select,.client-editor textarea,.product-editor input:not([type=checkbox]):not([type=radio]),.product-editor select,.product-editor textarea,.stock-editor input:not([type=checkbox]):not([type=radio]),.stock-editor select,.stock-editor textarea,.equipment-editor input:not([type=checkbox]):not([type=radio]),.equipment-editor select,.equipment-editor textarea,.settings-tab-panel input:not([type=checkbox]):not([type=radio]),.settings-tab-panel select,.settings-tab-panel textarea{box-sizing:border-box;width:100%;min-height:var(--control-height);border:1px solid var(--control-border);border-radius:var(--control-radius);color:var(--ink);font:inherit;background:#fff;outline:none;padding:7px 10px;font-size:12px;line-height:1.25;transition:border-color .14s,box-shadow .14s,background-color .14s}.modal textarea,.drawer textarea,.job-editor textarea,.client-editor textarea,.product-editor textarea,.stock-editor textarea,.equipment-editor textarea,.settings-tab-panel textarea{resize:vertical;min-height:82px}.modal input::placeholder,.modal textarea::placeholder,.drawer input::placeholder,.drawer textarea::placeholder,.job-editor input::placeholder,.job-editor textarea::placeholder{color:#9b958b}.modal input:focus,.modal select:focus,.modal textarea:focus,.drawer input:focus,.drawer select:focus,.drawer textarea:focus,.job-editor input:focus,.job-editor select:focus,.job-editor textarea:focus,.client-editor input:focus,.client-editor select:focus,.client-editor textarea:focus,.product-editor input:focus,.product-editor select:focus,.product-editor textarea:focus,.stock-editor input:focus,.stock-editor select:focus,.stock-editor textarea:focus,.equipment-editor input:focus,.equipment-editor select:focus,.equipment-editor textarea:focus,.settings-tab-panel input:focus,.settings-tab-panel select:focus,.settings-tab-panel textarea:focus{border-color:var(--control-focus);box-shadow:0 0 0 3px #00aecb21}.modal input:disabled,.modal select:disabled,.drawer input:disabled,.drawer select:disabled,.job-editor input:disabled,.job-editor select:disabled,.settings-tab-panel input:disabled,.settings-tab-panel select:disabled{color:#858077;cursor:not-allowed;background:#f2f0eb}.modal input[type=checkbox],.modal input[type=radio],.drawer input[type=checkbox],.drawer input[type=radio],.job-editor input[type=checkbox],.job-editor input[type=radio],.settings-tab-panel input[type=checkbox],.settings-tab-panel input[type=radio]{width:16px;height:16px;min-height:16px;accent-color:var(--orange);margin:0}.modal input[type=file],.drawer input[type=file],.settings-tab-panel input[type=file]{cursor:pointer;background:#faf8f3;border-style:dashed;min-height:34px;padding:7px}.modal-actions,.form-actions,.drawer-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:18px;padding-top:14px;display:flex}.drawer-actions{border-top:0;padding-top:0}.modal-actions button,.form-actions button,.drawer-actions button{min-width:88px}.modal-close,.drawer-close{color:var(--ink);border-radius:6px}.modal-close:hover,.drawer-close:hover{color:var(--orange);background:#f5efe7}.form-error,.record-error,.auth-error,.modal-error{color:#8f2940;background:#fff5f7;border:1px solid #e0a2ae;border-left:3px solid #b4324d;border-radius:7px;margin:10px 0 0;padding:9px 11px;font-size:11px;line-height:1.4}.form-message,.record-message,.modal-message{color:#216b4b;background:#f2fbf6;border:1px solid #b9dcca;border-left:3px solid #2b9669;border-radius:7px;margin:10px 0 0;padding:9px 11px;font-size:11px;line-height:1.4}@media (max-width:640px){.modal-actions,.form-actions,.drawer-actions{align-items:stretch}.modal-actions button,.form-actions button,.drawer-actions button{flex:120px}}.job-detail-modal,.unified-job-modal{border:1px solid #d3cec4;box-shadow:0 24px 70px #21123b38}.job-detail-modal{background:#fffdfa;width:min(760px,100vw - 32px);max-height:calc(100vh - 32px);padding:24px 28px 30px;overflow:auto}.job-detail-modal .drawer-actions{z-index:3;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdfaf5;margin:-24px -28px 22px;padding:12px 28px;position:sticky;top:-24px}.job-detail-modal>.eyebrow{color:var(--orange);letter-spacing:.12em;margin:0 0 7px;font-size:10px;font-weight:850}.job-detail-modal .drawer-title{margin-bottom:18px}.job-detail-modal .drawer-title h2{max-width:650px;color:var(--ink);letter-spacing:-.025em;margin:0;font-size:clamp(22px,3vw,30px);line-height:1.05}.job-detail-modal .drawer-title p{color:var(--muted);margin:6px 0 0;font-size:12px}.job-detail-modal .drawer-status-select{border:1px solid var(--line);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:#f8f5ef;border-radius:9px;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:12px;margin:0 0 18px;padding:10px 12px;font-size:10px;display:grid}.job-detail-modal .drawer-status-select .job-status-select{height:34px}.job-detail-modal>dl{border:1px solid var(--line);background:var(--line);border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 18px;display:grid;overflow:hidden}.job-detail-modal>dl>div{background:#fff;gap:5px;min-width:0;padding:12px;display:grid}.job-detail-modal>dl dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.job-detail-modal>dl dd{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:750;overflow:hidden}.saved-job-notes{border:1px solid #e5d5c7;border-left:3px solid var(--orange);background:#fff8f1;border-radius:8px;margin:0 0 22px;padding:13px 15px}.saved-job-notes b{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:10px;display:block}.saved-job-notes p{color:#58534c;white-space:pre-wrap;margin:0;font-size:12px;line-height:1.5}.artwork-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;padding-bottom:9px;display:flex}.artwork-heading h3{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:14px}.artwork-upload-progress{color:var(--muted);overflow-wrap:anywhere;background:#f8f6f1;border:1px solid #d7d0c4;border-radius:6px;margin:-3px 0 8px;padding:7px 9px;font-size:10px;line-height:1.4}.artwork-upload-control{justify-content:flex-end;margin:-2px 0 10px;display:flex}.artwork-history{gap:8px;display:grid}.artwork-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 11px;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid}.artwork-card:hover{border-color:#d6a17e;transform:translateY(-1px);box-shadow:0 4px 14px #21123b12}.artwork-card>div:nth-child(2){gap:4px;min-width:0;display:grid}.artwork-card>div:nth-child(2) b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.artwork-card>div:nth-child(2) small{color:var(--muted);font-size:10px}.artwork-card .pdf-icon{color:#b63b35;letter-spacing:.04em;background:#fde7e4;border-radius:7px;place-items:center;width:38px;height:38px;font-size:9px;font-weight:900;display:grid}.artwork-card .pdf-icon.image-icon{color:#087f91;background:#e6f6f8}.artwork-actions{align-items:center;gap:6px;display:flex}.artwork-open,.artwork-download{min-height:28px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #aaa59b;border-radius:6px;justify-content:center;align-items:center;padding:0 9px;font-size:10px;font-weight:750;text-decoration:none;display:inline-flex}.artwork-open:hover,.artwork-download:hover{border-color:var(--ink);background:#f6f1e9}.artwork-empty,.job-timeline-empty{color:var(--muted);text-align:center;background:#faf8f3;border:1px dashed #cfc9bf;border-radius:8px;margin:0;padding:22px 14px;font-size:11px}.artwork-empty{gap:5px;display:grid}.artwork-empty b{color:var(--ink);font-size:12px}.job-timeline-panel{background:#f8f5ef;border:1px solid #d8d2c8;border-radius:10px;width:100%;margin-top:22px;padding:18px 18px 20px}.job-timeline-heading{border-bottom:1px solid #e1dbd2;justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px;padding-bottom:10px;display:flex}.job-timeline-heading h3{color:var(--ink);margin:0;font-size:14px}.job-timeline-heading-actions{align-items:center;gap:10px;display:flex}.job-timeline-heading-actions small{color:var(--muted);font-size:10px}.job-timeline-reset-button{color:#a62e45;cursor:pointer;background:#fff5f6;border:1px solid #d4a3aa;border-radius:6px;place-items:center;width:27px;height:27px;display:grid}.job-timeline-reset-button:hover:not(:disabled){background:#ffe8ec;border-color:#a62e45}.job-timeline-reset-button:disabled{cursor:wait;opacity:.5}.job-timeline-reset-help{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.job-timeline-list{gap:0;margin:0;padding:3px 0 3px 8px;list-style:none;display:grid;position:relative}.job-timeline-list:before{content:"";background:#d8cfc3;width:2px;position:absolute;top:14px;bottom:14px;left:14px}.job-timeline-list li{grid-template-columns:14px minmax(0,1fr);gap:12px;min-height:62px;padding:0 0 17px;display:grid;position:relative}.job-timeline-list li:last-child{min-height:32px;padding-bottom:0}.job-timeline-marker{z-index:1;background:var(--orange);border:3px solid #f8f5ef;border-radius:50%;width:12px;height:12px;margin-top:4px;box-shadow:0 0 0 1px #d6a17e}.job-timeline-list li:last-child .job-timeline-marker{background:var(--ink);box-shadow:0 0 0 1px var(--ink)}.job-timeline-list li>div{gap:4px;min-width:0;padding:0 0 4px;display:grid}.job-timeline-list li>div b{color:var(--ink);font-size:12px;line-height:1.25}.job-timeline-list li>div span{color:#5c574f;font-size:10px}.job-timeline-list li>div small{color:var(--muted);font-size:10px;line-height:1.35}.unified-job-modal{background:#fffdfa;width:min(1260px,100vw - 32px);max-height:calc(100vh - 32px);padding:24px 28px 28px;overflow:auto}.unified-job-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:20px;padding-bottom:17px;display:flex}.unified-job-header h2{color:var(--ink);letter-spacing:-.02em;margin:2px 0 0;font-size:24px}.unified-job-modal .job-timeline-panel{grid-column:1/-1}.unified-job-modal .job-email-column{max-width:620px}@media (max-width:760px){.job-detail-modal{width:calc(100vw - 20px);padding:18px 16px 22px}.job-detail-modal .drawer-actions{margin:-18px -16px 18px;padding:10px 16px;top:-18px}.job-detail-modal>dl{grid-template-columns:repeat(2,minmax(0,1fr))}.job-detail-modal .drawer-status-select{grid-template-columns:1fr;gap:6px}.artwork-card{grid-template-columns:34px minmax(0,1fr)}.artwork-card .pdf-icon{width:34px;height:34px}.artwork-actions{grid-column:2;justify-content:flex-start}.unified-job-modal{width:calc(100vw - 20px);padding:18px 16px 22px}.unified-job-header{display:block}.unified-job-modal .job-email-column{max-width:none;margin-top:16px}}.auth-shell{isolation:isolate;background:radial-gradient(circle at 82% 20%,#00aebd1f,#0000 30%),linear-gradient(135deg,#f7f3eb 0%,#fffdf9 52%,#f4eee5 100%);position:relative}.auth-shell:before{content:"";z-index:-1;opacity:.28;pointer-events:none;background-image:linear-gradient(135deg,#21123b14 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.auth-card{border-color:#ded7ca;border-top:4px solid var(--orange);box-shadow:0 18px 50px #21123b24}.auth-card h1{color:var(--ink);letter-spacing:-.025em}.auth-card>p:not(.eyebrow){color:#625d55;line-height:1.55}.auth-art{background:linear-gradient(145deg, #21123bfa, #37195bf5), var(--ink);box-shadow:inset 1px 0 #ffffff14}.auth-art-logo{filter:drop-shadow(0 8px 18px #0000002e)}.google-button{color:var(--ink);background:#fff;border:1px solid #aaa39a;border-radius:8px;transition:border-color .14s,box-shadow .14s,transform .14s;box-shadow:0 5px 14px #21123b12}.google-button:hover{border-color:var(--ink);transform:translateY(-1px);box-shadow:0 8px 18px #21123b21}.google-button span{color:#4285f4;font-weight:900}.auth-loader{justify-content:center;align-items:center;gap:7px;min-height:42px;margin:15px 0;display:flex}.auth-loader i{background:var(--orange);border-radius:50%;width:9px;height:9px;animation:1.1s ease-in-out infinite pms-auth-pulse;display:block}.auth-loader i:nth-child(2){background:var(--magenta);animation-delay:.14s}.auth-loader i:nth-child(3){background:var(--cyan);animation-delay:.28s}@keyframes pms-auth-pulse{0%,80%,to{opacity:.35;transform:scale(.78)}40%{opacity:1;transform:scale(1)}}.timeline-report-page .report-screen-controls{align-items:flex-end}.timeline-report-page .report-description{max-width:620px;color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.45}.timeline-report-actions{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.timeline-report-actions label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;gap:5px;font-size:10px;font-weight:800;display:grid}.timeline-report-actions input{box-sizing:border-box;border:1px solid var(--control-border);height:34px;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:0 9px;font-size:11px}.timeline-report-actions input:focus{border-color:var(--control-focus);outline:none;box-shadow:0 0 0 3px #00aecb21}.timeline-report-print-title{display:none}.timeline-report-message{border:1px solid #d8d2c8;border-left:3px solid var(--cyan);color:#425b60;background:#f7fbfb;border-radius:7px;margin:12px 0;padding:9px 12px;font-size:11px}.timeline-report-table{border-color:#d3cec4;border-radius:11px;overflow:auto;box-shadow:0 7px 22px #21123b0d}.timeline-report-table table{min-width:1120px}.timeline-report-table th{color:#6f6a62;letter-spacing:.06em;text-transform:uppercase;background:#f2efe8;font-size:9px}.timeline-report-table td{font-size:11px}.timeline-report-table td small{max-width:190px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;display:block;overflow:hidden}.timeline-report-table .incomplete-timeline-row{background:#fffaf0}.timeline-report-table tfoot th{border-top:2px solid var(--ink);color:var(--ink);background:#faf7f0}.timeline-report-note{margin-top:10px}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline-offset:2px;outline:3px solid #00aecbb8}:where(.sidebar nav button,.primary,.secondary,.danger-button,.google-button,.table-edit-button):focus-visible{outline-color:var(--orange);box-shadow:0 0 0 3px #f28b3538}@media print{@page{size:A4 landscape;margin:12mm}html,body{background:#fff!important}body{font-size:10pt;color:#000!important}.sidebar,.topbar,.report-screen-controls,.timeline-report-message,.table-note,.modal,.overlay{display:none!important}.workspace{margin:0!important;padding:0!important}.timeline-report-page{width:100%!important;padding:0!important;display:block!important}.timeline-report-print-title{border-bottom:1px solid #222;margin:0 0 8mm;padding-bottom:5mm;display:block!important}.timeline-report-print-title img{object-fit:contain;object-position:left center;width:48mm;max-height:14mm;margin-bottom:4mm;display:block}.timeline-report-print-title h1{color:#21123b;margin:0 0 2mm;font-size:18pt}.timeline-report-print-title p{color:#333;margin:0;font-size:9pt}.timeline-report-table{box-shadow:none!important;border:0!important;overflow:visible!important}.timeline-report-table table{border-collapse:collapse;table-layout:auto;width:100%!important;min-width:0!important}.timeline-report-table th,.timeline-report-table td{color:#000!important;background:#fff!important;border:1px solid #bbb!important;padding:5px 4px!important;font-size:7.5pt!important}.timeline-report-table thead th{font-weight:800;background:#eee!important}.timeline-report-table tfoot th{background:#f2f2f2!important;border-top:2px solid #000!important}.timeline-report-table .incomplete-timeline-row{background:#fff!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--status-purple:#21123b;--status-orange:#c86422;--status-amber:#916d00;--status-green:#18734d;--status-red:#a92f45;--status-blue:#087f91;--status-purple-bg:#f1edf8;--status-orange-bg:#fff2e8;--status-amber-bg:#fff8df;--status-green-bg:#edf9f2;--status-red-bg:#fff1f4;--status-blue-bg:#edf9fb}body{font-family:var(--font-geist-sans), Geist, Arial, sans-serif;color:#37333b;text-rendering:optimizelegibility}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.018em;font-weight:700}.content b,.content strong,.modal b,.modal strong,.drawer b,.drawer strong{font-weight:650}.status,.job-status-select{box-sizing:border-box;border-style:solid;border-width:1px;border-radius:6px;min-height:26px;font-weight:650;line-height:1.15}.status{white-space:nowrap;justify-content:center;align-items:center;padding:4px 8px;font-size:10px;display:inline-flex}.status.order-placed,.job-status-select.order-placed{background:var(--status-purple-bg);color:var(--status-purple);border-color:#b9acd0}.status.artwork,.job-status-select.artwork{background:var(--status-amber-bg);color:var(--status-amber);border-color:#e0bb57}.status.proof-approved,.job-status-select.proof-approved{background:var(--status-green-bg);color:var(--status-green);border-color:#9ccfb0}.status.ready-for-production,.job-status-select.ready-for-production{background:var(--status-amber-bg);color:var(--status-amber);border-color:#e0bb57}.status.in-production,.job-status-select.in-production{background:var(--status-blue-bg);color:var(--status-blue);border-color:#8bcbd5}.status.completed,.status.ready-to-invoice,.status.invoiced,.job-status-select.completed,.job-status-select.ready-to-invoice,.job-status-select.invoiced{background:var(--status-green-bg);color:var(--status-green);border-color:#9ccfb0}.status.error,.status.blocked,.job-status-select.error,.job-status-select.blocked{background:var(--status-red-bg);color:var(--status-red);border-color:#e0a2ae}.status.quote-required,.status.review,.quote-status,.quote-review,.quote-first{background:var(--status-amber-bg);color:var(--status-amber);border-color:#e0bb57}.urgent,.status.urgent{background:var(--status-orange-bg);color:var(--status-orange);border-color:#e3a06f}.info,.status.info,.info-message{background:var(--status-blue-bg);color:var(--status-blue);border-color:#9bcfd8}.job-status-select{font-size:10px;font-weight:650}.job-status-select:disabled{opacity:.72}.dashboard-stage-card .status,.pipeline .status,.compact-table .status{min-width:0;font-size:10px}.list-group-row button b,.panel-title h2,.section-head h2{font-weight:700}.section-head .eyebrow,.panel-title small,.table-note,.form-help,.auth-note{font-weight:500}.sidebar nav button>span,.icon-button,.job-email-icon,.job-email-help-trigger,.job-timeline-reset-button,.modal-close,.drawer-close{text-align:center;flex:0 0 30px;place-items:center;width:30px;height:30px;line-height:1;display:inline-grid}.sidebar nav button>span{flex-basis:22px;width:22px;height:22px;font-size:16px}.job-email-icon{flex-basis:28px;width:28px;height:28px;font-size:15px}:where(button,a,input,select,textarea):focus-visible{outline-offset:2px;outline:3px solid #00aecbbf}@media (max-width:640px){.section-head h2{font-size:21px}.status{padding-inline:7px}}.collapse-indicator{vertical-align:-1px;border-top:1.5px solid;border-right:1.5px solid;flex:0 0 10px;width:10px;height:10px;margin-right:5px;transition:transform .14s;display:inline-block;position:relative;transform:rotate(45deg)}.collapse-indicator.collapsed{transform:rotate(45deg)translate(-2px,2px)}.trash-icon{border:1.5px solid;border-top:0;border-radius:0 0 2px 2px;width:13px;height:13px;display:inline-block;position:relative}.trash-icon:before{content:"";background:currentColor;width:17px;height:1.5px;position:absolute;top:-4px;left:-3px}.trash-icon:after{content:"";border:1.5px solid;border-bottom:0;border-radius:2px 2px 0 0;width:5px;height:3px;position:absolute;top:-7px;left:3px}.job-email-icon:before{content:"";background:linear-gradient(145deg,#0000 46%,currentColor 47% 53%,#0000 54%) 0 0/50% 100% no-repeat,linear-gradient(215deg,#0000 46%,currentColor 47% 53%,#0000 54%) 100% 0/50% 100% no-repeat;border:1.5px solid;border-radius:2px;width:15px;height:11px;display:block}.status-change-icon:before{content:"↔";color:var(--ink);font-size:25px;font-weight:650;line-height:1}.price-tier-toggle .collapse-indicator{color:currentColor;margin-left:6px}@media (forced-colors:active){:where(button,a,input,select,textarea):focus-visible{outline:2px solid canvastext}.status,.job-status-select{color:canvastext;background:canvas;border-color:canvastext}}.jobs-page .section-head{width:100%}.jobs-page .list-heading-group{min-width:460px}.jobs-page .group-controls{flex-wrap:nowrap;align-items:center;gap:8px;min-width:440px;display:flex;overflow:visible}.jobs-page .group-controls label{min-width:0;color:var(--muted);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.jobs-page .group-controls label>span{white-space:nowrap;flex:none;font-size:10px;font-weight:650;display:inline-block;overflow:visible}.jobs-page .group-controls select{width:148px;min-width:148px;height:32px;color:var(--ink);background:#fff;border:1px solid #d2ccc2;border-radius:6px;padding:0 27px 0 9px;font-size:10px;font-weight:600}.jobs-page .group-controls button{color:#706a61;white-space:nowrap;background:#fbfaf7;border:1px solid #ddd7ce;border-radius:6px;min-height:30px;padding:0 9px;font-size:10px;font-weight:600}.jobs-page .group-controls button:hover{color:var(--ink);background:#f5f1eb;border-color:#c8bfb4}.jobs-table-panel{width:100%;overflow-x:auto}.jobs-table-panel table{width:100%;min-width:1060px}.jobs-table-panel .list-group-row td{background:#fdfcf9;border-bottom-color:#ebe6de}.jobs-table-panel .list-group-row button{color:#625c54}.jobs-table-panel .list-group-row button:hover{background:#faf7f1}.jobs-table-panel .list-group-row button span{color:#746d64}.jobs-table-panel .list-group-row button b{color:#4f4942;font-weight:650}.jobs-table-panel .list-group-row button strong{color:#8a837a;font-weight:550}@media (max-width:1180px){.jobs-page .list-heading-group{min-width:0}.jobs-page .group-controls{flex-wrap:wrap;min-width:0}}.job-timeline-panel{overflow-x:auto}.job-timeline-list{grid-auto-columns:minmax(128px,1fr);grid-auto-flow:column;gap:0;min-width:760px;padding:8px 8px 3px;display:grid}.job-timeline-list:before{width:auto;height:2px;inset:14px 14px auto}.job-timeline-list li,.job-timeline-list li:last-child{min-height:112px;padding:0 12px 0 0;display:block}.job-timeline-marker,.job-timeline-list li:last-child .job-timeline-marker{border:3px solid #f8f5ef;width:12px;height:12px;margin:0 0 12px 2px;position:relative}.job-timeline-list li>div,.job-timeline-list li:last-child>div{gap:5px;padding:0 8px 0 0;display:grid}.job-timeline-list li>div b{min-height:30px;font-size:11px}.job-timeline-list li>div span{min-height:22px;line-height:1.35}.job-email-action{position:relative}.job-email-help-trigger{color:var(--ink);cursor:help;background:#f7f3fb;border:1px solid #cfc5d7;border-radius:50%;font-size:11px;font-weight:700}.job-email-help-trigger:hover,.job-email-help-trigger:focus-visible{border-color:var(--orange);color:var(--orange);background:#fff3e9}.job-email-help-popup{z-index:12;border:1px solid #d8c9df;border-left:3px solid var(--orange);color:#5b5149;background:#fffaf5;border-radius:7px;gap:5px;width:min(300px,32vw);padding:10px 12px;font-size:10px;line-height:1.4;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 20px #21123b1f}.job-email-help-popup strong{color:var(--ink);font-size:10px;font-weight:700}.job-email-help-popup span{color:#625b54;font-size:10px}@media (max-width:900px){.job-timeline-list{min-width:700px}.job-email-help-popup{width:260px}}.invoices-table-panel tbody tr.invoice-row{cursor:pointer;transition:background-color .14s,box-shadow .14s}.invoices-table-panel tbody tr.invoice-row:hover,.invoices-table-panel tbody tr.invoice-row:focus-within{box-shadow:inset 3px 0 0 var(--orange);background:#fff3e9}.invoices-table-panel tbody tr.invoice-row:active{background:#ffecdc}.invoices-table-panel .invoice-link,.invoices-table-panel tbody tr.invoice-row:hover .invoice-link{color:#21123b;font-weight:700;text-decoration:none}.invoices-table-panel .invoice-link:hover{color:#21123b;text-decoration:underline}.invoices-table-panel .list-group-row td{background:#fdfcf9;border-bottom:1px solid #ebe6de;height:36px;padding:0}.invoices-table-panel .list-group-row button{color:#625c54;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:36px;padding:0 14px;display:flex}.invoices-table-panel .list-group-row button:hover{background:#faf7f1}.invoices-table-panel .list-group-row button span{color:#746d64;letter-spacing:.04em;text-transform:uppercase;font-size:10px}.invoices-table-panel .list-group-row button b{color:#4f4942;font-weight:650}.invoices-table-panel .list-group-row button strong{color:#8a837a;white-space:nowrap;font-size:10px;font-weight:550}.jobs-page .group-controls{align-items:flex-end}.jobs-page .group-controls label{align-items:end;gap:5px;display:grid}.jobs-page .group-controls label>span{min-height:12px}.jobs-page .group-controls>button{align-self:end;margin-bottom:0}.jobs-table-panel table{table-layout:fixed;width:100%;min-width:0}.jobs-table-panel td:first-child,.jobs-table-panel th:first-child{width:5%}.jobs-table-panel td:nth-child(2),.jobs-table-panel th:nth-child(2){width:9%}.jobs-table-panel td:nth-child(5),.jobs-table-panel th:nth-child(5){width:6%}.jobs-table-panel td:nth-child(6),.jobs-table-panel th:nth-child(6),.jobs-table-panel td:nth-child(7),.jobs-table-panel th:nth-child(7){width:11%}.jobs-table-panel td:nth-child(8),.jobs-table-panel th:nth-child(8){width:12%}.jobs-table-panel td:nth-child(8) .job-status-select,.jobs-table-panel th:nth-child(8) .job-status-select{width:min(116px,100%)}@media (max-width:1100px){.jobs-table-panel table{min-width:980px}}.invoice-detail{max-height:calc(100vh - 32px);overflow:auto}.invoice-detail-header{border-bottom:1px solid var(--line);align-items:flex-start;margin-bottom:18px;padding-bottom:15px}.invoice-detail-header h2{color:var(--ink);letter-spacing:-.02em;margin:2px 0 0;font-size:24px;font-weight:700;line-height:1.1}.invoice-detail-header .drawer-actions{border-top:0;margin:0;padding-top:0}.invoice-edit-heading{border-bottom:1px solid var(--line);align-items:center;min-height:46px;margin:0 0 10px;padding:0 0 10px}.invoice-edit-heading b{color:var(--ink);font-size:14px;font-weight:700}.invoice-edit-heading span{color:var(--muted);font-size:11px;line-height:1.35}.invoice-edit-list{overscroll-behavior:contain;scrollbar-gutter:stable;height:min(340px,42vh);min-height:0;max-height:min(340px,42vh);overflow-y:auto}.invoice-edit-list label{min-height:54px}@media (max-width:760px){.invoice-detail-header{flex-direction:column;align-items:stretch;display:flex}.invoice-detail-header .drawer-actions{justify-content:flex-start}}.auth-card h1{font-size:clamp(25px,3vw,32px)}.auth-art h2,.auth-art p{color:#fff}.auth-art p{opacity:.82}.job-timeline-panel{margin-top:16px;padding:13px 15px 14px}.job-timeline-heading{margin-bottom:8px;padding-bottom:7px}.job-timeline-list{padding-top:4px;padding-bottom:0}.job-timeline-list li,.job-timeline-list li:last-child{min-height:86px}.job-timeline-marker,.job-timeline-list li:last-child .job-timeline-marker{margin-bottom:8px}.job-timeline-list li>div,.job-timeline-list li:last-child>div{gap:3px}.job-timeline-list li>div b{min-height:24px}.job-timeline-list li>div span{min-height:18px}.job-timeline-list li>div small{line-height:1.2}.jobs-table-panel td:nth-child(3),.jobs-table-panel th:nth-child(3){width:41%}.jobs-table-panel td:nth-child(4),.jobs-table-panel th:nth-child(4){width:5%}.invoice-lines-scroll{border:1px solid var(--line);overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff;border-radius:8px;max-height:min(430px,52vh);overflow:hidden auto}.invoice-lines-scroll .invoice-lines{border:0;margin:0}.invoice-lines-scroll .invoice-lines thead{z-index:1;position:sticky;top:0}.invoice-lines-scroll .invoice-lines th{background:#f3efe7}@media print{.invoice-lines-scroll{border:0;max-height:none;overflow:visible}.invoice-lines-scroll .invoice-lines thead{position:static}}.product-costing-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;padding-bottom:12px;display:flex}.product-costing-heading>div{min-width:0}.product-costing-heading .eyebrow{margin-bottom:4px}.product-costing-heading h2{margin:0}.product-costing-heading .resource-costing-status{color:#18734d;white-space:nowrap;background:#edf9f2;border:1px solid #9ccfb0;border-radius:6px;flex:none;margin:0;padding:7px 10px;font-size:10px;font-weight:700}.product-costing-heading .resource-costing-status.legacy{color:var(--muted);background:#faf7f1;border-color:#ddd3c3}.product-costing-heading .resource-costing-status a{color:inherit;font-weight:700}@media (max-width:760px){.product-costing-heading{flex-direction:column;align-items:flex-start}}.group-controls{flex-wrap:nowrap;align-items:flex-end;gap:8px;display:flex}.group-controls>button{color:#706a61;white-space:nowrap;background:#fbfaf7;border:1px solid #ddd7ce;border-radius:6px;min-height:30px;padding:0 9px;font-size:10px;font-weight:600;line-height:1}.group-controls>button:hover{color:var(--ink);background:#f5f1eb;border-color:#c8bfb4}.group-controls>button:focus-visible{outline-offset:2px;outline:2px solid #00aecbb3}@media (max-width:760px){.group-controls{flex-wrap:wrap}}.production-settings-panel{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:18px}.production-settings-panel .production-resources-settings,.production-settings-panel .recipe-settings{color:var(--ink);font-size:12px}.production-settings-panel .production-resources-heading{border-bottom:1px solid var(--line);align-items:center;margin-bottom:16px;padding-bottom:12px}.production-settings-panel .production-resources-heading h3{color:var(--ink);margin:0;font-size:16px;font-weight:700}.production-settings-panel .production-resources-heading p{color:var(--muted);font-size:11px}.production-settings-panel .production-resource-editor,.production-settings-panel .recipe-editor,.production-settings-panel .recipe-preview,.production-settings-panel .recipe-operation,.production-settings-panel .recipe-labour-step{border:1px solid var(--line);box-shadow:none;background:#fff;border-radius:8px}.production-settings-panel .production-resource-editor{gap:12px 14px;padding:14px}.production-settings-panel .production-resources-settings label,.production-settings-panel .recipe-settings label{color:#5e5a53;font-size:11px;font-weight:650}.production-settings-panel .production-resources-settings input:not([type=checkbox]),.production-settings-panel .production-resources-settings select,.production-settings-panel .production-resources-settings textarea,.production-settings-panel .recipe-settings input:not([type=checkbox]),.production-settings-panel .recipe-settings select,.production-settings-panel .recipe-settings textarea{min-height:36px;color:var(--ink);background:#fff;border:1px solid #c9c4ba;border-radius:7px;font-size:12px}.production-settings-panel .production-resources-settings input:focus,.production-settings-panel .production-resources-settings select:focus,.production-settings-panel .production-resources-settings textarea:focus,.production-settings-panel .recipe-settings input:focus,.production-settings-panel .recipe-settings select:focus,.production-settings-panel .recipe-settings textarea:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px #00aecb21}.production-settings-panel .recipe-toolbar-inline{border-bottom:1px solid var(--line);align-items:end;margin-bottom:14px;padding:0 0 12px}.production-settings-panel .recipe-editor{padding:14px}.production-settings-panel .recipe-activation{background:#fff8f1;border:1px solid #e5d5c7;border-radius:7px;margin-bottom:12px;padding:10px 12px}.production-settings-panel .recipe-operations-heading{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.production-settings-panel .recipe-operation,.production-settings-panel .recipe-labour-step{padding:10px 12px}.production-settings-panel .recipe-preview{padding:14px}.production-settings-panel .recipe-preview-summary{border-color:var(--line);background:#faf8f3;border-radius:7px}.production-settings-panel .recipe-save-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;display:flex}.production-settings-panel .production-resources-heading-actions .primary,.production-settings-panel .recipe-save-actions .primary{border-radius:7px;min-height:34px}.client-editor-modal{background:#fff;border:1px solid #d3cec4;width:min(900px,100vw - 32px);max-height:calc(100vh - 32px);padding:24px 28px 28px;overflow:auto;box-shadow:0 24px 70px #21123b2e}.client-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;padding-bottom:14px;display:flex}.client-modal-header h2{color:var(--ink);letter-spacing:-.02em;margin:2px 0 0;font-size:24px;font-weight:700;line-height:1.1}.client-modal-header .client-top-actions{border-top:0;justify-content:flex-end;margin:0;padding:0}.client-editor-modal .client-editor-layout,.client-editor-modal .user-access-details,.client-editor-modal .client-portal-settings,.client-editor-modal .portal-client-access{background:#fff}.client-editor-modal .user-access-details{gap:12px;padding:0}.client-editor-modal label{color:#5e5a53;font-size:11px;font-weight:650}.client-editor-modal input:not([type=checkbox]),.client-editor-modal select,.client-editor-modal textarea{min-height:36px;color:var(--ink);background:#fff;border:1px solid #c9c4ba;border-radius:7px;font-size:12px}.client-editor-modal input:focus,.client-editor-modal select:focus,.client-editor-modal textarea:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px #00aecb21}@media (max-width:760px){.client-editor-modal{width:calc(100vw - 20px);padding:18px 16px 22px}.client-modal-header{flex-direction:column;align-items:stretch}.client-modal-header .client-top-actions{justify-content:flex-start}}.equipment-editor-modal{background:#fff;border:1px solid #d3cec4;width:min(820px,100vw - 32px);max-height:calc(100vh - 32px);padding:24px 28px 28px;overflow-y:auto;box-shadow:0 24px 70px #21123b2e}.equipment-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;padding-bottom:14px;display:flex}.equipment-modal-header h2{color:var(--ink);letter-spacing:-.02em;margin:2px 0 0;font-size:24px;font-weight:700;line-height:1.1}.equipment-editor-modal label{color:#5e5a53;font-size:11px;font-weight:650}.equipment-editor-modal input:not([type=checkbox]),.equipment-editor-modal select,.equipment-editor-modal textarea{min-height:36px;color:var(--ink);background:#fff;border:1px solid #c9c4ba;border-radius:7px;font-size:12px}.equipment-editor-modal input:focus,.equipment-editor-modal select:focus,.equipment-editor-modal textarea:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px #00aecb21}.equipment-editor-costing{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.equipment-editor-costing .eyebrow{margin:0 0 10px}@media (max-width:760px){.equipment-editor-modal{width:calc(100vw - 20px);padding:18px 16px 22px}.equipment-modal-header{flex-direction:column;align-items:stretch}}.user-access-modal .user-access-details,.user-access-modal .user-access-clients,.user-access-modal .portal-access-managed-note{background:#fff}.stock-modal{background:#fff;border:1px solid #d3cec4;width:min(760px,100vw - 32px);max-height:calc(100vh - 32px);padding:24px 28px 28px;overflow:auto;box-shadow:0 24px 70px #21123b2e}.stock-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;padding-bottom:14px;display:flex}.stock-modal-header h2{color:var(--ink);letter-spacing:-.02em;margin:2px 0 0;font-size:24px;font-weight:700;line-height:1.1}.stock-modal-header .drawer-actions{border-top:0;margin:0;padding-top:0}.stock-modal>.modal-subtitle{color:var(--muted);margin:-5px 0 16px;font-size:12px;font-weight:600}.stock-modal>.form-grid{gap:14px}@media (max-width:760px){.stock-modal{width:calc(100vw - 20px);padding:18px 16px 22px}.stock-modal-header{flex-direction:column;align-items:stretch}}.client-editor-modal .client-editor-layout>.user-access-details{padding:14px 16px}.jobs-page .jobs-table-panel{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:220px;max-height:min(680px,100vh - 260px);overflow:auto}.jobs-page .jobs-table-panel table{min-width:1060px}.production-dashboard .dashboard-grid>.panel{min-height:0}.production-dashboard .dashboard-grid>.panel>.compact-table{overscroll-behavior:contain;scrollbar-gutter:stable;height:clamp(180px,100vh - 500px,320px);min-height:0;overflow:hidden auto}.production-dashboard .dashboard-grid>.panel>.compact-table>.compact-head{z-index:3;background:var(--surface-soft);position:sticky;top:0}.sidebar .brand{justify-content:center;gap:10px}.production-settings-panel,.costing-price-panel{background:#fff}.user-access-modal .user-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;padding-bottom:14px;display:flex}.user-access-modal .user-modal-header h2{color:var(--ink);letter-spacing:-.02em;margin:2px 0 0;font-size:24px;font-weight:700;line-height:1.1}.user-access-modal .user-modal-header .drawer-actions{border-top:0;justify-content:flex-end;margin:0;padding:0}@media (max-width:760px){.user-access-modal .user-modal-header{flex-direction:column;align-items:stretch}.user-access-modal .user-modal-header .drawer-actions{justify-content:flex-start}}.production-dashboard .pipeline button i.cyan{background:var(--cyan)}.production-dashboard .pipeline button i.magenta{background:var(--magenta)}.production-dashboard .pipeline button i.black{background:#111}.production-dashboard .dashboard-grid>.dashboard-stage-design .panel-title h2{color:var(--cyan)}.production-dashboard .dashboard-grid>.dashboard-stage-design .panel-title h2 i{background:var(--cyan);color:#fff}.production-dashboard .dashboard-grid>.dashboard-stage-print .panel-title h2{color:var(--magenta)}.production-dashboard .dashboard-grid>.dashboard-stage-print .panel-title h2 i{background:var(--magenta);color:#fff}.production-dashboard .dashboard-year-control{justify-items:stretch;gap:5px;min-width:178px;margin:0 0 10px;display:inline-grid}.production-dashboard .dashboard-year-control>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.production-dashboard .dashboard-year-control select{border-color:var(--line);width:100%;height:34px;min-height:34px;font-size:11px;font-weight:600}.production-dashboard .dashboard-year-control{gap:6px;width:170px;min-width:170px;margin:0 0 10px auto;display:grid}.production-dashboard .dashboard-year-control select{border:1px solid var(--ink);border-radius:8px;width:100%;height:42px;min-height:42px;padding:0 32px 0 14px;font-size:11px;font-weight:700}.production-settings-panel,.production-settings-panel .production-resources-settings,.production-settings-panel .production-resources-grid,.production-settings-panel .production-resource-editor,.production-settings-panel .recipe-settings,.production-settings-panel .recipe-toolbar,.production-settings-panel .recipe-editor,.production-settings-panel .recipe-preview,.production-settings-panel .recipe-operation,.production-settings-panel .recipe-labour-step,.costing-price-panel{background:#fff}.user-access-modal .user-modal-header .drawer-actions button{box-sizing:border-box;border-radius:7px;height:34px;min-height:34px;padding:0 13px;font-size:11px;font-weight:700;line-height:1}.user-access-modal .user-modal-header .drawer-actions .primary{border-color:var(--ink);background:var(--ink);color:#fff}.user-access-modal .user-modal-header .drawer-actions .secondary{color:var(--ink);background:#fff;border-color:#aaa59b}.user-access-modal .user-modal-header .drawer-actions .danger-button{color:#fff;background:#b4324d;border-color:#b4324d}.settings-tab-panel button,.settings-tab-panel .maintenance-file-button,.settings-tab-panel .maintenance-migration label{color:#fff;font-weight:700}.settings-tab-panel .secondary{border-color:var(--ink);background:var(--ink)}.settings-tab-panel .secondary:hover:not(:disabled){color:#fff;background:#3a2163;border-color:#3a2163}.job-timeline-marker.design{background:var(--cyan);box-shadow:0 0 0 1px var(--cyan)}.job-timeline-marker.print{background:var(--magenta);box-shadow:0 0 0 1px var(--magenta)}.job-timeline-marker.invoice{background:#111;box-shadow:0 0 0 1px #111}@media (min-width:1101px){.production-dashboard .pipeline{grid-template-columns:repeat(8,minmax(0,1fr))}}.group-toggle-button{box-sizing:border-box;color:#706a61;white-space:nowrap;background:#fbfaf7;border:1px solid #ddd7ce;border-radius:6px;height:30px;min-height:30px;padding:0 9px;font-size:10px;font-weight:600;line-height:1}.group-toggle-button:hover:not(:disabled){color:var(--ink);background:#f5f1eb;border-color:#c8bfb4}.job-timeline-list .job-timeline-marker.design,.job-timeline-list li:last-child .job-timeline-marker.design{background:#00a6c8;box-shadow:0 0 0 1px #00a6c8}.job-timeline-list .job-timeline-marker.print,.job-timeline-list li:last-child .job-timeline-marker.print{background:#d72d73;box-shadow:0 0 0 1px #d72d73}.job-timeline-list .job-timeline-marker.invoice,.job-timeline-list li:last-child .job-timeline-marker.invoice{background:#111;box-shadow:0 0 0 1px #111}.job-timeline-list .job-timeline-marker,.job-timeline-list li:last-child .job-timeline-marker{box-sizing:border-box;border:0;border-radius:50%;flex:0 0 12px;width:12px;min-width:12px;height:12px;min-height:12px;margin-top:4px;margin-left:2px;display:block}.job-notes-toggle{box-sizing:border-box;min-height:34px;color:var(--ink);background:#fff;border:1px solid #bdb9b0;border-radius:7px;padding:0 10px;font-size:11px;font-weight:600;line-height:1}.job-notes-toggle:hover{border-color:var(--ink);color:var(--ink);background:#f7ead1;text-decoration:none}.product-group-inline{color:#52636a;white-space:nowrap;align-items:center;gap:6px;margin-right:auto;font-size:11px;font-weight:700;display:inline-flex}.product-group-inline input{color:#40545b;background:#fff;border:1px solid #cbd5d7;border-radius:6px;width:150px;height:34px;margin:0;padding:0 9px;font-size:11px;font-weight:400}@media (max-width:900px){.product-group-inline{order:-1;width:100%;margin:0 0 8px}}.shared-workstation-card{border:1px solid var(--line);background:#fff;border-radius:10px;gap:16px;padding:22px;display:grid}.shared-workstation-card .settings-panel-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.shared-workstation-card h2{color:var(--ink);margin:2px 0 6px;font-size:22px}.shared-workstation-id{color:var(--muted);background:#fbfaf7;border:1px dashed #c8c0b4;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:11px;font-weight:700;display:flex}.shared-workstation-id code{color:var(--ink);word-break:break-all;font-size:10px}.shared-workstation-card>label{color:var(--muted);gap:6px;font-size:11px;font-weight:700;display:grid}.shared-workstation-card>label input{max-width:520px}.shared-workstation-user-list{grid-template-columns:repeat(2,minmax(220px,1fr));gap:8px;display:grid}.shared-workstation-user{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:10px;padding:11px 12px;display:flex}.shared-workstation-user span{gap:2px;display:grid}.shared-workstation-user small{color:var(--muted);font-size:10px;font-weight:500}.shared-auth-form{gap:12px;margin-top:16px;display:grid}.shared-auth-title{color:var(--ink);margin:0;font-size:14px;font-weight:700}.shared-auth-form label{color:var(--muted);text-align:left;gap:6px;font-size:11px;font-weight:700;display:grid}.shared-auth-form input,.shared-auth-form select{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:0 12px}.shared-auth-actions{gap:7px;display:grid}.auth-secondary-button{color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:700;text-decoration:underline}.shared-auth-form .google-button:disabled{opacity:.55;cursor:not-allowed}@media (max-width:760px){.shared-workstation-user-list{grid-template-columns:1fr}}.invoice-link.price-check-warning{color:#b4324d;font-weight:800}.production-resource-selector{border:1px solid var(--line);background:#fff;border-radius:9px;gap:6px;padding:14px 16px;display:grid}.production-resource-selector p,.production-resource-section-title p,.production-rates-heading p{color:var(--muted);margin:0;font-size:11px;font-weight:400;line-height:1.4}.production-resource-section-title,.production-rates-heading{grid-column:1/-1}.production-resource-section-title{border-bottom:1px solid var(--line);gap:3px;padding-bottom:3px;display:grid}.production-resource-section-title h4,.production-rates-heading h4{color:var(--ink);margin:0;font-size:14px}.production-rates-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 0 4px;display:flex}.production-rates-heading button{white-space:nowrap;flex-shrink:0}.production-rates-editor{grid-column:1/-1;gap:10px;display:grid}.production-rate-editor{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:1.4fr 1.1fr .8fr 1fr .8fr auto auto;align-items:end;gap:9px;padding:12px;display:grid}.production-rate-editor label{min-width:0}.production-rate-active{white-space:nowrap;align-self:end;padding-bottom:8px}.production-rate-editor>button{color:#8c2637;align-self:end;margin-bottom:0}@media (max-width:1100px){.production-rate-editor{grid-template-columns:repeat(3,minmax(0,1fr))}}.production-resources-settings .resource-defaults-button,.production-resources-settings .production-rate-add-button{color:var(--ink)!important;background:#fff!important;border:1px solid #8d96a1!important}.production-resources-settings .resource-defaults-button:hover,.production-resources-settings .production-rate-add-button:hover{border-color:var(--ink)!important;background:#f1f5f7!important}.production-resources-settings .resource-save-button{color:#fff!important;background:var(--ink)!important;border:1px solid var(--ink)!important}.production-resources-settings .resource-save-button:hover{background:#35284f!important}.production-resources-settings .production-rate-remove-button{color:#8c2637!important;background:#fff5f6!important;border:1px solid #d4a3aa!important}.production-resources-settings .production-rate-remove-button:hover{background:#ffe8ec!important;border-color:#8c2637!important}.production-resource-header-fields{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:minmax(280px,1.5fr) minmax(220px,1fr) minmax(140px,.6fr);align-items:end;gap:12px;padding:14px 16px;display:grid}.production-resource-header-fields p{color:var(--muted);grid-column:1/-1;margin:-1px 0 0;font-size:11px;line-height:1.4}.machine-resource-editor{grid-template-columns:repeat(5,minmax(0,1fr))}.machine-resource-editor .production-resource-section-title,.machine-resource-editor .production-rates-heading,.machine-resource-editor .production-rates-editor{grid-column:1/-1}@media (max-width:1100px){.production-resource-header-fields{grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) minmax(130px,.7fr)}.machine-resource-editor{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.production-resource-header-fields,.machine-resource-editor{grid-template-columns:1fr}}.jobs-page .job-status-select.order-placed,.jobs-page .job-status-select.artwork,.jobs-page .job-status-select.proof-approved{color:#08788c!important;background:#e8f8fb!important;border-color:#18a8c0!important}.jobs-page .job-status-select.ready-for-production,.jobs-page .job-status-select.in-production,.jobs-page .job-status-select.completed{color:#8c2f52!important;background:#f9eaf0!important;border-color:#b84f73!important}.jobs-page .job-status-select.ready-to-invoice,.jobs-page .job-status-select.invoiced{color:#111!important;background:#eee!important;border-color:#111!important}.jobs-page .jobs-head-actions{grid-template-columns:repeat(5,minmax(0,1fr)) auto;justify-self:stretch;width:min(1060px,100%)}.jobs-page .jobs-filter-reset-button{grid-column:6;place-self:end;width:34px;height:34px;margin-left:4px}@media (max-width:1380px){.jobs-page .jobs-head-actions{grid-template-columns:repeat(5,minmax(0,1fr)) auto;width:min(100%,960px)}}@media (max-width:1080px){.jobs-page .jobs-head-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.jobs-page .jobs-filter-reset-button{grid-column:auto;justify-self:start}}.jobs-page .section-head{grid-template-columns:minmax(220px,.7fr) minmax(0,3fr);align-items:end;min-width:0;display:grid}.jobs-page .list-heading-group,.jobs-page .jobs-head-actions{min-width:0}.jobs-page .jobs-head-actions{grid-template-columns:repeat(5,minmax(0,1fr)) 38px;width:100%;max-width:none;overflow:hidden}.jobs-page .jobs-head-actions .jobs-status-filter,.jobs-page .jobs-head-actions select{min-width:0}.jobs-page .jobs-head-actions .jobs-status-filter select{text-overflow:ellipsis}.jobs-page .jobs-filter-reset-button{justify-self:end}@media (max-width:1180px){.jobs-page .section-head{grid-template-columns:1fr;gap:12px}.jobs-page .jobs-head-actions{justify-self:stretch}}.paper-sizes-modal{width:min(560px,100vw - 32px);padding:20px}.paper-sizes-modal .stock-modal-header{margin-bottom:14px}.paper-sizes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;display:grid}.paper-size-reference{border:1px solid var(--line);background:#fffdf9;border-radius:7px;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 10px;display:flex}.paper-size-reference strong{color:var(--brand-purple);font-size:13px}.paper-size-reference span{color:var(--ink-muted);white-space:nowrap;font-size:12px}@media (max-width:520px){.paper-sizes-grid{grid-template-columns:1fr}}.jobs-table-panel th.job-status-colour-heading,.jobs-table-panel td.job-status-colour-cell{text-align:center;width:3%;min-width:28px;padding-inline:6px}.jobs-table-panel td.job-status-colour-cell{vertical-align:middle}.job-status-colour{vertical-align:middle;background:#b8b8b8;border-radius:50%;width:13px;height:13px;display:inline-block;box-shadow:0 0 0 1px #21123b2e}.job-status-colour.design{background:var(--cyan)}.job-status-colour.print{background:var(--magenta)}.job-status-colour.invoice{background:#111}.jobs-table-panel th:nth-child(9),.jobs-table-panel td:nth-child(9){width:12%}.jobs-table-panel th:nth-child(9) .job-status-select,.jobs-table-panel td:nth-child(9) .job-status-select{width:min(116px,100%)}.jobs-table-panel th:nth-child(9),.jobs-table-panel td:nth-child(9){width:12%;min-width:128px}.jobs-table-panel th:nth-child(9) .job-status-select,.jobs-table-panel td:nth-child(9) .job-status-select{width:116px;max-width:100%;display:block}.jobs-table-panel th.job-status-heading,.jobs-table-panel td.job-status-cell{white-space:nowrap;text-align:left!important;width:140px!important;min-width:140px!important;padding-right:10px!important}.jobs-table-panel td.job-status-cell .job-status-select{visibility:visible!important;opacity:1!important;width:116px!important;min-width:116px!important;max-width:none!important;display:block!important}.jobs-table-panel th.job-status-heading,.jobs-table-panel td.job-status-cell{white-space:nowrap;vertical-align:middle;text-align:left!important;width:154px!important;min-width:154px!important;padding-right:10px!important}.jobs-table-panel td.job-status-cell .job-status-colour{margin-right:7px}.jobs-table-panel td.job-status-cell .job-status-select{vertical-align:middle;width:116px!important;min-width:116px!important;display:inline-block!important}@media print{.timeline-report-page,.timeline-report-page *{visibility:visible!important}}.timeline-summary-modal{width:min(820px,100vw - 40px);max-height:calc(100vh - 40px);overflow:auto}.timeline-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.timeline-summary-card{border:1px solid var(--line);background:#faf7f0;border-radius:10px;padding:16px}.timeline-summary-card p{color:var(--muted);text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:800}.timeline-summary-card strong{color:var(--purple,#21123b);font-size:25px;display:block}.timeline-summary-card small{color:var(--muted);margin-top:5px;font-size:10px;display:block}@media (max-width:760px){.timeline-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.timeline-summary-overlay{display:none!important}}.timeline-summary-timeline-style{color:#21123b;background:#faf8f3;border:1px solid #d8d2c8;border-radius:16px;width:min(1180px,100vw - 36px);max-height:calc(100vh - 36px);overflow:auto}.timeline-summary-timeline-style .panel-title{border-bottom:1px solid #ded8ce;margin:0 0 8px;padding:8px 0 16px}.timeline-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:22px 0 8px;display:grid;position:relative}.timeline-summary-grid:before{content:"";background:#d8d0c4;height:3px;position:absolute;top:34px;left:14px;right:14px}.timeline-summary-card{background:0 0;border:0;border-radius:0;min-width:0;padding:34px 14px 12px;position:relative}.timeline-summary-card:before{content:"";z-index:1;background:#171717;border:3px solid #faf8f3;border-radius:50%;width:22px;height:22px;position:absolute;top:24px;left:14px;box-shadow:0 0 0 1px #171717}.timeline-summary-card:first-child:before{background:#d92d78;box-shadow:0 0 0 1px #d92d78}.timeline-summary-card p{color:#21123b;min-height:34px;margin:0 0 12px;font-size:13px;font-weight:800;line-height:1.25}.timeline-summary-card strong{color:#6e6961;font-size:18px;line-height:1.2;display:block}.timeline-summary-card strong:after{content:" jobs";font-size:11px;font-weight:500}.timeline-summary-card small{color:#6e6961;min-height:32px;margin-top:7px;font-size:11px;line-height:1.4;display:block}.timeline-summary-card:nth-child(n+2){border-left:1px solid #e2ddd5}@media (max-width:900px){.timeline-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px}.timeline-summary-grid:before{display:none}.timeline-summary-card:nth-child(n+2){border-left:0}}@media (max-width:600px){.timeline-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.timeline-summary-overlay{display:none!important}}.timeline-summary-arrow-style{color:#21123b;background:#faf8f3;border:1px solid #d8d2c8;border-radius:16px;width:min(1180px,100vw - 36px);max-height:calc(100vh - 36px);overflow:auto}.timeline-summary-arrow-style .panel-title{border-bottom:1px solid #ded8ce;margin:0 0 8px;padding:8px 0 16px}.timeline-summary-arrow-style .timeline-summary-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:0;padding:58px 0 12px;display:grid;position:relative}.timeline-summary-arrow-style .timeline-summary-grid:before{content:"";background:#d8d0c4;height:3px;position:absolute;top:35px;left:14px;right:14px}.timeline-summary-arrow-style .timeline-summary-card{background:0 0;border:0;border-radius:0;min-width:0;padding:26px 14px 12px;position:relative}.timeline-summary-arrow-style .timeline-summary-card:before{content:"";z-index:2;background:#00a6c8;border:3px solid #faf8f3;border-radius:50%;width:20px;height:20px;position:absolute;top:23px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #00a6c8}.timeline-summary-arrow-style .timeline-summary-card:nth-child(5):before,.timeline-summary-arrow-style .timeline-summary-card:nth-child(6):before{background:#d92d78;box-shadow:0 0 0 1px #d92d78}.timeline-summary-arrow-style .timeline-summary-card:nth-child(7):before{background:#171717;box-shadow:0 0 0 1px #171717}.timeline-summary-arrow-style .timeline-summary-card:not(:last-child):after{content:"";z-index:3;border-top:3px solid #d8d0c4;border-right:3px solid #d8d0c4;width:9px;height:9px;position:absolute;top:31px;right:-5px;transform:rotate(45deg)}.timeline-summary-arrow-style .timeline-summary-card p{color:#21123b;min-height:36px;margin:0 0 12px;font-size:12px;font-weight:800;line-height:1.3}.timeline-summary-arrow-style .timeline-summary-card strong{color:#21123b;font-size:18px;font-weight:800;line-height:1.2;display:block}.timeline-summary-arrow-style .timeline-summary-card small{color:#6e6961;min-height:30px;margin-top:7px;font-size:10px;line-height:1.4;display:block}.timeline-summary-arrow-style .timeline-summary-card:nth-child(n+2){border-left:0}@media (max-width:900px){.timeline-summary-arrow-style .timeline-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:20px}.timeline-summary-arrow-style .timeline-summary-grid:before,.timeline-summary-arrow-style .timeline-summary-card:after{display:none}}@media (max-width:600px){.timeline-summary-arrow-style .timeline-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.timeline-summary-arrow-style .timeline-summary-card{background:0 0!important;border:0!important;padding-top:64px!important}.timeline-summary-arrow-style .timeline-summary-card p{z-index:4;margin-top:0;position:relative}.timeline-summary-arrow-style .timeline-summary-card strong{z-index:4;color:#21123b;font-weight:800;position:relative}.timeline-summary-arrow-style .timeline-summary-card small{z-index:4;position:relative}.timeline-summary-spacing-final{display:none}
