/* TradeFlow R46 ordered stylesheet bundle. R45 feature set preserved. */
/* component 1: assets/index-DUj96uUP.css */
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17211d;background:#f4f6f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.topbar{height:66px;background:#fff;border-bottom:1px solid #dde4e0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:20px}.brandmark{width:34px;height:34px;border-radius:10px;background:#126b4f;color:#fff;display:grid;place-items:center}.userchip{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:#e4f1eb;display:grid;place-items:center;font-weight:800;color:#126b4f}.layout{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 66px)}.sidebar{background:#fff;border-right:1px solid #dde4e0;padding:18px 12px}.navbtn{width:100%;border:0;background:transparent;text-align:left;padding:11px 13px;border-radius:9px;margin:2px 0;color:#46534d}.navbtn.active,.navbtn:hover{background:#eaf3ef;color:#0d5a41;font-weight:700}.navsep{height:1px;background:#e6ebe8;margin:14px 8px}.main{padding:28px;max-width:1500px;width:100%;margin:0 auto}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.pagehead h1{margin:0 0 5px;font-size:28px}.muted{color:#6b7771}.grid{display:grid;gap:16px}.cards4{grid-template-columns:repeat(4,minmax(0,1fr))}.cards3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#fff;border:1px solid #dde4e0;border-radius:13px;padding:18px;box-shadow:0 1px 2px #0b34200a}.stat .value{font-size:27px;font-weight:800;margin-top:7px}.btn{border:1px solid #cfd9d4;background:#fff;border-radius:9px;padding:9px 13px;color:#27342e}.btn:hover{background:#f5f8f6}.btn.primary{background:#126b4f;color:#fff;border-color:#126b4f}.btn.danger{color:#a12d2d;border-color:#e5bcbc}.btn.small{padding:6px 9px;font-size:13px}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.tablewrap{overflow:auto;background:#fff;border:1px solid #dde4e0;border-radius:13px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #edf0ee;vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#68746e;background:#fafbfa}tr:last-child td{border-bottom:0}.pill{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;background:#e9efec}.pill.green{background:#dff1e8;color:#126b4f}.pill.orange{background:#fff0d8;color:#8c5900}.pill.red{background:#fde5e5;color:#9a2929}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:700;color:#4d5a54}.field input,.field select,.field textarea{border:1px solid #cfd9d4;border-radius:9px;padding:10px;background:#fff}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.span2{grid-column:1/-1}.modalback{position:fixed;inset:0;background:#13201988;display:grid;place-items:center;padding:18px;z-index:50}.modal{background:#fff;width:min(720px,100%);max-height:92vh;overflow:auto;border-radius:15px;padding:22px}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modalhead h2{margin:0}.toast{position:fixed;right:22px;bottom:22px;background:#17211d;color:#fff;padding:12px 16px;border-radius:10px;z-index:80}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#edf6f1,#f6f7f6)}.authbox{width:min(460px,100%);background:#fff;border:1px solid #dce4df;border-radius:16px;padding:28px}.authbox h1{margin:0 0 8px}.tabs{display:flex;gap:6px;padding:4px;background:#eef2f0;border-radius:10px;margin:18px 0}.tabs button{flex:1;border:0;background:transparent;padding:9px;border-radius:8px}.tabs button.active{background:#fff;font-weight:700;box-shadow:0 1px 3px #0001}.empty{text-align:center;padding:42px 20px;color:#6b7771}.mobileNav{display:none}.weekgrid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;overflow:auto;padding-bottom:4px}.daycol{background:#fff;border:1px solid #dde4e0;border-radius:11px;min-height:180px;padding:10px}.daytitle{font-weight:800;margin-bottom:8px}.entrymini{background:#eef5f1;border-left:3px solid #126b4f;padding:8px;border-radius:6px;margin:7px 0;font-size:13px}.progress{height:8px;background:#e7ece9;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:#126b4f}.notice{padding:12px 14px;border-radius:10px;background:#fff7e8;border:1px solid #f0d79e;color:#6c4c0c;margin-bottom:16px}.photoGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.photoCard img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}.right{text-align:right}.hide{display:none!important}@media(max-width:900px){.layout{display:block}.sidebar{display:none}.main{padding:18px 14px 84px}.cards4,.cards3{grid-template-columns:repeat(2,1fr)}.mobileNav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dce4df;z-index:30;padding-bottom:env(safe-area-inset-bottom)}.mobileNav button{border:0;background:#fff;padding:10px 3px;font-size:11px}.mobileNav button.active{color:#126b4f;font-weight:800}.topbar{padding:0 14px}.pagehead{align-items:flex-start}.formgrid{grid-template-columns:1fr}.span2{grid-column:auto}}@media(max-width:560px){.cards4,.cards3{grid-template-columns:1fr 1fr}.stat .value{font-size:21px}.pagehead{display:block}.pagehead .toolbar{margin-top:12px}.userchip .muted{display:none}}.notice.critical{background:#fff0ec;border-color:#e8a89b;color:#74281f}.notice.recording-enabled{background:#edf7f2;border-color:#a9d5c2;color:#164f3c;margin-top:14px}.acknowledge{display:flex;align-items:flex-start;gap:9px;margin-top:12px;padding:10px;background:#fff;border:1px solid #efc2b9;border-radius:8px;font-weight:700}.acknowledge input{margin-top:3px;flex:0 0 auto}.company-auth{align-items:start;padding-top:36px;padding-bottom:36px}.company-hub{width:min(920px,100%)}.company-hub-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.company-hub-head h1{margin-top:22px}.company-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:22px 0}.company-card{border:1px solid #dce4df;border-radius:13px;padding:17px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;background:#fbfcfb}.company-card h3{margin:10px 0 7px}.company-actions{border-top:1px solid #e4e9e6;margin-top:22px;padding-top:4px}@media(max-width:650px){.company-auth{padding:12px}.company-hub-head{display:block}.company-hub-head .btn{margin-top:12px}.company-grid{grid-template-columns:1fr}.topbar>.toolbar>.btn{padding:6px 8px}.userchip>div:first-child{display:none}}

