.jobs-view{max-width:1120px;margin:0 auto}.jobs-heading,.jobs-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.jobs-heading{margin:0 0 1.3rem}.jobs-heading h1{margin:.2rem 0 .6rem}.jobs-heading p{margin:.2rem 0}.jobs-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.jobs-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.jobs-card>.jobs-row{width:100%}.jobs-card h2{font-size:1.2rem;margin:.7rem 0 .35rem}.jobs-card p{margin:.25rem 0}.jobs-name{border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:750;text-align:left;cursor:pointer;overflow-wrap:anywhere}.jobs-name:hover{text-decoration:underline}.jobs-name:focus-visible,.jobs-quote:focus-visible{outline:3px solid #ce942e;outline-offset:4px}.jobs-counts{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;font-size:.87rem;margin:1rem 0}.jobs-counts strong{font-size:1.05rem;margin-right:.15rem}.jobs-card>.btn:last-child{margin-top:auto}.jobs-status.active{background:#e9f2df;color:#385222}.jobs-status.completed{background:#eceeea;color:#58634f}.jobs-editor{margin-bottom:1.2rem}.jobs-editor fieldset{border:0;padding:0;margin:0;min-width:0}.jobs-editor-grid{grid-template-columns:1fr 1fr}.jobs-wide{grid-column:1/-1}.jobs-actions,.jobs-shortcuts{display:flex;flex-wrap:wrap;gap:.65rem}.jobs-actions{margin-top:1rem}.jobs-error{background:#fff0ed;border:1px solid #dfa69b;color:#8e3428;border-radius:10px;padding:1rem;margin:1rem 0}.jobs-summary{margin-bottom:1rem}.jobs-summary p{line-height:1.5}.jobs-description{white-space:pre-line}.jobs-back{margin-bottom:1rem}.jobs-view>section.card{margin-bottom:1rem}.jobs-record{padding:1rem 0;border-bottom:1px solid #e1e5dc}.jobs-record:last-child{border-bottom:0}.jobs-record>p{margin:.35rem 0}.jobs-record-fields{display:grid;gap:.5rem;margin:.8rem 0 0}.jobs-record-fields>div{display:grid;grid-template-columns:minmax(75px,.2fr) 1fr;gap:.6rem}.jobs-record-fields dt{font-size:.86rem;font-weight:650;color:#59634f}.jobs-record-fields dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}.jobs-record-filter{min-width:155px}.jobs-quotes{display:grid;gap:.6rem}.jobs-quote{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #dce2d4;border-radius:10px;background:#fafbf7;padding:1rem;text-align:left;color:inherit;font:inherit;cursor:pointer}.jobs-quote>span:first-child{display:grid;gap:.3rem;min-width:0}.jobs-quote strong,.jobs-quote>span>span{overflow-wrap:anywhere}.jobs-empty{padding:1.1rem 0}.jobs-list>.jobs-empty{padding:1.2rem;grid-column:1/-1}@media(max-width:700px){.jobs-list,.jobs-editor-grid{grid-template-columns:1fr}.jobs-wide{grid-column:auto}.jobs-heading{align-items:flex-start}.jobs-heading>.btn{width:100%}.jobs-shortcuts{display:grid;grid-template-columns:1fr 1fr}.jobs-shortcuts>.btn{width:100%}.jobs-record-filter{width:100%}.jobs-row>.field{margin:0}.jobs-record-fields>div{grid-template-columns:80px minmax(0,1fr)}.jobs-quote{align-items:flex-start}.jobs-actions>.btn{flex:1;min-height:44px}}
.jobs-category-tabs{display:flex;gap:.4rem;border-bottom:1px solid #dce2d4;margin-bottom:1.4rem}.jobs-category-tabs a{padding:.8rem 1rem;min-height:44px;color:#59634f;text-decoration:none;border-bottom:3px solid transparent;font-weight:650}.jobs-category-tabs a.selected{border-bottom-color:#d59b2e;color:#343c2e}.jobs-category-tabs a:focus-visible{outline:3px solid #ce942e;outline-offset:2px}.jobs-category{background:#f7ecd6;color:#6c511e;margin-right:.35rem}.jobs-reference-line{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.85rem;overflow-wrap:anywhere}
.jobs-heading-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}.jobs-heading-actions>.btn{min-height:44px}

.jobs-archive-link{margin:1.5rem 0 0;font-size:.88rem;color:#68735e}.jobs-archive-link a,.jobs-back-link{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:3px}.jobs-back-link{margin-bottom:1rem;color:#626f57;font-size:.9rem}.jobs-archive-note{background:#eef1e9;border:1px solid #d9e0cf;border-radius:10px;padding:14px 16px;font-size:.9rem;line-height:1.6;color:#65715b}.jobs-options{border-top:1px solid #dce2d4;margin-top:1.4rem;padding-top:.4rem;color:#65715b}.jobs-options>summary{width:max-content;max-width:100%;min-height:44px;padding:12px 0;cursor:pointer;font-weight:650;font-size:.9rem}.jobs-options>p{max-width:650px;font-size:.9rem;line-height:1.6}.jobs-options>.btn{margin-bottom:1rem}.jobs-heading-actions>.btn{min-height:44px}@media(max-width:700px){.jobs-heading-actions{width:100%;gap:.6rem}.jobs-heading-actions>.btn{flex:1}.jobs-options>summary{font-size:1rem}}

.jobs-receipt-photo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:9px;max-width:100%;margin-top:15px;color:#586b49;text-underline-offset:3px;font-size:.9rem}.jobs-receipt-photo img{display:block;max-width:min(100%,260px);max-height:260px;object-fit:contain;background:#fff;border:1px solid #dce2d4;border-radius:9px}.jobs-receipt-photo>span{min-height:44px;display:flex;align-items:center}

.jobs-confirm-dialog{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;border:1px solid #cbd5bf;border-radius:18px;padding:28px;background:#fff;color:#28372c;box-shadow:0 25px 90px #17281840;overflow:auto}.jobs-confirm-dialog::backdrop{background:#1b2b2566;backdrop-filter:blur(2px)}.jobs-confirm-dialog h2{font-size:clamp(25px,5vw,31px);line-height:1.15;margin:0 0 20px;letter-spacing:-.035em}.jobs-confirm-dialog p{font-size:16px;line-height:1.6}.jobs-confirm-step{font-size:12px!important;color:#747f68;font-weight:700;letter-spacing:.04em;margin:0 0 11px}.jobs-confirm-name{display:grid;gap:4px;background:#f3f6ed;border:1px solid #dfe6d5;border-radius:10px;padding:13px 15px;margin-bottom:20px;overflow-wrap:anywhere}.jobs-confirm-name>strong{font-size:14px;color:#6b795e}.jobs-confirm-name>span{font-size:20px;font-weight:700}.jobs-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.jobs-confirm-actions>.btn{min-height:54px;font-size:16px;padding:13px 12px;white-space:normal}.jobs-confirm-dialog .btn:focus-visible{outline:3px solid #bd820d;outline-offset:3px}@media(max-width:500px){.jobs-confirm-dialog{padding:23px 19px;border-radius:14px}.jobs-confirm-name>span{font-size:19px}.jobs-confirm-actions{gap:10px}}

.crew-jobs-panel .card{background:#fff;border:1px solid #dce2d4;border-radius:12px;padding:21px;margin-bottom:16px}.crew-jobs-panel .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:12px 17px;border:1px solid #ccd6c1;border-radius:9px;background:#fff;color:#374b2d;font:700 15px system-ui;text-decoration:none;cursor:pointer}.crew-jobs-panel .btn.primary,.crew-jobs-panel .jobs-heading>.btn{background:#ffb20e;border-color:#eda50d;color:#393019}.crew-jobs-panel .btn.danger{color:#a1332b;border-color:#e5c5bd}.crew-jobs-panel .btn:disabled{opacity:.55;cursor:default}.crew-jobs-panel .muted{color:#738166;font-size:14px}.crew-jobs-panel .field{display:grid;gap:8px;margin-bottom:17px;font-size:14px;font-weight:700;min-width:0}.crew-jobs-panel input,.crew-jobs-panel select,.crew-jobs-panel textarea{box-sizing:border-box;min-height:48px;width:100%;border:1px solid #c8d3bc;border-radius:8px;background:#fff;padding:12px;color:#35472d;font:16px system-ui}.crew-jobs-panel textarea{min-height:100px;resize:vertical}.crew-jobs-panel .grid{display:grid;gap:0 18px}.crew-jobs-panel .badge{padding:7px 10px;border-radius:7px;font-size:12px;font-weight:750}.crew-jobs-panel .jobs-heading h1{font-size:30px}.crew-jobs-panel .jobs-row h2{font-size:23px}.crew-jobs-panel .jobs-editor-grid{grid-template-columns:1fr 1fr}.crew-jobs-panel .btn:focus-visible,.crew-jobs-panel input:focus-visible,.crew-jobs-panel summary:focus-visible{outline:3px solid #bd820d;outline-offset:3px}@media(max-width:700px){.crew-jobs-panel .jobs-editor-grid{grid-template-columns:1fr}.crew-jobs-panel .card{padding:18px 14px}}
.jobs-week-note{max-width:760px;line-height:1.55;margin:.25rem 0 .65rem}.jobs-weekly-record h3{font-size:1.16rem;margin:.6rem 0 .35rem;overflow-wrap:anywhere}.jobs-week-range{line-height:1.6;margin:.35rem 0 .85rem!important}.jobs-week-progress{font-size:.8rem;color:#74591c;background:#fff2cc;border-radius:6px;padding:5px 8px}.jobs-weekly-download{margin-top:.25rem}.jobs-archive-button{white-space:nowrap}@media(max-width:700px){.jobs-weekly-download{width:100%}.jobs-weekly-record .jobs-row{gap:.5rem}.jobs-weekly-record h3{font-size:1.2rem}}

.jobs-customer-card{border-top:4px solid #ffb117!important}.jobs-customer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.jobs-customer-label{margin:0 0 8px;font-size:20px;font-weight:750}.jobs-customer-amount{display:block;font-size:clamp(32px,6vw,44px);line-height:1.15;font-variant-numeric:tabular-nums;color:#324628}.jobs-customer-state{display:inline-flex;padding:8px 11px;border-radius:8px;background:#e8f2df;color:#3f5b2b;font-size:14px;font-weight:700}.jobs-customer-state.needs-review{background:#fff0c6;color:#785319}.jobs-customer-breakdown{margin:20px 0 14px;border-top:1px solid #e0e5d7}.jobs-customer-breakdown>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #e0e5d7}.jobs-customer-breakdown dt{max-width:70%;line-height:1.5}.jobs-customer-breakdown dd{margin:0;font-weight:750;font-size:19px;white-space:nowrap}.jobs-customer-review{margin:18px 0;padding:16px;background:#fff6dd;border:1px solid #e4d3a2;border-radius:10px;color:#76551d}.jobs-customer-review p{margin:7px 0 0;line-height:1.6}.jobs-customer-note{max-width:780px;line-height:1.6}.jobs-customer-details{margin:18px 0;border-top:1px solid #e0e5d7}.jobs-customer-details>summary{min-height:48px;align-content:center;cursor:pointer;font-weight:700}.jobs-customer-line{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-top:1px solid #e0e5d7;padding:14px 0}.jobs-customer-line>div{display:grid;gap:6px;min-width:0}.jobs-customer-line>div>*{overflow-wrap:anywhere}.jobs-customer-line>strong{white-space:nowrap}.jobs-customer-line span,.jobs-customer-line small{color:#69775d;font-size:14px}.jobs-customer-missing{padding:12px;background:#fff5de;border-radius:7px;line-height:1.7}.jobs-customer-card>.btn{margin-top:12px}@media(max-width:650px){.jobs-customer-heading{gap:10px}.jobs-customer-heading .muted{line-height:1.6}.jobs-customer-breakdown>div{gap:12px}.jobs-customer-breakdown dt{font-size:15px}.jobs-customer-breakdown dd{font-size:18px}.jobs-customer-card>.btn{width:100%}}

.jobs-list-section>h2{font-size:24px;margin:0 0 15px}.jobs-completed-section{margin-top:34px;padding-top:25px;border-top:2px solid #e6cb85}.jobs-status.completed{background:#e4edf3;color:#31546a}.jobs-status.archived{background:#eceeea;color:#58634f}.jobs-completed-note{padding:16px;border:1px solid #bad0dc;background:#eff6f9;border-radius:10px;line-height:1.6}.jobs-archive-search{max-width:650px}.jobs-budget{padding:17px;border:1px solid #c8d7bb;border-radius:10px;margin:20px 0;background:#f5f9ef}.jobs-budget h3,.jobs-readiness h3{margin:0;font-size:19px}.jobs-budget>.jobs-row>strong{font-size:22px}.jobs-budget.near_budget{background:#fff5d8;border-color:#e2c169}.jobs-budget.over_budget{background:#fff0ed;border-color:#e3a399;color:#912c25}.jobs-budget-meter{height:12px;overflow:hidden;background:#e2e8d8;border-radius:6px;margin:14px 0}.jobs-budget-meter>span{display:block;height:100%;background:#648544}.jobs-budget.near_budget .jobs-budget-meter>span{background:#d59b21}.jobs-budget.over_budget .jobs-budget-meter>span{background:#bf3830}.jobs-budget-message{font-weight:700;line-height:1.5}.jobs-readiness{border-top:1px solid #dce2d4;margin:23px 0 14px;padding-top:20px}.jobs-readiness ul{list-style:none;padding:0;display:grid;gap:10px}.jobs-readiness li{line-height:1.6}.jobs-readiness li>span{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;margin-right:7px;font-weight:800;background:#e4efdb;color:#3b622d}.jobs-readiness li.needs-review>span{background:#fee4d9;color:#9a3826}.jobs-readiness-result{font-weight:750}.jobs-readiness-result.ready{color:#3f622e}.jobs-readiness-result.needs-review{color:#93611b}.jobs-warning-actions{margin-top:22px;padding-top:14px;border-top:1px solid #dce2d4}.jobs-warning-actions h3{font-size:18px}.jobs-billing-editor{border-top:2px solid #e8ce8b;margin-top:22px;padding-top:19px}.jobs-billing-editor fieldset{border:0;padding:0;min-width:0}.jobs-billing-editor [hidden]{display:none!important}.jobs-billing-editor>h3{font-size:22px;margin:0}.jobs-billing-machines{display:grid;gap:14px;margin:15px 0}.jobs-billing-machine{border:1px solid #d4ddca;border-radius:11px;background:#f8faf4;padding:17px}.jobs-billing-machine h4{font-size:18px;margin:0 0 12px;overflow-wrap:anywhere}.jobs-text-button{background:none;border:0;padding:8px;color:#6b612d;text-decoration:underline;font:inherit;cursor:pointer;min-height:44px}.jobs-fuel-check{display:flex;gap:11px;align-items:center;line-height:1.5;font-weight:650;margin:10px 0 16px}.jobs-fuel-check input[type=checkbox]{width:23px;height:23px;min-height:23px;flex:none;margin:0;accent-color:#cb8b0e}.jobs-fuel-price{max-width:360px}.jobs-billing-editor button:disabled{opacity:.55;cursor:default}@media(max-width:650px){.jobs-billing-machine{padding:14px}.jobs-budget>.jobs-row{align-items:flex-start}.jobs-budget>.jobs-row>strong{font-size:21px}.jobs-budget h3{font-size:18px}.jobs-actions>.btn{flex:1 1 180px;min-width:0;white-space:normal}.jobs-billing-editor h3{font-size:21px}.jobs-billing-machine .jobs-row{align-items:flex-start}.jobs-warning-actions .jobs-actions{display:grid}.jobs-warning-actions .btn{justify-content:flex-start;text-align:left}}
