:root {
  --navy:#102a43; --navy-deep:#081b2e; --navy-soft:#243f5a; --orange:#ef5b2a; --orange-dark:#cf461a;
  --teal:#0d7b73; --paper:#fff; --canvas:#f3f6f8; --line:#dce4ea; --line-dark:#c6d2dc;
  --muted:#637486; --text:#172b3a; --danger:#b42318; --warning:#9c4b06; --shadow:0 18px 42px rgba(16,42,67,.12);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--text); background:var(--canvas); font-synthesis:none;
}
*{box-sizing:border-box} [hidden]{display:none!important} body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 78% -10%,rgba(239,91,42,.09),transparent 30rem),linear-gradient(180deg,#f8fafb 0,var(--canvas) 28rem)}
button,input,select,textarea{font:inherit} button{cursor:pointer} a{color:var(--teal)}
.skip-link{position:fixed;z-index:100;left:1rem;top:-5rem;padding:.7rem 1rem;color:#fff;background:var(--navy-deep);border-radius:.5rem}.skip-link:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sandbox-ribbon{position:sticky;top:0;z-index:50;padding:.42rem 1rem;color:#fff;background:#a1261c;text-align:center;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.operational-mode-ribbon{background:#146348}.operational-mode-ribbon.fallback{background:#a1261c}.operational-mode-ribbon.reconciling{background:#755010}
.production-readiness-banner{margin:0 0 1rem;padding:.75rem 1rem;border:1px solid #d9b45a;border-left:5px solid #a86d00;border-radius:8px;color:#4f3a0b;background:#fff8df;font-size:.72rem;line-height:1.5}.production-readiness-banner strong{color:#6d4800}.production-readiness-banner strong+strong{margin-left:.7rem}
.topbar{min-height:72px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:#fff;background:var(--navy-deep);border-bottom:3px solid var(--orange)}
.brand-lockup,.environment-lockup{display:flex;align-items:center}.brand-lockup{gap:.8rem}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border:2px solid rgba(255,255,255,.75);border-radius:12px 4px;color:#fff;background:linear-gradient(145deg,var(--orange),#d83f16);font-size:.83rem;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.brand-lockup h1{margin:.05rem 0 0;font-size:1.15rem;line-height:1}.eyebrow{margin:0;color:var(--muted);font-size:.69rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.topbar .eyebrow,.dialog-header .eyebrow,.drawer-header .eyebrow{color:#a9bdce}.environment-lockup{gap:.7rem;color:#c4d0d9;font-size:.8rem}.sandbox-badge{padding:.28rem .62rem;border:1px solid #ffad91;border-radius:999px;color:#fff;background:#8e271d;font-size:.7rem;font-weight:900;text-transform:uppercase}
main{width:min(1800px,96vw);margin:0 auto;padding:.75rem 0 4rem}
.primary-button,.secondary-button,.danger-button,.action-button{min-height:40px;padding:.56rem .9rem;border-radius:8px;font-weight:780}.primary-button{border:1px solid var(--orange-dark);color:#fff;background:var(--orange)}.primary-button:hover{background:var(--orange-dark)}.secondary-button{border:1px solid var(--line-dark);color:var(--navy);background:#fff}.secondary-button:hover{background:#f3f7f9}.danger-button{border:1px solid #8e1b14;color:#fff;background:var(--danger)}.danger-button:hover:not(:disabled){background:#8e1b14}.danger-button[aria-busy="true"]{border-color:#8b5b15;background:#9b6a1d;opacity:1;cursor:wait}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{opacity:.45;cursor:not-allowed}.text-button{padding:.45rem 0;border:0;color:var(--teal);background:transparent;font-weight:750;text-decoration:underline}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-bottom:.6rem}.summary-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.65rem;min-height:56px;padding:.55rem .8rem;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 4px 12px rgba(16,42,67,.04)}.summary-card.attention{border-left:4px solid var(--orange)}.summary-card p{margin:0;color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.summary-card strong{margin:0;color:var(--navy);font-size:1.15rem;white-space:nowrap}
.workspace{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.result-count{flex:0 0 auto;align-self:center;margin:0 0 0 auto;padding-left:.8rem;color:var(--muted);font-size:.7rem;white-space:nowrap}.workspace-nav{display:flex;align-items:stretch;padding:0 1.15rem;border-bottom:1px solid var(--line)}.view-tabs,.provider-tabs{display:flex;gap:.25rem}.provider-tabs{margin-left:.4rem;padding-left:.4rem;border-left:1px solid var(--line)}.view-tab,.provider-tab-menu>summary{position:relative;display:inline-flex;gap:.5rem;align-items:center;min-height:48px;padding:.72rem .85rem;border:0;color:var(--muted);background:transparent;font-weight:750;white-space:nowrap}.view-tab:after{content:"";position:absolute;left:.6rem;right:.6rem;bottom:-1px;height:3px;background:transparent}.view-tab.active{color:var(--navy)}.view-tab.active:after{background:var(--orange)}.tab-count{display:inline-grid;place-items:center;min-width:1.45rem;height:1.45rem;padding:0 .3rem;border-radius:999px;color:var(--navy);background:#edf2f5;font-size:.68rem}.provider-tab-menu{position:relative}.provider-tab-menu>summary{list-style:none;cursor:pointer}.provider-tab-menu>summary::-webkit-details-marker{display:none}.provider-tab-menu[open]>summary,.provider-tab-menu>summary:hover{color:var(--navy);background:#f4f8fa}.provider-tab-popover{position:absolute;z-index:35;top:calc(100% - 1px);left:0;display:grid;width:285px;padding:.4rem;border:1px solid var(--line-dark);border-radius:9px;background:#fff;box-shadow:0 16px 36px rgba(16,42,67,.2)}.provider-tab-popover-right{right:0;left:auto}.provider-menu-heading{padding:.4rem .55rem .3rem;color:var(--muted);font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.provider-tab-popover button{padding:.62rem .58rem;border:0;border-radius:6px;color:var(--navy);background:#fff;text-align:left;font-size:.75rem;font-weight:720}.provider-tab-popover button:hover,.provider-tab-popover button:focus-visible{background:#edf4f6}.provider-tab-popover button+button{border-top:1px solid #edf1f4}
.batch-action-bar{display:flex;position:relative;z-index:8;align-items:center;gap:.6rem;padding:.42rem 1.15rem;background:#f5f9fa;border-bottom:1px solid var(--line)}.batch-selection-summary{display:flex;align-items:center;gap:.55rem;min-width:145px;color:var(--navy);font-size:.68rem}.batch-selection-summary .text-button:disabled{opacity:.4;cursor:not-allowed}.batch-actions-menu{position:relative}.batch-actions-menu summary{display:flex;align-items:center;justify-content:space-between;gap:.55rem;min-width:145px;min-height:34px;padding:.38rem .7rem;list-style:none}.batch-actions-menu summary::-webkit-details-marker{display:none}.batch-actions-menu.disabled summary{opacity:.48;cursor:not-allowed}.batch-actions-popover{position:absolute;z-index:20;top:calc(100% + .35rem);left:0;display:grid;width:250px;padding:.35rem;border:1px solid var(--line-dark);border-radius:9px;background:#fff;box-shadow:0 14px 32px rgba(16,42,67,.18)}.batch-menu-heading{padding:.42rem .55rem .28rem;color:var(--muted);font-size:.63rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.batch-actions-popover button{padding:.58rem .55rem;border:0;border-radius:6px;color:var(--navy);background:#fff;text-align:left;font-weight:720}.batch-actions-popover button:hover{background:#edf4f6}.batch-actions-popover button:disabled{color:#96a4af;cursor:not-allowed}.batch-actions-popover .batch-delete-action{color:var(--danger)}.batch-primary-actions{display:flex;align-items:center;gap:.4rem;margin-left:auto}.batch-primary-actions .primary-button,.batch-primary-actions .danger-button{min-height:34px;padding:.38rem .72rem}.batch-new-job{white-space:nowrap}
.toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 190px auto auto;gap:.5rem;align-items:end;padding:.48rem 1.15rem;background:#fbfcfd;border-bottom:1px solid var(--line)}.search-field{position:relative}.search-icon{position:absolute;left:.72rem;top:50%;color:#7c8e9e;font-size:1rem;transform:translateY(-53%)}.search-field input,.filter-field select{width:100%;min-height:34px;color:var(--text);background:#fff;border:1px solid var(--line-dark);border-radius:7px}.search-field input{padding:.42rem .65rem .42rem 2rem}.filter-field{display:grid;gap:.15rem;color:var(--muted);font-size:.62rem;font-weight:800}.filter-field select{padding:.38rem .55rem}.toolbar>.secondary-button{min-height:34px;padding:.38rem .7rem}input:focus,select:focus,textarea:focus,button:focus-visible{box-shadow:0 0 0 3px rgba(13,123,115,.18);border-color:var(--teal);outline:none}
.grid-wrap{max-height:min(67vh,760px);overflow:auto}table{width:100%;min-width:1765px;border-collapse:separate;border-spacing:0;font-size:.74rem}thead{position:sticky;top:0;z-index:4}th{padding:.68rem .58rem;color:#4d6172;background:#edf2f5;border-bottom:1px solid var(--line-dark);font-size:.63rem;font-weight:900;text-align:left;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}th.number-cell{text-align:right}td{padding:.58rem;vertical-align:middle;background:#fff;border-bottom:1px solid #e7edf1}.job-row{position:relative;outline:none}.job-row td:first-child{border-left:4px solid var(--row-status-color)}.job-row:hover td,.job-row:focus td,.job-row.selected td{background:#e9f5ff}.select-column{position:sticky;left:0;z-index:3;width:46px;min-width:46px;padding-left:.75rem;padding-right:.45rem}.select-column input{width:17px;height:17px;accent-color:var(--teal);cursor:pointer}.sticky-job{position:sticky;left:46px;z-index:2;min-width:137px;box-shadow:5px 0 10px rgba(16,42,67,.035)}thead .select-column{z-index:6;background:#edf2f5}thead .sticky-job{z-index:5;background:#edf2f5}.job-id{color:var(--navy);font-size:.72rem;white-space:nowrap}.group-row td{padding:.42rem .65rem;color:var(--navy);background:color-mix(in srgb,var(--status-color) 72%,white);border-left:4px solid var(--status-color);font-size:.68rem}.group-row strong{margin-right:.45rem}.group-row span{color:var(--muted)}
.status-select{min-width:124px;padding:.34rem .4rem;border:1px solid color-mix(in srgb,var(--status-color) 70%,#82919d);border-radius:6px;background:var(--status-color);font-size:.68rem;font-weight:800}.cell-primary,.cell-secondary{display:block}.cell-primary{font-weight:680}.cell-secondary{max-width:240px;margin-top:.14rem;color:var(--muted);font-size:.65rem;line-height:1.28}.customer-cell{min-width:220px}.number-cell{text-align:right;white-space:nowrap}.money{font-variant-numeric:tabular-nums;font-weight:680}.attention-badge,.quiet-badge{display:inline-flex;padding:.23rem .45rem;border-radius:999px;font-size:.63rem;font-weight:850;white-space:nowrap}.attention-badge{color:var(--warning);background:#fff4e2;border:1px solid #f4d3a4}.quiet-badge{color:#2f6752;background:#e8f5ee;border:1px solid #cce6d8}.row-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:.28rem;min-width:0}.action-button{min-height:30px;padding:.28rem .43rem;border:1px solid var(--line-dark);color:var(--navy);background:#fff;font-size:.63rem}.action-button:hover{background:#edf4f6}.action-button.accent{color:#fff;background:var(--teal);border-color:#086a63}.action-button.production-action{border-color:#82bdb8;background:#eef9f7;color:#075e58}.action-button.production-save-card,.action-button.production-charge{border-color:#086a63;background:var(--teal);color:#fff}.action-button.production-charge{background:#075e58}.action-button.proposal-action{color:#075e58;border-color:#74b8b1;background:#eff9f7}.action-button.proposal-action.has-proposal{color:#fff;border-color:#086a63;background:var(--teal)}.action-button.stacked-action{display:inline-flex;min-width:62px;align-items:center;justify-content:center;flex-direction:column;line-height:1.08;white-space:nowrap}.action-button-line{display:block}.action-button.action-unavailable{border-color:var(--line-dark);background:#f3f6f8;color:#6f808e;opacity:.78}.action-button.action-unavailable:hover{background:#e6edf1}.action-button:disabled{opacity:.42;cursor:not-allowed}.action-button.production-action:disabled{border-color:var(--line-dark);background:#f3f6f8;color:#7b8b98;opacity:.68}
.card-status-cell{min-width:138px}.card-status-label{display:block;margin-bottom:.22rem;color:#526879;font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em}.card-status-value{display:inline-flex;padding:.28rem .5rem;border:1px solid #8bc8c2;border-radius:999px;color:#075e58;background:#e9f8f5;font-size:.67rem;font-weight:900;white-space:nowrap}
.state-panel{display:flex;min-height:230px;align-items:center;justify-content:center;flex-direction:column;gap:.45rem;padding:2rem;color:var(--muted);text-align:center}.state-panel strong{color:var(--navy)}.state-panel.error strong{color:var(--danger)}.loading-pulse{width:1rem;height:1rem;border-radius:50%;background:var(--teal);animation:pulse 1s ease-in-out infinite alternate}@keyframes pulse{to{opacity:.3;transform:scale(.72)}}.sandbox-footnote{margin:0;padding:.7rem 1.15rem;color:#7b8995;background:#fafcfd;border-top:1px solid var(--line);font-size:.66rem}.mobile-jobs,.mobile-contacts{display:none}.contacts-panel{background:#fff}.contacts-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid var(--line)}.contacts-heading h3{margin:.18rem 0;color:var(--navy);font-size:1.05rem}.contacts-heading p:last-child{margin:0;color:var(--muted);font-size:.7rem}.contacts-heading-actions{display:flex;gap:.5rem}.contacts-table-wrap{overflow:auto}.contacts-table{min-width:940px}.contacts-table td:last-child{width:100px}.contact-select-column{width:46px;min-width:46px;text-align:center}.contact-select-column input,.contact-selection{width:17px;height:17px;accent-color:var(--teal);cursor:pointer}.contacts-table tr.selected td,.contact-mobile-card.selected{background:#e9f5ff}.contact-type-badge{display:inline-flex;padding:.24rem .5rem;border-radius:999px;color:#145b55;background:#e4f4f1;border:1px solid #bfddd8;font-size:.63rem;font-weight:850;text-transform:capitalize}.contact-type-badge.subcontractor{color:#5a4477;background:#f0e9f8;border-color:#d7c5e9}.contact-mobile-card{display:grid;gap:.42rem;padding:.75rem;border:1px solid var(--line);border-radius:10px;background:#fff}.contact-mobile-card strong{color:var(--navy)}.contact-mobile-row{display:flex;justify-content:space-between;gap:.65rem;color:var(--muted);font-size:.68rem}.contact-mobile-row span:last-child{color:var(--text);text-align:right;overflow-wrap:anywhere}.contact-mobile-actions{display:flex;align-items:center;justify-content:space-between;gap:.65rem}
.drawer-backdrop{position:fixed;inset:0;z-index:60;opacity:0;background:rgba(6,24,40,.42);backdrop-filter:blur(2px);transition:opacity 180ms ease}.drawer-backdrop.open{opacity:1}.job-drawer{position:fixed;z-index:61;top:0;right:0;width:min(660px,96vw);height:100vh;overflow:auto;background:#fff;box-shadow:-20px 0 50px rgba(6,24,40,.22);transform:translateX(100%);transition:transform 180ms ease}.job-drawer.open{transform:translateX(0)}.drawer-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.15rem;color:#fff;background:var(--navy-deep);border-bottom:3px solid var(--orange)}.drawer-header h2{margin:.2rem 0 0;font-size:1.2rem}.icon-button,.dialog-close{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;font-size:1.3rem}.icon-button{border:1px solid rgba(255,255,255,.3);color:#fff;background:rgba(255,255,255,.08)}.drawer-content{padding:1rem 1.1rem 2rem}.drawer-headline{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.detail-section{margin:0 0 .8rem;border:1px solid var(--line);border-radius:10px;overflow:hidden}.detail-section h3{margin:0;padding:.65rem .8rem;color:var(--navy);background:#f2f6f8;border-bottom:1px solid var(--line);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.detail-section dl{margin:0}.detail-row{display:grid;grid-template-columns:minmax(115px,.7fr) minmax(0,1.3fr);gap:.8rem;padding:.56rem .8rem;border-bottom:1px solid #edf1f4}.detail-row:last-child{border-bottom:0}.detail-row dt{color:var(--muted);font-size:.68rem}.detail-row dd{margin:0;font-size:.72rem;font-weight:650;overflow-wrap:anywhere}.copy-button{margin-left:.35rem;padding:.12rem .35rem;border:1px solid var(--line-dark);border-radius:5px;color:var(--teal);background:#fff;font-size:.6rem}.drawer-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}.milestone-list{display:grid;gap:.4rem;padding:.65rem}.milestone-row{display:grid;grid-template-columns:1fr 130px;gap:.5rem;align-items:center}.milestone-row span{font-size:.7rem}.milestone-row select{padding:.35rem;border:1px solid var(--line-dark);border-radius:6px;font-size:.68rem}.timeline{display:grid;gap:.7rem;padding:.75rem}.timeline-event{position:relative;padding-left:1.2rem}.timeline-event:before{content:"";position:absolute;left:.1rem;top:.32rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--teal);box-shadow:0 0 0 3px #e2f2f0}.timeline-event strong{display:block;font-size:.72rem}.timeline-event span,.timeline-event time{display:block;color:var(--muted);font-size:.64rem;line-height:1.35}.provider-state{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.65rem}.provider-card{padding:.6rem;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.provider-card strong{display:block;color:var(--navy);font-size:.68rem}.provider-card span{display:block;margin-top:.2rem;color:var(--muted);font-size:.63rem;overflow-wrap:anywhere}body.drawer-open{overflow:hidden}
.app-dialog{width:min(720px,94vw);max-height:92vh;padding:0;border:0;border-radius:14px;box-shadow:0 28px 70px rgba(6,24,40,.35);overflow:auto}.wide-dialog{width:min(980px,96vw)}.app-dialog::backdrop{background:rgba(6,24,40,.58);backdrop-filter:blur(2px)}.dialog-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.15rem;color:#fff;background:var(--navy-deep);border-bottom:3px solid var(--orange)}.dialog-header.warning{background:#56211a}.dialog-header h2{margin:.2rem 0 0;font-size:1.2rem}.dialog-close{border:1px solid rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.08)}.dialog-body{padding:1rem 1.15rem}.dialog-footer{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.15rem;background:#f7f9fa;border-top:1px solid var(--line)}.dialog-footer>div{display:flex;gap:.45rem}.safety-note{max-width:480px;color:var(--muted);font-size:.65rem}.form-layout{display:grid;gap:.8rem}.form-section{margin:0;padding:.8rem;border:1px solid var(--line);border-radius:10px}.form-section legend{padding:0 .35rem;color:var(--navy);font-size:.72rem;font-weight:850}.field-grid{display:grid;gap:.65rem}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid label,.full-field{display:grid;align-content:start;gap:.27rem;color:var(--muted);font-size:.68rem;font-weight:780}.field-grid input,.field-grid select,.field-grid textarea,.full-field select{width:100%;min-height:39px;padding:.52rem .6rem;color:var(--text);background:#fff;border:1px solid var(--line-dark);border-radius:7px}.field-grid textarea{resize:vertical}.full-field{margin-bottom:.65rem}.span-two{grid-column:span 2}.field-hint{font-weight:500}.form-section input[readonly]{color:#496070;background:#edf2f5}.review-lead{margin:.1rem 0 1rem;color:var(--navy);font-size:1rem;font-weight:750}.review-grid{display:grid;grid-template-columns:135px 1fr;border:1px solid var(--line);border-radius:9px;overflow:hidden}.review-grid dt,.review-grid dd{margin:0;padding:.62rem .72rem;border-bottom:1px solid var(--line)}.review-grid dt{color:var(--muted);background:#f5f7f9;font-size:.68rem}.review-grid dd{font-size:.73rem;font-weight:650;overflow-wrap:anywhere}.review-grid>*:nth-last-child(-n+2){border-bottom:0}.warning-panel{padding:.75rem;border:1px solid #f1c98f;border-radius:8px;color:#78420d;background:#fff7e9;font-size:.7rem;line-height:1.45}.calculator-result{min-height:88px;margin-top:.85rem;padding:.85rem;border:1px solid #badbd7;border-radius:9px;color:var(--navy);background:#eff9f7}.calculator-result strong{display:block;font-size:1.4rem}.toast-region{position:fixed;z-index:100;right:1rem;bottom:1rem;display:grid;gap:.5rem;width:min(390px,calc(100vw - 2rem))}.toast{padding:.8rem .95rem;border-left:4px solid var(--teal);border-radius:9px;color:#fff;background:var(--navy-deep);box-shadow:var(--shadow);font-size:.72rem}.toast.error{border-left-color:#ff766d;background:#601c17}
.mobile-job-card{display:grid;gap:.45rem;width:100%;padding:.75rem;text-align:left;border:1px solid var(--line);border-left:5px solid var(--row-status-color);border-radius:10px;color:var(--text);background:#fff}.mobile-job-card.selected{border-color:#74aede;background:#e9f5ff;box-shadow:0 0 0 2px rgba(48,129,191,.12)}.mobile-card-header,.mobile-card-detail,.mobile-card-money,.mobile-card-footer,.mobile-card-identity,.mobile-card-status{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.mobile-card-identity{justify-content:flex-start}.mobile-select-checkbox{width:18px;height:18px;accent-color:var(--teal)}.mobile-card-customer{font-weight:750}.mobile-card-detail,.mobile-card-money,.mobile-card-footer{font-size:.67rem}.mobile-card-detail{color:var(--muted)}.mobile-card-status{padding:.5rem .6rem;border:1px solid #8bc8c2;border-radius:8px;background:#effaf8}.mobile-card-status .card-status-label{margin:0;font-size:.62rem}.mobile-card-status .card-status-value{font-size:.7rem}
.batch-review-dialog{width:min(880px,96vw)}.batch-review-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.batch-review-item{overflow:hidden;border:1px solid var(--line-dark);border-radius:10px}.batch-review-item-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;background:#edf4f7}.batch-review-item-heading span{color:var(--muted);font-size:.68rem}.review-grid.compact{border:0;border-radius:0}.batch-message-preview{white-space:pre-wrap;line-height:1.5}
.review-dialog.quickbooks-final-review{width:min(900px,96vw)}.review-dialog.quickbooks-final-review .dialog-header.warning{color:var(--text);background:#fff;border-bottom:1px solid var(--line)}.review-dialog.quickbooks-final-review .dialog-header .eyebrow{color:var(--muted)}.review-dialog.quickbooks-final-review .dialog-close{color:var(--text);background:#fff;border-color:transparent;font-size:1.2rem}.quickbooks-review-grid{grid-template-columns:minmax(205px,32%) 1fr;border-color:#cbd8e1;border-radius:12px}.quickbooks-review-grid dt,.quickbooks-review-grid dd{padding:.78rem 1rem;border-color:#d9e2e8}.quickbooks-review-grid dt{color:var(--navy);background:#f7f9fb;font-size:.75rem;font-weight:850}.quickbooks-review-grid dd{font-size:.79rem;font-weight:550}.quickbooks-review-warning{margin:1rem 0 0;font-size:.76rem}.review-dialog.quickbooks-final-review .dialog-footer{padding:1rem 1.15rem;background:#fff}.review-dialog.quickbooks-final-review .danger-button{min-width:170px}
.calculator-dialog{width:min(800px,96vw)}.calculator-dialog .dialog-header p:last-child{margin:.22rem 0 0;color:#d9e8f2;font-size:.7rem}.calculator-body{display:grid;gap:.8rem;background:#fff}.calculator-controls{display:grid;grid-template-columns:180px 1fr;gap:.8rem;align-items:stretch}.quantity-control,.margin-control{display:grid;gap:.4rem;padding:.72rem;border:1px solid var(--line);border-radius:10px;color:var(--navy);font-size:.72rem;font-weight:800;background:#fbfcfd}.quantity-control input{width:100%;min-height:56px;padding:.45rem;border:2px solid #d8b400;border-radius:9px;color:var(--navy-deep);background:#fff1a8;text-align:center;font-size:1.35rem;font-weight:900}.margin-heading,.margin-scale{display:flex;align-items:center;justify-content:space-between}.margin-heading output{font-size:1.35rem;font-weight:900}.margin-control input[type="range"]{width:100%;accent-color:#1d587c}.margin-scale{color:var(--muted);font-size:.62rem;font-weight:600}.calculator-rule{margin:0;padding:.62rem .72rem;border-radius:8px;color:#164b62;background:#daf3f7;font-size:.69rem;line-height:1.4}.calculator-regions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.calculator-region-card{overflow:hidden;border:1px solid var(--line-dark);border-radius:11px;background:#fff}.calculator-region-card h3{margin:0;padding:.82rem;color:#08253a;background:#52c7d2;font-size:.9rem}.calculator-price{padding:.68rem;background:#d8efcf}.calculator-price span,.calculator-metrics span,.calculator-cost span{display:block;color:#63717d;font-size:.6rem;font-weight:850;text-transform:uppercase;letter-spacing:.03em}.calculator-price strong{display:block;margin-top:.12rem;color:#08253a;font-size:1.45rem}.calculator-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.calculator-metrics>div{padding:.62rem}.calculator-metrics>div+div{border-left:1px solid var(--line)}.calculator-metrics strong,.calculator-cost strong{display:block;margin-top:.16rem;color:#08253a;font-size:.86rem}.calculator-cost{padding:.62rem}.calculator-regions[aria-busy="true"]{opacity:.58}.calculator-error{margin:0;padding:.62rem;border:1px solid #efb3ad;border-radius:8px;color:#8b241c;background:#fff0ee;font-size:.7rem}
.proposal-dialog{width:min(900px,96vw)}.proposal-preview{min-height:220px}.proposal-summary{display:grid;gap:.2rem;margin-bottom:.75rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:9px;background:#f7fafb}.proposal-summary strong{color:var(--navy)}.proposal-frame{width:100%;height:min(58vh,620px);border:1px solid var(--line-dark);border-radius:8px;background:#f3f6f8}.proposal-image{display:block;max-width:100%;max-height:58vh;margin:auto;border:1px solid var(--line);border-radius:8px}.proposal-link-preview{padding:1rem;border:1px dashed #8ebdb8;border-radius:9px;color:#305b58;background:#eff9f7;line-height:1.5}.proposal-open-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.proposal-or{display:flex;align-items:center;gap:.65rem;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.proposal-or:before,.proposal-or:after{content:"";height:1px;flex:1;background:var(--line)}
.job-entry-footer{align-items:stretch;flex-direction:column}.dialog-footer>.job-entry-actions{display:grid;width:100%;max-width:none;gap:.45rem}.job-entry-provider-actions,.job-entry-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.provider-save-button,.job-entry-primary-actions #delete-job,.job-entry-primary-actions #save-job{width:100%;min-width:0}
.new-sub-job-dialog{width:min(760px,96vw)}.new-sub-job-body{display:grid;gap:.8rem;background:#f4f7f9}.new-sub-status-card,.new-sub-sub-card,.new-sub-section{margin:0;border:1px solid var(--line);border-radius:11px;background:#fff}.new-sub-status-card{display:flex;align-items:center;padding:.62rem .85rem}.new-sub-status-card label{width:min(240px,100%)}.new-sub-sub-card{padding:.62rem .85rem}.new-sub-sub-card label{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:center;gap:.75rem;color:var(--muted);font-size:.69rem;font-weight:780}.new-sub-status-card select,.new-sub-sub-card select,.new-sub-section input,.new-sub-section select,.new-sub-section textarea{width:100%;min-height:43px;padding:.56rem .65rem;color:var(--text);background:#fff;border:1px solid var(--line-dark);border-radius:8px;font:inherit}.new-sub-section textarea{resize:vertical;line-height:1.4}.new-sub-section{padding:.82rem}.new-sub-section legend{padding:0 .42rem;color:var(--navy);font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.new-sub-schedule-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.new-sub-customer-picker{position:relative;display:grid;gap:.35rem;margin:0;padding:.62rem;background:#f0f3f5;border:1px solid #d9e0e5;border-radius:9px}.new-sub-customer-picker label{display:grid;gap:.3rem;color:var(--muted);font-size:.69rem;font-weight:780}.new-sub-customer-picker input{width:100%;min-height:43px;padding:.56rem .65rem;color:var(--text);background:#f8fafb;border:1px solid var(--line-dark);border-radius:8px;font:inherit}.new-sub-customer-results{position:absolute;z-index:4;top:calc(100% - .15rem);right:.62rem;left:.62rem;max-height:260px;overflow:auto;border:1px solid #c8d2d9;border-radius:9px;background:#f8fafb;box-shadow:0 10px 25px rgba(16,42,67,.16)}.new-sub-customer-result{display:grid;width:100%;gap:.12rem;padding:.58rem .65rem;border:0;border-bottom:1px solid #e0e6ea;border-radius:0;color:var(--text);background:#f8fafb;text-align:left}.new-sub-customer-result:last-child{border-bottom:0}.new-sub-customer-result:hover,.new-sub-customer-result.active{background:#e2eef4}.new-sub-customer-result-company{color:var(--navy);font-size:.72rem}.new-sub-customer-result-contact,.new-sub-customer-result-address{color:#607483;font-size:.62rem;line-height:1.32;overflow-wrap:anywhere}.new-sub-customer-empty{margin:0;padding:.7rem;color:#607483;font-size:.66rem}.new-sub-field-stack,.new-sub-financial-grid{display:grid;gap:.55rem}.new-sub-section label{color:var(--muted);font-size:.69rem;font-weight:780}.new-sub-schedule-row label,.new-sub-proposal-link{display:grid;gap:.3rem}.new-sub-field-stack>label,.new-sub-financial-grid label{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:center;gap:.75rem}.new-sub-job-quantity-row{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:.65rem}.new-sub-job-quantity-row label{display:grid;gap:.3rem;align-items:stretch}.new-sub-field-stack .field-hint{grid-column:2}.optional-label{margin-left:.22rem;color:#82909b;font-size:.56rem;font-weight:650;text-transform:uppercase}.new-sub-financial-grid input[readonly]{color:#254a61;background:#edf3f6;font-weight:850}.new-sub-commission-field{margin-top:.12rem;padding-top:.62rem;border-top:1px solid var(--line)}#new-sub-date,#new-ffs-date{cursor:pointer}.new-sub-proposal-section{display:grid;gap:.62rem}.proposal-dropzone{position:relative;display:grid!important;place-items:center;gap:.22rem;min-height:92px;padding:.85rem;border:1.5px dashed #68a7a1;border-radius:9px;color:#275f5a!important;background:#eff9f7;text-align:center;cursor:pointer;transition:border-color 120ms ease,background 120ms ease}.proposal-dropzone:hover,.proposal-dropzone.drag-active{border-color:var(--teal-dark);background:#e1f5f1}.proposal-dropzone input[type="file"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.proposal-dropzone-title{font-size:.72rem;font-weight:850}.proposal-dropzone-file{color:#5d7674;font-size:.61rem;font-weight:600}.new-sub-job-footer .job-entry-primary-actions{grid-template-columns:1fr}.new-sub-job-footer #save-new-sub-job,.new-sub-job-footer #save-new-ffs-job{width:100%}
@media(max-width:1120px){.toolbar{grid-template-columns:minmax(220px,1fr) 170px auto}.calculator-button{grid-column:3}.row-actions{min-width:250px}}
@media(max-width:760px){.topbar{min-height:58px;padding:0 .75rem}.brand-mark{width:36px;height:36px}.brand-lockup h1{font-size:1rem}main{width:100%;padding:.55rem 0 2rem}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-right:.6rem;margin-left:.6rem}.summary-card{min-height:50px;padding:.45rem .6rem}.summary-card p{font-size:.59rem}.summary-card strong{font-size:1rem}.workspace{border-left:0;border-right:0;border-radius:0}.workspace-heading,.toolbar{padding-left:.75rem;padding-right:.75rem}.view-tabs{padding:0 .75rem;overflow:auto}.view-tab{flex:1;justify-content:center;white-space:nowrap}.batch-action-bar{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;padding:.65rem .75rem}.batch-selection-summary{min-width:0}.batch-actions-menu summary{width:100%;min-width:0}.batch-actions-popover{right:0;left:auto;width:min(260px,88vw)}.batch-primary-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%;margin:0}.batch-primary-actions button{width:100%}.toolbar{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.toolbar .secondary-button{width:100%}.calculator-button{grid-column:auto}.grid-wrap{display:none}.contacts-table-wrap{display:none}.mobile-jobs{display:grid;gap:.6rem;padding:.65rem;background:#f4f7f9}.mobile-contacts{display:grid;gap:.6rem;padding:.65rem;background:#f4f7f9}.contacts-heading{align-items:stretch;flex-direction:column;padding:.85rem .75rem}.contacts-heading-actions{display:grid;grid-template-columns:1fr 1fr}.contacts-heading-actions button{width:100%}.job-drawer{width:100vw}.drawer-content{padding:.8rem}.provider-state{grid-template-columns:1fr}.dialog-footer{align-items:stretch;flex-direction:column}.dialog-footer>div{width:100%}.dialog-footer button{flex:1}.field-grid.three,.field-grid.two{grid-template-columns:1fr}.span-two{grid-column:auto}.app-dialog,.wide-dialog{width:100vw;max-width:none;max-height:96vh;margin:auto 0 0;border-radius:14px 14px 0 0}.review-grid{grid-template-columns:105px 1fr}.batch-review-item-heading{align-items:flex-start;flex-direction:column}.milestone-row{grid-template-columns:1fr 115px}}
@media(max-width:760px){.result-count{padding-right:.75rem}.batch-action-bar{gap:.4rem;padding:.5rem .75rem}.batch-actions-menu summary{min-height:40px}.batch-primary-actions .primary-button,.batch-primary-actions .danger-button{min-height:40px}.toolbar{gap:.5rem;padding:.5rem .75rem}.search-field input,.filter-field select,.toolbar>.secondary-button{min-height:40px}}
@media(max-width:760px){.calculator-controls,.calculator-regions{grid-template-columns:1fr}.calculator-dialog .dialog-footer .safety-note{display:block}.calculator-price strong{font-size:1.3rem}}
@media(max-width:760px){.quickbooks-review-grid{grid-template-columns:112px 1fr}.quickbooks-review-grid dt,.quickbooks-review-grid dd{padding:.68rem .7rem}.quickbooks-review-grid dt{font-size:.68rem}.quickbooks-review-grid dd{font-size:.7rem}}
@media(max-width:760px){.job-entry-actions{display:grid!important;grid-template-columns:1fr;width:100%;max-width:none}.job-entry-provider-actions,.job-entry-primary-actions{display:grid;grid-template-columns:1fr;width:100%}.job-entry-primary-actions{grid-template-columns:1fr 1fr}.provider-save-button,.job-entry-primary-actions #delete-job,.job-entry-primary-actions #save-job{width:100%;min-width:0}.job-entry-footer{align-items:stretch}}
@media(max-width:760px){.new-sub-job-body{padding:.75rem}.new-sub-status-card label{width:100%}.new-sub-sub-card label,.new-sub-field-stack>label,.new-sub-financial-grid label{grid-template-columns:1fr;gap:.28rem}.new-sub-schedule-row{grid-template-columns:1fr}.new-sub-job-quantity-row{grid-template-columns:minmax(0,1fr) 112px}.new-sub-field-stack .field-hint{grid-column:auto}.new-sub-job-footer .job-entry-primary-actions{grid-template-columns:1fr}.proposal-dropzone{min-height:105px}}
.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span-four{grid-column:span 4}
@media(max-width:760px){.field-grid.four{grid-template-columns:1fr}.span-four{grid-column:auto}}
.action-outcome{display:grid;gap:.55rem;padding:1rem;border:2px solid;border-radius:12px}.action-outcome.success{border-color:#78bfa9;color:#174f3f;background:#edf9f4}.action-outcome.warning{border-color:#e0ad5b;color:#70420c;background:#fff7e9}.action-outcome.error{border-color:#e29b92;color:#7f241d;background:#fff1ef}.action-outcome-heading{font-size:1rem}.action-outcome p{margin:0;line-height:1.45}.action-outcome-job,.action-outcome-amount{font-weight:800}.action-outcome-message{white-space:pre-wrap}.workflow-outcome-list{display:grid;grid-template-columns:minmax(155px,.9fr) minmax(0,1.4fr);margin:.35rem 0 0;border:1px solid currentColor;border-radius:8px;overflow:hidden}.workflow-outcome-list dt,.workflow-outcome-list dd{margin:0;padding:.55rem .65rem;border-bottom:1px solid color-mix(in srgb,currentColor 28%,transparent);font-size:.72rem}.workflow-outcome-list dt{font-weight:850}.workflow-outcome-list dd{overflow-wrap:anywhere}.workflow-outcome-list>*:nth-last-child(-n+2){border-bottom:0}.workflow-outcome-succeeded{color:#174f3f}.workflow-outcome-failed,.workflow-outcome-needs_attention,.workflow-outcome-not_run{font-weight:800}

.workflow-outcome-succeeded{color:#087443;font-weight:800}
.workflow-outcome-failed,.workflow-outcome-needs_attention,.workflow-outcome-not_run{color:#a62c22;font-weight:800}

/* Compact company, customer, job, and quantity hierarchy shared by desktop rows and mobile cards. */
.customer-cell{min-width:240px}
.customer-job-summary{display:grid;gap:.11rem;min-width:0;max-width:270px}
.customer-company-line,.customer-name-line,.customer-service-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.customer-company-line{color:var(--navy);font-size:.72rem;font-weight:800}
.customer-name-line{color:#4f6271;font-size:.64rem;font-weight:680}
.customer-service-line{display:flex;align-items:center;gap:.45rem;min-width:0}
.customer-service-name{color:var(--muted);font-size:.64rem;line-height:1.25}
.customer-quantity-badge{flex:0 0 auto;margin-left:auto;padding:.1rem .34rem;border:1px solid #bfd7db;border-radius:999px;color:#245764;background:#edf6f7;font-size:.56rem;font-weight:900;white-space:nowrap}
.mobile-job-card .customer-job-summary{width:100%;max-width:none;padding:.42rem .5rem;border-left:3px solid #bfd7db;background:#f5f9fa}
.mobile-job-card .customer-company-line{font-size:.76rem}
.mobile-job-card .customer-name-line,.mobile-job-card .customer-service-name{font-size:.66rem}

/* Keep the streamlined operations grid compact and every row action uniform. */
#operations-grid{min-width:1480px}
.job-row .row-actions,.mobile-job-card .row-actions{display:grid;grid-template-columns:repeat(3,66px);gap:.25rem;align-items:stretch;min-width:206px}
.row-actions .action-button{width:66px;height:36px;min-width:66px;min-height:36px;padding:.22rem .3rem;line-height:1.08}
.mobile-card-footer{justify-content:flex-start}
.customer-quantity-badge{margin-left:0}

/* View-specific column geometry keeps both job lists compact and intentional. */
#operations-grid{table-layout:fixed;min-width:0}
#operations-grid.ffs-clients-view{width:100%;min-width:1240px}
#operations-grid.sub-jobs-view{width:100%;min-width:1490px}
#operations-grid .select-column{width:46px}
#operations-grid .sticky-job{width:137px}
#operations-grid .status-column{width:163px}
#operations-grid .schedule-column{width:145px}
#operations-grid .assignment-column{width:125px}
#operations-grid .customer-job-column{width:260px}
#operations-grid .job-column{width:180px}
#operations-grid .quantity-column{width:60px}
#operations-grid .ffs-price-column{width:90px}
#operations-grid .sub-cost-column,#operations-grid .profit-column{width:90px}
#operations-grid .margin-column{width:90px}
#operations-grid .card-column{width:130px}
#operations-grid .actions-column{width:auto}
.customer-service-line{display:grid;grid-template-columns:minmax(0,1fr) 48px;width:100%;gap:.35rem}
.customer-service-name{grid-column:1}
.customer-quantity-badge{grid-column:2;justify-self:start}
.customer-service-line.without-quantity{grid-template-columns:minmax(0,1fr)}
.sub-job-row .customer-cell{padding-top:.26rem;padding-bottom:.26rem;vertical-align:top}
.sub-job-row .customer-service-name,.sub-job-card .customer-service-name{color:#0f5f95;font-weight:500;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.job-row.ffs-client-row .row-actions,.mobile-job-card.ffs-client-card .row-actions{grid-template-columns:repeat(4,66px);min-width:273px}

/* Larger table labels and row values while preserving the established table footprint. */
#operations-grid thead th{font-size:calc(1.26rem - 2px);font-weight:900;line-height:1.05;text-align:center;white-space:normal}
#operations-grid thead th:not(:last-child){border-right:1px solid rgba(77,97,114,.14)}
.split-column-heading{display:inline-grid;width:max-content;justify-items:center;align-content:center;gap:.08rem;line-height:.9}
.split-column-heading-top,.split-column-heading-bottom{display:block}
.split-column-heading-divider{display:block;width:100%;height:2px;margin:.02rem 0;border-radius:999px;background:currentColor;opacity:.72}
#operations-grid .job-row .status-select{font-size:.88rem}
#operations-grid thead .profit-column,#operations-grid thead .margin-column{padding-right:.15rem;padding-left:.15rem;font-size:calc(1.12rem - 2px)}
#operations-grid .job-row .schedule-cell .cell-primary{font-size:.96rem}
#operations-grid .job-row .schedule-cell .cell-secondary{font-size:.85rem}
#operations-grid .job-row .customer-company-line{font-size:.94rem}
#operations-grid .job-row .customer-name-line,#operations-grid .job-row .customer-service-name{font-size:.83rem}
#operations-grid .sub-job-row .ffs-price-cell,#operations-grid .sub-job-row .sub-cost-cell,#operations-grid .sub-job-row .profit-cell,#operations-grid .sub-job-row .margin-cell{font-size:.96rem}
#operations-grid .ffs-client-row .assignment-cell .cell-primary,#operations-grid .ffs-client-row .ffs-price-cell{font-size:.96rem}

/* Column-specific alignment for the distinct Sub Jobs and FFS Clients grids. */
#operations-grid .quantity-column,#operations-grid .ffs-price-column,#operations-grid .sub-cost-column,#operations-grid .profit-column,#operations-grid .margin-column,#operations-grid .card-column,#operations-grid .actions-column{text-align:center}
#operations-grid .job-row .quantity-cell,#operations-grid .job-row .ffs-price-cell,#operations-grid .sub-job-row .sub-cost-cell,#operations-grid .sub-job-row .profit-cell,#operations-grid .sub-job-row .margin-cell,#operations-grid .sub-job-row .card-status-cell{text-align:center}
#operations-grid .quantity-cell{vertical-align:middle}
.quantity-value-badge{display:inline-grid;place-items:center;min-width:2rem;height:2rem;padding:0 .42rem;border:1px solid #91b9c0;border-radius:999px;color:#174f5b;background:#e8f3f5;font-size:1.12rem;font-weight:900;line-height:1}
#operations-grid .card-status-stack{margin-right:auto;margin-left:auto;justify-items:center}
#operations-grid .job-row .row-actions{width:max-content;margin-right:auto;margin-left:auto}
#operations-grid .actions-cell{text-align:center;vertical-align:middle}
#operations-grid .sub-job-row .row-actions,.mobile-job-card.sub-job-card .row-actions{grid-template-columns:repeat(2,66px);min-width:136px}
#operations-grid.ffs-clients-view .schedule-column{width:167px}
#operations-grid.ffs-clients-view .schedule-column,#operations-grid.ffs-clients-view .assignment-column{text-align:center}
#operations-grid .ffs-client-row .schedule-cell,#operations-grid .ffs-client-row .assignment-cell{text-align:center}
#operations-grid .ffs-client-row .ffs-job-cell .cell-primary{font-size:.83rem}

/* Sub Jobs fits the complete action set at 100% zoom. */
#operations-grid.sub-jobs-view .select-column{width:36px;min-width:36px;padding-right:.3rem;padding-left:.3rem;text-align:center}
#operations-grid.sub-jobs-view .sticky-job{left:36px;width:116px;min-width:116px;padding-right:.3rem;padding-left:.3rem;text-align:center}
#operations-grid.sub-jobs-view .status-column{width:150px}
#operations-grid.sub-jobs-view .schedule-column{width:135px}
#operations-grid.sub-jobs-view .assignment-column{width:110px}
#operations-grid.sub-jobs-view .customer-job-column{width:220px}
#operations-grid.sub-jobs-view .quantity-column{width:60px}
#operations-grid.sub-jobs-view .ffs-price-column,#operations-grid.sub-jobs-view .sub-cost-column,#operations-grid.sub-jobs-view .profit-column{width:80px}
#operations-grid.sub-jobs-view .margin-column{width:94px}
#operations-grid.sub-jobs-view .card-column{width:116px}
#operations-grid .sub-job-row .job-status-cell,#operations-grid .sub-job-row .schedule-cell{text-align:center}
#operations-grid .sub-job-row .schedule-cell{padding-right:.25rem;padding-left:.25rem}
#operations-grid .sub-job-row .schedule-cell .time-window{white-space:nowrap}

/* FFS Clients uses a date-only schedule and centered customer identity. */
#operations-grid.ffs-clients-view .customer-job-column{text-align:center}
#operations-grid .ffs-client-row .customer-cell{text-align:center}

/* Sub Job card status and charge action share one compact, color-coded column. */
.card-status-stack{--card-control-width:78px;display:grid;gap:.32rem;justify-items:start;width:var(--card-control-width)}
.card-status-stack .card-status-value{display:inline-flex;align-items:center;justify-content:center;width:var(--card-control-width);min-width:var(--card-control-width);padding:.24rem .2rem;font-size:.6rem}
.card-status-value.card-status-pending{color:#705000;background:#fff3bf;border-color:#dfbd4f}
.card-status-value.card-status-saved{color:#17603c;background:#e4f5e9;border-color:#77bd91}
.card-status-value.card-status-paid{color:#174f7b;background:#e5f1ff;border-color:#85b5e6}
.card-status-stack .card-charge-button{width:var(--card-control-width);min-width:var(--card-control-width);height:30px;min-height:30px;padding:.16rem .22rem;border-color:var(--orange-dark);color:#fff;background:var(--orange);font-size:.59rem}
.card-status-stack .card-charge-button:hover:not(:disabled){background:var(--orange-dark)}
.card-status-stack .card-charge-button:disabled{border-color:#b8c2ca;color:#687680;background:#e2e7ea;opacity:1}
.mobile-card-status.card-status-stack{display:grid;justify-content:start;width:100%;gap:.42rem;background:#f7fafb;border-color:var(--line-dark)}

/* Provider integration readiness stays visually separate from operator mode. */
.integration-button{min-height:32px;padding:.35rem .65rem;border:1px solid rgba(255,255,255,.34);border-radius:7px;color:#fff;background:rgba(255,255,255,.09);font-size:.66rem;font-weight:850}
.topbar-link{display:inline-flex;align-items:center;text-decoration:none}
.integration-button:hover{background:rgba(255,255,255,.16)}
.integrations-dialog{width:min(900px,96vw)}
.integrations-dialog .dialog-body{display:grid;gap:.85rem;background:#f7f9fa}
.live-test-banner{padding:.78rem .9rem;border:1px solid #e7b36d;border-left:5px solid var(--orange);border-radius:9px;color:#6d3608;background:#fff5e6;font-size:.72rem;line-height:1.5}
.integration-loading{padding:2rem;color:var(--muted);text-align:center}
.integrations-content{display:grid;gap:.8rem}
.integration-boundary-card,.integration-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem;border:1px solid var(--line-dark);border-radius:10px;background:#fff}
.integration-boundary-card h3{margin:.2rem 0;color:var(--navy);font-size:1rem}.integration-boundary-card p:last-child{margin:.25rem 0 0;color:var(--muted);font-size:.68rem}
.integration-status{display:inline-flex;flex:0 0 auto;padding:.28rem .58rem;border:1px solid #e5c178;border-radius:999px;color:#79510f;background:#fff8df;font-size:.65rem;font-weight:850;text-transform:capitalize}
.integration-status.connected{color:#1f664f;background:#e9f7ef;border-color:#afd8c4}
.integration-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.integration-details>div{min-width:0;padding:.68rem .78rem;border-bottom:1px solid var(--line)}.integration-details>div:nth-child(odd){border-right:1px solid var(--line)}.integration-details>div:nth-last-child(-n+2){border-bottom:0}
.integration-details dt{color:var(--muted);font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em}.integration-details dd{margin:.25rem 0 0;color:var(--navy);font-size:.7rem;font-weight:680;overflow-wrap:anywhere}.integration-details code{font-size:.64rem;font-weight:600}
.integration-provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.integration-provider-card{display:grid;gap:.3rem;padding:.75rem;border:1px solid var(--line);border-radius:9px;background:#fff}.integration-provider-card strong{color:var(--navy);font-size:.72rem}.integration-provider-card span{color:var(--muted);font-size:.64rem;line-height:1.35}.integration-provider-card .provider-connection-state{color:#755010;font-weight:850;text-transform:capitalize}.integration-provider-card .provider-connection-state.connected{color:#1f664f}
.integration-actions>div{display:grid;gap:.25rem}.integration-actions strong{color:var(--navy);font-size:.75rem}.integration-actions span{color:var(--muted);font-size:.66rem;line-height:1.4}.integration-actions button{flex:0 0 auto}
.integration-upload-control{display:flex!important;align-items:center;justify-content:flex-end;gap:.5rem}.integration-upload-control input{max-width:260px;font-size:.68rem}
@media(max-width:760px){.environment-lockup{gap:.35rem}.integration-button{padding:.3rem .45rem}.integration-details{grid-template-columns:1fr}.integration-details>div:nth-child(odd){border-right:0}.integration-details>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.integration-details>div:last-child{border-bottom:0}.integration-provider-grid{grid-template-columns:1fr}.integration-boundary-card,.integration-actions{align-items:stretch;flex-direction:column}.integration-actions button{width:100%}}
@media(max-width:760px){.workspace-nav{padding:0 .75rem;overflow-x:auto;overflow-y:visible}.workspace-nav .view-tabs{padding:0;overflow:visible}.view-tab,.provider-tab-menu>summary{padding-left:.62rem;padding-right:.62rem}.provider-tab-popover{position:fixed;top:auto;right:.75rem;left:.75rem;width:auto;margin-top:.35rem}}
.workspace{overflow:visible}.workspace-nav{position:relative;z-index:30;background:#fff}
.toast.warning{border-left-color:#ffd278;background:#70420c}
.new-sub-job-footer .job-entry-primary-actions:has(.danger-button:not([hidden])){grid-template-columns:auto minmax(0,1fr)}
.new-sub-job-footer #delete-new-sub-job,.new-sub-job-footer #delete-new-ffs-job{width:100%}