/* component 2: mobile-responsive-v1.css */
/* TradeFlow mobile-only layout enhancements. Desktop rules are intentionally untouched. */
.mobile-menu-toggle,.mobile-menu-backdrop{display:none}
@media (max-width:900px){
  body.mobile-menu-open{overflow:hidden}
  .topbar{height:58px;padding:0 10px;gap:8px}
  .brand{font-size:17px;gap:8px;min-width:0}
  .brandmark{width:31px;height:31px;border-radius:9px}
  .topbar>.toolbar{gap:6px;min-width:0}
  .topbar>.toolbar>.btn{display:none}
  .userchip{gap:7px;min-width:0}
  .userchip>div:first-child{display:none}
  .avatar{width:32px;height:32px}
  .mobile-menu-toggle{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #cfd9d4;border-radius:10px;background:#fff;color:#27342e;font-size:23px;line-height:1;flex:0 0 auto}
  .layout{min-height:calc(100vh - 58px)}
  .sidebar{display:block;position:fixed;top:0;bottom:0;left:0;width:min(82vw,310px);padding:74px 12px 24px;background:#fff;border-right:1px solid #cfd9d4;box-shadow:8px 0 28px #10201833;z-index:70;overflow-y:auto;transform:translateX(-105%);transition:transform .2s ease}
  body.mobile-menu-open .sidebar{transform:translateX(0)}
  .sidebar:before{content:'Menu';position:absolute;top:22px;left:18px;font-size:20px;font-weight:800;color:#17211d}
  .navbtn{min-height:46px;padding:12px 14px;font-size:16px;margin:3px 0}
  .mobile-menu-backdrop{position:fixed;inset:0;background:#13201988;z-index:60}
  body.mobile-menu-open .mobile-menu-backdrop{display:block}
  .mobileNav{display:none!important}
  .main{padding:16px 12px calc(24px + env(safe-area-inset-bottom));overflow-x:hidden}
  .pagehead{margin-bottom:16px}
  .pagehead h1{font-size:24px}
  .pagehead .toolbar{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pagehead .toolbar .btn,.pagehead .toolbar button{min-height:42px;white-space:normal}
  .toolbar{gap:8px}
  .toolbar>.btn,.toolbar>button{min-height:40px}
  .card{padding:14px;border-radius:11px}
  .cards4,.cards3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tablewrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:680px}
  th,td{padding:10px 11px}
  .modalback{align-items:end;padding:0}
  .modal{width:100%;max-height:92dvh;border-radius:16px 16px 0 0;padding:18px 14px calc(18px + env(safe-area-inset-bottom))}
  .formgrid{grid-template-columns:1fr}
  .field input,.field select,.field textarea{min-height:44px;font-size:16px}
  .btn{min-height:40px}
  .photoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:480px){
  .cards4,.cards3{grid-template-columns:1fr}
  .pagehead .toolbar{grid-template-columns:1fr}
  .photoGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .auth{padding:12px}
  .authbox{padding:20px 16px;border-radius:13px}
}
@media (min-width:901px){
  .mobile-menu-toggle,.mobile-menu-backdrop{display:none!important}
}

/* component 3: materials-holidays-v2.css */
.tf-mh-modalback{position:fixed;inset:0;background:rgba(15,23,42,.62);display:grid;place-items:center;padding:18px;z-index:100080;overflow:auto}
.tf-mh-modal{width:min(1120px,100%);max-height:94vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.3);padding:20px}
.tf-mh-modalhead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.tf-mh-modalhead h2{margin:0}.tf-mh-modalhead p{margin:5px 0 0}
.tf-mh-formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.tf-mh-formgrid .span2{grid-column:span 2}.tf-mh-field label{display:block;font-weight:700;margin-bottom:6px}.tf-mh-field input,.tf-mh-field select,.tf-mh-field textarea{width:100%}
.tf-mh-material-table{width:100%;min-width:620px;border-collapse:collapse}.tf-mh-material-table th,.tf-mh-material-table td{padding:9px;border-bottom:1px solid #dfe5e2;vertical-align:middle}.tf-mh-material-table th{text-align:left;background:#f3f6f5}.tf-mh-material-table input{width:100%;min-width:0}.tf-mh-material-table .tf-mh-qty{width:115px}.tf-mh-material-table .tf-mh-price,.tf-mh-material-table .tf-mh-amount{width:145px}.tf-mh-material-table .tf-mh-amount{text-align:right;font-weight:800;white-space:nowrap}.tf-mh-material-table .tf-mh-delete{width:48px;text-align:center}.tf-mh-description-cell{display:flex;align-items:center;gap:7px}.tf-mh-description-cell input{flex:1}.tf-mh-description-cell .btn{flex:0 0 auto}
.tf-mh-credit-banner{padding:11px 13px;border-radius:9px;background:#fff1f0;color:#9d2219;font-weight:800;margin-bottom:13px}
.tf-mh-row-toolbar{display:flex;align-items:flex-start;gap:0;margin-top:12px;position:relative}.tf-mh-row-toolbar>.btn:first-child{border-radius:8px 0 0 8px}.tf-mh-row-menu{position:relative}.tf-mh-row-menu summary{list-style:none;border:1px solid #cfd9d4;border-left:0;border-radius:0 8px 8px 0;background:#fff;min-height:40px;padding:9px 12px;cursor:pointer;font-weight:800}.tf-mh-row-menu summary::-webkit-details-marker{display:none}.tf-mh-row-menu[open] .tf-mh-row-options{display:grid}.tf-mh-row-options{display:none;position:absolute;left:0;top:44px;z-index:4;min-width:160px;background:#fff;border:1px solid #cfd9d4;border-radius:9px;box-shadow:0 12px 28px rgba(20,32,50,.18);overflow:hidden}.tf-mh-row-options button{border:0;background:#fff;text-align:left;padding:11px 13px;cursor:pointer}.tf-mh-row-options button:hover{background:#f1f5f3}
.tf-mh-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:16px}.tf-mh-nav-alert,.tf-mh-nav-alert.active{color:#c62828!important;font-weight:900!important}.tf-mh-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:8px;border-radius:999px;background:transparent;color:#c62828;font-size:.76rem;font-weight:900}
.tf-mh-holiday-page .pagehead{align-items:flex-start}.tf-mh-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.tf-mh-summary-card{background:#fff;border:1px solid #dfe5e2;border-radius:12px;padding:15px}.tf-mh-summary-card b{display:block;font-size:1.5rem;margin-top:4px}.tf-mh-summary-card small{color:#66717f}
.tf-mh-calendar-card{background:#fff;border:1px solid #dfe5e2;border-radius:13px;padding:14px;margin-bottom:18px}.tf-mh-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.tf-mh-calendar-head h2{margin:0;font-size:1.25rem}.tf-mh-calendar-controls{display:flex;gap:7px;flex-wrap:wrap}.tf-mh-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #dfe5e2;border-left:1px solid #dfe5e2}.tf-mh-calendar-weekday{padding:8px;text-align:center;font-weight:800;background:#f3f6f5;border-right:1px solid #dfe5e2;border-bottom:1px solid #dfe5e2}.tf-mh-day{min-height:112px;padding:7px;border:0;border-right:1px solid #dfe5e2;border-bottom:1px solid #dfe5e2;background:#fff;text-align:left;cursor:pointer;overflow:hidden}.tf-mh-day:hover{background:#f7faf8}.tf-mh-day.other{background:#f7f8f8;color:#8c9691}.tf-mh-day.today{box-shadow:inset 0 0 0 2px #126b4f}.tf-mh-day-number{font-weight:900;margin-bottom:5px}.tf-mh-event{display:block;border-radius:6px;padding:4px 5px;margin:3px 0;font-size:.73rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.tf-mh-event.pending{background:#fff0d9;color:#7b4a00}.tf-mh-event.approved{background:#e5f5eb;color:#145c2a}.tf-mh-event.edited{background:#e5edff;color:#244b96}.tf-mh-event.denied{background:#ffe6e3;color:#8d1d15}.tf-mh-event.cancelled{background:#ecefed;color:#59635e}
.tf-mh-request-list{display:grid;gap:11px}.tf-mh-request{background:#fff;border:1px solid #dfe5e2;border-radius:12px;padding:14px}.tf-mh-request.pending{border-left:5px solid #d98500}.tf-mh-request.approved{border-left:5px solid #198754}.tf-mh-request.edited{border-left:5px solid #2f64b7}.tf-mh-request.denied{border-left:5px solid #b42318}.tf-mh-request.cancelled{border-left:5px solid #7b8580}.tf-mh-request.unacknowledged{background:#fff4f3;border-color:#e59a94}.tf-mh-request-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tf-mh-request-head h3{margin:0 0 4px;font-size:1rem}.tf-mh-request-meta{color:#66717f}.tf-mh-status{display:inline-block;border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:900;white-space:nowrap}.tf-mh-status.pending{background:#fff0d9;color:#7b4a00}.tf-mh-status.approved{background:#e5f5eb;color:#145c2a}.tf-mh-status.edited{background:#e5edff;color:#244b96}.tf-mh-status.denied{background:#ffe6e3;color:#8d1d15}.tf-mh-status.cancelled{background:#ecefed;color:#59635e}.tf-mh-request-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:11px}.tf-mh-decision-note,.tf-mh-internal-note,.tf-mh-clash{margin-top:9px;padding:9px 11px;border-radius:8px;background:#f5f7f6}.tf-mh-internal-note{background:#edf2ff;color:#244b96}.tf-mh-clash{background:#fff0d9;color:#7b4a00}.tf-mh-settings-members{max-height:520px;overflow:auto}.tf-mh-settings-members table{min-width:620px}.tf-mh-weekdays{display:flex;gap:8px;flex-wrap:wrap}.tf-mh-weekdays label{display:flex;align-items:center;gap:5px;border:1px solid #cfd9d4;border-radius:8px;padding:7px 9px}.tf-mh-empty{padding:20px;border:1px dashed #cbd5df;border-radius:10px;color:#66717f;text-align:center}.tf-mh-request-filters{margin-bottom:12px}.tf-mh-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;align-items:end;gap:10px}.tf-mh-filter-grid label{display:grid;gap:5px;font-weight:700}.tf-mh-filter-grid select{width:100%}.tf-mh-decision-review{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tf-mh-decision-review>div{padding:11px;border-radius:9px;background:#f3f6f5}.tf-mh-decision-review small,.tf-mh-decision-review b{display:block}.tf-mh-member-weekdays{display:grid;grid-template-columns:repeat(2,auto);gap:3px}.tf-mh-member-weekdays label{display:flex;gap:3px;align-items:center;font-size:.75rem}.tf-mh-settings-members td{vertical-align:top}.tf-mh-settings-members td input+input{margin-top:5px}
@media(max-width:900px){.tf-mh-modalback{align-items:end;padding:0}.tf-mh-modal{width:100%;max-height:94dvh;border-radius:16px 16px 0 0;padding:17px 13px calc(17px + env(safe-area-inset-bottom))}.tf-mh-formgrid{grid-template-columns:1fr}.tf-mh-formgrid .span2{grid-column:span 1}.tf-mh-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-mh-calendar{min-width:720px}.tf-mh-calendar-scroll{overflow-x:auto}.tf-mh-day{min-height:102px}.tf-mh-request-head{display:block}.tf-mh-request-head .tf-mh-status{margin-top:7px}}
@media(max-width:520px){.tf-mh-summary-grid{grid-template-columns:1fr 1fr}.tf-mh-summary-card{padding:11px}.tf-mh-summary-card b{font-size:1.2rem}.tf-mh-actions .btn{width:100%}}

/* Time start/finish calculation */
.tf-mh-time-field small{display:block;margin-top:5px;line-height:1.25}.tf-mh-time-field input[type="time"]{width:100%}

/* Repaired holiday calendar controls */
.tf-mh-calendar-jump{display:flex;align-items:end;gap:7px;flex-wrap:wrap}.tf-mh-calendar-jump label{display:grid;gap:4px;font-size:.78rem;font-weight:800;color:#56616d}.tf-mh-calendar-jump select{min-width:82px;padding:8px 9px}.tf-mh-calendar-jump label:nth-child(2) select{min-width:132px}.tf-mh-day.selected{box-shadow:inset 0 0 0 3px #2f7de1}.tf-mh-day.today.selected{box-shadow:inset 0 0 0 2px #126b4f,inset 0 0 0 5px #d8e9ff}
.tf-mh-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.tf-mh-section-head h2{margin:0}.tf-mh-section-head p{margin:5px 0 0}.tf-mh-admin-overview{margin-bottom:16px}.tf-mh-admin-overview table{min-width:760px}.tf-mh-admin-overview th,.tf-mh-admin-overview td{vertical-align:top}.tf-mh-settings-members table{min-width:1780px}.tf-mh-settings-members input{min-width:95px}
.tf-mh-schedule-presets{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 10px}.tf-mh-schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(58px,1fr));gap:6px;margin:6px 0}.tf-mh-schedule-grid label{display:grid;gap:3px;font-size:.75rem;text-align:center}.tf-mh-schedule-grid input{min-width:58px!important;text-align:center;padding:7px 4px}.tf-mh-member-schedule{min-width:530px}.tf-mh-member-schedule>label{display:flex;align-items:center;gap:6px;font-weight:700}.tf-mh-member-schedule>label input{width:auto;min-width:0}.tf-mh-field[hidden]{display:none!important}
@media(max-width:900px){.tf-mh-filter-grid{grid-template-columns:1fr 1fr}.tf-mh-decision-review{grid-template-columns:1fr}}
@media(max-width:900px){.tf-mh-calendar-head{align-items:flex-start}.tf-mh-calendar-jump{width:100%}.tf-mh-calendar-jump label{flex:1 1 90px}.tf-mh-calendar-jump select{width:100%;min-width:0!important}.tf-mh-calendar-jump .btn{flex:1 1 130px}}

/* component 4: tradeflow-v7.13.0.css */
html:not([data-tf-role="manager"]) [data-page="approvals"],
html:not([data-tf-role="manager"]) [data-page="reports"],
html:not([data-tf-role="manager"]) [data-page="invoices"],
html:not([data-tf-role="manager"]) [data-page="team"],
html:not([data-tf-role="manager"]) #tf-timesheets-nav,
html:not([data-tf-role="manager"]) #tf-timesheets-top,
html:not([data-tf-role="manager"]) [data-tf713-invoices-sent]{display:none!important}

.tf713-modalback{position:fixed;inset:0;z-index:100200;display:grid;place-items:center;overflow:auto;padding:18px;background:rgba(15,23,42,.68)}
.tf713-nested-shade{position:absolute;inset:0;z-index:2;display:grid;place-items:center;overflow:auto;padding:18px;background:rgba(15,23,42,.72);border-radius:inherit}
.tf713-modal{width:min(1180px,100%);max-height:94vh;overflow:auto;padding:20px;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.32)}
.tf713-modal>header,.tf713-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:15px}.tf713-modal>header h2,.tf713-section-head h2,.tf713-section-head h3{margin:0}.tf713-modal>header p,.tf713-section-head p{margin:5px 0 0}
.tf713-formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.tf713-formgrid .span2{grid-column:span 2}.tf713-formgrid label{display:grid;gap:6px;font-weight:700}.tf713-formgrid input,.tf713-formgrid select,.tf713-formgrid textarea{width:100%}
.tf713-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:16px}.tf713-actions .spacer{flex:1}
.tf713-loading{padding:32px;text-align:center;color:#637068}.tf713-hidden,.tf713-original-time{display:none!important}
.tf713-invoice-card{padding:0;overflow:hidden}.tf713-invoice-card summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 19px;cursor:pointer}.tf713-invoice-card summary span{display:grid;gap:4px}.tf713-invoice-card summary small{color:#657169}.tf713-invoice-card summary strong{font-size:1.15rem}.tf713-readonly{padding:0 19px 19px;border-top:1px solid #e1e7e3}.tf713-readonly>.pill{margin-top:14px}
.tf713-approval-area{margin-top:20px}.tf713-approval-area table{min-width:980px}.tf713-group th{text-align:left!important;background:#eaf2ee!important;color:#1e503c!important;font-size:.9rem!important}.tf713-approval-area input[type="checkbox"]{width:19px;height:19px}
.tf713-edit-table input{width:100%}
#tf713-material-edit .tablewrap{overflow:visible}
#tf713-material-edit .tf713-edit-table{display:block;width:100%;min-width:0}
#tf713-material-edit .tf713-edit-table thead{display:none}
#tf713-material-edit .tf713-edit-table tbody{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:tf713-material-card}
#tf713-material-edit .tf713-edit-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;padding:17px;border:1px solid #d7e0db;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(23,62,49,.06);counter-increment:tf713-material-card}
#tf713-material-edit .tf713-edit-table tr::before{content:"Material " counter(tf713-material-card);grid-column:1/-1;padding-bottom:9px;border-bottom:1px solid #e3ebe6;color:#173e31;font-size:1.02rem;font-weight:900}
#tf713-material-edit .tf713-edit-table td{display:block;width:100%;padding:0;border:0}
#tf713-material-edit .tf713-edit-table td:first-child,#tf713-material-edit .tf713-edit-table td:nth-child(2),#tf713-material-edit .tf713-edit-table td:nth-child(5),#tf713-material-edit .tf713-edit-table td:last-child{grid-column:1/-1}
#tf713-material-edit .tf713-edit-table input,#tf713-material-edit .tf713-edit-table td:first-child input,#tf713-material-edit .tf713-edit-table td:nth-child(2) input{width:100%;min-width:0;min-height:44px}
#tf713-material-edit .tf713-mobile-label{display:block;margin:0 0 5px;color:#4e5d55;font-weight:800}
#tf713-material-edit [data-tf713-delete-material-row]{width:100%;min-height:42px}
#tf713-material-edit>.tf713-actions{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 0 0;background:#fff}
#tf713-material-edit>.tf713-actions .btn{width:100%}
.tf713-bank-card,.tf713-backup-card{margin:16px 0}.tf713-bank-card h2{margin:0}.tf713-status-value{font-size:1.08rem;font-weight:800;margin-top:7px}.tf713-check{display:flex;align-items:center;gap:6px;white-space:nowrap}.tf713-check input{width:18px;height:18px}
#tf713-bank-table{min-width:920px}#tf713-bank-table input,#tf713-bank-table select{width:100%;min-width:145px}
.tf713-toast{z-index:100300!important}.tf713-toast.error{background:#a22d24!important}
.tf-mh-material-table{min-width:850px!important}.tf-mh-material-table .tf-mh-notes{width:260px}.tf-mh-time-field input[type="text"]{width:100%;font-variant-numeric:tabular-nums}.tf-mh-time-field select{min-height:48px;touch-action:pan-y}
.mobileNav{overflow-x:auto}.mobileNav>[data-tf713-invoices-sent]{min-width:70px}

/* v7.14 workflow clarity and responsive pages */
.tf-wf-request-list{gap:20px!important}.tf-wf-approval-request{border-color:#d79b22!important;background:#fff9e8!important;color:#533b08!important}.tf-wf-approval-request h3,.tf-wf-approval-request p,.tf-wf-approval-request .muted,.tf-wf-approval-request td,.tf-wf-approval-request th,.tf-wf-approval-request .tf-wf-request-kind,.tf-wf-approval-request .tf-wf-request-reason{color:#533b08!important}.tf-wf-request-dropdown>summary{background:#fff2c7!important;color:#533b08!important}.tf-wf-inline-request-row>td{border-top:18px solid #fff!important;border-left-color:#d79b22!important;border-right-color:#d79b22!important;border-bottom-color:#d79b22!important;background:#fff9e8!important}
.tf714-pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 0;flex-wrap:wrap}.tf714-fieldset{display:flex;gap:14px;flex-wrap:wrap;border:1px solid #dce5df;border-radius:10px;padding:12px}.tf714-fieldset legend{font-weight:800;padding:0 5px}.tf714-fieldset label{display:flex!important;grid-template-columns:none!important;align-items:center;gap:6px}.tf714-fieldset input{width:18px!important;height:18px}.tf714-source-list{display:grid;gap:7px;padding:12px}.tf714-source-list label{display:flex;align-items:flex-start;gap:8px}.tf714-source-list input{width:18px;height:18px;margin-top:2px}.tf714-preview{margin:16px 0}.tf714-commercial-card hr{border:0;border-top:1px solid #dce5df;margin:24px 0}.tf714-request-card{margin:0 0 18px}.tf714-request-card summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer}.tf714-request-card pre{white-space:pre-wrap;word-break:break-word;background:#f5f7f6;padding:12px;border-radius:8px}.tf714-notification{border-left:4px solid #c9d5cf}.tf714-notification.unread{border-left-color:#d79b22;background:#fffaf0}.tf714-notification p{margin:6px 0}.tf714-update{position:fixed;z-index:100500;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(680px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border-radius:13px;background:#153e31;color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.28)}
.tf714-recovery-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:13px;border:1px solid #cbded5;border-radius:10px;background:#f4faf7}.tf714-recovery-status.error{border-color:#dcaaa3;background:#fff3f1}.tf714-user-activity{margin:16px 0}.tf714-user-activity table{min-width:720px}.tf714-presence{display:inline-flex;align-items:center;gap:7px;font-weight:800}.tf714-presence i{width:10px;height:10px;border-radius:50%;background:#8b9590}.tf714-presence.online i{background:#1a9c5d;box-shadow:0 0 0 3px rgba(26,156,93,.16)}.tf714-presence.away i{background:#d69b18}.tf714-presence.disabled i{background:#b53a30}
.tf714-password-wrap{display:flex;width:100%;min-width:0}.tf714-password-wrap>input{flex:1;min-width:0;border-radius:8px 0 0 8px!important}.tf714-password-toggle{flex:0 0 auto;min-width:62px;padding:0 11px;border:1px solid #aebdb5;border-left:0;border-radius:0 8px 8px 0;background:#f2f6f4;color:#173e31;font:inherit;font-weight:800;cursor:pointer}.tf714-password-toggle:hover,.tf714-password-toggle:focus-visible{background:#e1eee8;outline:2px solid #277b5c;outline-offset:1px}.tf714-remember-credentials{display:grid!important;grid-column:1/-1;gap:6px!important;margin:0}.tf714-remember-credentials label{display:flex!important;align-items:center;gap:8px}.tf714-remember-credentials input[type="checkbox"]{width:auto!important;padding:0!important}
.tf714-login-language{grid-column:1/-1}.tf714-login-language select{width:100%;min-height:44px}
.tf714-staff-notice-composer{margin:16px 0}.tf714-staff-notice-composer textarea{resize:vertical;min-height:110px}.tf714-staff-notice-host{position:fixed;z-index:100350;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));display:grid;gap:10px;width:min(460px,calc(100vw - 36px));pointer-events:none}.tf714-staff-notice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;padding:16px;border:2px solid #d79b22;border-radius:14px;background:#fff9e8;color:#3e300b;box-shadow:0 16px 42px rgba(35,45,39,.28);pointer-events:auto}.tf714-staff-notice h3{margin:8px 0 5px;color:#3e300b}.tf714-staff-notice p{margin:0 0 8px;white-space:pre-wrap;overflow-wrap:anywhere}.tf714-staff-notice small{color:#6f613c}.tf714-staff-notice .btn{white-space:nowrap}
.tf715-contact-picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:14px;border:1px solid #cbded5;border-radius:12px;background:#f7fbf9}.tf715-contact-picker>label{min-width:0}.tf715-contact-actions{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tf715-contact-actions .tf713-check{margin-right:auto}.tf715-contact-picker>[data-contact-status]{grid-column:1/-1;margin:0;overflow-wrap:anywhere}.tf715-contact-dialog>.tf713-modal{width:min(780px,100%)}.tf715-duplicate-list{display:grid;gap:7px;margin:10px 0}.tf715-duplicate-list .btn{text-align:left;white-space:normal}
.tf715-sheet-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.tf715-sheet-summary span,.tf715-sheet-summary b{padding:7px 10px;border:1px solid #cbded5;border-radius:999px;background:#f7fbf9}.tf715-sheet-wrap{max-width:100%;max-height:54vh;overflow:auto;border:1px solid #d8e2dc;border-radius:10px}.tf715-sheet-preview,.tf715-csv-sheet{min-width:1560px;border-collapse:separate;border-spacing:0}.tf715-sheet-preview thead th,.tf715-csv-sheet thead th{position:sticky;top:0;z-index:1;background:#eaf4ef;box-shadow:0 1px 0 #c9d8d0}.tf715-sheet-preview tbody tr:nth-child(even),.tf715-csv-sheet tbody tr:nth-child(even){background:#f7faf8}.tf715-sheet-preview th,.tf715-sheet-preview td,.tf715-csv-sheet th,.tf715-csv-sheet td{vertical-align:top;border-bottom:1px solid #e1e8e4}.tf715-sheet-preview .right,.tf715-csv-sheet .right{text-align:right;font-variant-numeric:tabular-nums}.tf715-row-number{font-weight:900;text-align:center}.tf715-blank-cell{min-width:90px;background:repeating-linear-gradient(135deg,#fafcfb,#fafcfb 5px,#f2f6f4 5px,#f2f6f4 10px)}.tf715-source-details{min-width:180px;max-width:320px}.tf715-source-details summary{cursor:pointer;font-weight:800}.tf715-source-details ul{margin:8px 0 0;padding-left:18px}.tf715-source-details li{margin:0 0 6px;overflow-wrap:anywhere}
html[data-tf-critical-update="true"] .main{pointer-events:none;opacity:.72}

@media(max-width:900px){
  .tf713-modalback{align-items:end;padding:0}.tf713-modal{width:100%;max-height:94dvh;border-radius:16px 16px 0 0;padding:17px 13px calc(17px + env(safe-area-inset-bottom))}
  .tf713-nested-shade{place-items:stretch;padding:0}.tf713-nested-shade>.tf713-modal{max-height:100%;border-radius:12px}
  .tf713-formgrid{grid-template-columns:1fr}.tf713-formgrid .span2{grid-column:span 1}.tf713-section-head{display:block}.tf713-section-head .toolbar{margin-top:10px}.tf713-section-head .toolbar .btn{flex:1}
  .tf713-actions .btn{flex:1}.tf713-invoice-card summary{align-items:flex-start}.tf713-invoice-card summary strong{white-space:nowrap}
  #tf713-material-edit .tf713-edit-table tbody{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  #tf713-material-edit .tf713-edit-table tr{gap:11px;padding:14px}
  #tf713-material-edit>.tf713-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tf713-material-edit>.tf713-actions .btn[type="submit"]{grid-column:1/-1}
  .tf-wf-compare{min-width:0!important;display:block}.tf-wf-compare thead{display:none}.tf-wf-compare tbody,.tf-wf-compare tr,.tf-wf-compare td{display:block;width:100%!important}.tf-wf-compare tr{margin:0 0 14px;border:1px solid #e4c267;border-radius:10px;overflow:hidden}.tf-wf-compare td{border:0!important;border-bottom:1px solid #eee!important;padding:10px 12px 10px 132px!important;position:relative;min-height:44px}.tf-wf-compare td:before{position:absolute;left:10px;top:10px;width:112px;font-weight:800}.tf-wf-compare td:nth-child(1):before{content:'Field'}.tf-wf-compare td:nth-child(2):before{content:'Current'}.tf-wf-compare td:nth-child(3):before{content:'Requested'}.tf714-update{align-items:stretch;flex-direction:column}.tf714-update .btn{width:100%}
  .tf714-recovery-status{align-items:stretch;flex-direction:column}.tf714-recovery-status .btn{width:100%}
  .tf714-staff-notice-host{right:10px;bottom:calc(82px + env(safe-area-inset-bottom));width:calc(100vw - 20px)}.tf714-staff-notice{grid-template-columns:1fr;align-items:stretch;padding:14px}.tf714-staff-notice .btn{width:100%}
  .tf715-contact-picker{grid-template-columns:1fr}.tf715-contact-actions{grid-column:1;align-items:stretch;flex-direction:column}.tf715-contact-picker>[data-contact-status]{grid-column:1}.tf715-contact-actions .tf713-check,.tf715-contact-actions .btn{width:100%;margin:0}.tf715-sheet-wrap{max-height:56dvh}.tf715-sheet-summary{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.tf715-sheet-summary b{grid-column:1/-1}
}

@media(max-width:560px){
  #tf713-material-edit .tf713-edit-table tbody{grid-template-columns:1fr}
  #tf713-material-edit .tf713-edit-table tr{grid-template-columns:1fr}
  #tf713-material-edit .tf713-edit-table td{grid-column:1/-1}
  #tf713-material-edit>.tf713-actions{grid-template-columns:1fr}
  #tf713-material-edit>.tf713-actions .btn[type="submit"]{grid-column:auto}
}

/* component 5: material-posting-groups-v7.14.14.css */
.tf71414-material-groups{display:grid;gap:12px;margin-top:16px}
.tf71414-material-intro{display:grid;gap:3px;padding:2px 2px 8px}
.tf71414-material-job{overflow:hidden;border:1px solid #cfddd5;border-radius:13px;background:#fff}
.tf71414-material-job>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;list-style:none}
.tf71414-material-job>summary::-webkit-details-marker{display:none}
.tf71414-material-job>summary:hover{background:#f5faf7}
.tf71414-material-job[open]>summary{background:#e2f2e9;border-bottom:1px solid #b9d5c6}
.tf71414-job-copy{display:grid;gap:3px;min-width:0}
.tf71414-job-copy strong{color:#173e31;font-size:1.08rem}
.tf71414-job-copy>span{color:#3e4d46}
.tf71414-job-copy small,.tf71414-material-posting small{color:#637068}
.tf71414-job-total,.tf71414-posting-total{white-space:nowrap;color:#173e31}
.tf71414-job-total{display:grid;justify-items:end;gap:2px}
.tf71414-job-total small{color:#637068;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}
.tf71414-material-head-actions{display:flex;align-items:end;justify-content:flex-end;gap:8px;margin-left:auto}
.tf71414-material-search{display:grid;gap:4px;min-width:min(330px,42vw)}
.tf71414-material-search span{font-size:.78rem;font-weight:800;color:#526159}
.tf71414-material-search input{width:100%;min-height:40px;padding:8px 11px;border:1px solid #cbd8d1;border-radius:9px;background:#fff}
.tf71414-chevron{font-size:1.3rem;transition:transform .16s ease}
.tf71414-material-job[open] .tf71414-chevron{transform:rotate(180deg)}
.tf71414-posting-list{display:grid;gap:9px;padding:12px 14px 14px;border-top:1px solid #e0e9e3;background:#f7faf8}
.tf71414-material-posting{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;width:100%;padding:13px 14px;border:1px solid #d7e3dc;border-radius:10px;background:#fff;color:#173e31;text-align:left;cursor:pointer;font:inherit}
.tf71414-material-posting:hover,.tf71414-material-posting:focus-visible{border-color:#257154;background:#eff8f2;outline:2px solid #257154;outline-offset:1px}
.tf71414-posting-copy{display:grid;gap:4px;min-width:0}
.tf71414-debit-text{color:#166534;font-weight:700}
.tf71414-credit-text{color:#9f1239;font-weight:700}
.tf71414-material-posting .btn{pointer-events:none;white-space:nowrap}
.tf71414-original-materials{overflow:hidden;margin-top:14px;border:1px solid #d8e2dc;border-radius:11px;background:#fff}
.tf71414-original-materials>summary{display:grid;gap:3px;padding:13px 15px;cursor:pointer}
.tf71414-original-materials>.tablewrap{margin:0;border-top:1px solid #e0e9e3}
.tf71414-preview-back,.tf71414-action-back{position:fixed;inset:0;z-index:100250;display:grid;place-items:center;overflow:auto;padding:18px;background:rgba(15,23,42,.68)}
.tf71414-action-back{z-index:100270}
.tf71414-preview{width:min(1040px,100%);max-height:94vh;overflow:auto;padding:20px;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.32)}
.tf71414-preview>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}
.tf71414-preview h2,.tf71414-preview p{margin:0}
.tf71414-preview header p{margin-top:4px}
.tf71414-job-reference{display:inline-flex;margin-bottom:7px;padding:4px 8px;border-radius:999px;background:#e6f3ec;color:#135c43;font-size:.82rem;font-weight:800}
.tf71414-posting-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}
.tf71414-posting-overview>span{display:grid;gap:3px;padding:10px 12px;border-radius:10px;background:#f3f7f5}
.tf71414-posting-overview small,.tf71414-line-values small{color:#68756e}
.tf71414-material-lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tf71414-material-line{display:flex;min-width:0;flex-direction:column;gap:11px;padding:14px;border:1px solid #d9e3dd;border-radius:12px;background:#fff}
.tf71414-line-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.tf71414-line-head h3{margin:7px 0 0;font-size:1rem;overflow-wrap:anywhere}
.tf71414-line-total{white-space:nowrap;font-size:1.05rem}
.tf71414-kind{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.tf71414-kind-debit{background:#dcfce7;color:#166534}
.tf71414-kind-credit{background:#ffe4e6;color:#9f1239}
.tf71414-line-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.tf71414-line-values>span{display:grid;gap:2px;min-width:0;padding:8px;border-radius:8px;background:#f7f9f8}
.tf71414-line-values b{overflow-wrap:anywhere;font-size:.88rem}
.tf71414-material-line>p{font-size:.88rem;overflow-wrap:anywhere}
.tf71414-line-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:3px}
.tf71414-preview-actions{position:sticky;bottom:-20px;display:grid;grid-template-columns:auto 1fr auto auto;gap:9px;margin:18px -20px -20px;padding:13px 20px calc(13px + env(safe-area-inset-bottom));border-top:1px solid #dce5e0;background:#fff}
.tf71414-action-dialog{width:min(520px,100%);padding:22px;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.32)}
.tf71414-action-dialog h3{margin:0 0 8px}
.tf71414-action-dialog p{margin:0 0 16px}
.tf71414-action-dialog label{display:block;margin-bottom:6px;font-weight:800}
.tf71414-action-dialog textarea{width:100%;padding:10px;border:1px solid #cfd9d4;border-radius:9px}
.tf71414-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.tf71414-draft-list{display:grid;gap:8px;max-height:45vh;overflow:auto;margin-top:14px}
.tf71414-draft-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px;border:1px solid #d7e3dc;border-radius:10px;background:#fff;color:#173e31;text-align:left;cursor:pointer}
.tf71414-draft-option:hover,.tf71414-draft-option:focus-visible{border-color:#257154;background:#eff8f2;outline:2px solid #257154}
.tf71414-draft-option>span:first-child{display:grid;gap:3px}
.tf71414-draft-option small{color:#637068}
.tf71414-draft-option .btn{pointer-events:none}
.tf71414-toast.error{background:#8d2222}
@media(max-width:900px){
  .tf71414-material-lines{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .tf71414-material-head-actions{width:100%;align-items:end}
  .tf71414-material-search{min-width:0;flex:1}
  .tf71414-material-job>summary{grid-template-columns:minmax(0,1fr) auto;padding:14px}
  .tf71414-job-total{grid-column:1}
  .tf71414-chevron{grid-column:2;grid-row:1/3}
  .tf71414-material-posting{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:12px}
  .tf71414-material-posting .btn{grid-column:1/-1;width:100%;text-align:center}
  .tf71414-posting-list{padding:10px}
  .tf71414-preview-back{align-items:end;padding:0}
  .tf71414-preview{width:100%;max-height:96dvh;padding:17px 12px calc(17px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}
  .tf71414-posting-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tf71414-material-lines{grid-template-columns:1fr}
  .tf71414-preview-actions{bottom:calc(-17px - env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;margin:16px -12px calc(-17px - env(safe-area-inset-bottom));padding:12px}
  .tf71414-preview-actions>span{display:none}
  .tf71414-preview-actions .btn{width:100%}
}

/* component 6: material-submenu-colours-v7.14.16.css */
:root{
  --tf71416-material-submenu-bg:#e6f2ff;
  --tf71416-material-submenu-surface:#eef7ff;
  --tf71416-material-submenu-hover:#d7ebff;
  --tf71416-material-submenu-border:#b8d5ed;
}

/* Keep the selected customer/job green and distinguish everything opened beneath it in blue. */
.tf71414-material-job[open]>summary{
  background:#e2f2e9;
  border-bottom-color:#b9d5c6;
}
.tf71414-material-job[open]>.tf71414-posting-list{
  background:var(--tf71416-material-submenu-surface);
  border-top-color:var(--tf71416-material-submenu-border);
}
.tf71414-material-job[open] .tf71414-material-posting{
  background:var(--tf71416-material-submenu-bg);
  border-color:var(--tf71416-material-submenu-border);
}
.tf71414-material-job[open] .tf71414-material-posting:hover,
.tf71414-material-job[open] .tf71414-material-posting:focus-visible{
  background:var(--tf71416-material-submenu-hover);
  border-color:#6da7cf;
}

/* The supporting Materials submenus shown below the grouped job list use the same blue family. */
.tf71414-original-materials,
#tf714-material-approval-corrections{
  background:var(--tf71416-material-submenu-bg);
  border-color:var(--tf71416-material-submenu-border);
}
.tf71414-original-materials>.tablewrap,
#tf714-material-approval-corrections>.tablewrap{
  border-top-color:var(--tf71416-material-submenu-border);
}

/* Carry the submenu colour into an opened posting without changing debit/credit status colours. */
.tf71414-preview .tf71414-posting-overview>span,
.tf71414-preview .tf71414-material-line{
  background:var(--tf71416-material-submenu-bg);
  border-color:var(--tf71416-material-submenu-border);
}
.tf71414-preview .tf71414-line-values>span{
  background:var(--tf71416-material-submenu-surface);
}

/* component 7: mobile-user-experience-v7.14.13.css */
/*
 * TradeFlow v7.14.13 responsive presentation layer.
 * This file is deliberately loaded last. It changes presentation only:
 * the Dashboard, navigation, permissions and existing business actions remain intact.
 */
:root{
  --tfm-border:#d7e2dc;
  --tfm-ink:#173e31;
  --tfm-muted:#637068;
  --tfm-surface:#fff;
  --tfm-soft:#f5f8f6;
  --tfm-shadow:0 5px 18px rgba(23,62,49,.08);
}

.tfm-status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:900;line-height:1.25;white-space:nowrap}
.tfm-status-draft,.tfm-status-cancelled,.tfm-status-archived{background:#ecefed!important;color:#4f5b55!important}
.tfm-status-pending,.tfm-status-submitted,.tfm-status-mixed{background:#fff0d9!important;color:#7b4a00!important}
.tfm-status-approved,.tfm-status-active,.tfm-status-paid{background:#e5f5eb!important;color:#145c2a!important}
.tfm-status-rejected,.tfm-status-denied,.tfm-status-failed,.tfm-status-overdue{background:#ffe6e3!important;color:#8d1d15!important}
.tfm-status-invoiced,.tfm-status-billed,.tfm-status-edited,.tfm-status-sent{background:#e5edff!important;color:#244b96!important}
.tfm-status-deleted,.tfm-status-disabled{background:#3f4844!important;color:#fff!important}

.tfm-page-actions{position:relative;min-width:112px}
.tfm-page-actions>summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;border:1px solid #aebdb5;border-radius:9px;background:#fff;color:#173e31;font-weight:800;cursor:pointer;list-style:none}
.tfm-page-actions>summary::-webkit-details-marker{display:none}
.tfm-page-actions>summary::after{content:"▾";margin-left:8px}
.tfm-page-actions[open]>summary::after{transform:rotate(180deg)}
.tfm-page-actions-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:35;display:grid;min-width:min(260px,calc(100vw - 28px));padding:6px;border:1px solid #cad7d0;border-radius:11px;background:#fff;box-shadow:0 15px 36px rgba(20,32,50,.2)}
.tfm-page-actions-menu>.btn,.tfm-page-actions-menu>button,.tfm-page-actions-menu>a{width:100%;justify-content:flex-start;text-align:left;border-color:transparent;background:#fff}
.tfm-page-actions-menu>.btn:hover,.tfm-page-actions-menu>button:hover,.tfm-page-actions-menu>a:hover{background:#f0f6f3}

.tfm-holiday-count{display:none}

@media(max-width:900px){
  /* Comfortable touch targets and readable form controls. */
  button,.btn,input[type="button"],input[type="submit"],input[type="checkbox"],input[type="radio"],select,summary{touch-action:manipulation}
  .main button,.main .btn,.modal button,.tf713-modal button,.tf-mh-modal button,.tf7148-preview button{min-height:44px}
  .main input:not([type="checkbox"]):not([type="radio"]),.main select,.main textarea,
  .modal input:not([type="checkbox"]):not([type="radio"]),.modal select,.modal textarea,
  .tf713-modal input:not([type="checkbox"]):not([type="radio"]),.tf713-modal select,.tf713-modal textarea,
  .tf-mh-modal input:not([type="checkbox"]):not([type="radio"]),.tf-mh-modal select,.tf-mh-modal textarea{font-size:16px}

  /* Standard data tables become two-column card grids without horizontal scrolling. */
  .tablewrap.tfm-card-wrap{max-width:100%;overflow:visible!important;border:0;background:transparent}
  table.tfm-card-table{display:block;width:100%;min-width:0!important;border:0!important;background:transparent}
  table.tfm-card-table>thead{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  table.tfm-card-table>tbody{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  table.tfm-card-table>tbody>tr{display:grid;width:100%;min-width:0;align-content:start;gap:0;padding:12px 13px;border:1px solid var(--tfm-border);border-radius:12px;background:var(--tfm-surface);box-shadow:var(--tfm-shadow)}
  table.tfm-card-table>tbody>tr[hidden]{display:none!important}
  table.tfm-card-table>tbody>tr>td{display:grid;grid-template-columns:minmax(96px,.75fr) minmax(0,1.25fr);align-items:start;gap:9px;width:100%!important;min-width:0!important;padding:8px 0!important;border:0!important;border-bottom:1px solid #e8eeeb!important;background:transparent!important;overflow-wrap:anywhere;text-align:left!important}
  table.tfm-card-table>tbody>tr>td:last-child{border-bottom:0!important}
  table.tfm-card-table>tbody>tr>td::before{content:attr(data-mobile-label);color:var(--tfm-muted);font-size:.78rem;font-weight:900;line-height:1.35}
  table.tfm-card-table>tbody>tr>td.tfm-primary-cell{color:var(--tfm-ink);font-weight:800}
  table.tfm-card-table>tbody>tr>td.tfm-action-cell{display:flex;grid-column:1/-1;align-items:stretch;justify-content:flex-start;gap:7px;flex-wrap:wrap;padding-top:11px!important}
  table.tfm-card-table>tbody>tr>td.tfm-action-cell::before{content:none}
  table.tfm-card-table>tbody>tr>td.tfm-action-cell>.btn,
  table.tfm-card-table>tbody>tr>td.tfm-action-cell>button,
  table.tfm-card-table>tbody>tr>td.tfm-action-cell>a{flex:1 1 112px;white-space:normal}
  table.tfm-card-table>tbody>tr>td.tfm-select-cell{display:flex;align-items:center;justify-content:space-between}
  table.tfm-card-table>tbody>tr>td.tfm-select-cell::before{content:attr(data-mobile-label)}
  table.tfm-card-table>tbody>tr>td.tfm-empty-cell{display:none}
  table.tfm-card-table>tbody>tr.tfm-group-row{grid-column:1/-1;padding:9px 12px;border-color:#c8dbd1;background:#eaf2ee;box-shadow:none}
  table.tfm-card-table>tbody>tr.tfm-group-row>td{display:block;padding:0!important;border:0!important;color:#1e503c;font-weight:900}
  table.tfm-card-table>tbody>tr.tfm-group-row>td::before{content:none}

  /* Keep page-level focus on the main action; secondary controls remain under Actions. */
  .pagehead>.toolbar.tfm-page-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}
  .pagehead>.toolbar.tfm-page-toolbar>.primary{width:100%}
  .tfm-page-actions{width:auto}

  /* Long forms keep their decisions reachable without covering the form content. */
  form>.tfm-form-actions,form .tfm-form-actions{
    position:sticky;bottom:0;z-index:12;display:flex;align-items:stretch;justify-content:flex-end;gap:8px;flex-wrap:wrap;
    margin:16px -2px -2px;padding:12px 2px calc(2px + env(safe-area-inset-bottom));
    border-top:1px solid #dce5df;background:rgba(255,255,255,.97);box-shadow:0 -9px 20px rgba(23,62,49,.08)
  }
  form .tfm-form-actions>.btn,form .tfm-form-actions>button{flex:1 1 130px}
  form .tfm-form-actions>.primary,form .tfm-form-actions>[type="submit"].primary{flex-basis:190px}

  /* Material posting layout stays job → posting → material cards. */
  .tf7148-original-materials>.tablewrap{overflow:visible!important}
  .tf7148-material-job>summary,.tf7148-material-posting{min-height:56px}
  #tf713-material-edit .tf713-edit-table td:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  #tf713-material-edit .tf713-edit-table td:last-child .tf713-mobile-label{grid-column:1/-1}
  #tf713-material-edit [data-tf713-credit-material-row],#tf713-material-edit [data-tf713-delete-material-row]{width:100%;min-height:44px}

  /* Holiday controls and calendar fit the phone instead of scrolling sideways. */
  .tf-mh-calendar-scroll{max-width:100%;overflow:visible!important}
  .tf-mh-calendar{width:100%;min-width:0!important}
  .tf-mh-calendar-weekday{min-width:0;padding:7px 2px;font-size:.73rem}
  .tf-mh-day{min-width:0;min-height:76px;padding:5px}
  .tf-mh-day-number{margin-bottom:3px}
  .tf-mh-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tf-mh-settings-members{max-height:none;overflow:visible}

  /* Filters and dense setting grids stack before becoming cramped. */
  .filters,.filtergrid,.tf713-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:640px){
  table.tfm-card-table>tbody{grid-template-columns:1fr}
  table.tfm-card-table>tbody>tr>td{grid-template-columns:minmax(88px,.7fr) minmax(0,1.3fr)}

  /* Forms use the full phone screen; desktop and tablet modals remain unchanged. */
  .modalback,.tf713-modalback,.tf-mh-modalback,.tf7148-preview-back{align-items:stretch!important;place-items:stretch!important;padding:0!important}
  .modalback>.modal,.tf713-modalback>.tf713-modal,.tf-mh-modalback>.tf-mh-modal,.tf7148-preview-back>.tf7148-preview{
    width:100%!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;
    padding:16px 12px calc(14px + env(safe-area-inset-bottom))!important;border-radius:0!important;overflow:auto!important
  }
  .modalback>.modal>header,.tf713-modalback>.tf713-modal>header,.tf-mh-modalback>.tf-mh-modal>.tf-mh-modalhead,.tf7148-preview-back>.tf7148-preview>header{
    position:sticky;top:-16px;z-index:14;margin:0 -12px 14px;padding:14px 12px;border-bottom:1px solid #dce5df;background:#fff
  }
  body:has(.modalback),body:has(.tf713-modalback),body:has(.tf-mh-modalback),body:has(.tf7148-preview-back){overflow:hidden}

  .pagehead>.toolbar.tfm-page-toolbar{grid-template-columns:1fr auto!important}
  .pagehead>.toolbar.tfm-page-toolbar>.primary{min-width:0}
  .tfm-page-actions>summary{min-width:98px}
  .tfm-page-actions-menu{position:fixed;right:10px;left:10px;top:auto;bottom:calc(10px + env(safe-area-inset-bottom));max-height:70dvh;overflow:auto}

  form .tfm-form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  form .tfm-form-actions>.btn,form .tfm-form-actions>button{width:100%}
  form .tfm-form-actions>.primary,form .tfm-form-actions>[type="submit"].primary{grid-column:1/-1;grid-row:1}

  .tf-mh-filter-grid,.filters,.filtergrid,.tf713-filter-grid{grid-template-columns:1fr!important}
  .tf-mh-calendar-card{padding:9px}
  .tf-mh-calendar-head{gap:8px}
  .tf-mh-calendar-weekday{padding:6px 1px;font-size:.65rem}
  .tf-mh-day{position:relative;min-height:58px;padding:4px;text-align:center}
  .tf-mh-day-number{font-size:.8rem}
  .tf-mh-day .tf-mh-event{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .tfm-holiday-count{display:inline-grid;place-items:center;min-width:19px;height:19px;margin:2px auto 0;padding:0 4px;border-radius:999px;background:#fff0d9;color:#7b4a00;font-size:.68rem;font-weight:900}
  .tf-mh-day.other .tfm-holiday-count{opacity:.7}
}

@media(max-width:390px){
  .pagehead>.toolbar.tfm-page-toolbar{grid-template-columns:1fr!important}
  .tfm-page-actions{width:100%}
  .tfm-page-actions>summary{width:100%}
  table.tfm-card-table>tbody>tr>td{grid-template-columns:1fr;gap:3px}
}

@media(prefers-reduced-motion:reduce){
  .tfm-page-actions>summary::after{transition:none}
}

/* component 8: requested-repairs-v7.14.15.css */
.tf-wf-photo-card-summary{display:grid;gap:4px;margin-top:9px}
.tf-wf-photo-card-summary>span,.tf-wf-photo-card-summary>small{color:#5d6b64}
#filter-user{min-width:150px}
input[readonly][name="current_charge_rate"]{background:#eef3f0;color:#33443b;font-weight:700}
@media(max-width:640px){
  #filter-user{width:100%;min-width:0}
}

/* component 9: requested-repairs-v7.14.17.css */
:root{
  --tf71417-material-heading:#e2f2e9;
  --tf71417-material-heading-border:#b9d5c6;
  --tf71417-material-submenu:#e6f2ff;
  --tf71417-material-submenu-border:#b8d5ed;
}

/* Materials support headings are white while closed, green while open, and blue inside. */
.tf71414-original-materials,
#tf714-material-approval-corrections{
  background:white;
  border-color:#d9e2dd;
}
.tf71414-original-materials>summary,
#tf714-material-approval-corrections>summary{
  background:white;
}
.tf71414-original-materials[open],
#tf714-material-approval-corrections[open],
.tf71414-original-materials[open]>summary,
#tf714-material-approval-corrections[open]>summary{
  background:var(--tf71417-material-heading);
  border-color:var(--tf71417-material-heading-border);
}
.tf71414-original-materials[open]>.tablewrap,
#tf714-material-approval-corrections[open]>.tablewrap,
#tf714-material-approval-corrections[open]>.tf713-actions,
#tf714-material-approval-corrections[open]>p{
  background:var(--tf71417-material-submenu);
  border-color:var(--tf71417-material-submenu-border);
}
#tf714-material-approval-corrections[open]>p{
  margin:0;
  padding:12px 14px;
}
#tf714-material-approval-corrections[open]>.tablewrap{
  margin-top:0;
}
#tf714-material-approval-corrections[open]>.tf713-actions{
  margin-top:0;
  padding:12px 14px 14px;
}

.tf71417-photo-reference{
  display:grid;
  gap:3px;
  margin:5px 0;
  color:#4f5f57;
  font-size:.9rem;
}

.tf71417-deleted-pager{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin:12px 0;
}
.tf71417-deleted-pager label,
.tf71417-deleted-pager form{
  display:flex;
  align-items:center;
  gap:6px;
}
.tf71417-deleted-pager select{
  min-height:38px;
}
.tf71417-deleted-pager input[type="number"]{
  width:78px;
  min-height:38px;
}
.tf71417-select-page{
  margin-right:auto;
  font-weight:700;
}
.tf71417-deleted-actions{
  position:fixed;
  z-index:8;
  bottom:calc(8px + env(safe-area-inset-bottom));
  left:50%;
  right:auto;
  width:min(1040px,calc(100vw - 28px));
  transform:translateX(-50%);
  padding:12px;
  border:1px solid #c8d7cf;
  border-radius:12px;
  background:rgba(255,255,255,.97);
  box-shadow:0 8px 24px rgba(24,55,42,.18);
}
[data-tf714-custom-page="recently-deleted"]{
  padding-bottom:120px;
}

.tf71418-direct-materials{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:14px;
  background:var(--tf71416-material-submenu-surface,#eef7ff);
}
.tf71418-direct-material-line{
  margin:0;
  min-width:0;
}
.tf71418-direct-material-line .tf71414-line-head small,
[data-tf71418-material-approval-line] small{
  display:block;
  margin-top:4px;
  color:#52655c;
  font-weight:500;
}
.tf71418-customer-rate-section{
  margin-top:18px;
}
.tf71418-photo-customer-field select,
#photo-form select[name="job_id"]{
  width:100%;
  min-height:46px;
}

@media(max-width:640px){
  .tf71417-deleted-pager{
    justify-content:stretch;
  }
  .tf71417-select-page{
    width:100%;
  }
  .tf71417-deleted-pager form{
    flex:1;
  }
  .tf71417-deleted-actions .btn{
    flex:1;
  }
  .tf71417-deleted-actions{
    width:calc(100vw - 16px);
    bottom:calc(72px + env(safe-area-inset-bottom));
  }
  [data-tf714-custom-page="recently-deleted"]{
    padding-bottom:180px;
  }
}

@media(min-width:641px) and (max-width:1000px){
  .tf71418-direct-materials{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:640px){
  .tf71418-direct-materials{grid-template-columns:1fr;padding:10px}
}

/* component 10: requested-repairs-v7.14.19.css */
html[data-tf-restoring-section="true"] #app > .layout {
  visibility: hidden;
}

.tf71419-material-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 800;
}

.tf71419-status-draft {
  background: #e5e7eb;
  color: #374151;
}

.tf71419-status-submitted,
.tf71419-status-pending {
  background: #fef3c7;
  color: #92400e;
}

.tf71419-status-approved {
  background: #dcfce7;
  color: #166534;
}

.tf71419-status-rejected {
  background: #fee2e2;
  color: #991b1b;
}

.tf71419-status-invoiced,
.tf71419-status-billed {
  background: #dbeafe;
  color: #1e40af;
}

.tf71419-material-check {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  font-size: .82rem;
  font-weight: 800;
}

.tf71419-material-check input,
.tf71419-material-bulk input,
.tf71419-draft-toolbar input,
.tf71414-draft-option > input {
  width: 20px;
  height: 20px;
  margin: 0;
}

.tf71419-material-bulk,
.tf71419-draft-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 14px;
  border-bottom: 1px solid #b8d9e9;
  background: #e7f5fc;
}

.tf71414-material-job[open] > .tf71414-material-lines {
  padding: 12px 14px 14px;
  background: #eef7ff;
}

.tf71414-material-job[open] > .tf71414-material-lines > .tf71414-material-line {
  border-color: #b8d5ed;
  background: #e6f2ff;
}

.tf71419-material-bulk label,
.tf71419-draft-toolbar label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-weight: 800;
}

.tf71414-draft-option {
  cursor: default;
}

.tf71414-draft-option > span {
  display: grid;
  flex: 1;
  gap: 3px;
  min-width: 0;
}

.tf71414-draft-option .btn {
  pointer-events: auto;
  white-space: nowrap;
}

.tf71419-draft-toolbar {
  margin-top: 12px;
  border: 1px solid #d7e3dc;
  border-radius: 10px;
}

.tf71414-action-dialog input[type="password"] {
  width: 100%;
  padding: 10px;
  border: 1px solid #cfd9d4;
  border-radius: 9px;
}

.tf71419-toast.error {
  background: #8d2222;
}

@media (max-width: 640px) {
  .tf71419-material-bulk,
  .tf71419-draft-toolbar {
    position: sticky;
    bottom: 0;
    z-index: 4;
    padding-bottom: calc(11px + env(safe-area-inset-bottom));
  }

  .tf71414-draft-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
  }

  .tf71414-draft-option .btn {
    grid-column: 1 / -1;
    width: 100%;
  }

  #time-form .span2.toolbar {
    position: sticky;
    bottom: 0;
    z-index: 8;
    margin-right: -12px;
    margin-left: -12px;
    padding: 12px 12px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid #d8e3dd;
    background: #fff;
  }
}

/* component 11: requested-live-repairs-v7.14.20.css */
.tf71420-clock,.tf71420-posted{white-space:nowrap;font-variant-numeric:tabular-nums}
.tf71419-toast,.tf71414-toast{z-index:100500!important}
#time-form [aria-invalid="true"]{border-color:#b42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.16)!important}

@media(max-width:900px){
  .tf71419-toast,.tf71414-toast{
    position:fixed!important;
    top:calc(var(--tf71420-visual-top,0px) + max(12px,env(safe-area-inset-top)))!important;
    bottom:auto!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
  }
  html.tf71420-time-form-open,
  body.tf71420-time-form-open{
    width:100%;
    height:100%;
    overflow:hidden!important;
    overscroll-behavior:none;
  }
  body.tf71420-time-form-open{
    position:fixed;
    left:0;
    right:0;
  }
  .tf71420-time-modalback{
    position:fixed!important;
    inset:auto!important;
    top:var(--tf71420-visual-top,0)!important;
    left:var(--tf71420-visual-left,0)!important;
    right:auto!important;
    bottom:auto!important;
    z-index:100200!important;
    display:block!important;
    width:var(--tf71420-visual-width,100vw)!important;
    height:var(--tf71420-visual-height,100dvh)!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
    overscroll-behavior:contain;
  }
  .tf71420-time-modal{
    position:relative!important;
    isolation:isolate;
    width:var(--tf71420-visual-width,100vw)!important;
    max-width:none!important;
    height:var(--tf71420-visual-height,100dvh)!important;
    max-height:none!important;
    margin:0!important;
    border-radius:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:16px 14px calc(24px + env(safe-area-inset-bottom))!important;
    background:#fff!important;
    scroll-padding-top:14px;
    scroll-padding-bottom:96px;
  }
  .tf71420-time-modal #time-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    width:100%!important;
    min-height:calc(var(--tf71420-visual-height,100dvh) - 86px);
    align-content:start;
  }
  .tf71420-time-modal #time-form label{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
  }
  .tf71420-time-modal #time-form input,
  .tf71420-time-modal #time-form select,
  .tf71420-time-modal #time-form textarea,
  .tf71420-time-modal #time-form button{
    min-height:48px;
    font-size:16px;
  }
  .tf71420-time-modal #time-form input,
  .tf71420-time-modal #time-form select,
  .tf71420-time-modal #time-form textarea{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  .tf71420-time-modal #time-form textarea{min-height:120px;resize:vertical}
  .tf71420-time-modal #time-form .span2.toolbar{
    position:sticky!important;
    bottom:0!important;
    z-index:12!important;
    min-height:72px;
    margin:0 -14px -1px!important;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important;
    border-top:1px solid #d8e3dd!important;
    background:#fff!important;
    box-shadow:0 -10px 20px rgba(23,33,29,.08);
  }
}

/* component 12: requested-repairs-v7.14.21.css */
/* TradeFlow v7.14.19 R6 additive repairs. */
#time-form [name="description"]{
  scroll-margin-top:18px;
  scroll-margin-bottom:118px;
}

.tf71421-time-job{
  display:grid;
  gap:2px;
  min-width:190px;
}
.tf71421-time-job small{color:#66717f}

.tf71421-editor-transition{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(15,23,42,.58);
  backdrop-filter:blur(2px);
}
.tf71421-editor-transition>div{
  display:grid;
  justify-items:center;
  gap:8px;
  width:min(420px,100%);
  padding:24px;
  border-radius:16px;
  background:#fff;
  color:#172033;
  box-shadow:0 20px 55px rgba(0,0,0,.24);
  text-align:center;
}
.tf71421-editor-transition span{
  width:30px;
  height:30px;
  border:4px solid #d7e1ef;
  border-top-color:#2463eb;
  border-radius:50%;
  animation:tf71421-spin .8s linear infinite;
}
.tf71421-editor-transition small{color:#66717f}
@keyframes tf71421-spin{to{transform:rotate(360deg)}}

@media(max-width:900px){
  .tf71420-time-modal #time-form [name="description"]:focus{
    position:relative;
    z-index:2;
  }
  .tf71420-time-modal #time-form label:has([name="description"]){
    scroll-margin-top:14px;
    scroll-margin-bottom:126px;
  }
}

/* component 13: requested-repairs-v7.14.22.css */
html[data-tf71422-role="staff"] [data-job-action="time"],
html[data-tf71422-role="staff"] [data-job-action="material"],
html[data-tf71422-role="staff"] [data-job-action="photo"] {
  display: none !important;
}

[data-tf71422-pay-period] {
  white-space: nowrap;
}

/* component 14: requested-repairs-v7.14.23.css */
[data-tf71423-my-hours].active {
  background: var(--accent, #126b4f);
  color: #fff;
}

.tf71423-hours-card {
  margin-top: 16px;
}

.tf71423-hours-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.tf71423-hours-form label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
}

.tf71423-hours-form input {
  width: 100%;
}

.tf71423-hours-actions {
  grid-column: span 2;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
}

.tf71423-hours-result {
  margin-top: 16px;
}

.tf71423-hours-result .tablewrap {
  margin-top: 14px;
}

.tf71423-hours-result table {
  min-width: 760px;
}

.tf71423-hours-result .value {
  font-variant-numeric: tabular-nums;
}

.tf71423-hours-loading {
  padding: 16px;
  color: #66717f;
}

@media (max-width: 760px) {
  .tf71423-hours-form {
    grid-template-columns: 1fr;
  }

  .tf71423-hours-actions {
    grid-column: span 1;
  }
}

/* component 15: requested-repairs-v7.14.24.css */
.tf71424-period-panel {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid #cbd9d3;
  border-radius: 12px;
  background: #f7fbf9;
}

.tf71424-period-panel[hidden] {
  display: none !important;
}

.tf71424-period-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.tf71424-period-panel h4,
.tf71424-period-panel p {
  margin: 0;
}

.tf71424-period-panel p {
  margin-top: 4px;
}

.tf71424-period-picker {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: end;
  gap: 10px;
  margin-top: 14px;
}

.tf71424-period-picker label {
  display: grid;
  gap: 6px;
  font-weight: 700;
}

.tf71424-period-picker select {
  width: 100%;
  min-height: 44px;
}

.tf71424-period-status {
  min-height: 20px;
  margin-top: 9px;
}

.tf71424-pay-error {
  margin-top: 12px;
}

@media (max-width: 760px) {
  .tf71424-period-panel {
    padding: 14px;
  }

  .tf71424-period-panel-head,
  .tf71424-period-picker {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .tf71424-period-panel-head .tf71424-close,
  .tf71424-period-picker .btn {
    width: 100%;
  }
}

/* component 16: requested-repairs-v7.14.25.css */
/*
 * TradeFlow v7.14.19 R10
 * Mobile Holiday settings repair. Desktop tables and all data/workflows remain unchanged.
 */

.tf71425-number-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  min-width: 0;
}

.tf71425-number-field {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: #66717f;
  font-size: .75rem;
  font-weight: 800;
}

.tf71425-number-field input {
  width: 100%;
  min-width: 0;
  color: #17231e;
  font-size: 1rem;
  font-weight: 500;
}

@media (max-width: 900px) {
  .tf71425-holiday-modal {
    max-width: 100% !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
  }

  #tf-mh-holiday-settings,
  #tf-mh-holiday-settings > *,
  #tf-mh-holiday-settings .tf-mh-field {
    box-sizing: border-box;
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
  }

  #tf-mh-holiday-settings {
    overflow-x: clip;
  }

  #tf-mh-holiday-settings .tf71425-holiday-members,
  #tf-mh-holiday-settings .tf71425-holiday-members.tfm-card-wrap {
    width: 100%;
    max-width: 100%;
    max-height: none;
    overflow: visible !important;
    border: 0;
    background: transparent;
  }

  #tf-mh-holiday-settings .tf71425-holiday-staff-table,
  #tf-mh-holiday-settings .tf71425-holiday-staff-table.tfm-card-table {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    table-layout: fixed;
  }

  #tf-mh-holiday-settings .tf71425-holiday-staff-table > tbody {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px;
    width: 100%;
    min-width: 0;
  }

  #tf-mh-holiday-settings .tf71425-member-card {
    box-sizing: border-box;
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
  }

  #tf-mh-holiday-settings .tf71425-member-card > td {
    box-sizing: border-box;
    grid-template-columns: minmax(112px, .72fr) minmax(0, 1.28fr) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    overflow: visible;
    overflow-wrap: break-word;
    word-break: normal;
  }

  #tf-mh-holiday-settings .tf71425-member-card > td::before {
    min-width: 0;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
  }

  #tf-mh-holiday-settings .tf71425-member-card input:not([type="checkbox"]):not([type="radio"]),
  #tf-mh-holiday-settings .tf71425-member-card select {
    box-sizing: border-box;
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
  }

  #tf-mh-holiday-settings .tf71425-member-card input[type="checkbox"],
  #tf-mh-holiday-settings .tf71425-member-card input[type="radio"] {
    width: auto !important;
    min-width: 0 !important;
    max-width: none;
    flex: 0 0 auto;
  }

  #tf-mh-holiday-settings .tf-mh-member-schedule {
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
  }

  #tf-mh-holiday-settings .tf-mh-member-schedule > label {
    min-width: 0;
    white-space: normal;
  }

  #tf-mh-holiday-settings .tf-mh-schedule-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  #tf-mh-holiday-settings .tf-mh-schedule-grid label,
  #tf-mh-holiday-settings .tf-mh-schedule-grid input {
    box-sizing: border-box;
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
  }

  #tf-mh-holiday-settings .tf-mh-schedule-presets {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  #tf-mh-holiday-settings .tf-mh-schedule-presets .btn {
    width: 100%;
    white-space: normal;
  }

  #tf-mh-holiday-settings .tf71425-number-pair {
    min-width: 0;
  }

  #tf-mh-holiday-settings > .tf-mh-actions {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 640px) {
  .tf71425-holiday-modal {
    padding-bottom: calc(14px + env(safe-area-inset-bottom)) !important;
  }

  #tf-mh-holiday-settings .tf71425-member-card > td.tf-mh-member-schedule {
    display: block !important;
  }

  #tf-mh-holiday-settings .tf71425-member-card > td.tf-mh-member-schedule::before {
    display: block;
    margin-bottom: 8px;
  }

  #tf-mh-holiday-settings > .tf-mh-actions {
    position: sticky !important;
    z-index: 12;
    display: grid !important;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr);
    gap: 8px;
    bottom: 0;
    margin: 18px 0 0;
    padding: 12px 0 calc(4px + env(safe-area-inset-bottom));
    background: #fff;
  }

  #tf-mh-holiday-settings > .tf-mh-actions > button {
    width: 100% !important;
    min-width: 0;
    margin: 0;
  }
}

/* component 17: requested-repairs-v7.14.26.css */
/*
 * TradeFlow v7.14.19 R11 final approved changes.
 * Additive presentation for the shared Xero/CSV preview and reinforced controls.
 */

.tf71426-overlay {
  position: fixed;
  z-index: 10050;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(12, 25, 20, .66);
}

.tf71426-dialog {
  position: relative;
  box-sizing: border-box;
  width: min(1180px, 100%);
  max-height: calc(100vh - 36px);
  overflow: auto;
  padding: 24px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .35);
}

.tf71426-close {
  position: sticky;
  z-index: 3;
  top: 0;
  float: right;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: #edf4f0;
  color: #17231e;
  font: 700 1.6rem/1 system-ui;
  cursor: pointer;
}

.tf71426-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.tf71426-grid label,
.tf71426-jobs > label {
  display: grid;
  gap: 6px;
  font-weight: 700;
}

.tf71426-grid input,
.tf71426-grid select {
  box-sizing: border-box;
  width: 100%;
}

.tf71426-grid input[readonly] {
  background: #f3f7f5;
}

.tf71426-jobs {
  display: grid;
  gap: 9px;
  margin: 18px 0;
  padding: 14px;
  border: 1px solid #c8d7cf;
  border-radius: 12px;
}

.tf71426-jobs > label {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  padding: 9px;
  border-radius: 9px;
  background: #f7faf8;
}

.tf71426-jobs small {
  display: block;
  margin-top: 3px;
  color: #66717f;
  font-weight: 500;
}

.tf71426-actions,
.tf71426-preview-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.tf71426-preview-summary {
  margin: 18px 0 10px;
  padding: 12px;
  border-radius: 10px;
  background: #e9f7ef;
}

.tf71426-preview-summary span {
  padding-left: 10px;
  border-left: 1px solid #9bc7ad;
}

.tf71426-allocation,
.tf71426-job-preview {
  margin: 12px 0;
}

.tf71426-job-preview > summary {
  padding: 12px;
  cursor: pointer;
  background: #eef5ff;
}

.tf71426-confirm {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 18px 0;
  padding: 14px;
  border: 2px solid #126b4f;
  border-radius: 10px;
  background: #effaf5;
  font-weight: 800;
}

[data-tf71426-floating-deleted-actions="true"] {
  position: fixed !important;
  visibility: visible !important;
}

.tf713-group [data-tf71426-select-job-materials] {
  float: right;
  margin: -5px 0 -5px 12px;
}

.tf71426-material-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 7px;
}

@media (max-width: 720px) {
  .tf71426-overlay {
    align-items: end;
    padding: 0;
  }

  .tf71426-dialog {
    width: 100%;
    max-height: 96vh;
    padding: 18px 12px calc(18px + env(safe-area-inset-bottom));
    border-radius: 16px 16px 0 0;
  }

  .tf71426-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .tf71426-actions .btn {
    flex: 1 1 100%;
  }

  .tf71426-preview-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .tf71426-preview-summary span {
    padding: 0;
    border: 0;
  }

  .tf713-group [data-tf71426-select-job-materials] {
    float: none;
    width: 100%;
    margin: 8px 0 0;
  }

  .tf71426-material-actions .btn {
    flex: 1 1 auto;
  }
}

/* component 18: requested-repairs-v7.14.27.css */
/*
 * TradeFlow v7.14.19 R12 final requested changes.
 * Xero phone-layout containment and invoice-presentation additions.
 */

.tf714-commercial-card,
.tf714-commercial-card *,
.tf714-commercial-card .tf713-section-head > div,
.tf714-commercial-card .grid > *,
#tf714-xero-connect > *,
#tf714-invoice-defaults > * {
  min-width: 0;
}

.tf714-commercial-card {
  box-sizing: border-box;
  max-width: 100%;
  overflow: hidden;
}

.tf714-commercial-card .card.stat b,
.tf714-commercial-card .muted,
.tf714-commercial-card .notice,
.tf714-commercial-card small,
.tf714-commercial-card label,
.tf714-commercial-card code {
  overflow-wrap: anywhere;
  word-break: break-word;
}

#tf714-xero-connect code {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  white-space: normal;
}

.tf714-commercial-card input,
.tf714-commercial-card select,
.tf714-commercial-card textarea,
.tf714-commercial-card button {
  box-sizing: border-box;
  max-width: 100%;
}

.tf714-commercial-card .btn {
  height: auto;
  min-height: 42px;
  white-space: normal;
}

.tf714-selected-choice {
  display: block;
  margin-top: 4px;
  font-weight: 500;
}

.tf714-description-only {
  background: #f6f8f7;
  color: #435149;
}

.tf714-description-only .pill {
  margin-left: 6px;
  white-space: nowrap;
}

.tf71426-check {
  display: flex !important;
  grid-column: 1 / -1;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: flex-start;
  gap: 9px;
  padding: 12px;
  border: 1px solid #bdd3c7;
  border-radius: 10px;
  background: #f2f8f5;
}

.tf71426-check input {
  width: auto;
  margin-top: 3px;
}

.tf71426-combined-summary {
  margin: 10px 0;
}

@media (max-width: 720px) {
  .tf714-commercial-card {
    padding-right: 12px;
    padding-left: 12px;
  }

  .tf714-commercial-card .grid.cards3,
  .tf714-commercial-card .tf713-formgrid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .tf714-commercial-card .span2 {
    grid-column: 1 / -1 !important;
  }

  .tf714-commercial-card .tf713-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .tf714-commercial-card .tf713-actions .btn {
    width: 100%;
  }

  .tf714-commercial-card .tf713-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .tf714-commercial-card .tf713-section-head .pill {
    justify-self: start;
  }

  .tf71426-check {
    grid-column: 1;
  }
}

/* component 19: requested-repairs-v7.14.28.css */
/* TradeFlow v7.14.19 R16 — final mobile Xero invoice-window repair. */

.tf716-xero-modal {
  position: relative;
}

.tf716-contact-search small,
.tf716-native-contact small {
  display: block;
  margin-top: 6px;
  line-height: 1.35;
}

.tf716-contact-results {
  grid-column: 1 / -1;
  display: grid;
  gap: 7px;
  max-height: 320px;
  overflow: auto;
  padding: 8px;
  border: 1px solid #b9d1c5;
  border-radius: 10px;
  background: #fff;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.tf716-contact-results[hidden] {
  display: none !important;
}

.tf716-contact-result {
  width: 100%;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #d3e0da;
  border-radius: 9px;
  background: #fff;
  color: #17231e;
  text-align: left;
  white-space: normal;
}

.tf716-contact-result:hover,
.tf716-contact-result:focus-visible,
.tf716-contact-result[aria-selected="true"] {
  border-color: #126b4f;
  outline: none;
  background: #eaf6f0;
}

.tf716-contact-result b,
.tf716-contact-result small {
  display: block;
  overflow-wrap: anywhere;
}

.tf716-contact-result small {
  margin-top: 3px;
  color: #5f6d66;
  font-weight: 500;
}

.tf716-contact-empty,
.tf716-contact-more {
  margin: 0;
  padding: 8px;
  overflow-wrap: anywhere;
}

.tf716-selected-contact {
  grid-column: 1 / -1;
  display: grid;
  gap: 3px;
  padding: 11px 12px;
  border-left: 4px solid #126b4f;
  border-radius: 8px;
  background: #eaf6f0;
}

.tf716-selected-contact[hidden] {
  display: none !important;
}

.tf716-selected-contact span,
.tf716-selected-contact small {
  overflow-wrap: anywhere;
}

.tf716-sheet-hint {
  margin: 12px 0 8px;
  padding: 9px 11px;
  border-radius: 8px;
  background: #eef6f2;
  color: #294c3d;
}

.tf715-sheet-wrap {
  width: 100%;
  max-width: 100%;
  overflow: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.tf715-sheet-preview,
.tf715-csv-sheet {
  table-layout: auto;
}

/* The unfinished-invoice question is a compact confirmation, not another
   full-height phone form. */
.tf713-nested-confirm {
  position: fixed;
  inset: 0;
  z-index: 100450;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  border-radius: 0;
  background: rgba(15, 23, 42, .72);
}

.tf713-nested-confirm > .tf713-modal {
  width: min(520px, 100%) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 36px) !important;
  margin: 0 !important;
  padding: 18px !important;
  overflow: auto !important;
  border-radius: 15px !important;
}

.tf713-nested-confirm > .tf713-modal > header {
  position: static !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
}

@media (max-width: 900px) {
  /* Belt-and-braces protection: Xero previews remain tables even if an older
     cached mobile enhancer applied its generic card class. */
  .tf715-sheet-wrap.tfm-card-wrap {
    overflow: auto !important;
  }

  table.tf715-sheet-preview.tfm-card-table,
  table.tf715-csv-sheet.tfm-card-table {
    display: table !important;
    width: auto !important;
  }

  table.tf715-sheet-preview.tfm-card-table > thead,
  table.tf715-csv-sheet.tfm-card-table > thead {
    display: table-header-group !important;
  }

  table.tf715-sheet-preview.tfm-card-table > tbody,
  table.tf715-csv-sheet.tfm-card-table > tbody {
    display: table-row-group !important;
  }

  table.tf715-sheet-preview.tfm-card-table > tfoot,
  table.tf715-csv-sheet.tfm-card-table > tfoot {
    display: table-footer-group !important;
  }

  table.tf715-sheet-preview.tfm-card-table > thead > tr,
  table.tf715-sheet-preview.tfm-card-table > tbody > tr,
  table.tf715-sheet-preview.tfm-card-table > tfoot > tr,
  table.tf715-csv-sheet.tfm-card-table > thead > tr,
  table.tf715-csv-sheet.tfm-card-table > tbody > tr,
  table.tf715-csv-sheet.tfm-card-table > tfoot > tr {
    display: table-row !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent;
    box-shadow: none !important;
  }

  table.tf715-sheet-preview.tfm-card-table th,
  table.tf715-sheet-preview.tfm-card-table td,
  table.tf715-csv-sheet.tfm-card-table th,
  table.tf715-csv-sheet.tfm-card-table td {
    display: table-cell !important;
    width: auto !important;
  }

  table.tf715-sheet-preview.tfm-card-table td::before,
  table.tf715-csv-sheet.tfm-card-table td::before {
    content: none !important;
  }
}

@media (max-width: 640px) {
  .tf716-xero-modal > header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start !important;
    gap: 8px !important;
  }

  .tf716-xero-modal > header h2 {
    font-size: 1.4rem;
    line-height: 1.15;
  }

  .tf716-xero-modal > header p {
    font-size: .92rem;
    line-height: 1.35;
  }

  .tf716-xero-modal > header > .btn {
    min-width: 74px;
    padding-inline: 12px;
  }

  .tf715-contact-picker {
    padding: 12px;
  }

  .tf716-native-contact {
    display: none !important;
  }

  .tf716-contact-results {
    grid-column: 1;
    max-height: min(42dvh, 330px);
    padding: 6px;
  }

  .tf716-selected-contact {
    grid-column: 1;
  }

  .tf715-contact-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch !important;
  }

  .tf715-contact-actions .tf713-check,
  .tf715-contact-actions [data-refresh-contacts] {
    grid-column: 1 / -1;
  }

  .tf715-contact-actions .tf713-check {
    display: flex !important;
    align-items: center !important;
    gap: 9px;
  }

  .tf715-contact-actions .tf713-check input {
    flex: 0 0 auto;
    width: 22px !important;
    height: 22px !important;
  }

  .tf715-contact-actions .btn {
    width: 100%;
    min-width: 0;
    white-space: normal;
  }

  /* The general mobile helper makes submit bars sticky. That is useful for
     short forms, but it covered this long Xero invoice form. Keep these
     decisions at the true end of the form so no fields sit underneath them. */
  #tf714-xero-invoice > .tfm-form-actions {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    margin: 18px 0 0 !important;
    padding: 13px 0 0 !important;
    border-top: 1px solid #dce5df;
    background: #fff !important;
    box-shadow: none !important;
  }

  .tf715-sheet-preview {
    min-width: 1180px;
  }

  .tf715-csv-sheet {
    min-width: 1050px;
  }

  .tf715-sheet-preview th:first-child,
  .tf715-sheet-preview td:first-child,
  .tf715-csv-sheet th:first-child,
  .tf715-csv-sheet td:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
    box-shadow: 1px 0 0 #d8e2dc;
  }

  .tf715-sheet-preview thead th:first-child,
  .tf715-csv-sheet thead th:first-child {
    z-index: 3;
    background: #eaf4ef;
  }

  .tf713-nested-confirm {
    padding: 12px;
  }

  .tf713-nested-confirm > .tf713-modal {
    max-height: calc(100dvh - 24px) !important;
    padding: 16px 14px !important;
  }

  .tf713-nested-confirm .tf713-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .tf713-nested-confirm .tf713-actions .btn {
    width: 100%;
  }
}

@media (max-width: 380px) {
  .tf715-contact-actions {
    grid-template-columns: 1fr;
  }

  .tf715-contact-actions .tf713-check,
  .tf715-contact-actions [data-refresh-contacts] {
    grid-column: 1;
  }
}

/* component 20: requested-repairs-v7.14.29.css */
/* TradeFlow v7.14.19 R17 — Xero reference and one-screen-width phone preview. */

.tf717-mobile-preview {
  display: none;
}

.tf717-invoice-summary {
  overflow-wrap: anywhere;
}

.tf716-contact-results {
  scrollbar-gutter: stable;
}

.tf716-contact-result {
  content-visibility: auto;
  contain-intrinsic-size: 64px;
}

@media (max-width: 640px) {
  /* The direct-Xero preview becomes a compact phone invoice sheet. CSV keeps
     its exact spreadsheet layout because this request applies only here. */
  .tf717-desktop-preview {
    display: none !important;
  }

  .tf717-mobile-preview {
    display: grid;
    min-width: 0;
    gap: 10px;
    margin: 12px 0;
  }

  .tf717-mobile-preview-heading {
    margin: 0;
    padding: 10px 12px;
    border-radius: 9px;
    background: #eef6f2;
    color: #294c3d;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }

  .tf717-mobile-line {
    min-width: 0;
    padding: 12px;
    border: 1px solid #cbded5;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(23, 35, 30, .06);
    overflow: hidden;
  }

  .tf717-mobile-line > header {
    position: static !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start !important;
    gap: 5px 9px !important;
    margin: 0 0 10px !important;
    padding: 0 0 9px !important;
    border-bottom: 1px solid #e0e9e4 !important;
    background: transparent !important;
  }

  .tf717-mobile-line > header strong {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .tf717-mobile-line > header .pill {
    grid-column: 2;
    justify-self: start;
  }

  .tf717-line-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    padding: 4px 7px;
    border-radius: 999px;
    background: #eaf4ef;
    color: #26483a;
    font-size: .82rem;
    font-weight: 850;
    white-space: nowrap;
  }

  .tf717-line-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    margin: 0;
  }

  .tf717-line-fields > div {
    min-width: 0;
    padding: 8px 9px;
    border-radius: 8px;
    background: #f5f8f6;
  }

  .tf717-line-fields dt {
    margin: 0 0 3px;
    color: #607067;
    font-size: .78rem;
    font-weight: 750;
  }

  .tf717-line-fields dd {
    margin: 0;
    color: #17231e;
    font-weight: 800;
    overflow-wrap: anywhere;
  }

  .tf717-line-fields .tf717-line-total {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    background: #eaf6f0;
  }

  .tf717-line-sources {
    min-width: 0;
    margin-top: 10px;
    padding-top: 9px;
    border-top: 1px solid #e0e9e4;
    overflow-wrap: anywhere;
  }

  .tf717-line-sources > b {
    display: block;
    margin-bottom: 4px;
    color: #607067;
    font-size: .78rem;
  }

  .tf717-mobile-preview .tf715-source-details {
    min-width: 0;
    max-width: none;
  }

  .tf717-mobile-preview .tf715-source-details summary,
  .tf717-mobile-preview .tf715-source-details li {
    overflow-wrap: anywhere;
  }

  .tf717-description-only {
    border-left: 4px solid #7b8d84;
    background: #fafcfb;
  }

  .tf717-description-only > p {
    margin: 0;
    overflow-wrap: anywhere;
  }

  .tf717-mobile-total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border: 2px solid #126b4f;
    border-radius: 11px;
    background: #eaf6f0;
    color: #17382b;
  }

  .tf717-mobile-total b {
    font-size: 1.12rem;
  }

  #tf714-preview,
  #tf714-preview > *,
  .tf717-mobile-preview,
  .tf717-mobile-line {
    max-width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 360px) {
  .tf717-line-fields {
    grid-template-columns: 1fr;
  }

  .tf717-line-fields .tf717-line-total {
    grid-column: 1;
  }
}

/* component 21: requested-repairs-v7.14.30.css */
/* TradeFlow v7.14.19 R18 — compact direct-Xero phone preview and source details. */

.tf718-mobile-preview {
  display: none;
}

@media (max-width: 640px), (max-height: 500px) and (max-width: 950px) {
  /* This presentation is limited to the direct-Xero preview. The CSV preview,
     other TradeFlow tables and the desktop invoice sheet keep their layouts. */
  .tf717-desktop-preview {
    display: none !important;
  }

  #tf714-preview,
  #tf714-preview > *,
  .tf718-mobile-preview {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .tf718-mobile-preview {
    display: block;
    margin: 12px 0;
    overflow: hidden;
  }

  .tf718-mobile-preview-heading {
    margin: 0 0 8px;
    padding: 9px 10px;
    border-radius: 9px;
    background: #eef6f2;
    color: #294c3d;
    font-size: .82rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  #tf714-preview .tf718-mobile-table {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #cbded5;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
  }

  .tf718-col-row {
    width: 6%;
  }

  .tf718-col-description {
    width: 40%;
  }

  .tf718-col-quantity {
    width: 9%;
  }

  .tf718-col-unit {
    width: 14%;
  }

  .tf718-col-account {
    width: 11%;
  }

  .tf718-col-total {
    width: 20%;
  }

  #tf714-preview .tf718-mobile-table th,
  #tf714-preview .tf718-mobile-table td {
    min-width: 0 !important;
    max-width: none !important;
    padding: 6px 3px !important;
    border: 0;
    border-right: 1px solid #dbe7e1;
    border-bottom: 1px solid #dbe7e1;
    color: #17231e;
    font-size: clamp(9.5px, 2.65vw, 12px) !important;
    line-height: 1.25;
    text-align: left;
    vertical-align: top;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  #tf714-preview .tf718-mobile-table th:last-child,
  #tf714-preview .tf718-mobile-table td:last-child {
    border-right: 0;
  }

  #tf714-preview .tf718-mobile-table thead th {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    background: #e7f1ec;
    color: #4e6158;
    font-size: clamp(9px, 2.5vw, 11px) !important;
    font-weight: 850;
    letter-spacing: .025em;
    text-transform: uppercase;
  }

  #tf714-preview .tf718-mobile-table tbody > .tf718-line > th {
    background: #f4f8f6;
    font-weight: 900;
    text-align: center;
  }

  #tf714-preview .tf718-mobile-table .tf718-number {
    font-variant-numeric: tabular-nums;
    text-align: right;
  }

  #tf714-preview .tf718-mobile-table .tf718-description {
    font-weight: 750;
  }

  .tf718-description small {
    display: block;
    margin-top: 3px;
    color: #66766e;
    font-size: .9em;
    font-weight: 650;
    line-height: 1.2;
  }

  #tf714-preview .tf718-mobile-table .tf718-description-only > * {
    background: #fafcfb;
    color: #56665e;
  }

  #tf714-preview .tf718-mobile-table .tf718-source-row > td {
    padding: 0 !important;
    border-right: 0;
    background: #f8fbf9;
  }

  .tf718-source-details {
    width: 100%;
    min-width: 0;
  }

  .tf718-source-details > summary {
    padding: 8px 9px;
    color: #205841;
    font-size: clamp(10px, 2.8vw, 12px);
    font-weight: 850;
    line-height: 1.3;
    cursor: pointer;
    overflow-wrap: anywhere;
  }

  .tf718-source-details[open] > summary {
    border-bottom: 1px solid #dbe7e1;
    background: #eef6f2;
  }

  .tf718-source-items {
    display: grid;
    gap: 7px;
    padding: 7px;
  }

  .tf718-source-item {
    min-width: 0;
    margin: 0;
    padding: 7px;
    border: 1px solid #d7e4de;
    border-left: 3px solid #2f765b;
    border-radius: 7px;
    background: #fff;
  }

  .tf718-source-material {
    border-left-color: #7b6740;
  }

  .tf718-source-item h4 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 6px;
    color: #24372e;
    font-size: clamp(10px, 2.8vw, 12px);
  }

  .tf718-source-item h4 b {
    padding: 2px 5px;
    border-radius: 999px;
    background: #eaf4ef;
    color: #245640;
    font-size: .9em;
  }

  .tf718-source-material h4 b {
    background: #f4f0e7;
    color: #6a562e;
  }

  .tf718-source-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin: 0;
  }

  .tf718-source-values > div {
    min-width: 0;
  }

  .tf718-source-values .tf718-source-work {
    grid-column: span 2;
  }

  .tf718-source-values dt {
    margin: 0 0 1px;
    color: #6a7971;
    font-size: clamp(8.5px, 2.3vw, 10px);
    font-weight: 800;
    line-height: 1.2;
  }

  .tf718-source-values dd {
    margin: 0;
    color: #1d2c25;
    font-size: clamp(9.5px, 2.6vw, 11.5px);
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  .tf718-source-subtotal {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 9px;
    border-top: 1px solid #dbe7e1;
    color: #294c3d;
    font-size: clamp(10px, 2.8vw, 12px);
  }

  #tf714-preview .tf718-mobile-table tfoot th {
    border-bottom: 0;
    background: #eaf6f0;
    color: #17382b;
    font-weight: 900;
  }

  #tf714-preview .tf718-mobile-table tfoot th:first-child {
    text-align: right;
  }

  #tf714-preview .tf718-mobile-table tfoot th:last-child {
    font-variant-numeric: tabular-nums;
    text-align: right;
  }
}

