/* Canonical staff UI tokens: extend here instead of introducing parallel palettes. */
:root{--aa-space-1:4px;--aa-space-2:8px;--aa-space-3:12px;--aa-space-4:16px;--aa-space-6:24px;--aa-text-body:1rem;--aa-text-label:.875rem;--aa-text-subheading:1.125rem;--aa-ink:#173246;--aa-muted:#526879;--aa-primary:#075f91;--aa-primary-hover:#064c74;--aa-header:#102c3c;--aa-header-border:#b8d0de;--aa-surface:#fff;--aa-surface-subtle:#f8fbfd;--aa-border:#748b99;--aa-success:#155b38;--aa-success-surface:#eaf8ef;--aa-danger:#8b2525;--aa-danger-hover:#711e1e;--aa-danger-surface:#fff0ee;--aa-info:#075f91;--aa-info-surface:#eef6fc;--aa-warning:#754c00;--aa-warning-surface:#fff7df;--aa-radius:8px;--aa-control-height:48px;--aa-focus-width:3px;--aa-shadow-dialog:0 20px 70px #102c3c55}
.portal-shell{max-width:860px}.portal-card,.portal-enquiry{background:#fff;border:1px solid #cedce5;border-radius:16px;padding:clamp(20px,4vw,36px);box-shadow:0 12px 30px #142c4010}.portal-card{max-width:620px}.portal-card h2,.portal-enquiry h3{margin:0 0 12px}.portal-card form{display:grid;gap:18px;margin:22px 0}.portal-card label,.portal-field{display:grid;gap:7px;font-weight:700;color:#183248}.portal-card input,.portal-field input,.portal-field textarea{box-sizing:border-box;width:100%;min-height:48px;padding:12px;border:1px solid var(--aa-border);border-radius:8px;background:#fff;font:inherit;color:#173246}.portal-field textarea{min-height:96px}.portal-card details{border-top:1px solid #d9e4eb;padding-top:20px;margin-top:22px}.portal-card summary{cursor:pointer;color:#126298;font-weight:700}.portal-card details p{margin:12px 0}.portal-head{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:20px}.portal-head h2{margin:0}.portal-enquiry{margin-bottom:22px}.portal-enquiry h3{margin:0 0 6px}.portal-enquiry small{color:#526879}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.portal-field.wide{grid-column:1/-1}.portal-enquiry .button{margin-top:18px}.portal-items{border-top:1px solid #d9e4eb;padding-top:20px}.portal-item{display:grid;grid-template-columns:1fr 95px auto;align-items:end;gap:10px;margin-bottom:10px}.portal-item button{min-height:48px;border:1px solid var(--aa-border);background:#fff;border-radius:8px;padding:8px 14px;color:#173246;font:inherit;cursor:pointer}.portal-note{color:#526879}.portal-success{color:#176b42}.portal-error{color:#a12632}@media(max-width:600px){.portal-grid{grid-template-columns:1fr}.portal-field.wide{grid-column:auto}.portal-item{grid-template-columns:1fr 78px}.portal-item button{grid-column:1/-1}.portal-head{align-items:flex-start}.portal-head .button{padding:10px}}
.portal-filters,.portal-staff-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0}.portal-filters{background:#eaf4fb;border:1px solid #c9dce8;border-radius:14px;padding:18px}.portal-filters .portal-field:first-child{flex:2;min-width:200px}.portal-filters .portal-field{flex:1;min-width:150px}.portal-field select,.portal-staff-controls select{min-height:48px;max-width:100%;padding:8px;border:1px solid var(--aa-border);border-radius:8px;background:#fff;color:#173246;font:inherit}.portal-staff-controls{background:#f3f8fc;padding:12px;border-radius:10px}.portal-badge{padding:7px 11px;border-radius:30px;background:#d9edf9;font-weight:700;color:#175070}.portal-photos{border-top:1px solid #d9e4eb;margin-top:26px;padding-top:20px}.portal-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}.portal-photo{margin:0;background:#f4f8fb;border-radius:10px;overflow:hidden}.portal-photo img{display:block;width:100%;height:130px;object-fit:cover}.portal-photo figcaption{font-size:.86rem;padding:8px 10px;overflow-wrap:anywhere}.portal-upload{display:grid;gap:13px;margin:18px 0}.portal-upload .portal-field input[type=file]{padding:10px;height:auto}.portal-upload .button{justify-self:start}.portal-note-list{display:grid;gap:8px}.portal-note-list p{white-space:pre-wrap;background:#f3f8fc;border-radius:10px;padding:12px;margin:0}.portal-note-form{display:grid;gap:12px;margin-bottom:20px}.portal-note-form .button{justify-self:start}.portal-activity{max-height:250px;overflow:auto;padding-left:20px;color:#526879}.portal-activity li{margin-bottom:6px}#portal-more{display:block;margin:20px auto}
/* Keep repeat enquiries filed by reference; open just one request at a time. */
.portal-enquiry{padding:0;overflow:hidden}
.portal-summary{display:grid;gap:7px;padding:20px 24px;cursor:pointer;list-style:none}
.portal-summary::-webkit-details-marker{display:none}
.portal-summary:focus-visible{outline:3px solid #007cba;outline-offset:-4px}
.portal-summary-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.portal-reference{font-size:1.22rem;color:#12364b}
.portal-route{font-weight:700;color:#173246;overflow-wrap:anywhere}
.portal-summary-meta{color:#526879;font-size:.9rem;overflow-wrap:anywhere}
.portal-open-label{color:#086c9c;font-weight:700;margin-top:4px}
.portal-open-label::after{content:'  ▾'}
.portal-enquiry[open] .portal-open-label{font-size:0}
.portal-enquiry[open] .portal-open-label::after{content:'Hide request details  ▴';font-size:1rem}
.portal-enquiry-body{border-top:1px solid #d9e4eb;padding:24px}
.portal-enquiry-body h3{overflow-wrap:anywhere}
.portal-item,.portal-item.read-only{grid-template-columns:minmax(0,1fr) 82px 46px;align-items:end}
.portal-item.read-only{grid-template-columns:minmax(0,1fr) 82px}
.portal-item .portal-field{min-width:0}
.portal-item input{min-width:0;font-size:16px}
/* Keep optional sign-in consent compact beside its label. */
#portal-login-form label:has(input[name=remember_24h]){display:flex;align-items:flex-start;gap:10px;margin:14px 0;font-size:15px;line-height:1.5}
body.portal-app #portal-login-form input[name=remember_24h],#portal-login-form input[name=remember_24h]{width:20px;height:20px;min-width:20px;min-height:20px;padding:0;flex:0 0 20px;margin:2px 0 0;accent-color:#075f89}
#aa-session-reauth::backdrop{background:#17364b99}
.aa-job-finance{grid-column:1/-1;background:#fff;border:1px solid #bcd5e3;border-top:4px solid #075f89;border-radius:12px;padding:20px;margin:18px 0;min-width:0}
.aa-job-finance-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.aa-job-finance-head h3{margin:3px 0;font-size:22px}.aa-job-payment-state{padding:6px 12px;border-radius:20px;background:#eaf2f8;font-size:12px;font-weight:750;white-space:nowrap}.aa-job-payment-state[data-state="PAYMENT IN PROGRESS"],.aa-job-payment-state[data-state="NEEDS REVIEW"]{background:#fff0c9;color:#785500}.aa-job-payment-state[data-state="SETTLED"]{background:#e8f5ec;color:#17613b}.aa-job-finance-next{background:#eef6fa;padding:12px 14px;border-radius:8px;color:#17364b}.aa-job-finance-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.aa-job-finance-facts dt{font-size:12px;color:#526e80}.aa-job-finance-facts dd{margin:3px 0;font-weight:700;overflow-wrap:anywhere}.aa-job-finance-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.aa-job-finance-actions .button{margin:0;min-height:44px}.aa-job-invoice{border:1px solid #d5e2eb;border-radius:8px;margin:12px 0}.aa-job-invoice>summary{padding:12px;font-weight:700;cursor:pointer;background:#f5f9fc}.aa-job-invoice-body{padding:14px}.aa-job-invoice-body>button{margin:8px 6px 0 0}.aa-job-finance-history{border-top:1px solid #d5e2eb;margin-top:18px;padding-top:14px}.aa-job-finance-history>summary{font-weight:700;cursor:pointer}.aa-job-receipt{border-left:3px solid #a8c9dc;padding:10px 14px;margin:14px 0;background:#f8fafc}.aa-job-receipt p{margin:5px 0}.aa-job-finance-editor:empty{display:none}.aa-job-finance-editor .portal-card{margin:12px 0}
@media(max-width:640px){.aa-job-finance{padding:14px}.aa-job-finance-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.aa-job-finance-actions>.button{flex:1 1 190px}.aa-job-finance-head h3{font-size:20px}}
.portal-item .portal-remove{width:46px;min-height:48px;padding:0;font-size:1.5rem;line-height:1}
@media(max-width:600px){.portal-summary{padding:18px}.portal-enquiry-body{padding:18px}.portal-item{grid-template-columns:minmax(0,1fr) 68px 46px}.portal-item.read-only{grid-template-columns:minmax(0,1fr) 68px}.portal-item button{grid-column:auto}.portal-item .portal-field{font-size:.9rem}.portal-item input{padding:8px}}
/* The request header is a real button: mobile browsers lay out its rows consistently. */
.portal-enquiry .portal-summary{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%;margin:0;border:0;border-radius:0;background:#fff;color:#173246;text-align:left;font:inherit;line-height:1.45;min-height:0;cursor:pointer}
.portal-enquiry .portal-summary:hover,.portal-enquiry .portal-summary:focus-visible{background:#f1f8fc}
.portal-enquiry .portal-summary>span,.portal-enquiry .portal-summary>div{display:block;min-width:0}
.portal-enquiry .portal-summary-top{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap}
.portal-enquiry .portal-summary .portal-badge{display:inline-block;font-size:.84rem;line-height:1.25}
.portal-enquiry .portal-route{display:block;line-height:1.4;overflow-wrap:anywhere}
.portal-enquiry .portal-summary-meta{display:block;line-height:1.5}
.portal-enquiry .portal-open-label{display:block;margin-top:2px}
.portal-enquiry.is-open .portal-open-label{font-size:0}
.portal-enquiry.is-open .portal-open-label::after{content:'Hide request details  ▴';font-size:1rem}
.portal-enquiry .portal-enquiry-body[hidden]{display:none}
#portal-logout{flex:none;background:#fff;border:1.5px solid #126b9c;color:#16445d;gap:0;cursor:pointer;white-space:nowrap}
#portal-logout:hover{background:#e9f5fc;color:#123d59}
@media(max-width:600px){.portal-head{align-items:center;gap:12px}.portal-head h2{font-size:clamp(1.65rem,6vw,2.2rem);min-width:0}#portal-logout{padding:10px 14px;font-size:.88rem;min-height:44px}}
.portal-runs{border:1px solid #cbdce6;background:#f3f8fb;padding:20px;border-radius:12px;margin:20px 0}.portal-runs h2{margin:0 0 16px;font-size:1.35rem}.portal-run-card{border:1px solid #cbdce6;background:white;padding:18px;margin:12px 0;border-radius:10px}.portal-run-card p{margin:10px 0;line-height:1.5;overflow-wrap:anywhere}.portal-run-confirm{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-top:16px}.portal-run-confirm .portal-field{min-width:185px;flex:1}.portal-run-confirm .portal-note{width:100%}
.portal-run-card.is-targeted{border:2px solid #0879ad;box-shadow:0 8px 24px rgba(19,56,79,.1)}
.portal-run-response{display:grid;gap:10px;padding:16px;margin:18px 0;background:#f3f8fb;border:1px solid #cbdce6;border-radius:10px}
.portal-run-response .portal-field{max-width:420px}.portal-run-response select{width:100%}.portal-response-preview{margin:0!important;color:#314d60}.portal-run-response button{justify-self:start}.portal-run-all{display:inline-block;margin:4px 0 16px;color:#086795;font-weight:700}
.portal-run-price{background:#e7f3f9;padding:12px;border-left:4px solid #0879ad;font-weight:800}

:is(#portal-login-message,#portal-status,.portal-note[data-state],.portal-feedback[data-state]):not(:empty){display:grid;grid-template-columns:10px minmax(0,1fr);align-items:start;gap:10px;padding:12px 14px;border:1px solid;border-left-width:4px;border-radius:var(--aa-radius);font-weight:650;line-height:1.45;margin:12px 0;overflow-wrap:anywhere}:is(#portal-login-message,#portal-status,.portal-note[data-state],.portal-feedback[data-state]):not(:empty)::before{content:"";width:10px;height:10px;margin-top:.35em;border-radius:50%;background:currentColor}.portal-shell [data-state=error]:not(:empty){color:var(--aa-danger);background:var(--aa-danger-surface);border-color:#bd3434}.portal-shell [data-state=success]:not(:empty){color:var(--aa-success);background:var(--aa-success-surface);border-color:#15803d}.portal-shell [data-state=pending]:not(:empty){color:var(--aa-info);background:var(--aa-info-surface);border-color:#2374b6}.portal-shell :is(#portal-login-message,#portal-status):empty{display:none}
/* Feedback actions follow the message in its content column, never the status-dot column. */
:is(#portal-login-message,#portal-status,.portal-note[data-state],.portal-feedback[data-state])>.button{grid-column:2;justify-self:stretch;min-width:0;max-width:100%;white-space:normal;overflow-wrap:normal;word-break:normal}
.portal-quote{margin:1.5rem 0;padding:1.25rem;background:#f1f7fa;border:1px solid #d1e2eb;border-radius:12px}.portal-quote-total{font-size:1.35rem;font-weight:700;color:#142f43}.portal-quote-lines{padding-left:1.25rem}.portal-quote-lines li{margin:.55rem 0}.portal-quote-terms{white-space:pre-wrap;margin:1rem 0;padding:1rem;background:#fff;border-left:3px solid #0879ad}.portal-quote-consent{display:flex;align-items:flex-start;gap:.5rem;margin:1rem 0}.portal-quote-consent input{margin-top:.3rem}.portal-quote-state{font-weight:700;color:#17613b}
.portal-quote-tools,.portal-finance-board,.portal-system-logs{margin:22px 0;padding:18px;background:#f4f8fb;border:1px solid #d2e0e8;border-radius:12px}.portal-quote-tools .portal-grid{margin:14px 0}.portal-manual-quote{padding:14px;background:#fff;border:1px solid #d2e0e8;border-radius:10px;margin:14px 0}.portal-quote-preview{max-height:280px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:#132f43;color:#f5f8fa;border-radius:8px;font-size:.84rem}.portal-system-logs summary{cursor:pointer;font-weight:750;color:#173c54}.portal-log-content{max-height:600px;overflow:auto}.portal-audit-list{padding-left:20px}.portal-audit-list li{padding:8px 0;border-bottom:1px solid #d9e4eb;overflow-wrap:anywhere}.portal-invoice-card{padding:16px;margin:12px 0;background:#fff;border:1px solid #d2e0e8;border-radius:10px}.portal-payment-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.portal-payment-form .button{margin:0}@media(max-width:640px){.portal-payment-form{grid-template-columns:1fr}.portal-payment-form .button{width:100%}}
.portal-service-chip{display:inline-flex;align-items:center;padding:5px 9px;background:#e5f2f8;color:#175070;border-radius:999px;font-size:.78rem;font-weight:750;text-transform:capitalize}
.portal-staff-login{max-width:480px;margin-inline:auto}.staff-login-section{padding-top:32px}.staff-login-hero .container{max-width:960px}.portal-role-switch{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #d9e4eb;padding-top:18px;margin-top:22px;color:#173246;font-weight:650}.portal-customer-link{display:inline-flex;align-items:center;min-height:44px;margin-top:14px;color:#075b88;font-weight:700}.portal-quick-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0}.portal-quick-actions .button{margin:0}.portal-log-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.portal-log-item>span:first-child{min-width:0;overflow-wrap:anywhere}.portal-bottom-nav{display:none}.portal-staff-login input,.portal-password-reset input{min-height:50px;font-size:16px}.portal-staff-login .button,.portal-password-reset .button{min-height:50px;width:100%}
/* Staff pages use a focused app layout without public-site chrome or fixed marketing actions. */
body.portal-app{min-height:100vh;background:#f3f7fa;color:#173246}
body.portal-app .header,body.portal-app .footer,body.portal-app .mobile-actions{display:none!important}
body.portal-app #main{min-height:100vh}
body.portal-app .staff-login-hero{padding:clamp(30px,7vh,62px) 0 24px}
body.portal-app .staff-login-section{padding:20px 16px max(32px,env(safe-area-inset-bottom))}
body.portal-app .staff-login-section .container{width:min(100%,560px)}
body.portal-app .portal-staff-login,body.portal-app .portal-password-reset{box-sizing:border-box;width:100%;max-width:560px;margin:0 auto;padding:clamp(22px,5vw,36px)}
body.portal-app .portal-staff-login input,body.portal-app .portal-password-reset input{box-sizing:border-box;width:100%;min-width:0}
body.portal-app .portal-staff-login :is(button,a),body.portal-app .portal-password-reset button{min-height:50px}
body.portal-app :is(input,button,a):focus-visible{outline:3px solid #1482b8;outline-offset:3px}
body.portal-app .portal-password-reset[hidden],body.portal-app #portal-login[hidden]{display:none!important}
/* The workspace can also be opened from /portal/. Once staff navigation is
   present, switch that route into the same distraction-free portal shell. */
body:has(.portal-bottom-nav) .header,body:has(.portal-bottom-nav) .footer,body:has(.portal-bottom-nav) .mobile-actions{display:none!important}
body:has(.portal-bottom-nav) #main{min-height:100vh;background:#f3f7fa}
@media(max-width:700px){.portal-bottom-nav{position:sticky;top:0;bottom:auto;left:auto;right:auto;width:100%;margin:0 0 12px;z-index:30;box-shadow:0 5px 14px #102c3c18}body:has(.portal-bottom-nav){padding-bottom:0}}
@media(max-width:700px){.portal-bottom-nav{position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;inset:auto!important;transform:none!important;width:100%;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;margin:0 0 14px;z-index:1;box-shadow:none;border-radius:10px}.portal-bottom-nav a{min-width:0;min-height:48px;overflow-wrap:anywhere}}
@media(max-width:700px){
  .portal-shell button,.portal-shell a.button{min-height:44px;touch-action:manipulation}
  html,body{max-width:100%;overflow-x:hidden}.portal-shell,.portal-shell *{min-width:0}.portal-shell{width:100%;padding-inline:12px}.portal-enquiry,.portal-card,.portal-quote-tools,.portal-finance-board,.portal-system-logs,.portal-runs{max-width:100%;overflow-wrap:anywhere}.portal-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:14px}.portal-filters .portal-field,.portal-filters .portal-field:first-child{min-width:0;width:100%}.portal-filters .button{width:100%;min-height:48px}.portal-staff-controls{display:grid;grid-template-columns:1fr;align-items:stretch;gap:10px}.portal-staff-controls select,.portal-staff-controls .button{width:100%;min-height:48px}.portal-quick-actions{display:grid;grid-template-columns:1fr;gap:10px}.portal-quick-actions .button{width:100%;min-height:48px;justify-content:center}.portal-quote-tools,.portal-finance-board,.portal-system-logs,.portal-runs{padding:14px;margin:16px 0}.portal-enquiry-body{padding:14px}.portal-summary{padding:16px}.portal-grid{gap:12px;margin:16px 0}.portal-field input,.portal-field textarea,.portal-field select,.portal-card input,.portal-card select{font-size:16px;min-height:48px}.portal-payment-form{grid-template-columns:minmax(0,1fr)}.portal-payment-form .button,.portal-run-confirm .button{width:100%;min-height:48px}.portal-log-content{max-height:none;overflow:visible}.portal-log-item{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;padding:12px 0}.portal-log-item .button{width:100%;min-height:46px}.portal-audit-list{padding-left:18px}.portal-audit-list li{font-size:14px;overflow-wrap:anywhere}.portal-bottom-nav{position:fixed;z-index:1000;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:7px 10px calc(7px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #b9cbd6;box-shadow:0 -8px 24px #102c3c1a}.portal-bottom-nav a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:6px 4px;border-radius:8px;color:#124b6a;font-weight:750;font-size:14px;text-decoration:none}.portal-bottom-nav a:focus-visible,.portal-bottom-nav a:hover{outline:2px solid #0879ad;background:#edf7fc}body:has(.portal-bottom-nav){padding-bottom:calc(78px + env(safe-area-inset-bottom))}.portal-staff-login{padding:22px 18px}.portal-role-switch{align-items:stretch;flex-direction:column}.portal-role-switch .button{width:100%;min-height:48px}.portal-staff-login-hero h1,.staff-login-hero h1{font-size:clamp(2rem,8vw,3rem)}.portal-enquiry .portal-summary-top{gap:8px}.portal-service-chip,.portal-badge{max-width:100%;overflow-wrap:anywhere}.portal-items,.portal-quote,.portal-manual-quote{max-width:100%;overflow-wrap:anywhere}
}
/* Staff workspace: four isolated mobile-first areas and a persistent bottom dock. */
body.portal-nav-active{height:100dvh;min-height:100dvh;overflow:hidden;overflow-x:hidden;background:#f3f7fa}
body.portal-nav-active .header,body.portal-nav-active .footer,body.portal-nav-active .mobile-actions,body.portal-nav-active .page-hero{display:none!important}
body.portal-nav-active #main{height:100dvh;min-height:0;overflow:hidden;padding:0}
body.portal-nav-active .section{height:100%;min-height:0;padding:0}
body.portal-nav-active .staff-login-section .container{width:100%;max-width:none}
body.portal-nav-active .portal-shell{box-sizing:border-box;width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:0}
body.portal-nav-active #portal-content{box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:100dvh;min-height:0;padding-bottom:calc(76px + env(safe-area-inset-bottom));overflow:hidden}
body.portal-nav-active #portal-content[hidden]{display:none!important}
body.portal-nav-active .portal-head{box-sizing:border-box;display:flex;align-items:center;gap:12px;flex:0 0 56px;min-height:56px;margin:0;padding:0 16px;background:#12364b;color:#fff}
body.portal-nav-active .staff-brand{font-size:1rem;letter-spacing:.12em;white-space:nowrap}
body.portal-nav-active #portal-heading{display:none;margin:0;font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.portal-nav-active #portal-logout{margin-left:auto;min-height:42px;padding:8px 12px;border-color:#c6d9e4;background:transparent;color:#fff}
body.portal-nav-active #portal-status{flex:0 0 auto;max-height:90px;overflow:auto;margin:0;padding:0 12px}
.staff-tab-panels{flex:1 1 auto;min-height:0;overflow:hidden}
.staff-tab-panel{box-sizing:border-box;width:100%;height:100%;min-height:0;padding:16px clamp(14px,3vw,28px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}
.staff-tab-panel[hidden]{display:none!important}
.staff-tab-panel>h2{margin:4px 0 14px;color:#15384d}
#portal-filters-host,#portal-runs-host,#portal-list,#staff-jobs,#staff-partners,#staff-logs-host,#finance-invoices{width:100%;max-width:100%;min-width:0}
.portal-bottom-nav{position:fixed!important;inset:auto 0 0!important;z-index:1100;box-sizing:border-box;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%;max-width:980px;height:auto;min-height:68px;margin:0 auto;padding:7px 10px calc(7px + env(safe-area-inset-bottom));overflow:visible!important;border-top:1px solid #c6d5df;border-radius:0;background:#fff;box-shadow:0 -8px 24px #102c3c1a;transform:none!important}
.portal-bottom-nav[hidden]{display:none!important}
.staff-nav-item{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:7px 5px;border:0;border-radius:9px;background:transparent;color:#21485e;font-family:inherit;font-size:13px;font-weight:700;line-height:1.2;cursor:pointer;touch-action:manipulation}
.staff-nav-item[aria-current="page"]{background:#e7f3f9;color:#075f91;box-shadow:inset 0 -3px #0879ad}
.staff-nav-item:focus-visible{outline:3px solid #0879ad;outline-offset:2px}
.staff-record-card,.portal-log-card{max-width:100%;min-width:0;margin:10px 0;border:1px solid #d1dee6;border-radius:12px;background:#fff;box-shadow:0 3px 10px #142c4008;overflow:hidden}
.staff-record-card>summary,.portal-log-card>summary{display:flex;align-items:center;min-height:52px;padding:12px 15px;cursor:pointer;font-weight:750;color:#173b52;overflow-wrap:anywhere;list-style-position:inside}
.staff-record-body{padding:0 15px 16px;overflow-wrap:anywhere}
.staff-record-body>p{line-height:1.5;overflow-wrap:anywhere}
.staff-job-legs{padding:12px;background:#f3f8fb;border-radius:9px}
.staff-job-legs h4{margin:0 0 8px}
.staff-leg-row{margin:8px 0;padding-top:8px;border-top:1px solid #d8e3e9;overflow-wrap:anywhere}
.portal-sync-state{padding:10px 12px;border-radius:8px;background:#edf5fa;color:#254c61;font-weight:650;overflow-wrap:anywhere}
.portal-health,.portal-system-logs,.portal-finance-board{box-sizing:border-box;max-width:100%;margin:12px 0;padding:16px;border:1px solid #cfdee6;border-radius:12px;background:#fff;overflow-wrap:anywhere}
.portal-health h2,.portal-system-logs h3,.portal-finance-board h3{margin:0 0 12px}
.notification-grid{display:grid;grid-template-columns:minmax(190px,1.5fr) repeat(3,minmax(120px,1fr));border:1px solid #d8e3e9;border-radius:10px;overflow:hidden;margin:14px 0}
.notification-grid-header,.notification-grid-row{display:contents}
.notification-grid-header>span,.notification-grid-row>strong,.notification-choice{display:flex;align-items:center;min-height:48px;padding:8px 10px;border-bottom:1px solid #e3ebef;background:#fff}
.notification-grid-header>span{background:#edf5f9;color:#24495d;font-size:.83rem;font-weight:750}
.notification-grid-row>strong{font-size:.88rem;line-height:1.35}
.notification-choice{gap:8px;justify-content:center;font-size:.88rem}
.notification-choice input{width:20px;height:20px;accent-color:#0879ad}
.notification-choice select{width:100%;min-width:0;min-height:40px;padding:6px;border:1px solid #b9cbd5;border-radius:7px;background:#fff;color:#173b52;font:inherit;font-size:.82rem}
.notification-mobile-label{display:none}
.notification-settings-form>.button{margin:4px 0}
.notification-settings-form>[role=status]{min-height:1.5em}
.staff-notification-centre{position:relative;margin-left:auto}
.staff-notification-bell{position:relative;display:grid;place-items:center;min-width:46px;min-height:46px;padding:8px;border:1px solid #b8ccd7;border-radius:10px;background:#fff;color:#173b52;font:inherit;cursor:pointer}
.staff-notification-bell:focus-visible{outline:3px solid #0879ad;outline-offset:2px}
.staff-notification-icon{font-size:1.25rem;line-height:1}
.staff-notification-count{position:absolute;inset:-7px -7px auto auto;min-width:22px;height:22px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#b42318;color:#fff;font-size:.72rem;font-weight:800;line-height:18px;text-align:center}
.staff-notification-panel{position:absolute;z-index:80;top:calc(100% + 10px);right:0;width:min(390px,calc(100vw - 32px));max-height:min(620px,72vh);overflow:auto;padding:14px;border:1px solid #c8d7df;border-radius:14px;background:#fff;box-shadow:0 18px 55px rgba(15,44,61,.22)}
.staff-notification-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.staff-notification-panel-head h2{margin:0;font-size:1.2rem}
.staff-notification-state{margin:8px 0 10px}.staff-notification-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.staff-notification-item{border:1px solid #dbe5ea;border-radius:10px;background:#fff;overflow:hidden}.staff-notification-item[data-unread=true]{border-left:5px solid #0879ad;background:#f2f8fb}.staff-notification-item[data-urgent=true]{border-left-color:#b42318}
.staff-notification-open{display:grid;width:100%;gap:3px;padding:12px;border:0;background:transparent;color:#173b52;font:inherit;text-align:left;cursor:pointer}.staff-notification-open:hover{background:#edf6fa}.staff-notification-open:focus-visible{outline:3px solid #0879ad;outline-offset:-3px}
.staff-notification-title{font-weight:800}.staff-notification-message{font-size:.88rem;line-height:1.4}.staff-notification-time{font-size:.76rem;color:#617680}.staff-notification-empty{padding:18px;color:#617680;text-align:center}
.staff-notification-toasts{position:fixed;z-index:110;right:18px;bottom:18px;display:grid;gap:10px;width:min(390px,calc(100vw - 36px));pointer-events:none}.staff-notification-toast{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:13px;border:1px solid #b8ccd7;border-left:5px solid #0879ad;border-radius:12px;background:#fff;box-shadow:0 14px 45px rgba(15,44,61,.25);pointer-events:auto}.staff-notification-toast>div{display:grid;gap:3px}.staff-notification-toast span{font-size:.84rem;line-height:1.35}.staff-notification-dismiss{min-width:42px;min-height:42px;border:0;background:transparent;color:#315669;font:inherit;cursor:pointer}
.health-badge{display:inline-flex;align-items:center;min-height:36px;margin:0;padding:7px 12px;border-radius:999px;font-weight:750}
.health-healthy{background:#e6f6eb;color:#17613b}.health-degraded,.health-unavailable{background:#fff0e8;color:#8b3c13}
.health-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.health-facts span{padding:9px;background:#f2f7fa;border-radius:8px;overflow-wrap:anywhere}
.portal-log-section{margin:18px 0}.portal-log-card>summary{min-height:46px;font-size:.94rem}.portal-log-card>p,.portal-log-details{margin:10px 14px;overflow-wrap:anywhere;white-space:pre-wrap}.portal-log-details{font-size:.82rem}.portal-log-card .button{margin:0 14px 14px}
body.portal-nav-active .portal-filters{margin:0 0 16px}
body.portal-nav-active .portal-enquiry{margin:12px 0}
body.portal-nav-active .portal-runs{margin:0 0 16px}
body.portal-nav-active :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #0781b8;outline-offset:2px}
@media(max-width:700px){
  .staff-tab-panel{padding:12px 12px 18px;scrollbar-gutter:auto}
  .staff-nav-item{font-size:12px}
  .health-facts{grid-template-columns:1fr}
  .notification-grid{grid-template-columns:minmax(105px,1fr) repeat(3,minmax(66px,.72fr));font-size:.8rem}
  .notification-grid-header>span,.notification-grid-row>strong,.notification-choice{padding:7px 5px}
  .notification-grid-header>span{font-size:.69rem;line-height:1.25;text-align:center;justify-content:center}
  .notification-grid-row>strong{font-size:.76rem}
  .notification-choice{flex-direction:column;gap:4px;font-size:.72rem}
  .notification-mobile-label{display:block;font-size:.65rem;color:#667986}
  .notification-choice select{font-size:.68rem;min-height:42px;padding:4px 2px}
  .notification-choice input{width:19px;height:19px}
  body.portal-nav-active .portal-head{flex-basis:52px;min-height:52px;padding-inline:12px}
  body.portal-nav-active #portal-heading{font-size:.86rem}
  body.portal-nav-active #portal-logout{min-height:44px;padding-inline:10px;font-size:.82rem}
}
@media(max-width:600px){.staff-notification-panel{position:fixed;inset:70px 12px auto;width:auto;max-height:calc(100dvh - 150px)}.staff-notification-toast{right:12px;bottom:calc(74px + env(safe-area-inset-bottom));width:calc(100vw - 24px)}.staff-notification-toast{grid-template-columns:minmax(0,1fr) auto}.staff-notification-dismiss{grid-column:2}.staff-notification-centre{margin-left:0}}
.staff-module-intro{margin:2px 0 18px;padding:0 0 14px;border-bottom:1px solid #d5e2e9}
.staff-module-intro h2{margin:2px 0 6px;color:#15384d;font-size:1.35rem;line-height:1.25}
.staff-module-intro p:last-child{margin:0;color:#526879;line-height:1.45}
.staff-module-eyebrow{margin:0;color:#0873a6;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:700px){.staff-module-intro{margin-bottom:14px;padding-bottom:11px}.staff-module-intro h2{font-size:1.2rem}.staff-module-intro p:last-child{font-size:.94rem}}
.staff-sales-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.staff-sales-switch button{min-height:46px;padding:9px 14px;border:1px solid #b9ccd7;border-radius:9px;background:#fff;color:#173b52;font:inherit;font-weight:700;cursor:pointer}
.staff-sales-switch button[aria-current="page"]{background:#e7f3f9;border-color:#0879ad;color:#075f91}
.portal-client-form,.portal-new-job-form,.portal-job-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px;padding:16px;border:1px solid #cbdce6;border-radius:12px;background:#f3f8fb}
.portal-client-form h3,.portal-new-job-form h3,.portal-job-schedule h4,.portal-client-form>[role="status"],.portal-new-job-form>[role="status"],.portal-job-schedule>[role="status"]{grid-column:1/-1;margin:0}
.portal-client-form .portal-field,.portal-new-job-form .portal-field,.portal-job-schedule .portal-field{min-width:0}
.portal-client-form input,.portal-client-form textarea,.portal-new-job-form input,.portal-new-job-form select,.portal-new-job-form textarea,.portal-job-schedule input{box-sizing:border-box;width:100%;min-height:48px;padding:10px;border:1px solid var(--aa-border);border-radius:8px;background:#fff;color:#173246;font:inherit}
.portal-client-form textarea,.portal-new-job-form textarea{min-height:90px}
.staff-new-job-launch{margin:0 0 14px;padding:12px;border:1px solid #cbdce6;border-radius:12px;background:#f3f8fb}
.staff-new-job-launch .button{min-height:48px}
.staff-new-job-launch p{margin:8px 0 0}
.staff-job-legs .portal-job-schedule{margin:10px 0}
@media(max-width:640px){.portal-client-form,.portal-new-job-form,.portal-job-schedule{grid-template-columns:minmax(0,1fr);padding:13px}.portal-client-form h3,.portal-new-job-form h3,.portal-job-schedule h4,.portal-client-form>[role="status"],.portal-new-job-form>[role="status"],.portal-job-schedule>[role="status"]{grid-column:auto}.staff-sales-switch button{flex:1}.portal-client-form .button,.portal-new-job-form .button,.portal-job-schedule .button{width:100%;min-height:48px}}
.staff-client-search{display:flex;align-items:end;gap:10px;margin:10px 0 14px}
.staff-client-search .portal-field{flex:1;min-width:0}
.staff-client-search input{box-sizing:border-box;width:100%;min-height:48px;padding:10px;border:1px solid var(--aa-border);border-radius:8px;font:inherit}
@media(max-width:640px){.staff-client-search{display:grid;grid-template-columns:minmax(0,1fr)}.staff-client-search button{width:100%;min-height:48px}}
.staff-client-picker{grid-column:1/-1;display:grid;gap:10px;min-width:0}
.staff-client-picker .portal-field{margin:0}
.staff-client-picker input{box-sizing:border-box;width:100%;min-height:50px;padding:11px 13px;border:1px solid #8eaab9;border-radius:9px;background:#fff;color:#173246;font:inherit}
.staff-client-picker-results{display:grid;gap:7px;max-height:280px;overflow:auto}
.staff-client-result{width:100%;min-height:48px;padding:10px 12px;text-align:left;background:#fff;border:1px solid #c7d8e1;border-radius:9px;color:#173b52;font:inherit;font-weight:650;cursor:pointer}
.staff-client-result:hover,.staff-client-result:focus-visible{border-color:#0879ad;background:#f1f8fb}
.staff-client-selected{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid #b9d7e5;border-radius:10px;background:#fff}
.staff-client-selected .portal-note{margin:4px 0 0}
.portal-new-job-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.portal-new-job-fields>*{min-width:0}
@media(max-width:640px){.portal-new-job-fields{grid-template-columns:minmax(0,1fr)}.staff-client-selected{align-items:stretch;flex-direction:column}.staff-client-selected button{width:100%;min-height:48px}}
.staff-route-editor{grid-column:1/-1;display:grid;gap:10px;padding:12px;border:1px solid #bfd4df;border-radius:12px;background:#f7fbfd}
.staff-route-heading h4,.staff-route-heading p{margin:0}.staff-route-heading p{margin-top:4px}
.staff-route-list{display:grid;gap:10px}.staff-route-stop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid #d4e2e9;border-radius:10px;background:#fff}
.staff-route-stop-title{grid-column:1/-1;font-weight:750;color:#143d55}.staff-route-stop>.portal-field:nth-of-type(1){grid-column:1/-1}.staff-route-stop textarea{min-height:78px}
.staff-route-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.staff-route-actions .portal-note{margin:0 0 0 auto}.staff-route-stop>.button{align-self:end;justify-self:start}
@media(max-width:640px){.staff-route-stop{grid-template-columns:minmax(0,1fr)}.staff-route-stop-title,.staff-route-stop>.portal-field:nth-of-type(1){grid-column:auto}.staff-route-actions{display:grid}.staff-route-actions .button{width:100%;min-height:48px}.staff-route-actions .portal-note{margin:0}.staff-route-stop>.button{width:100%;min-height:48px}}
.portal-service-details-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid #d5e2e9;border-radius:10px;background:#fff}
.portal-service-details-fields h4{grid-column:1/-1;margin:0}
.portal-service-details-fields input,.portal-service-details-fields textarea{box-sizing:border-box;width:100%;min-height:48px;padding:10px;border:1px solid var(--aa-border);border-radius:8px;font:inherit}
.portal-service-details-fields textarea{min-height:84px}
@media(max-width:640px){.portal-service-details-fields{grid-template-columns:minmax(0,1fr)}.portal-service-details-fields h4{grid-column:auto}}

/* Full operations workspace on desktop; retain the thumb dock on phones. */
@media(min-width:701px){
  body.portal-nav-active #portal-content{display:grid;grid-template-columns:228px minmax(0,1fr);grid-template-rows:60px auto auto minmax(0,1fr);column-gap:0;padding:0;overflow:hidden}
  body.portal-nav-active .portal-head{grid-column:1/-1;grid-row:1;min-height:60px;padding:0 26px;box-shadow:0 2px 9px #102c3c16}
  body.portal-nav-active .staff-brand{font-size:1.05rem}
  body.portal-nav-active #portal-heading{display:block;margin-left:14px;color:#dcecf5;font-size:1rem;font-weight:650}
  body.portal-nav-active #portal-logout{margin-left:auto;min-height:40px}
  body.portal-nav-active .staff-command-strip{grid-column:2;grid-row:2;margin:0;padding:14px 28px;border-bottom:1px solid #d4e0e7;background:#fff}
  body.portal-nav-active #staff-global-search-form{display:grid;grid-template-columns:minmax(240px,560px) auto;align-items:end;gap:10px;max-width:900px;margin:0 auto}
  body.portal-nav-active #staff-global-search-form .portal-field{margin:0}
  body.portal-nav-active #staff-global-search-form input{box-sizing:border-box;width:100%;min-height:44px;padding:9px 12px;border:1px solid #afc3cf;border-radius:8px;font:inherit}
  body.portal-nav-active #staff-global-search-form button{min-height:44px}
  body.portal-nav-active #staff-global-search-results{position:absolute;z-index:80;top:124px;left:max(260px,calc(50% - 390px));width:min(560px,calc(100vw - 290px));padding:8px;border:1px solid #c8d8e1;border-radius:10px;background:#fff;box-shadow:0 16px 36px #102c3c24}
  body.portal-nav-active #portal-status{grid-column:2;grid-row:3;margin:0;padding:0 28px}
  body.portal-nav-active .staff-tab-panels{grid-column:2;grid-row:4;min-width:0;min-height:0}
  body.portal-nav-active .staff-tab-panel{padding:22px clamp(24px,3vw,48px) 32px}
  body.portal-nav-active .portal-bottom-nav{position:relative!important;grid-column:1;grid-row:2/5;display:flex!important;flex-direction:column;align-items:stretch;gap:7px;width:auto;max-width:none;height:100%;min-height:0;margin:0;padding:22px 12px;border-top:0;border-right:1px solid #d0dde5;background:#f8fbfd;box-shadow:none}
  body.portal-nav-active .staff-nav-item{justify-content:flex-start;min-height:48px;padding:10px 14px;font-size:15px;text-align:left}
  body.portal-nav-active .staff-nav-item::before{content:"";width:8px;height:8px;margin-right:11px;border-radius:50%;background:#98afbd;flex:none}
  body.portal-nav-active .staff-nav-item[aria-current="page"]::before{background:#0879ad}
  body.portal-nav-active .staff-module-intro{margin-bottom:18px}
  body.portal-nav-active .staff-module-intro h2{font-size:1.55rem}
  body.portal-nav-active .staff-record-card{margin:12px auto;max-width:1280px}
  body.portal-nav-active .staff-record-card>summary{min-height:56px;padding:14px 18px;font-size:1rem}
  body.portal-nav-active .staff-record-body{padding:4px 20px 20px}
  body.portal-nav-active .portal-health,body.portal-nav-active .portal-system-logs,body.portal-nav-active .portal-finance-board{max-width:1280px;margin-inline:auto}
  body.portal-nav-active .portal-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(160px,1fr)) auto;align-items:end}
  body.portal-nav-active .staff-job-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
  body.portal-nav-active .staff-workspace-module{min-width:0;margin:0;padding:14px;border:1px solid #d2e0e7;border-radius:11px;background:#f9fbfc}
  body.portal-nav-active .staff-workspace-module.wide{grid-column:1/-1}
  body.portal-nav-active .staff-workspace-module>summary{min-height:42px;color:#173b52;font-weight:760;cursor:pointer}
  body.portal-nav-active .staff-workspace-module[open]>summary{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #d6e2e8}
  body.portal-nav-active .staff-workspace-actions{display:flex;gap:8px;flex-wrap:wrap}
  body.portal-nav-active .staff-workspace-actions button{min-height:44px}
  body.portal-nav-active .staff-workspace-table{width:100%;border-collapse:collapse}
  body.portal-nav-active .staff-workspace-table th,body.portal-nav-active .staff-workspace-table td{padding:10px 8px;border-bottom:1px solid #d9e4e9;text-align:left;vertical-align:top;overflow-wrap:anywhere}
}
.staff-job-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:14px 0}
.staff-workspace-module{min-width:0;border:1px solid #d1dee6;border-radius:10px;background:#f8fbfd;overflow:hidden}
.staff-workspace-module>summary{min-height:48px;padding:13px 15px;cursor:pointer;font-weight:750;color:#173b52;list-style-position:inside}
.staff-workspace-module[open]>summary{border-bottom:1px solid #d4e0e7;background:#f0f6f9}
.staff-workspace-content{padding:12px 14px;min-width:0;overflow-wrap:anywhere}
.staff-workspace-content form{display:grid;gap:10px;margin:10px 0}
.staff-workspace-content :is(input,select,textarea){box-sizing:border-box;width:100%;min-height:44px;padding:9px 11px;border:1px solid #a9beca;border-radius:8px;background:#fff;color:#173246;font:inherit}
.staff-workspace-content textarea{min-height:88px}
.staff-workspace-content .button{min-height:44px}
.staff-workspace-list{display:grid;gap:8px;margin:8px 0}
.staff-workspace-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #d9e3e9;border-radius:8px;background:#fff;overflow-wrap:anywhere}
.staff-workspace-row>span{min-width:0}
.staff-tags{display:grid;gap:var(--aa-space-3);min-width:0;margin-top:var(--aa-space-4);padding-top:var(--aa-space-3);border-top:1px solid var(--aa-border)}
.staff-tags-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--aa-space-3);min-width:0}
.staff-tags-head h4{margin:0}
.staff-tags-count{flex:0 0 auto;color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:750}
.staff-tag-list{display:grid;gap:var(--aa-space-2);min-width:0;margin:0;padding:0;list-style:none}
.staff-tag-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--aa-space-3);min-width:0;padding:var(--aa-space-2) var(--aa-space-3);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface);overflow-wrap:anywhere}
.staff-tag-label{min-width:0;color:var(--aa-ink);font-weight:750;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}
.staff-tag-remove{min-height:44px;margin:0}
.staff-tag-feedback,.staff-tag-empty{margin:0}
.staff-tag-editor{margin-top:0}
.staff-tag-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.staff-tag-form .button{min-width:112px}
body.portal-nav-active[data-view-density=compact] .staff-tag-item{padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] .staff-tags-count{font-size:1em}
.staff-workspace-service{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.staff-workspace-service span{padding:9px 10px;border-radius:8px;background:#fff;overflow-wrap:anywhere}
.staff-workspace-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.staff-workspace-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:#e7eff4}
.staff-signature-caption{display:block;margin-top:7px;font-size:.82rem;line-height:1.35;overflow-wrap:anywhere}
.staff-signature-launch{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:14px 0;padding:14px;border:1px solid #d1dee6;border-radius:10px;background:#fff}
.staff-signature-launch h4{flex:1 0 100%;margin:0;color:#173b52}
.staff-signature-launch .button{min-height:46px}
.staff-signature-dialog{box-sizing:border-box;width:min(700px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:16px;color:#173246;box-shadow:0 24px 70px #0e263b52;overflow:auto}
.staff-signature-dialog::backdrop{background:#10273ab8;backdrop-filter:blur(3px)}
.staff-signature-panel{padding:clamp(16px,3vw,26px);background:#fff}
.staff-signature-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.staff-signature-head h2{margin:0;color:#142f43;font-size:1.45rem}
.staff-signature-head .portal-note{margin:5px 0 0}
.staff-signature-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.staff-signature-form>.portal-field{min-width:0;margin:0}
.staff-signature-form>.portal-field select,.staff-signature-form>.portal-field input{box-sizing:border-box;width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--aa-border);border-radius:8px;background:#fff;color:#173246;font:inherit}
.staff-signature-form>.portal-field:nth-of-type(3),.staff-signature-canvas-wrap,.staff-signature-disclosure,.staff-signature-actions,.staff-signature-form>[role=status]{grid-column:1/-1}
.staff-signature-canvas-wrap{position:relative;height:220px;border:2px dashed var(--aa-border);border-radius:12px;background:#fbfdfe;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.staff-signature-canvas{display:block;width:100%;height:220px;touch-action:none;cursor:crosshair;outline:none}
.staff-signature-canvas:focus-visible{box-shadow:inset 0 0 0 3px #0879ad}
.staff-signature-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;color:#687e8d;font-size:.95rem;font-weight:600;pointer-events:none}
.staff-signature-hint[hidden]{display:none}
.staff-signature-baseline{position:absolute;right:30px;bottom:27px;left:30px;border-bottom:1px solid #c9d5dc;pointer-events:none}
.staff-signature-disclosure{margin:0;color:#526879;font-size:.84rem;line-height:1.5}
.staff-signature-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-top:12px;border-top:1px solid #d8e3e9}
.staff-signature-actions .button{min-height:46px}
@media(max-width:600px){.staff-signature-launch{display:grid;grid-template-columns:minmax(0,1fr)}.staff-signature-launch h4{grid-column:1}.staff-signature-launch .button{width:100%;min-height:48px}.staff-signature-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.staff-signature-panel{padding:14px}.staff-signature-form{grid-template-columns:minmax(0,1fr);gap:10px}.staff-signature-form>.portal-field:nth-of-type(3),.staff-signature-canvas-wrap,.staff-signature-disclosure,.staff-signature-actions,.staff-signature-form>[role=status]{grid-column:1}.staff-signature-actions{display:grid;grid-template-columns:1fr 1fr}.staff-signature-actions .button{min-height:48px}.staff-signature-actions .button-blue{grid-column:1/-1;grid-row:1}}
.staff-workspace-error{color:#8b2727}
.staff-resource-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.staff-resource-admin-grid .portal-finance-board{min-width:0;margin:0}
.staff-dispatch-board{box-sizing:border-box;margin:12px auto 18px;padding:14px;border:1px solid #cbdbe4;border-radius:12px;background:#eaf3f8}
.staff-dispatch-board h4{margin:0 0 10px;color:#173b52}
.staff-dispatch-item{display:grid;grid-template-columns:minmax(260px,1fr) minmax(200px,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #cfdee6}
.staff-dispatch-item p{margin:0}
.staff-dispatch-open{min-height:44px;padding:8px 10px;border:0;background:transparent;text-align:left;color:#075f91;font:inherit;font-weight:720;cursor:pointer}
.staff-dispatch-item .button{min-height:42px}
.staff-access-stop{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0;padding:12px;border:1px solid #d1dee6;border-radius:9px}
.staff-access-stop legend{padding:0 6px;font-weight:750;color:#173b52}
.staff-access-toggle{display:flex;align-items:center;gap:9px;min-height:44px}
.staff-access-toggle input{width:18px!important;min-height:18px!important}
@media(max-width:700px){.staff-workspace-service{grid-template-columns:minmax(0,1fr)}.staff-workspace-row{align-items:flex-start;flex-direction:column}.staff-workspace-content .button{width:100%;min-height:48px}.staff-workspace-content{padding:11px}}
@media(max-width:700px){.staff-resource-admin-grid,.staff-access-stop{grid-template-columns:minmax(0,1fr)}.staff-dispatch-item{grid-template-columns:minmax(0,1fr);gap:5px}.staff-dispatch-item .button{width:100%}}

/* Global staff lookup and job actions. */
.staff-command-strip{box-sizing:border-box;flex:0 0 auto;padding:8px clamp(12px,3vw,24px);background:#fff;border-bottom:1px solid #d1dee6}
.staff-command-strip[hidden]{display:none!important}
.staff-command-strip form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;max-width:980px;margin:0 auto}
.staff-command-strip .portal-field{margin:0;min-width:0}
.staff-command-strip input{box-sizing:border-box;width:100%;min-height:48px;padding:10px 13px;border:1px solid var(--aa-border);border-radius:9px;font:inherit}
.staff-command-strip .button{min-height:48px;margin:0}
.staff-global-search-results{max-height:28dvh;overflow:auto;overscroll-behavior:contain;max-width:980px;margin:8px auto 0;padding:8px;border:1px solid #d1dee6;border-radius:10px;background:#f7fafc}
.staff-global-search-results[hidden]{display:none!important}
.staff-search-result{display:block;width:100%;min-height:48px;margin:4px 0;padding:10px 12px;text-align:left;white-space:normal;overflow-wrap:anywhere;border:1px solid #d1dee6;border-radius:8px;background:#fff;color:#173b52;font:inherit;font-weight:650;cursor:pointer}
.staff-command-dialog{box-sizing:border-box;width:min(720px,calc(100vw - 24px));max-width:720px;max-height:calc(100dvh - 24px);overflow:auto;padding:clamp(16px,4vw,26px);border:1px solid #cbdce6;border-radius:16px;background:#fff;color:#173246;box-shadow:var(--aa-shadow-dialog)}
.staff-command-dialog::backdrop{background:#0b2434a6}
.staff-command-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}
.staff-command-dialog-head h2{margin:0;font-size:clamp(1.35rem,4vw,1.8rem)}
.staff-command-dialog-head .button{min-height:44px;margin:0}
.staff-command-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.staff-command-action-grid[hidden]{display:none!important}
.staff-command-action-grid button{min-height:58px;padding:12px;border:1px solid #b9cbd6;border-radius:10px;background:#f4f8fb;color:#15384d;text-align:left;font:inherit;font-weight:750;cursor:pointer;touch-action:manipulation}
.staff-command-action-grid button:hover,.staff-command-action-grid button:focus-visible{border-color:#0879ad;background:#e8f4fa;outline:2px solid #0879ad;outline-offset:2px}
.staff-command-form{margin-top:14px;padding:14px;border:1px solid #d1dee6;border-radius:12px;background:#f8fbfd}
.staff-command-form[hidden]{display:none!important}
.staff-command-form .button{min-height:48px}
.staff-view-preferences-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-4);margin-top:var(--aa-space-4)}
.staff-view-preferences-form .portal-field{min-width:0;margin:0}
.staff-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--aa-space-2);grid-column:1/-1;padding-top:var(--aa-space-3);border-top:1px solid #d1dee6}
.staff-dialog-actions .button{margin:0;min-height:var(--aa-control-height)}
.staff-dialog-feedback{grid-column:1/-1;min-height:1.5em;margin:0;overflow-wrap:anywhere}
.staff-help-dialog{width:min(660px,calc(100vw - 24px))}
.staff-help-progress{margin:var(--aa-space-4) 0 var(--aa-space-2);color:#075f91;font-size:.85rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.staff-help-card{padding:var(--aa-space-5);border:1px solid #c8d9e3;border-radius:var(--aa-radius-lg);background:#f6fafc}
.staff-help-card h3{margin:0 0 var(--aa-space-2);font-size:1.25rem;color:#173b52}
.staff-help-card>p{margin:0 0 var(--aa-space-3);line-height:1.55}
.staff-help-checks{display:grid;gap:var(--aa-space-2);margin:0 0 var(--aa-space-4);padding-left:1.25rem}
.staff-help-checks li{padding-left:var(--aa-space-1);line-height:1.45}
.staff-help-next{margin:0!important;padding:var(--aa-space-3);border-left:4px solid #0879ad;background:#e8f4fa;color:#173b52;font-weight:700}
.staff-help-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--aa-space-2);align-items:center;margin-top:var(--aa-space-4);padding-top:var(--aa-space-3);border-top:1px solid #d1dee6}
.staff-help-actions .button{min-height:var(--aa-control-height);margin:0}
.staff-command-confirm{display:flex;align-items:flex-start;gap:10px;min-height:44px;margin:6px 0 12px;font-weight:650;line-height:1.45}
.staff-command-confirm input{width:22px;height:22px;flex:0 0 auto;margin:2px 0}
#staff-command-launch{min-height:44px;margin-left:auto;border-color:#91b5c9;background:#e8f4fa;color:#124b6a;font-weight:750}
@media(max-width:640px){
  .staff-command-strip{padding:8px 10px}
  .staff-command-strip form{grid-template-columns:minmax(0,1fr) auto;gap:7px}
  .staff-command-strip .button{padding-inline:12px}
  .staff-command-dialog{width:100vw;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top));margin:auto 0 0;padding:16px 14px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}
  .staff-command-dialog-head{position:sticky;top:-16px;z-index:2;margin:-16px -14px var(--aa-space-3);padding:var(--aa-space-3) 14px;background:var(--aa-surface);border-bottom:1px solid #d1dee6}
  .staff-command-dialog-head .button{min-height:var(--aa-control-height)}
  .staff-command-action-grid{grid-template-columns:minmax(0,1fr);gap:8px}
  .staff-command-action-grid button{min-height:52px}
  .staff-view-preferences-form{grid-template-columns:minmax(0,1fr);gap:var(--aa-space-3)}
  .staff-help-card{padding:var(--aa-space-4)}
  .staff-help-actions{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));z-index:2;margin:var(--aa-space-4) -14px calc(-18px - env(safe-area-inset-bottom));padding:var(--aa-space-3) 14px calc(var(--aa-space-3) + env(safe-area-inset-bottom));background:var(--aa-surface);box-shadow:0 -8px 18px #102c3c14}
  .staff-help-actions .button:first-child{grid-column:1/-1}
  .staff-help-actions .button{width:100%;white-space:normal}
  .staff-dialog-actions{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));z-index:2;margin:0 -14px calc(-18px - env(safe-area-inset-bottom));padding:var(--aa-space-3) 14px calc(var(--aa-space-3) + env(safe-area-inset-bottom));background:var(--aa-surface);box-shadow:0 -8px 18px #102c3c14}
  .staff-dialog-actions .button{width:100%;white-space:normal}
}

/* Keep staff actions readable against shared public-page button styles. */
body.portal-nav-active .button:not(:disabled){background:#0874a8;border-color:#0874a8;color:#fff}
body.portal-nav-active .button:not(:disabled):hover{background:#075f8a;border-color:#075f8a;color:#fff}
body.portal-nav-active .staff-record-card:not([open])>.staff-record-body{display:none!important}

/* Hour 1: accessible operational controls and allocation layout. */
body.portal-nav-active .button.button-outline:not(:disabled){background:#fff;border-color:#8ca8ba;color:#164760}
body.portal-nav-active .button.button-outline:not(:disabled):hover{background:#e9f3f8;border-color:#0874a8;color:#12425b}
body.portal-nav-active .button:disabled{background:#e4ebef;border-color:#b6c6cf;color:#526673;opacity:1;cursor:not-allowed}
body.portal-nav-active :is(button,input,select,textarea,summary,a):focus-visible{outline:3px solid #0874a8;outline-offset:3px}
body.portal-nav-active .staff-workspace-module>summary{font-size:1rem;line-height:1.45;min-height:48px;box-sizing:border-box}
body.portal-nav-active .staff-resource-form .staff-workspace-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px}
body.portal-nav-active .staff-resource-form .portal-field{min-width:0;margin:0;font-size:.875rem;line-height:1.5}
body.portal-nav-active .staff-resource-form .staff-workspace-row .button{margin:0}
body.portal-nav-active .staff-nav-item{transition:background-color .15s ease,border-color .15s ease}
@media(max-width:900px){body.portal-nav-active .staff-resource-form .staff-workspace-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.portal-nav-active .staff-resource-form .staff-workspace-row{grid-template-columns:minmax(0,1fr)}body.portal-nav-active .staff-resource-form .staff-workspace-row .button{width:100%;min-height:48px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

body.portal-nav-active[data-view-density=compact] .staff-workspace-row{padding:7px 10px}
body.portal-nav-active[data-view-density=compact] .staff-workspace-content{padding:8px 10px}
body.portal-nav-active[data-view-density=compact] .staff-job-workspace{gap:8px}
body.portal-nav-active[data-view-density=compact] .staff-record-card{margin-block:8px}
body.portal-nav-active[data-view-text=large] .staff-tab-panel{font-size:1.125rem}
body.portal-nav-active[data-view-text=large] .staff-tab-panel :is(input,select,textarea,button,summary,.portal-field,.portal-note){font-size:1em}
#staff-view-settings{margin:0 8px;min-height:44px}
@media(max-width:600px){#staff-view-settings{font-size:.875rem;padding:8px}}

/* Token-backed controls and edge-case resilience. */
body.portal-nav-active .button:not(:disabled){background:var(--aa-primary);border-color:var(--aa-primary);color:var(--aa-surface);min-height:var(--aa-control-height)}
body.portal-nav-active .button.button-outline:not(:disabled){background:var(--aa-surface);color:var(--aa-ink);border-color:var(--aa-border)}
body.portal-nav-active .button:not(:disabled):hover{background:var(--aa-primary-hover);color:var(--aa-surface)}
body.portal-nav-active :is(button,input,select,textarea,summary,a):focus-visible{outline:var(--aa-focus-width) solid var(--aa-primary);outline-offset:var(--aa-space-1)}
body.portal-nav-active :is(.staff-record-card>summary,.staff-workspace-row,.portal-feedback,.portal-note,.staff-command-dialog){overflow-wrap:anywhere}
body.portal-nav-active .staff-command-dialog{max-height:calc(100dvh - var(--aa-space-6));overflow:auto}
.staff-loading-skeleton{display:grid;gap:var(--aa-space-3);padding:var(--aa-space-4);margin-block:var(--aa-space-3);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface-subtle)}
.staff-loading-skeleton span{display:block;height:16px;width:85%;border-radius:var(--aa-radius);background:#dce6ed;animation:aa-skeleton-pulse 1.4s ease-in-out infinite alternate}
.staff-loading-skeleton span:last-child{width:60%}
@keyframes aa-skeleton-pulse{to{background:#c6d5df}}
.staff-empty-state{box-sizing:border-box;width:100%;margin:var(--aa-space-3) 0;padding:var(--aa-space-6);border:1px dashed var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface-subtle);color:var(--aa-muted);font-weight:650;line-height:1.55;text-align:center;overflow-wrap:anywhere}
.staff-empty-state-compact{margin:0;padding:var(--aa-space-3);text-align:left}
body.portal-nav-active #portal-status:not(:empty){box-sizing:border-box;width:calc(100% - (2 * var(--aa-space-4)));max-width:900px;max-height:none;margin:var(--aa-space-2) auto 0;padding:var(--aa-space-3) var(--aa-space-4);overflow:visible}
@media(max-width:600px){.staff-empty-state{padding:var(--aa-space-4)}body.portal-nav-active #portal-status:not(:empty){width:calc(100% - (2 * var(--aa-space-3)));margin-top:var(--aa-space-2)}}

/* Hour 6: scannable section hierarchy and dense record summaries. */
@media(min-width:901px){
  body.portal-nav-active .staff-module-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);grid-template-rows:auto auto;column-gap:var(--aa-space-6);align-items:end}
  body.portal-nav-active .staff-module-intro .staff-module-eyebrow{grid-column:1;grid-row:1}
  body.portal-nav-active .staff-module-intro h2{grid-column:1;grid-row:2}
  body.portal-nav-active .staff-module-intro p:last-child{grid-column:2;grid-row:1/3;align-self:end;max-width:52ch}
}
#staff-partners>h2{display:none}
body.portal-nav-active .staff-record-card{margin:var(--aa-space-2) auto;border-radius:var(--aa-radius);box-shadow:none}
body.portal-nav-active .staff-record-card>.staff-record-summary{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto 14px;grid-template-rows:auto auto;align-items:center;gap:var(--aa-space-1) var(--aa-space-3);min-height:52px;padding:var(--aa-space-2) var(--aa-space-4);list-style:none}
.staff-record-summary::-webkit-details-marker{display:none}
.staff-record-summary::after{content:"";grid-column:3;grid-row:1/3;justify-self:center;width:8px;height:8px;border-right:2px solid var(--aa-muted);border-bottom:2px solid var(--aa-muted);transform:rotate(45deg)}
.staff-record-card[open]>.staff-record-summary::after{transform:rotate(225deg)}
.staff-record-primary{min-width:0;color:var(--aa-ink);font-weight:780;line-height:1.35;overflow-wrap:anywhere}
.staff-record-state{justify-self:end;max-width:32ch;padding:4px 9px;border:1px solid #b8d0de;border-radius:999px;background:#e7f3f9;color:#164f6d;font-size:var(--aa-text-label);font-weight:750;line-height:1.25;text-align:center;text-transform:capitalize;overflow-wrap:anywhere}
.staff-record-meta{grid-column:1/3;min-width:0;color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:650;line-height:1.4;overflow-wrap:anywhere}
body.portal-nav-active .staff-record-card[open]>.staff-record-summary{background:var(--aa-surface-subtle);border-bottom:1px solid #d1dee6}
body.portal-nav-active[data-view-density=compact] .staff-record-card{margin-block:var(--aa-space-1)}
body.portal-nav-active[data-view-density=compact] .staff-record-card>.staff-record-summary{min-height:48px;padding:var(--aa-space-2) var(--aa-space-3)}
@media(max-width:520px){body.portal-nav-active .staff-record-card>.staff-record-summary{padding:var(--aa-space-2) var(--aa-space-3)}.staff-record-state{max-width:42vw}.staff-record-meta{font-size:.8125rem}}

/* Hour 2: compact lookup and responsive enquiry filters. */
body.portal-nav-active .staff-command-strip{position:relative;padding:var(--aa-space-2) var(--aa-space-4)}
body.portal-nav-active #staff-global-search-form{grid-template-columns:minmax(0,1fr) auto;gap:var(--aa-space-2);max-width:900px}
body.portal-nav-active #staff-global-search-form .portal-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--aa-space-3);font-size:var(--aa-text-label);line-height:1.4}
body.portal-nav-active #staff-global-search-form input,body.portal-nav-active #staff-global-search-form .button{min-height:var(--aa-control-height);margin:0}
body.portal-nav-active #staff-global-search-results{position:absolute;top:100%;left:var(--aa-space-4);right:var(--aa-space-4);width:auto;max-width:900px;max-height:28dvh;margin:0 auto;padding:var(--aa-space-2);box-sizing:border-box;z-index:80;overflow:auto;background:var(--aa-surface);border:1px solid var(--aa-border);border-radius:var(--aa-radius);box-shadow:0 12px 30px #142c4020}
body.portal-nav-active #portal-filters{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) auto;align-items:end;gap:var(--aa-space-3);padding:var(--aa-space-3);margin:0 0 var(--aa-space-4);background:var(--aa-surface-subtle);border-radius:var(--aa-radius)}
body.portal-nav-active #portal-filters .portal-field,body.portal-nav-active #portal-filters .portal-field:first-child{min-width:0;width:100%;margin:0;font-size:var(--aa-text-label)}
body.portal-nav-active #portal-filters :is(input,select){box-sizing:border-box;width:100%;min-width:0;min-height:var(--aa-control-height);font:inherit;background:var(--aa-surface);border:1px solid var(--aa-border);border-radius:var(--aa-radius)}
.staff-filter-actions{display:flex;align-items:center;gap:var(--aa-space-2);min-width:0}
body.portal-nav-active #portal-filters .button{margin:0;min-height:var(--aa-control-height);white-space:normal}
@media(max-width:1100px){body.portal-nav-active #portal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}body.portal-nav-active #portal-filters>.portal-field:first-child{grid-column:1/-1}.staff-filter-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:600px){body.portal-nav-active #staff-global-search-form .portal-field{grid-template-columns:minmax(0,1fr);gap:var(--aa-space-1)}body.portal-nav-active #portal-filters{grid-template-columns:minmax(0,1fr)}body.portal-nav-active #portal-filters>.portal-field:first-child,.staff-filter-actions{grid-column:auto}.staff-filter-actions{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}body.portal-nav-active #portal-filters .button{width:100%}}

/* Hour 7: consistent primary, secondary and destructive action hierarchy. */
.staff-form-actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:var(--aa-space-2);min-width:0;padding-top:var(--aa-space-2);border-top:1px solid #d1dee6}
.staff-form-actions .button{min-height:var(--aa-control-height);margin:0;white-space:normal}
/* Hour 42: keep action feedback attached to its primary control across modules. */
.staff-form-actions .portal-note{flex:1 1 280px;min-width:0;margin:0;overflow-wrap:anywhere}
body.portal-nav-active .button.button-danger:not(:disabled){background:var(--aa-danger);border-color:var(--aa-danger);color:var(--aa-surface)}
body.portal-nav-active .button.button-danger:not(:disabled):hover{background:var(--aa-danger-hover);border-color:var(--aa-danger-hover);color:var(--aa-surface)}
body.portal-nav-active .staff-command-action-grid [data-quick-action=cancel]{border-color:var(--aa-danger);background:var(--aa-danger-surface);color:var(--aa-danger)}
body.portal-nav-active .staff-command-action-grid [data-quick-action=cancel]:is(:hover,:focus-visible){border-color:var(--aa-danger);background:#ffe3df;color:var(--aa-danger);outline-color:var(--aa-danger)}
body.portal-nav-active .portal-quick-actions .button-blue{font-weight:780}
@media(max-width:600px){.staff-form-actions{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.staff-form-actions .button{width:100%;justify-content:center}}

/* Hour 3: resilient staff header and thumb-reach navigation. */
body.portal-nav-active .portal-head{background:var(--aa-header)}
body.portal-nav-active .portal-head .button.button-outline:not(:disabled){min-width:0;min-height:44px;margin:0;background:transparent;border-color:var(--aa-header-border);color:var(--aa-surface);white-space:normal;line-height:1.25}
body.portal-nav-active .portal-head .button.button-outline:not(:disabled):hover{background:#ffffff18;border-color:var(--aa-surface);color:var(--aa-surface)}
body.portal-nav-active .portal-head .button.button-outline:focus-visible{outline-color:var(--aa-surface)}
body.portal-nav-active .staff-brand{min-width:0;overflow:hidden;text-overflow:ellipsis}
@media(max-width:520px){
  body.portal-nav-active .portal-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:var(--aa-space-2);flex:0 0 auto;min-height:0;padding:var(--aa-space-2) var(--aa-space-3)}
  body.portal-nav-active .staff-brand{grid-column:1;grid-row:1;align-self:center}
  body.portal-nav-active #portal-heading{display:none}
  body.portal-nav-active #portal-logout{grid-column:2;grid-row:1;justify-self:end;min-height:44px}
  body.portal-nav-active #staff-command-launch{grid-column:1/-1;grid-row:2;width:100%;min-height:var(--aa-control-height)}
  body.portal-nav-active #staff-help-launch{grid-column:1;grid-row:3;width:100%;min-height:var(--aa-control-height);padding-inline:var(--aa-space-2)}
  body.portal-nav-active #staff-view-settings{grid-column:2;grid-row:3;width:100%;min-height:var(--aa-control-height);padding-inline:var(--aa-space-2)}
  body.portal-nav-active #portal-content{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  body.portal-nav-active .portal-bottom-nav{min-height:76px;padding:var(--aa-space-2) var(--aa-space-2) calc(var(--aa-space-2) + env(safe-area-inset-bottom))}
  body.portal-nav-active .staff-nav-item{min-height:52px;padding:var(--aa-space-1);font-size:.75rem;line-height:1.25;text-wrap:balance;overflow-wrap:anywhere}
}

/* Hour 35: measured contrast and shared control boundaries. */
.portal-shell :is(input,select,textarea,button){border-color:var(--aa-border)}

/* Hour 38: forced-colour and non-colour state resilience. */
@media(forced-colors:active){
  .portal-shell :is(button,input,select,textarea,summary,a):focus-visible{outline:var(--aa-focus-width) solid Highlight!important;outline-offset:var(--aa-space-1)}
  .portal-shell :is(.staff-nav-item[aria-current=page],.staff-sales-switch button[aria-current=page]){border:2px solid Highlight;outline:1px solid Highlight;outline-offset:-4px;box-shadow:none!important}
  .portal-shell :is(#portal-login-message,#portal-status,.portal-note[data-state],.portal-feedback[data-state],.portal-stage-badge,.staff-job-attention-chip,.staff-readiness-overall,.staff-allocation-status,.staff-route-status,.staff-booking-confirmation-state,.staff-job-sheet-status,.staff-access-card-state,.staff-task-status,.staff-task-overdue,.staff-claim-status,.staff-claim-overdue,.staff-finance-state,.staff-invoice-status,.health-badge){color:CanvasText;background:Canvas;border:1px solid CanvasText;forced-color-adjust:auto}
  .portal-shell :is(.staff-dispatch-readiness,.staff-readiness-fact,.staff-booking-confirmation,.staff-access-card,.staff-task-card,.staff-claim-card)[data-state]{border-left:4px solid CanvasText}
  .portal-shell .staff-loading-skeleton{background:Canvas;border-color:CanvasText}
  .portal-shell .staff-loading-skeleton span{background:CanvasText}
  .portal-shell :is(input,select,textarea)[aria-invalid=true]{border:2px solid CanvasText;outline:2px dashed CanvasText;outline-offset:2px;box-shadow:none}
}

/* Hour 8: preference-aware consistency across the complete staff workspace. */
body.portal-nav-active[data-view-text=large] :is(.staff-tab-panel,.staff-command-strip,.staff-command-dialog){font-size:1.125rem}
body.portal-nav-active[data-view-text=large] :is(.staff-tab-panel,.staff-command-strip,.staff-command-dialog) :is(input,select,textarea,button,summary,.portal-field,.portal-note){font-size:1em}
body.portal-nav-active[data-view-text=large] :is(#staff-global-search-form,#portal-filters) .portal-field{font-size:1em}
body.portal-nav-active[data-view-text=large] :is(.staff-record-state,.staff-record-meta){font-size:.875em}
body.portal-nav-active[data-view-text=large] .staff-module-eyebrow{font-size:.8em}
body.portal-nav-active[data-view-text=large] .staff-nav-item{font-size:1rem;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
body.portal-nav-active[data-view-density=compact] .staff-tab-panel{padding-block:var(--aa-space-3) var(--aa-space-4)}
body.portal-nav-active[data-view-density=compact] .staff-module-intro{margin-bottom:var(--aa-space-3);padding-bottom:var(--aa-space-2)}
body.portal-nav-active[data-view-density=compact] :is(#portal-filters,.portal-client-form,.portal-new-job-form,.portal-job-schedule,.staff-command-form){gap:var(--aa-space-2);padding:var(--aa-space-3)}
body.portal-nav-active[data-view-density=compact] #portal-filters{margin-bottom:var(--aa-space-3)}
body.portal-nav-active[data-view-density=compact] :is(.staff-sales-switch,.staff-new-job-launch){margin-bottom:var(--aa-space-2)}
body.portal-nav-active[data-view-density=compact] .staff-new-job-launch{padding:var(--aa-space-2)}
body.portal-nav-active[data-view-density=compact] :is(.staff-loading-skeleton,.staff-empty-state){padding:var(--aa-space-3)}

/* Hour 10: readable client contact cards and missing-detail fallbacks. */
.staff-client-card-body{display:grid;gap:var(--aa-space-3);padding-top:var(--aa-space-3)!important}
.staff-client-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-2);margin:0}
.staff-client-contact-item{min-width:0;padding:var(--aa-space-3);border:1px solid #d1dee6;border-radius:var(--aa-radius);background:var(--aa-surface-subtle)}
.staff-client-contact-item dt{margin:0 0 var(--aa-space-1);color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:750;line-height:1.3}
.staff-client-contact-item dd{min-width:0;margin:0;color:var(--aa-ink);font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.staff-client-contact-item a{color:var(--aa-primary-hover);text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.staff-client-missing{color:var(--aa-muted);font-weight:600}
.staff-client-notes{min-width:0;padding:var(--aa-space-3);border-left:3px solid var(--aa-border);background:var(--aa-surface-subtle);overflow-wrap:anywhere}
.staff-client-notes h4,.staff-client-notes p{margin:0}
.staff-client-notes h4{margin-bottom:var(--aa-space-1);font-size:var(--aa-text-label);color:var(--aa-ink)}
.staff-client-actions{margin:0;padding-top:var(--aa-space-3);border-top:1px solid #d1dee6}
body.portal-nav-active[data-view-density=compact] .staff-client-card-body{gap:var(--aa-space-2);padding-top:var(--aa-space-2)!important}
body.portal-nav-active[data-view-density=compact] :is(.staff-client-contact-item,.staff-client-notes){padding:var(--aa-space-2)}
@media(max-width:600px){.staff-client-contact-grid{grid-template-columns:minmax(0,1fr)}.staff-client-actions{display:grid;grid-template-columns:minmax(0,1fr)}.staff-client-actions .button{width:100%;min-height:var(--aa-control-height)}}

/* Hour 11: grouped client intake and actionable validation guidance. */
.staff-client-intake{gap:var(--aa-space-4)}
.staff-client-intake>h3,.staff-client-form-intro,.staff-client-intake>.staff-form-actions,.staff-client-intake>.staff-client-validation,.staff-client-intake>[role=status]{grid-column:1/-1}
.staff-client-form-intro{margin:calc(-1 * var(--aa-space-2)) 0 0;color:var(--aa-muted);line-height:1.5;overflow-wrap:anywhere}
.staff-client-form-section{grid-column:1/-1;min-width:0;margin:0;padding:var(--aa-space-4);border:1px solid #d1dee6;border-radius:var(--aa-radius);background:var(--aa-surface)}
.staff-client-form-section legend{padding:0 var(--aa-space-2);color:var(--aa-ink);font-size:1rem;font-weight:800;line-height:1.35}
.staff-client-section-help{margin:0 0 var(--aa-space-3);line-height:1.45}
.staff-client-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-3)}
.staff-field-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--aa-space-2);min-width:0}
.staff-field-label-text{min-width:0;overflow-wrap:anywhere}
.staff-field-requirement,.staff-field-optional{flex:none;color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:650}
.staff-field-requirement{color:var(--aa-ink)}
/* Hour 39: shared form-error identification and recovery. */
.portal-shell :is(input,select,textarea)[aria-invalid=true]{border-color:var(--aa-danger);box-shadow:0 0 0 2px var(--aa-danger-surface)}
.portal-form-validation{grid-column:1/-1;min-width:0;overflow-wrap:anywhere}
.portal-form-validation[hidden]{display:none}
body.portal-nav-active[data-view-density=compact] .staff-client-intake{gap:var(--aa-space-2)}
body.portal-nav-active[data-view-density=compact] .staff-client-form-section{padding:var(--aa-space-3)}
@media(max-width:640px){.staff-client-form-section{padding:var(--aa-space-3)}.staff-client-form-grid{grid-template-columns:minmax(0,1fr)}.staff-client-form-grid .portal-field.wide{grid-column:auto}.staff-field-label{align-items:flex-start}.staff-client-intake>.staff-form-actions{grid-column:auto}}
body.portal-nav-active[data-view-density=compact] .staff-command-action-grid{gap:var(--aa-space-2);margin-block:var(--aa-space-3)}
body.portal-nav-active[data-view-density=compact] .staff-form-actions{padding-top:var(--aa-space-1)}
@media(max-width:700px){body.portal-nav-active[data-view-text=large] .staff-nav-item{font-size:.875rem}}

/* Hour 12: client picker identity and selected-client hierarchy. */
.staff-client-picker-identity{display:grid;gap:var(--aa-space-1);min-width:0;text-align:left;line-height:1.45;overflow-wrap:anywhere}
.staff-client-picker-name{color:var(--aa-ink);font-weight:800}
.staff-client-picker-company{color:var(--aa-ink);font-weight:650}
.staff-client-picker-contact{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:600}
.staff-client-picker-option{box-sizing:border-box;min-height:var(--aa-control-height);padding:var(--aa-space-3);border-color:var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface);white-space:normal}
.staff-client-picker-option:is(:hover,:focus-visible){background:var(--aa-surface-subtle);border-color:var(--aa-primary)}
.staff-client-selection-details{display:grid;gap:var(--aa-space-2);flex:1 1 260px;min-width:0}
.staff-client-selection-label{color:var(--aa-success);font-size:var(--aa-text-label);font-weight:800}
.staff-client-selected{padding:var(--aa-space-3);border-color:var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface-subtle)}
.staff-client-selected .button{flex:0 0 auto;min-height:var(--aa-control-height)}
.staff-client-picker-hint{margin:0;line-height:1.45;overflow-wrap:anywhere}
.staff-client-picker-skeleton{margin:0;padding:var(--aa-space-3)}
body.portal-nav-active[data-view-density=compact] .staff-client-picker-option{padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] :is(.staff-client-picker-contact,.staff-client-selection-label){font-size:1em}
@media(max-width:640px){.staff-client-selection-details{flex:auto;width:100%}.staff-client-selected .button{width:100%}}

/* Hour 13: grouped expanded enquiry details. */
.portal-enquiry-detail-form{display:grid;gap:var(--aa-space-3);margin-block:var(--aa-space-3)}
.portal-enquiry-detail-section{min-width:0;padding:var(--aa-space-4);border:1px solid #d1dee6;border-radius:var(--aa-radius);background:var(--aa-surface-subtle)}
.portal-enquiry-detail-section>h4,.portal-enquiry-detail-section>p{margin:0}
.portal-enquiry-detail-section>h4{color:var(--aa-ink);font-size:1rem;line-height:1.35}
.portal-enquiry-detail-section>p{margin-top:var(--aa-space-1);line-height:1.45}
.portal-enquiry-detail-grid{margin:var(--aa-space-3) 0 0}
.portal-enquiry-fact{display:grid;align-content:start;gap:var(--aa-space-1);min-width:0;padding:var(--aa-space-3);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface);overflow-wrap:anywhere}
.portal-enquiry-fact-label{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:750;line-height:1.3}
.portal-enquiry-fact-value{min-width:0;color:var(--aa-ink);font-weight:700;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
a.portal-enquiry-fact-value{color:var(--aa-primary-hover);text-decoration-thickness:1px;text-underline-offset:3px}
.portal-enquiry-fact-value.is-missing{color:var(--aa-muted);font-weight:600}
body.portal-nav-active[data-view-density=compact] .portal-enquiry-detail-form{gap:var(--aa-space-2);margin-block:var(--aa-space-2)}
body.portal-nav-active[data-view-density=compact] :is(.portal-enquiry-detail-section,.portal-enquiry-fact){padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] .portal-enquiry-fact-label{font-size:1em}
@media(max-width:640px){.portal-enquiry-detail-section{padding:var(--aa-space-3)}.portal-enquiry-detail-grid{grid-template-columns:minmax(0,1fr)}.portal-enquiry-detail-grid .wide{grid-column:auto}}

/* Hour 14: enquiry stage and follow-up action hierarchy. */
.portal-enquiry-workflow{display:grid;gap:var(--aa-space-4);margin-block:var(--aa-space-4);padding:var(--aa-space-4);border:1px solid #d1dee6;border-radius:var(--aa-radius);background:var(--aa-surface-subtle)}
.portal-enquiry-workflow-title,.portal-enquiry-followup h5{margin:0;color:var(--aa-ink);line-height:1.35}
.portal-enquiry-workflow-title{font-size:1rem}
.portal-enquiry-stage-controls{display:grid;grid-template-columns:minmax(150px,auto) minmax(190px,1fr) auto;align-items:end;gap:var(--aa-space-3)}
.portal-enquiry-current-stage{display:grid;align-content:end;justify-items:start;gap:var(--aa-space-2);min-width:0}
.portal-enquiry-control-label{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:750;line-height:1.3}
.portal-enquiry-stage-field{margin:0;min-width:0}
.portal-enquiry-stage-field select{box-sizing:border-box;width:100%;min-height:var(--aa-control-height)}
.portal-enquiry-stage-controls>.button{min-height:var(--aa-control-height);margin:0}
.portal-enquiry-stage-feedback{grid-column:1/-1;margin:0}
.portal-enquiry-followup{display:grid;gap:var(--aa-space-2);padding-top:var(--aa-space-4);border-top:1px solid #d1dee6;min-width:0}
.portal-enquiry-followup h5{font-size:var(--aa-text-label)}
.portal-enquiry-followup-actions{margin:0}
.portal-enquiry-action-unavailable{display:inline-flex;align-items:center;box-sizing:border-box;min-height:var(--aa-control-height);padding:var(--aa-space-2) var(--aa-space-3);border:1px dashed var(--aa-border);border-radius:var(--aa-radius);color:var(--aa-muted);font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.portal-enquiry-action-feedback{margin:0}
body.portal-nav-active[data-view-density=compact] .portal-enquiry-workflow{gap:var(--aa-space-3);padding:var(--aa-space-3)}
body.portal-nav-active[data-view-density=compact] .portal-enquiry-followup{padding-top:var(--aa-space-3)}
body.portal-nav-active[data-view-text=large] :is(.portal-enquiry-control-label,.portal-enquiry-followup h5){font-size:1em}
@media(max-width:700px){.portal-enquiry-stage-controls{grid-template-columns:minmax(0,1fr)}.portal-enquiry-stage-controls>.button{width:100%}.portal-enquiry-stage-feedback{grid-column:auto}.portal-enquiry-followup-actions{display:grid;grid-template-columns:minmax(0,1fr)}.portal-enquiry-followup-actions .button{width:100%;min-height:var(--aa-control-height);justify-content:center}}

/* Hour 15: inventory and service-detail scan hierarchy. */
.portal-enquiry-inventory{display:grid;gap:var(--aa-space-3);margin-top:var(--aa-space-4);padding-top:var(--aa-space-4);border-top:1px solid #d1dee6}
.portal-enquiry-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--aa-space-3);min-width:0}
.portal-enquiry-section-heading h4,.portal-enquiry-section-heading p{margin:0;overflow-wrap:anywhere}
.portal-enquiry-inventory-list,.portal-enquiry-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-2);margin:0}
.portal-enquiry-inventory-item,.portal-enquiry-service-fact{display:grid;align-content:start;gap:var(--aa-space-1);min-width:0;padding:var(--aa-space-3);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface);overflow-wrap:anywhere}
.portal-enquiry-inventory-name{color:var(--aa-ink);font-weight:780;line-height:1.4}
.portal-enquiry-inventory-meta,.portal-enquiry-service-value{margin:0;color:var(--aa-muted);line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.portal-enquiry-service-details{display:grid;gap:var(--aa-space-3);margin-block:var(--aa-space-4);padding:var(--aa-space-4);border:1px solid #d1dee6;border-radius:var(--aa-radius);background:var(--aa-surface-subtle)}
.portal-enquiry-service-details>h4,.portal-enquiry-service-details>p{margin:0}
.portal-enquiry-service-details>h4{color:var(--aa-ink);font-size:1rem;line-height:1.35}
.portal-enquiry-empty{grid-column:1/-1;margin:0;padding:var(--aa-space-3);border:1px dashed var(--aa-border);border-radius:var(--aa-radius);color:var(--aa-muted);background:var(--aa-surface);font-weight:650;line-height:1.45;overflow-wrap:anywhere}
body.portal-nav-active[data-view-density=compact] :is(.portal-enquiry-inventory-item,.portal-enquiry-service-fact,.portal-enquiry-empty){padding:var(--aa-space-2)}
body.portal-nav-active[data-view-density=compact] .portal-enquiry-service-details{gap:var(--aa-space-2);padding:var(--aa-space-3)}
body.portal-nav-active[data-view-text=large] :is(.portal-enquiry-inventory-meta,.portal-enquiry-service-value){font-size:1em}
@media(max-width:640px){.portal-enquiry-section-heading{align-items:flex-start;flex-direction:column;gap:var(--aa-space-1)}.portal-enquiry-inventory-list,.portal-enquiry-service-grid{grid-template-columns:minmax(0,1fr)}.portal-enquiry-service-details{padding:var(--aa-space-3)}}

/* Hour 16: quote and partner-action workflow hierarchy. */
.portal-quote-workflow{display:grid;gap:var(--aa-space-3)}
.portal-quote-workflow>h4,.portal-quote-intro{margin:0}
.portal-quote-step{display:grid;gap:var(--aa-space-3);min-width:0;margin:0;padding:var(--aa-space-4);border:1px solid #d1dee6;border-radius:var(--aa-radius);background:var(--aa-surface)}
fieldset.portal-quote-step{min-inline-size:0}
.portal-quote-step legend,.portal-quote-step h5{margin:0;padding:0 var(--aa-space-1);color:var(--aa-ink);font-size:1rem;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.portal-quote-step h5{padding:0}
.portal-quote-step>.portal-note{margin:0;line-height:1.45}
.portal-quote-grid,.portal-quote-step .portal-grid{margin:0}
.portal-quote-scope .portal-quote-consent{grid-column:1/-1;margin:0;padding:var(--aa-space-3);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface-subtle)}
.portal-quote-partner-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:var(--aa-space-3);min-width:0}
.portal-quote-partner-controls .portal-field{min-width:0}
.portal-quote-partner-controls .button{min-height:var(--aa-control-height);margin:0;white-space:normal}
.portal-quote-load-state{margin:0;overflow-wrap:anywhere}
.portal-quote-issue .staff-form-actions{padding-top:0;border-top:0}
.portal-quote-preview{margin:0}
.portal-quote-workflow .portal-manual-quote{margin:0}
body.portal-nav-active[data-view-density=compact] .portal-quote-step{gap:var(--aa-space-2);padding:var(--aa-space-3)}
body.portal-nav-active[data-view-text=large] .portal-quote-step :is(legend,h5){font-size:1em}
@media(max-width:700px){.portal-quote-partner-controls{grid-template-columns:minmax(0,1fr)}.portal-quote-partner-controls .button{width:100%;justify-content:center}.portal-quote-step{padding:var(--aa-space-3)}}

/* Hour 17: date-grouped calendar and scannable booking summaries. */
.staff-dispatch-board{display:grid;gap:var(--aa-space-3);padding:var(--aa-space-4);background:var(--aa-surface-subtle);border-color:var(--aa-border)}
.staff-dispatch-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--aa-space-3);min-width:0}
.staff-dispatch-heading h4,.staff-dispatch-heading p{margin:0;overflow-wrap:anywhere}
.staff-dispatch-day{min-width:0;border:1px solid #d1dee6;border-radius:var(--aa-radius);background:var(--aa-surface);overflow:hidden}
.staff-dispatch-day>h5{margin:0;padding:var(--aa-space-2) var(--aa-space-4);background:#e7f3f9;color:var(--aa-ink);font-size:var(--aa-text-body);font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.staff-dispatch-day .staff-dispatch-item{grid-template-columns:minmax(120px,.3fr) minmax(0,1fr) auto;margin:0;padding:var(--aa-space-3) var(--aa-space-4);border-top:1px solid #d1dee6}
.staff-dispatch-day .staff-dispatch-item:first-of-type{border-top:0}
.staff-dispatch-time{align-self:start;color:var(--aa-ink);font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.staff-dispatch-summary{display:grid;gap:var(--aa-space-2);min-width:0}
.staff-dispatch-summary .staff-dispatch-open{box-sizing:border-box;min-height:var(--aa-control-height);padding:var(--aa-space-2) 0;color:var(--aa-primary-hover);font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.staff-dispatch-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--aa-space-2);min-width:0}
.staff-dispatch-status{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--aa-border);border-radius:999px;background:var(--aa-surface-subtle);color:var(--aa-ink);font-size:var(--aa-text-label);font-weight:750;line-height:1.25;text-transform:capitalize;overflow-wrap:anywhere}
.staff-dispatch-route{margin:0;color:var(--aa-muted);font-weight:650;line-height:1.45;overflow-wrap:anywhere}
body.portal-nav-active[data-view-density=compact] .staff-dispatch-board{gap:var(--aa-space-2);padding:var(--aa-space-3)}
body.portal-nav-active[data-view-density=compact] .staff-dispatch-day .staff-dispatch-item{padding:var(--aa-space-2) var(--aa-space-3)}
body.portal-nav-active[data-view-text=large] .staff-dispatch-status{font-size:1em}
@media(max-width:700px){.staff-dispatch-heading{align-items:flex-start;flex-direction:column;gap:var(--aa-space-1)}.staff-dispatch-day>h5{padding:var(--aa-space-2) var(--aa-space-3)}.staff-dispatch-day .staff-dispatch-item{grid-template-columns:minmax(0,1fr);gap:var(--aa-space-2);padding:var(--aa-space-3)}.staff-dispatch-day .staff-dispatch-item>.button{width:100%;min-height:var(--aa-control-height)}.staff-dispatch-time{padding-top:var(--aa-space-1)}}

/* Hour 18: dense job summaries and explicit operational attention states. */
body.portal-nav-active .staff-job-card>.staff-job-summary{grid-template-rows:auto auto auto;row-gap:var(--aa-space-2)}
.staff-job-summary::after{grid-row:1/-1}
.staff-job-summary[data-attention=urgent]{box-shadow:inset 4px 0 var(--aa-danger)}
.staff-job-summary[data-attention=warning]{box-shadow:inset 4px 0 var(--aa-warning)}
.staff-job-summary .staff-record-state[data-job-state=booked]{color:var(--aa-success);background:var(--aa-success-surface);border-color:var(--aa-success)}
.staff-job-summary .staff-record-state[data-job-state=planning]{color:var(--aa-warning);background:var(--aa-warning-surface);border-color:var(--aa-warning)}
.staff-job-summary .staff-record-state[data-job-state=in_progress]{color:var(--aa-info);background:var(--aa-info-surface);border-color:var(--aa-info)}
.staff-job-summary .staff-record-state[data-job-state=cancelled]{color:var(--aa-danger);background:var(--aa-danger-surface);border-color:var(--aa-danger)}
.staff-job-summary-meta{grid-column:1/3;display:flex;align-items:center;flex-wrap:wrap;gap:var(--aa-space-2) var(--aa-space-3);min-width:0;color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:650;line-height:1.4}
.staff-job-summary-date{flex:0 0 auto;color:var(--aa-ink);font-weight:750}
.staff-job-summary-route{flex:1 1 300px;min-width:0;overflow-wrap:anywhere}
.staff-job-attention{grid-column:1/3;display:flex;align-items:center;flex-wrap:wrap;gap:var(--aa-space-2);min-width:0}
.staff-job-attention-chip{display:inline-flex;align-items:center;box-sizing:border-box;min-height:30px;padding:4px 9px;border:1px solid currentColor;border-radius:999px;font-size:var(--aa-text-label);font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.staff-job-attention-chip[data-tone=urgent]{color:var(--aa-danger);background:var(--aa-danger-surface)}
.staff-job-attention-chip[data-tone=warning]{color:var(--aa-warning);background:var(--aa-warning-surface)}
body.portal-nav-active[data-view-density=compact] .staff-job-summary{row-gap:var(--aa-space-1)}
body.portal-nav-active[data-view-text=large] :is(.staff-job-summary-meta,.staff-job-attention-chip){font-size:1em}
@media(max-width:520px){.staff-job-summary-meta{align-items:flex-start;gap:var(--aa-space-2)}.staff-job-summary-route{flex-basis:100%}.staff-job-attention{align-items:stretch}.staff-job-attention-chip{flex:1 1 140px;justify-content:center;text-align:center}}

/* Hour 19: crew confirmation and vehicle-allocation readiness. */
.staff-dispatch-readiness{display:grid;gap:var(--aa-space-3);margin-bottom:var(--aa-space-4);padding:var(--aa-space-4);border:1px solid var(--aa-border);border-left-width:4px;border-radius:var(--aa-radius);background:var(--aa-surface)}
.staff-dispatch-readiness[data-state=ready]{border-left-color:var(--aa-success)}
.staff-dispatch-readiness[data-state=attention]{border-left-color:var(--aa-warning)}
.staff-readiness-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--aa-space-3);min-width:0}
.staff-readiness-heading h4{margin:0;color:var(--aa-ink);overflow-wrap:anywhere}
.staff-readiness-overall{padding:5px 9px;border:1px solid currentColor;border-radius:999px;color:var(--aa-warning);background:var(--aa-warning-surface);font-size:var(--aa-text-label);font-weight:800;line-height:1.3;text-align:center;overflow-wrap:anywhere}
.staff-dispatch-readiness[data-state=ready] .staff-readiness-overall{color:var(--aa-success);background:var(--aa-success-surface)}
.staff-readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-2)}
.staff-readiness-fact{display:grid;align-content:start;gap:var(--aa-space-1);min-width:0;padding:var(--aa-space-3);border:1px solid #d1dee6;border-radius:var(--aa-radius);background:var(--aa-surface-subtle);overflow-wrap:anywhere}
.staff-readiness-fact[data-state=ready]{border-color:var(--aa-success)}
.staff-readiness-fact[data-state=attention]{border-color:var(--aa-warning)}
.staff-readiness-label{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:750}
.staff-readiness-fact strong{color:var(--aa-ink);line-height:1.4}
.staff-readiness-fact .portal-note{margin:0;line-height:1.4}
.staff-allocation-section{display:grid;gap:var(--aa-space-2);margin-block:var(--aa-space-4);min-width:0}
.staff-allocation-section>h4{margin:0;color:var(--aa-ink);font-size:1rem;line-height:1.4}
.staff-allocation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-2)}
.staff-allocation-card{display:flex;align-items:center;justify-content:space-between;gap:var(--aa-space-3);min-width:0;padding:var(--aa-space-3);border:1px solid #d1dee6;border-radius:var(--aa-radius);background:var(--aa-surface)}
.staff-allocation-identity{display:grid;gap:var(--aa-space-1);min-width:0;overflow-wrap:anywhere}
.staff-allocation-name{color:var(--aa-ink);line-height:1.4;overflow-wrap:anywhere}
.staff-allocation-meta{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.staff-allocation-status{flex:0 1 auto;max-width:42%;padding:5px 9px;border:1px solid currentColor;border-radius:999px;font-size:var(--aa-text-label);font-weight:800;line-height:1.25;text-align:center;text-transform:capitalize;overflow-wrap:anywhere}
.staff-allocation-status[data-state=ready]{color:var(--aa-success);background:var(--aa-success-surface)}
.staff-allocation-status[data-state=attention]{color:var(--aa-warning);background:var(--aa-warning-surface)}
body.portal-nav-active[data-view-density=compact] :is(.staff-dispatch-readiness,.staff-readiness-fact,.staff-allocation-card){padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] :is(.staff-readiness-label,.staff-readiness-overall,.staff-allocation-meta,.staff-allocation-status){font-size:1em}
@media(max-width:700px){.staff-readiness-heading{align-items:flex-start;flex-direction:column}.staff-readiness-grid,.staff-allocation-list{grid-template-columns:minmax(0,1fr)}.staff-readiness-overall{max-width:100%}.staff-allocation-card{align-items:flex-start}.staff-allocation-status{max-width:48%}}
@media(max-width:420px){.staff-allocation-card{flex-direction:column}.staff-allocation-status{box-sizing:border-box;max-width:100%;width:100%}}

/* Hour 20: grouped, reviewable crew and vehicle allocation controls. */
.staff-resource-form{display:grid;gap:var(--aa-space-4)!important;margin-top:var(--aa-space-4)!important;padding-top:var(--aa-space-4);border-top:1px solid #d1dee6}
.staff-allocation-editor-intro{display:grid;gap:var(--aa-space-1)}
.staff-allocation-editor-intro :is(h4,p){margin:0;overflow-wrap:anywhere}
.staff-allocation-editors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--aa-space-4);min-width:0}
.staff-allocation-editor{display:grid;gap:var(--aa-space-3);min-width:0;margin:0;padding:var(--aa-space-4);border:1px solid #c5d6e0;border-radius:var(--aa-radius);background:var(--aa-surface-subtle)}
.staff-allocation-provider{grid-column:1/-1}
.staff-allocation-editor legend{max-width:100%;padding-inline:var(--aa-space-2);color:var(--aa-ink);font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.staff-allocation-editor>.portal-note{margin:0;line-height:1.5}
.staff-allocation-edit-rows{margin:0}
body.portal-nav-active .staff-resource-form .staff-allocation-edit-row{align-items:end;min-width:0;margin:0;background:var(--aa-surface)}
body.portal-nav-active .staff-resource-form .staff-allocation-edit-row[data-kind=crew]{grid-template-columns:minmax(150px,1.35fr) minmax(150px,1.35fr) minmax(120px,.8fr) auto}
body.portal-nav-active .staff-resource-form .staff-allocation-edit-row[data-kind=vehicle]{grid-template-columns:minmax(160px,1.35fr) minmax(160px,1fr) auto}
body.portal-nav-active .staff-resource-form .staff-allocation-edit-row[data-kind=provider]{grid-template-columns:minmax(220px,1fr) minmax(220px,1.5fr);align-items:center}
.staff-allocation-edit-row :is(label,select){min-width:0;max-width:100%}
.staff-allocation-remove{white-space:normal;text-align:center}
.staff-allocation-add{justify-self:start;margin:0!important}
.staff-allocation-availability{display:grid;gap:var(--aa-space-2)}
.staff-allocation-availability .portal-note{margin:0}
.staff-allocation-form-actions{display:flex;align-items:flex-start;gap:var(--aa-space-3);flex-wrap:wrap;padding-top:var(--aa-space-3);border-top:1px solid #d1dee6}
.staff-allocation-form-actions .button{flex:0 0 auto;margin:0}
.staff-allocation-form-actions .portal-note{flex:1 1 280px;margin:0}
body.portal-nav-active[data-view-density=compact] .staff-allocation-editor{padding:var(--aa-space-3)}
body.portal-nav-active[data-view-text=large] .staff-allocation-editor legend{font-size:1em}
@media(max-width:1100px){.staff-allocation-editors{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){body.portal-nav-active .staff-resource-form .staff-allocation-edit-row[data-kind=crew],body.portal-nav-active .staff-resource-form .staff-allocation-edit-row[data-kind=vehicle]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.staff-allocation-editor{padding:var(--aa-space-3)}body.portal-nav-active .staff-resource-form .staff-allocation-edit-row[data-kind=crew],body.portal-nav-active .staff-resource-form .staff-allocation-edit-row[data-kind=vehicle],body.portal-nav-active .staff-resource-form .staff-allocation-edit-row[data-kind=provider]{grid-template-columns:minmax(0,1fr)}.staff-allocation-add,.staff-allocation-form-actions .button{width:100%;min-height:48px}.staff-allocation-form-actions{align-items:stretch;flex-direction:column}}

/* Hour 21: stop-level route and schedule hierarchy. */
.staff-route-stop{display:grid;gap:var(--aa-space-3);margin-block:var(--aa-space-3);padding:var(--aa-space-4);border:1px solid #c5d6e0;background:var(--aa-surface)}
.staff-route-stop-head,.staff-leg-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--aa-space-3);min-width:0}
.staff-route-stop-identity{display:grid;gap:var(--aa-space-1);min-width:0}
.staff-route-stop-kicker{color:var(--aa-primary);font-size:var(--aa-text-label);font-weight:800;line-height:1.35;text-transform:uppercase;letter-spacing:.06em}
.staff-route-stop .staff-route-stop-head h4{margin:0;color:var(--aa-ink);font-size:1.0625rem;line-height:1.4;overflow-wrap:anywhere}
.staff-route-status{flex:0 1 auto;max-width:42%;padding:5px 9px;border:1px solid currentColor;border-radius:999px;color:var(--aa-info);background:var(--aa-info-surface);font-size:var(--aa-text-label);font-weight:800;line-height:1.3;text-align:center;text-transform:capitalize;overflow-wrap:anywhere}
.staff-route-status[data-state=completed]{color:var(--aa-success);background:var(--aa-success-surface)}
.staff-route-status[data-state=cancelled]{color:var(--aa-danger);background:var(--aa-danger-surface)}
.staff-route-status[data-state=planned]{color:var(--aa-warning);background:var(--aa-warning-surface)}
.staff-route-path,.staff-leg-route{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-2);min-width:0}
.staff-route-point,.staff-leg-route-point{display:grid;align-content:start;gap:var(--aa-space-1);min-width:0;padding:var(--aa-space-3);border:1px solid #d1dee6;border-radius:var(--aa-radius);background:var(--aa-surface-subtle);overflow-wrap:anywhere}
.staff-route-point-label,.staff-route-time-label{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:750;line-height:1.35}
.staff-route-point strong,.staff-leg-route-point strong{color:var(--aa-ink);line-height:1.45;overflow-wrap:anywhere}
.staff-route-timing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--aa-space-2);min-width:0}
.staff-route-time-fact{display:grid;gap:var(--aa-space-1);min-width:0;padding:var(--aa-space-2) var(--aa-space-3);border-left:3px solid var(--aa-border);background:var(--aa-surface-subtle);overflow-wrap:anywhere}
.staff-route-time-value{color:var(--aa-ink);font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.staff-route-facts{margin:0}
.staff-route-actions{display:flex;align-items:center;gap:var(--aa-space-2);flex-wrap:wrap;padding-top:var(--aa-space-2);border-top:1px solid #d1dee6}
.staff-route-actions .button{margin:0}
.staff-job-stops{margin-block:var(--aa-space-3)}
.staff-leg-row{display:grid;gap:var(--aa-space-2);margin:var(--aa-space-2) 0 0;padding:var(--aa-space-3) 0 0}
.staff-leg-row-head h5{min-width:0;margin:0;color:var(--aa-ink);font-size:1rem;line-height:1.4;overflow-wrap:anywhere}
.staff-leg-timing{margin:0;line-height:1.45;overflow-wrap:anywhere}
.staff-leg-row>.button{justify-self:start;margin:0}
body.portal-nav-active[data-view-density=compact] :is(.staff-route-stop,.staff-route-point,.staff-leg-route-point){padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] :is(.staff-route-stop-kicker,.staff-route-status,.staff-route-point-label,.staff-route-time-label){font-size:1em}
@media(max-width:700px){.staff-route-stop-head,.staff-leg-row-head{align-items:flex-start;flex-direction:column}.staff-route-status{box-sizing:border-box;max-width:100%}.staff-route-path,.staff-leg-route,.staff-route-timing{grid-template-columns:minmax(0,1fr)}.staff-route-actions .button,.staff-leg-row>.button{width:100%;min-height:48px}}

/* Hour 22: field-event timeline and action hierarchy. */
.staff-timing-summary{display:grid;gap:var(--aa-space-1);margin-bottom:var(--aa-space-4);padding:var(--aa-space-3);border-left:4px solid var(--aa-primary);border-radius:var(--aa-radius);background:var(--aa-info-surface);overflow-wrap:anywhere}
.staff-timing-summary-label{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:750;line-height:1.35}
.staff-timing-summary strong{color:var(--aa-ink);font-size:1.0625rem;line-height:1.4}
.staff-timing-summary .portal-note{margin:0}
.staff-timing-list{display:grid;gap:0;margin:0;padding:0;list-style:none}
.staff-timing-event{position:relative;display:grid;gap:var(--aa-space-1);min-width:0;margin-left:9px;padding:var(--aa-space-3) var(--aa-space-3) var(--aa-space-3) var(--aa-space-6);border-left:2px solid var(--aa-border);overflow-wrap:anywhere}
.staff-timing-event::before{content:"";position:absolute;left:-6px;top:18px;width:10px;height:10px;border:2px solid var(--aa-surface);border-radius:50%;background:var(--aa-primary)}
.staff-timing-event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--aa-space-3);min-width:0}
.staff-timing-event-head strong{min-width:0;color:var(--aa-ink);line-height:1.4;overflow-wrap:anywhere}
.staff-timing-event-time{flex:0 1 auto;color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:700;line-height:1.4;text-align:right;overflow-wrap:anywhere}
.staff-timing-event-actor{color:var(--aa-muted);font-size:var(--aa-text-label);line-height:1.4;overflow-wrap:anywhere}
.staff-timing-manual-note{display:flex;align-items:flex-start;gap:var(--aa-space-2);flex-wrap:wrap;padding-top:var(--aa-space-1);color:var(--aa-muted);font-size:var(--aa-text-label);line-height:1.4;overflow-wrap:anywhere}
.staff-timing-manual-badge{flex:0 0 auto;padding:3px 7px;border:1px solid var(--aa-warning);border-radius:999px;color:var(--aa-warning);background:var(--aa-warning-surface);font-weight:800}
.staff-timing-actions-panel{display:grid;gap:var(--aa-space-3);margin-top:var(--aa-space-4);padding:var(--aa-space-4);border:1px solid #c5d6e0;border-radius:var(--aa-radius);background:var(--aa-surface)}
.staff-timing-actions-panel :is(h4,p){margin:0;overflow-wrap:anywhere}
.staff-timing-actions-panel .portal-field{margin:0}
.staff-timing-actions{align-items:center}
.staff-timing-actions .staff-empty-state{width:100%}
.staff-timing-correction{margin-top:var(--aa-space-3);border:1px solid #d1dee6;border-radius:var(--aa-radius);background:var(--aa-surface)}
.staff-timing-correction>summary{box-sizing:border-box;min-height:48px;padding:var(--aa-space-3);color:var(--aa-ink);font-weight:750;line-height:1.45;cursor:pointer;overflow-wrap:anywhere}
.staff-timing-correction[open]>summary{border-bottom:1px solid #d1dee6;background:var(--aa-surface-subtle)}
.staff-timing-correction .staff-manual-time{margin:0;padding:var(--aa-space-4)}
.staff-timing-correction .staff-manual-time>.portal-note:first-child{margin:0}
body.portal-nav-active[data-view-density=compact] :is(.staff-timing-summary,.staff-timing-actions-panel,.staff-timing-event){padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] :is(.staff-timing-summary-label,.staff-timing-event-time,.staff-timing-event-actor,.staff-timing-manual-note){font-size:1em}
@media(max-width:700px){.staff-timing-event{padding-right:var(--aa-space-2)}.staff-timing-event-head{flex-direction:column;gap:var(--aa-space-1)}.staff-timing-event-time{text-align:left}.staff-timing-actions-panel{padding:var(--aa-space-3)}.staff-timing-actions{display:grid!important;grid-template-columns:minmax(0,1fr)}.staff-timing-actions .button{width:100%;min-height:48px}.staff-timing-correction .staff-manual-time{padding:var(--aa-space-3)}}

/* Hour 23: booking-confirmation and payment-state action hierarchy. */
.staff-booking-confirmation{display:grid;gap:var(--aa-space-3);margin-block:var(--aa-space-4);padding:var(--aa-space-4);border:1px solid #c5d6e0;border-left:4px solid var(--aa-warning);border-radius:var(--aa-radius);background:var(--aa-surface);overflow-wrap:anywhere}
.staff-booking-confirmation[data-state=ready]{border-left-color:var(--aa-success)}
.staff-booking-confirmation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--aa-space-3);min-width:0}
.staff-booking-confirmation-head h4{min-width:0;margin:0;color:var(--aa-ink);font-size:1.0625rem;line-height:1.4;overflow-wrap:anywhere}
.staff-booking-confirmation-state{flex:0 1 auto;box-sizing:border-box;max-width:48%;padding:5px 9px;border:1px solid currentColor;border-radius:999px;font-size:var(--aa-text-label);font-weight:800;line-height:1.3;text-align:center;overflow-wrap:anywhere}
.staff-booking-confirmation-state[data-state=ready]{color:var(--aa-success);background:var(--aa-success-surface)}
.staff-booking-confirmation-state[data-state=blocked]{color:var(--aa-warning);background:var(--aa-warning-surface)}
.staff-booking-confirmation-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--aa-space-2);min-width:0;margin:0}
.staff-booking-confirmation-fact{display:grid;align-content:start;gap:var(--aa-space-1);min-width:0;margin:0;padding:var(--aa-space-3);border:1px solid #d1dee6;border-radius:var(--aa-radius);background:var(--aa-surface-subtle);overflow-wrap:anywhere}
.staff-booking-confirmation-fact dt{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:750;line-height:1.35}
.staff-booking-confirmation-fact dd{margin:0;color:var(--aa-ink);font-weight:750;line-height:1.45;overflow-wrap:anywhere}
.staff-booking-confirmation-action{display:flex;align-items:center;gap:var(--aa-space-3);flex-wrap:wrap;padding-top:var(--aa-space-3);border-top:1px solid #d1dee6}
.staff-booking-confirmation-action .button{flex:0 0 auto;margin:0}
.staff-booking-confirmation-action .portal-note{flex:1 1 300px;margin:0;line-height:1.5;overflow-wrap:anywhere}
body.portal-nav-active[data-view-density=compact] :is(.staff-booking-confirmation,.staff-booking-confirmation-fact){padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] :is(.staff-booking-confirmation-state,.staff-booking-confirmation-fact dt){font-size:1em}
@media(max-width:700px){.staff-booking-confirmation{padding:var(--aa-space-3)}.staff-booking-confirmation-head{flex-direction:column}.staff-booking-confirmation-state{max-width:100%}.staff-booking-confirmation-facts{grid-template-columns:minmax(0,1fr)}.staff-booking-confirmation-action{align-items:stretch;flex-direction:column}.staff-booking-confirmation-action .button{width:100%;min-height:48px}}

/* Hour 24: expanded job facts and sheet-sync state clarity. */
.staff-job-overview{display:grid;gap:var(--aa-space-3);margin-block:var(--aa-space-4);min-width:0}
.staff-job-overview h4,.staff-job-sheet-status h4{margin:0;color:inherit;font-size:1.0625rem;line-height:1.4;overflow-wrap:anywhere}
.staff-job-overview-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--aa-space-3);margin:0;min-width:0}
.staff-job-overview-fact{display:grid;align-content:start;gap:var(--aa-space-1);padding:var(--aa-space-3);min-width:0;border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface-subtle);overflow-wrap:anywhere}
.staff-job-overview-fact:nth-child(-n+2){grid-column:span 3}
.staff-job-overview-fact dt{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:750;line-height:1.35}
.staff-job-overview-fact dd{margin:0;color:var(--aa-ink);font-weight:750;line-height:1.5;overflow-wrap:anywhere}
.staff-job-sheet-status{display:grid;gap:var(--aa-space-1);margin-block:var(--aa-space-4);padding:var(--aa-space-3);border:1px solid currentColor;border-left-width:4px;border-radius:var(--aa-radius);min-width:0;overflow-wrap:anywhere}
.staff-job-sheet-status[data-state=synced]{color:var(--aa-success);background:var(--aa-success-surface)}
.staff-job-sheet-status[data-state=pending]{color:var(--aa-info);background:var(--aa-info-surface)}
.staff-job-sheet-status[data-state=error]{color:var(--aa-danger);background:var(--aa-danger-surface)}
.staff-job-sheet-status .portal-note{margin:0;color:inherit;line-height:1.5}
body.portal-nav-active[data-view-density=compact] :is(.staff-job-overview-fact,.staff-job-sheet-status){padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] .staff-job-overview-fact dt{font-size:1em}
@media(max-width:700px){.staff-job-overview-facts{grid-template-columns:minmax(0,1fr)}.staff-job-overview-fact:nth-child(-n+2){grid-column:auto}}

/* Hour 25: job-workspace route and access hierarchy. */
.staff-workspace-module>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--aa-space-3);overflow-wrap:anywhere}
.staff-workspace-summary-label{min-width:0}
.staff-workspace-summary-meta{flex:0 1 auto;color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:700;text-align:right;overflow-wrap:anywhere}
.staff-route-inventory,.staff-route-access{display:grid;gap:var(--aa-space-2);min-width:0;margin-top:var(--aa-space-4)}
.staff-route-inventory>h5,.staff-route-access>h5{margin:0;color:var(--aa-ink);font-size:1rem;line-height:1.4}
.staff-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-3);min-width:0}
.staff-access-card{display:grid;align-content:start;gap:var(--aa-space-2);min-width:0;padding:var(--aa-space-3);border:1px solid var(--aa-border);border-left:4px solid var(--aa-success);border-radius:var(--aa-radius);background:var(--aa-surface);overflow-wrap:anywhere}
.staff-access-card[data-state=missing]{border-left-color:var(--aa-warning);background:var(--aa-warning-surface)}
.staff-access-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--aa-space-2);min-width:0}
.staff-access-card-heading h5{min-width:0;margin:0;color:var(--aa-ink);font-size:1rem;line-height:1.4;overflow-wrap:anywhere}
.staff-access-card-state{flex:0 1 auto;max-width:45%;padding:4px 8px;border:1px solid currentColor;border-radius:999px;color:var(--aa-success);background:var(--aa-success-surface);font-size:var(--aa-text-label);font-weight:800;line-height:1.3;text-align:center;overflow-wrap:anywhere}
.staff-access-card[data-state=missing] .staff-access-card-state{color:var(--aa-warning);background:var(--aa-warning-surface)}
.staff-access-card>.portal-note{margin:0}
.staff-access-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-2);margin:0}
.staff-storage-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-3)}
.staff-storage-form .portal-field:has(textarea),.staff-storage-form>.portal-note,.staff-storage-form>.portal-feedback{grid-column:1/-1}
.staff-storage-estimate{padding:var(--aa-space-3);border:1px solid var(--aa-border);border-radius:var(--aa-radius);margin-block:var(--aa-space-3);overflow-wrap:anywhere}
@media(max-width:700px){.staff-storage-form{grid-template-columns:minmax(0,1fr)}}
.staff-access-fact{display:grid;align-content:start;gap:var(--aa-space-1);min-width:0;padding-top:var(--aa-space-2);border-top:1px solid #d6e2e8;overflow-wrap:anywhere}
.staff-access-fact dt{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:750;line-height:1.35}
.staff-access-fact dd{margin:0;color:var(--aa-ink);font-weight:700;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.staff-access-fact dd.is-missing{color:var(--aa-muted);font-weight:600}
.staff-access-editor{margin-top:var(--aa-space-4)}
.staff-access-editor>.portal-note{margin-top:0}
.staff-workspace-loading-skeleton{margin:var(--aa-space-2) 0}
body.portal-nav-active[data-view-density=compact] :is(.staff-access-card,.staff-access-stop){padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] :is(.staff-workspace-summary-meta,.staff-access-card-state,.staff-access-fact dt){font-size:1em}
@media(max-width:700px){.staff-workspace-module>summary{align-items:flex-start;flex-direction:column;gap:var(--aa-space-1)}.staff-workspace-summary-meta{text-align:left}.staff-access-grid,.staff-access-facts{grid-template-columns:minmax(0,1fr)}.staff-access-card-heading{flex-direction:column}.staff-access-card-state{max-width:100%}}

/* Hour 26: customer inventory and stop-level operational grouping. */
.staff-job-inventory{display:grid;gap:var(--aa-space-3);min-width:0;margin-top:var(--aa-space-4);padding-top:var(--aa-space-4);border-top:1px solid var(--aa-border)}
.staff-job-inventory-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--aa-space-3);min-width:0}
.staff-job-inventory-heading h4,.staff-job-inventory-heading .portal-note{margin:0;overflow-wrap:anywhere}
.staff-job-inventory-heading h4{color:var(--aa-ink);font-size:1.0625rem;line-height:1.4}
.staff-job-inventory-heading .portal-note{max-width:50%;text-align:right;line-height:1.4}
.staff-job-inventory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-2);margin:0;padding:0;list-style:none}
.staff-job-inventory-item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--aa-space-2);min-width:0;padding:var(--aa-space-3);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface);overflow-wrap:anywhere}
.staff-job-inventory-quantity{min-width:3.5ch;padding:4px 7px;border-radius:999px;color:var(--aa-info);background:var(--aa-info-surface);font-size:var(--aa-text-label);font-weight:800;line-height:1.35;text-align:center;overflow-wrap:anywhere}
.staff-job-inventory-identity{display:grid;gap:var(--aa-space-1);min-width:0}
.staff-job-inventory-name{color:var(--aa-ink);line-height:1.4;overflow-wrap:anywhere}
.staff-job-inventory-meta,.staff-job-inventory-grouped{color:var(--aa-muted);font-size:var(--aa-text-label);line-height:1.4;overflow-wrap:anywhere}
.staff-job-inventory-grouped{grid-column:2}
.staff-route-inventory-summary{display:grid;gap:var(--aa-space-1);min-width:0;padding:var(--aa-space-3);border-left:4px solid var(--aa-primary);border-radius:var(--aa-radius);background:var(--aa-info-surface);overflow-wrap:anywhere}
.staff-route-inventory-summary p{margin:0;color:var(--aa-ink);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.staff-route-inventory-label,.staff-route-capacity-fact dt{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:750;line-height:1.35}
.staff-route-capacity-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--aa-space-2);margin:0}
.staff-route-capacity-fact{display:grid;align-content:start;gap:var(--aa-space-1);min-width:0;padding:var(--aa-space-3);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface);overflow-wrap:anywhere}
.staff-route-capacity-fact dd{margin:0;color:var(--aa-ink);font-weight:750;line-height:1.45;overflow-wrap:anywhere}
body.portal-nav-active[data-view-density=compact] :is(.staff-job-inventory-item,.staff-route-inventory-summary,.staff-route-capacity-fact){padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] :is(.staff-job-inventory-quantity,.staff-job-inventory-meta,.staff-job-inventory-grouped,.staff-route-inventory-label,.staff-route-capacity-fact dt){font-size:1em}
@media(max-width:700px){.staff-job-inventory-heading{flex-direction:column;gap:var(--aa-space-1)}.staff-job-inventory-heading .portal-note{max-width:none;text-align:left}.staff-job-inventory-list,.staff-route-capacity-facts{grid-template-columns:minmax(0,1fr)}}

/* Hour 27: notes and task-checklist hierarchy. */
.staff-note-list,.staff-task-list{display:grid;gap:var(--aa-space-2);min-width:0;margin:0;padding:0;list-style:none}
.staff-note-card,.staff-task-card{display:grid;gap:var(--aa-space-2);min-width:0;padding:var(--aa-space-3);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface);overflow-wrap:anywhere}
.staff-note-card{border-left:4px solid var(--aa-primary)}
.staff-note-card-head,.staff-task-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--aa-space-3);min-width:0}
.staff-note-card-identity{display:flex;align-items:center;gap:var(--aa-space-2);min-width:0;flex-wrap:wrap}
.staff-note-category,.staff-task-status,.staff-task-overdue{flex:0 1 auto;max-width:100%;padding:4px 8px;border:1px solid currentColor;border-radius:999px;font-size:var(--aa-text-label);font-weight:800;line-height:1.3;text-align:center;overflow-wrap:anywhere}
.staff-note-category{color:var(--aa-info);background:var(--aa-info-surface);text-transform:capitalize}
.staff-note-author,.staff-task-description{min-width:0;color:var(--aa-ink);line-height:1.4;overflow-wrap:anywhere}
.staff-note-created{flex:0 1 auto;color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:700;line-height:1.4;text-align:right;overflow-wrap:anywhere}
.staff-note-body{margin:0;color:var(--aa-ink);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.staff-task-card{grid-template-columns:minmax(0,1fr) auto;border-left:4px solid var(--aa-primary)}
.staff-task-card[data-state=completed]{border-left-color:var(--aa-success);background:var(--aa-success-surface)}
.staff-task-card[data-state=cancelled]{border-left-color:var(--aa-muted);background:var(--aa-surface-subtle)}
.staff-task-card-head,.staff-task-facts{grid-column:1}
.staff-task-identity{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--aa-space-2);min-width:0}
.staff-task-marker{box-sizing:border-box;width:20px;height:20px;margin-top:1px;border:2px solid var(--aa-primary);border-radius:5px;background:var(--aa-surface)}
.staff-task-card[data-state=completed] .staff-task-marker{border-color:var(--aa-success);background:var(--aa-success);box-shadow:inset 0 0 0 4px var(--aa-success-surface)}
.staff-task-card[data-state=cancelled] .staff-task-marker{border-color:var(--aa-muted);background:var(--aa-border)}
.staff-task-states{display:flex;align-items:flex-start;justify-content:flex-end;gap:var(--aa-space-1);min-width:0;flex-wrap:wrap}
.staff-task-status[data-state=open]{color:var(--aa-info);background:var(--aa-info-surface)}
.staff-task-status[data-state=completed]{color:var(--aa-success);background:var(--aa-success-surface)}
.staff-task-status[data-state=cancelled]{color:var(--aa-muted);background:var(--aa-surface-subtle)}
.staff-task-status[data-state=unknown],.staff-task-overdue{color:var(--aa-warning);background:var(--aa-warning-surface)}
.staff-task-facts{display:flex;align-items:flex-start;gap:var(--aa-space-3);min-width:0;padding-left:28px;flex-wrap:wrap;color:var(--aa-muted);font-size:var(--aa-text-label);line-height:1.45}
.staff-task-fact{display:grid;gap:var(--aa-space-1);min-width:0;overflow-wrap:anywhere}
.staff-task-fact-label{font-weight:750}
.staff-task-action{grid-column:2;grid-row:1 / span 2;align-self:center;margin:0}
.staff-workspace-editor{margin-top:var(--aa-space-3);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface-subtle)}
.staff-workspace-editor>summary{box-sizing:border-box;min-height:48px;padding:var(--aa-space-3);color:var(--aa-ink);font-weight:750;line-height:1.45;cursor:pointer;overflow-wrap:anywhere}
.staff-workspace-editor[open]>summary{border-bottom:1px solid var(--aa-border)}
.staff-workspace-editor-form{display:grid;gap:var(--aa-space-3);padding:var(--aa-space-3)}
.staff-workspace-editor-form :is(.portal-field,.portal-note,.button){margin:0}
body.portal-nav-active[data-view-density=compact] :is(.staff-note-card,.staff-task-card,.staff-workspace-editor-form){padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] :is(.staff-note-category,.staff-note-created,.staff-task-status,.staff-task-overdue,.staff-task-facts){font-size:1em}
@media(max-width:700px){.staff-note-card-head,.staff-task-card-head{flex-direction:column;gap:var(--aa-space-2)}.staff-note-created{text-align:left}.staff-task-card{grid-template-columns:minmax(0,1fr)}.staff-task-card-head,.staff-task-facts,.staff-task-action{grid-column:1}.staff-task-action{grid-row:auto;width:100%;min-height:48px}.staff-task-states{justify-content:flex-start}.staff-workspace-editor-form .button{width:100%;min-height:48px}}

/* Hour 28: attachment gallery and upload hierarchy. */
.staff-workspace-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--aa-space-3);min-width:0}
.staff-attachment-card{display:grid;grid-template-columns:minmax(96px,.8fr) minmax(0,1.2fr);min-width:0;min-height:128px;border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface);color:var(--aa-ink);text-decoration:none;overflow:hidden}
.staff-attachment-card:hover{border-color:var(--aa-primary);box-shadow:0 5px 16px #1732461a}
.staff-attachment-card:focus-visible{outline:3px solid var(--aa-primary);outline-offset:3px}
.staff-attachment-preview{display:grid;place-items:center;min-width:0;min-height:128px;background:var(--aa-surface-subtle);overflow:hidden}
.staff-attachment-preview img{display:block;width:100%;height:100%;min-height:128px;aspect-ratio:auto;object-fit:cover;border-radius:0;background:#e7eff4}
.staff-attachment-mark{display:grid;place-items:center;box-sizing:border-box;width:68px;min-height:48px;padding:var(--aa-space-2);border:2px solid var(--aa-border);border-radius:var(--aa-radius);color:var(--aa-primary-hover);background:var(--aa-surface);font-size:var(--aa-text-label);font-weight:850;letter-spacing:.04em;overflow-wrap:anywhere}
.staff-attachment-content{display:grid;align-content:start;gap:var(--aa-space-2);min-width:0;padding:var(--aa-space-3);overflow-wrap:anywhere}
.staff-attachment-badges,.staff-attachment-facts{display:flex;align-items:flex-start;gap:var(--aa-space-1);min-width:0;flex-wrap:wrap}
.staff-attachment-kind,.staff-attachment-phase{max-width:100%;padding:4px 7px;border:1px solid currentColor;border-radius:999px;font-size:var(--aa-text-label);font-weight:800;line-height:1.3;text-align:center;overflow-wrap:anywhere}
.staff-attachment-kind{color:var(--aa-info);background:var(--aa-info-surface)}
.staff-attachment-phase{color:var(--aa-muted);background:var(--aa-surface-subtle)}
.staff-attachment-name{min-width:0;color:var(--aa-ink);line-height:1.4;overflow-wrap:anywhere}
.staff-attachment-facts{color:var(--aa-muted);font-size:var(--aa-text-label);line-height:1.4}
.staff-attachment-facts>*+*::before{content:"·";margin-right:var(--aa-space-1)}
.staff-attachment-card .staff-signature-caption{margin:0;color:var(--aa-muted);font-size:var(--aa-text-label);line-height:1.4}
.staff-signature-launch{display:flex;align-items:center;gap:var(--aa-space-2);flex-wrap:wrap;margin:var(--aa-space-4) 0;padding:var(--aa-space-4);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface)}
.staff-signature-launch :is(h4,p){flex:1 0 100%;margin:0;overflow-wrap:anywhere}
.staff-signature-launch h4{color:var(--aa-ink);font-size:1.0625rem;line-height:1.4}
.staff-signature-launch .button{min-height:48px;margin:0}
.staff-attachment-upload-editor{margin-top:var(--aa-space-4)}
.staff-attachment-upload-editor .staff-job-upload{margin:0}
body.portal-nav-active[data-view-density=compact] :is(.staff-attachment-content,.staff-signature-launch){padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] :is(.staff-attachment-kind,.staff-attachment-phase,.staff-attachment-facts,.staff-attachment-card .staff-signature-caption){font-size:1em}
@media(max-width:700px){.staff-workspace-gallery{grid-template-columns:minmax(0,1fr)}.staff-attachment-card{grid-template-columns:minmax(0,1fr)}.staff-attachment-preview,.staff-attachment-preview img{min-height:160px;max-height:240px}.staff-signature-launch{display:grid;grid-template-columns:minmax(0,1fr);padding:var(--aa-space-3)}.staff-signature-launch .button{width:100%}.staff-attachment-upload-editor .button{width:100%;min-height:48px}}

/* Hour 29: claims, damage and incident hierarchy. */
.staff-claim-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-3);min-width:0;margin:0;padding:0;list-style:none}
.staff-claim-card{display:grid;align-content:start;gap:var(--aa-space-3);min-width:0;padding:var(--aa-space-4);border:1px solid var(--aa-border);border-left:4px solid var(--aa-warning);border-radius:var(--aa-radius);background:var(--aa-surface);overflow-wrap:anywhere}
.staff-claim-card[data-state=reviewing]{border-left-color:var(--aa-info)}
.staff-claim-card[data-state=resolved]{border-left-color:var(--aa-success);background:var(--aa-success-surface)}
.staff-claim-card[data-state=closed]{border-left-color:var(--aa-muted);background:var(--aa-surface-subtle)}
.staff-claim-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--aa-space-3);min-width:0}
.staff-claim-badges{display:flex;align-items:flex-start;gap:var(--aa-space-1);min-width:0;flex-wrap:wrap}
.staff-claim-type,.staff-claim-status,.staff-claim-overdue{max-width:100%;padding:4px 8px;border:1px solid currentColor;border-radius:999px;font-size:var(--aa-text-label);font-weight:800;line-height:1.3;text-align:center;overflow-wrap:anywhere}
.staff-claim-type{color:var(--aa-primary-hover);background:var(--aa-info-surface)}
.staff-claim-status[data-state=open],.staff-claim-overdue{color:var(--aa-warning);background:var(--aa-warning-surface)}
.staff-claim-status[data-state=reviewing]{color:var(--aa-info);background:var(--aa-info-surface)}
.staff-claim-status[data-state=resolved]{color:var(--aa-success);background:var(--aa-success-surface)}
.staff-claim-status[data-state=closed]{color:var(--aa-muted);background:var(--aa-surface-subtle)}
.staff-claim-status[data-state=unknown]{color:var(--aa-danger);background:var(--aa-danger-surface)}
.staff-claim-description{margin:0;color:var(--aa-ink);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.staff-claim-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--aa-space-2);min-width:0;margin:0}
.staff-claim-fact{display:grid;align-content:start;gap:var(--aa-space-1);min-width:0;padding-top:var(--aa-space-2);border-top:1px solid var(--aa-border);overflow-wrap:anywhere}
.staff-claim-fact dt{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:750;line-height:1.35}
.staff-claim-fact dd{min-width:0;margin:0;color:var(--aa-ink);font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.staff-claim-actions{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:end;gap:var(--aa-space-3);padding-top:var(--aa-space-3);border-top:1px solid var(--aa-border)}
.staff-claim-actions .portal-field,.staff-claim-feedback{margin:0}
.staff-claim-feedback{align-self:center}
.staff-claim-editor{margin-top:var(--aa-space-4)}
.staff-claim-form textarea{min-height:120px;white-space:pre-wrap}
body.portal-nav-active[data-view-density=compact] :is(.staff-claim-card,.staff-claim-form){padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] :is(.staff-claim-type,.staff-claim-status,.staff-claim-overdue,.staff-claim-fact dt){font-size:1em}
@media(max-width:700px){.staff-claim-list,.staff-claim-facts,.staff-claim-actions{grid-template-columns:minmax(0,1fr)}.staff-claim-card{padding:var(--aa-space-3)}.staff-claim-actions .portal-field{width:100%}.staff-claim-form .button{width:100%;min-height:48px}}

/* Hour 30: financial summary, line-item and invoice hierarchy. */
.staff-finance-overview,.staff-finance-lines,.staff-invoices{display:grid;gap:var(--aa-space-3);min-width:0;margin-block:var(--aa-space-4)}
.staff-finance-overview{margin-top:0;padding:var(--aa-space-4);border:1px solid var(--aa-border);border-left:4px solid var(--aa-primary);border-radius:var(--aa-radius);background:var(--aa-surface)}
.staff-finance-overview-head,.staff-finance-line-head,.staff-invoice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--aa-space-3);min-width:0}
.staff-finance-overview h4,.staff-finance-lines h4,.staff-invoices h4{min-width:0;margin:0;color:var(--aa-ink);font-size:1.0625rem;line-height:1.4;overflow-wrap:anywhere}
.staff-finance-state,.staff-finance-line-type,.staff-invoice-kind,.staff-invoice-status{flex:0 1 auto;box-sizing:border-box;max-width:52%;padding:4px 8px;border:1px solid currentColor;border-radius:999px;font-size:var(--aa-text-label);font-weight:800;line-height:1.35;text-align:center;text-transform:capitalize;overflow-wrap:anywhere}
.staff-finance-state[data-state=clear]{color:var(--aa-success);background:var(--aa-success-surface)}
.staff-finance-state[data-state=overdue]{color:var(--aa-danger);background:var(--aa-danger-surface)}
.staff-finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--aa-space-2);min-width:0;margin:0}
.staff-finance-fact{display:grid;align-content:start;gap:var(--aa-space-1);min-width:0;padding:var(--aa-space-3);border:1px solid #d1dee6;border-radius:var(--aa-radius);background:var(--aa-surface-subtle);overflow-wrap:anywhere}
.staff-finance-fact dt,.staff-finance-line-fact dt,.staff-invoice-fact dt{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:750;line-height:1.35}
.staff-finance-fact dd,.staff-finance-line-fact dd,.staff-invoice-fact dd{margin:0;color:var(--aa-ink);font-weight:750;line-height:1.45;overflow-wrap:anywhere}
.staff-finance-fact[data-kind=total],.staff-finance-fact[data-kind=balance]{border-color:var(--aa-primary);background:var(--aa-info-surface)}
.staff-finance-line-list,.staff-invoice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-2);min-width:0;margin:0;padding:0;list-style:none}
.staff-finance-line,.staff-invoice-card{display:grid;align-content:start;gap:var(--aa-space-2);min-width:0;padding:var(--aa-space-3);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface);overflow-wrap:anywhere}
.staff-finance-line-type{color:var(--aa-info);background:var(--aa-info-surface)}
.staff-finance-line-type[data-kind=discount]{color:var(--aa-success);background:var(--aa-success-surface)}
.staff-finance-line-type[data-kind=cost]{color:var(--aa-warning);background:var(--aa-warning-surface)}
.staff-finance-line-amount{min-width:0;color:var(--aa-ink);font-size:1.0625rem;line-height:1.4;text-align:right;overflow-wrap:anywhere}
.staff-finance-line-description{margin:0;color:var(--aa-ink);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.staff-finance-line-facts,.staff-invoice-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-2);margin:0;padding-top:var(--aa-space-2);border-top:1px solid #d6e2e8}
.staff-finance-line-fact,.staff-invoice-fact{display:grid;gap:var(--aa-space-1);min-width:0;overflow-wrap:anywhere}
.staff-invoice-kind{color:var(--aa-info);background:var(--aa-info-surface)}
.staff-invoice-status{color:var(--aa-info);background:var(--aa-info-surface)}
.staff-invoice-status[data-state=paid]{color:var(--aa-success);background:var(--aa-success-surface)}
.staff-invoice-status[data-state=overdue]{color:var(--aa-danger);background:var(--aa-danger-surface)}
.staff-invoice-status[data-state=issued]{color:var(--aa-warning);background:var(--aa-warning-surface)}
.staff-cost-editor{margin-block:var(--aa-space-4)}
.staff-cost-entry>.portal-note:first-child{margin-top:0}
body.portal-nav-active[data-view-density=compact] :is(.staff-finance-overview,.staff-finance-fact,.staff-finance-line,.staff-invoice-card){padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] :is(.staff-finance-state,.staff-finance-line-type,.staff-invoice-kind,.staff-invoice-status,.staff-finance-fact dt,.staff-finance-line-fact dt,.staff-invoice-fact dt){font-size:1em}
@media(max-width:700px){.staff-finance-overview{padding:var(--aa-space-3)}.staff-finance-overview-head,.staff-finance-line-head,.staff-invoice-head{flex-direction:column}.staff-finance-state,.staff-finance-line-type,.staff-invoice-kind,.staff-invoice-status{max-width:100%;text-align:left}.staff-finance-summary,.staff-finance-line-list,.staff-invoice-list,.staff-finance-line-facts,.staff-invoice-facts{grid-template-columns:minmax(0,1fr)}.staff-finance-line-amount{text-align:left}.staff-cost-entry .button{width:100%;min-height:48px}}

/* Hour 31: job history and audit-trail hierarchy. */
.staff-history-order{margin:0 0 var(--aa-space-3)}
.staff-history-list{display:grid;gap:var(--aa-space-3);min-width:0;margin:0;padding:0;list-style:none;counter-reset:history-event}
.staff-history-event{position:relative;display:grid;gap:var(--aa-space-2);min-width:0;padding:var(--aa-space-4);border:1px solid var(--aa-border);border-left:4px solid var(--aa-primary);border-radius:var(--aa-radius);background:var(--aa-surface);overflow-wrap:anywhere;counter-increment:history-event}
.staff-history-event::before{content:counter(history-event);position:absolute;top:var(--aa-space-3);left:calc(-1 * var(--aa-space-3));display:grid;place-items:center;box-sizing:border-box;width:24px;height:24px;border:2px solid var(--aa-surface);border-radius:50%;color:var(--aa-surface);background:var(--aa-primary-hover);font-size:.72rem;font-weight:850;line-height:1}
.staff-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--aa-space-3);min-width:0}
.staff-history-action{min-width:0;color:var(--aa-ink);font-size:1.0625rem;line-height:1.4;text-transform:capitalize;overflow-wrap:anywhere}
.staff-history-time{flex:0 1 auto;color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:700;line-height:1.4;text-align:right;overflow-wrap:anywhere}
.staff-history-actor{display:flex;align-items:flex-start;gap:var(--aa-space-2);min-width:0;flex-wrap:wrap}
.staff-history-role{flex:0 1 auto;max-width:100%;padding:4px 8px;border:1px solid currentColor;border-radius:999px;color:var(--aa-info);background:var(--aa-info-surface);font-size:var(--aa-text-label);font-weight:800;line-height:1.3;text-transform:capitalize;overflow-wrap:anywhere}
.staff-history-role[data-role=finance]{color:var(--aa-success);background:var(--aa-success-surface)}
.staff-history-person{min-width:0;color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.staff-history-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-2);min-width:0;margin:0;padding-top:var(--aa-space-2);border-top:1px solid #d6e2e8}
.staff-history-detail{display:grid;align-content:start;gap:var(--aa-space-1);min-width:0;padding:var(--aa-space-2);border-radius:var(--aa-radius);background:var(--aa-surface-subtle);overflow-wrap:anywhere}
.staff-history-detail dt{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:750;line-height:1.35}
.staff-history-detail dd{min-width:0;margin:0;color:var(--aa-ink);font-weight:650;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.staff-history-empty-detail{margin:0;padding-top:var(--aa-space-2);border-top:1px solid #d6e2e8}
body.portal-nav-active[data-view-density=compact] :is(.staff-history-event,.staff-history-detail){padding:var(--aa-space-2)}
body.portal-nav-active[data-view-text=large] :is(.staff-history-time,.staff-history-role,.staff-history-person,.staff-history-detail dt){font-size:1em}
@media(max-width:700px){.staff-history-event{padding:var(--aa-space-3)}.staff-history-head{flex-direction:column;gap:var(--aa-space-1)}.staff-history-time{text-align:left}.staff-history-details{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.staff-tags-head{align-items:flex-start;flex-direction:column;gap:var(--aa-space-1)}.staff-tag-item,.staff-tag-form{grid-template-columns:minmax(0,1fr)}.staff-tag-remove,.staff-tag-form .button{width:100%;min-height:48px}}

/* Hour 33: mobile and coarse-pointer target floor. */
@media(max-width:700px),(pointer:coarse){
  body.portal-nav-active .portal-head .button.button-outline:not(:disabled),body.portal-nav-active .staff-sales-switch button,body.portal-nav-active .portal-log-card>summary,body.portal-nav-active .staff-workspace-module>summary,body.portal-nav-active .staff-command-dialog-head .button,body.portal-nav-active .staff-workspace-content .button,body.portal-nav-active .staff-signature-actions .button,body.portal-nav-active .staff-nav-item{box-sizing:border-box;min-height:var(--aa-control-height)}
  body.portal-nav-active :is(.notification-choice select,.staff-command-strip input,.staff-client-search input,.portal-field input:not([type=checkbox]):not([type=radio]),.portal-field select){box-sizing:border-box;min-height:var(--aa-control-height)}
  body.portal-nav-active :is(.notification-choice,.portal-quote-consent,.staff-command-confirm,.staff-access-toggle){box-sizing:border-box;min-height:var(--aa-control-height)}
  body.portal-nav-active :is(.notification-choice,.portal-quote-consent,.staff-command-confirm,.staff-access-toggle) input:is([type=checkbox],[type=radio]){width:24px!important;height:24px!important;min-height:24px!important;flex:0 0 24px}
}

/* Hour 9: enquiry identity and pipeline-stage hierarchy. */
body.portal-nav-active .portal-enquiry{border-left:4px solid var(--aa-border);border-radius:var(--aa-radius)}
body.portal-nav-active .portal-enquiry[data-stage=new]{border-left-color:var(--aa-info)}
body.portal-nav-active .portal-enquiry[data-stage=contacted],body.portal-nav-active .portal-enquiry[data-stage=reviewing]{border-left-color:var(--aa-primary)}
body.portal-nav-active .portal-enquiry[data-stage=awaiting_details]{border-left-color:var(--aa-warning)}
body.portal-nav-active .portal-enquiry[data-stage=quote_sent]{border-left-color:var(--aa-success)}
body.portal-nav-active .portal-enquiry[data-stage=closed]{border-left-color:var(--aa-muted)}
body.portal-nav-active .portal-enquiry .portal-summary-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--aa-space-3)}
.portal-enquiry-identity{display:grid;gap:var(--aa-space-1);min-width:0}
.portal-enquiry-name{color:var(--aa-ink);font-size:1.0625rem;font-weight:780;line-height:1.35;overflow-wrap:anywhere}
.portal-enquiry-identity .portal-reference{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.portal-summary-context{display:flex!important;align-items:flex-start;gap:var(--aa-space-2);min-width:0}
.portal-summary-context .portal-service-chip{flex:0 0 auto}
.portal-summary-context .portal-route{flex:1 1 auto;min-width:0}
.portal-stage-badge{justify-self:end;box-sizing:border-box;max-width:30ch;border:1px solid currentColor;text-align:center;overflow-wrap:anywhere}
.portal-stage-badge[data-stage=new]{color:var(--aa-info);background:var(--aa-info-surface)}
.portal-stage-badge[data-stage=contacted],.portal-stage-badge[data-stage=reviewing]{color:#075f8a;background:#e7f3f9}
.portal-stage-badge[data-stage=awaiting_details]{color:var(--aa-warning);background:var(--aa-warning-surface)}
.portal-stage-badge[data-stage=quote_sent]{color:var(--aa-success);background:var(--aa-success-surface)}
.portal-stage-badge[data-stage=closed]{color:var(--aa-muted);background:#edf1f3}
@media(max-width:520px){body.portal-nav-active .portal-enquiry .portal-summary-top{grid-template-columns:minmax(0,1fr)}.portal-stage-badge{justify-self:start;max-width:100%}.portal-summary-context{display:grid!important;grid-template-columns:minmax(0,1fr)}.portal-summary-context .portal-service-chip{justify-self:start}}

/* Hour 34: small-screen text reflow and local overflow containment. */
@media(max-width:520px){
  .portal-shell{box-sizing:border-box;max-width:100%}
  body.portal-nav-active .staff-record-card>.staff-record-summary{grid-template-columns:minmax(0,1fr) 14px;grid-template-rows:auto auto auto}
  body.portal-nav-active .staff-record-card>.staff-record-summary .staff-record-primary{grid-column:1;grid-row:1}
  body.portal-nav-active .staff-record-card>.staff-record-summary .staff-record-state{grid-column:1;grid-row:2;justify-self:start;max-width:100%}
  body.portal-nav-active .staff-record-card>.staff-record-summary :is(.staff-record-meta,.staff-job-summary-meta,.staff-job-attention){grid-column:1;max-width:100%}
  body.portal-nav-active .staff-record-card>.staff-record-summary::after{grid-column:2;grid-row:1/-1}
  body.portal-nav-active :is(.staff-record-primary,.staff-record-state,.staff-record-meta,.staff-job-summary-route,.staff-client-picker-identity,.staff-attachment-name,.staff-history-person,.staff-history-detail dd,.portal-feedback,.portal-note){min-width:0;overflow-wrap:anywhere;word-break:break-word}
  .notification-grid{box-sizing:border-box;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .notification-grid-header>span,.notification-grid-row>strong,.notification-choice{min-width:0;overflow-wrap:anywhere}
  .portal-quote-preview,.portal-log-details{box-sizing:border-box;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
}

/* Hour 40: preserve workspace and section names in the mobile accessibility tree. */
@media(max-width:700px){
  body.portal-nav-active #portal-heading{position:absolute;display:block;width:1px;height:1px;margin:-1px!important;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
}

/* Hour 41: one actionable handoff when the enquiry-to-job journey is empty. */
.staff-journey-empty{display:grid;justify-items:center;gap:var(--aa-space-2)}
.staff-journey-empty :is(h4,p){max-width:58ch;margin:0;overflow-wrap:anywhere}
.staff-journey-empty h4{color:var(--aa-ink);font-size:1.0625rem;line-height:1.4}
.staff-journey-empty .button{min-height:var(--aa-control-height);margin:var(--aa-space-1) 0 0}
@media(max-width:700px){.staff-journey-empty .button{width:100%}}

/* Hour 43: shared local recovery for read-only module failures. */
.staff-recovery-state{display:grid;justify-items:start;gap:var(--aa-space-2);box-sizing:border-box;width:100%;min-width:0}
.staff-recovery-state .portal-feedback{width:100%;min-width:0;margin:0;overflow-wrap:anywhere}
.staff-recovery-state .button{min-height:var(--aa-control-height);margin:0;white-space:normal}
@media(max-width:700px){.staff-recovery-state .button{width:100%;justify-content:center}}

/* Hour 45: align legacy operational boards with shared density tokens. */
body.portal-nav-active :is(.portal-runs,.portal-health,.portal-finance-board,.portal-system-logs){
  box-sizing:border-box;
  margin-block:var(--aa-space-3);
  padding:var(--aa-space-4);
  border-radius:var(--aa-radius);
}
body.portal-nav-active :is(.portal-run-card,.portal-invoice-card){
  box-sizing:border-box;
  margin-block:var(--aa-space-2);
  padding:var(--aa-space-3);
  border-radius:var(--aa-radius);
}
body.portal-nav-active[data-view-density=compact] :is(.portal-runs,.portal-health,.portal-finance-board,.portal-system-logs){
  margin-block:var(--aa-space-2);
  padding:var(--aa-space-3);
}
body.portal-nav-active[data-view-density=compact] :is(.portal-run-card,.portal-invoice-card){
  margin-block:var(--aa-space-1);
  padding:var(--aa-space-2);
}

/* Hour 46: one heading and helper-text hierarchy across operational boards. */
body.portal-nav-active :is(.portal-runs,.portal-health,.portal-finance-board,.portal-system-logs)>:is(h2,h3){
  margin:0 0 var(--aa-space-2);
  color:var(--aa-ink);
  font-size:var(--aa-text-subheading);
  line-height:1.35;
  overflow-wrap:anywhere;
}
body.portal-nav-active :is(.portal-runs,.portal-health,.portal-finance-board,.portal-system-logs)>.portal-note:not(.staff-empty-state):not([data-state]){
  max-width:68ch;
  margin:0 0 var(--aa-space-3);
  color:var(--aa-muted);
  font-size:var(--aa-text-label);
  line-height:1.5;
  overflow-wrap:anywhere;
}
body.portal-nav-active[data-view-density=compact] :is(.portal-runs,.portal-health,.portal-finance-board,.portal-system-logs)>:is(h2,h3){
  margin-bottom:var(--aa-space-1);
}
body.portal-nav-active[data-view-density=compact] :is(.portal-runs,.portal-health,.portal-finance-board,.portal-system-logs)>.portal-note:not(.staff-empty-state):not([data-state]){
  margin-bottom:var(--aa-space-2);
}

/* Signed-out controls must not inherit public white button text. */
body:not(.portal-nav-active) .portal-shell .button{background:var(--aa-primary);border:1px solid var(--aa-primary);color:var(--aa-surface);font:inherit;font-weight:700;cursor:pointer}
body:not(.portal-nav-active) .portal-shell .button.button-outline{background:var(--aa-surface);border-color:var(--aa-border);color:var(--aa-ink)}
body:not(.portal-nav-active) .portal-shell .button:not(:disabled):hover{background:var(--aa-primary-hover);border-color:var(--aa-primary-hover);color:var(--aa-surface)}
body:not(.portal-nav-active) .portal-shell .button.button-outline:not(:disabled):hover{background:var(--aa-surface-subtle);border-color:var(--aa-primary);color:var(--aa-ink)}
body:not(.portal-nav-active) .portal-shell .button:disabled{background:var(--aa-surface-subtle);border-color:var(--aa-border);color:var(--aa-muted);cursor:wait;opacity:1}
@media(forced-colors:active){body:not(.portal-nav-active) .portal-shell .button{background:ButtonFace;border-color:ButtonText;color:ButtonText;forced-color-adjust:auto}body:not(.portal-nav-active) .portal-shell .button:disabled{color:GrayText;border-color:GrayText}}
/* Booking overview: shared tokens, explicit warnings and five-section mobile navigation. */
.staff-overview-actions{display:flex;align-items:center;gap:var(--aa-space-3);flex-wrap:wrap;margin-bottom:var(--aa-space-4)}
.staff-overview-guide{padding:var(--aa-space-4);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface-subtle);margin-bottom:var(--aa-space-4)}
.staff-overview-guide summary{min-height:var(--aa-control-height);display:flex;align-items:center;cursor:pointer;font-weight:700}
.staff-overview-guide li{margin-block:var(--aa-space-2)}
.staff-overview-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-4)}
.staff-overview-group,.staff-overview-job{min-width:0;overflow-wrap:anywhere}
.staff-overview-group h3{font-size:var(--aa-text-subheading)}
.staff-overview-job{padding:var(--aa-space-4);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface);margin-block:var(--aa-space-3)}
.staff-overview-job h4{margin:0 0 var(--aa-space-2);font-size:var(--aa-text-subheading)}
.staff-overview-job[data-attention=urgent]{border-inline-start:4px solid var(--aa-danger)}
.staff-overview-route,.staff-overview-issues{padding-inline-start:var(--aa-space-6)}
.staff-overview-issues{color:var(--aa-danger);font-weight:700}
.staff-overview-next{padding:var(--aa-space-3);background:var(--aa-info-surface);color:var(--aa-info);border-radius:var(--aa-radius)}
body[data-view-density=compact] .staff-overview-job{padding:var(--aa-space-3)}
@media(max-width:980px){.portal-bottom-nav{grid-template-columns:repeat(var(--staff-nav-columns,4),minmax(0,1fr))}.portal-bottom-nav .staff-nav-item{padding-inline:var(--aa-space-1);font-size:var(--aa-text-label)}}

/* Weekly operations calendar: real protected job data, horizontally contained on narrow screens. */
.staff-week-calendar{min-width:0}.staff-calendar-controls{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:var(--aa-space-3);margin-bottom:var(--aa-space-4)}.staff-calendar-navigation{display:flex;flex-wrap:wrap;gap:var(--aa-space-2)}.staff-calendar-range{margin:0;text-align:center;font-size:var(--aa-text-subheading)}.staff-calendar-controls>.portal-note{grid-column:1/-1;margin:0}.staff-calendar-viewport{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px var(--aa-space-3);scrollbar-gutter:stable}.staff-calendar-viewport:focus-visible{outline:3px solid #0879ad;outline-offset:2px}.staff-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));gap:var(--aa-space-2);min-width:1330px}.staff-calendar-day{align-self:start;min-height:180px;padding:var(--aa-space-2);border:1px solid #cbd9e2;border-radius:var(--aa-radius);background:#f8fbfd}.staff-calendar-day[data-today="true"]{border:2px solid #0879ad;background:#f1f9fd}.staff-calendar-day>h3{display:flex;align-items:center;justify-content:space-between;gap:var(--aa-space-2);margin:0 0 var(--aa-space-2);font-size:var(--aa-text-body)}.staff-calendar-day-count{display:inline-grid;place-items:center;min-width:26px;min-height:26px;padding:2px 7px;border-radius:999px;background:#dbeaf2;color:#173246;font-size:var(--aa-text-label)}.staff-calendar-empty{margin:0;padding:var(--aa-space-2);border-radius:var(--aa-radius);background:#fff}.staff-calendar-job{display:grid;gap:var(--aa-space-2);margin-top:var(--aa-space-2);padding:var(--aa-space-2);border:1px solid #d2dee6;border-left:4px solid #5c7788;border-radius:var(--aa-radius);background:#fff;box-shadow:0 2px 8px #102c3c0d}.staff-calendar-job[data-attention="warning"]{border-left-color:#b56500}.staff-calendar-job[data-attention="urgent"]{border-left-color:#b42318}.staff-calendar-job h4,.staff-calendar-job p{margin:0}.staff-calendar-time{font-weight:800;color:#075b88}.staff-calendar-route,.staff-calendar-blockers{margin:0;padding-left:20px}.staff-calendar-route li,.staff-calendar-blockers li{margin-block:4px;overflow-wrap:anywhere}.staff-calendar-blockers{padding:var(--aa-space-2) var(--aa-space-2) var(--aa-space-2) 28px;border-radius:var(--aa-radius);background:#fff2e5;color:#7a2e0b}.staff-calendar-job .button{width:100%;min-height:var(--aa-control-height)}.staff-calendar-unscheduled{display:grid;gap:var(--aa-space-2);margin-top:var(--aa-space-4);padding:var(--aa-space-3);border:1px solid #cbd9e2;border-radius:var(--aa-radius);background:#f8fbfd}.staff-calendar-unscheduled>h3{margin:0}.staff-calendar-unscheduled-job{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:var(--aa-space-2);padding:var(--aa-space-2);border-radius:var(--aa-radius);background:#fff}.staff-calendar-unscheduled-job>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:700px){.staff-calendar-controls{grid-template-columns:1fr}.staff-calendar-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.staff-calendar-controls .button{min-height:var(--aa-control-height);padding-inline:var(--aa-space-1)}.staff-calendar-range{text-align:left}.staff-calendar-unscheduled-job{grid-template-columns:1fr}.staff-calendar-unscheduled-job .button{width:100%}}
@media(max-width:640px){.staff-overview-groups{grid-template-columns:minmax(0,1fr)}.staff-overview-job .button,.staff-overview-actions .button{width:100%}}
@media(forced-colors:active){.staff-overview-job[data-attention=urgent]{border-inline-start-color:Highlight}.staff-overview-next{border:1px solid CanvasText}}

/* Staff-only SEO workspace: dense build inventory with honest measurement limits. */
.visually-hidden{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}
.staff-seo-workspace{display:grid;gap:var(--aa-space-4);max-width:1500px;margin-inline:auto}
.staff-seo-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--aa-space-3)}
.staff-seo-metric{display:grid;align-content:start;gap:var(--aa-space-1);min-width:0;padding:var(--aa-space-4);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface)}
.staff-seo-metric[data-state=unavailable],.staff-seo-metric[data-state=review]{border-inline-start:4px solid #b56500;background:#fff8ee}
.staff-seo-metric[data-state=healthy]{border-inline-start:4px solid var(--aa-success);background:var(--aa-success-surface)}
.staff-seo-metric[data-state=needs_attention]{border-inline-start:4px solid var(--aa-danger);background:var(--aa-danger-surface)}
.staff-seo-metric-label{color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.staff-seo-metric-value{color:var(--aa-ink);font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.15;overflow-wrap:anywhere}
.staff-seo-metric .portal-note{margin:0}
.staff-seo-limitations,.staff-seo-health,.staff-seo-queue,.staff-seo-groups,.staff-seo-history,.staff-seo-inventory{padding:var(--aa-space-4);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface)}
.staff-seo-limitations{border-inline-start:4px solid var(--aa-primary)}
.staff-seo-limitations h3,.staff-seo-limitations h4,.staff-seo-limitations p{margin-top:0}
.staff-seo-health-head,.staff-seo-check-head{display:flex;align-items:start;justify-content:space-between;gap:var(--aa-space-3)}
.staff-seo-health-head h3,.staff-seo-health-head p,.staff-seo-check h4,.staff-seo-check p{margin-top:0}
.staff-seo-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-3);margin-top:var(--aa-space-3)}
.staff-seo-check{min-width:0;padding:var(--aa-space-3);border:1px solid var(--aa-border);border-inline-start:4px solid var(--aa-success);border-radius:var(--aa-radius);background:#fbfdfe}
.staff-seo-check[data-state=warning]{border-inline-start-color:#b56500;background:#fffaf1}
.staff-seo-check[data-state=fail]{border-inline-start-color:var(--aa-danger);background:var(--aa-danger-surface)}
.staff-seo-check-state{display:inline-flex;flex:0 0 auto;padding:4px 8px;border:1px solid currentColor;border-radius:999px;color:var(--aa-success);background:var(--aa-success-surface);font-size:var(--aa-text-label);font-weight:850;white-space:nowrap}
.staff-seo-check-state[data-state=review],.staff-seo-check-state[data-state=warning]{color:#7a4a00;background:#fff4d6}
.staff-seo-check-state[data-state=needs_attention],.staff-seo-check-state[data-state=fail]{color:var(--aa-danger);background:var(--aa-danger-surface)}
.staff-seo-evidence summary{color:var(--aa-info);font-weight:800;cursor:pointer}
.staff-seo-evidence ul{max-height:220px;margin-bottom:0;padding-left:var(--aa-space-4);overflow:auto;overflow-wrap:anywhere}
.staff-seo-queue-head,.staff-seo-issue-head,.staff-seo-review-bar{display:flex;align-items:start;justify-content:space-between;gap:var(--aa-space-3)}
.staff-seo-queue-head h3,.staff-seo-queue-head p,.staff-seo-issue h4{margin-top:0}
.staff-seo-review-notice{margin:var(--aa-space-3) 0;padding:var(--aa-space-3);border-inline-start:4px solid var(--aa-info);background:var(--aa-info-surface);color:var(--aa-ink);font-weight:750}
.staff-seo-issue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aa-space-3)}
.staff-seo-issue{display:grid;align-content:start;gap:var(--aa-space-2);min-width:0;padding:var(--aa-space-3);border:1px solid var(--aa-border);border-inline-start:4px solid #b56500;border-radius:var(--aa-radius);background:#fffaf1}
.staff-seo-issue[data-priority=P1]{border-inline-start-color:var(--aa-danger);background:var(--aa-danger-surface)}
.staff-seo-priority{display:inline-flex;margin-bottom:var(--aa-space-1);padding:4px 8px;border-radius:999px;background:#fff0c2;color:#6b4000;font-size:var(--aa-text-label);font-weight:850}
.staff-seo-priority[data-priority=P1]{background:var(--aa-danger-surface);color:var(--aa-danger)}
.staff-seo-recommendation{margin:0;color:var(--aa-ink)}
.staff-seo-issue-select{display:flex;align-items:center;gap:var(--aa-space-2);min-height:var(--aa-control-height);padding:var(--aa-space-2);border-radius:var(--aa-radius);background:var(--aa-surface);font-weight:800;cursor:pointer}
.staff-seo-issue-select input{width:20px;height:20px;margin:0;accent-color:var(--aa-primary)}
.staff-seo-review-bar{align-items:center;margin-top:var(--aa-space-3);padding-top:var(--aa-space-3);border-top:1px solid var(--aa-border)}
.staff-seo-review-bar p{margin:0}
.staff-seo-review-dialog{box-sizing:border-box;width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:var(--aa-space-4);overflow:auto;overscroll-behavior:contain;border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface);color:var(--aa-ink)}
.staff-seo-review-dialog::backdrop{background:rgba(6,29,43,.68)}
.staff-seo-review-dialog-body{display:grid;gap:var(--aa-space-3);margin-top:var(--aa-space-3)}
.staff-seo-review-item{padding:var(--aa-space-3);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface-subtle)}
.staff-seo-review-item h4,.staff-seo-review-item p{margin-top:0}
.staff-seo-review-steps{margin-bottom:0}
.staff-seo-groups h3,.staff-seo-groups>p,.staff-seo-history h3,.staff-seo-history>p{margin-top:0}
.staff-seo-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--aa-space-3)}
.staff-seo-group-card{min-width:0;border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface-subtle)}
.staff-seo-group-card summary{padding:var(--aa-space-3);color:var(--aa-ink);font-weight:850;cursor:pointer}
.staff-seo-group-list{display:grid;gap:0;margin:0;padding:0 var(--aa-space-3) var(--aa-space-3);list-style:none}
.staff-seo-group-list li{display:grid;gap:2px;padding:var(--aa-space-2) 0;border-top:1px solid var(--aa-border);overflow-wrap:anywhere}
.staff-seo-group-list li:first-child{border-top:0}
.staff-seo-history-table{min-width:980px}
.staff-seo-source-list{display:flex;flex-wrap:wrap;gap:var(--aa-space-2);margin:0;padding:0;list-style:none}
.staff-seo-source-list li{padding:var(--aa-space-2) var(--aa-space-3);border-radius:999px;background:var(--aa-info-surface);color:var(--aa-info);font-weight:750}
.staff-seo-inventory-head{display:flex;align-items:start;justify-content:space-between;gap:var(--aa-space-4)}
.staff-seo-inventory-head h3,.staff-seo-inventory-head p{margin-top:0}
.staff-seo-controls{display:grid;grid-template-columns:minmax(230px,2fr) repeat(4,minmax(140px,1fr)) auto;align-items:end;gap:var(--aa-space-3);margin-block:var(--aa-space-3)}
.staff-seo-controls .portal-field{margin:0}
.staff-seo-controls input,.staff-seo-controls select{box-sizing:border-box;width:100%;min-height:var(--aa-control-height);padding:9px 11px;border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface);font:inherit}
.staff-seo-result-count{margin-block:var(--aa-space-2)}
.staff-seo-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface)}
.staff-seo-table{width:100%;min-width:1040px;border-collapse:collapse;font-size:.875rem;line-height:1.45}
.staff-seo-table th{position:sticky;top:0;z-index:1;padding:10px 12px;background:#eaf2f6;color:var(--aa-ink);text-align:left;font-size:var(--aa-text-label);letter-spacing:.03em;text-transform:uppercase}
.staff-seo-table td{max-width:360px;padding:11px 12px;border-top:1px solid var(--aa-border);vertical-align:top;overflow-wrap:anywhere}
.staff-seo-table tbody tr:hover{background:#f6fafc}
.staff-seo-page-cell,.staff-seo-state-cell{display:grid;gap:4px;min-width:0}
.staff-seo-page-link{color:var(--aa-info);font-weight:800;overflow-wrap:anywhere}
.staff-seo-index-state{display:inline-flex;justify-self:start;padding:4px 8px;border:1px solid currentColor;border-radius:999px;font-size:var(--aa-text-label);font-weight:800}
.staff-seo-index-state.is-indexable{color:var(--aa-success);background:var(--aa-success-surface)}
.staff-seo-index-state.is-excluded{color:#7a4a00;background:#fff4d6}
.staff-seo-pagination{display:flex;align-items:center;justify-content:flex-end;gap:var(--aa-space-3);margin-top:var(--aa-space-3)}
.staff-seo-pagination span{font-weight:750}
body[data-view-density=compact] .staff-seo-metric,body[data-view-density=compact] .staff-seo-limitations,body[data-view-density=compact] .staff-seo-health,body[data-view-density=compact] .staff-seo-queue,body[data-view-density=compact] .staff-seo-groups,body[data-view-density=compact] .staff-seo-history,body[data-view-density=compact] .staff-seo-inventory{padding:var(--aa-space-3)}
@media(max-width:1100px){.staff-seo-metrics,.staff-seo-checks,.staff-seo-issue-grid,.staff-seo-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-seo-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-seo-controls .button{width:100%}}
@media(max-width:700px){
  .staff-seo-metrics,.staff-seo-controls{grid-template-columns:minmax(0,1fr)}
  .staff-seo-inventory,.staff-seo-limitations,.staff-seo-health,.staff-seo-queue,.staff-seo-groups,.staff-seo-history{padding:var(--aa-space-3)}
  .staff-seo-inventory-head,.staff-seo-health-head,.staff-seo-check-head,.staff-seo-queue-head,.staff-seo-issue-head,.staff-seo-review-bar{display:grid;gap:var(--aa-space-1)}
  .staff-seo-checks,.staff-seo-issue-grid,.staff-seo-group-grid{grid-template-columns:minmax(0,1fr)}
  .staff-seo-table-wrap{overflow:visible;border:0;background:transparent}
  .staff-seo-table{display:block;min-width:0}
  .staff-seo-table thead{display:none}
  .staff-seo-table tbody{display:grid;gap:var(--aa-space-3)}
  .staff-seo-table tr{display:grid;padding:var(--aa-space-3);border:1px solid var(--aa-border);border-radius:var(--aa-radius);background:var(--aa-surface)}
  .staff-seo-table td{display:grid;grid-template-columns:minmax(92px,.38fr) minmax(0,1fr);gap:var(--aa-space-2);max-width:none;padding:var(--aa-space-2) 0;border-top:1px solid var(--aa-border)}
  .staff-seo-table td:first-child{border-top:0}
  .staff-seo-table td::before{content:attr(data-label);color:var(--aa-muted);font-size:var(--aa-text-label);font-weight:800;text-transform:uppercase}
  .staff-seo-pagination{justify-content:space-between}
  .staff-seo-pagination .button{min-width:0;padding-inline:var(--aa-space-2)}
}
@media(forced-colors:active){.staff-seo-metric,.staff-seo-limitations,.staff-seo-health,.staff-seo-queue,.staff-seo-issue,.staff-seo-groups,.staff-seo-history,.staff-seo-group-card,.staff-seo-check,.staff-seo-inventory,.staff-seo-table-wrap,.staff-seo-table tr,.staff-seo-index-state,.staff-seo-check-state{border-color:CanvasText}.staff-seo-metric[data-state=unavailable]{border-inline-start-color:Highlight}}
/* Calendar and dispatch: shared, dense working surface. */
#staff-calendar{min-width:0}.schedule-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0}.schedule-range{margin:0 auto 0 0;font-size:1.35rem;outline:none}.schedule-navigation,.schedule-views{display:flex;gap:4px;flex-wrap:wrap}.schedule-button{min-height:42px;padding:8px 12px;border:1px solid #c7d5df;border-radius:7px;background:#fff;color:#183449;font:inherit;font-size:.875rem;cursor:pointer}.schedule-button:hover{background:#edf4f8}.schedule-button[aria-pressed=true],.schedule-primary{background:#075b88;color:#fff;border-color:#075b88}.schedule-date-picker,.schedule-filter,.schedule-search{display:grid;gap:4px;font-size:.875rem}.schedule-date-picker input,.schedule-filter select,.schedule-search input{min-height:42px;min-width:0;width:100%;padding:8px;border:1px solid #b6c8d4;border-radius:7px;background:#fff;font:inherit;color:#173246}.schedule-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(4,minmax(110px,1fr)) auto;gap:8px;align-items:end;margin:4px 0 12px}.schedule-load-state{font-size:.875rem;color:#526575;margin:8px 0}.schedule-load-state[data-error=true]{color:#a72520;font-weight:700}.schedule-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #c7d5df;border-radius:9px;overflow:hidden;background:#fff}.schedule-weekday{padding:9px;background:#173449;color:#fff;text-align:center;font-size:.875rem;font-weight:700}.schedule-month-day{min-height:155px;min-width:0;padding:6px;border-right:1px solid #dce5eb;border-bottom:1px solid #dce5eb;display:flex;flex-direction:column;gap:4px}.schedule-month-day[data-outside=true]{background:#f4f7f9}.schedule-month-day[data-outside=true] .schedule-date{color:#687e8d}.schedule-month-day[data-today=true]{background:#edf6ff}.schedule-month-day[data-selected=true]{box-shadow:inset 0 0 0 2px #075b88}.schedule-day-heading{display:flex;justify-content:space-between;align-items:center}.schedule-date,.schedule-add{border:0;background:transparent;color:#173449;border-radius:50%;min-width:32px;min-height:32px;font:inherit;cursor:pointer}.schedule-date{font-weight:700}.schedule-month-day[data-today=true] .schedule-date{background:#075b88;color:#fff}.schedule-add{font-size:1.2rem}.schedule-chip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 5px;min-width:0;max-width:100%;padding:6px;border:1px solid #bad5e7;border-left:3px solid #075b88;border-radius:5px;text-align:left;background:#edf6ff;color:#173449;font:inherit;cursor:pointer;overflow:hidden}.schedule-chip:hover{box-shadow:0 0 0 2px #075b8844}.schedule-chip-time,.schedule-chip-id{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-chip-id{color:#4a6373}.schedule-chip-name{grid-column:1/-1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.schedule-chip .schedule-badge{grid-column:1/-1;justify-self:start}.schedule-chip[data-state=planning]{background:#fff6e5;border-color:#e4c480;border-left-color:#996200}.schedule-chip[data-state=in_progress]{background:#e8f8ed;border-left-color:#157347}.schedule-chip[data-state=completed]{background:#f1f4f6;border-left-color:#677d89}.schedule-chip[data-state=cancelled]{background:#fff1f0;border-left-color:#b42318;opacity:.8}.schedule-chip[data-before=true]{border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:7px}.schedule-chip[data-after=true]{border-top-right-radius:0;border-bottom-right-radius:0;border-right:7px solid #075b88}.schedule-chip[data-clash=true]{outline:2px solid #b42318}.schedule-badge{display:inline-flex;max-width:100%;padding:2px 5px;border-radius:4px;background:#e4edf3;color:#24485d;font-size:.75rem;font-weight:700;overflow-wrap:anywhere}.schedule-badge[data-state=booked],.schedule-badge[data-state=assigned]{background:#e0f0ff;color:#075486}.schedule-badge[data-state=planning],.schedule-badge[data-state=pending]{background:#fff0cd;color:#835800}.schedule-badge[data-state=unassigned],.schedule-badge[data-state=cancelled]{background:#fee6e3;color:#a72520}.schedule-badge[data-state=in_progress]{background:#dcf5e5;color:#126136}.schedule-badge[data-state=completed]{background:#e7edf0;color:#415666}.schedule-overflow,.schedule-empty-date{border:0;background:transparent;color:#075b88;text-align:left;font:inherit;font-size:.875rem;cursor:pointer;padding:7px 3px}.schedule-empty-date{margin-top:auto;color:#526575}.schedule-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #c7d5df;background:#fff;border-radius:9px;overflow:hidden}.schedule-week-day{min-width:0;border-right:1px solid #dce5eb}.schedule-week-heading{width:100%;min-height:44px;padding:8px;border:0;background:#173449;color:#fff;font:inherit;font-size:.875rem;cursor:pointer;position:sticky;top:0}.schedule-hour{min-height:48px;padding:4px;border-bottom:1px solid #e2eaf0;display:grid;gap:4px}.schedule-hour-create{background:transparent;border:0;padding:0;text-align:left;color:#607785;font:inherit;font-size:.75rem;cursor:pointer}.schedule-week-hours{max-height:650px;overflow-y:auto}.schedule-week-day[data-today=true]{background:#edf6ff}.schedule-counts{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.schedule-counts button{background:#edf4f8}.schedule-job-list{display:grid;gap:5px;min-width:0}.schedule-job-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,28%);gap:8px;padding:10px;border:1px solid #d4e0e8;border-radius:7px;background:#fff;align-items:center}.schedule-row-open{display:grid;grid-template-columns:110px minmax(140px,1fr) minmax(180px,2fr);gap:10px;align-items:center;border:0;padding:0;background:transparent;text-align:left;color:#173449;font:inherit;font-size:.875rem;cursor:pointer;min-width:0;min-height:44px}.schedule-row-identity{display:grid;min-width:0;gap:3px}.schedule-reference{font-size:.75rem;color:#607785;overflow-wrap:anywhere}.schedule-row-route{overflow-wrap:anywhere}.schedule-row-time{font-weight:700;color:#075b88}.schedule-row-states{display:flex;gap:4px;flex-wrap:wrap;min-width:0}.schedule-row-resources{width:100%;font-size:.875rem;overflow-wrap:anywhere;color:#526575}.schedule-warnings{padding:12px;background:#fff4e7;border:1px solid #e4c480;border-radius:7px;margin:12px 0}.schedule-warning{display:block;text-align:left;background:transparent;border:0;color:#853400;padding:8px 0;font:inherit;font-size:.875rem;cursor:pointer}.schedule-dispatch{display:grid;grid-template-columns:minmax(240px,32%) minmax(0,1fr);gap:14px;align-items:start}.schedule-queue,.schedule-resources{min-width:0}.schedule-queue{max-height:750px;overflow-y:auto}.schedule-queue .schedule-job-row,.schedule-queue .schedule-row-open{grid-template-columns:1fr}.schedule-queue .schedule-row-open{gap:4px}.schedule-timeline-scale{display:flex;justify-content:space-between;padding:8px 0;font-size:.75rem;color:#526575}.schedule-resource-lane{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;border-top:1px solid #d4e0e8;padding:8px 0;min-width:0}.schedule-resource-label{font-size:.875rem;overflow-wrap:anywhere}.schedule-resource-track{min-width:0;background:repeating-linear-gradient(to right,#f2f7fa 0,#f2f7fa calc(25% - 1px),#cbd9e2 calc(25% - 1px),#cbd9e2 25%);display:grid;align-content:start;gap:3px}.schedule-resource-track .schedule-chip{min-width:35px;padding:5px 3px;display:block}.schedule-resource-track .schedule-chip>*{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-resource-track .schedule-chip .schedule-chip-id,.schedule-resource-track .schedule-chip .schedule-badge{display:none}.schedule-idle{font-size:.875rem;padding:8px;color:#526575}.schedule-undated{margin-top:18px;padding:12px;border:1px solid #d4e0e8;border-radius:7px}.schedule-undated summary{cursor:pointer;margin-bottom:8px;font-weight:700}.schedule-job-dialog{width:min(1100px,95vw);max-width:95vw;max-height:92dvh;border:1px solid #c7d5df;border-radius:12px;padding:0;color:#173449;background:#f6f9fb}.schedule-job-dialog::backdrop{background:#0a2438a6}.schedule-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;background:#fff;position:sticky;top:0;z-index:5;border-bottom:1px solid #d4e0e8}.schedule-dialog-header h3{margin:0;font-size:1.2rem}.schedule-detail-body{padding:18px}.schedule-detail-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.schedule-detail-section{padding:14px;background:#fff;border:1px solid #d4e0e8;border-radius:8px;min-width:0}.schedule-detail-section h4{margin:0 0 10px}.schedule-detail-section dl{margin:0;display:grid;gap:7px}.schedule-detail-section dl>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px}.schedule-detail-section dt{font-size:.875rem;color:#607785}.schedule-detail-section dd{margin:0;font-size:.875rem;overflow-wrap:anywhere}.schedule-detail-section ul{padding-left:20px;font-size:.875rem}.schedule-detail-section[data-section=header]{grid-column:1/-1}.schedule-empty{font-size:.875rem;padding:12px;color:#526575}.schedule-button:focus-visible,.schedule-chip:focus-visible,.schedule-row-open:focus-visible,.schedule-date:focus-visible,.schedule-add:focus-visible,.schedule-empty-date:focus-visible{outline:3px solid #075b88;outline-offset:2px}
@media(max-width:1100px){.schedule-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-search{grid-column:span 2}.schedule-job-row{grid-template-columns:1fr}.schedule-dispatch{grid-template-columns:minmax(220px,35%) minmax(0,1fr)}}
@media(max-width:700px){.schedule-toolbar{gap:8px}.schedule-range{width:100%;font-size:1.2rem}.schedule-views{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;position:sticky;top:0;z-index:2;background:#f6f9fb;padding:4px 0}.schedule-views .schedule-button{padding:8px 4px}.schedule-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.schedule-navigation .schedule-button{padding:8px 4px}.schedule-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-search{grid-column:1/-1}.schedule-month-day{padding:2px;min-height:115px;gap:3px}.schedule-weekday{padding:8px 1px;font-size:.75rem}.schedule-date,.schedule-add{min-height:30px;min-width:22px;font-size:.875rem;padding:0}.schedule-chip{display:block;padding:4px 2px;border-left-width:2px}.schedule-chip-time{font-size:.75rem}.schedule-chip-name{font-size:.75rem;font-weight:600}.schedule-chip-id{display:none}.schedule-month-grid .schedule-badge{width:100%;padding:1px 0;font-size:.75rem;line-height:1.2}.schedule-empty-date{font-size:.75rem;padding:3px 1px;overflow-wrap:anywhere}.schedule-overflow{font-size:.75rem;padding:5px 1px}.schedule-week-grid{grid-template-columns:1fr}.schedule-week-hours{max-height:320px;overflow-y:auto}.schedule-week-day{border-right:0;border-bottom:1px solid #c7d5df}.schedule-row-open{grid-template-columns:1fr;gap:4px}.schedule-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-dispatch{grid-template-columns:1fr}.schedule-queue{max-height:400px}.schedule-resource-lane{grid-template-columns:80px minmax(0,1fr)}.schedule-detail-summary{grid-template-columns:1fr}.schedule-detail-section dl>div{grid-template-columns:1fr;gap:2px}.schedule-job-dialog{max-width:100vw;width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.schedule-detail-body{padding:10px}.schedule-dialog-header{padding:10px}.schedule-dialog-header h3{font-size:1rem}.schedule-job-dialog .staff-job-workspace{grid-template-columns:1fr}.schedule-date-picker{flex:1}.schedule-month-grid .schedule-chip[data-before=true]{border-left-width:4px}.schedule-month-grid .schedule-chip[data-after=true]{border-right-width:4px}}
.schedule-timeline-scale{margin-left:128px}.schedule-detail-section .staff-finance-overview-head h4{font-size:1rem}.schedule-detail-section .staff-finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-detail-section .staff-inventory-panel{margin-top:10px}@media(max-width:700px){.schedule-timeline-scale{margin-left:88px}}
.schedule-resource-track{overflow:hidden}.schedule-warnings{max-height:300px;overflow-y:auto}.schedule-week-hours{scrollbar-gutter:stable}
@media(min-width:701px){.schedule-week-grid{max-height:680px;overflow-y:auto}.schedule-week-hours{max-height:none;overflow-y:visible}.schedule-hour{height:180px;min-height:180px;display:flex;flex-direction:column;justify-content:flex-start}.schedule-week-hours .schedule-chip{flex-shrink:0}.schedule-week-hours .schedule-chip-id{display:none}}
/* Selected-job review preserves individual booking checks and acceptance. */
.schedule-bulk-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0;padding:10px;border:1px solid #c7d5df;border-radius:7px;background:#f3f8fc}.schedule-selection-note{font-size:.875rem;color:#526575}.schedule-select-job{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:44px}.schedule-select-job input{width:20px;height:20px;accent-color:#075b88}.schedule-job-row[data-selectable=true]{grid-template-columns:40px minmax(0,1fr) minmax(160px,28%)}.schedule-queue .schedule-job-row[data-selectable=true]{grid-template-columns:40px minmax(0,1fr)}.schedule-queue .schedule-row-states{grid-column:2}.schedule-review-navigation{display:flex;justify-content:space-between;gap:8px;padding:10px 18px;background:#edf4f8;border-bottom:1px solid #d4e0e8}.schedule-review-navigation[hidden]{display:none}.schedule-dialog-identity{min-width:0}.schedule-dialog-identity .portal-note{display:block;overflow-wrap:anywhere;font-size:.75rem}.schedule-bulk-bar button:disabled{opacity:.5;cursor:default}
@media(max-width:1100px){.schedule-job-row[data-selectable=true]{grid-template-columns:40px minmax(0,1fr)}.schedule-job-row[data-selectable=true] .schedule-row-states{grid-column:2}}
@media(max-width:700px){.schedule-review-navigation{padding:8px 10px}.schedule-review-navigation .button{font-size:.875rem;padding:8px}.schedule-bulk-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-selection-note{grid-column:1/-1}.schedule-month-grid .schedule-chip-id{display:block}}
.schedule-review-navigation{flex-wrap:wrap}.schedule-review-feedback{flex-basis:100%;margin:0}.schedule-review-feedback:empty{display:none}.schedule-review-navigation:has(button[hidden]):has(.schedule-review-feedback:empty){display:none}

/* Guided booking: one next action, with evidence available below. */
.staff-job-journey,.staff-enquiry-plan{background:#fff;border:1px solid #b8cbd8;border-radius:16px;padding:1.25rem;margin:0 0 1.25rem;color:#17354b;min-width:0}
.staff-journey-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}
.staff-journey-head h3,.staff-journey-head h4{margin:0;font-size:1.25rem}
.staff-journey-next{background:#e8f4fc;border-left:4px solid #0879ad;border-radius:8px;padding:1rem;margin-bottom:1rem}
.staff-journey-next strong{font-size:1.1rem}.staff-journey-next p{margin:.5rem 0 1rem;line-height:1.5}
.staff-journey-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:0;margin:0}
.staff-journey-step{border:1px solid #c9d6df;border-radius:10px;padding:.85rem;min-width:0}
.staff-journey-step[data-state=next]{border:2px solid #0879ad}.staff-journey-step[data-state=complete]{background:#f0f8f4}
.staff-journey-state{display:block;font-size:.875rem;font-weight:600;color:#526475;margin-bottom:.25rem}
.staff-journey-link{border:0;background:transparent;color:#075e8c;text-align:left;min-height:44px;padding:.25rem 0;font:inherit;font-weight:700;cursor:pointer;width:100%;overflow-wrap:anywhere}
.staff-journey-link:focus-visible{outline:3px solid #0879ad;outline-offset:3px;border-radius:4px}
.staff-journey-step p{font-size:.875rem;line-height:1.5;margin:.35rem 0 0;overflow-wrap:anywhere}
.staff-enquiry-scope-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.staff-enquiry-scope-form>.staff-form-actions,.staff-enquiry-scope-form>.portal-note{grid-column:1/-1}
.staff-inventory-paste{grid-column:1/-1;border:1px solid #c9d6df;border-radius:10px;padding:.75rem;margin:.75rem 0}
.staff-inventory-paste summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.staff-inventory-paste textarea{width:100%;min-height:130px}.staff-inventory-import-review ul{max-height:240px;overflow:auto;padding-left:1.4rem}
.portal-enquiry-service-value{white-space:pre-line}.portal-quote-preview{white-space:normal;overflow-wrap:anywhere}.portal-quote-preview dl{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.portal-quote-preview dt{font-weight:600}.portal-quote-preview dd{margin:0}
@media(max-width:640px){.staff-journey-list,.staff-enquiry-scope-form{grid-template-columns:1fr}.staff-job-journey,.staff-enquiry-plan{padding:1rem}.staff-journey-head .button,.staff-journey-next .button{width:100%}.staff-enquiry-scope-form>*{grid-column:1}.portal-quote-preview dl{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.staff-job-journey{scroll-behavior:auto}}

/* Linked moves remain readable on a phone, with full job references wrapping. */
.staff-linked-summary{font-size:1rem;font-weight:700;color:#123f79}.staff-linked-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.staff-linked-card{padding:1rem;background:#f6f9ff;border:1px solid #cdd9eb;border-radius:.65rem;overflow-wrap:anywhere}.staff-linked-card[data-current=true]{border:2px solid #245bb1;background:#edf4ff}.staff-linked-route{font-size:1rem;line-height:1.5}.staff-linked-billing{display:block;font-size:.9rem}.staff-linked-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem 0}.staff-linked-form .wide,.staff-linked-results,.staff-linked-selection,.staff-linked-form>.portal-feedback{grid-column:1/-1}.staff-linked-form input,.staff-linked-form select,.staff-linked-form textarea{max-width:100%;min-height:44px}.staff-linked-search-option{display:flex;width:100%;flex-direction:column;align-items:flex-start;text-align:left;gap:.35rem;margin:.5rem 0;padding:.8rem;white-space:normal;overflow-wrap:anywhere;min-height:44px;font-size:.9rem}.staff-linked-remove-form{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.65rem}.staff-linked-remove-form label{width:100%}.staff-linked-card .portal-note{font-size:.9rem}.staff-linked-selection{overflow-wrap:anywhere}@media(max-width:720px){.staff-linked-list,.staff-linked-form{grid-template-columns:minmax(0,1fr)}.staff-linked-card .portal-action-row{flex-wrap:wrap}.staff-linked-form .button{min-height:44px}}

/* Content reflow: size forms to their actual panel, not only the viewport. */
.staff-workspace-content,.staff-enquiry-plan{container-type:inline-size}
:is(.staff-job-workspace,.staff-workspace-content,.staff-enquiry-scope-form,.staff-linked-form,.staff-linked-card,.staff-linked-results,.staff-journey-next,.staff-journey-step,.schedule-detail-body,.schedule-dialog-identity){box-sizing:border-box;min-width:0;max-width:100%}
:is(.staff-enquiry-scope-form,.staff-linked-form)>.wide{grid-column:1/-1}
:is(.staff-enquiry-scope-form,.staff-linked-form) :is(.portal-field,input,select,textarea){box-sizing:border-box;min-width:0;max-width:100%}
.staff-enquiry-scope-form>.portal-feedback{grid-column:1/-1;overflow-wrap:anywhere}
:is(.staff-enquiry-scope-form,.staff-linked-form) textarea{width:100%;resize:vertical;line-height:1.5}
body.portal-nav-active :is(.staff-workspace-content,.staff-enquiry-scope-form,.portal-new-job-fields,.portal-quote-consent) input:is([type=checkbox],[type=radio]){box-sizing:border-box;width:24px!important;height:24px!important;min-width:24px;min-height:24px!important;max-width:24px;padding:0;flex:0 0 24px;align-self:flex-start;accent-color:var(--aa-primary)}
:is(.portal-quote-consent,.staff-linked-card,.staff-journey-next,.staff-linked-selection){overflow-wrap:anywhere;line-height:1.5}
.staff-linked-card :is(strong,p,span){min-width:0;max-width:100%;overflow-wrap:anywhere}
.staff-linked-card .portal-note,.staff-linked-form textarea{white-space:pre-wrap}
:is(.staff-linked-card,.staff-linked-form,.staff-journey-next,.staff-enquiry-scope-form,.schedule-dialog-header,.schedule-review-navigation) .button{box-sizing:border-box;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.4;text-align:center;min-height:44px}
.staff-linked-card .portal-action-row{display:flex;flex-wrap:wrap;gap:.65rem}
.staff-workspace-module>summary{flex-wrap:wrap}
.staff-workspace-summary-label{flex:1 1 auto;overflow-wrap:anywhere}
.portal-quote-preview{max-height:none;overflow:visible;box-sizing:border-box;font-size:.875rem}
.portal-quote-preview dl>div{min-width:0;overflow-wrap:anywhere}
.staff-inventory-paste textarea{box-sizing:border-box;max-width:100%;padding:.75rem;font:inherit;font-size:1rem;line-height:1.5;border:1px solid var(--aa-border);border-radius:var(--aa-radius)}
.schedule-dialog-header{flex-wrap:wrap;align-items:flex-start}
.schedule-dialog-identity{flex:1 1 15rem;overflow-wrap:anywhere}
.schedule-dialog-header h3{overflow-wrap:anywhere;line-height:1.4}
.schedule-job-dialog{box-sizing:border-box;overflow:auto;scrollbar-gutter:stable}
.schedule-detail-body{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}
body.portal-nav-active .portal-head{flex:0 0 auto;height:auto;padding-block:8px;flex-wrap:wrap}
@container(max-width:600px){.staff-linked-list,.staff-linked-form,.staff-enquiry-scope-form,.portal-quote-preview dl{grid-template-columns:minmax(0,1fr)}.staff-linked-form>*,.staff-enquiry-scope-form>*{grid-column:1}.staff-linked-form>.button{width:100%}.staff-linked-card{padding:.8rem}}
@media(max-width:700px){body.portal-nav-active #portal-content{padding-bottom:var(--staff-dock-height,calc(76px + env(safe-area-inset-bottom)))}.staff-tab-panel{scroll-padding-block:1rem;padding-bottom:1.5rem}.schedule-review-navigation{flex-wrap:wrap}.staff-linked-form .portal-field select{width:100%}}

@media(min-width:701px){body.portal-nav-active #portal-content{grid-template-rows:minmax(60px,max-content) auto auto minmax(0,1fr)}body.portal-nav-active .portal-bottom-nav{overflow-y:auto!important;overflow-x:hidden!important}}
.staff-address-link{display:inline-block;max-width:100%;color:#075f91;text-decoration:underline;text-underline-offset:.18em;font-weight:700;line-height:1.5;overflow-wrap:anywhere;cursor:pointer}.staff-address-link:focus-visible{outline:3px solid var(--aa-primary);outline-offset:3px;border-radius:3px}.staff-share-dialog{box-sizing:border-box;width:min(650px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:1.25rem;border:1px solid var(--aa-border);border-radius:12px;background:var(--aa-surface);color:var(--aa-ink)}.staff-share-dialog::backdrop{background:#102c3c99}.staff-share-dialog h3{margin-top:0}.staff-share-dialog .portal-field{margin:1rem 0;min-width:0}.staff-share-dialog textarea{min-height:260px;max-width:100%;resize:vertical;font-size:1rem;line-height:1.5}.staff-share-dialog .portal-note,.staff-share-dialog .portal-feedback{overflow-wrap:anywhere}.staff-share-dialog .button{min-height:44px;white-space:normal}@media(max-width:600px){.staff-share-dialog{padding:1rem}.staff-share-dialog .staff-form-actions{grid-template-columns:minmax(0,1fr)}}

/* Full portal layout audit: panel width, tablet reflow and anchored lookup. */
.staff-share-dialog h3{overflow-wrap:anywhere;line-height:1.4}
.staff-share-dialog .button{box-sizing:border-box;max-width:100%;min-width:0;overflow-wrap:anywhere;min-height:var(--aa-control-height)}
body.portal-nav-active .staff-command-strip{position:relative;min-width:0;container-type:inline-size}
body.portal-nav-active #staff-global-search-form{grid-template-columns:minmax(0,1fr) auto;min-width:0}
body.portal-nav-active #staff-global-search-results{box-sizing:border-box;position:absolute;z-index:100;top:100%;left:1rem;right:1rem;width:auto;max-width:none;max-height:40dvh;margin:0;overflow:auto}
body.portal-nav-active #portal-status:not(:empty){max-height:min(25dvh,12rem);overflow-y:auto;flex-shrink:0}
body.portal-nav-active :is(.portal-field,.staff-workspace-row,.staff-allocation-edit-row,.staff-route-stop,.staff-finance-line,.staff-invoice-card){min-width:0}
body.portal-nav-active :is(.portal-field input,.portal-field select,.portal-field textarea){max-width:100%;min-width:0}
body.portal-nav-active .notification-grid{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));overflow:auto}
body.portal-nav-active .notification-grid :is(select,.notification-choice,strong){min-width:0;max-width:100%;overflow-wrap:anywhere}
body.portal-nav-active .notification-choice select{box-sizing:border-box;width:100%}
@media(min-width:701px) and (max-width:1100px){
 body.portal-nav-active .staff-job-workspace{grid-template-columns:minmax(0,1fr)}
 body.portal-nav-active .staff-module-intro{display:block}
 body.portal-nav-active .staff-module-intro p:last-child{max-width:none}
 .staff-overview-groups,.schedule-detail-summary{grid-template-columns:minmax(0,1fr)}
 .schedule-dispatch{grid-template-columns:minmax(0,1fr)}
 .schedule-detail-section dl>div{grid-template-columns:minmax(100px,.35fr) minmax(0,1fr)}
}
@container(max-width:600px){
 .staff-finance-summary,.staff-finance-line-list,.staff-invoice-list,.staff-readiness-grid,.staff-allocation-list,.staff-access-grid,.staff-history-details{grid-template-columns:minmax(0,1fr)}
 .staff-route-path,.staff-leg-route,.staff-route-timing{grid-template-columns:minmax(0,1fr)}
 .staff-finance-overview-head,.staff-finance-line-head,.staff-invoice-head,.staff-workspace-row,.staff-allocation-card{flex-wrap:wrap}
 .staff-route-stop-head,.staff-leg-row-head{flex-wrap:wrap}
 .staff-route-status,.staff-allocation-status{max-width:100%}
}
@container(max-width:450px){body.portal-nav-active #staff-global-search-form{grid-template-columns:minmax(0,1fr)}body.portal-nav-active #staff-global-search-form .button{width:100%}}
@media(max-width:520px){.schedule-filters{grid-template-columns:minmax(0,1fr)}.schedule-filters>*{grid-column:1}.schedule-bulk-bar{grid-template-columns:minmax(0,1fr)}.schedule-selection-note{grid-column:1}.schedule-detail-section .staff-finance-summary{grid-template-columns:minmax(0,1fr)}}

@media(max-width:700px){.portal-bottom-nav{display:flex;overflow-x:auto;max-width:100%;gap:.25rem}.portal-bottom-nav .staff-nav-item{flex:0 0 auto;white-space:nowrap;word-break:normal;overflow-wrap:normal;min-width:4.5rem}.staff-preferences .button{white-space:nowrap}}

@media(max-width:700px){body.portal-nav-active .portal-bottom-nav{display:flex!important;flex-direction:row;overflow-x:auto!important;overflow-y:hidden!important}.portal-bottom-nav .staff-nav-item{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}#staff-view-dialog .staff-dialog-actions{grid-template-columns:1fr}#staff-view-dialog .staff-dialog-actions .button{white-space:nowrap}}

/* Compact job sharing, with a readable message and reachable actions. */
.staff-share-dialog{width:min(580px,calc(100vw - 24px));padding:1.25rem;}
.staff-share-dialog h3{font-size:1.35rem;line-height:1.25;margin:0 0 .5rem;}
.staff-share-dialog .portal-note{font-size:.875rem;line-height:1.45;margin:0 0 1rem;}
.staff-share-dialog .portal-field{font-size:.875rem;line-height:1.4;margin:.75rem 0;font-weight:600;}
.staff-share-dialog input{font-size:1rem;min-height:44px;padding:.65rem .75rem;}
.staff-share-dialog textarea{height:clamp(220px,38dvh,360px);min-height:180px;padding:.75rem;font-size:1rem;line-height:1.5;font-weight:400;resize:vertical;}
.staff-share-dialog .staff-form-actions{position:sticky;bottom:-1.25rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;background:var(--aa-surface);padding:.75rem 0;margin-top:.5rem;}
.staff-share-dialog .button{font-size:.9375rem;padding:.65rem .75rem;min-height:44px;}
.staff-share-dialog .portal-feedback:empty{display:none;}
@media(max-width:600px){.staff-share-dialog{padding:1rem}.staff-share-dialog .staff-form-actions{bottom:-1rem;grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Leave room for fixed navigation when revealing forms and validation. */
#staff-new-job-form-host,.portal-new-job-form,.portal-new-job-fields,.portal-client-form,.portal-field input,.portal-field select,.portal-field textarea{scroll-margin-top:24px;scroll-margin-bottom:120px}

.staff-session-warning{position:fixed;z-index:1500;left:1rem;right:1rem;bottom:110px;max-width:600px;margin:auto;background:#fff;border:2px solid #0c6c92;border-radius:16px;padding:1rem;box-shadow:0 8px 30px #0003}.staff-session-warning[hidden]{display:none}

.staff-booking-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0;padding:1rem;border:1px solid var(--aa-border);border-radius:var(--aa-radius)}.staff-booking-filters label{display:flex;flex-direction:column;gap:.5rem;font-weight:600;min-width:0}.staff-booking-filters input:not([type=checkbox]),.staff-booking-filters select{width:100%;min-height:48px;font:inherit;padding:.7rem;border:1px solid var(--aa-border);border-radius:8px;background:#fff;color:var(--aa-text)}.staff-booking-filters .staff-booking-filter-check{flex-direction:row;align-items:center;min-height:48px}.staff-booking-filter-check input{width:24px;height:24px;flex-shrink:0}.staff-booking-counts{padding:1rem;background:var(--aa-info-surface);border-radius:var(--aa-radius);font-weight:600;scroll-margin-top:24px}.staff-booking-stage{font-weight:700;color:var(--aa-info)}.staff-booking-issues summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-weight:600;color:var(--aa-danger)}
@media(max-width:760px){.staff-booking-filters{grid-template-columns:minmax(0,1fr)}.staff-booking-filters .button{width:100%}}

/* Mobile workspace: lock the outer page; only the content row can scroll.
   This also prevents field focus/scrollIntoView from panning the entire app
   and leaving the navigation above an empty document viewport. */
body.portal-nav-active .staff-mobile-scroll{display:contents}
@media(max-width:700px){
 html:has(body.portal-nav-active){height:100%;overflow:hidden;overflow:clip;overscroll-behavior:none}
 body.portal-nav-active{position:fixed;inset:0;box-sizing:border-box;width:100%;height:100dvh;min-height:0;margin:0;padding:0;overflow:hidden;overflow:clip}
 body.portal-nav-active #main{height:100%;min-height:0;overflow:hidden;overflow:clip}
 body.portal-nav-active #portal-content{position:fixed;inset:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;height:100dvh;padding:0;gap:0}
 body.portal-nav-active .staff-mobile-scroll{display:block;grid-row:1;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-padding-block:12px}
 body.portal-nav-active .staff-tab-panels{height:auto;min-height:0;overflow:visible}
 body.portal-nav-active .staff-tab-panel{height:auto;overflow:visible;padding-bottom:16px;scrollbar-gutter:auto}
 body.portal-nav-active .portal-bottom-nav{position:relative!important;inset:auto!important;grid-row:2;width:100%;max-width:none;min-height:0;margin:0;padding:4px 8px calc(4px + env(safe-area-inset-bottom));box-shadow:none;flex-shrink:0}
 body.portal-nav-active .portal-bottom-nav .staff-nav-item{min-height:48px;padding:6px;font-size:.75rem}
 body.portal-nav-active .portal-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto;gap:6px;padding:8px 10px;min-height:0}
 body.portal-nav-active .staff-brand{grid-column:1;grid-row:1;font-size:.85rem;letter-spacing:.06em}
 body.portal-nav-active #portal-logout{grid-column:2;grid-row:1;width:100%;margin:0;min-height:44px;padding:6px}
 body.portal-nav-active .staff-notification-centre{grid-column:3;grid-row:1;justify-self:end}
 body.portal-nav-active #staff-command-launch{grid-column:1;grid-row:2;width:100%;min-height:48px;padding:6px;font-size:.8rem}
 body.portal-nav-active #staff-help-launch{grid-column:2;grid-row:2;width:100%;min-height:48px;padding:6px;font-size:.8rem}
 body.portal-nav-active #staff-view-settings{grid-column:3;grid-row:2;width:100%;min-height:48px;padding:6px;font-size:.8rem}
 body.portal-nav-active #staff-global-search-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}
 body.portal-nav-active #staff-global-search-form .button{width:auto;min-height:48px;padding:10px 14px}
 body.portal-nav-active .staff-command-strip{padding:10px 12px}
 body.portal-nav-active .staff-notification-toasts{bottom:calc(64px + env(safe-area-inset-bottom))}
}

/* Operational colours: action blue, confirmed green, attention amber, errors red. */
body.portal-nav-active .staff-journey-next{background:var(--aa-info-surface);border-color:var(--aa-primary);color:var(--aa-ink)}
body.portal-nav-active .staff-journey-step{background:var(--aa-surface);border-color:var(--aa-border)}
body.portal-nav-active .staff-journey-step[data-state=next]{border-color:var(--aa-primary)}
body.portal-nav-active .staff-journey-step[data-state=pending]{background:var(--aa-surface-subtle)}
body.portal-nav-active .staff-journey-step[data-state=complete]{background:var(--aa-surface);border-color:#d1dee6}
body.portal-nav-active .staff-journey-step[data-state=complete] .staff-journey-state{color:var(--aa-success);background:var(--aa-success-surface)}
body.portal-nav-active .staff-journey-step[data-state=pending] .staff-journey-state{color:var(--aa-muted);background:var(--aa-surface-subtle)}
body.portal-nav-active .staff-journey-state{display:inline-block;border-radius:4px;padding:3px 6px;font-weight:700}
body.portal-nav-active .staff-journey-link{color:var(--aa-primary)}
body.portal-nav-active .staff-journey-completed{margin-top:12px;border-top:1px solid #d1dee6;padding-top:8px}
body.portal-nav-active .staff-journey-completed>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--aa-muted);font-weight:700}
body.portal-nav-active .staff-journey-completed .staff-journey-list{margin-top:8px}
body.portal-nav-active .staff-allocation-status[data-state=attention],body.portal-nav-active .staff-readiness-overall{border-color:var(--aa-warning);color:var(--aa-warning);background:var(--aa-warning-surface)}
body.portal-nav-active :is(button,input,select,textarea,summary,a):focus-visible{outline-color:var(--aa-primary-hover)}
@keyframes aa-crew-attention{0%,100%{box-shadow:0 0 0 0 #075f9100}50%{box-shadow:0 0 0 4px #075f9130}}
body.portal-nav-active .staff-journey-next .button[data-attention=crew]{animation:aa-crew-attention 2s ease-in-out 2}
@media(forced-colors:active){body.portal-nav-active .staff-journey-step .staff-journey-state{color:CanvasText;background:Canvas;border:1px solid CanvasText}body.portal-nav-active .staff-journey-next .button[data-attention=crew]{animation:none}}

body.portal-nav-active .staff-dispatch-readiness[data-state=ready] .staff-readiness-overall{border-color:var(--aa-success);color:var(--aa-success);background:var(--aa-success-surface)}
body.portal-nav-active .portal-head :is(button,a):focus-visible{outline-color:var(--aa-surface)}

@media(forced-colors:active){body.portal-nav-active :is(.staff-readiness-overall,.staff-allocation-status,.staff-journey-next,.staff-journey-state){color:CanvasText!important;background:Canvas!important;border-color:CanvasText!important}body.portal-nav-active :is(button,input,select,textarea,summary,a):focus-visible{outline-color:Highlight!important}}

.staff-record-dialog{box-sizing:border-box;width:min(900px,100%);max-width:100%;height:100dvh;max-height:100dvh;margin:auto;padding:16px;border:0;overflow-y:auto;background:#f5f9fc;color:#173246}.staff-record-dialog::backdrop{background:#102c3ccc}.staff-record-dialog>.button{margin-bottom:16px}.staff-record-dialog .portal-run-confirm{display:flex;flex-direction:column;gap:12px}.staff-finish-schedule{display:flex;flex-direction:column;gap:10px}

.staff-record-actions{display:flex;flex-wrap:wrap;gap:12px;padding:20px 0;margin-top:16px;border-top:1px solid #748b99}.staff-record-actions .portal-note{flex-basis:100%}

.staff-job-resource-summary{padding:16px;background:#eef6fc;border:1px solid #748b99;border-radius:12px;margin-bottom:16px}.staff-job-resource-chips{display:flex;flex-wrap:wrap;gap:8px}.staff-job-resource-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;background:white;border:1px solid #748b99;border-radius:8px;font-size:.9rem}

.staff-vehicle-team{grid-column:1/-1;display:grid;gap:12px}.staff-unassigned-crew{grid-column:1/-1}.staff-allocation-edit-row[data-kind=vehicle]{border:2px solid #075f91;background:#eef6fc}.staff-vehicle-team .staff-allocation-edit-row{background:white}

.staff-job-resource-chip[role=button]{cursor:pointer;color:#075f91}.staff-job-resource-chip[role=button]:focus-visible{outline:3px solid #075f91;outline-offset:3px}

.staff-overview-resource-brief{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.staff-overview-resource-brief button{cursor:pointer;min-height:44px;color:#075f91;font-weight:700}.staff-overview-job{cursor:pointer}.staff-overview-job:focus-visible{outline:3px solid #075f91;outline-offset:3px}.staff-overview-details{margin:8px 0}.staff-overview-job>button.staff-overview-next{width:100%;text-align:left;cursor:pointer;border:1px solid #748b99;padding:12px;border-radius:8px}.staff-overview-job h4{margin:0 0 8px}.staff-overview-job>p{margin:8px 0}

.staff-overview-job{padding:12px 14px;line-height:1.35}.staff-overview-job h4{font-size:1.05rem;margin:0 0 6px}.staff-overview-job .staff-booking-stage{display:inline-block;padding:4px 9px;border:1px solid #155b38;border-radius:999px;font-size:.8rem;margin:0 0 6px}.staff-overview-job .staff-overview-when{font-size:.9rem;margin:4px 0}.staff-overview-route-compact{font-size:.9rem;line-height:1.4;margin:6px 0}.staff-overview-job .staff-overview-resource-brief{gap:6px;margin:8px 0}.staff-overview-job .staff-job-resource-chip{font-size:.85rem;padding:5px 8px;min-height:40px}.staff-overview-job .staff-overview-assigned{font-size:.8rem;margin:4px 0}.staff-overview-job .staff-overview-details{font-size:.8rem}.staff-overview-job .staff-booking-issues{font-size:.85rem;margin:6px 0}.staff-overview-job>button.staff-overview-next{font-size:.85rem;padding:8px 10px;margin:6px 0;min-height:40px}.staff-overview-job .staff-overview-open{font-size:.85rem;min-height:40px;padding:8px 12px;width:auto;margin:4px 0}.staff-overview-group{gap:10px}.staff-overview-group>.staff-empty-state{padding:12px;font-size:.9rem}

.staff-unassigned-crew.staff-no-unassigned>h5,.staff-unassigned-crew.staff-no-unassigned>p,.staff-unassigned-crew.staff-no-unassigned .staff-empty-state{display:none}
body.portal-nav-active .staff-resource-form .staff-allocation-edit-row[data-kind=vehicle]{padding:12px;gap:10px}
body.portal-nav-active .staff-resource-form .staff-vehicle-team .staff-allocation-edit-row[data-kind=crew]{padding:10px;gap:8px;margin:0}
.staff-vehicle-team h5,.staff-allocation-edit-row[data-kind=vehicle]>h5{grid-column:1/-1;margin:8px 0 0}
body.portal-nav-active .staff-resource-form :is(select,input,.button){min-height:44px}
body.portal-nav-active .staff-vehicle-team .portal-field{margin:0;font-size:.9rem}
body.portal-nav-active .staff-vehicle-team .button{font-size:.85rem;padding:8px 10px}
@media(max-width:600px){body.portal-nav-active .staff-resource-form .staff-vehicle-team .staff-allocation-edit-row[data-kind=crew]{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-vehicle-team [name=crew_email]{width:100%}}

.staff-resource-profile{grid-column:1/-1;border:1px solid #cbd9e2;border-radius:10px;padding:10px}.staff-resource-profile summary{font-weight:700;cursor:pointer}.staff-resource-profile>.portal-client-form{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.staff-resource-profile .portal-field{min-width:0;margin:0}@media(max-width:600px){.staff-resource-profile>.portal-client-form{grid-template-columns:minmax(0,1fr)}}

@media(max-width:600px){body.portal-nav-active .staff-resource-form .staff-vehicle-team .staff-allocation-edit-row[data-kind=crew]{grid-template-columns:minmax(0,1fr)}body.portal-nav-active .staff-resource-form .staff-vehicle-team .staff-access-toggle{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;width:100%;font-size:.9rem;line-height:1.4}body.portal-nav-active .staff-resource-form .staff-vehicle-team .staff-access-toggle input[type=checkbox]{order:-1;flex:0 0 22px;width:22px;min-height:22px;height:22px;margin:0}}

.staff-collapsible-list{background:#fff;border:1px solid #ccdce4;border-radius:12px;padding:14px;margin:10px 0;min-width:0}.staff-collapsible-list>summary{cursor:pointer;font-weight:700;min-height:44px;align-content:center}.staff-list-toggle{float:right;color:#07698e;font-size:.9em;margin-left:12px}.staff-collapsible-list[open]>summary{margin-bottom:14px}.staff-collapsible-list>.portal-log-card{margin-top:10px}

/* The vehicle editor now owns its crew: use the full available form width. */
.staff-allocation-vehicles{grid-column:1/-1;width:100%;box-sizing:border-box}
.staff-allocation-vehicles,.staff-vehicle-team{container-type:inline-size}
body.portal-nav-active .staff-resource-form .staff-vehicle-team .staff-allocation-edit-row[data-kind=crew]{grid-template-columns:repeat(2,minmax(0,1fr))}
body.portal-nav-active .staff-resource-form .staff-vehicle-team .staff-allocation-edit-row[data-kind=crew]>:is(.staff-access-toggle,.staff-allocation-remove){grid-column:1/-1}
.staff-allocation-edit-row [hidden]{display:none!important}
@container(max-width:520px){body.portal-nav-active .staff-resource-form .staff-allocation-edit-row[data-kind=vehicle],body.portal-nav-active .staff-resource-form .staff-vehicle-team .staff-allocation-edit-row[data-kind=crew]{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.staff-allocation-vehicles{padding:8px}.staff-allocation-vehicles .staff-allocation-edit-row[data-kind=vehicle]{padding:8px!important}.staff-vehicle-team .staff-allocation-edit-row[data-kind=crew]{padding:8px!important}body.portal-nav-active .staff-resource-form .staff-vehicle-team .staff-allocation-edit-row[data-kind=crew]{grid-template-columns:minmax(0,1fr)}}

.staff-truck-crew-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #b9cfdf;padding-top:12px;margin-top:8px}
.staff-truck-crew-heading h5{margin:0;font-size:1rem}
.staff-truck-crew-heading .button{width:auto;margin:0}
.staff-truck-crew-empty{grid-column:1/-1;margin:0}
.staff-allocation-vehicles>.staff-allocation-edit-rows{display:grid;gap:24px}
.staff-truck-crew{border-left:4px solid #075f91}
@media(max-width:600px){.staff-truck-crew-heading{align-items:stretch;flex-direction:column}.staff-truck-crew-heading .button{width:100%}}

.portal-field-error{display:block;color:#a51e2c;font-weight:650;font-size:.9rem;line-height:1.4;margin-top:6px}
.portal-field-error[hidden]{display:none!important}
[aria-invalid=true]{border:2px solid #b42332!important;scroll-margin-block:100px}
.portal-error-jump{display:block;background:transparent;border:0;color:inherit;text-decoration:underline;text-align:left;padding:6px 0;cursor:pointer;font:inherit}
body.portal-nav-active .staff-resource-form :is(.portal-form-validation,.portal-note[data-state],.portal-feedback[data-state]){height:auto!important;min-height:0!important;align-self:start;grid-column:1/-1}
.portal-form-validation{display:block!important}
.portal-form-validation[hidden]{display:none!important}
.portal-form-validation::before{display:none!important}

.staff-truck-time-note{grid-column:1/-1;margin:0}
body.portal-nav-active .staff-allocation-form-actions :is(.portal-note,.portal-feedback){flex:0 0 auto!important;width:100%;height:auto!important;min-height:0!important}

/* Run dispatch controls share the staff form scale and stay within narrow PWA screens. */
#staff-run-builder,#staff-live-fleet-map,#staff-crew-location{border:1px solid var(--aa-border);border-radius:12px;padding:16px;margin:16px 0;background:var(--aa-surface)}
#staff-run-builder>summary,#staff-live-fleet-map>summary,#staff-crew-location>summary{cursor:pointer;font-weight:700;min-height:48px;display:flex;align-items:center}
#staff-run-builder input,#staff-run-builder select,#staff-crew-location select{min-width:0;max-width:100%;width:100%;box-sizing:border-box;font-size:16px}
#staff-run-builder .button,#staff-live-fleet-map .button,#staff-crew-location .button{white-space:normal;overflow-wrap:anywhere;min-height:48px;max-width:100%}
#staff-run-builder ol{padding-left:0;list-style:none}#staff-run-builder label{min-width:0}
#staff-live-fleet-map .leaflet-control-attribution{font-size:12px;max-width:100%;white-space:normal}
#staff-run-builder input[type=checkbox]{width:24px;min-height:24px;height:24px;flex:0 0 24px}

/* Inventory entry: full-width names and thumb-friendly quantities. */
.portal-item.inventory-card{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:16px;border:1px solid #cedce5;border-radius:12px;background:#f8fbfd;gap:12px;margin-bottom:14px}.inventory-card>.portal-field{grid-column:1/-1;position:relative}.inventory-card .portal-field{font-size:1rem}.inventory-card input{padding:12px;min-height:48px}.inventory-quantity-controls .portal-field{grid-template-columns:48px 72px 48px;align-items:center;gap:8px}.inventory-quantity-controls .portal-field>input{text-align:center}.inventory-quantity-controls .portal-field>span{grid-column:1/-1}.inventory-card .portal-remove{width:auto;font-size:1rem;min-height:48px;padding:8px 12px}.inventory-suggestions{display:grid;gap:4px;padding:8px;border:1px solid #aabfcb;background:white;border-radius:8px;max-height:240px;overflow:auto}.inventory-suggestions[hidden]{display:none}.inventory-card .inventory-suggestion{text-align:left;min-height:48px;font-size:16px}.inventory-suggestion[aria-selected=true]{background:#d9effa;outline:2px solid #0879ad}.inventory-picker{border:1px solid #cedce5;border-radius:12px;padding:14px;margin:16px 0}.inventory-picker summary{font-weight:700;cursor:pointer;min-height:48px;display:flex;align-items:center}.inventory-room-buttons,.inventory-catalogue{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.inventory-picker button{min-height:48px;padding:10px 14px;border:1px solid #8ba8b9;border-radius:8px;background:white;color:#173246;font:inherit;cursor:pointer}.inventory-room-buttons button[aria-pressed=true]{background:#0b628e;color:white}.inventory-catalogue-item{flex:1 1 150px;text-align:left}.inventory-picker button:focus-visible{outline:3px solid #0879ad;outline-offset:2px}@media(max-width:400px){.portal-item.inventory-card{padding:12px;gap:10px}.inventory-quantity-controls .portal-field{grid-template-columns:44px 58px 44px;gap:5px}.inventory-card .portal-remove{padding:8px}.inventory-catalogue-item{flex-basis:100%}}

/* Explicit placement isolates inventory controls from legacy form grids. */
body .portal-item.inventory-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch;gap:12px;max-width:100%;box-sizing:border-box}
body .portal-item.inventory-card>.portal-field{grid-column:1!important;grid-row:1;display:grid;min-width:0;width:100%}
body .portal-item.inventory-card>.inventory-quantity-controls{grid-column:1;grid-row:2;width:100%;min-width:0}
body .portal-item.inventory-card .inventory-quantity-controls>.portal-field{display:grid!important;grid-template-columns:48px minmax(60px,80px) 48px!important;gap:8px;margin:0;justify-content:start}
body .portal-item.inventory-card .inventory-quantity-controls>.portal-field>span{grid-column:1/-1!important;grid-row:1}
body .portal-item.inventory-card .inventory-quantity-controls>.portal-field>button{grid-column:auto!important;grid-row:2;width:48px;min-width:48px;min-height:48px;padding:0;font-size:20px}
body .portal-item.inventory-card .inventory-quantity-controls>.portal-field>input{grid-column:2!important;grid-row:2;width:100%;text-align:center}
body .portal-item.inventory-card>.inventory-item-details{grid-column:1;grid-row:3;min-width:0;width:100%}
body .portal-item.inventory-card>.portal-remove{grid-column:1!important;grid-row:4;justify-self:start;width:auto!important;min-width:96px;min-height:48px;font-size:16px!important;line-height:1.4;white-space:nowrap;word-break:normal;overflow-wrap:normal;padding:8px 16px}

.staff-customer-request{padding:16px;border:1px solid #c5d9e8;border-left:4px solid #0070c4;border-radius:12px;background:#f4f9fd;margin:16px 0;min-width:0}
.staff-request-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.staff-request-facts>div{min-width:0}.staff-request-facts dd{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-weight:600}.staff-request-notes{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:8px 0;max-height:none}
@media(max-width:640px){.staff-request-facts{grid-template-columns:minmax(0,1fr)}}

.billing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}#aa-billing-register fieldset{border:1px solid #d5e0eb;border-radius:12px;padding:16px;margin:16px 0}#aa-billing-register input,#aa-billing-register select{max-width:100%;width:100%}#aa-billing-register .portal-card{margin-top:16px}

.finance-hub{position:static;min-width:0;margin:16px 0 24px;padding:20px;border:1px solid #cedce5;border-radius:14px;background:#fff}.finance-hub>h3{margin:0 0 8px}.finance-hub>p{margin:0 0 16px;color:#526575}.finance-hub-nav{position:static;inset:auto;z-index:auto;transform:none;display:flex;flex-direction:row;align-items:stretch;flex-wrap:wrap;gap:8px;width:100%;max-width:100%;height:auto;box-sizing:border-box;margin:0 0 20px;padding:8px;background:#edf4f8;border-radius:10px;box-shadow:none}.finance-hub-nav button{flex:1 1 150px;text-align:center;white-space:normal;min-height:48px;margin:0}body.portal-nav-active #aa-finance-hub .finance-hub-nav button[aria-current="page"]{background:#075da8;color:#fff;border-color:#075da8;box-shadow:inset 0 -3px 0 #034577}.finance-hub>[hidden]{display:none!important}.finance-hub section input,.finance-hub section select{width:100%;padding:12px;margin:8px 0}.finance-hub section dl{display:grid;grid-template-columns:minmax(100px,1fr) minmax(100px,2fr);gap:10px}.finance-hub dd{margin:0;overflow-wrap:anywhere}@media(max-width:600px){.finance-hub{padding:14px}.finance-hub-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;margin-bottom:16px}.finance-hub-nav button{width:100%;min-width:0;min-height:48px;padding:8px 3px;font-size:12px;line-height:1.25;overflow-wrap:normal;word-break:normal}}

.xero-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.finance-hub pre,#aa-billing-register pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;overflow:auto;background:#f3f7fa;padding:12px;border-radius:8px}

.aa-job-finance-editor label.portal-quote-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.aa-job-finance-editor label.portal-quote-consent input[type=checkbox]{width:20px;height:20px;min-width:20px;min-height:20px;flex:0 0 20px;padding:0;margin:2px 0 0;accent-color:#075f89}

/* Customer booking summary: one clear card, secondary records collapsed. */
body.aa-customer-mode .page-hero{display:none}
body.aa-customer-mode .staff-tab-panels{display:block}
body.aa-customer-mode .staff-tab-panels>.staff-tab-panel:not(#staff-panel-enquiries){display:none!important}
body.aa-customer-mode #staff-panel-enquiries{display:block}
body.aa-customer-mode #staff-panel-enquiries :is(.staff-sales-switch,#staff-client-area,#portal-filters-host),body.aa-customer-mode #staff-panel-enquiries>.staff-module-intro>p{display:none!important}
body.aa-customer-mode .section{padding-top:18px}body.aa-customer-mode .portal-shell{max-width:880px}
#customer-account-dashboard{min-width:0;max-width:760px;margin:0 auto;padding:8px 0 24px}#customer-account-dashboard>h2{font-size:26px;margin:20px 0 6px}#customer-account-dashboard>p{color:#526575;margin:0 0 22px;font-size:14px;overflow-wrap:anywhere}
.customer-current>h3{font-size:16px;margin:20px 0 10px}.customer-booking{background:#fff;border:1px solid #d6e2ea;border-radius:16px;padding:24px;margin:0 0 16px;min-width:0;box-shadow:0 4px 18px #19304208}.customer-booking p{margin:8px 0;font-size:14px;line-height:1.5;color:#526575}.customer-booking-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.customer-booking-head div>span{font-size:11px;letter-spacing:.1em;font-weight:700;color:#147087}.customer-booking-head h3{font-size:22px;margin:5px 0 12px}.customer-status{font-size:12px;font-weight:700;background:#eaf3f7;color:#17485d;border-radius:30px;padding:6px 10px;white-space:nowrap}.customer-route{overflow-wrap:anywhere}.customer-invoice{margin-top:18px;border-top:1px solid #e2eaf0;padding-top:18px}.customer-amount{background:#f1f7fa;border-radius:12px;padding:18px;display:grid;gap:4px}.customer-amount span{font-size:11px;letter-spacing:.08em;color:#526575;font-weight:700}.customer-amount strong{font-size:32px;line-height:1.2;letter-spacing:-.02em;color:#193b50}.customer-money-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.customer-money-facts dt{font-size:13px;color:#657987}.customer-money-facts dd{font-size:17px;font-weight:700;margin:4px 0 0}.customer-payment-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.customer-payment-actions .button{width:100%;margin:0;min-height:48px;text-align:center;display:flex;align-items:center;justify-content:center;padding:12px 14px;font-size:15px;line-height:1.3;white-space:normal}.customer-invoice-details{margin-top:12px}.customer-invoice-details summary,.customer-history>summary{cursor:pointer;font-size:14px;color:#35576b;padding:12px 0}.customer-history{border-top:1px solid #d6e2ea;margin-top:16px}.customer-history .customer-booking{margin:10px 0;padding:16px}.customer-history .customer-booking>summary{cursor:pointer;font-size:14px;font-weight:600;padding:6px 0}.customer-help{margin-top:24px!important;font-size:13px!important}.customer-note{background:#f4f7fa;border-radius:10px;padding:14px}
@media(max-width:600px){#customer-account-dashboard>h2{font-size:23px}.customer-booking{padding:18px}.customer-payment-actions{grid-template-columns:1fr}.customer-amount strong{font-size:30px}.customer-booking-head h3{font-size:20px}}

.booking-customer-summary{margin:20px 0;min-width:0}.booking-summary-section{border-top:1px solid #dce6ec;padding:4px 0}.booking-summary-section>summary{padding:14px 0;font-size:16px;font-weight:700;color:#193b50;cursor:pointer}.booking-summary-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:4px 0 16px}.booking-summary-facts dt,.booking-address>span{display:block;font-size:12px;color:#647888}.booking-summary-facts dd{margin:5px 0;font-size:15px;font-weight:600}.booking-address{padding:8px 0}.booking-address a{display:block;margin:4px 0;line-height:1.5;overflow-wrap:anywhere}.booking-long-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:none}.booking-leg,.booking-note{background:#f3f7fa;border-radius:10px;padding:12px;margin:10px 0}.booking-note strong{font-size:12px;color:#496477}.booking-note-form{margin:16px 0}.booking-note-form label{display:block;font-size:14px;font-weight:600}.booking-note-form textarea{display:block;width:100%;max-width:100%;margin:8px 0;padding:12px;border:1px solid #bacbd7;border-radius:8px;font:inherit;min-height:100px}.booking-note-form .button{min-height:48px}.booking-items{padding-left:22px;line-height:1.6}.staff-job-workspace~.booking-customer-summary,.aa-job-finance+.booking-customer-summary{background:#fff;border-radius:12px;padding:20px}.booking-customer-summary>p{font-size:14px;color:#526575}@media(max-width:600px){.booking-summary-facts{grid-template-columns:1fr 1fr}.booking-note-form .button{width:100%}}

.booking-confirm-check{display:flex;align-items:flex-start;gap:10px;line-height:1.5;margin:12px 0 18px;font-size:14px}.booking-confirm-check input{width:22px;height:22px;flex:0 0 22px;margin:2px 0}.booking-note-form input{display:block;width:100%;max-width:100%;padding:12px;border:1px solid #bacbd7;border-radius:8px;margin:8px 0;font:inherit}

.booking-change-editor{margin:16px 0}.booking-change-editor>.booking-change-button{display:flex;align-items:center;justify-content:center;gap:10px;list-style:none;background:#fff0cc;color:#694200;border:2px solid #bc7900;border-radius:8px;padding:14px 18px;min-height:50px;font-size:15px;font-weight:700;line-height:1.4;cursor:pointer;text-align:center;width:100%;box-sizing:border-box}.booking-change-button::-webkit-details-marker{display:none}.booking-change-editor>.booking-change-button::before{content:'✎';font-size:21px}.booking-change-editor>.booking-change-button:hover{background:#ffe2a0}.booking-change-editor>.booking-change-button:focus-visible{outline:3px solid #173448;outline-offset:3px}.booking-change-editor[open]>.booking-change-button{background:#ffe2a0}.booking-change-submit{background:#fff0cc!important;color:#694200!important;border:2px solid #bc7900!important}.booking-change-editor .booking-note-form{padding:16px;background:#fffaf0;border:1px solid #e4c78c;border-radius:8px}.booking-change-submit:hover{background:#ffe2a0!important}

.booking-top-edit{display:flex;width:100%;justify-content:center;align-items:center;margin:0 0 18px;min-height:48px;font-size:15px;font-weight:700}.booking-pending-review{background:#fff8e7;border:1px solid #e7c878;border-radius:10px;padding:0 14px;margin:12px 0}.booking-pending-review>p{color:#694200;font-weight:600}.booking-summary-section form>.button{min-height:48px;margin:8px 0}

.staff-response-editor{margin:18px 0;min-width:0}.staff-response-editor textarea{width:100%;max-width:100%;padding:12px;font:inherit;border:1px solid #bacbd7;border-radius:8px}.staff-response-editor fieldset{padding:16px;margin:16px 0;border:1px solid #d9c99d;border-radius:12px;background:#fffaf0}.staff-response-editor>.button{margin:8px 8px 8px 0;min-height:48px}.staff-response-editor iframe{max-width:100%}.staff-response-editor input,.staff-response-editor select{width:100%;max-width:100%}.staff-response-editor [hidden]{display:none!important}

.staff-note-audience{padding:1rem;margin:1rem 0;border:1px solid #d9e3e8;border-left:5px solid #164558;border-radius:12px}.staff-note-audience[data-audience=customer]{border-left-color:#0879a5}.staff-note-audience[data-audience=crew]{border-left-color:#318264}.staff-note-audience[data-audience=subcontractor]{border-left-color:#9366b2}

.aa-job-hours-panel{box-sizing:border-box;min-width:0;max-width:100%;padding:18px;margin:12px 0;border:1px solid #c7d5df;border-radius:12px;background:#fff}.aa-job-hours-panel[data-priority=true]{border:2px solid #075f89;background:#f0f8fc}.aa-job-hours-panel h3{margin:0 0 8px}.aa-job-hours-panel p{overflow-wrap:anywhere}.aa-job-hours-editor:empty{display:none}.aa-job-hours-editor{margin-top:16px;scroll-margin-top:20px}.aa-truck-charges-form fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0;margin:16px 0;padding:14px}.aa-truck-charges-form fieldset p{grid-column:1/-1}.aa-truck-charges-form input,.aa-truck-charges-form select{box-sizing:border-box;max-width:100%;min-width:0}.aa-truck-charges-form input[type=checkbox]{width:22px;height:22px}.aa-truck-charges-form .button{min-height:44px;white-space:normal}@media(max-width:700px){.aa-truck-charges-form fieldset{grid-template-columns:minmax(0,1fr)}.aa-job-hours-panel{padding:12px}.aa-job-hours-panel>.button,.aa-truck-charges-form>.button{width:100%;margin:6px 0}}

/* Compact job identity and actual-hours workspace. */
.schedule-mini-name{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.schedule-mini-name h3{font-size:18px;line-height:1.3}.schedule-mini-test,.schedule-mini-status{font-size:11px;font-weight:700;border-radius:20px;padding:3px 8px;background:#e9f1f6;color:#38596e}.schedule-mini-test{background:#fff0da;color:#825500}.schedule-mini-facts{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;line-height:1.5;margin-top:6px}.schedule-mini-when{font-weight:700}.schedule-mini-resources{color:#526575}.schedule-mini-route{font-size:13px;line-height:1.4;margin:5px 0;overflow-wrap:anywhere}.schedule-dialog-identity>.portal-note{font-size:10px;color:#718493}.schedule-dialog-header>.button{min-height:40px;padding:8px 12px;font-size:13px}
.aa-job-hours-panel{padding:14px;margin:10px 0;border-radius:12px}.aa-job-hours-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.aa-job-hours-head h3{font-size:18px;margin:0 0 3px}.aa-job-hours-head p{font-size:13px;line-height:1.4;margin:0;color:#526575}.aa-job-hours-head>.button{width:auto;min-height:44px;font-size:14px;padding:10px 14px;margin:0;flex-shrink:0}.aa-truck-charges-form.portal-card{max-width:none;padding:0;margin:0;border:0;background:transparent;box-shadow:none}.aa-truck-charges-form>h4{font-size:18px;margin:4px 0}.aa-truck-charges-form>p,.aa-hours-help{font-size:13px;line-height:1.5}.aa-hours-help,.aa-hours-settings{padding:10px 0;border-bottom:1px solid #d6e2e9;margin-bottom:10px}.aa-hours-help summary,.aa-hours-settings summary,.aa-truck-minimum summary{font-size:13px;font-weight:600;cursor:pointer}.aa-hours-settings[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.aa-hours-settings>summary{grid-column:1/-1}.aa-truck-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.aa-truck-charges-form .aa-truck-cards>fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0;padding:14px;border:1px solid #c7d8e3;border-radius:12px;background:#fff}.aa-truck-cards legend{font-size:15px;font-weight:700;padding:0 6px}.aa-truck-cards label[data-field=label],.aa-truck-minimum,.aa-truck-subtotal{grid-column:1/-1}.aa-truck-charges-form label{font-size:13px;line-height:1.4}.aa-truck-charges-form input,.aa-truck-charges-form select{width:100%;min-height:44px;margin-top:6px;font-size:16px;padding:9px 10px;border:1px solid #b9cbd7;border-radius:8px;background:#fff}.aa-truck-cards label[data-field=hours] input,.aa-truck-cards label[data-field=return_hours] input{font-size:20px;font-weight:700;background:#f4f9fc}.aa-truck-subtotal{margin:0;padding:10px;background:#edf6fa;border-radius:8px;font-size:14px;font-weight:600}.aa-truck-minimum{padding:7px 0}.aa-truck-minimum>label{margin-top:8px}.aa-truck-charges-form .aa-hours-consent{display:flex;align-items:flex-start;gap:10px;margin:14px 0}.aa-truck-charges-form .aa-hours-consent input{width:20px;min-width:20px;height:20px;min-height:20px;order:-1;margin:0}.aa-hours-total{padding:12px 14px;background:#e6f2f8;border-radius:10px;margin-top:14px}.aa-hours-total strong{font-size:20px}.aa-hours-total p{font-size:12px;margin:5px 0 0}.aa-truck-charges-form>button[type=submit]{margin-top:10px;width:100%;min-height:48px}
@media(max-width:800px){.aa-truck-cards{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.schedule-dialog-header{gap:8px;padding:12px;position:relative}.schedule-dialog-identity{flex:1 1 100%}.schedule-dialog-header>.button{min-height:36px;padding:6px 10px}.aa-job-hours-panel{padding:12px}.aa-job-hours-head{gap:8px}.aa-job-hours-head h3{font-size:17px}.aa-job-hours-head>.button{font-size:13px;padding:9px 11px;max-width:47%}.aa-job-hours-head p{font-size:12px}.aa-truck-charges-form .aa-truck-cards>fieldset{padding:12px;gap:10px}.aa-truck-charges-form .aa-truck-cards>fieldset>button{grid-column:1/-1;justify-self:start;min-height:36px;font-size:12px;padding:6px 10px}.aa-truck-charges-form .aa-truck-cards>fieldset select{font-size:14px}}

.aa-group-setup{grid-column:1/-1;border-bottom:1px solid #dbe5ec;padding:6px 0 10px}.aa-group-setup[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.aa-group-setup>summary,.aa-group-setup>label:has(input[type=text]){grid-column:1/-1}.aa-group-setup summary{font-size:13px;font-weight:600;cursor:pointer}.aa-group-setup label{display:block}.aa-group-setup select{width:100%;min-width:0}

/* Actual hours: mobile first, full-width setup and compact time cards. */
.aa-truck-charges-form{padding:16px!important;min-width:0}.aa-truck-charges-form>h4{margin:0 0 6px}.aa-truck-charges-form>p{margin:0 0 12px;font-size:14px}.aa-truck-cards{display:grid;gap:16px}.aa-truck-charges-form .aa-truck-cards>fieldset{min-width:0;margin:0;padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid #cbd9df;border-radius:14px;background:#fff}.aa-truck-charges-form fieldset legend{font-size:14px;padding:0 6px;color:#526775}.aa-team-identity{grid-column:1/-1;display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}.aa-team-identity strong{font-size:17px}.aa-team-identity span{font-size:13px;color:#526775}.aa-truck-charges-form .aa-group-setup{grid-column:1/-1;order:4;display:block!important;margin:0!important;padding:0!important;border:0!important;min-width:0}.aa-truck-charges-form .aa-group-setup:not([open])>:not(summary){display:none!important}.aa-truck-charges-form .aa-group-setup>summary{padding:10px 0;font-size:14px;border:0;margin:0}.aa-truck-charges-form .aa-group-setup>.portal-field{display:flex;flex-direction:column;width:100%!important;max-width:none!important;margin:0 0 12px!important;gap:6px}.aa-truck-charges-form .portal-field{min-width:0;margin:0!important;gap:6px;font-size:14px}.aa-truck-charges-form input:not([type=checkbox]),.aa-truck-charges-form select{box-sizing:border-box;width:100%!important;max-width:none!important;min-width:0;height:48px!important;min-height:48px!important;padding:10px!important;font-size:16px!important;line-height:1.4}.aa-truck-charges-form .aa-truck-subtotal{grid-column:1/-1;margin:0;padding:10px;font-size:13px}.aa-truck-charges-form .aa-truck-subtotal:empty{display:none}.aa-truck-charges-form .aa-hours-help,.aa-truck-charges-form .aa-hours-settings{margin:8px 0;padding:0;border:0}.aa-truck-charges-form .aa-hours-help summary,.aa-truck-charges-form .aa-hours-settings summary{padding:10px 0;font-size:14px}.aa-team-warning{padding:12px;border-left:3px solid #b87912;background:#fff6df;font-size:14px}.aa-truck-charges-form .button{min-height:44px;font-size:14px;padding:10px 14px}.aa-truck-charges-form .aa-hours-total{margin-top:14px}.aa-truck-charges-form .aa-truck-minimum{margin:0;padding:0}.aa-truck-charges-form .aa-truck-minimum summary{font-size:14px;padding:10px 0}
@media(min-width:900px){.aa-truck-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.aa-truck-charges-form{padding:20px!important}}
/* Payment messages remain readable without dominating the invoice actions. */
.aa-payment-message-history{width:100%;min-width:0;margin:12px 0;border:1px solid #dbe5ec;border-radius:12px;padding:12px;box-sizing:border-box}
.aa-payment-message-history summary{cursor:pointer;font-weight:600;font-size:14px}
.aa-payment-message-history .aa-payment-message{padding:12px 0;border-bottom:1px solid #dbe5ec;overflow-wrap:anywhere}
.aa-payment-message-history .aa-payment-message p,.aa-payment-message-history>p{font-size:13px;line-height:1.5;margin:6px 0}
.aa-payment-message-history .aa-payment-message strong{font-size:14px}
.aa-payment-message-history .button{margin:8px 8px 0 0;font-size:14px;min-height:44px}
.staff-truck-crew-heading{flex-wrap:wrap}
.staff-truck-crew-heading>.portal-field{flex:1 1 180px;margin:0}
.staff-truck-crew-heading>.portal-note{flex-basis:100%;margin:0}
.staff-truck-crew-heading>.portal-note:empty{display:none}
@media(max-width:600px){.staff-truck-crew-heading>.portal-field{flex-basis:auto;width:100%}}

/* Shared staff navigation and illustrated workspaces. */
[data-staff-icon="crew"]{--staff-heading-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23173e51%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%227%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%228%22%20r%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M2%2021v-3a6%206%200%200%201%2012%200v3M15%2014a5%205%200%200%201%207%204v3%22%2F%3E%3C%2Fsvg%3E")}
[data-staff-icon="truck"]{--staff-heading-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23173e51%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%205h12v13H2zM14%2010h4l4%204v4h-8%22%2F%3E%3Ccircle%20cx%3D%226%22%20cy%3D%2219%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2219%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E")}
[data-staff-icon="calendar"]{--staff-heading-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23173e51%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2217%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M7%202v6M17%202v6M3%2011h18M8%2015h2M14%2015h2M8%2018h2%22%2F%3E%3C%2Fsvg%3E")}
[data-staff-icon="money"]{--staff-heading-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23173e51%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M15%208h-4a2%202%200%200%200%200%204h2a2%202%200%200%201%200%204H9M12%206v12%22%2F%3E%3C%2Fsvg%3E")}
[data-staff-icon="box"]{--staff-heading-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23173e51%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3%207%209-5%209%205v10l-9%205-9-5zM3%207l9%205%209-5M12%2012v10M7%204.8l10%205.4%22%2F%3E%3C%2Fsvg%3E")}
[data-staff-icon="route"]{--staff-heading-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23173e51%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%225%22%20cy%3D%225%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2219%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M8%205h8a4%204%200%200%201%200%208H8a4%204%200%200%200%200%208h8%22%2F%3E%3C%2Fsvg%3E")}
[data-staff-icon="photo"]{--staff-heading-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23173e51%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%225%22%20width%3D%2220%22%20height%3D%2216%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22m7%205%202-3h6l2%203%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2213%22%20r%3D%224%22%2F%3E%3C%2Fsvg%3E")}
[data-staff-icon="check"]{--staff-heading-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23173e51%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%223%22%20width%3D%2216%22%20height%3D%2219%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M9%203V1h6v2M8%2012l3%203%206-7%22%2F%3E%3C%2Fsvg%3E")}
[data-staff-icon="settings"]{--staff-heading-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23173e51%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%204h16M4%2012h16M4%2020h16%22%2F%3E%3Ccircle%20cx%3D%228%22%20cy%3D%224%22%20r%3D%222%22%20fill%3D%22white%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2212%22%20r%3D%222%22%20fill%3D%22white%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2220%22%20r%3D%222%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E")}
[data-staff-icon="chart"]{--staff-heading-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23173e51%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%203v18h18M7%2016v-4M12%2016V8M17%2016V4%22%2F%3E%3C%2Fsvg%3E")}
[data-staff-icon="document"]{--staff-heading-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23173e51%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%202h9l5%205v15H5zM14%202v6h5M8%2012h8M8%2016h8M8%2019h4%22%2F%3E%3C%2Fsvg%3E")}
body.staff-design{--staff-accent:#14577b;--staff-tint:#eef6fa}
.staff-tab-panel[data-staff-theme=overview]{--staff-accent:#216c63;--staff-tint:#eff8f4}
.staff-tab-panel[data-staff-theme=enquiries]{--staff-accent:#83601f;--staff-tint:#fcf7eb}
.staff-tab-panel[data-staff-theme=partners]{--staff-accent:#66558a;--staff-tint:#f5f2fa}
.staff-tab-panel[data-staff-theme=ops]{--staff-accent:#236b66;--staff-tint:#edf8f5}
.staff-design .staff-module-intro{position:relative;isolation:isolate;overflow:hidden;border:1px solid #d8e5eb;border-left:4px solid var(--staff-accent);border-radius:16px;padding:22px 180px 22px 22px;margin:4px 0 22px;background:var(--staff-tint);min-height:118px;box-sizing:border-box}
.staff-design .staff-module-intro::after{content:"";position:absolute;z-index:-1;right:14px;top:50%;transform:translateY(-50%);width:150px;height:100px;background:var(--staff-art) center/contain no-repeat;opacity:.8;pointer-events:none}
.staff-design .staff-module-intro h2{font-size:clamp(1.25rem,2vw,1.6rem);margin:0 0 8px}
.staff-design .staff-module-intro p{max-width:64ch;font-size:.94rem}
.staff-design .staff-title-action{appearance:none;border:0;border-radius:7px;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-align:left;padding:4px 0;margin:0;min-height:44px;max-width:100%;display:inline-flex;align-items:center;gap:10px;cursor:pointer;white-space:normal;line-height:1.35}
.staff-title-action::before,.staff-workspace-summary-label::before,.staff-job-resource-chip[data-staff-icon]::before{content:"";display:inline-block;flex:0 0 24px;width:24px;height:24px;background:currentColor;mask:var(--staff-heading-icon) center/contain no-repeat;-webkit-mask:var(--staff-heading-icon) center/contain no-repeat;opacity:.85}
.staff-title-action::after{content:"↗";font-size:.9em;line-height:1;margin-left:3px;color:var(--staff-accent,#14577b);opacity:.7}
.staff-design .staff-title-action:hover,.staff-design .staff-issue-link:hover{text-decoration:underline;text-underline-offset:4px;color:var(--staff-accent,#14577b)}
.staff-design .staff-title-action:focus-visible,.staff-design .staff-issue-link:focus-visible{outline:3px solid #1374b5;outline-offset:4px}
.staff-design .staff-workspace-module{border:1px solid #d5e2e8;border-radius:14px;overflow:clip;background:#fff}
.staff-design .staff-workspace-module>summary{padding:16px 18px;background:linear-gradient(110deg,#f0f6f9,#fff);min-height:60px;box-sizing:border-box;cursor:pointer}
.staff-design .staff-workspace-summary-label{display:inline-flex;align-items:center;gap:10px}
.staff-design .staff-workspace-module[open]>summary{border-bottom:1px solid #dce7ec}
.staff-design .staff-workspace-content{padding:18px}
.staff-design .staff-readiness-heading{align-items:center;gap:12px;flex-wrap:wrap}
.staff-design button.staff-readiness-fact{appearance:none;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;position:relative;padding:18px 38px 18px 18px;transition:background .15s}
.staff-design button.staff-readiness-fact::after{content:"↗";position:absolute;right:16px;top:16px;color:#315567;font-size:20px}
.staff-design button.staff-readiness-fact:hover{background:#eaf3f7}
.staff-design .staff-readiness-fact .staff-readiness-label{display:flex;align-items:center;gap:8px}
.staff-design .staff-issue-link{appearance:none;background:transparent;border:0;border-radius:6px;padding:8px 0;color:#18516d;font:inherit;font-weight:600;min-height:44px;text-align:left;cursor:pointer}
.staff-design .staff-issue-link::after{content:" →"}
.staff-design :is(.staff-workspace-module,.staff-allocation-edit-row,.staff-workspace-editor,.aa-job-finance-actions,.aa-truck-charges-form,.staff-booking-filters){scroll-margin-top:24px;scroll-margin-bottom:100px}
.staff-design .staff-job-resource-chips{gap:8px}
.staff-design .staff-job-resource-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid #c9dce7;border-radius:11px;background:#f5fafc;color:#1a4a64;font-weight:650;cursor:pointer}
.staff-design .staff-overview-group{border:1px solid #d8e4e9;border-radius:16px;background:#f7fafb;padding:16px;min-width:0}
.staff-design .staff-overview-group>h3{border-bottom:2px solid #d2e5df;padding-bottom:12px;color:#245b55}
.staff-design .staff-overview-job{background:#fff;border-radius:13px;box-shadow:0 3px 12px #15384d06}
.staff-design .staff-overview-job[data-attention=urgent]{border-left:4px solid #aa7430}
.staff-design .staff-overview-job[data-attention=warning]{border-left:4px solid #d5b166}
.staff-design .staff-journey-next{border:1px solid #c3dce7;border-radius:14px;background:linear-gradient(125deg,#edf6fb,#fff);padding:18px}
.staff-design .staff-journey-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;padding:0}
.staff-design .staff-journey-step{border:1px solid #d9e4eb;border-radius:10px;background:#fff;padding:10px 12px;min-width:0}
.staff-design .staff-allocation-vehicles>.staff-allocation-edit-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.staff-design .staff-allocation-vehicles [data-kind=vehicle]{border:1px solid #b8d3e0;border-top:4px solid #246c8b;border-radius:14px;background:#f6fafc;min-width:0}
.staff-design .staff-allocation-vehicles [data-kind=crew]{background:#fff;border-radius:10px;margin-top:10px}
.staff-design .aa-job-finance-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.staff-design .aa-job-finance-facts>div{border:1px solid #d5e7df;border-radius:12px;background:#f4faf7;padding:14px;min-width:0}
.staff-design .aa-job-finance-facts dd{font-weight:700;margin:7px 0 0;overflow-wrap:anywhere}
.staff-design .aa-job-finance-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-radius:12px;background:#edf5f4}
.staff-design .aa-job-finance-actions>.button{margin:0;min-height:44px}
.staff-design .aa-job-invoice{border-radius:13px;border-color:#ccdedb}
.staff-design .aa-job-hours-head{border-bottom:1px solid #cbdde6;padding-bottom:12px;margin-bottom:12px}
.staff-design .aa-job-payment-state .staff-title-action{font-size:inherit;min-height:36px;gap:5px;padding:0}
.staff-design .aa-job-payment-state .staff-title-action::before{display:none}
.staff-design .staff-allocation-name .staff-title-action{font-size:inherit}
.staff-design #staff-resource-admin>h2{padding:12px 0;border-bottom:2px solid #d1e4e9}
@media(max-width:900px){.staff-design .staff-allocation-vehicles>.staff-allocation-edit-rows{grid-template-columns:1fr}.staff-design .aa-job-finance-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.staff-design .staff-module-intro{padding:18px 66px 18px 16px;min-height:100px;border-radius:12px;margin-bottom:16px}.staff-design .staff-module-intro::after{width:64px;height:60px;right:-5px;top:30px;transform:none;opacity:.35}.staff-design .staff-module-intro p{font-size:.86rem}.staff-design .staff-title-action{gap:7px;min-height:48px}.staff-design .staff-title-action::before{width:20px;height:20px;flex-basis:20px}.staff-design .staff-workspace-module>summary{padding:14px}.staff-design .staff-workspace-content{padding:12px}.staff-design .staff-journey-list{grid-template-columns:1fr}.staff-design .staff-overview-group{padding:12px}.staff-design .staff-issue-link{min-height:48px}.staff-design .aa-job-finance-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.staff-design .aa-job-finance-actions>.button{width:100%;white-space:normal}.staff-design .staff-readiness-grid{grid-template-columns:1fr}.staff-design .aa-job-finance-facts>div{padding:10px}}
@media(prefers-reduced-motion:reduce){.staff-design button.staff-readiness-fact{transition:none}}
.staff-tab-panel[data-staff-theme="jobs"]{--staff-art:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20180%20104%22%20fill%3D%22none%22%20stroke%3D%22%23315b70%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2076h158%22%2F%3E%3Crect%20x%3D%2230%22%20y%3D%2230%22%20width%3D%2277%22%20height%3D%2243%22%20rx%3D%225%22%2F%3E%3Cpath%20d%3D%22M107%2045h28l19%2020v8h-47M113%2047v16h30%22%2F%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2276%22%20r%3D%229%22%20fill%3D%22%23eef6fa%22%2F%3E%3Ccircle%20cx%3D%22132%22%20cy%3D%2276%22%20r%3D%229%22%20fill%3D%22%23eef6fa%22%2F%3E%3Cpath%20d%3D%22M42%2044h52M42%2053h34M20%2053H7M20%2063H3%22%2F%3E%3Cpath%20d%3D%22m130%2013%2011-6%2011%206v13l-11%206-11-6zM130%2013l11%206%2011-6M141%2019v13%22%2F%3E%3C%2Fsvg%3E")}
.staff-tab-panel[data-staff-theme="calendar"]{--staff-art:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20180%20104%22%20fill%3D%22none%22%20stroke%3D%22%23315b70%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%2235%22%20y%3D%2219%22%20width%3D%22103%22%20height%3D%2271%22%20rx%3D%2210%22%2F%3E%3Cpath%20d%3D%22M35%2041h103M57%2010v20M115%2010v20M51%2055h14M80%2055h14M109%2055h14M51%2070h14M80%2070h14%22%2F%3E%3Ccircle%20cx%3D%22145%22%20cy%3D%2270%22%20r%3D%2219%22%20fill%3D%22%23eef6fa%22%2F%3E%3Cpath%20d%3D%22m136%2070%206%206%2013-15%22%2F%3E%3C%2Fsvg%3E")}
.staff-tab-panel[data-staff-theme="ops"]{--staff-art:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20180%20104%22%20fill%3D%22none%22%20stroke%3D%22%23315b70%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%2240%22%20y%3D%2212%22%20width%3D%2276%22%20height%3D%2280%22%20rx%3D%227%22%2F%3E%3Cpath%20d%3D%22M54%2028h40M54%2042h28M54%2056h40M54%2070h20%22%2F%3E%3Ccircle%20cx%3D%22130%22%20cy%3D%2265%22%20r%3D%2225%22%20fill%3D%22%23edf8f5%22%2F%3E%3Cpath%20d%3D%22M138%2054h-12a5%205%200%200%200%200%2010h7a5%205%200%200%201%200%2010h-12M129%2049v31%22%2F%3E%3C%2Fsvg%3E")}
.staff-tab-panel[data-staff-theme="partners"]{--staff-art:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20180%20104%22%20fill%3D%22none%22%20stroke%3D%22%23315b70%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2288%22%20cy%3D%2230%22%20r%3D%2214%22%2F%3E%3Cpath%20d%3D%22M61%2086V71a27%2027%200%200%201%2054%200v15%22%2F%3E%3Ccircle%20cx%3D%2234%22%20cy%3D%2247%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%2086v-8a22%2022%200%200%201%2043-6%22%2F%3E%3Ccircle%20cx%3D%22145%22%20cy%3D%2247%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M124%2072a22%2022%200%200%201%2043%206v8M51%2020l12-8M114%2012l12%208%22%2F%3E%3C%2Fsvg%3E")}
.staff-tab-panel[data-staff-theme="enquiries"]{--staff-art:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20180%20104%22%20fill%3D%22none%22%20stroke%3D%22%23315b70%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%2223%22%20y%3D%2218%22%20width%3D%2297%22%20height%3D%2260%22%20rx%3D%228%22%2F%3E%3Cpath%20d%3D%22m25%2024%2046%2032%2047-32M27%2074l30-28M89%2046l27%2028%22%2F%3E%3Cpath%20d%3D%22M135%2017h28v30h-10l-10%209V47h-8zM143%2026h12M143%2034h8%22%2F%3E%3C%2Fsvg%3E")}
.staff-tab-panel[data-staff-theme="overview"]{--staff-art:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20180%20104%22%20fill%3D%22none%22%20stroke%3D%22%23315b70%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2084h145M30%2074V45h21v29M67%2074V30h21v44M104%2074V14h21v60%22%2F%3E%3Cpath%20d%3D%22m24%2030%2040-18%2022%205%2053-13M131%204h8v8%22%2F%3E%3Ccircle%20cx%3D%22148%22%20cy%3D%2264%22%20r%3D%2219%22%20fill%3D%22%23eff8f4%22%2F%3E%3Cpath%20d%3D%22m139%2064%206%206%2012-13%22%2F%3E%3C%2Fsvg%3E")}
.staff-tab-panel[data-staff-theme="seo"]{--staff-art:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20180%20104%22%20fill%3D%22none%22%20stroke%3D%22%23315b70%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2283%22%20cy%3D%2243%22%20r%3D%2230%22%2F%3E%3Cpath%20d%3D%22m107%2066%2033%2027M65%2054V39M80%2054V27M95%2054V34M25%2020h13M16%2032h21M132%2021h20M143%2032h19%22%2F%3E%3C%2Fsvg%3E")}

/* Compact hours entry: quick time fields, concise setup, and inline correction. */
.aa-truck-charges-form .aa-team-essentials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:6px 0 12px}
.aa-truck-charges-form .aa-team-essentials>.portal-field:last-child{grid-column:1/-1}
.aa-truck-charges-form .aa-team-details{padding:10px 0 0;border:0;border-top:1px solid #e1e9ed;margin:0}
.aa-truck-charges-form .aa-team-details>summary{min-height:44px;display:list-item;font-size:14px;padding:10px 0}
.aa-truck-charges-form .aa-team-details>.portal-field{display:flex;flex-direction:column;gap:6px;margin:0 0 12px!important}
.aa-truck-charges-form .aa-hours-extras{padding:12px 0;margin:12px 0;border:0;border-top:1px solid #d7e3e9}
.aa-truck-charges-form .aa-hours-extras>summary{font-size:14px;min-height:44px;padding:10px 0}
.aa-truck-charges-form .aa-hours-total:empty,.aa-truck-charges-form>[role=status]:empty{display:none}
.aa-truck-charges-form .aa-team-warning{display:grid;gap:8px;margin:12px 0 18px;border-radius:0 10px 10px 0}
.aa-truck-charges-form .aa-team-warning p{margin:0;line-height:1.5;font-size:14px}
.aa-truck-charges-form .aa-team-warning .button{justify-self:start;text-align:left;white-space:normal}
.aa-truck-charges-form .aa-field-error{display:block;color:#9c261d;font-size:13px;line-height:1.4;font-weight:500;max-width:100%;overflow-wrap:anywhere}
.aa-truck-charges-form [aria-invalid=true]{outline:2px solid #b23d2d;outline-offset:2px}
.aa-truck-charges-form .portal-field{scroll-margin-block:100px}
.aa-hours-draft-note{padding:12px;background:#e9f5f4;border-left:3px solid #24847b;line-height:1.5}
.aa-contractor-charges{padding:18px;margin:14px 0;border:1px solid #ccdde5;border-left:4px solid #4f7e9a;border-radius:12px;background:#f1f7fb;min-width:0}
.aa-contractor-charges h4{margin:0 0 8px}.aa-contractor-charges p{font-size:14px;line-height:1.55;overflow-wrap:anywhere}.aa-contractor-charges .button{margin:4px 8px 4px 0;white-space:normal;min-height:44px}
@media(max-width:360px){.aa-truck-charges-form .aa-team-essentials{grid-template-columns:minmax(0,1fr)}}

/* Job work stays in one narrow viewport; secondary records open on demand. */
:is(.schedule-job-dialog,.staff-record-dialog),:is(.schedule-job-dialog,.staff-record-dialog) *{box-sizing:border-box}
:is(.schedule-detail-body,.staff-record-body) :is(section,details,fieldset,form,.portal-card,.portal-field,.staff-workspace-content){min-inline-size:0;max-inline-size:100%}
:is(.schedule-detail-body,.staff-record-body) :is(input,select,textarea,.button){min-inline-size:0;max-inline-size:100%}
:is(.schedule-detail-body,.staff-record-body) :is(p,legend,summary,h3,h4,dd,a){overflow-wrap:anywhere}
.staff-job-shortcuts{position:sticky;top:0;z-index:6;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px;margin:0 0 12px;background:#e7f0f5;border:1px solid #b9cfdd;border-radius:12px;box-shadow:0 3px 12px #17324612;max-width:100%;min-width:0}
.staff-job-shortcuts>button{box-sizing:border-box;min-width:0;width:100%;min-height:46px;padding:9px 4px;margin:0;border:1px solid transparent;border-radius:8px;background:transparent;color:#234b60;font:inherit;font-size:14px;font-weight:700;line-height:1.3;cursor:pointer}
.staff-job-shortcuts>button[aria-current=location]{background:#fff;border-color:#b9cfdd;color:#075f91;box-shadow:0 2px 5px #1732460d}
.staff-job-shortcuts>button:focus-visible{outline:3px solid #0879ad;outline-offset:-3px}
.staff-job-shortcuts>button:disabled{opacity:.65;cursor:wait}
:is(.staff-job-reference,.staff-customer-preview,.staff-job-finance-fold){border:1px solid #cfdee7;border-radius:12px;background:#fff;margin:12px 0;min-width:0}
:is(.staff-job-reference,.staff-customer-preview,.staff-job-finance-fold)>summary{padding:16px;font-weight:700;font-size:15px;line-height:1.4;color:#234b60;cursor:pointer;overflow-wrap:anywhere}
:is(.staff-job-reference,.staff-customer-preview,.staff-job-finance-fold):not([open])>:not(summary){display:none!important}
.staff-job-reference>.schedule-detail-summary{padding:0 12px 12px;margin:0}
.staff-customer-preview>.booking-customer-summary{margin:0;padding:0 16px 16px}
.staff-job-finance-fold>.aa-job-finance{margin:0;border:0;border-top:1px solid #dbe5eb;border-radius:0 0 12px 12px}
.staff-job-section-state{display:block;font-size:11px;line-height:1.5;font-weight:600;color:#526879;padding:5px 0 0 15px;letter-spacing:.04em}
.aa-job-finance .aa-payment-schedule{width:100%;max-width:none;min-width:0;box-sizing:border-box;padding:16px;border-radius:12px;box-shadow:none}
.aa-payment-schedule form{grid-template-columns:minmax(0,1fr);gap:16px;margin:16px 0 0}
.aa-payment-schedule .portal-field{min-width:0;font-size:14px;line-height:1.45}
.aa-payment-schedule :is(input:not([type=checkbox]),select){box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:16px}
.aa-payment-schedule label.aa-payment-estimate{display:flex;align-items:flex-start;gap:10px;min-height:44px;line-height:1.5}
.aa-payment-schedule .aa-payment-estimate input[type=checkbox]{order:-1;flex:0 0 20px;width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;padding:0;margin:2px 0 0;accent-color:#075f91}
.aa-payment-schedule button[type=submit]{width:100%;min-height:48px;margin:0;white-space:normal}
.aa-payment-schedule [hidden]{display:none!important}
.aa-job-finance-actions .button{white-space:normal;overflow-wrap:normal;line-height:1.4;text-align:center}
:is(.schedule-detail-body,.staff-record-body) :is(.staff-journey-mount,.aa-job-hours-panel,.aa-job-finance,.staff-workspace-module,.staff-allocation-edit-row,.portal-field){scroll-margin-block:82px}
@media(min-width:701px){.schedule-dialog-header{position:relative}}
@media(max-width:700px){
 body.portal-nav-active .schedule-job-dialog{position:fixed;inset:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:auto}
 .schedule-detail-body{width:100%;padding:10px 12px calc(24px + env(safe-area-inset-bottom));margin:0}
 .staff-record-dialog{overflow-x:hidden;padding:12px}
 .schedule-dialog-header{padding:12px;min-width:0}
 .schedule-detail-section dl>div{grid-template-columns:minmax(0,1fr)}
 .staff-job-reference>.schedule-detail-summary{grid-template-columns:minmax(0,1fr);padding:0 10px 10px}
 .aa-job-finance{padding:12px}
 .aa-job-finance .aa-payment-schedule{padding:14px}
 .staff-design .aa-job-finance-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:8px}
 .staff-design .aa-job-finance-actions>.button{width:100%;padding:12px 8px;min-height:48px;font-size:13px}
 .aa-truck-charges-form.portal-card{padding:0!important}
 .aa-truck-charges-form .aa-truck-cards>fieldset{padding:12px}
 .aa-team-identity strong{font-size:15px}
 .aa-job-hours-head{flex-wrap:wrap}
 .aa-job-hours-head>div{min-width:0;flex:1 1 140px}
}

/* Keep the phone month grid compact; full job details live in its day agenda. */
.schedule-toolbar-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.schedule-filter-panel{border:1px solid #cfdee7;border-radius:10px;background:#fff;margin:4px 0 10px;min-width:0}
.schedule-filter-panel>summary{padding:12px 14px;font-size:14px;font-weight:700;color:#234b60;cursor:pointer;min-height:44px}
.schedule-filter-panel:not([open])>.schedule-filters{display:none!important}
.schedule-filter-panel .schedule-filters{padding:0 12px 12px;margin:0;grid-template-columns:repeat(3,minmax(0,1fr))}
.schedule-filter-panel :is(label,input,select){box-sizing:border-box;min-width:0;max-width:100%}
.schedule-mobile-date,.schedule-mobile-agenda,.schedule-mobile-hint{display:none}
.staff-calendar-tools{margin:20px 0;border:1px solid #cbdbe5;border-radius:12px;background:#fff;min-width:0}
.staff-calendar-tools>summary{padding:16px;font-weight:700;cursor:pointer;color:#234b60}
.staff-calendar-tools:not([open])>.staff-calendar-tools-body{display:none!important}
.staff-calendar-tools-body{padding:0 12px 12px;min-width:0}
.staff-calendar-tools-body>details{margin:10px 0;border:1px solid #dbe5eb;border-radius:8px;padding:12px;min-width:0}
.staff-calendar-tools-body .portal-card{box-sizing:border-box;width:100%;max-width:none;padding:14px;margin:10px 0;box-shadow:none}
@media(max-width:700px){
 #staff-calendar,#staff-panel-calendar{min-width:0;max-width:100%}
 .staff-design #staff-panel-calendar>.staff-module-intro{padding:12px 14px;min-height:0;margin:4px 0 10px}
 .staff-design #staff-panel-calendar>.staff-module-intro::after,.staff-design #staff-panel-calendar>.staff-module-intro>p{display:none}
 .staff-design #staff-panel-calendar>.staff-module-intro h2{font-size:18px;margin:0;line-height:1.35}
 #staff-calendar .schedule-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:6px 0 10px}
 #staff-calendar .schedule-range{width:auto;min-width:0;margin:0;font-size:17px;line-height:1.4}
 #staff-calendar .schedule-toolbar-actions{flex-wrap:nowrap;gap:4px}
 #staff-calendar .schedule-toolbar-actions .schedule-button{padding:8px;font-size:12px;min-height:44px}
 #staff-calendar .schedule-views,#staff-calendar .schedule-navigation{grid-column:1/-1;position:static;margin:0;padding:0;gap:4px}
 #staff-calendar .schedule-views .schedule-button,#staff-calendar .schedule-navigation .schedule-button{min-width:0;min-height:42px;padding:8px 3px;font-size:12px;line-height:1.3}
 #staff-calendar .schedule-filter-panel .schedule-filters{grid-template-columns:minmax(0,1fr);gap:12px}
 #staff-calendar .schedule-filter-panel input,#staff-calendar .schedule-filter-panel select{font-size:16px;min-height:44px}
 #staff-calendar .schedule-load-state{font-size:12px;line-height:1.4;margin:6px 0 10px}
 #staff-calendar .schedule-mobile-hint{display:block;font-size:12px;color:#526879;margin:6px 0 8px}
 #staff-calendar .schedule-month-grid{width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr));border-radius:10px}
 #staff-calendar .schedule-weekday{min-width:0;padding:9px 1px;font-size:11px}
 #staff-calendar .schedule-month-day{min-width:0;min-height:66px;padding:0;gap:0}
 #staff-calendar .schedule-month-day>:not(.schedule-mobile-date){display:none!important}
 #staff-calendar .schedule-mobile-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-width:0;min-height:66px;margin:0;padding:7px 1px;border:0;border-radius:0;background:transparent;color:#27485c;font:inherit;cursor:pointer}
 #staff-calendar .schedule-mobile-day-number{font-size:15px;line-height:1.3}
 #staff-calendar .schedule-mobile-day-count{font-size:10px;line-height:1.3;white-space:nowrap;color:#667e8a}
 #staff-calendar .schedule-mobile-date[data-has-jobs=true] .schedule-mobile-day-count{background:#d9edf8;color:#075f91;border-radius:4px;padding:2px 3px;font-weight:700}
 #staff-calendar .schedule-month-day[data-outside=true] .schedule-mobile-day-number{color:#7b8c96}
 #staff-calendar .schedule-month-day[data-today=true] .schedule-mobile-day-number{background:#075f91;color:#fff;border-radius:50%;min-width:25px;min-height:25px;display:grid;place-items:center}
 #staff-calendar .schedule-mobile-date:focus-visible{outline:3px solid #075f91;outline-offset:-3px}
 #staff-calendar .schedule-mobile-agenda{display:block;margin:18px 0 12px;padding:14px;border:1px solid #bed3df;border-radius:12px;background:#edf5fa;scroll-margin-top:16px;min-width:0}
 #staff-calendar .schedule-agenda-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
 #staff-calendar .schedule-agenda-title{font-size:17px;line-height:1.4;margin:0;min-width:0}
 #staff-calendar .schedule-agenda-count{font-size:12px;color:#526879}
 #staff-calendar .schedule-mobile-agenda .schedule-job-row{grid-template-columns:minmax(0,1fr);padding:12px;margin:0 0 8px;border-radius:10px;gap:10px}
 #staff-calendar .schedule-mobile-agenda .schedule-row-open{grid-template-columns:minmax(0,1fr);gap:6px;font-size:14px}
 #staff-calendar .schedule-mobile-agenda .schedule-row-identity strong{font-size:16px;line-height:1.4}
 #staff-calendar .schedule-mobile-agenda .schedule-row-time{font-weight:700;color:#075f91}
 #staff-calendar .schedule-mobile-agenda :is(.schedule-row-route,.schedule-row-resources,.schedule-row-identity){overflow-wrap:anywhere;min-width:0}
 #staff-calendar .schedule-agenda-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
 #staff-calendar .schedule-agenda-actions .schedule-button{flex:1 1 120px;white-space:normal;min-height:44px;font-size:13px}
}

.schedule-row-volume,.schedule-mini-volume,.staff-job-summary-volume{font-weight:700;color:#075f89}.schedule-chip-volume{display:block;font-size:.75rem;font-weight:650;overflow-wrap:anywhere}.schedule-row-volume{display:block;grid-column:1/-1;font-size:.875rem;margin-top:3px}.schedule-row-states>.schedule-row-resources{flex-basis:100%}

/* Date navigation stays with the calendar, including on narrow phone screens. */
#staff-calendar>.schedule-navigation{display:grid;grid-template-columns:44px minmax(120px,180px) 90px 44px auto;align-items:end;gap:8px;position:sticky;top:0;z-index:4;width:100%;margin:0 0 8px;padding:8px 0;background:#f3f7fa}
.schedule-month-picker,.schedule-year-picker{display:grid;gap:4px;min-width:0;font-size:12px;font-weight:700;color:#3b5767}
.schedule-navigation select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid #b6c8d4;border-radius:8px;background:#fff;color:#173246;font:inherit;font-size:16px}
#staff-calendar>.schedule-navigation .schedule-arrow{min-width:44px;min-height:44px;padding:0;font-size:30px;line-height:1}
#staff-calendar>.schedule-navigation .schedule-today{justify-self:start;min-height:44px}
.schedule-navigation select:focus-visible{outline:3px solid #075b88;outline-offset:2px}
@media(max-width:700px){
 #staff-calendar>.schedule-navigation{grid-template-columns:44px minmax(0,1fr) 78px 44px;gap:6px;padding:8px 0;margin-bottom:8px}
 #staff-calendar>.schedule-navigation .schedule-today{grid-column:1/-1;justify-self:stretch;font-size:14px}
 #staff-calendar>.schedule-navigation select{padding:8px 4px}
}

/* Daily work navigation: four destinations and More on phones, full rail on desktop. */
#staff-nav-more{display:none!important}
.staff-more-links{display:grid;gap:10px;margin:18px 0}
.staff-more-links+.staff-more-links{border-top:1px solid #c8dce4;padding-top:18px}
.staff-more-links button{text-align:left;min-height:48px}
.staff-more-links [aria-current="page"]{background:#e8f4fa;border-color:#087ead;color:#075d80}
.staff-job-list-filters{display:grid;grid-template-columns:minmax(180px,2fr) minmax(140px,1fr) auto auto;align-items:end;gap:12px;padding:16px;border:1px solid #c8dce4;border-radius:14px;background:#fff}
.staff-job-list-filters label{display:grid;gap:6px;font-weight:700;min-width:0}
.staff-job-list-filters input:not([type="checkbox"]),.staff-job-list-filters select{width:100%;min-width:0;min-height:48px;padding:10px;border:1px solid #819ba7;border-radius:10px;font:inherit}
.staff-job-list-filters .staff-booking-filter-check{display:flex;align-items:center;min-height:48px;gap:8px}
.staff-job-list-filters input[type="checkbox"]{width:22px;height:22px}
.staff-overview-filter-panel{border:1px solid #c8dce4;border-radius:14px;padding:8px 16px;background:#fff;margin:12px 0}
.staff-overview-filter-panel>summary{cursor:pointer;min-height:48px;align-content:center;font-weight:700}
.staff-overview-filter-panel .staff-booking-filters{border:0;margin:0;padding:10px 0}
.staff-overview-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.staff-overview-actions .portal-note{margin:0;font-size:.85rem}
.staff-job-card[hidden]{display:none!important}
#staff-panel-jobs:has(#staff-new-job-form-host:not([hidden])) #staff-jobs,
#staff-panel-jobs:has(#staff-new-job-form-host:not([hidden])) #portal-runs-host{display:none}
@media(max-width:900px){
  .staff-job-list-filters{grid-template-columns:1fr 1fr}
  .staff-job-list-filters>label:first-child{grid-column:1/-1}
}
@media(max-width:700px){
  body.portal-nav-active #staff-bottom-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden!important;gap:2px;padding:6px 6px max(6px,env(safe-area-inset-bottom));width:100%;min-width:0}
  body.portal-nav-active #staff-bottom-nav .staff-nav-secondary{display:none!important}
  body.portal-nav-active #staff-bottom-nav .staff-nav-more{display:flex!important}
  body.portal-nav-active #staff-bottom-nav .staff-nav-item{min-width:0;width:100%;min-height:52px;padding:8px 2px;white-space:normal;font-size:clamp(.65rem,2.5vw,.82rem);justify-content:center;text-align:center}
  body.portal-nav-active #staff-bottom-nav:not(:has([aria-controls="staff-panel-overview"])){grid-template-columns:repeat(2,minmax(0,1fr))}
  body.portal-nav-active #portal-logout,body.portal-nav-active #staff-help-launch,body.portal-nav-active #staff-view-settings{display:none!important}
  body.portal-nav-active .portal-head{grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:auto;gap:8px;padding:10px}
  body.portal-nav-active #staff-command-launch{grid-column:2;grid-row:1;min-width:0;font-size:.82rem;padding:8px 10px}
  body.portal-nav-active #staff-notification-bell{grid-column:3;grid-row:1}
  body.portal-nav-active .staff-module-intro{min-height:0;padding:14px 58px 14px 14px}
  body.portal-nav-active .staff-module-intro p:not(.staff-module-eyebrow){margin:8px 0 0;font-size:.85rem}
  .staff-more-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 32px);overflow:auto}
  .staff-job-list-filters{grid-template-columns:1fr;padding:12px}
  .staff-job-list-filters>label:first-child{grid-column:auto}
}

.staff-feature-readiness{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px;margin:16px 0}.staff-feature-card{border:1px solid #c8dce4;border-left:4px solid #597985;background:#fff;border-radius:12px;padding:16px}.staff-feature-card h3{font-size:1rem;margin:0}.staff-feature-state{font-weight:750;margin:8px 0}.staff-feature-card[data-state=blocked]{border-left-color:#b26717}.staff-feature-card[data-state=ready]{border-left-color:#28776b}.staff-health-blockers{padding:16px 16px 16px 34px;background:#fff6dc;border-radius:12px}.staff-health-blockers li+li{margin-top:8px}

/* Keep validation below the quantity buttons, clear of its label. */
body .portal-item.inventory-card .inventory-quantity-controls>.portal-field>.portal-field-error{grid-column:1/-1!important;grid-row:3;max-width:100%;overflow-wrap:anywhere}

/* Search AA Staff: readable, ranked records within the mobile viewport. */
body.portal-nav-active #staff-global-search-results{max-height:min(65dvh,620px);padding:12px;scrollbar-gutter:stable;overscroll-behavior:contain}
.staff-system-search-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 12px;color:#16374a}
.staff-system-search-filter{display:flex;align-items:center;gap:10px;padding:0 4px 12px;font-size:.9rem;font-weight:650}
.staff-system-search-filter select{min-width:0;min-height:44px;flex:1;border:1px solid #afc3cf;border-radius:8px;padding:8px;font:inherit;background:#fff;color:#173449}
body .staff-search-result.staff-system-search-result{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;min-height:76px;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:14px;border:1px solid #dae4eb;border-radius:10px;background:#fff;color:#173449;margin:0 0 8px;font:inherit;cursor:pointer}
body .staff-system-search-result:hover,body .staff-system-search-result:focus-visible{background:#edf7fc;border-color:#087ca5;outline:2px solid #087ca5;outline-offset:-2px}
.staff-system-search-kind{font-size:.74rem;font-weight:750;letter-spacing:.02em;color:#086382}
.staff-system-search-title{font-size:1rem;font-weight:750;line-height:1.4}
.staff-system-search-detail{font-size:.9rem;line-height:1.45;color:#365769}
.staff-system-search-meta{font-size:.78rem;line-height:1.4;color:#586f7c}
.staff-system-search-result mark{color:inherit;background:#fff0ab;border-radius:2px;padding:0 1px}
.staff-system-search-message{font-size:.95rem;line-height:1.5;margin:8px;padding:8px;overflow-wrap:anywhere}
.staff-system-search-more{width:100%;min-height:48px;margin-top:4px}
@media(max-width:600px){body.portal-nav-active #staff-global-search-results{left:8px;right:8px;max-height:55dvh;padding:8px}.staff-system-search-result{padding:12px}}

/* Keep the reviewed advance confirmation readable and tappable on phones. */
.portal-app .aa-finalise-invoice .aa-finalise-confirm{display:flex;align-items:flex-start;gap:12px;margin:18px 0;line-height:1.5}
.portal-app .aa-finalise-invoice .aa-finalise-confirm input[type=checkbox]{flex:0 0 22px;width:22px;height:22px;min-height:22px;margin:2px 0 0;padding:0;accent-color:#1673ad}

/* Search filters stay usable on narrow screens; suggestions are explicit actions. */
.staff-system-search-filter{display:inline-flex;align-items:center;gap:.5rem;margin:.35rem .7rem .6rem 0;max-width:100%;font-size:.8rem}
.staff-system-search-filter select{min-height:36px;max-width:220px}
.staff-system-search-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.5rem 0 .8rem;font-size:.85rem}
.staff-system-search-suggestions button{padding:.4rem .7rem;min-height:36px}
@media(max-width:480px){.staff-system-search-filter{display:inline-flex;vertical-align:top;flex-direction:column;align-items:stretch;gap:.25rem;box-sizing:border-box;padding:0 0 .25rem;width:calc(50% - .5rem);margin:.35rem .5rem .6rem 0}.staff-system-search-filter select{width:100%;max-width:none;min-width:0;min-height:44px}.staff-system-search-suggestions button{min-height:44px}body.portal-nav-active div#staff-global-search-results{max-height:min(58dvh,30rem)}}

/* Shared visual assets */
/* AA visual vocabulary. Icons supplement readable labels; no changes to hit targets. */
[data-aa-action-icon]::before{content:"";display:inline-block;width:18px;height:18px;flex:0 0 18px;margin-inline-end:7px;vertical-align:-3px;background:currentColor;mask:var(--aa-action-art) center/contain no-repeat;-webkit-mask:var(--aa-action-art) center/contain no-repeat;pointer-events:none}
body.portal-nav-active .staff-nav-item[data-aa-action-icon]::before{width:18px;height:18px;flex-basis:18px;border-radius:0;opacity:1;background:currentColor}
.staff-notification-icon{font-size:0!important;display:inline-block;width:22px;height:22px;background:currentColor;mask:url('/visual-library/2026-10-v1/actions/svg/bell.svg') center/contain no-repeat;-webkit-mask:url('/visual-library/2026-10-v1/actions/svg/bell.svg') center/contain no-repeat}
#staff-notification-bell[data-aa-action-icon]::before{display:none}
body.portal-nav-active .staff-brand::before{content:"";display:inline-block;width:36px;height:28px;margin-inline-end:8px;vertical-align:middle;background:url('/brand/2026-10/mark-clean-reverse.svg') center/contain no-repeat}
.aa-inventory-image{width:40px;height:40px;object-fit:contain;flex:0 0 40px;vertical-align:middle;pointer-events:none}
.inventory-catalogue-item{display:flex;align-items:center;gap:10px;text-align:left;min-height:64px}
.inventory-catalogue-item .aa-inventory-image{width:48px;height:48px;flex-basis:48px}
.inventory-suggestion .aa-inventory-image{width:28px;height:28px;margin-inline-end:8px}
.aa-inventory-field-image{position:absolute;inset-inline-end:0;top:0;width:24px;height:24px;margin:0}
.staff-job-inventory-identity{position:relative;padding-inline-start:50px;min-height:40px}.staff-job-inventory-identity>.aa-inventory-image{position:absolute;inset-inline-start:0;top:0}
.item-tile>.aa-inventory-image{width:48px;height:48px;flex-basis:48px}
.item-row>.aa-inventory-image{width:32px;height:32px;flex-basis:32px;margin-inline-end:8px}
.quote-item>.aa-inventory-image,.volume-item>.aa-inventory-image{width:40px;height:40px;flex-basis:40px;margin-inline-end:8px}
.quote-item>span,.volume-item>span{flex:1;min-width:0}
@media (prefers-reduced-motion:no-preference){
 [data-aa-action-icon]{transition:background-color 120ms ease,border-color 120ms ease,box-shadow 120ms ease}
 [data-aa-action-icon]:active:not(:disabled){filter:brightness(.95)}
 .aa-feedback-enter{animation:aa-feedback-enter 180ms ease-out both}
 [data-aa-action-icon][aria-busy="true"]::before{animation:aa-working 900ms linear infinite}
}
@keyframes aa-feedback-enter{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@keyframes aa-working{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.aa-feedback-enter,[data-aa-action-icon]::before{animation:none!important;transition:none!important}}
@media (forced-colors:active){[data-aa-action-icon]::before{background:ButtonText}}
@media(max-width:600px){.inventory-catalogue-item .aa-inventory-image{width:40px;height:40px;flex-basis:40px}.item-tile>.aa-inventory-image{width:40px;height:40px;flex-basis:40px}}

[data-aa-action-icon="add"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/add.svg")}
[data-aa-action-icon="back"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/back.svg")}
[data-aa-action-icon="bank"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/bank.svg")}
[data-aa-action-icon="bell"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/bell.svg")}
[data-aa-action-icon="box"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/box.svg")}
[data-aa-action-icon="calendar"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/calendar.svg")}
[data-aa-action-icon="chart"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/chart.svg")}
[data-aa-action-icon="check"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/check.svg")}
[data-aa-action-icon="clock"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/clock.svg")}
[data-aa-action-icon="close"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/close.svg")}
[data-aa-action-icon="copy"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/copy.svg")}
[data-aa-action-icon="document"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/document.svg")}
[data-aa-action-icon="download"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/download.svg")}
[data-aa-action-icon="edit"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/edit.svg")}
[data-aa-action-icon="email"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/email.svg")}
[data-aa-action-icon="eye"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/eye.svg")}
[data-aa-action-icon="filter"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/filter.svg")}
[data-aa-action-icon="finance"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/finance.svg")}
[data-aa-action-icon="help"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/help.svg")}
[data-aa-action-icon="home"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/home.svg")}
[data-aa-action-icon="info"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/info.svg")}
[data-aa-action-icon="link"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/link.svg")}
[data-aa-action-icon="lock"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/lock.svg")}
[data-aa-action-icon="logout"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/logout.svg")}
[data-aa-action-icon="message"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/message.svg")}
[data-aa-action-icon="more"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/more.svg")}
[data-aa-action-icon="next"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/next.svg")}
[data-aa-action-icon="pause"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/pause.svg")}
[data-aa-action-icon="people"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/people.svg")}
[data-aa-action-icon="phone"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/phone.svg")}
[data-aa-action-icon="photo"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/photo.svg")}
[data-aa-action-icon="play"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/play.svg")}
[data-aa-action-icon="print"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/print.svg")}
[data-aa-action-icon="refresh"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/refresh.svg")}
[data-aa-action-icon="remove"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/remove.svg")}
[data-aa-action-icon="route"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/route.svg")}
[data-aa-action-icon="save"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/save.svg")}
[data-aa-action-icon="search"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/search.svg")}
[data-aa-action-icon="settings"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/settings.svg")}
[data-aa-action-icon="sign"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/sign.svg")}
[data-aa-action-icon="trash"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/trash.svg")}
[data-aa-action-icon="truck"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/truck.svg")}
[data-aa-action-icon="upload"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/upload.svg")}
[data-aa-action-icon="warning"]{--aa-action-art:url("/visual-library/2026-10-v1/actions/svg/warning.svg")}

.run-page .item-tile>span{flex:1;min-width:0}.run-page .item-tile>.stepper{flex-shrink:0}

.staff-design [data-staff-theme="messages"]{--staff-art:url("/visual-library/2026-10-v1/banners/staff-banner-messages.svg")}

@media(max-width:420px){.run-page .item-grid .item-tile{display:grid;grid-template-columns:36px minmax(0,1fr)}.run-page .item-tile>.stepper{grid-column:1/-1;justify-content:flex-end}.run-page .item-tile>.aa-inventory-image{width:36px;height:36px}.run-page .item-tile>span{overflow-wrap:anywhere}}

/* The formal quote uses one visible price mode and familiar duration units. */
.portal-quote-pricing-fields{display:grid;gap:16px;min-width:0}
.portal-quote-rate{padding:16px;border-radius:8px;background:var(--aa-info-surface);border:1px solid #bfd6e3}
.portal-quote-rate>p{margin:8px 0 0}
.portal-quote-rate-amount{font-size:1.25rem;font-weight:800;color:var(--aa-ink)}
.portal-quote-duration{min-inline-size:0;margin:0;padding:0;border:0}
.portal-quote-duration>legend{padding:0;margin-bottom:10px}
.portal-quote-duration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.portal-quote-duration-grid .portal-field{min-width:0}
.portal-quote-duration-grid :is(input,select){width:100%;min-width:0}
.portal-quote-workflow [hidden]{display:none!important}
@media(max-width:700px){
 body.portal-nav-active #staff-bottom-nav .staff-nav-item{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:60px;padding:6px 1px;font-size:.6875rem;line-height:1.2;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
 body.portal-nav-active #staff-bottom-nav .staff-nav-secondary{display:none!important}
 body.portal-nav-active #staff-bottom-nav .staff-nav-item::before{margin:0;flex:0 0 18px}
 body.portal-nav-active #staff-bottom-nav .staff-nav-item>*{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
 .portal-quote-workflow .portal-quote-step{padding:12px}
 .portal-quote-rate{padding:12px}
}

.portal-quote-workflow .portal-quote-preview{background:var(--aa-surface);color:var(--aa-ink);border:1px solid var(--aa-border);font-size:1rem}
.portal-quote-workflow .portal-quote-preview h5{color:var(--aa-ink)}
.portal-quote-workflow .portal-quote-preview dd{margin-bottom:12px}

/* AA Smart Notes: review before changing the move editor. */
.aa-smart-notes{grid-column:1/-1;border:1px solid #bfd0dc;border-radius:12px;padding:16px;background:#f5f9fc;min-width:0}
.aa-smart-notes>summary{font-weight:750;color:#153b55;cursor:pointer;min-height:28px}
.aa-smart-notes[open]>summary{margin-bottom:12px}
.aa-smart-notes textarea{width:100%;min-height:100px;resize:vertical}
.aa-smart-notes-review{display:grid;gap:14px;margin-top:14px;min-width:0}
.aa-smart-notes-review:empty,.aa-smart-notes-history:empty{display:none}
.aa-smart-notes-choice{display:flex;align-items:flex-start;gap:10px;font-weight:650;line-height:1.5;min-height:32px}
.aa-smart-notes-choice input{width:20px;min-width:20px;height:20px;margin:2px 0 0;accent-color:#175477}
.aa-smart-notes-questions{background:#fff7e4;border-left:4px solid #bd841e;padding:12px;border-radius:6px}
.aa-smart-notes-questions h5,.aa-smart-notes-review h4,.aa-smart-notes-review h5{margin:0 0 8px;font-size:1rem}
.aa-smart-notes-questions ul,.aa-smart-notes-stops{margin:0;padding-left:22px}
.aa-smart-notes-stops li+li{margin-top:10px}
.aa-smart-notes-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.aa-smart-notes-item{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px 12px;padding:12px 0;border-bottom:1px solid #d7e1e8}
.aa-smart-notes-item>.portal-note{grid-column:1/-1;margin:0}
.aa-smart-notes-item .portal-field{margin:0}
.aa-smart-notes-item input[type=number]{width:100%;min-width:0}
.aa-smart-notes-history{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.aa-smart-notes-original{padding:10px;background:white;border-radius:6px}
.aa-smart-notes-original .aa-smart-notes-text{padding-top:10px}
@media(max-width:480px){.aa-smart-notes{padding:12px}.aa-smart-notes .portal-quick-actions{display:grid;grid-template-columns:1fr}.aa-smart-notes .button{white-space:normal;width:100%}}
.aa-quote-advice{border:1px solid #cbdde5;border-left:4px solid #0876a4;border-radius:14px;padding:clamp(14px,3vw,24px);margin:20px 0;background:#f5fafc;color:#183b4e;min-width:0;overflow-wrap:anywhere}
.aa-quote-advice [hidden]{display:none!important}
.aa-advice-eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.09em;color:#176589}
.aa-advice-next-actions{display:flex;flex-wrap:wrap;gap:4px}.aa-advice-primary{background:#075f89!important;color:white!important;font-weight:750}.aa-advice-completion{margin:12px 0}.aa-advice-extra-price{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aa-advice-offers>fieldset>p{margin:.5rem 0}.enquiry-recommendation{padding:12px;border:1px solid #cbdde5;border-radius:10px;background:#f5fafc;color:#183b4e}.aa-quote-advice,.aa-smart-notes{scroll-margin-top:20px}
@media(max-width:480px){.aa-advice-extra-price{grid-template-columns:1fr}.aa-advice-next-actions{display:grid;grid-template-columns:1fr}.aa-advice-next-actions .button{margin:0}}
.aa-quote-advice h3{margin:.5rem 0}.aa-quote-advice h4{margin:1rem 0 .5rem}
.aa-advice-price{font-size:1.2rem;font-weight:800;line-height:1.4}
.aa-advice-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.aa-advice-metrics>div{background:white;border:1px solid #dbe5ea;border-radius:10px;padding:12px}
.aa-advice-metrics dt{font-size:.8rem;color:#4f6775}.aa-advice-metrics dd{font-weight:750;margin:5px 0 0}
.aa-quote-advice details{border-top:1px solid #d6e3e9;padding:14px 0}.aa-quote-advice summary{font-weight:750;cursor:pointer;min-height:36px}
.aa-quote-advice ol,.aa-quote-advice ul{padding-left:22px;line-height:1.6}.aa-quote-advice li{margin:6px 0}
.aa-quote-advice .button{white-space:normal;min-height:46px;max-width:100%;margin:6px 6px 6px 0}
.aa-advice-form,.aa-advice-route-fields,.aa-advice-offers{display:grid;gap:12px;min-width:0}
.aa-quote-advice fieldset{min-width:0;border:1px solid #d2e1e8;border-radius:10px;padding:14px;background:white}
.aa-quote-advice input:not([type=checkbox]),.aa-quote-advice textarea{display:block;width:100%;min-width:0;box-sizing:border-box;font:inherit}
.aa-advice-check{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.aa-advice-check input{flex:0 0 auto;margin-top:5px;width:20px;height:20px}
.aa-advice-alert,.aa-advice-completion{color:#6d4809;background:#fff6df;padding:12px 16px;border-radius:9px}.aa-advice-completion h4{margin:0 0 .5rem}.aa-advice-completion ul{margin:0}
@media(max-width:480px){.aa-advice-metrics{grid-template-columns:1fr}.aa-quote-advice .button{width:100%;margin-right:0}.aa-quote-advice input,.aa-quote-advice textarea{font-size:16px}}

.aa-quote-extras,.aa-quote-payment-next{border:1px solid #cbdde5;border-radius:12px;background:#f5fafc;padding:18px;margin:16px 0;min-width:0;overflow-wrap:anywhere}.aa-quote-extras fieldset{min-width:0;border:1px solid #cbdde5;border-radius:8px;margin:12px 0;padding:12px;background:#fff}.aa-quote-extras [hidden]{display:none!important}.aa-quote-extras input:not([type=checkbox]),.aa-quote-extras textarea,.aa-quote-extras select{box-sizing:border-box;width:100%;max-width:100%;font:inherit}.aa-quote-extras .button,.aa-quote-payment-next .button{white-space:normal;max-width:100%;min-height:48px}@media(max-width:600px){.aa-quote-extras .button,.aa-quote-payment-next .button{width:100%}.aa-quote-extras input,.aa-quote-extras textarea,.aa-quote-extras select{font-size:16px}}

/* Read-only office operations summary. */
.aa-operations-health{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0}
.aa-operations-card{border:1px solid var(--aa-border);border-radius:12px;padding:1rem;background:var(--aa-surface);min-width:0;overflow-wrap:anywhere}
.aa-operations-card:first-child{grid-column:1/-1}
.aa-operations-card h3{margin-top:0}
.aa-operations-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.aa-operations-list li{padding:.8rem;background:var(--aa-surface-subtle);border-radius:8px;min-width:0}
.aa-operations-list a,.aa-operations-list strong{display:block;margin-bottom:.4rem}
.aa-operations-list a{color:var(--aa-primary);text-decoration:underline;min-height:24px}
.aa-operations-list p{margin:.4rem 0}
.aa-operations-health>.portal-note,.aa-operations-health>button{grid-column:1/-1}
@media(max-width:680px){.aa-operations-health,.aa-operations-list{grid-template-columns:minmax(0,1fr)}}

/* Quick quote: a short primary path, with review tools available on demand. */
.aa-advice-quick-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.aa-advice-quick-fields select{display:block;width:100%;min-height:48px;border:1px solid #9ab7c7;border-radius:8px;padding:10px;background:#fff;color:#183b4e;font:inherit}
.aa-advice-form>.aa-advice-primary{width:100%;margin:8px 0}
.aa-advice-form>.aa-advice-check{margin:14px 0;line-height:1.5}
.aa-advice-result details{padding:8px 0}.aa-advice-result p{margin:8px 0}
.aa-advice-offers>fieldset{margin:10px 0}.aa-advice-completion:empty{display:none}
.portal-quote-adjustments>summary{min-height:48px;padding:12px;font-weight:700;cursor:pointer}
.portal-quote-workflow .portal-quote-issue{margin-top:10px}
@media(max-width:540px){.aa-advice-quick-fields{grid-template-columns:1fr}.aa-advice-quick-fields select{font-size:16px}}
.aa-advice-form{gap:10px}.aa-advice-form>p{margin:2px 0;line-height:1.5}
.aa-advice-result .aa-advice-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0;gap:8px}
.aa-advice-result .aa-advice-metrics>div{padding:9px}.aa-advice-result .aa-advice-metrics dd{font-size:.95rem}

/* Keep the next quote correction visible beneath sticky navigation. */
[data-quote-attention="true"]{outline:3px solid #b45d00!important;outline-offset:4px;scroll-margin-block:100px}

.aa-advice-custom-crew{grid-column:1/-1;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.aa-advice-custom-crew .portal-field:has(textarea),.aa-advice-custom-crew .portal-note{grid-column:1/-1}
@media(max-width:540px){.aa-advice-custom-crew{grid-template-columns:1fr}}

/* Customer offer choices and evidence-based booking progress. */
.aa-quote-choice-grid{border:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin:24px 0}.aa-quote-choice-grid>legend,.aa-quote-choice-grid>p{grid-column:1/-1}.aa-quote-choice{display:flex;gap:12px;align-items:flex-start;padding:22px;border:2px solid #d7e3e9;border-radius:18px;background:#fff;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.aa-quote-choice:has(input:checked){border-color:#13799a;background:#f1fafc;box-shadow:0 6px 22px #1a5a7214}.aa-quote-choice:focus-within{outline:3px solid #c2a66b;outline-offset:3px}.aa-quote-choice input{accent-color:#13799a;width:22px;height:22px;flex:0 0 22px;margin-top:3px}.aa-quote-choice-copy{display:grid;gap:12px;min-width:0}.aa-quote-choice-copy strong{font-size:1.12rem}.aa-quote-choice-price{font-size:1.35rem;font-weight:750;color:#144c65}.aa-quote-choice-detail{padding:20px;border-radius:16px;background:#f6f9fb;margin:18px 0}.aa-quote-accept{white-space:normal!important;max-width:100%;min-height:52px}.aa-client-options{margin-top:22px;border-top:1px solid #d5e1e7;padding-top:22px}.aa-client-option-list{display:grid;gap:12px}.aa-client-option-draft{padding:16px;border:1px solid #cddde5;border-radius:14px;background:#fff}.aa-booking-journey{position:relative;overflow:hidden;padding:clamp(20px,4vw,40px);margin:22px 0;border:1px solid #cde4df;border-radius:24px;background:linear-gradient(145deg,#edf9f5,#f6fbff 65%,#fff9ee);box-shadow:0 12px 34px #173f5010;animation:aa-journey-enter .45s ease-out}.aa-booking-journey h4{font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.2;margin:16px 0 12px;color:#164b42}.aa-journey-check{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;font-size:30px;font-weight:700;color:white;background:#237c64;box-shadow:0 0 0 8px #237c6411;animation:aa-journey-check .6s ease-out}.aa-journey-message{max-width:65ch;line-height:1.65}.aa-journey-steps{list-style:none!important;padding:0!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0!important}.aa-journey-step{display:grid;gap:10px;align-content:start;font-weight:650;font-size:.95rem;color:#5a6f79}.aa-journey-number{display:grid;place-items:center;width:32px;height:32px;border:2px solid #bbcdd5;border-radius:50%;background:#fff}.aa-journey-step.is-done{color:#216c57}.is-done .aa-journey-number{background:#216c57;color:#fff;border-color:#216c57}.is-current .aa-journey-number{border-color:#13799a;color:#13799a;box-shadow:0 0 0 4px #13799a12}.aa-journey-actions{display:flex;flex-wrap:wrap;gap:12px}.aa-journey-actions .button{white-space:normal;min-height:48px;max-width:100%}.aa-journey-reference{font-size:.85rem;color:#5c727b;margin:18px 0 0}.aa-quote-choice-detail .portal-quote-terms{white-space:pre-wrap;overflow-wrap:anywhere}@keyframes aa-journey-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes aa-journey-check{0%{opacity:0;transform:scale(.7)}65%{transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}@media(max-width:480px){.aa-journey-steps{grid-template-columns:1fr;gap:14px}.aa-journey-step{display:flex;align-items:center}.aa-journey-actions .button{width:100%}}@media(prefers-reduced-motion:reduce){.aa-booking-journey,.aa-journey-check{animation:none}.aa-quote-choice{transition:none}}

.aa-journey-actions .button.button-outline{background:#fff;color:#164760;border:1px solid #8ca8ba}.aa-journey-actions .button.button-outline:not(:disabled):hover{background:#e9f3f8;color:#12425b}.aa-journey-actions .button:disabled{opacity:.65}

/* Saved route editing is visible before pricing, including on mobile. */
.aa-advice-addresses{display:grid;gap:12px;margin-bottom:18px;padding:16px;border:1px solid #a4cddd;border-left:5px solid #147e9b;border-radius:12px;background:#f0faff}
.aa-advice-addresses h4,.aa-advice-addresses p{margin:0}
.aa-advice-address-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}
.aa-advice-address-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #c6dfe9;border-radius:8px;background:#fff;min-width:0}
.aa-advice-address-row>div{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.aa-advice-address-row>.button{flex-shrink:0;min-height:44px}
.aa-advice-address-warning{color:#815000;font-weight:650}
.aa-advice-address-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:540px){.aa-advice-address-row{align-items:stretch;flex-direction:column}.aa-advice-address-actions{display:grid;grid-template-columns:1fr}.aa-advice-address-actions .button{min-height:48px;width:100%}}

/* AA Staff office system: semantic colours and compact everyday surfaces. */
body.staff-design{--aa-navy:#14243d;--aa-blue:#175cd3;--aa-teal:#087f72;--aa-amber:#925c08;--aa-red:#b42318;--aa-neutral:#f4f6f9;--staff-accent:var(--aa-blue);--staff-tint:#f4f6f9}
.staff-design .staff-tab-panel[data-staff-theme]{--staff-accent:var(--aa-blue);--staff-tint:#f4f6f9}
.staff-design.portal-nav-active{background:var(--aa-neutral);color:#243449}
.staff-design .portal-head{background:var(--aa-navy);gap:12px}
.staff-design .portal-head .button{min-height:44px;padding:9px 14px;font-size:.875rem}
.staff-design :is(h1,h2,h3,h4,h5){color:var(--aa-navy);letter-spacing:normal}
.staff-design .portal-head :is(h1,h2,h3){color:#fff}
.staff-design .staff-module-intro{padding:16px 20px;min-height:0;border:0;border-radius:0;border-bottom:1px solid #d8e0e9;background:transparent;margin:0 0 18px}
.staff-design .staff-module-intro::after{display:none}
.staff-design .staff-module-intro p{margin:4px 0;max-width:75ch}
.staff-design .staff-module-intro .staff-module-eyebrow{display:none}
.staff-design :is(.button-blue,.aa-advice-primary){background:var(--aa-blue);border-color:var(--aa-blue);color:#fff}
.staff-design .button-outline{background:#fff;color:#25415c;border-color:#bccada;box-shadow:none}
.staff-design .button:disabled{opacity:.55;cursor:not-allowed}
.staff-design :is(input,select,textarea){border-color:#a9b9cc;background:#fff;color:#243449;border-radius:8px;min-height:44px;box-shadow:none}
.staff-design :is(input[type=checkbox],input[type=radio]){min-height:20px;width:20px;height:20px;accent-color:var(--aa-blue)}
.staff-design :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #175cd3;outline-offset:3px}
.staff-design .portal-feedback[data-state=success]{color:#06685e;background:#eaf7f3;border-color:#9bd4c8}
.staff-design .portal-feedback[data-state=error]{color:#b42318;background:#fff0ee;border-color:#efb0a8}
.staff-design .portal-feedback[data-state=pending]{color:#714900;background:#fff8e8;border-color:#e7c678}
.staff-design .staff-nav-item[aria-current=page]{color:#174ea6;background:#eaf1ff;border-color:#175cd3}
.staff-design .aa-quote-advice{background:#fff;border:1px solid #d8e0e9;border-radius:14px;padding:20px;box-shadow:0 3px 12px #14243d06}
.staff-design .aa-quote-advice h3{font-size:1.4rem;margin:8px 0 16px}
.staff-design .aa-advice-eyebrow{font-size:.7rem;line-height:1.6;color:#54657a;letter-spacing:.04em}
.staff-design .aa-advice-addresses{background:#f7f9fc;border:1px solid #e1e7ef;border-radius:10px;padding:12px;margin:0 0 16px}
.staff-design .aa-advice-addresses h4{margin:0;font-size:1rem}
.staff-design .aa-advice-date{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#526475}
.staff-design .aa-advice-address-list{margin:0;padding:0;list-style:none;display:grid;gap:0}
.staff-design .aa-advice-address-row{border:0;border-top:1px solid #e1e7ef;border-radius:0;padding:8px 0;background:transparent;display:flex;align-items:center;gap:12px;justify-content:space-between}
.staff-design .aa-advice-address-row p{margin:2px 0;font-size:.9rem}
.staff-design .aa-advice-address-row strong{font-size:.75rem;color:#526475}
.staff-design .aa-advice-address-row .portal-note{font-size:.8rem}
.staff-design .aa-advice-address-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.staff-design .aa-advice-addresses .button{font-size:.8rem;padding:7px 10px;min-height:44px}
.staff-design .aa-advice-quick-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.staff-design .aa-advice-quick-fields>p,.staff-design .aa-advice-custom-crew{grid-column:1/-1}
.staff-design .aa-advice-form .portal-field{font-size:.85rem;font-weight:600;gap:6px;padding:0;background:transparent;border:0}
.staff-design .aa-advice-price{font-size:1.65rem;color:var(--aa-navy);background:#eef4ff;border:0;border-radius:10px;padding:15px;margin:16px 0 8px;font-weight:750}
.staff-design .aa-advice-metrics{grid-template-columns:repeat(2,minmax(0,1fr));font-size:.85rem;gap:8px}
.staff-design .aa-advice-metrics>div{background:#f4f6f9;border:0;padding:10px;border-radius:8px}
.staff-design :is(.aa-advice-trip,.aa-advice-advanced,.aa-enquiry-details,.aa-final-review,.aa-office-settings){border:1px solid #d8e0e9;border-radius:10px;background:#fff;margin:12px 0;padding:0 14px}
.staff-design :is(.aa-advice-trip,.aa-advice-advanced,.aa-enquiry-details,.aa-final-review,.aa-office-settings)>summary{cursor:pointer;padding:13px 0;font-size:.9rem;font-weight:650;min-height:44px;box-sizing:border-box;color:#25415c}
.staff-design :is(.aa-advice-trip,.aa-advice-advanced,.aa-enquiry-details,.aa-final-review,.aa-office-settings)[open]{padding-bottom:14px}
.staff-design .aa-advice-advanced .portal-field{margin:10px 0}
.staff-design .aa-hourly-summary{font-size:.9rem;color:#25415c;line-height:1.6}
.staff-design .aa-advice-check{padding:10px 0;background:transparent;border:0;font-size:.9rem;align-items:center}
.staff-design .aa-advice-completion{background:#fff8e8;color:#714900;border:1px solid #edd495;border-radius:8px;padding:10px 14px;margin:10px 0}
.staff-design .aa-advice-completion ul{margin:0;padding-left:18px;font-size:.875rem}
.staff-design .aa-advice-completion-title{display:block;margin-bottom:6px;font-size:.9375rem}
.staff-design .aa-advice-completion>.portal-note{margin:6px 0 0;color:inherit}
.staff-design .aa-advice-completion[data-state="ready"]{background:#eff6fc;border-color:#b9d2e6;color:#234d70}
.staff-design .aa-advice-primary{width:100%;min-height:48px;border-radius:8px;margin:8px 0;font-weight:700}
.staff-design .aa-final-review[open]{border-color:#8fafe6}
.staff-design .aa-client-options{background:#f7f9fc;border:1px solid #d8e0e9;border-radius:8px;padding:12px}
.staff-design .aa-client-options>summary{cursor:pointer;font-weight:650;min-height:44px;display:list-item}
.staff-design .portal-enquiry-detail-section,.staff-design .portal-enquiry-service-details{background:#fff;border:0;padding:12px 0}
.staff-design .schedule-test-filter{display:flex;align-items:center;gap:8px;font-size:.875rem}
.staff-design .portal-feedback:not(:empty){animation:aa-feedback-in .16s ease-out}
@keyframes aa-feedback-in{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.staff-design .aa-quote-advice{padding:12px}.staff-design .aa-advice-quick-fields{grid-template-columns:1fr}.staff-design .aa-advice-price{font-size:1.4rem}.staff-design .aa-advice-address-row{align-items:flex-start}.staff-design .staff-module-intro{padding:12px 0}.staff-design .aa-advice-addresses{padding:10px}.staff-design .aa-advice-address-row>div{min-width:0}.staff-design .aa-advice-address-row p{overflow-wrap:anywhere}.staff-design .aa-advice-address-row .button{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){.staff-design *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep the main address summary short at phone widths. */
.staff-design .aa-advice-address-row{flex-direction:row;align-items:center;gap:8px;margin:0}
.staff-design .aa-advice-address-row>div{flex:1;gap:0}
.staff-design .aa-advice-address-row>.button{width:auto;max-width:98px;flex:0 0 86px;margin:0;font-size:.75rem}
.staff-design .aa-advice-date>.button{width:auto;flex:0 0 auto;margin:0;font-size:.75rem}
.staff-design .aa-advice-addresses .aa-route-options{background:transparent;border:0;margin:0;padding:0}
.staff-design .aa-route-options>summary{font-size:.85rem;min-height:44px;align-content:center}
.staff-design .aa-advice-address-actions .button{flex:1 1 110px;width:auto}

.staff-design [data-sales-mode][aria-current=page]{background:#175cd3;color:#fff;border-color:#175cd3}
.staff-design [data-sales-mode][aria-current=false]{background:#fff;color:#25415c;border-color:#bccada}

/* Icon actions reserve room for complete words, including the full staff cascade. */
body.portal-nav-active .button[data-aa-action-icon]{gap:8px;overflow-wrap:normal;word-break:normal}
body.portal-nav-active .button[data-aa-action-icon]::before{margin-inline-end:0}
body.portal-nav-active .aa-advice-address-row>.button{flex:0 0 auto;min-inline-size:76px;max-inline-size:none;width:auto;white-space:nowrap;padding:8px 10px;gap:6px}
body.portal-nav-active .aa-advice-date>.button{padding:8px 10px;gap:6px}
@media(max-width:600px){
 body.portal-nav-active .staff-filter-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
 body.portal-nav-active #portal-filters .staff-filter-actions>.button{flex:1 1 128px;width:auto;padding:10px 12px;gap:8px;overflow-wrap:normal;word-break:normal}
}
body.portal-nav-active .aa-advice-date{flex-wrap:wrap}
body.portal-nav-active .aa-advice-date>span{flex:0 0 auto;white-space:nowrap}

/* One saved-quote centre, separate from editable pricing. */
.quote-centre{border:1px solid #c8d8e7;border-radius:14px;background:#f5f9fc;padding:clamp(12px,2vw,22px);margin:0 0 20px;min-width:0}
.quote-centre h3{margin-top:0}.quote-centre-actions{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.quote-centre-actions .button{min-height:44px;white-space:normal;overflow-wrap:normal;max-width:100%;margin:0}
.quote-centre-actions .portal-field{flex:1 1 220px;min-width:0}.quote-centre-actions select{width:100%;min-width:0}
.quote-centre-facts{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,3fr);gap:8px 16px;margin:16px 0}.quote-centre-facts dt{font-weight:650}.quote-centre-facts dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.quote-centre-document{margin:14px 0;border:1px solid #d5e0e9;background:white;border-radius:10px;padding:12px}.quote-centre-document>summary{min-height:44px;cursor:pointer;font-weight:650;display:list-item}.quote-centre-document .portal-quote-terms{white-space:pre-wrap;overflow-wrap:anywhere}.quote-centre-document ul{padding-left:20px;overflow-wrap:anywhere}
@media(max-width:480px){.quote-centre-facts{grid-template-columns:1fr;gap:4px}.quote-centre-facts dd{margin-bottom:9px}.quote-centre-actions>.button{flex:1 1 100%}}

/* Client profiles: direct names and compact, independently operable records. */
body.portal-nav-active .client-name-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;border:0;border-radius:4px;background:transparent;box-shadow:none;padding:3px 0;margin:0;color:#135e89;font:inherit;font-weight:750;text-align:left;text-decoration:underline;text-decoration-color:#b5cede;text-underline-offset:4px;cursor:pointer;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
body.portal-nav-active .client-name-link:hover{color:#083f63;text-decoration-color:currentColor}
body.portal-nav-active .client-name-link:focus-visible{outline:3px solid #175cd3;outline-offset:3px}
body.portal-nav-active .staff-enquiry-header{padding:12px 18px 0;gap:8px!important;align-items:center!important}
body.portal-nav-active .staff-enquiry-header .portal-enquiry-name{font-size:1rem}
body.portal-nav-active .staff-enquiry-header .portal-reference{font-size:.75rem;font-weight:550}
body.portal-nav-active .staff-enquiry-card>.portal-summary{padding:10px 18px 14px;gap:7px;min-height:44px}
body.portal-nav-active .staff-enquiry-card .portal-summary-context{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px}
body.portal-nav-active .staff-enquiry-card .portal-route{font-size:.875rem;font-weight:550;line-height:1.5}
body.portal-nav-active .staff-enquiry-card .portal-service-chip{font-size:.6875rem;padding:4px 7px;line-height:1.5}
body.portal-nav-active .staff-enquiry-card .portal-stage-badge{font-size:.6875rem;padding:5px 8px}
body.portal-nav-active .staff-enquiry-card .portal-summary-meta{font-size:.75rem;line-height:1.5;font-weight:400}
body.portal-nav-active .staff-enquiry-card .portal-open-label{font-size:.8125rem;margin-top:2px}
body.portal-nav-active .client-directory-list{min-width:0}
body.portal-nav-active .client-directory-status{font-size:.8125rem;color:#526b7a;margin:12px 0}
body.portal-nav-active .client-directory-card{margin:0 0 10px;padding:12px 16px;border:1px solid #d4e0e9;border-radius:10px;background:#fff;box-shadow:none}
body.portal-nav-active .client-directory-card h4{margin:0;font-size:1rem;line-height:1.35}
body.portal-nav-active .client-directory-meta{margin:1px 0 7px;font-size:.75rem;color:#526b7a;line-height:1.5}
body.portal-nav-active .client-directory-contacts{display:flex;gap:4px 16px;flex-wrap:wrap;margin:0;font-size:.8125rem}
body.portal-nav-active .client-directory-contacts a{display:inline-flex;align-items:center;min-height:36px;max-width:100%;color:#315c75;overflow-wrap:anywhere}
@media(max-width:520px){
 body.portal-nav-active .staff-enquiry-card .staff-enquiry-header{grid-template-columns:minmax(0,1fr) auto;padding:10px 12px 0;gap:8px}
 body.portal-nav-active .staff-enquiry-card>.portal-summary{padding:8px 12px 12px}
 body.portal-nav-active .staff-enquiry-card .portal-summary-context{grid-template-columns:minmax(0,1fr)}
 body.portal-nav-active .staff-enquiry-card .portal-stage-badge{max-width:110px;justify-self:end;white-space:normal}
 body.portal-nav-active .client-directory-card{padding:10px 12px}
}
body.portal-nav-active[data-view-text=large] .staff-enquiry-card :is(.portal-route,.portal-summary-meta,.portal-open-label){font-size:1rem}
body.portal-nav-active[data-view-text=large] :is(.client-directory-meta,.client-directory-contacts){font-size:1rem}

/* Daily office workflow: compact queues, clear next action, narrow-screen fit. */
.aa-daily-work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin:12px 0 20px}
.aa-daily-work-grid .portal-card{margin:0;padding:14px;min-width:0}
.aa-daily-work-link{display:block;padding:10px 0;border-bottom:1px solid #e0e7ed;overflow-wrap:anywhere;color:#124b71;text-decoration:underline}
.aa-invoice-workflow{border-left:4px solid #126a8c;background:#f0f8fc;min-width:0}
.aa-invoice-workflow .button{white-space:normal;max-width:100%}
.xero-actions+div select,.xero-actions+div input{max-width:100%;min-width:0}

.aa-invoice-email-form [hidden]{display:none!important}

.schedule-date-entry{display:flex;align-items:center;gap:6px;min-width:0}.schedule-date-entry input{flex:1;min-width:0}.schedule-date-entry .schedule-button{min-width:44px;min-height:44px}

/* Staff-only activity reader. Long account and record identifiers wrap on phones. */
.activity-centre{min-width:0;max-width:100%;padding:12px 0}.activity-explanation{padding:12px 14px;background:#eaf3f8;border-left:4px solid #12678c;border-radius:8px;color:#34515e;line-height:1.5}.activity-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.activity-filters .portal-field{min-width:0;display:grid;gap:5px}.activity-filters input,.activity-filters select{min-width:0;width:100%;min-height:44px;padding:10px;border:1px solid #98adb7;border-radius:8px;background:white;color:#183747;font:inherit}.activity-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.activity-list{list-style:none;padding:0;margin:16px 0;display:grid;gap:12px}.activity-card{border:1px solid #c7d9e1;border-radius:14px;padding:16px;background:white;min-width:0;overflow-wrap:anywhere}.activity-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.activity-card-head h3{font-size:1.05rem;margin:0}.activity-time{color:#536b77;font-size:.9rem}.activity-result{display:inline-block;padding:5px 9px;border-radius:7px;background:#edf3f7;margin-top:10px;font-size:.88rem;font-weight:650}.activity-result[data-outcome=rejected],.activity-result[data-outcome=error]{background:#fff0ed;color:#8c3024}.activity-result[data-outcome=signed_in],.activity-result[data-outcome=document_served]{background:#e6f4ec;color:#216148}.activity-actor{font-weight:600;overflow-wrap:anywhere}.activity-actor .button{font-size:.85rem;min-height:44px;margin-top:6px}.activity-identifier{font-size:.8rem;color:#526975;overflow-wrap:anywhere}.activity-centre .button{min-height:44px}.activity-record{margin-top:12px}.activity-record>summary{cursor:pointer;padding:12px;font-weight:700;min-height:44px}.activity-record>div{padding:0 12px 12px}
@media(max-width:700px){.activity-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.activity-filters>label:first-child,.activity-filters>label:nth-child(2){grid-column:1/-1}.activity-card{padding:12px}.activity-actions>.button{flex:1 1 100px}.activity-card-head{display:grid;gap:6px}.activity-centre h2{font-size:1.4rem}}
.activity-event-details{margin-top:10px;border-top:1px solid #e0e8ed;padding-top:4px}.activity-event-details>summary{min-height:44px;display:list-item;padding:10px 0;color:#486571;cursor:pointer;font-size:.85rem}.activity-event-details p{margin:5px 0}

.staff-passkey-login{display:grid;gap:.6rem;margin-block:1rem}.staff-passkey-login .portal-note{margin:0}#staff-passkey-dialog{width:min(42rem,calc(100vw - 2rem));box-sizing:border-box}#staff-passkey-dialog .portal-card{margin-block:1rem;overflow-wrap:anywhere}#staff-passkey-dialog form{display:grid;gap:1rem}#staff-passkey-dialog input{width:100%;box-sizing:border-box}#staff-passkey-dialog button{white-space:normal;max-width:100%}#staff-continue-work{margin-block:1rem}
/* Daily operations: count tiles open a focused queue; no long dashboard lists. */
.aa-work-queue-launch{width:100%;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:0;background:var(--aa-surface);color:var(--aa-ink);font:inherit;font-weight:700;text-align:left;cursor:pointer;border-radius:var(--aa-radius)}
.aa-daily-work-link{display:grid;gap:4px;width:100%;text-align:left;padding:12px;border-bottom:1px solid #d1dee6}
.aa-work-queue-body .portal-note{margin:4px 0}
.aa-queue-sort{display:grid;gap:5px;max-width:100%;margin:12px 0;font-weight:600}
.aa-queue-sort select{width:100%;max-width:260px;min-width:0;min-height:44px;padding:8px 12px;border:1px solid #8095a4;border-radius:6px;background:#fff;color:#173246;font:inherit}
.portal-enquiry.is-open .portal-open-label,.portal-enquiry[open] .portal-open-label{font-size:1rem}
.portal-enquiry.is-open .portal-open-label::after,.portal-enquiry[open] .portal-open-label::after{content:' ▴';font-size:inherit}
.quote-centre .quote-centre-refresh{width:auto;min-height:44px;justify-self:end;padding:8px 14px}
.staff-enquiry-card .portal-summary{padding-top:10px;padding-bottom:12px}
.staff-enquiry-card .portal-summary-context{gap:6px}
.aa-work-queue-launch{font-size:.85rem;gap:8px;padding:12px}
.aa-work-queue-launch>span{flex:1;min-width:0;overflow-wrap:normal;word-break:normal}
@media(max-width:350px){.aa-work-queue-launch{font-size:.78rem;padding:10px;gap:5px}}
/* AA Staff materials catalogue */
.aa-materials-dialog{width:min(1100px,calc(100vw - 24px));max-height:92dvh;padding:24px;border:1px solid #bed0da;border-radius:20px;background:#f5f9fc;color:#173444}.aa-materials-dialog::backdrop{background:#062331aa}.aa-materials-dialog .staff-command-dialog-head{position:sticky;top:-24px;z-index:2;background:#f5f9fc;padding-block:12px}.aa-materials-lead{font-weight:700;color:#12648a}.aa-materials-controls{display:grid;grid-template-columns:2fr 1fr;gap:16px}.aa-materials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.aa-material-card{display:flex;flex-direction:column;gap:8px;padding:18px;background:white;border:1px solid #cddce5;border-radius:14px;min-width:0}.aa-material-card h3{font-size:1.05rem;margin:0;overflow-wrap:anywhere}.aa-material-card p{margin:0}.aa-material-card details{font-size:.9rem;flex:1}.aa-material-card details p{margin:8px 0}.aa-material-category{font-size:.8rem;font-weight:700;color:#356779}.aa-material-price{font-size:1.2rem;font-weight:750;color:#075e89}.aa-material-stock{font-size:.85rem;color:#4a656e}.aa-materials-basket{background:#eaf3f8;border:1px solid #bed1dd;border-radius:16px;padding:20px;margin:22px 0;display:flex;flex-direction:column;gap:12px}.aa-materials-cart-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #c7d9e4}.aa-materials-cart-row label{flex:1}.aa-materials-cart-row input{display:block;max-width:110px}.aa-materials-consent{display:flex;align-items:flex-start;gap:10px}.aa-materials-consent input{width:24px;min-width:24px;height:24px}.aa-materials-saved article{padding:12px 0;border-bottom:1px solid #c7d9e4}.aa-materials-dialog button,.aa-materials-dialog input,.aa-materials-dialog select{min-height:44px}.aa-quote-materials{background:#edf6fa;padding:16px;border-radius:12px;margin:16px 0}.aa-materials-dialog [hidden]{display:none!important}@media(max-width:760px){.aa-materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aa-materials-controls{grid-template-columns:1fr}}@media(max-width:480px){.aa-materials-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:16px;border-radius:0}.aa-materials-grid{grid-template-columns:1fr}.aa-materials-dialog .staff-command-dialog-head{top:-16px}.aa-materials-cart-row{align-items:flex-end}}
.aa-materials-dialog{max-width:1100px}.aa-materials-dialog .staff-command-dialog-head{display:flex;flex-wrap:wrap;gap:10px}.aa-materials-dialog .staff-command-dialog-head h2{flex:1;margin:0;font-size:1.5rem}.aa-materials-dialog .button-outline{background:#fff;color:#173444;border:1px solid #8ba4b1}.aa-materials-dialog .button-blue{background:#08658e;color:white;border:1px solid #075273}.aa-materials-dialog button:disabled{opacity:.45;cursor:not-allowed}.aa-materials-basket{scroll-margin-top:130px}@media(max-width:480px){.aa-materials-dialog{max-width:100%}.aa-materials-dialog .staff-command-dialog-head h2{flex-basis:100%}}

/* Staged forms use their own outer layout; ordinary truck cards stay unchanged. */
.aa-staged-quote fieldset{min-width:0;margin:14px 0;padding:14px;border:1px solid #c7d8e3;border-radius:12px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.aa-staged-quote input,.aa-staged-quote select{box-sizing:border-box;max-width:100%;min-width:0;min-height:44px}
.aa-staged-quote .button{min-height:44px;max-width:100%;white-space:normal}
.aa-staged-quote p{white-space:pre-line;overflow-wrap:anywhere}
.aa-truck-charges-form>.aa-staged-actual-group{display:block;border:0;padding:0;margin:0;min-width:0}
.aa-staged-actual-group>div,.aa-staged-actual-group>fieldset{min-width:0;max-width:100%}
.aa-staged-actual-group>button{margin:8px 8px 8px 0;max-width:100%}

/* Customer identity and inventory stay visible in compact/mobile intake. */
.staff-client-picker{padding:16px;border:1px solid #a7c6d4;border-left:4px solid #146c81;border-radius:12px;background:#f2f8fa;display:grid;gap:10px;min-width:0}
.staff-client-picker label{display:grid;gap:8px;font-weight:700}.staff-client-picker input{width:100%;min-width:0;padding:12px;font:inherit;font-size:16px;border:1px solid #9eb5c1;border-radius:8px;background:#fff;color:#153346}
.staff-client-picker button{min-height:44px;cursor:pointer;font:inherit;border:1px solid #9eb5c1;border-radius:8px;padding:10px 12px;color:#153346;background:#fff}.staff-client-picker p{font-size:14px;margin:0;overflow-wrap:anywhere}.staff-client-matches{display:grid;gap:8px;max-height:320px;overflow:auto}.staff-client-match{display:grid;gap:5px;text-align:left}.staff-client-match span{font-size:13px;overflow-wrap:anywhere}.staff-client-match:hover,.staff-client-match:focus-visible{background:#e4f4f6;outline:2px solid #146c81}
.staff-intake-customer-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.staff-intake-customer-fields[hidden],.staff-client-picker [hidden]{display:none!important}.staff-intake-optional{border:1px solid #c5cbdc;border-left:4px solid #7256a5;border-radius:10px;padding:12px;margin:10px 0}.staff-intake-optional summary{min-height:44px;cursor:pointer;font-weight:700}.staff-intake-optional[open] summary{margin-bottom:12px}
@media(max-width:620px){.staff-intake-customer-fields{grid-template-columns:1fr}}

.aa-address-hint{display:grid;gap:8px;margin-top:6px;font-weight:400;font-size:13px}.aa-address-hint small{font-size:13px;line-height:1.5;color:#526977}.aa-address-results{border:1px solid #9eb5c1;border-radius:8px;overflow:auto;max-height:240px;background:white;color:#153346;box-shadow:0 3px 12px #102e4120}.aa-address-option{padding:12px;min-height:44px;cursor:pointer;font-size:15px;line-height:1.4;border-bottom:1px solid #dce6ec}.aa-address-option:hover,.aa-address-option[aria-selected=true]{background:#dceef6;color:#103e55}.aa-address-attribution{justify-self:end;width:120px;height:14px}.aa-address-hint button{min-height:44px;font:inherit;background:#fff;border:1px solid #9eb5c1;border-radius:8px;padding:8px}.aa-address-hint [hidden]{display:none!important}
/* Job modules use the same operation accents as the customer file. */
.staff-design .staff-workspace-module{--operation-accent:#285f91;--operation-tint:#edf5fb;border-left:4px solid var(--operation-accent)}
.staff-design .staff-workspace-module[data-section-title="Routes, access and inventory"]{--operation-accent:#16716a;--operation-tint:#edf8f5}
.staff-design .staff-workspace-module[data-section-title="Crew, vehicles and dispatch"]{--operation-accent:#7954a0;--operation-tint:#f5f0fa}
.staff-design .staff-workspace-module[data-section-title="Job card and field timings"]{--operation-accent:#946c22;--operation-tint:#fcf7ea}
.staff-design .staff-workspace-module[data-section-title="Attachments and condition record"]{--operation-accent:#946c22;--operation-tint:#fcf7ea}
.staff-design .staff-workspace-module[data-section-title="Tasks and follow-ups"],.staff-design .staff-workspace-module[data-section-title="Claims, damage and incidents"]{--operation-accent:#9a572c;--operation-tint:#fff3eb}
.staff-design .staff-workspace-module[data-section-title="Quote, charges, payments and job costs"]{--operation-accent:#496244;--operation-tint:#f0f6ed}
.staff-design .staff-workspace-module>summary{background:var(--operation-tint)}

/* Connected daily operations: same forms, accessible compact controls. */
.aa-operations-actions{padding:12px;margin:10px 0;border:1px solid #cbd8e3;border-radius:12px;background:#f6f9fc;display:flex;flex-wrap:wrap;gap:10px;align-items:start}.aa-operations-actions>details{flex:1 1 260px}.aa-operations-actions summary{cursor:pointer;padding:10px;font-weight:600}.aa-operations-actions .portal-feedback{flex-basis:100%;margin:0}.aa-operations-dialog{width:min(760px,calc(100vw - 24px));max-height:90dvh;overflow:auto}.aa-operations-dialog input,.aa-operations-dialog select,.aa-operations-dialog textarea{max-width:100%;box-sizing:border-box}.aa-operations-dialog textarea{width:100%}.aa-operations-dialog .button{margin:6px 6px 6px 0;white-space:normal;overflow-wrap:anywhere}.aa-message-preview iframe{width:100%;min-height:360px;border:1px solid #cbd8e3;background:white}.aa-message-preview p{white-space:pre-wrap;overflow-wrap:anywhere}.aa-operations-dialog label:has(input[type=checkbox]){display:flex;gap:10px;align-items:start}.aa-operations-dialog input[type=checkbox]{width:20px;min-width:20px;height:20px}.aa-operations-dialog select{min-height:44px;margin:5px 0;width:100%}

/* Daily Operations Home: existing navigation and forms remain the destinations. */
body[data-staff-page="overview"] #staff-command-strip .staff-history-controls{display:none!important}
.aa-home-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px}
.aa-home-quick-actions .button{min-height:44px;margin:0;padding:10px 8px}
.aa-home-bookings{border:1px solid #cbdce6;border-radius:10px;padding:12px;margin-top:12px}
.aa-home-bookings>summary{font-weight:700;cursor:pointer;min-height:24px}
.aa-queue-next{width:100%;text-align:left;padding:10px 12px;border:0;border-top:1px solid #dae3ea;background:#fff;color:#16475f;font:inherit;cursor:pointer;min-height:44px;overflow-wrap:anywhere}
.aa-work-queue-card[data-state="attention"] .aa-work-count{background:#fff2ce;color:#553b00}
.aa-work-queue-card[data-state="clear"] .aa-work-count{background:#e5f2ed;color:#235543}
#staff-account-launch{min-height:44px;padding:8px 10px;margin-left:0}
body[data-staff-page="overview"] #staff-panel-overview .staff-module-intro{margin-bottom:10px}
body[data-staff-page="overview"] #staff-panel-overview .staff-module-intro p{margin:4px 0}
@media(max-width:600px){.aa-home-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.aa-home-quick-actions .button{font-size:.9rem}.aa-daily-work-grid{gap:8px}.aa-work-queue-launch{padding:10px}.aa-queue-next{font-size:.85rem}}
@media(max-width:700px){
 body.portal-nav-active .portal-head{grid-template-columns:minmax(74px,1fr) auto auto 44px;gap:5px;padding:8px}
 body.portal-nav-active #staff-account-launch{grid-column:4;grid-row:1;min-width:44px;width:44px;padding:8px;font-size:0}
 body.portal-nav-active #staff-account-launch::before{content:'';width:20px;height:20px;border:2px solid currentColor;border-radius:50%;background:radial-gradient(circle at 50% 34%,currentColor 0 3px,transparent 3.5px),radial-gradient(ellipse at 50% 100%,currentColor 0 7px,transparent 7.5px)}
}

.aa-operations-dialog [hidden]{display:none!important}
/* Customer workspace: one set of records with layouts for phone and desktop. */
.aa-customer-workspace{margin:0;min-width:0;background:#fff;border:1px solid #dce3e8;border-radius:14px;overflow:clip}
.aa-customer-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;background:#f4f7fa;border-bottom:1px solid #dce3e8}
.aa-customer-heading h3{margin:2px 0 6px;font-size:24px;line-height:1.25;color:#142a42}.aa-workspace-eyebrow{margin:0;font-size:11px;font-weight:750;letter-spacing:.12em;color:#52677c}
.aa-customer-heading .portal-note{margin:0}.aa-customer-contact{display:flex;gap:8px;flex-wrap:wrap}
.aa-customer-layout{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:start}.aa-customer-nav{display:flex;flex-direction:column;gap:6px;padding:20px 12px;position:sticky;top:80px}
.aa-customer-nav button{background:transparent;border:1px solid transparent;border-radius:8px;padding:13px 14px;text-align:left;font:inherit;font-size:14px;font-weight:650;color:#43566a;min-height:46px;cursor:pointer}
.aa-customer-nav button[aria-selected=true]{background:#e9f0fb;border-color:#c8d9f3;color:#163c73}.aa-customer-nav button:focus-visible{outline:3px solid #4c82c3;outline-offset:2px}
.aa-customer-panels{padding:24px;border-left:1px solid #e5eaf0;min-width:0}.aa-customer-panel[hidden]{display:none!important}.aa-customer-panel>*{min-width:0;max-width:100%}
.aa-customer-panel>.quote-centre{margin:0 0 20px;padding:0;border:0;box-shadow:none;background:transparent}.aa-customer-panel>.quote-centre>h3{font-size:21px;margin-top:0}
.aa-customer-panel .quote-centre-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.aa-customer-panel .quote-centre-refresh{order:5;margin-left:auto}
.aa-customer-panel .quote-centre-document{background:#fafbfd;border:1px solid #dce3e8;border-radius:10px;padding:16px;margin:16px 0}.aa-customer-panel summary{cursor:pointer;line-height:1.4;min-height:30px;font-weight:650}
.aa-customer-quote-editor,.aa-customer-advanced{padding:16px;border:1px solid #dce3e8;border-radius:10px;background:#fff;margin-top:16px}.aa-customer-editor-body{padding-top:16px;min-width:0}.aa-customer-editor-body>.aa-final-review{margin-top:20px}
.aa-customer-panel input,.aa-customer-panel textarea,.aa-customer-panel select{max-width:100%}.aa-customer-panel fieldset{min-width:0}.aa-customer-panel p,.aa-customer-panel dd,.aa-customer-panel button{overflow-wrap:anywhere}
@media(min-width:1000px){.aa-customer-panel .portal-enquiry-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aa-customer-panel .quote-centre-facts{display:grid;grid-template-columns:minmax(135px,1fr) minmax(0,2fr);gap:8px 20px}.aa-customer-panel .quote-centre-facts dd{margin:0}}
@media(max-width:760px){.aa-customer-heading{padding:16px;align-items:flex-start;gap:10px}.aa-customer-heading h3{font-size:21px}.aa-customer-contact{gap:6px}.aa-customer-contact .button{padding:9px 11px;min-height:44px}.aa-customer-layout{display:block}.aa-customer-nav{position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:8px;border-bottom:1px solid #dce3e8}.aa-customer-nav button{padding:10px 4px;text-align:center;font-size:12px;min-height:48px}.aa-customer-panels{padding:16px;border-left:0}.aa-customer-panel .quote-centre-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.aa-customer-panel .quote-centre-actions .button{width:100%;min-height:48px;padding:11px 8px;font-size:14px}.aa-customer-panel .quote-centre-refresh{grid-column:1/-1;margin-left:0}.aa-customer-panel .quote-centre-facts{display:block}.aa-customer-panel .quote-centre-facts dd{margin:0 0 12px}.aa-customer-quote-editor,.aa-customer-advanced{padding:12px}.aa-customer-panel .portal-quote-issue .staff-form-actions,.aa-customer-panel .portal-quote-issue .portal-actions{display:flex;flex-direction:column}.aa-customer-panel .portal-quote-issue button{min-height:48px}}

.aa-plan-group{padding:12px;border:1px solid #dce3e8;border-radius:8px;margin:12px 0;background:#fff}.aa-plan-group>summary{padding:4px 0}.aa-plan-group>fieldset{margin-top:14px}.aa-plan-review-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.aa-plan-review-actions>label{flex-basis:100%}.aa-plan-review-actions>button{min-height:46px}
/* Independent usability audit: keep the existing forms, give them usable space. */
.aa-quote-next-step{font-weight:650;color:#153f58;margin:12px 0;line-height:1.5}
.aa-plan-review-actions>.aa-quote-next-step{flex-basis:100%;margin:0}
.aa-plan-review-actions>[hidden]{display:none!important}
.aa-plan-review-actions>label{display:flex;flex-direction:row;align-items:flex-start;gap:10px;line-height:1.5}
.aa-plan-review-actions>label input[type=checkbox]{order:-1;width:24px;min-width:24px;height:24px;min-height:24px;padding:0;margin:0;flex:0 0 24px}
.aa-clear-queues{margin:16px 0}.aa-clear-queues>summary,.aa-message-wording>summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:650}
.aa-clear-queues .aa-daily-work-grid{margin-top:8px}
.aa-message-wording{margin:12px 0;border-block:1px solid #dce3e8;padding:0 2px}
.aa-message-preview iframe{width:100%;min-height:320px;border:1px solid #dce3e8}
#portal-login-message .button,.quote-centre .portal-note .button{display:inline-flex;margin:8px 0 0}
body.portal-app:not(.portal-nav-active) .staff-login-hero{padding:18px 0 14px}
body.portal-app:not(.portal-nav-active) .staff-login-hero h1{font-size:26px;margin:4px 0}
body.portal-app:not(.portal-nav-active) .staff-login-hero p{margin:5px 0 0}
body.portal-app:not(.portal-nav-active) .staff-login-section{padding-top:14px}
@media(max-width:760px){
 body.portal-nav-active .portal-enquiry-body{padding:8px}
 .aa-customer-workspace{border:0;border-radius:8px}
 .aa-customer-heading{padding:12px 8px}
 .aa-customer-panels{padding:12px 0}
 .aa-customer-panel .aa-customer-quote-editor,.aa-customer-panel .aa-customer-advanced{padding:12px 0;border:0;border-top:1px solid #dce3e8;border-radius:0}
 .aa-customer-panel .aa-staged-quote,.aa-customer-panel .aa-final-review{padding:12px 0;border:0;box-shadow:none;margin:0;background:transparent}
 .aa-customer-panel .aa-staged-quote>fieldset{padding:0;border:0;margin:12px 0}
 .aa-customer-panel .aa-plan-group{padding:10px 6px}
 .aa-customer-panel .aa-plan-group>fieldset{padding:8px 6px}
 .aa-customer-panel .portal-quote-workflow,.aa-customer-panel .portal-quote-tools,.aa-customer-panel .portal-quote-issue{padding:10px 0;border-inline:0}
 .aa-plan-review-actions{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:10px}
 .aa-plan-review-actions>label,.aa-plan-review-actions>.aa-quote-next-step{flex-basis:auto}
 .aa-plan-review-actions>button{width:100%;min-height:48px;padding:12px;white-space:normal;overflow-wrap:normal}
 .aa-customer-panel .quote-centre-actions .button-blue{grid-column:1/-1}
 .aa-customer-panel .quote-centre-document{padding:12px 8px}
 .aa-customer-panel .portal-quote-terms{padding:10px 8px}
 .aa-customer-panel button{word-break:normal;overflow-wrap:normal}
 .aa-operations-dialog{max-height:90dvh;overflow-y:auto}.aa-operations-dialog .staff-form-actions{flex-wrap:wrap}
}

body.portal-nav-active .client-name-link:has(.aa-customer-link-hint){flex-wrap:wrap;gap:4px 10px}
.aa-customer-link-hint{font-size:.75rem;font-weight:500;text-decoration:none;white-space:nowrap}

/* Dispatch uses one visit list and the existing crew and vehicle timeline. */
.schedule-dispatch.dispatch-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.dispatch-queue{min-width:0}.dispatch-totals,.dispatch-actions,.dispatch-visit-heading{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dispatch-totals{margin:12px 0}.dispatch-visit{padding:14px 16px;margin:9px 0;border:1px solid #cadae4;border-radius:10px;background:#fff;overflow-wrap:anywhere}
.dispatch-visit-heading{justify-content:space-between;color:#153e54}.dispatch-visit p{font-size:14px;margin:5px 0}
.dispatch-visit .dispatch-identity{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:auto;min-width:0;padding:3px 0;text-align:left}
.dispatch-visit .dispatch-visit-meta{font-size:12px;color:#496779}.dispatch-route{font-weight:650}.dispatch-reasons{font-size:13px;color:#714506;padding-left:20px}
.dispatch-actions{margin-top:10px}.dispatch-queue [data-state=ready]{color:#215f44;background:#e5f4ec}.dispatch-queue [data-state=attention]{color:#714506;background:#fff0ce}