@media (max-width: 360px) {
  #tf714-preview .tf718-mobile-table th,
  #tf714-preview .tf718-mobile-table td {
    padding-right: 2px !important;
    padding-left: 2px !important;
  }

  .tf718-source-values {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tf718-source-values .tf718-source-work {
    grid-column: 1 / -1;
  }
}

/* component 22: requested-repairs-v7.14.31.css */
/* TradeFlow v7.14.19 R19 — live iPhone Xero-preview compatibility repair. */

@media (max-width: 640px), (max-height: 500px) and (max-width: 950px) {
  /*
   * Preserve the compact invoice as a real table. The marker prevents the
   * generic mobile enhancer from converting it to cards; these explicit
   * display resets also recover safely if an older cached enhancer already
   * attached its card classes.
   */
  #tf714-preview table.tf718-mobile-table,
  #tf714-preview table.tf718-mobile-table.tfm-card-table {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }

  #tf714-preview table.tf718-mobile-table > colgroup {
    display: table-column-group !important;
  }

  #tf714-preview table.tf718-mobile-table > colgroup > col {
    display: table-column !important;
  }

  #tf714-preview table.tf718-mobile-table > thead {
    display: table-header-group !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
  }

  #tf714-preview table.tf718-mobile-table > tbody {
    display: table-row-group !important;
  }

  #tf714-preview table.tf718-mobile-table > tfoot {
    display: table-footer-group !important;
  }

  #tf714-preview table.tf718-mobile-table > thead > tr,
  #tf714-preview table.tf718-mobile-table > tbody > tr,
  #tf714-preview table.tf718-mobile-table > tfoot > tr {
    display: table-row !important;
    grid-template-columns: none !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  #tf714-preview table.tf718-mobile-table th,
  #tf714-preview table.tf718-mobile-table td {
    display: table-cell !important;
    grid-template-columns: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    position: static !important;
  }

  #tf714-preview table.tf718-mobile-table th::before,
  #tf714-preview table.tf718-mobile-table td::before {
    content: none !important;
    display: none !important;
  }

  #tf714-preview .tf718-col-row {
    width: 6% !important;
  }

  #tf714-preview .tf718-col-description {
    width: 37% !important;
  }

  #tf714-preview .tf718-col-quantity {
    width: 8% !important;
  }

  #tf714-preview .tf718-col-unit {
    width: 14% !important;
  }

  #tf714-preview .tf718-col-account {
    width: 10% !important;
  }

  #tf714-preview .tf718-col-total {
    width: 25% !important;
  }

  #tf714-preview table.tf718-mobile-table .tf718-number,
  #tf714-preview table.tf718-mobile-table tbody > .tf718-line > td:nth-child(n + 3) {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    font-size: clamp(8px, 2.35vw, 11px) !important;
  }

  #tf714-preview table.tf718-mobile-table .tf718-source-row > td {
    width: auto !important;
  }
}

/* component 23: requested-repairs-v7.14.32.css */
/* TradeFlow v7.14.19 R20: completion/archive, Xero sync and Add Time safeguards. */

.tf720-completion-options {
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid #cbdcd5;
  border-radius: 14px;
  background: #f6faf8;
}

.tf720-completion-options legend {
  padding: 0 6px;
  font-weight: 800;
  color: #173d31;
}

.tf720-completion-options .tf713-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 7px 0;
}

.tf720-completion-options input[type="checkbox"] {
  flex: 0 0 auto;
  margin-top: 2px;
}

.tf720-completion-options input:disabled + span,
.tf720-completion-options label:has(input:disabled) {
  opacity: .58;
}

.tf720-sync-pending {
  margin: 12px 0;
  border-color: #c58a00;
  background: #fff8df;
}

.tf720-sync-pending .btn {
  margin-top: 10px;
}

.tf720-recovered-time,
.tf720-time-date-warning {
  grid-column: 1 / -1;
  margin: 0 0 12px;
  border: 1px solid #d09a20;
  background: #fff8df;
  color: #3d2e09;
}

.tf720-recovered-time {
  border-color: #2e8568;
  background: #edf8f4;
  color: #153d31;
}

.tf720-recovered-time .btn {
  margin-top: 10px;
}

.tf720-time-decision-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(9, 24, 19, .68);
}

.tf720-time-decision {
  width: min(100%, 520px);
  max-height: min(86vh, 680px);
  overflow: auto;
  padding: 22px;
  border: 1px solid #cbdcd5;
  border-radius: 18px;
  background: #fff;
  color: #16231f;
  box-shadow: 0 20px 70px rgba(0, 0, 0, .28);
}

.tf720-time-decision h3 {
  margin: 0 0 10px;
}

.tf720-time-decision p {
  margin: 0 0 18px;
  line-height: 1.45;
}

.tf720-time-decision > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

@media (max-width: 520px) {
  .tf720-completion-options {
    padding: 12px;
  }

  .tf720-time-decision {
    padding: 18px;
  }

  .tf720-time-decision > div {
    grid-template-columns: 1fr;
  }
}

/* component 24: requested-repairs-v7.14.33.css */
.tf722-pending-publications {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid #d6b86c;
  border-radius: 16px;
  background: #fff9e9;
  color: #493609;
}

.tf722-pending-publications h3,
.tf722-pending-publications p {
  margin-top: 0;
}

.tf722-pending-head,
.tf722-pending-item,
.tf722-candidate {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.tf722-pending-list {
  display: grid;
  gap: .75rem;
  margin: 1rem 0;
}

.tf722-pending-item {
  position: relative;
  flex-wrap: wrap;
  padding: .9rem;
  border: 1px solid #e2cf9c;
  border-radius: 12px;
  background: #fff;
}

.tf722-pending-item > div:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.tf722-pending-error {
  margin-top: .45rem;
  color: #8a2d20;
  font-size: .9rem;
}

.tf722-pending-results {
  flex: 0 0 100%;
  display: grid;
  gap: .6rem;
}

.tf722-candidate {
  padding: .75rem;
  border: 1px solid #d8dfdc;
  border-radius: 10px;
  background: #f7faf9;
  overflow-wrap: anywhere;
}

.tf722-candidate.exact {
  border-color: #67a78e;
  background: #eef8f4;
}

.tf722-candidate.mismatch {
  border-color: #d9c8a2;
  background: #fffaf0;
}

@media (max-width: 700px) {
  .tf722-pending-publications {
    padding: .8rem;
  }

  .tf722-pending-head,
  .tf722-pending-item,
  .tf722-candidate {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .tf722-pending-publications .btn {
    width: 100%;
    min-height: 46px;
    white-space: normal;
  }
}

/* component 25: requested-repairs-v7.14.34.css */
.tf725-time-customer-field select,
#time-form #time-job-select {
  width: 100%;
  min-width: 0;
}

.tf725-time-customer-field small {
  display: block;
  margin-top: .45rem;
  line-height: 1.35;
}

.tf725-time-customer-field select[aria-invalid="true"],
#time-form #time-job-select[aria-invalid="true"] {
  border-color: #b42318;
  box-shadow: 0 0 0 2px rgba(180, 35, 24, .14);
}

#time-form #time-job-select:disabled {
  cursor: not-allowed;
  color: #66736f;
  background: #f1f5f3;
  opacity: 1;
}

@media (max-width: 720px) {
  #time-form .tf725-time-customer-field,
  #time-form #time-job-select,
  #time-form #time-job-select + * {
    font-size: 16px;
  }

  #time-form .tf725-time-customer-field {
    grid-column: 1 / -1;
  }

  #time-form .tf725-time-customer-field + .field {
    grid-column: 1 / -1;
  }
}

/* component 26: requested-repairs-v7.14.35.css */
.tf71435-job-browser {
  margin: 0 0 16px;
  border: 1px solid #c8ddd4;
}

.tf71435-job-controls {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr);
  gap: 12px;
}

.tf71435-job-controls label {
  display: grid;
  gap: 6px;
  min-width: 0;
  font-weight: 700;
}

.tf71435-job-controls input,
.tf71435-job-controls select {
  width: 100%;
  min-width: 0;
}

.tf71435-job-summary {
  margin-top: 12px;
  color: #52635b;
}

.tf71435-job-pages {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 12px;
}

.tf71435-job-grid > .card[hidden] {
  display: none !important;
}

.tf71435-status-active {
  background: #dff3e9 !important;
  color: #0b6548 !important;
}

.tf71435-status-complete {
  background: #fff1cc !important;
  color: #76530b !important;
}

.tf71435-status-archived {
  background: #e8ecea !important;
  color: #445149 !important;
}

.tf71435-inactive-job {
  margin-top: 12px;
  padding: 10px 12px;
  border-left: 4px solid #78867f;
  border-radius: 8px;
  background: #f1f4f2;
  color: #46534c;
  font-weight: 700;
}

.tf71435-billable-control {
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.tf71435-billable-control input[disabled] {
  opacity: 1;
  accent-color: #126b4f;
}

.tf71435-billable-help {
  display: block;
  margin: -4px 0 10px;
  line-height: 1.35;
}

.tf71435-billable-warning,
.tf-r26-nonbillable {
  display: block;
  margin-top: 6px;
  padding: 5px 8px;
  border: 1px solid #e7bb55;
  border-radius: 7px;
  background: #fff4d9;
  color: #76530b;
  font-weight: 800;
}

.tf-r26-nonbillable-row {
  background: #fffaf0;
}

@media (max-width: 720px) {
  .tf71435-job-controls {
    grid-template-columns: minmax(0, 1fr);
  }

  .tf71435-job-pages {
    justify-content: space-between;
  }

  .tf71435-job-pages .btn {
    min-width: 94px;
  }
}

/* component 27: requested-repairs-v7.14.36.css */
.tf71436-billing-panel,
.tf71436-billing-readonly,
.tf71436-posting-billing {
  min-width: 0;
  margin: 8px 0 14px;
  padding: 14px;
  border: 1px solid #b9d6ca;
  border-radius: 12px;
  background: #f5fbf8;
}

.tf71436-billing-panel > legend,
.tf71436-existing-scope > legend {
  padding: 0 7px;
  color: #164e3d;
  font-weight: 900;
}

.tf71436-billing-method {
  display: grid;
  gap: 6px;
  font-weight: 800;
}

.tf71436-billing-method select {
  width: 100%;
  min-width: 0;
}

.tf71436-charge-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 12px 0;
}

.tf71436-charge-options[hidden] {
  display: none !important;
}

.tf71436-charge-options label,
.tf71436-existing-scope label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px;
  border: 1px solid #d1e1da;
  border-radius: 9px;
  background: #fff;
  font-weight: 700;
}

.tf71436-charge-options input,
.tf71436-existing-scope input {
  flex: 0 0 auto;
  margin-top: 3px;
}

.tf71436-billing-summary {
  padding: 11px;
  border-radius: 9px;
  background: #e8f5ef;
}

.tf71436-billing-summary p,
.tf71436-billing-readonly p,
.tf71436-posting-billing p {
  margin: 8px 0 0;
  line-height: 1.4;
}

.tf71436-existing-scope {
  margin-top: 14px;
  padding: 12px;
  border: 2px solid #e3bd60;
  border-radius: 10px;
  background: #fffaf0;
}

.tf71436-existing-scope label + label {
  margin-top: 8px;
}

.tf71436-billing-badge,
.tf71436-source-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin: 4px 5px 4px 0;
  padding: 5px 8px;
  border-radius: 999px;
  white-space: normal;
  font-size: .79rem;
  font-weight: 900;
  line-height: 1.15;
}

.tf71436-billing-badge.tm,
.tf71436-source-badge.billable {
  background: #dff3e9;
  color: #096044;
}

.tf71436-billing-badge.quoted {
  background: #e5e7fb;
  color: #393e8d;
}

.tf71436-billing-badge.no-charge,
.tf71436-billing-badge.internal,
.tf71436-source-badge.internal {
  background: #fff0c9;
  color: #72500b;
}

.tf71436-card-billing {
  display: grid;
  gap: 3px;
  margin: 8px 0;
}

.tf71436-card-billing > span:last-child {
  color: #58675f;
  font-size: .86rem;
  line-height: 1.3;
}

.tf71436-posting-billing.internal {
  border-color: #e5c36c;
  background: #fffaf0;
}

.tf71436-source-badge {
  display: flex;
  margin-top: 6px;
}

.tf71436-invoice-notice {
  margin-bottom: 16px;
  border-color: #b9d6ca;
  background: #f5fbf8;
}

.tf71436-toast {
  z-index: 10050;
}

@media (max-width: 720px) {
  .tf71436-charge-options {
    grid-template-columns: minmax(0, 1fr);
  }

  .tf71436-billing-panel,
  .tf71436-billing-readonly,
  .tf71436-posting-billing {
    padding: 12px;
  }

  .tf71436-existing-scope {
    padding: 10px;
  }

  .tf71436-billing-badge,
  .tf71436-source-badge {
    font-size: .74rem;
  }
}

/* component 28: requested-repairs-v7.14.37.css */
.tf728-time-search-panel {
  margin: 14px 0;
  padding: 16px;
  border: 1px solid #c9ded6;
  border-radius: 16px;
  background: #f7fbf9;
  box-shadow: 0 5px 18px rgb(18 107 79 / 7%);
}

.tf728-time-search-main > label {
  display: block;
  margin-bottom: 7px;
  color: #16382e;
  font-weight: 800;
}

.tf728-time-search-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  gap: 8px;
}

.tf728-time-search-row input {
  min-width: 0;
  width: 100%;
}

.tf728-time-search-main small {
  display: block;
  margin-top: 7px;
  color: #5f716b;
}

.tf728-time-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.tf728-time-filter-grid label {
  display: grid;
  gap: 5px;
  color: #40534d;
  font-size: .86rem;
  font-weight: 750;
}

.tf728-time-result-count {
  margin-top: 12px;
  color: #126b4f;
  font-weight: 800;
}

.tf71436-card-billing {
  border-left: 5px solid #126b4f;
}

.tf71436-card-billing .tf71436-billing-badge {
  font-weight: 850;
}

.tf728-password-help {
  display: block;
  margin-top: 6px;
}

@media (max-width: 720px) {
  .tf728-time-search-panel {
    padding: 12px;
    border-radius: 13px;
  }

  .tf728-time-search-row {
    grid-template-columns: 1fr 1fr;
  }

  .tf728-time-search-row input {
    grid-column: 1 / -1;
  }

  .tf728-time-filter-grid {
    grid-template-columns: 1fr 1fr;
  }

  [data-tf713-approval-table="time"] thead {
    display: none;
  }

  [data-tf713-approval-table="time"],
  [data-tf713-approval-table="time"] tbody,
  [data-tf713-approval-table="time"] tr,
  [data-tf713-approval-table="time"] td {
    display: block;
    width: 100%;
  }

  [data-tf713-approval-table="time"] tr:not(.tf713-group) {
    margin: 9px 0;
    padding: 10px 12px;
    border: 1px solid #d5e2dd;
    border-radius: 12px;
    background: #fff;
  }

  [data-tf713-approval-table="time"] tr:not(.tf713-group) td {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 8px;
    padding: 5px 0;
    border: 0;
    overflow-wrap: anywhere;
  }

  [data-tf713-approval-table="time"] tr:not(.tf713-group) td::before {
    content: attr(data-label);
    color: #63756f;
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
  }

  [data-tf713-approval-table="time"] .tf713-group th {
    display: block;
    width: 100%;
    padding: 10px;
  }

  .tf-mh-settings-members table {
    min-width: 980px;
  }
}

@media (max-width: 430px) {
  .tf728-time-filter-grid {
    grid-template-columns: 1fr;
  }
}

/* component 29: requested-repairs-v7.14.38.css */
.tf-r29-time-page {
  min-width: 0;
}

.tf-r29-time-page > .pagehead {
  margin-bottom: 12px;
}

.tf-r29-time-toolbar {
  min-width: 0;
  align-items: center;
}

.tf-r29-time-toolbar .btn,
.tf-r29-time-toolbar select {
  min-height: 44px;
}

.tf-r29-time-toolbar select {
  min-width: 245px;
  max-width: 100%;
}

.tf-r29-time-page > .tf728-time-search-panel {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin: 0 0 18px;
  overflow: hidden;
}

.tf-r29-time-page .tf728-time-search-main,
.tf-r29-time-page .tf728-time-search-row,
.tf-r29-time-page .tf728-time-filter-grid,
.tf-r29-time-page .tf728-time-custom-dates {
  min-width: 0;
}

.tf-r29-time-page .tf728-time-search-row {
  grid-template-columns: minmax(0, 1fr) minmax(108px, auto) minmax(92px, auto);
}

.tf-r29-time-page .tf728-time-search-row input,
.tf-r29-time-page .tf728-time-filter-grid select,
.tf-r29-time-page .tf728-time-custom-dates input {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.tf-r29-time-page .tf728-time-filter-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-areas:
    "date customer job"
    "custom custom custom"
    "staff approval billing";
  align-items: end;
}

.tf-r29-filter-date { grid-area: date; }
.tf-r29-filter-customer { grid-area: customer; }
.tf-r29-filter-job { grid-area: job; }
.tf-r29-filter-staff { grid-area: staff; }
.tf-r29-filter-approval { grid-area: approval; }
.tf-r29-filter-billing { grid-area: billing; }

.tf-r29-time-page .tf728-time-filter-grid label,
.tf-r29-time-page .tf728-time-custom-dates label {
  min-width: 0;
}

.tf-r29-time-page .tf728-time-custom-dates {
  grid-area: custom;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #d8e6e0;
}

.tf-r29-time-page .tf728-time-custom-dates[hidden] {
  display: none !important;
}

.tf-r29-time-page .tf728-time-custom-dates label {
  display: grid;
  gap: 5px;
  color: #40534d;
  font-size: .86rem;
  font-weight: 750;
}

.tf-r29-time-page .tf728-time-result-count {
  overflow-wrap: anywhere;
}

.brandmark.tf-r29-brandmark {
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: -.04em;
}

.tf-r29-job-details {
  display: grid;
  gap: 3px;
  width: 100%;
  min-width: 0;
  line-height: 1.3;
}

.tf-r29-job-details span {
  display: block;
  overflow-wrap: anywhere;
}

.tf-r29-job-details b {
  color: #4d6058;
}

#tf713-time-results td:has(.tf71436-source-badge) > .tf-r26-nonbillable {
  display: none;
}

@media (min-width: 901px) {
  .tf-r29-job-details {
    min-width: 190px;
  }

  #tf713-time-results table {
    min-width: 1120px;
    table-layout: auto;
  }

  #tf713-time-results th:nth-last-child(2),
  #tf713-time-results td:nth-last-child(2) {
    width: 190px;
    min-width: 190px;
  }

  #tf713-time-results td:nth-last-child(2) .pill,
  #tf713-time-results td:nth-last-child(2) .tf-r26-nonbillable,
  #tf713-time-results td:nth-last-child(2) .tf71436-source-badge {
    max-width: 176px;
    line-height: 1.2;
  }

  #tf713-time-results .tf-r26-nonbillable,
  #tf713-time-results .tf71436-source-badge {
    display: inline-flex;
    width: fit-content;
    margin: 5px 0 0;
    padding: 4px 7px;
    border-radius: 7px;
    font-size: .72rem;
    white-space: normal;
  }
}

@media (min-width: 721px) and (max-width: 1100px) {
  .tf-r29-time-page .tf728-time-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "date customer"
      "custom custom"
      "job staff"
      "approval billing";
  }
}

@media (max-width: 720px) {
  .tf-r29-time-page > .pagehead {
    display: block;
  }

  .tf-r29-time-page .tf-r29-time-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    margin-top: 12px;
  }

  .tf-r29-time-page .tf-r29-time-toolbar .btn,
  .tf-r29-time-page .tf-r29-time-toolbar select {
    width: 100%;
    min-width: 0;
  }

  .tf-r29-time-page > .tf728-time-search-panel {
    padding: 13px;
  }

  .tf-r29-time-page .tf728-time-search-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tf-r29-time-page .tf728-time-search-row input {
    grid-column: 1 / -1;
  }

  .tf-r29-time-page .tf728-time-search-row .btn {
    width: 100%;
    min-width: 0;
  }

  .tf-r29-time-page .tf728-time-filter-grid,
  .tf-r29-time-page .tf728-time-custom-dates {
    grid-template-columns: minmax(0, 1fr);
  }

  .tf-r29-time-page .tf728-time-filter-grid {
    grid-template-areas:
      "date"
      "custom"
      "customer"
      "job"
      "staff"
      "approval"
      "billing";
  }

  .tf-r29-time-page .tf728-time-search-main small {
    line-height: 1.4;
  }
}

@media (max-width: 380px) {
  .tf-r29-time-page .tf728-time-search-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .tf-r29-time-page .tf728-time-search-row input {
    grid-column: auto;
  }
}

/* component 30: requested-repairs-v7.14.39.css */
.tf71439-decision-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10080;
  display: grid;
  place-items: center;
  padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));
  background: rgba(10, 28, 22, .56);
}

.tf71439-decision {
  width: min(560px, 100%);
  max-height: min(720px, calc(100dvh - 36px));
  overflow: auto;
  border: 1px solid #c7d8d0;
  border-radius: 20px;
  padding: clamp(20px, 5vw, 30px);
  background: #fff;
  color: #14251f;
  box-shadow: 0 24px 70px rgba(6, 29, 21, .28);
}

.tf71439-decision h2 {
  margin: 0 0 14px;
  font-size: clamp(1.55rem, 6vw, 2rem);
}

.tf71439-decision p {
  margin: 10px 0;
  line-height: 1.48;
}

.tf71439-decision-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 22px;
}

.tf71439-decision-actions .btn {
  min-height: 52px;
  white-space: normal;
}

.tf71439-recovered {
  grid-column: 1 / -1;
  margin-bottom: 4px;
}

.tf71439-pull-indicator {
  --tf71439-pull-distance: 0px;
  position: fixed;
  z-index: 10020;
  top: max(8px, env(safe-area-inset-top));
  left: 50%;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  max-width: calc(100vw - 32px);
  padding: 9px 15px;
  border: 1px solid rgba(10, 108, 78, .28);
  border-radius: 999px;
  background: rgba(255, 255, 255, .97);
  color: #155b46;
  font-weight: 750;
  font-size: .92rem;
  box-shadow: 0 7px 26px rgba(8, 52, 39, .18);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, calc(-62px + var(--tf71439-pull-distance)));
  transition: opacity .14s ease, transform .14s ease;
}

.tf71439-pull-indicator[data-state="pulling"],
.tf71439-pull-indicator[data-state="armed"],
.tf71439-pull-indicator[data-state="refreshing"],
.tf71439-pull-indicator[data-state="success"],
.tf71439-pull-indicator[data-state="error"] {
  opacity: 1;
}

.tf71439-pull-indicator[data-state="armed"] .tf71439-pull-icon {
  transform: rotate(180deg);
}

.tf71439-pull-indicator[data-state="refreshing"] .tf71439-pull-icon {
  animation: tf71439-spin .8s linear infinite;
}

.tf71439-pull-indicator[data-state="error"] {
  border-color: #d88f8f;
  color: #9f2424;
}

.tf71439-pull-icon {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  transition: transform .15s ease;
}

.tf71439-update-banner {
  position: fixed;
  z-index: 10030;
  right: 16px;
  bottom: calc(16px + env(safe-area-inset-bottom));
  left: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: min(720px, calc(100vw - 32px));
  margin-inline: auto;
  padding: 14px;
  border: 1px solid #b9d5c9;
  border-radius: 16px;
  background: #f7fffb;
  color: #153d31;
  box-shadow: 0 12px 38px rgba(8, 52, 39, .2);
}

.tf71439-update-banner span {
  flex: 1 1 auto;
  line-height: 1.4;
}

.tf71439-update-banner .btn {
  flex: 0 0 auto;
  min-height: 46px;
}

.tf71439-toast {
  z-index: 10100;
}

@keyframes tf71439-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 600px) {
  .tf71439-decision-actions,
  .tf71439-update-banner {
    grid-template-columns: 1fr;
  }

  .tf71439-decision-actions {
    display: grid;
  }

  .tf71439-update-banner {
    display: grid;
  }

  .tf71439-update-banner .btn {
    width: 100%;
  }
}

@media (hover: hover) and (pointer: fine) {
  .tf71439-pull-indicator {
    display: none;
  }
}

/* component 31: requested-repairs-v7.14.41.css */
.tf-r35-native-select {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tf-r35-combo {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  width: 100%;
}

.tf-r35-combo-input {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  border: 1px solid #cfd9d4;
  border-radius: 9px 0 0 9px !important;
  padding: 10px 12px;
  background: #fff;
}

.tf-r35-combo-toggle {
  min-height: 46px;
  border: 1px solid #cfd9d4;
  border-left: 0;
  border-radius: 0 9px 9px 0;
  background: #fff;
  color: #1d332a;
  font-size: 22px;
}

.tf-r35-combo-input:focus,
.tf-r35-combo-toggle:focus {
  outline: 3px solid rgba(18, 107, 79, .2);
  outline-offset: 1px;
}

.tf-r35-combo-list {
  position: absolute;
  z-index: 100030;
  top: calc(100% + 5px);
  left: 0;
  right: 0;
  max-height: min(320px, 48vh);
  overflow: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  padding: 5px;
  border: 1px solid #bdcbc4;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 35px rgba(10, 47, 36, .22);
}

.tf-r35-combo-list[hidden] { display: none !important; }

.tf-r35-combo-list button {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 7px;
  padding: 10px 11px;
  background: #fff;
  color: #17211d;
  text-align: left;
  touch-action: pan-y;
  -webkit-user-select: none;
  user-select: none;
}

.tf-r35-combo-list button:hover,
.tf-r35-combo-list button.active {
  background: #eaf3ef;
  color: #0d5a41;
}

.tf-r35-combo-empty,
.tf-r35-combo-more {
  padding: 10px 11px;
  color: #65736c;
  font-size: .88rem;
}

.tf-r35-report-original-job { display: none !important; }

.tf-r35-report-filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 14px;
  margin: -4px 0 16px;
  padding: 16px;
  border: 1px solid #d9e4de;
  border-radius: 13px;
  background: #fff;
}

.toast.tf-r35-toast {
  position: fixed !important;
  top: calc(76px + env(safe-area-inset-top)) !important;
  right: max(14px, env(safe-area-inset-right)) !important;
  bottom: auto !important;
  left: auto !important;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: min(440px, calc(100vw - 28px));
  max-height: min(35vh, 260px);
  overflow: auto;
  padding: 11px 42px 11px 14px !important;
  border: 1px solid rgba(255, 255, 255, .2);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .22);
  line-height: 1.35;
  z-index: 100050 !important;
  pointer-events: none;
}

.tf-r35-toast-close {
  position: absolute;
  top: 5px;
  right: 6px;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: inherit;
  font-size: 22px;
  line-height: 1;
  pointer-events: auto;
}

.tf-r35-toast-close:hover,
.tf-r35-toast-close:focus { background: rgba(255, 255, 255, .16); }

@media (max-width: 700px) {
  .tf-r35-report-filters { grid-template-columns: 1fr; }
  .toast.tf-r35-toast {
    top: calc(70px + env(safe-area-inset-top)) !important;
    left: max(10px, env(safe-area-inset-left)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    width: auto;
    font-size: .92rem;
  }
}

/* component 32: requested-repairs-v7.14.42.css */
.tf-r37-number-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  margin-top: 2px;
  color: #5f6d66;
  font-size: .84rem;
  line-height: 1.35;
}

.tf-r37-number-status[data-state="ready"] { color: #126b4f; }
.tf-r37-number-status[data-state="error"] { color: #8b2d20; }
.tf-r37-number-status [hidden] { display: none !important; }

.tf-r37-customer-picker {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  width: 100%;
  min-width: 0;
}

.tf-r37-customer-picker > input {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  border-radius: 9px 0 0 9px !important;
}

.tf-r37-customer-toggle {
  min-height: 46px;
  border: 1px solid #cfd9d4;
  border-left: 0;
  border-radius: 0 9px 9px 0;
  background: #fff;
  color: #1d332a;
  font-size: 22px;
}

.tf-r37-customer-picker > input:focus,
.tf-r37-customer-toggle:focus {
  outline: 3px solid rgba(18, 107, 79, .2);
  outline-offset: 1px;
}

.tf-r37-customer-list {
  position: absolute;
  z-index: 100040;
  top: calc(100% + 5px);
  left: 0;
  right: 0;
  width: 100%;
  max-width: 100%;
  max-height: min(320px, 48vh);
  overflow: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  padding: 5px;
  border: 1px solid #bdcbc4;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 35px rgba(10, 47, 36, .22);
}

.tf-r37-customer-list[hidden] { display: none !important; }

.tf-r37-customer-list button {
  display: block;
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: 7px;
  padding: 10px 11px;
  background: #fff;
  color: #17211d;
  text-align: left;
  touch-action: pan-y;
  -webkit-user-select: none;
  user-select: none;
}

.tf-r37-customer-list button:hover,
.tf-r37-customer-list button.active {
  background: #eaf3ef;
  color: #0d5a41;
}

.tf-r37-customer-empty,
.tf-r37-customer-more {
  padding: 10px 11px;
  color: #65736c;
  font-size: .88rem;
}

@media (max-width: 560px) {
  .tf-r37-customer-list {
    width: 100%;
    max-width: calc(100vw - 52px);
  }

  .tf-r37-number-status {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* component 33: requested-repairs-v7.14.43.css */
.tf71439-draft-status {
  position: static;
  width: 100%;
  margin: 0 0 12px;
  padding: 9px 12px;
  border: 1px solid #d9c47d;
  border-radius: 10px;
  background: #fff8df;
  color: #624d05;
  font-size: .9rem;
  line-height: 1.35;
}

.tf71439-draft-status[hidden] {
  display: none !important;
}

.tf71439-draft-status[data-state="synced"] {
  border-color: #b9d9c9;
  background: #edf8f2;
  color: #1c5c3d;
}

.tf71439-draft-status[data-state="error"] {
  border-color: #e4b7b2;
  background: #fff0ee;
  color: #852d25;
  font-weight: 700;
}

.tf-r38-time-job-help {
  display: block;
  margin-top: 6px;
  line-height: 1.3;
}

.tf-r38-job-picker {
  position: relative;
  width: 100%;
  min-width: 0;
}

.tf-r38-job-picker > input[type="search"] {
  width: 100%;
  min-width: 0;
  padding-right: 88px;
}

.tf-r38-job-toggle,
.tf-r38-job-clear {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 40px;
  height: 40px;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #173f31;
  font: inherit;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.tf-r38-job-toggle {
  right: 4px;
}

.tf-r38-job-clear {
  right: 44px;
}

.tf-r38-job-toggle:hover,
.tf-r38-job-toggle:focus-visible,
.tf-r38-job-clear:hover,
.tf-r38-job-clear:focus-visible {
  background: #eaf4ef;
  outline: 2px solid #177254;
  outline-offset: -2px;
}

.tf-r38-job-list {
  position: absolute;
  top: calc(100% + 5px);
  right: 0;
  left: 0;
  z-index: 80;
  max-height: min(360px, 50vh);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  border: 1px solid #b9cbc2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(16, 45, 34, .18);
}

.tf-r38-job-list[hidden] {
  display: none !important;
}

.tf-r38-job-list [role="option"] {
  display: flex;
  width: 100%;
  min-height: 56px;
  flex-direction: column;
  gap: 3px;
  align-items: flex-start;
  justify-content: center;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid #e2ebe6;
  border-radius: 0;
  background: #fff;
  color: #14221c;
  text-align: left;
  cursor: pointer;
}

.tf-r38-job-list [role="option"]:last-of-type {
  border-bottom: 0;
}

.tf-r38-job-list [role="option"] span {
  color: #66736d;
  font-size: .85rem;
}

.tf-r38-job-list [role="option"]:hover,
.tf-r38-job-list [role="option"].active,
.tf-r38-job-list [role="option"]:focus-visible {
  background: #eaf5ef;
  outline: 0;
}

.tf-r38-job-more,
.tf-r38-job-empty {
  padding: 12px;
  color: #68766f;
  font-size: .88rem;
}

@media (max-width: 700px) {
  .tf-r38-job-list {
    max-height: min(330px, 46vh);
  }

  .tf-r38-job-list [role="option"] {
    min-height: 60px;
    padding: 11px 12px;
  }

  .tf71439-draft-status {
    font-size: .86rem;
  }
}

/* component 34: requested-repairs-v7.14.44.css */
.tf-r39-legacy-job-browser[hidden] {
  display: none !important;
}

.tf-r39-job-browser {
  width: 100%;
  min-width: 0;
}

.tf-r39-job-controls {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}

.tf-r39-job-controls .field,
.tf-r39-job-controls .tf-r35-combo,
.tf-r39-job-controls select {
  width: 100%;
  min-width: 0;
}

.tf-r39-job-controls .field > label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
}

.tf-r39-job-controls small {
  display: block;
  margin-top: 6px;
  line-height: 1.3;
}

.tf-r39-job-summary {
  margin-top: 14px;
  color: #176b50;
  font-weight: 700;
  line-height: 1.35;
}

.tf-r39-job-pages {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
}

@media (max-width: 900px) {
  .tf-r39-job-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .tf-r39-job-controls {
    grid-template-columns: minmax(0, 1fr);
  }

  .tf-r39-job-browser {
    overflow: visible;
  }

  .tf-r39-job-pages {
    justify-content: space-between;
  }
}

/* component 35: requested-repairs-v7.14.46.css */
/* TradeFlow R45 photo gallery, recovery and protected full-size viewer. */
.tf45-photo-host{margin:0 0 16px}.tf45-photo-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(150px,.45fr);gap:14px;align-items:end;margin-bottom:14px}.tf45-filter-heading,.tf45-search-wide{grid-column:1/-1}.tf45-filter-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.tf45-filter-heading h2{margin:0 0 4px}.tf45-photo-filters label,.tf45-photo-edit label,.tf45-confirm-phrase{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#42514a}.tf45-photo-filters input,.tf45-photo-filters select,.tf45-photo-edit input,.tf45-photo-edit select,.tf45-photo-edit textarea,.tf45-confirm-phrase input,.tf45-modal textarea{width:100%;min-width:0;border:1px solid #c9d6d0;border-radius:10px;background:#fff;color:#17211d;padding:11px}.tf45-picker{position:relative;min-width:0}.tf45-picker-list{position:absolute;left:0;right:0;top:100%;z-index:45;max-height:280px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;background:#fff;border:1px solid #bdd0c6;border-radius:10px;box-shadow:0 10px 28px #10241a2b;padding:6px}.tf45-picker-list button{display:flex;flex-direction:column;gap:2px;width:100%;border:0;border-bottom:1px solid #edf1ef;background:#fff;text-align:left;padding:11px;border-radius:7px;touch-action:pan-y}.tf45-picker-list button:hover,.tf45-picker-list button:focus-visible{background:#edf7f2}.tf45-picker-list small{font-weight:400;color:#69766f}.tf45-picker-list p{margin:10px;color:#68746e}.tf45-search-button{min-height:44px}.tf45-gallery-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:12px 0;color:#435149}.tf45-selection-tools{display:flex;gap:9px;align-items:center;flex-wrap:wrap;background:#f2f8f5;border:1px solid #c8ded3;border-radius:11px;padding:10px 12px;margin:12px 0}.tf45-selection-tools label{display:flex;align-items:center;gap:7px;font-weight:700}.tf45-selection-tools input,.tf45-photo-check input{width:20px;height:20px;accent-color:#126b4f}.photoGrid.tf45-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:14px}.tf45-photo-card{min-width:0;background:#fff;border:1px solid #d6e0db;border-radius:13px;overflow:hidden;box-shadow:0 1px 3px #0b34200a}.tf45-photo-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;background:#f7faf8}.tf45-photo-check{display:flex;align-items:center;gap:7px;font-weight:700}.tf45-photo-status{font-size:12px;text-transform:capitalize;color:#68746e}.tf45-thumb-button{display:block;position:relative;width:100%;padding:0;border:0;background:#e7eeea;overflow:hidden}.tf45-thumb-button img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0}.tf45-thumb-button>span:last-child{position:absolute;right:8px;bottom:8px;background:#10241ad9;color:#fff;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:700}.tf45-missing-thumb{display:grid!important;position:static!important;place-items:center;aspect-ratio:4/3;background:#eef2f0!important;color:#536159!important;border-radius:0!important}.tf45-photo-card-body{display:flex;flex-direction:column;gap:7px;padding:13px}.tf45-photo-card-body h3,.tf45-photo-card-body p{margin:0;overflow-wrap:anywhere}.tf45-photo-card-body .btn{align-self:flex-start;margin-top:4px}.tf45-photo-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tf45-photo-empty{grid-column:1/-1}.tf45-pagination{display:flex;gap:7px;align-items:center;justify-content:center;flex-wrap:wrap;margin:14px 0}.tf45-pagination .btn[aria-current="page"]{pointer-events:none}.tf45-modalback{position:fixed;inset:0;z-index:1000;background:#07120dba;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.tf45-modal{width:min(760px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:16px;padding:18px;box-shadow:0 20px 60px #0006}.tf45-modal>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;position:sticky;top:-18px;background:#fff;z-index:2;padding:8px 0}.tf45-modal>header h2{margin:0}.tf45-modal>header [data-tf45-close]{font-size:24px;line-height:1;min-width:44px;min-height:44px}.tf45-modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}.tf45-photo-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 16px}.tf45-photo-details>div{padding:10px;background:#f4f8f6;border-radius:9px}.tf45-photo-details dt{font-weight:800;color:#4a5851}.tf45-photo-details dd{margin:4px 0 0;overflow-wrap:anywhere}.tf45-photo-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tf45-photo-edit .span2{grid-column:1/-1}.tf45-lightbox .tf45-modal{width:min(1200px,100%);background:#0b120f;color:#fff}.tf45-lightbox .tf45-modal>header{background:#0b120f}.tf45-lightbox .tf45-modal>header .btn{background:#fff;color:#17211d}.tf45-lightbox-stage{min-height:240px;display:grid;place-items:center;position:relative}.tf45-lightbox-stage img{max-width:100%;max-height:calc(100dvh - 170px);width:auto;height:auto;object-fit:contain}.tf45-lightbox-caption{margin:12px 0 0;color:#e6eee9;text-align:center}.tf45-photo-loading{padding:28px;text-align:center;color:#617068}.tf45-photo-toast{position:fixed;z-index:1100;top:max(14px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);max-width:min(560px,calc(100vw - 28px));background:#14231c;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 8px 30px #0004}.tf45-photo-toast.error{background:#7d2020}
@media(max-width:760px){.tf45-photo-filters{grid-template-columns:1fr}.tf45-filter-heading,.tf45-search-wide{grid-column:1}.photoGrid.tf45-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tf45-photo-card-body{padding:10px}.tf45-photo-card-body h3{font-size:16px}.tf45-photo-card-body p{font-size:13px}.tf45-selection-tools{align-items:stretch}.tf45-selection-tools .btn{flex:1 1 145px}.tf45-photo-details,.tf45-photo-edit{grid-template-columns:1fr}.tf45-photo-edit .span2{grid-column:1}.tf45-modal-actions .btn{flex:1 1 150px}.tf45-pagination .btn{padding:8px 10px}.tf45-picker-list{position:relative;top:auto;margin-top:6px;max-height:220px}.tf45-modal{padding:14px}.tf45-modal>header{top:-14px}}
@media(max-width:430px){.photoGrid.tf45-photo-grid{grid-template-columns:1fr}.tf45-gallery-summary{align-items:flex-start;flex-direction:column}.tf45-photo-card-body p{font-size:14px}.tf45-thumb-button img{aspect-ratio:16/11}}
.tf45-photo-load-error{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.tf45-photo-load-error span{flex:1 1 240px}
