:root {
  --bg: #f4f7fb;
  --surface: #ffffff;
  --surface-2: #eef3f8;
  --ink: #122033;
  --muted: #6c7a8c;
  --line: #dfe6ee;
  --brand: #0f766e;
  --brand-2: #115e59;
  --navy: #0b1220;
  --danger: #b42318;
  --warning: #b25e09;
  --success: #157a4a;
  --shadow: 0 18px 50px rgba(22, 34, 51, .10);
  --radius: 18px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
.hidden{display:none!important}
.app-shell{min-height:100vh}
.topbar{position:sticky;top:0;z-index:40;background:rgba(11,18,32,.96);backdrop-filter:blur(10px);color:white;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.02em}
.brand-mark{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#21b7a8,#0f766e);display:grid;place-items:center;font-weight:800}
.brand small{display:block;color:#9eabba;font-weight:500;font-size:11px;letter-spacing:.04em;text-transform:uppercase;margin-top:2px}
.top-actions{display:flex;align-items:center;gap:8px}
.user-pill{display:none;padding:8px 11px;background:rgba(255,255,255,.08);border-radius:999px;color:#d9e2ec;font-size:12px}
.icon-btn,.btn{border:0;border-radius:12px;padding:10px 14px;font-weight:700;transition:.16s ease}
.icon-btn{background:rgba(255,255,255,.09);color:white}
.btn{background:var(--navy);color:white}
.btn:hover,.icon-btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--brand)}
.btn-secondary{background:var(--surface-2);color:var(--ink)}
.btn-danger{background:#fff1f0;color:var(--danger)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-small{padding:8px 11px;font-size:13px;border-radius:10px}
.btn-block{width:100%}
.container{width:min(1180px,100%);margin:0 auto;padding:22px 16px 90px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:6px 0 22px}
.page-head h1{margin:0;font-size:clamp(26px,4vw,40px);letter-spacing:-.04em}
.page-head p{margin:6px 0 0;color:var(--muted)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(17,31,48,.03)}
.card-pad{padding:18px}
.grid{display:grid;gap:14px}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.stat{padding:18px}.stat .label{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}.stat .value{font-size:30px;font-weight:800;letter-spacing:-.04em;margin-top:6px}.stat .sub{font-size:12px;color:var(--muted);margin-top:4px}
.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}.dot-green{background:#25a567}.dot-amber{background:#d98d24}.dot-red{background:#d24b40}.dot-grey{background:#9da8b5}
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700}.badge-draft{background:#edf1f5;color:#596779}.badge-submitted{background:#fff3df;color:#995608}.badge-approved{background:#e9f8ef;color:#12633e}.badge-returned{background:#ffebe9;color:#9e2d23}
.login-wrap{min-height:100vh;background:linear-gradient(145deg,#07101f,#0d2430 58%,#0f766e);display:grid;place-items:center;padding:24px}
.login-card{width:min(460px,100%);background:white;border-radius:26px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.26)}
.login-card h1{margin:18px 0 4px;font-size:34px;letter-spacing:-.045em}.login-card p{margin:0 0 24px;color:var(--muted);line-height:1.5}
.login-logo{width:54px;height:54px;border-radius:17px;background:var(--navy);color:white;display:grid;place-items:center;font-weight:800;font-size:19px}
.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:12px;font-weight:700;color:#445266}.field input,.field select,.field textarea{width:100%;border:1px solid #ced8e3;border-radius:12px;background:white;padding:12px 13px;color:var(--ink);outline:none}.field textarea{min-height:88px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#4ba89f;box-shadow:0 0 0 3px rgba(15,118,110,.10)}
.form-stack{display:grid;gap:14px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-row-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.setup-note{margin-top:16px;padding:12px 14px;border-radius:12px;background:#fff8e7;color:#74540d;font-size:13px;line-height:1.45}
.nav-tabs{display:flex;gap:8px;overflow:auto;padding:0 16px;background:white;border-bottom:1px solid var(--line);position:sticky;top:var(--weekli-topbar-height,65px);z-index:30}.nav-tabs button{white-space:nowrap;border:0;background:transparent;padding:14px 10px;font-weight:700;color:#627083;border-bottom:3px solid transparent}.nav-tabs button.active{color:var(--brand);border-color:var(--brand)}
.week-switcher{display:flex;align-items:center;gap:8px}.week-label{padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:white;font-size:13px;font-weight:700}
.day-card{overflow:hidden}.day-head{padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f9fbfd;border-bottom:1px solid var(--line)}.day-head h3{margin:0;font-size:16px}.day-head .date{color:var(--muted);font-size:12px;margin-top:3px}.day-body{padding:16px}.day-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-12{grid-column:span 12}
.hours-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.hours-grid .field input{text-align:center;font-weight:700}
.timesheet-summary{position:sticky;bottom:12px;z-index:25;background:rgba(11,18,32,.96);color:white;border-radius:18px;padding:13px 15px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-totals{display:flex;gap:18px;align-items:center}.summary-totals span{font-size:11px;color:#9eabba;text-transform:uppercase;letter-spacing:.06em}.summary-totals strong{display:block;color:white;font-size:17px;margin-top:2px}
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);font-size:13px}.data-table th{background:#f8fafc;color:#607084;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.data-table tr.clickable:hover{background:#f8fbfd;cursor:pointer}.person{font-weight:700}.muted{color:var(--muted)}
.empty{padding:34px 18px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:16px;margin-bottom:5px}
.modal-backdrop{position:fixed;inset:0;background:rgba(7,14,25,.58);z-index:100;display:grid;place-items:center;padding:18px}.modal{width:min(980px,100%);max-height:92vh;overflow:auto;background:white;border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.28)}.modal-head{position:sticky;top:0;background:white;z-index:2;padding:18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-body{padding:18px}.modal-actions{display:flex;gap:8px;flex-wrap:wrap}
.management-list{display:grid;gap:9px}.management-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:13px}.management-row strong{display:block}.management-row small{color:var(--muted)}
.inline-add{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-bottom:16px}.inline-add.sites{grid-template-columns:1fr 1fr 1fr auto}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#111b2a;color:white;padding:11px 15px;border-radius:12px;z-index:200;box-shadow:var(--shadow);font-size:13px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#8c2e27}
.loading{min-height:100vh;display:grid;place-items:center}.spinner{width:36px;height:36px;border:4px solid #dbe4ed;border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.print-sheet{background:white}.print-title{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #111;padding-bottom:12px;margin-bottom:14px}.print-title h2{margin:0}.print-meta{font-size:12px;line-height:1.6}.print-table{width:100%;border-collapse:collapse}.print-table th,.print-table td{border:1px solid #777;padding:7px;font-size:10px;vertical-align:top}.print-signoff{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px;font-size:11px}
@media (min-width:720px){.user-pill{display:block}}
@media (max-width:900px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr}.day-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4,.span-6{grid-column:span 6}.span-12{grid-column:span 6}.inline-add,.inline-add.sites{grid-template-columns:1fr 1fr}.inline-add button{grid-column:span 2}}
@media (max-width:600px){.container{padding:18px 12px 96px}.page-head{align-items:flex-start;flex-direction:column}.grid-4,.grid-2{grid-template-columns:1fr 1fr}.day-grid{grid-template-columns:1fr 1fr}.span-2,.span-3,.span-4,.span-6,.span-12{grid-column:span 2}.form-row,.form-row-3{grid-template-columns:1fr}.hours-grid{grid-template-columns:repeat(3,1fr)}.timesheet-summary{align-items:stretch;flex-direction:column}.summary-totals{justify-content:space-between}.timesheet-summary .btn{width:100%}.topbar{padding:12px}.nav-tabs{top:var(--weekli-topbar-height,60px)}.inline-add,.inline-add.sites{grid-template-columns:1fr}.inline-add button{grid-column:auto}.grid-4{gap:9px}.stat{padding:14px}.stat .value{font-size:25px}}
@media print{body{background:white}.topbar,.nav-tabs,.modal-head,.modal-actions,.no-print,.toast{display:none!important}.modal-backdrop{position:static;background:none;padding:0;display:block}.modal{box-shadow:none;max-height:none;width:100%;border-radius:0}.modal-body{padding:0}.print-sheet{padding:0}.container{padding:0;max-width:none}.print-table th,.print-table td{font-size:9px;padding:5px}}

/* V2 daily work / holiday controls */
.day-type-switch{display:flex;gap:8px;margin-bottom:16px;padding:4px;background:#f3f5f7;border-radius:12px;max-width:320px}
.day-type-btn{flex:1;border:0;background:transparent;padding:10px 14px;border-radius:9px;font-weight:700;cursor:pointer;color:#68717c}
.day-type-btn.active{background:#fff;color:#17202a;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.day-type-btn.holiday-active{background:#fff4d6;color:#775500}
.disabled-switch{opacity:.7}
.holiday-panel{padding:24px;border:1px dashed #dfc36e;background:#fffaf0;border-radius:12px;display:flex;flex-direction:column;gap:5px}
.holiday-panel strong{font-size:18px}.holiday-panel span{color:#69727d;font-size:14px}
.worked-auto{background:#f4f7f9!important;font-weight:700;color:#16202a}
.travel-only{grid-template-columns:minmax(180px,320px)}
@media(max-width:700px){.day-type-switch{max-width:none}.travel-only{grid-template-columns:1fr}}

/* V3 office review - designed for fast approval rather than PDF zooming */
.review-modal{width:min(1180px,100%)}
.review-sheet{display:grid;gap:16px}
.review-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:4px 2px}
.review-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:800}
.review-hero h2{font-size:30px;letter-spacing:-.04em;margin:5px 0 2px}.review-hero p{margin:0;color:var(--muted)}
.review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.review-summary>div{border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#fbfcfd}.review-summary span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.review-summary strong{display:block;margin-top:4px;font-size:18px}
.review-table-wrap{border:1px solid var(--line);border-radius:14px}.review-table{min-width:980px}.review-table th{position:sticky;top:0}.review-table td{vertical-align:top}.review-table .review-description{min-width:170px}.review-number{font-weight:800;text-align:center!important}.holiday-review td{background:#fff9e9;color:#6b5313}
.review-audit{display:grid;grid-template-columns:1fr 1fr;gap:12px}.review-audit>div{border:1px solid var(--line);border-radius:14px;padding:14px}.review-audit strong,.review-audit span,.review-audit small{display:block}.review-audit span{margin-top:5px}.review-audit small{margin-top:4px;color:var(--muted)}
.review-note{border:1px solid #efaaa3;background:#fff7f6;border-radius:14px;padding:14px}.review-note p{margin:6px 0 0}
@media(max-width:700px){.review-summary{grid-template-columns:1fr 1fr}.review-audit{grid-template-columns:1fr}.review-hero{flex-direction:column}.review-hero h2{font-size:25px}}

/* V4 Weekli brand system */
:root{
  --brand:#2563eb;
  --brand-2:#4f46e5;
  --weekli-green:#0aa879;
  --navy:#0b1730;
}
.topbar{background:rgba(7,17,39,.97)}
.top-weekli-logo{width:112px;height:32px;object-fit:contain;filter:brightness(0) invert(1)}
.brand{min-width:118px}
.top-actions{min-width:0}.top-company{padding:5px 9px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.06)}
/* Keep long company and employee names inside their own tablet header chips. */
.topbar>.brand,.top-actions>#logoutBtn{flex-shrink:0}
.top-company{max-width:36vw}
.company-identity>div:last-child{min-width:0}
.company-identity img,.company-logo-fallback{flex-shrink:0}
.user-pill{min-width:0;max-width:26vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-company img{width:31px;height:31px}.top-company strong{color:#fff;font-size:12px}.top-company small{color:#aebacf;font-size:9px}
.company-identity{display:flex;align-items:center;gap:10px;min-width:0}.company-identity img{width:42px;height:42px;object-fit:contain;border-radius:9px;background:#fff}.company-identity strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-identity small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.company-logo-fallback{width:42px;height:42px;border-radius:10px;background:#eef3ff;color:#1e40af;display:grid;place-items:center;font-weight:900}
.platform-chip{font-size:12px;font-weight:700;color:#c9d4e6;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.06)}
.login-wrap{background:radial-gradient(circle at 15% 15%,rgba(37,99,235,.35),transparent 30%),radial-gradient(circle at 86% 86%,rgba(10,168,121,.28),transparent 34%),linear-gradient(145deg,#071127,#0b1730 62%,#0a2940)}
.login-card{border:1px solid rgba(255,255,255,.65)}
.login-brand{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.login-brand .weekli-wordmark{width:178px;height:auto}.login-brand span{font-size:13px;color:#677489;margin-left:5px}.login-brand b{color:var(--weekli-green)}
.weekli-wordmark{display:block}.weekli-mark{width:34px;height:25px;object-fit:contain}
.btn-primary{background:linear-gradient(135deg,#2563eb,#4f46e5)}
.btn-primary:hover{box-shadow:0 8px 24px rgba(37,99,235,.22)}
.nav-tabs button.active{color:#255edc;border-color:#2563eb}
.spinner{border-top-color:#2563eb}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#6b8ff2;box-shadow:0 0 0 3px rgba(37,99,235,.10)}
.company-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;margin:2px 0 18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#fff,#f7f9ff)}.company-banner>span{font-size:12px;color:var(--muted)}
.review-brand-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0 15px;border-bottom:1px solid var(--line)}.powered-weekli{display:flex;align-items:center;gap:6px;color:var(--navy);font-weight:800;font-size:18px}.powered-weekli .weekli-mark{width:30px}
.branding-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.brand-upload-row{display:flex;align-items:center;gap:14px}.brand-logo-preview{width:104px;height:82px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;color:var(--muted);font-size:12px}.brand-logo-preview img{max-width:88px;max-height:68px;object-fit:contain}.field small{font-size:11px}.colour-field{display:grid;grid-template-columns:54px 1fr;gap:9px}.colour-field input[type=color]{height:44px;padding:3px}.brand-preview{display:grid;gap:16px;align-content:start;background:linear-gradient(160deg,#fff,#f8faff)}.preview-company{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.preview-email{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(17,31,48,.06)}.preview-email strong{font-size:21px;line-height:1.25;letter-spacing:-.02em}.preview-email strong span{color:#2563eb}.preview-email p{color:var(--muted);line-height:1.55}.preview-pdf{padding:18px;border:1px solid var(--line);border-radius:14px;background:white;display:grid;gap:14px}.preview-pdf>strong{padding-top:12px;border-top:2px solid var(--company-accent,#f5c400)}.preview-lines{height:108px;border:1px solid #dbe2ea;background:repeating-linear-gradient(to bottom,#fff 0,#fff 21px,#eef2f6 22px,#eef2f6 23px)}.preview-pdf small{text-align:right;color:#66758a}
@media(max-width:760px){.top-company{display:none}.platform-chip{display:none}.top-weekli-logo{width:98px}.branding-grid{grid-template-columns:1fr}.company-banner{align-items:flex-start;flex-direction:column}.company-banner>span{display:none}.brand-upload-row{align-items:flex-start;flex-direction:column}.review-brand-row{align-items:flex-start}.powered-weekli{font-size:15px}}
.top-weekli-brand{gap:7px;font-size:22px;color:#fff}.top-weekli-mark{width:38px;height:29px;object-fit:contain}.top-weekli-brand span{letter-spacing:-.04em}

/* V5 people + invitations */
.people-invite-card{margin-bottom:16px;background:linear-gradient(145deg,#fff,#f7faff)}
.invite-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.invite-head h3{margin:4px 0 0;font-size:21px;letter-spacing:-.025em}
.people-invite-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-bottom:10px}.people-invite-form .btn{height:44px}
.people-list-card{overflow:hidden}
@media(max-width:700px){.people-invite-form{grid-template-columns:1fr}.people-invite-form .btn{width:100%}.invite-head{align-items:flex-start}}

/* Weekli V6: price work, finance and records */
.span-8{grid-column:span 8}
.price-work-section{grid-column:span 12;margin-top:4px;border-top:1px solid var(--line);padding-top:14px}
.price-work-check{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#fbfcfd;cursor:pointer}
.price-work-check input{margin-top:3px;accent-color:var(--navy)}
.price-work-check span{display:flex;flex-direction:column;gap:2px}.price-work-check small{color:var(--muted);font-size:12px}
.price-work-items{display:flex;flex-direction:column;gap:10px;margin-top:10px}.price-work-item{border:1px solid var(--line);border-radius:14px;padding:13px;background:white}.price-work-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.link-danger{border:0;background:transparent;color:#b42318;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.review-section-title{display:flex;align-items:center;justify-content:space-between;margin:20px 0 8px}.review-section-title span{font-weight:800;color:var(--navy)}
.finance-warning,.finance-ready{border-radius:14px;padding:13px 15px;margin-bottom:16px;display:flex;gap:7px;flex-direction:column}.finance-warning{background:#fff7ed;border:1px solid #fed7aa}.finance-ready{background:#f0fdf4;border:1px solid #bbf7d0}.finance-warning span,.finance-ready span{font-size:13px;color:var(--muted)}
.money-value{font-size:28px!important}.finance-note{font-size:12px;margin-top:10px}.money-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden;min-width:96px}.money-input span{padding-left:9px;color:var(--muted);font-weight:700}.money-input input{border:0!important;min-width:0;width:76px;padding-left:4px!important;box-shadow:none!important}
.records-filters{display:grid;grid-template-columns:minmax(180px,280px) minmax(180px,1fr);gap:12px;margin-bottom:16px}
@media(max-width:900px){.span-8{grid-column:span 6}.price-work-section{grid-column:span 6}}
@media(max-width:600px){.span-8,.price-work-section{grid-column:span 2}.records-filters{grid-template-columns:1fr}.summary-totals{flex-wrap:wrap;gap:10px 18px}.summary-totals>div{min-width:70px}.week-switcher{flex-wrap:wrap}}

/* V7 — compact mobile submission bar */
.timesheet-summary{padding:10px 12px;border-radius:16px;gap:10px}
.summary-totals{gap:14px;flex:1}
.summary-totals>div{min-width:0}
.summary-totals span{font-size:10px}
.summary-totals strong{font-size:15px;white-space:nowrap}
.summary-totals strong small{font-size:10px;margin-left:1px;color:#9eabba;font-weight:700}
.summary-actions{display:flex;align-items:center;gap:8px}
.summary-actions .btn{min-height:40px;padding:9px 16px}
@media(max-width:600px){
  .container{padding-bottom:82px}
  .timesheet-summary{bottom:8px;flex-direction:column;align-items:stretch;padding:9px 10px;gap:8px}
  .summary-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;text-align:left}
  .summary-totals>div{min-width:0;padding:0 4px}
  .summary-totals span{font-size:9px;letter-spacing:.05em;white-space:nowrap}
  .summary-totals strong{font-size:14px;margin-top:1px}
  .summary-actions{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center}
  .summary-actions .btn{width:100%;margin:0!important;min-height:38px;padding:8px 12px}
  .summary-actions .badge{justify-self:start}
}

/* V7.1 — private payroll controls */
.private-stars{font-weight:900;letter-spacing:.13em;color:#64748b;white-space:nowrap}
.sensitive-backdrop{z-index:1200}
.sensitive-modal{width:min(420px,calc(100vw - 28px));padding:24px;border-radius:20px}
.sensitive-head{margin-bottom:18px}.sensitive-logo{width:118px;height:auto;margin-bottom:18px}.sensitive-head h3{font-size:23px;margin:0 0 6px}.sensitive-head p{margin:0;color:var(--muted);line-height:1.5;font-size:14px}
.sensitive-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:4px}.sensitive-error{min-height:18px;color:#b42318;font-size:12px;font-weight:700}
@media(max-width:600px){.sensitive-modal{padding:20px}.sensitive-actions{grid-template-columns:1fr}.private-stars{letter-spacing:.1em}}

/* Weekli V7.3: submission history + safer records management */
.my-records-card{margin-bottom:16px;overflow:hidden}
.my-records-card summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.my-records-card summary::-webkit-details-marker{display:none}
.my-records-card summary>div{display:flex;flex-direction:column;gap:3px}.my-records-card summary small{color:var(--muted);font-weight:500}.my-records-card summary>span{font-size:12px;color:var(--muted);white-space:nowrap}
.compact-table th,.compact-table td{padding-top:10px;padding-bottom:10px}.record-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:260px}.records-warning{font-size:12px;margin:10px 4px 0}
.btn-danger-soft{background:#fff4f2;color:#a33a2c;border:1px solid #efc3bd}.btn-danger{background:#a33a2c;color:#fff;border:1px solid #a33a2c}
@media(max-width:600px){.my-records-card summary{align-items:flex-start}.record-actions{min-width:220px}.compact-table{min-width:620px}}

/* V7.4 — clearly separate field-team users from privileged office access */
.people-section-label{display:flex;align-items:baseline;gap:10px;margin:22px 4px 9px;color:#637188}.people-section-label span{font-size:12px;font-weight:900;letter-spacing:.13em}.people-section-label small{font-size:12px}.office-access-label{margin-top:30px;color:#7a4d12}
.field-team-card{border-top:3px solid #3f65ec}.office-invite-card{border:1px solid #ead7b5;border-top:3px solid #b7791f;background:linear-gradient(145deg,#fffdf8,#fff8eb);margin-bottom:16px}.office-list-card{border-color:#eadfca}.office-security-banner{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border:1px solid #efd6a8;background:#fff8e8;border-radius:12px;margin-bottom:16px}.office-security-banner strong{color:#744a0b;font-size:14px}.office-security-banner span{color:#75644e;font-size:12px;line-height:1.45}.badge-office{background:#fff1cf;color:#7b4b00;border:1px solid #f0cf88}.btn-office{background:#7a4d12;color:#fff;border:1px solid #7a4d12}.btn-office:hover{filter:brightness(.96)}
@media(max-width:700px){.people-section-label{align-items:flex-start;flex-direction:column;gap:3px}.office-security-banner{padding:11px 12px}}

/* Weekli V7.5 scaffold certificate polish */
.scaffolder-choice{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;border:1px solid #dbe4f0;background:#fff}
.scaffolder-choice strong{display:block;font-size:18px;color:#0b1730}.scaffolder-choice small{display:block;color:#64748b;margin-top:3px}.choice-actions{display:flex;gap:10px;flex-wrap:wrap}.certificate-start-card{margin-bottom:16px}.certificate-start-card h2{margin:6px 0 8px;color:#0b1730;font-size:24px}.certificate-start-card p{color:#64748b;max-width:720px}.cert-modal{max-width:980px;width:min(980px,96vw);max-height:92vh;overflow:hidden;display:flex;flex-direction:column}.cert-modal .modal-body{overflow:auto;padding:18px}.cert-form .cert-step{border:1px solid #dbe4f0;background:#fff;border-radius:18px;padding:16px;margin-bottom:14px}.cert-step h3{margin:0 0 12px;color:#0b1730;font-size:17px}.segmented-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0 12px}.segmented-choice label{cursor:pointer}.segmented-choice input{display:none}.segmented-choice span{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:14px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;font-weight:800;text-align:center}.segmented-choice input:checked+span{background:#0b1730;color:#fff;border-color:#0b1730;box-shadow:0 8px 20px rgba(11,23,48,.16)}.variation-choice input:checked+span{background:#fff4be;color:#713f12;border-color:#f5c400}.form-label{display:block;color:#44546a;font-weight:800;margin:10px 0 6px}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.signature-box{border:1px solid #dbe4f0;border-radius:16px;padding:14px;background:#f8fafc}.signature-canvas{width:100%;height:90px;border-radius:12px;border:1px dashed #94a3b8;background:#fff;touch-action:none;display:block;margin:10px 0}.saved-signature{border:1px solid #dbe4f0;border-radius:12px;background:#fff;padding:10px;margin:10px 0}.saved-signature img{display:block;max-width:100%;height:54px;object-fit:contain}.saved-signature small{display:block;color:#64748b;margin-top:4px}.cert-submit-row{position:sticky;bottom:-18px;margin:8px -18px -18px;padding:14px 18px;background:linear-gradient(180deg,rgba(248,250,252,0),#f8fafc 25%);display:flex;justify-content:flex-end;gap:10px}.certificate-search{display:flex;align-items:center;justify-content:space-between;gap:12px}.certificate-search input{max-width:360px;border:1px solid #cbd5e1;border-radius:14px;padding:12px 14px;font:inherit}
@media (max-width:760px){
  .scaffolder-choice{display:block}.choice-actions{margin-top:12px}.choice-actions .btn{flex:1}.signature-grid{grid-template-columns:1fr}
  .cert-backdrop{padding:0;display:flex;align-items:stretch;justify-content:center;overflow:hidden}
  .cert-modal{width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;border-radius:0;display:flex;flex-direction:column}
  .cert-modal .modal-head{flex:0 0 auto;padding:calc(12px + env(safe-area-inset-top)) 14px 12px;align-items:flex-start}
  .cert-modal .modal-head>div{min-width:0}.cert-modal .modal-head strong{font-size:16px;line-height:1.2}.cert-modal .modal-head .muted{font-size:11px!important;line-height:1.3;margin-top:3px}
  .cert-modal .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 12px calc(96px + env(safe-area-inset-bottom));}
  .cert-form .cert-step{border-radius:14px;padding:12px;margin-bottom:10px}.cert-step h3{font-size:16px;margin-bottom:9px}
  .segmented-choice{grid-template-columns:1fr 1fr;gap:8px}.segmented-choice span{min-height:44px;padding:8px;font-size:14px}
  .cert-submit-row{position:fixed;left:0;right:0;bottom:0;z-index:6;margin:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dbe4f0;display:grid;grid-template-columns:minmax(90px,.38fr) minmax(0,1fr);gap:8px;box-shadow:0 -8px 24px rgba(11,23,48,.1)}
  .cert-submit-row .btn{width:100%;min-width:0;white-space:normal;line-height:1.15;min-height:46px;padding:9px 10px}
  .signature-box{padding:11px;border-radius:14px}.signature-canvas{height:110px}
  .certificate-search{display:block}.certificate-search input{margin-top:12px;max-width:none;width:100%}
}
.variation-details{transition:opacity .18s ease,background .18s ease}.variation-details.is-disabled{background:#f1f5f9!important;border-color:#d7dee8!important}.variation-details.is-disabled .day-grid{opacity:.55}.variation-details.is-disabled input{background:#e9eef4!important;color:#94a3b8!important;cursor:not-allowed}.variation-disabled-note{margin:-2px 0 12px;padding:10px 12px;border-radius:12px;background:#e2e8f0;color:#64748b;font-size:13px;font-weight:700}

/* Weekli V7.5.5 — certificate email delivery + final mobile polish */
.certificate-email-step{background:linear-gradient(145deg,#fff,#f8fbff)!important}.email-cert-toggle{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;border:1px solid #dbe4f0;border-radius:14px;background:#f8fafc;cursor:pointer}.email-cert-toggle input{width:20px;height:20px;margin-top:2px}.email-cert-toggle span{display:flex;flex-direction:column;gap:3px}.email-cert-toggle strong{color:#0b1730}.email-cert-toggle small{color:#64748b;line-height:1.35}.cert-actions{min-width:265px}.cert-actions .btn{margin:2px 2px 2px 0}.cert-email-status{display:block;color:#64748b;margin-top:4px}@media(max-width:760px){.cert-modal .modal-body{width:100%;box-sizing:border-box}.cert-form{width:100%;margin:0 auto}.certificate-email-step{margin-bottom:4px!important}.email-cert-toggle{padding:11px}.cert-submit-row{left:0!important;right:0!important;width:100%;box-sizing:border-box}}

/* Weekli V7.6: attendance statuses + office payroll controls */
.day-type-switch.four-way{max-width:680px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.day-type-btn.sick-active{background:#eef6ff;color:#1e4f83}
.day-type-btn.absence-active{background:#fff1f1;color:#8a2f2f}
.day-status-panel{padding:22px;border-radius:12px;display:flex;flex-direction:column;gap:5px}
.sick-panel{border:1px dashed #9cc7ed;background:#f5faff}
.absence-panel{border:1px dashed #e3aaa7;background:#fff7f6}
.day-status-panel strong{font-size:18px}.day-status-panel span{color:#69727d;font-size:14px}
.office-pay-controls{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fbfcff;display:grid;gap:12px}
.office-pay-controls .review-section-title{margin:0}.office-pay-controls .review-section-title>div{display:flex;flex-direction:column;gap:3px}.office-pay-controls .review-section-title small{color:var(--muted);font-weight:500}
.pay-adjust-table{min-width:650px}.pay-adjust-table td small{display:block;color:var(--muted);margin-top:3px}.office-pay-input{min-width:100px;max-width:120px}
.pay-adjust-grid{display:grid;grid-template-columns:180px minmax(220px,1fr) auto;gap:12px;align-items:end}
.payroll-table{min-width:1380px}.payroll-table td small{display:block;color:var(--muted);margin-top:3px;max-width:180px}
@media(max-width:700px){
  .day-type-switch.four-way{grid-template-columns:1fr 1fr;gap:6px}
  .day-type-switch.four-way .day-type-btn{padding:10px 7px;font-size:12px}
  .summary-totals{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pay-adjust-grid{grid-template-columns:1fr}
  .pay-adjust-grid .btn{width:100%}
}

/* V7.6.1 multiple-site and named approval polish */
.extra-sites-block{margin-top:14px;padding-top:14px;border-top:1px solid #e2e8f0}.extra-sites-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.extra-sites-head>div{display:flex;flex-direction:column;gap:2px}.extra-sites-head small{color:#718096;font-size:12px}.extra-sites-list{display:grid;gap:10px}.extra-site-row{border:1px solid #dbe3ee;border-radius:12px;padding:12px;background:#f8fafc}.extra-site-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.approval-name{display:block;margin-top:4px;color:#64748b;font-size:11px;font-weight:700}.payroll-table td:nth-child(2){min-width:100px}
@media(max-width:700px){.extra-sites-head{align-items:flex-start;flex-direction:column}.extra-sites-head .btn{width:100%}}

/* Weekli V7.6.2 — cleaner field-user experience + timed site visits */
.person-action-card{border:0;background:linear-gradient(135deg,#0b1730 0%,#142650 100%);color:#fff;box-shadow:0 12px 30px rgba(11,23,48,.14);padding:18px 20px}
.person-action-card strong{color:#fff;font-size:20px}.person-action-card small{color:#bac7dd}.person-action-card .btn-secondary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#fff}.person-action-card .btn-primary{background:#fff;color:#172554;border-color:#fff}
.person-eyebrow{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:900;color:#6f86b4;margin-bottom:4px}.person-action-card .person-eyebrow{color:#8ea8da}
.person-week-head{align-items:flex-end;margin-top:4px}.person-week-head h1{margin-top:2px}.person-week-head p{max-width:570px}
.day-card{overflow:hidden;border-color:#dfe6ef;box-shadow:0 4px 14px rgba(16,24,40,.045)}.day-head{padding:15px 17px;background:#fbfcfe;border-bottom:1px solid #e7edf4}.day-head h3{font-size:19px;margin:0}.day-body{padding:16px}.day-type-switch{margin-bottom:14px;background:#f2f5f9;padding:4px;border-radius:13px}.day-type-btn{border-radius:10px!important;border:0!important}
.clean-day-grid{gap:12px}.person-form-section{padding:2px 0 0;border-bottom:1px solid #e8edf4;margin-top:1px}.person-form-section strong{display:block;font-size:13px;color:#23314a}.person-form-section small{display:block;font-size:11px;color:#7b8799;margin-top:2px;padding-bottom:8px}.person-form-section.minor{margin-top:5px}.person-form-section.minor strong{padding-bottom:8px}
.extra-sites-block{margin-top:16px;padding:14px;border:1px solid #dce5f0;border-radius:15px;background:#f8fbff}.extra-sites-block .extra-sites-head{margin-bottom:12px}.extra-sites-head strong{color:#14233d}.extra-site-row{background:#fff;border-color:#dbe4ef;padding:13px}.extra-site-title>div{display:flex;flex-direction:column;gap:2px}.extra-site-title small{font-size:11px;color:#758197;font-weight:600}.extra-site-grid{gap:10px}.extra-site-grid input[readonly]{background:#f3f6fa;color:#34425a;font-weight:800}
.price-work-section{margin-top:14px;border-top:0;padding-top:0}.price-work-check{border:1px solid #e0e6ef;border-radius:14px;background:#fff;padding:12px}.price-work-items{margin-top:10px}
.my-records-card{border-color:#e0e6ef;box-shadow:none}
@media(max-width:700px){
  .container{padding-left:12px;padding-right:12px}.person-action-card{padding:16px;border-radius:18px}.person-action-card .choice-actions{display:grid;grid-template-columns:1fr 1fr}.person-action-card .choice-actions .btn{min-height:46px;padding:10px 8px;font-size:13px}
  .person-week-head{align-items:flex-start}.person-week-head h1{font-size:24px}.person-week-head .week-switcher{width:100%;justify-content:space-between;margin-top:8px}
  .day-card{border-radius:17px}.day-head{padding:13px 14px}.day-body{padding:12px}.clean-day-grid{gap:9px}.clean-day-grid .span-2,.extra-site-grid .span-2{grid-column:span 6}.clean-day-grid .span-3{grid-column:span 6}.clean-day-grid .span-4,.extra-site-grid .span-4{grid-column:span 12}.clean-day-grid .span-6,.clean-day-grid .span-8,.extra-site-grid .span-8{grid-column:span 12}
  .extra-sites-block{margin-left:-2px;margin-right:-2px;padding:11px;border-radius:14px}.extra-sites-head .btn{min-height:42px}.extra-site-row{padding:11px}.extra-site-grid .field label{font-size:11px}
  .day-type-switch.four-way{margin-bottom:12px}
}

/* Weekli V7.6.4 — definitive mobile field layout repair */
@media (max-width:700px){
  .day-body{padding:14px!important;overflow:visible!important}
  .day-type-switch.four-way{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;width:100%!important;margin:0 0 14px!important;padding:5px!important}
  .day-type-switch.four-way .day-type-btn{width:100%!important;min-width:0!important;min-height:48px!important;padding:10px 6px!important;white-space:normal!important;line-height:1.15!important}
  .clean-day-grid,.extra-site-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px 10px!important;width:100%!important}
  .clean-day-grid>.field,.extra-site-grid>.field{grid-column:span 1!important;min-width:0!important;width:auto!important;margin:0!important}
  .clean-day-grid>.span-4,.clean-day-grid>.span-6,.clean-day-grid>.span-8,.clean-day-grid>.span-12,
  .extra-site-grid>.span-4,.extra-site-grid>.span-8,.extra-site-grid>.span-12,
  .clean-day-grid>.person-form-section,.clean-day-grid>.hours-grid{grid-column:1/-1!important;width:100%!important;min-width:0!important}
  .clean-day-grid input,.clean-day-grid select,.extra-site-grid input,.extra-site-grid select{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .person-form-section{padding:0 0 9px!important;margin:2px 0 0!important;border-bottom:1px solid #e8edf4!important}
  .person-form-section strong{font-size:14px!important;line-height:1.2!important}
  .person-form-section small{display:none!important}
  .extra-sites-block{margin:16px 0 0!important;padding:12px!important;overflow:hidden!important}
  .extra-site-row{padding:12px!important;overflow:hidden!important}
  .day-status-panel{display:none!important}
  .timesheet-summary{bottom:8px!important;padding:9px 10px!important;gap:7px!important;border-radius:16px!important}
  .summary-totals{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .summary-totals>div{min-width:0!important;padding:0 3px!important}
  .summary-totals>div:nth-child(n+4){display:none!important}
  .summary-totals span{font-size:9px!important}
  .summary-totals strong{font-size:14px!important}
  .timesheet-summary .btn{min-height:44px!important;padding:9px 12px!important}
}


/* Weekli V7.6.5 — mobile field layout + unobstructed summary */
.my-record-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
@media (max-width:700px){
  /* Never cover the form on a phone. The summary now lives after the final day card. */
  .timesheet-summary{position:static!important;bottom:auto!important;margin:18px 0 4px!important;padding:12px!important;border-radius:16px!important;box-shadow:0 8px 24px rgba(11,18,32,.14)!important}
  .container{padding-bottom:28px!important}

  /* Keep the useful time pairs compact, but give text-heavy fields room to breathe. */
  .clean-day-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important}
  .clean-day-grid>.field:nth-of-type(1),.clean-day-grid>.field:nth-of-type(2),
  .clean-day-grid>.field:nth-of-type(3),.clean-day-grid>.field:nth-of-type(4){grid-column:span 1!important}
  .clean-day-grid>.field:nth-of-type(n+5){grid-column:1/-1!important}
  .clean-day-grid>.field{overflow:hidden!important}
  .clean-day-grid input,.clean-day-grid select{min-height:52px!important;border-radius:13px!important}

  /* Additional visits: times remain paired; site and description stack full-width. */
  .extra-site-grid>.field:nth-child(1),.extra-site-grid>.field:nth-child(2),
  .extra-site-grid>.field:nth-child(3),.extra-site-grid>.field:nth-child(4){grid-column:span 1!important}
  .extra-site-grid>.field:nth-child(n+5){grid-column:1/-1!important}

  .summary-actions{margin-top:2px!important}
  .my-record-actions{flex-wrap:nowrap}.my-record-actions .btn{white-space:nowrap}
}

/* Weekli V7.6.6 */
.my-records-mobile{display:none}
@media (max-width:700px){
  .clean-day-grid,.extra-site-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px 10px!important;width:100%!important;overflow:visible!important}
  .clean-day-grid>.field,.extra-site-grid>.field{min-width:0!important;width:100%!important;max-width:100%!important;margin:0!important;overflow:visible!important}
  .clean-day-grid>.mobile-half,.extra-site-grid>.mobile-half{grid-column:span 1!important}
  .clean-day-grid>.mobile-full,.extra-site-grid>.mobile-full,.clean-day-grid>.person-form-section,.clean-day-grid>.hours-grid{grid-column:1/-1!important}
  .clean-day-grid input,.clean-day-grid select,.extra-site-grid input,.extra-site-grid select{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .timesheet-summary{position:static!important;inset:auto!important;bottom:auto!important;transform:none!important;width:auto!important;margin:18px 0 0!important}
  .my-records-desktop{display:none!important}
  .my-records-mobile{display:grid!important;border-top:1px solid #e7edf4}
  .my-record-mobile-row{padding:13px 14px;border-bottom:1px solid #e7edf4;display:grid;gap:9px;background:#fff}
  .my-record-mobile-row:last-child{border-bottom:0}
  .my-record-mobile-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .my-record-mobile-top>strong{font-size:14px;color:#152238}
  .my-record-mobile-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#758197}
  .my-record-mobile-meta strong{color:#34425a}
  .my-record-mobile-row .my-record-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
}


/* Weekli V7.6.7 — compact time controls + no full-page site refresh */
@media (max-width:700px){
  .clean-day-grid>.mobile-half input,
  .clean-day-grid>.mobile-half select,
  .extra-site-grid>.mobile-half input,
  .extra-site-grid>.mobile-half select{
    min-height:46px!important;
    height:46px!important;
    padding:7px 12px!important;
    border-radius:12px!important;
    font-size:16px!important;
  }
  .clean-day-grid>.mobile-half label,
  .extra-site-grid>.mobile-half label{margin-bottom:6px!important}
  .clean-day-grid{gap:10px!important}
  .person-form-section{margin-bottom:2px!important}
}

/* V7.7 Manage staff */
.staff-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.staff-edit-modal{max-width:520px}.staff-edit-modal .modal-body{padding:20px}@media(max-width:700px){.staff-actions{min-width:180px}.staff-actions .btn{flex:1 1 auto}.staff-edit-modal{width:calc(100% - 24px)}}

/* Weekli V7.7.1 — compact Start / Finish controls on phones */
@media (max-width:700px){
  .clean-day-grid input.calc-time[type="time"],
  .extra-site-grid input[type="time"]{
    min-height:44px!important;
    height:44px!important;
    padding:4px 10px!important;
    border-radius:11px!important;
    font-size:16px!important;
    line-height:1.1!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  .clean-day-grid input.calc-time[type="time"]::-webkit-date-and-time-value,
  .extra-site-grid input[type="time"]::-webkit-date-and-time-value{
    min-height:0!important;
    text-align:center!important;
  }
}

/* V8.1 automatic bank holiday cards */
.bank-holiday-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin-bottom:18px;border:1px solid #f0d785;background:#fff9df;border-radius:18px}
.bank-holiday-card>div:first-child{display:flex;flex-direction:column;gap:3px}.bank-holiday-card span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#8a6a12;font-weight:800}.bank-holiday-card strong{font-size:17px;color:#17233a}.bank-holiday-actions{display:flex;gap:8px;flex-wrap:wrap}.bank-holiday-actions .day-type-btn{min-height:42px;padding:9px 14px;border-radius:12px;border:1px solid #d9dfeb;background:#fff;color:#536078;font-weight:800}.bank-holiday-actions .day-type-btn.active{background:#17233a;color:#fff;border-color:#17233a}
@media(max-width:700px){.bank-holiday-card{align-items:flex-start;flex-direction:column}.bank-holiday-actions{width:100%}.bank-holiday-actions .day-type-btn{flex:1;min-width:135px}}

/* Weekli V8.2.3 — employee PWA + push setup */
.pwa-card{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:0 0 16px;border:1px solid #dfe7f1;background:linear-gradient(135deg,#f8fbff 0%,#f6fffb 100%);border-radius:18px}
.pwa-card-icon{width:54px;height:54px;flex:0 0 54px;border-radius:15px;overflow:hidden;box-shadow:0 8px 20px rgba(11,23,48,.14)}
.pwa-card-icon img{display:block;width:100%;height:100%;object-fit:cover}
.pwa-card-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.pwa-card-copy strong{font-size:16px;color:#12213a}.pwa-card-copy small{font-size:12px;line-height:1.4;color:#66748a}
.pwa-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pwa-card-actions .btn{white-space:nowrap}
.pwa-install-modal{max-width:520px}.pwa-modal-logo{width:120px;height:auto;display:block;margin-bottom:16px}.pwa-install-steps{display:grid;gap:12px}.pwa-install-steps>div{display:flex;align-items:flex-start;gap:12px;padding:13px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.pwa-install-steps>div>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#0b1730;color:#fff;font-weight:800}.pwa-install-steps>div>div{display:flex;flex-direction:column;gap:3px}.pwa-install-steps strong{color:#152238}.pwa-install-steps small{color:#66748a;line-height:1.4}
@media(max-width:700px){.pwa-card{align-items:flex-start;display:grid;grid-template-columns:54px 1fr;padding:13px}.pwa-card-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%;justify-content:stretch}.pwa-card-actions .btn{width:100%;min-height:44px}.pwa-card-actions #testPushBtn{grid-column:1/-1}.pwa-install-modal{width:calc(100% - 24px)}}

/* V8.2.4 — office timesheet reminder settings */
.reminder-settings-form{margin-top:18px}
.reminder-days-field{margin-top:14px}
.reminder-day-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.reminder-day{cursor:pointer}
.reminder-day input{position:absolute;opacity:0;pointer-events:none}
.reminder-day span{display:flex;align-items:center;justify-content:center;min-width:48px;padding:9px 12px;border:1px solid #d8e0ea;border-radius:12px;background:#fff;color:#344054;font-size:13px;font-weight:700;transition:.15s ease}
.reminder-day input:checked+span{border-color:#0b1730;background:#0b1730;color:#fff;box-shadow:0 4px 12px rgba(11,23,48,.14)}
.reminder-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.reminder-note{margin-top:10px}
@media(max-width:640px){.reminder-day-grid{display:grid;grid-template-columns:repeat(4,1fr)}.reminder-day span{min-width:0;padding:9px 6px}.reminder-actions .btn{width:100%}}

/* v8.2.4.1: keep office SPA navigation visually consistent while async pages load. */
.office-route-loading{min-height:62vh;display:grid;place-items:center}
.office-route-loading-inner{display:flex;align-items:center;gap:10px;color:#64748b;font-weight:700}
.nav-tabs [data-tab]:disabled{opacity:1;cursor:default}


/* V8.2.4.4 — iPhone Pay & Hours viewport/sizing stability.
   Keep form controls and grid children from increasing the document's intrinsic
   width, which can make iOS Safari visually shrink the whole SPA when this tab opens. */
@media (max-width:700px){
  html,body,.app-shell{width:100%;max-width:100%;overflow-x:hidden}
  main.container{width:100%;max-width:100%;min-width:0}
  #payRulesForm,
  #reminderSettingsForm,
  .reminder-settings-form,
  .people-invite-form,
  .people-invite-form>.field,
  .form-stack,
  .card,
  .card-pad{min-width:0;max-width:100%}
  .field,
  .field input,
  .field select,
  .field textarea{min-width:0;max-width:100%}
  .field input,
  .field select,
  .field textarea{display:block}
  .nav-tabs{max-width:100vw}
}


/* V8.3.0 post-demo office workflow additions */
.site-contact-add{grid-template-columns:1fr 1.2fr .8fr 1fr 1.2fr auto!important}
.management-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.site-contact-line{color:#2563eb!important;margin-top:3px}
.office-price-table .office-price-input{width:100%;min-width:110px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 9px;font:inherit;background:#fff}
.office-price-table .office-price-other{margin-top:6px}.office-price-table .office-price-amount{min-width:90px;text-align:right}
.office-price-actions{display:flex;justify-content:flex-end;margin:10px 0 18px}.price-audit-note{display:block;margin-top:5px;color:#7c5b00;font-weight:700;white-space:normal}
.holiday-balance-card{margin-bottom:16px}.holiday-balance-card .review-section-title{margin:0}.holiday-balance-card td strong{font-size:15px}
.certificate-filter-controls{display:flex;gap:10px;align-items:center}.certificate-filter-controls select,.certificate-filter-controls input{border:1px solid #cbd5e1;border-radius:14px;padding:12px 14px;font:inherit;background:#fff}.certificate-filter-controls select{min-width:210px}.certificate-filter-controls input{min-width:260px}
@media(max-width:1000px){.site-contact-add{grid-template-columns:1fr 1fr!important}.site-contact-add button{grid-column:span 2}.certificate-filter-bar{align-items:flex-start}.certificate-filter-controls{width:100%}}
@media(max-width:700px){.site-contact-add{grid-template-columns:1fr!important}.site-contact-add button{grid-column:auto}.management-actions{justify-content:flex-start}.certificate-filter-controls{display:grid;grid-template-columns:1fr;width:100%}.certificate-filter-controls select,.certificate-filter-controls input{width:100%;min-width:0;max-width:none}.office-price-table{min-width:760px}}

/* V8.4.0 — saved-site first employee flow + site costing */
.manual-site-choice{display:flex;align-items:end}
.manual-site-check{display:flex;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line,#e5e7eb);border-radius:10px;background:#f8fafc;width:100%;min-height:44px;cursor:pointer}
.manual-site-check input{width:18px;height:18px;margin:0;flex:0 0 auto}
.manual-site-check span{font-size:13px;font-weight:600;color:#334155;line-height:1.25}
.manual-site-field{animation:weekliFieldIn .15s ease-out}
@keyframes weekliFieldIn{from{opacity:.4;transform:translateY(-2px)}to{opacity:1;transform:none}}
.costing-filters{display:grid;grid-template-columns:1.1fr 1.2fr 1fr;gap:14px;align-items:end;margin-bottom:16px}
.costing-period-choice{margin-top:0}
.costing-period-label strong{display:flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid var(--line,#e5e7eb);border-radius:10px;background:#f8fafc}
.costing-stats{margin-bottom:16px}
.costing-total{margin-top:16px}
.costing-total>div{display:flex;align-items:center;justify-content:space-between;gap:16px}
.costing-total>div span{font-weight:700;color:#475569}
.costing-total>div strong{font-size:28px;color:#0b1730}
.costing-total small{display:block;margin-top:8px;color:#64748b;line-height:1.45}
.costing-table td,.costing-table th{white-space:nowrap}
@media (max-width:800px){.costing-filters{grid-template-columns:1fr}.costing-table{min-width:850px}.manual-site-choice{align-items:stretch}}


/* V8.4.1 — costing range/all-time, compact holidays, employee manual-choice polish */
.manual-site-check input[type="checkbox"],
.manual-vehicle-choice .manual-site-check input[type="checkbox"]{
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  padding:0!important;
  margin:0!important;
  display:inline-block!important;
  flex:0 0 18px!important;
  border-radius:4px!important;
  -webkit-appearance:auto!important;
  appearance:auto!important;
}
.manual-vehicle-choice{display:flex;align-items:end}
.manual-vehicle-field{animation:weekliFieldIn .15s ease-out}
.costing-period-choice.four-options{grid-template-columns:repeat(4,minmax(105px,1fr))}
.costing-date-range{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding-top:2px}
.costing-date-range .btn{min-height:44px}
.holiday-office-stats{margin-bottom:16px}
.holiday-balance-details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;cursor:pointer}
.holiday-balance-details>summary::-webkit-details-marker{display:none}
.holiday-balance-details>summary>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.holiday-balance-details>summary strong{color:#152238;font-size:16px}
.holiday-balance-details>summary small{color:#64748b}
.holiday-balance-details>summary>span{font-size:13px;font-weight:800;color:#3457e5;white-space:nowrap}
.holiday-balance-details[open]>summary{border-bottom:1px solid #e7edf4}
.holiday-balance-mobile,.holiday-request-mobile{display:none}
.holiday-request-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px}
.holiday-request-toolbar>div:first-child{display:flex;flex-direction:column;gap:4px}
.holiday-request-toolbar>div:first-child small{color:#64748b}
.holiday-request-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(170px,1fr);gap:10px;min-width:min(460px,100%)}
.holiday-request-filters .field{margin:0}
.holiday-request-card{padding:14px 16px;border-top:1px solid #e7edf4;background:#fff;display:grid;gap:9px}
.holiday-request-card:first-child{border-top:0}
.holiday-request-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.holiday-request-card-head>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.holiday-request-card-head strong{color:#152238}
.holiday-request-card-head small{color:#64748b;line-height:1.35}
.holiday-status-pill{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569;white-space:nowrap}
.holiday-request-meta{display:grid;gap:4px;color:#64748b;font-size:12px}
.holiday-request-actions{display:flex;gap:8px;flex-wrap:wrap}
.holiday-balance-person{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #e7edf4}
.holiday-balance-person:first-child{border-top:0}
.holiday-balance-person strong{color:#152238;font-size:13px}
.holiday-balance-person span{color:#64748b;font-size:12px;text-align:right}
@media(max-width:800px){
  .costing-period-choice.four-options{grid-template-columns:1fr 1fr}
  .costing-date-range{grid-template-columns:1fr 1fr}
  .costing-date-range .btn{grid-column:1/-1;width:100%}
  .manual-vehicle-choice{align-items:stretch}
}
@media(max-width:700px){
  .holiday-office-stats{grid-template-columns:repeat(3,1fr)!important;gap:8px}
  .holiday-office-stats .stat{padding:12px}
  .holiday-office-stats .value{font-size:25px}
  .holiday-balance-desktop,.holiday-request-desktop{display:none!important}
  .holiday-balance-mobile,.holiday-request-mobile{display:block}
  .holiday-request-toolbar{display:grid;gap:12px;align-items:stretch}
  .holiday-request-filters{grid-template-columns:1fr 1fr;min-width:0;width:100%}
  .holiday-balance-details>summary{padding:14px}
  .holiday-balance-details>summary>span{white-space:normal;text-align:right}
  .holiday-balance-person{align-items:flex-start}
  .holiday-request-register{overflow:hidden}
}
@media(max-width:430px){
  .holiday-request-filters{grid-template-columns:1fr}
  .costing-date-range{grid-template-columns:1fr}
  .costing-date-range .btn{grid-column:auto}
}

/* Weekli V8.5.0 — Inventory, Forms hub, Load Lists and material costing */
.form-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}
.form-type-card{border:1px solid var(--line,#d9e1ec);padding:18px;text-align:left;display:flex;flex-direction:column;gap:7px;cursor:pointer;background:#fff}
button.form-type-card:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(11,23,48,.08)}
.form-type-card strong{font-size:16px;color:#0b1730}.form-type-card small{color:#718096;line-height:1.45}.form-type-card.is-coming{opacity:.72;cursor:default}
.form-type-icon{width:38px;height:38px;border-radius:12px;background:#eef3ff;color:#3457e5;display:grid;place-items:center;font-weight:800;font-size:18px}
.forms-hub-head{margin-bottom:14px}.forms-history-card details{border-top:1px solid #e5eaf1}.forms-history-card summary{cursor:pointer;padding:14px 18px;font-weight:700;color:#0b1730}.forms-history-card details:first-of-type{border-top:0}
.compact-check{min-height:44px!important;padding:8px 12px!important;align-items:center!important}.compact-check input[type="checkbox"]{width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;min-height:22px!important;max-height:22px!important;flex:0 0 22px!important}
.inventory-add-grid{display:grid;grid-template-columns:2fr 1.4fr .8fr 1fr 1fr auto auto;gap:10px;align-items:end}.inventory-add-grid .field{min-width:0}.inventory-reusable{margin-bottom:1px}.inventory-row small{line-height:1.45}
.vehicle-add-grid{display:grid!important;grid-template-columns:1fr 1.7fr 1fr auto!important;gap:10px!important}.management-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.load-list-modal{width:min(940px,calc(100vw - 24px));max-height:94vh}.load-list-items-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.load-list-item-row{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:10px;align-items:end;padding:12px;border:1px solid #e2e8f0;border-radius:14px;margin-top:10px;background:#fbfcfe}.load-list-item-row .load-line-info{grid-column:1/-1;color:#64748b;min-height:18px}.load-qty-field{min-width:0}.load-remove-item{margin-bottom:1px}
.load-estimate-card{background:#f7f9fd}.load-estimate-number{display:flex;align-items:baseline;gap:10px;margin:8px 0 12px}.load-estimate-number strong{font-size:34px;color:#0b1730}.load-estimate-number span{color:#64748b}.load-vehicle-advice{padding:12px 14px;border-radius:12px;font-weight:650;margin:8px 0}.load-vehicle-advice.neutral{background:#eef2f7;color:#475569}.load-vehicle-advice.ok{background:#ecfdf3;color:#166534}.load-vehicle-advice.warn{background:#fff4e5;color:#9a3412}.load-recommendation{padding:10px 12px;border-left:3px solid #3457e5;background:#eef3ff;color:#1e3a8a;border-radius:8px;margin:8px 0 14px}.load-advice-ok{color:#166534}.load-advice-warn{color:#9a3412}.load-advice-neutral{color:#64748b}
.load-list-office-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.load-list-office-summary>div{background:#f5f7fb;padding:12px;border-radius:12px}.load-list-office-summary span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#718096;font-weight:700}.load-list-office-summary strong{display:block;margin-top:3px;color:#0b1730}.readonly-box{border:1px solid #dbe3ee;border-radius:12px;padding:12px;background:#f7f9fc;color:#334155}
.forms-office-loads{margin-bottom:16px}.forms-office-loads td small{display:block;margin-top:4px;max-width:300px}
.costing-stats-five{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}.material-add-card{margin-top:16px}.material-add-grid{display:grid;grid-template-columns:2fr .8fr 1fr 1.6fr auto;gap:10px;align-items:end;margin-top:12px}.material-add-grid .field{min-width:0}

@media(max-width:980px){.inventory-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-add-grid button,.inventory-reusable{grid-column:auto}.costing-stats-five{grid-template-columns:repeat(3,minmax(0,1fr))}.material-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-add-grid button{grid-column:1/-1}.vehicle-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vehicle-add-grid button{grid-column:1/-1}.form-type-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.form-type-grid{grid-template-columns:1fr}.form-type-card{min-height:auto}.inventory-add-grid,.vehicle-add-grid,.material-add-grid{grid-template-columns:1fr!important}.inventory-reusable,.inventory-add-grid button,.vehicle-add-grid button,.material-add-grid button{grid-column:1!important}.load-list-item-row{grid-template-columns:minmax(0,1fr) 82px}.load-remove-item{grid-column:1/-1;width:100%}.load-list-office-summary{grid-template-columns:1fr}.costing-stats-five{grid-template-columns:repeat(2,minmax(0,1fr))}.forms-history-card .table-wrap{overflow-x:auto}.load-estimate-number strong{font-size:30px}}


/* V8.5.0.2 — compact, category-filtered employee load-list rows */
.load-list-column-head{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) 78px 34px;
  gap:7px;
  padding:0 8px;
  margin-top:8px;
  color:#64748b;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.load-list-item-row{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) 78px 34px;
  gap:7px;
  align-items:center;
  padding:7px 8px;
  margin-top:7px;
  border:1px solid #e2e8f0;
  border-radius:11px;
  background:#fbfcfe;
}
.load-list-item-row select,
.load-list-item-row input{
  width:100%;
  min-width:0;
  height:42px;
  padding:7px 9px;
  font-size:14px;
  border-radius:9px;
}
.load-list-item-row .load-qty-input{
  text-align:center;
  font-weight:700;
  padding-left:5px;
  padding-right:5px;
}
.load-list-item-row .load-remove-item{
  width:34px;
  height:34px;
  border:0;
  border-radius:9px;
  background:#fff1ee;
  color:#b64232;
  font-size:24px;
  line-height:30px;
  font-weight:500;
  cursor:pointer;
}
.load-list-item-row .load-remove-item:active{transform:scale(.96)}
@media(max-width:700px){
  .load-list-column-head{
    grid-template-columns:92px minmax(0,1fr) 58px 30px;
    gap:5px;
    padding:0 3px;
    font-size:9px;
  }
  .load-list-item-row{
    grid-template-columns:92px minmax(0,1fr) 58px 30px;
    gap:5px;
    padding:6px;
    margin-top:6px;
  }
  .load-list-item-row select,
  .load-list-item-row input{
    height:38px;
    padding:5px 6px;
    font-size:12px;
    border-radius:8px;
  }
  .load-list-item-row .load-remove-item{
    width:30px;
    height:30px;
    font-size:21px;
    line-height:27px;
  }
}


/* V8.5.0.3 — compact office certificate register + load-list row polish */
.certificate-register-mobile{display:none}
@media(max-width:700px){
  /* Keep Category, Item, Qty and remove X on one compact line. */
  .load-list-column-head{
    grid-template-columns:minmax(105px,.85fr) minmax(135px,1.3fr) 52px 32px!important;
    gap:5px!important;
    padding:0 2px!important;
  }
  .load-list-item-row{
    grid-template-columns:minmax(105px,.85fr) minmax(135px,1.3fr) 52px 32px!important;
    gap:5px!important;
    padding:6px 5px!important;
  }
  .load-list-item-row select{
    height:42px!important;
    font-size:13px!important;
    padding:6px 7px!important;
  }
  .load-list-item-row .load-qty-input{
    height:42px!important;
    font-size:14px!important;
    padding:5px 3px!important;
  }
  .load-list-item-row .load-remove-item{
    grid-column:auto!important;
    grid-row:auto!important;
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    height:32px!important;
    margin:0!important;
    padding:0!important;
    justify-self:center;
    align-self:center;
  }

  /* The full six-column register remains on desktop. Phones get compact
     expandable certificate cards instead of a very wide/tall table. */
  .certificate-register-desktop{display:none!important}
  .certificate-register-mobile{display:block}
  .certificate-filter-bar{padding:14px!important;gap:10px!important}
  .certificate-filter-controls{gap:8px!important}
  .certificate-filter-controls select,
  .certificate-filter-controls input{min-height:42px!important}
  .cert-mobile-card{
    border-top:1px solid #e4eaf2;
    background:#fff;
  }
  .cert-mobile-card:first-child{border-top:0}
  .cert-mobile-card>summary{
    list-style:none;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(90px,38%);
    gap:10px;
    align-items:center;
    padding:12px 14px;
    cursor:pointer;
  }
  .cert-mobile-card>summary::-webkit-details-marker{display:none}
  .cert-mobile-card>summary::after{
    content:'›';
    grid-column:2;
    grid-row:1;
    justify-self:end;
    color:#94a3b8;
    font-size:22px;
    line-height:1;
    transform:rotate(90deg);
  }
  .cert-mobile-card[open]>summary::after{transform:rotate(-90deg)}
  .cert-mobile-title{min-width:0}
  .cert-mobile-title strong{
    display:block;
    color:#0b1730;
    font-size:14px;
    line-height:1.2;
  }
  .cert-mobile-title small{
    display:block;
    margin-top:3px;
    color:#718096;
    font-size:11px;
  }
  .cert-mobile-site{
    grid-column:2;
    grid-row:1;
    padding-right:20px;
    color:#334155;
    font-size:12px;
    font-weight:700;
    text-align:right;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .cert-mobile-body{
    padding:0 14px 12px;
    border-top:1px solid #edf1f6;
  }
  .cert-mobile-meta{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:10px 0;
  }
  .cert-mobile-meta span{
    min-width:0;
    padding:8px 9px;
    border-radius:9px;
    background:#f7f9fc;
  }
  .cert-mobile-meta small{
    display:block;
    color:#718096;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  .cert-mobile-meta strong{
    display:block;
    margin-top:2px;
    color:#0b1730;
    font-size:12px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .cert-mobile-meta em{
    display:block;
    margin-top:2px;
    color:#64748b;
    font-size:10px;
    font-style:normal;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .cert-mobile-actions{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
  }
  .cert-mobile-actions .btn{padding:7px 10px!important;font-size:11px!important}
  .cert-mobile-body>.cert-email-status{display:block;margin-top:7px}
}


/* V8.5.1 — material costing workflow */
.material-add-grid-v2{grid-template-columns:1.25fr 1fr 1.5fr .7fr 1fr 1.35fr auto}
.load-costing-import{margin-top:4px;background:#f8fafc}
.load-costing-import-grid{display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px;align-items:end;margin-top:10px}
.load-costing-import-grid .field{min-width:0}
@media(max-width:980px){.material-add-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}.material-add-grid-v2 button{grid-column:1/-1}.load-costing-import-grid{grid-template-columns:1fr 1fr}.load-costing-import-grid button{grid-column:1/-1}}
@media(max-width:700px){.material-add-grid-v2,.load-costing-import-grid{grid-template-columns:1fr!important}.material-add-grid-v2 button,.load-costing-import-grid button{grid-column:1!important}}


/* V8.5.3 — employee edit action for submitted Load Lists */
.load-list-edit-btn{display:block;margin-top:6px;white-space:nowrap}
@media(max-width:700px){
  .forms-history-card .load-list-edit-btn{padding:6px 10px!important;font-size:11px!important}
}

/* V8.6.0 — modular Forms, Anchor Tensile Test and evidence */
.form-module-settings{margin-bottom:16px}
.form-module-settings>summary{list-style:none;cursor:pointer;padding:16px 18px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.form-module-settings>summary::-webkit-details-marker{display:none}
.form-module-settings>summary div{display:flex;flex-direction:column;gap:3px}
.form-module-settings>summary small{color:#718096;font-weight:500}
.form-module-list{display:grid;gap:8px}
.form-module-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fafcff}
.form-module-row>div{min-width:0;display:flex;flex-direction:column;gap:3px}.form-module-row small{color:#718096;font-size:11px}
.form-module-toggle{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px;font-weight:700}.form-module-toggle input{width:18px;height:18px}
.soft-rule{border:0;border-top:1px solid #e5eaf1;margin:18px 0}
.form-request-head p{margin:4px 0 10px}.form-request-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.form-request-notes{grid-column:1/-1}.form-request-grid button{align-self:end}
.form-request-history{margin-top:16px;display:grid;gap:7px}.form-request-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;background:#f7f9fc}.form-request-row>div{display:flex;flex-direction:column}.form-request-row small{color:#718096;font-size:11px}
.anchor-form-modal{width:min(960px,94vw);max-height:92vh}
.anchor-saved-signature{margin-top:12px;max-width:320px}
.anchor-test-row{border:1px solid #dfe6ef;border-radius:14px;background:#fafcff;padding:12px;margin-top:10px}.anchor-test-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.anchor-test-grid{display:grid;grid-template-columns:1.5fr .55fr .55fr 1fr 1.25fr 1.15fr 1fr 1fr .8fr 1fr;gap:8px}.anchor-test-grid .field{min-width:0}.anchor-test-grid label{font-size:10px}.anchor-test-grid input,.anchor-test-grid select{min-width:0}
.anchor-photo-queue{display:grid;gap:7px;margin-top:10px}.anchor-photo-choice{display:grid;grid-template-columns:minmax(0,1fr) 22px auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid #e1e7ef;border-radius:10px;background:#fafcff}.anchor-photo-choice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anchor-photo-choice input{width:18px;height:18px}.anchor-photo-choice small{color:#64748b}
.evidence-modal{width:min(920px,94vw)}.evidence-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.evidence-tile{margin:0;border:1px solid #e2e8f0;border-radius:13px;overflow:hidden;background:#f8fafc}.evidence-tile img{display:block;width:100%;height:280px;object-fit:contain;background:#0f172a}.evidence-loading{height:220px;display:grid;place-items:center;color:#718096}.evidence-tile figcaption{padding:9px 10px;font-size:12px;font-weight:700}.evidence-tile figcaption small{display:block;color:#718096;font-weight:500;margin-top:3px}
.anchor-office-register{margin-top:16px}.anchor-office-list{display:grid}.anchor-office-card{border-top:1px solid #e5eaf1}.anchor-office-card:first-child{border-top:0}.anchor-office-card>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr minmax(140px,35%);gap:12px;padding:13px 16px;align-items:center}.anchor-office-card>summary::-webkit-details-marker{display:none}.anchor-office-card>summary div{display:flex;flex-direction:column;gap:3px}.anchor-office-card>summary small{color:#718096;font-size:11px}.anchor-office-card>summary>span{text-align:right;font-size:12px;font-weight:700;color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anchor-office-card-body{border-top:1px solid #edf1f6;padding:12px 16px}.anchor-office-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.anchor-office-meta span{padding:8px 9px;background:#f7f9fc;border-radius:9px}.anchor-office-meta small{display:block;color:#718096;font-size:10px;text-transform:uppercase;font-weight:800}.anchor-office-meta strong{display:block;margin-top:3px;font-size:12px}
.forms-empty{margin-bottom:12px}
@media(max-width:900px){.anchor-test-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-request-grid{grid-template-columns:1fr}}
@media(max-width:700px){
  .form-module-row{align-items:flex-start;flex-direction:column}.form-module-toggle{white-space:normal}
  .anchor-test-grid{grid-template-columns:1fr 1fr}.anchor-test-row{padding:10px}
  .evidence-gallery{grid-template-columns:1fr}.evidence-tile img{height:240px}
  .anchor-office-card>summary{grid-template-columns:1fr}.anchor-office-card>summary>span{text-align:left}.anchor-office-meta{grid-template-columns:1fr}
}


/* V8.6.1 — inventory libraries, site-first forms and vehicle dates */
.inventory-add-grid-simple{
  grid-template-columns:1.15fr 1.3fr 1.1fr .9fr .9fr auto;
}
.inventory-library-create{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}
.inventory-library-create>div{display:flex;flex-direction:column;gap:4px}
.inventory-library-create small{color:#718096}
.inventory-libraries{display:grid;gap:10px;margin-top:14px}
.inventory-library-card>summary,
.forms-site-card>summary,
.forms-type-group>summary,
.forms-load-section>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  cursor:pointer;
}
.inventory-library-card>summary::-webkit-details-marker,
.forms-site-card>summary::-webkit-details-marker,
.forms-type-group>summary::-webkit-details-marker,
.forms-load-section>summary::-webkit-details-marker{display:none}
.inventory-library-card>summary{padding:15px 18px}
.inventory-library-card>summary>div,
.forms-site-card>summary>div,
.forms-load-section>summary>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.inventory-library-card>summary small,
.forms-site-card>summary small,
.forms-load-section>summary small{color:#718096;font-size:12px}
.inventory-library-body{border-top:1px solid #e6ebf2}
.inventory-library-actions{padding:10px 14px;display:flex;justify-content:flex-end;border-top:1px solid #edf1f6}

.vehicle-add-grid-dates{
  display:grid;
  grid-template-columns:1fr 1.5fr 1fr 1fr 1fr auto;
  gap:10px;
  align-items:end;
}
.due-overdue{color:#b42318!important;font-weight:800}

.forms-by-site{display:grid;gap:10px;margin:16px 0}
.forms-site-toolbar{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  padding:4px 2px;
}
.forms-site-toolbar>div{display:flex;flex-direction:column;gap:4px}
.forms-site-toolbar small{color:#718096}
.forms-site-toolbar input{max-width:360px;min-height:42px}
.forms-site-card>summary{padding:16px 18px}
.forms-site-card>summary>span,
.forms-type-group>summary>span{white-space:nowrap;color:#667085;font-size:12px;font-weight:800}
.forms-site-body{padding:0 12px 12px;border-top:1px solid #edf1f6}
.forms-type-group{border-bottom:1px solid #edf1f6}
.forms-type-group:last-child{border-bottom:0}
.forms-type-group>summary{padding:12px 4px}
.forms-type-list{padding:0 2px 10px}
.site-form-record{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 11px;
  margin:6px 0;
  border:1px solid #e7ecf2;
  border-radius:10px;
  background:#fafbfd;
}
.site-form-record>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.site-form-record small{color:#718096;font-size:11px}
.site-form-record-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.small-empty{padding:12px!important;min-height:0!important}
.forms-load-section{margin-bottom:12px}
.forms-load-section>summary{padding:15px 18px}
.forms-load-pending{border-color:#bed0ff}
.forms-load-pending>summary{background:#f7f9ff}

@media(max-width:900px){
  .inventory-add-grid-simple,
  .vehicle-add-grid-dates{grid-template-columns:1fr 1fr}
  .inventory-add-grid-simple .btn,
  .vehicle-add-grid-dates .btn{min-height:44px}
}
@media(max-width:700px){
  .inventory-library-create,
  .forms-site-toolbar{align-items:stretch;flex-direction:column}
  .inventory-library-create form,
  .forms-site-toolbar input{width:100%;max-width:none}
  .inventory-add-grid-simple,
  .vehicle-add-grid-dates{grid-template-columns:1fr}
  .site-form-record{align-items:flex-start;flex-direction:column}
  .site-form-record-actions{width:100%;justify-content:flex-start}
  .forms-load-section .table-wrap{overflow-x:auto}
}


/* V8.6.1.1 — informative Site hub */
.site-summary-stats{margin-bottom:16px}
.site-future-value{font-size:26px!important}
.site-create-card{margin-bottom:16px}
.section-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.section-heading>div{display:flex;flex-direction:column;gap:3px}
.section-heading small{color:#718096}
.site-create-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr 1.5fr 1fr 1.2fr auto;
  gap:10px;
  align-items:end;
}
.site-list-toolbar{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  margin:18px 2px 10px;
}
.site-list-toolbar>div{display:flex;flex-direction:column;gap:3px}
.site-list-toolbar small{color:#718096}
.site-list-toolbar input{max-width:330px;min-height:42px}
.site-hub-list{display:grid;gap:11px}
.site-hub-card{padding:16px}
.site-hub-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}
.site-hub-title{min-width:0}
.site-title-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.site-title-line>strong{font-size:18px;color:#0b1730}
.site-hub-title>small{display:block;margin-top:4px;color:#64748b;font-weight:700}
.site-hub-details{
  display:grid;
  grid-template-columns:1.5fr 1fr 1.2fr;
  gap:8px;
  margin-top:13px;
}
.site-hub-details>div,
.site-hub-links>div{
  padding:10px 11px;
  border:1px solid #e6ebf2;
  border-radius:10px;
  background:#fafbfd;
  min-width:0;
}
.site-hub-details span,
.site-hub-links span{
  display:block;
  color:#718096;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.site-hub-details strong{
  display:block;
  margin-top:3px;
  font-size:12px;
  color:#18243a;
  overflow:hidden;
  text-overflow:ellipsis;
}
.site-hub-links{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
}
.site-hub-links strong{display:block;margin-top:2px;font-size:20px;color:#0b1730}
.site-hub-links small{display:block;margin-top:2px;color:#718096;font-size:10px;line-height:1.25}
.site-rams-future{background:#f7f9ff!important;border-color:#dce5ff!important}
.site-rams-future strong{color:#5570d8}

@media(max-width:1050px){
  .site-create-grid{grid-template-columns:1fr 1fr 1fr}
  .site-create-grid .btn{min-height:44px}
  .site-hub-links{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .site-create-grid{grid-template-columns:1fr}
  .site-list-toolbar{align-items:stretch;flex-direction:column}
  .site-list-toolbar input{max-width:none;width:100%}
  .site-hub-head{flex-direction:column}
  .site-hub-head .management-actions{width:100%}
  .site-hub-details{grid-template-columns:1fr}
  .site-hub-links{grid-template-columns:1fr 1fr}
  .site-rams-future{grid-column:1/-1}
}


/* V8.6.1.2 — Site Main Contractor + employee signature manager */
.site-hub-details-4{grid-template-columns:1.5fr 1fr 1fr 1.2fr}
.employee-signature-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.employee-signature-card>div:first-child{display:flex;flex-direction:column;gap:4px}
.employee-signature-card small{color:#718096}
.employee-signature-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}
.employee-signature-actions img,
.signature-current img{
  display:block;
  max-width:130px;
  max-height:46px;
  object-fit:contain;
  background:transparent!important;
}
.signature-canvas-transparent{background:transparent!important}
@media(max-width:900px){
  .site-hub-details-4{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .site-hub-details-4{grid-template-columns:1fr}
  .employee-signature-card{align-items:flex-start;flex-direction:column}
  .employee-signature-actions{width:100%;justify-content:space-between}
}


/* V8.6.1.3 — scaffold variation/evidence polish */
.segmented-choice label.choice-disabled{
  opacity:.45;
  cursor:not-allowed;
  pointer-events:none;
}


/* V8.7.0 — Site RAMS workflow */
.employee-rams-panel{display:grid;gap:14px}
.employee-rams-selector{max-width:720px}
.employee-rams-card{display:grid;gap:14px}
.employee-rams-head,.rams-current-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px
}
.employee-rams-head h2,.rams-current-head h3{margin:3px 0 2px}
.employee-rams-head p,.rams-current-head small{margin:0;color:#718096}
.rams-document-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rams-document-card{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:1px solid #dfe6ef;border-radius:12px;padding:12px;background:#fafbfd
}
.rams-document-card.is-viewed{background:#f3fbf6;border-color:#bee3ca}
.rams-document-card>div{display:flex;flex-direction:column;gap:3px}
.rams-document-card span{font-size:11px;font-weight:800;text-transform:uppercase;color:#718096}
.rams-document-card small{color:#718096;font-size:11px}
.rams-acknowledge-box{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px;border-radius:12px;background:#f6f8fc;border:1px solid #e0e7f0
}
.rams-acknowledge-box>div{display:flex;flex-direction:column;gap:4px}
.rams-acknowledge-box small,.rams-audit-note{color:#718096}
.site-rams-future.has-rams{background:#f3fbf6!important;border-color:#bee3ca!important}
.site-rams-future button{margin-top:7px}
.rams-office-modal{max-width:960px}
.rams-status-stats{margin:12px 0}
.rams-upload-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end
}
.rams-upload-grid .btn{grid-column:1/-1;justify-self:start}
.rams-history-card>summary{
  list-style:none;display:flex;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer
}
.rams-history-card>summary::-webkit-details-marker{display:none}
.rams-history-card>summary>div{display:flex;flex-direction:column;gap:3px}
.rams-history-card>summary small{color:#718096}
.rams-history-list{border-top:1px solid #e6ebf2}
.rams-version-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:11px 14px;border-bottom:1px solid #edf1f6
}
.rams-version-row:last-child{border-bottom:0}
.rams-version-row>div:first-child{display:flex;flex-direction:column;gap:3px}
.rams-version-row small{color:#718096}
@media(max-width:700px){
  .rams-document-grid{grid-template-columns:1fr}
  .rams-document-card,.rams-acknowledge-box,.employee-rams-head,.rams-current-head,.rams-version-row{align-items:flex-start;flex-direction:column}
  .rams-upload-grid{grid-template-columns:1fr}
  .rams-upload-grid .btn{grid-column:auto;width:100%}
  .rams-office-modal .table-wrap{overflow-x:auto}
}


/* V8.7.1 — RAMS acknowledgement export */
.rams-current-head .management-actions{max-width:55%;justify-content:flex-end}
@media(max-width:700px){
  .rams-current-head .management-actions{max-width:none;width:100%;justify-content:flex-start}
  [data-rams-ack-pdf]{white-space:normal}
}


/* V8.7.2.1 — office UI alignment polish */

/* Standalone toolbar/search inputs should match normal Weekli fields. */
.forms-site-toolbar input,
.site-list-toolbar input,
.inventory-library-create input{
  border:1px solid #ced8e3;
  border-radius:12px;
  background:#fff;
  padding:11px 13px;
  color:var(--ink);
  outline:none;
  min-height:42px;
}
.forms-site-toolbar input:focus,
.site-list-toolbar input:focus,
.inventory-library-create input:focus{
  border-color:#4ba89f;
  box-shadow:0 0 0 3px rgba(15,118,110,.10);
}

/* Make placeholder/example text consistently visible on office forms. */
.site-create-grid input::placeholder,
.forms-site-toolbar input::placeholder,
.site-list-toolbar input::placeholder,
.inventory-library-create input::placeholder{
  color:#8a97a8;
  opacity:1;
}

/* Vehicle details: description/payload and MOT/service must read as separate lines. */
.vehicle-management-row>div:first-child{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.vehicle-management-row small{
  display:block;
  line-height:1.45;
  margin:0;
}

/* The help text under "If worked" must not push that input upward. */
.bank-holiday-rules-grid{
  align-items:start;
}

/* Keep every Site Costing navigation/action button visually identical. */
.costing-page-actions{
  flex-wrap:wrap;
  justify-content:flex-end;
}
.costing-page-actions .btn{
  width:140px;
  min-width:140px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
  line-height:1.15;
}

/* Extra separation below the fixed/sticky nav avoids visual clipping. */
.nav-tabs{
  box-shadow:0 1px 0 rgba(17,31,48,.03);
}

@media(max-width:900px){
  .costing-page-actions{
    width:100%;
    justify-content:flex-start;
  }
  .costing-page-actions .btn{
    width:auto;
    min-width:118px;
    flex:1 1 118px;
  }
}


/* V8.8.0 — scaffold Point of Work Risk Assessment */
.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.powra-modal{max-width:940px}
.powra-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.powra-section-head h3{margin-bottom:4px}
.powra-section-head p{margin:0}
.powra-legend{display:flex;gap:7px;color:#718096;font-size:11px;font-weight:800}
.powra-check-list{display:grid;gap:7px;margin-top:12px}
.powra-check-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 230px;
  gap:12px;
  align-items:center;
  padding:10px 11px;
  border:1px solid #e1e7ef;
  border-radius:11px;
  background:#fafbfd;
}
.powra-check-label{font-size:13px;font-weight:700;line-height:1.35;color:#17233a}
.powra-check-options{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.powra-check-options label{position:relative;cursor:pointer}
.powra-check-options input{position:absolute;opacity:0;pointer-events:none}
.powra-check-options span{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:36px;
  border:1px solid #d7e0ea;
  border-radius:9px;
  background:#fff;
  font-size:11px;
  font-weight:850;
}
.powra-check-options input:checked+span{
  border-color:#315efb;
  box-shadow:0 0 0 2px rgba(49,94,251,.10);
  background:#f3f6ff;
}
.powra-check-options input[value="issue"]:checked+span{
  border-color:#d24b43;
  color:#a8241e;
  background:#fff4f3;
}
.has-powra-issues #powraHazards,
.has-powra-issues #powraControls{border-color:#d98a83}
.powra-outcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.powra-outcome-option{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:13px;
  border:1px solid #dce4ed;
  border-radius:12px;
  background:#f8fbf9;
  cursor:pointer;
}
.powra-outcome-option input{margin-top:3px}
.powra-outcome-option span{display:flex;flex-direction:column;gap:3px}
.powra-outcome-option small{color:#718096;line-height:1.35}
.powra-stop-option{background:#fff8f7}
.powra-signature-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:11px 12px;
  border:1px solid #e1e7ef;
  border-radius:11px;
  background:#fafbfd;
}
.powra-signature-summary>div{display:flex;flex-direction:column;gap:3px}
.powra-signature-summary small{color:#718096}
.powra-signature-summary img{
  max-width:155px;
  max-height:52px;
  object-fit:contain;
  background:transparent;
}
@media(max-width:1100px){
  .grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .grid-5{grid-template-columns:1fr 1fr}
  .powra-section-head{align-items:flex-start;flex-direction:column}
  .powra-check-row{grid-template-columns:1fr}
  .powra-check-options{grid-template-columns:repeat(3,1fr)}
  .powra-outcome-grid{grid-template-columns:1fr}
  .powra-signature-summary{align-items:flex-start;flex-direction:column}
}


/* V8.8.0.1 — mobile-proof Forms + explicit camera/photo-library choice */
.photo-picker{display:grid;gap:9px}
.photo-picker>p{margin:0}
.photo-picker-actions{display:flex;gap:9px;flex-wrap:wrap}
.photo-picker-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
}
.photo-picker-help{display:block}
.photo-picker-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center!important;
  gap:10px!important;
}
.photo-picker-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.photo-picker-name strong{
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.photo-picker-name small{color:#718096}
.photo-picker-include{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  font-weight:750;
  white-space:nowrap;
}
.photo-picker-include input{width:18px;height:18px}

/* Any long form modal must never create horizontal page movement. */
.cert-backdrop{
  overflow:hidden;
}
.cert-modal,
.anchor-form-modal,
.powra-modal{
  max-width:100%;
  min-width:0;
}
.cert-modal .modal-head,
.cert-modal .modal-body,
.cert-modal form,
.cert-modal .cert-step,
.anchor-form-modal .modal-head,
.anchor-form-modal .modal-body,
.powra-modal .modal-head,
.powra-modal .modal-body{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.cert-modal .modal-body,
.anchor-form-modal .modal-body,
.powra-modal .modal-body{
  overflow-x:hidden!important;
}
.cert-modal input,
.cert-modal select,
.cert-modal textarea,
.anchor-form-modal input,
.anchor-form-modal select,
.anchor-form-modal textarea,
.powra-modal input,
.powra-modal select,
.powra-modal textarea{
  min-width:0;
  max-width:100%;
}
.anchor-test-grid,
.powra-check-list,
.powra-check-row,
.powra-check-label{
  min-width:0;
  max-width:100%;
}
.powra-check-label{
  overflow-wrap:anywhere;
  word-break:normal;
}

@media(max-width:760px){
  /* POWRA and Anchor now use the same proven full-screen shell as Handover. */
  .cert-backdrop{
    padding:0!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
  }
  .cert-modal,
  .anchor-form-modal,
  .powra-modal{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
    overflow:hidden!important;
  }
  .cert-modal .modal-body,
  .anchor-form-modal .modal-body,
  .powra-modal .modal-body{
    width:100%!important;
    padding-left:12px!important;
    padding-right:12px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-x:none;
    touch-action:pan-y;
  }
  .cert-modal .cert-step,
  .anchor-form-modal .cert-step,
  .powra-modal .cert-step{
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
  }
  .powra-check-row{
    width:100%;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .powra-check-options{
    width:100%;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .powra-check-options span{
    width:100%;
    min-width:0;
  }
  .anchor-test-grid{
    grid-template-columns:1fr!important;
  }
  .photo-picker-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .photo-picker-actions .btn{width:100%}
  .photo-picker-row{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .photo-picker-row .photo-picker-include{
    grid-column:1/-1;
    justify-content:flex-start;
  }
}
@media(max-width:420px){
  .photo-picker-actions{grid-template-columns:1fr}
  .photo-picker-row{grid-template-columns:1fr!important}
  .photo-picker-row .btn{width:100%}
}


/* V8.8.1 — POWRA final mobile viewport lock */
body.powra-modal-open{
  overflow:hidden!important;
  overscroll-behavior:none;
}
@media(max-width:760px){
  body.powra-modal-open .cert-backdrop{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    padding:0!important;
  }
  body.powra-modal-open .powra-modal{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
    overflow:hidden!important;
    overflow-x:clip!important;
    overscroll-behavior:none!important;
  }
  body.powra-modal-open .powra-modal .modal-body{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-y:auto!important;
    overflow-x:clip!important;
    overscroll-behavior-x:none!important;
    touch-action:pan-y!important;
  }
  body.powra-modal-open .powra-modal form,
  body.powra-modal-open .powra-modal .cert-step,
  body.powra-modal-open .powra-modal .day-grid,
  body.powra-modal-open .powra-modal .field,
  body.powra-modal-open .powra-modal .powra-section-head,
  body.powra-modal-open .powra-modal .powra-check-list,
  body.powra-modal-open .powra-modal .powra-check-row,
  body.powra-modal-open .powra-modal .powra-check-options,
  body.powra-modal-open .powra-modal .powra-outcome-grid,
  body.powra-modal-open .powra-modal .powra-outcome-option,
  body.powra-modal-open .powra-modal .powra-signature-summary,
  body.powra-modal-open .powra-modal .photo-picker,
  body.powra-modal-open .powra-modal .modal-actions{
    min-width:0!important;
    max-width:100%!important;
  }
  body.powra-modal-open .powra-modal .powra-check-row{
    width:100%!important;
    overflow:hidden!important;
  }
  body.powra-modal-open .powra-modal .powra-check-label,
  body.powra-modal-open .powra-modal p,
  body.powra-modal-open .powra-modal small{
    overflow-wrap:anywhere;
  }
  body.powra-modal-open .powra-modal .modal-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,.72fr) minmax(0,1.8fr)!important;
    gap:8px!important;
  }
  body.powra-modal-open .powra-modal .modal-actions .btn{
    width:100%!important;
    min-width:0!important;
    padding-left:8px!important;
    padding-right:8px!important;
    white-space:normal!important;
  }
}


/* V8.9.0 — configurable Van/HGV Vehicle Checks + defect status */
.vehicle-frequency-settings{margin-bottom:16px}
.vehicle-frequency-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vehicle-frequency-card{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  border:1px solid #e1e7ef;border-radius:12px;padding:12px;background:#fafbfd
}
.vehicle-frequency-card>div:first-child{display:flex;flex-direction:column;gap:3px}
.vehicle-frequency-card small{color:#718096}
.vehicle-frequency-controls{display:grid;grid-template-columns:100px 100px;gap:7px}
.vehicle-frequency-save{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}
.vehicle-add-grid-checks{
  grid-template-columns:1fr 1.45fr 1fr 1fr 1fr 1fr auto!important;
}
.vehicle-status-row{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(220px,.8fr) auto;
  align-items:center!important;
  gap:14px!important;
}
.vehicle-status-row.has-open-defect{
  border-color:#eab2ac!important;
  background:#fffafa!important;
}
.vehicle-primary-info{min-width:0}
.vehicle-registration-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vehicle-defect-badge{background:#fff0ee!important;color:#a42720!important;border:1px solid #efb4ae}
.vehicle-check-status-box{
  display:flex;flex-direction:column;gap:4px;align-items:flex-start;
  padding:9px 11px;border:1px solid #e3e8ef;border-radius:10px;background:#fafbfd
}
.vehicle-check-status-box>span:first-child{
  font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#718096;font-weight:800
}
.vehicle-check-status-box small{font-size:10.5px!important;color:#718096}
.vehicle-check-neutral{background:#eef2f6!important;color:#566274!important}
.vehicle-check-manager-modal{max-width:960px}
.vehicle-check-manager-status{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px;border:1px solid #e1e7ef;border-radius:12px;background:#fafbfd
}
.vehicle-check-manager-status>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vehicle-check-manager-status small{color:#718096}
.vehicle-defect-warning{color:#a42720}
.vehicle-no-defect{color:#187342}
.vehicle-defect-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:11px 12px;border:1px solid #efc0bb;border-radius:11px;background:#fff7f6;margin-top:8px
}
.vehicle-defect-row>div{display:flex;flex-direction:column;gap:3px}
.vehicle-defect-row small{color:#718096}
.vehicle-defect-row p{margin:4px 0 0;font-size:12px}
.vehicle-check-history-card>summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;cursor:pointer
}
.vehicle-check-history-card>summary::-webkit-details-marker{display:none}
.vehicle-check-history-card>summary>div{display:flex;flex-direction:column;gap:3px}
.vehicle-check-history-card>summary small{color:#718096}
.vehicle-check-history-list{border-top:1px solid #e6ebf2}
.vehicle-check-history-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid #edf1f6
}
.vehicle-check-history-row:last-child{border-bottom:0}
.vehicle-check-history-row>div:first-child{display:flex;flex-direction:column;gap:3px}
.vehicle-check-history-row small{color:#718096}
.vehicle-check-office-section{margin-top:12px}

.vehicle-check-form-modal{max-width:940px}
.vehicle-check-form-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.vehicle-check-form-heading h3{margin-bottom:3px}
.vehicle-check-form-heading p{margin:0}
.vehicle-check-form-heading>strong{font-size:12px;color:#3457e5}
.vehicle-check-form-list{display:grid;gap:7px;margin-top:11px}
.vehicle-check-item{
  display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:12px;align-items:center;
  padding:9px 10px;border:1px solid #e1e7ef;border-radius:11px;background:#fafbfd
}
.vehicle-check-item-label{font-size:13px;font-weight:700;line-height:1.35;color:#17233a;min-width:0}
.vehicle-check-item-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.vehicle-check-item-options label,.vehicle-safe-choice label{position:relative;cursor:pointer}
.vehicle-check-item-options input,.vehicle-safe-choice input{position:absolute;opacity:0;pointer-events:none}
.vehicle-check-item-options span,.vehicle-safe-choice span{
  display:flex;align-items:center;justify-content:center;min-height:36px;padding:6px 8px;
  border:1px solid #d7e0ea;border-radius:9px;background:#fff;font-size:11px;font-weight:850;text-align:center
}
.vehicle-check-item-options input:checked+span,.vehicle-safe-choice input:checked+span{
  border-color:#315efb;background:#f3f6ff;box-shadow:0 0 0 2px rgba(49,94,251,.10)
}
.vehicle-check-item-options input[value="defect"]:checked+span,
.vehicle-safe-choice input[value="false"]:checked+span{
  border-color:#d24b43;color:#a8241e;background:#fff4f3
}
.vehicle-safe-choice{display:grid;grid-template-columns:1fr 1.35fr;gap:6px}
.forms-history-card .compact-table td small{display:block;margin-top:3px}

@media(max-width:1100px){
  .vehicle-add-grid-checks{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .vehicle-add-grid-checks .btn{min-height:44px}
  .vehicle-status-row{grid-template-columns:minmax(0,1fr) minmax(210px,.75fr)}
  .vehicle-status-row>.management-actions{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:760px){
  .vehicle-frequency-grid{grid-template-columns:1fr}
  .vehicle-frequency-card{align-items:flex-start;flex-direction:column}
  .vehicle-frequency-controls{width:100%;grid-template-columns:1fr 1fr}
  .vehicle-add-grid-checks{grid-template-columns:1fr!important}
  .vehicle-status-row{grid-template-columns:1fr!important}
  .vehicle-check-status-box{width:100%}
  .vehicle-status-row>.management-actions{grid-column:auto;width:100%;justify-content:flex-start}
  .vehicle-check-manager-status,.vehicle-defect-row,.vehicle-check-history-row{align-items:flex-start;flex-direction:column}
  .vehicle-check-form-heading{align-items:flex-start;flex-direction:column}
  .vehicle-check-item{grid-template-columns:1fr}
  .vehicle-check-item-options{width:100%}
  .vehicle-safe-choice{grid-template-columns:1fr}
  .vehicle-check-form-modal{
    width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;
    margin:0!important;border-radius:0!important;overflow:hidden!important
  }
  .vehicle-check-form-modal .modal-body{
    overflow-y:auto!important;overflow-x:hidden!important;touch-action:pan-y!important;
    width:100%!important;min-width:0!important;max-width:100%!important
  }
  .vehicle-check-form-modal form,
  .vehicle-check-form-modal .cert-step,
  .vehicle-check-form-modal .vehicle-check-form-list,
  .vehicle-check-form-modal .vehicle-check-item{
    min-width:0!important;max-width:100%!important;width:100%!important
  }
}


/* V8.9.1.1 — Unauthorised Absence + Office full Timesheet editor (history-safe) */
.day-type-switch.three-way{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.absence-reason-card{
  margin-top:12px;
  padding:12px;
  border:1px solid #efc2bd;
  border-radius:12px;
  background:#fff8f7;
}
.absence-reason-card .field{margin:0}
.absence-reason-card textarea{width:100%;resize:vertical}
.absence-reason-card small{display:block;margin-top:6px;color:#7d6260}
.required-star{color:#b42318}
.absence-review-reason{
  display:block;
  margin-top:5px;
  font-weight:500;
  color:#73504d;
}

.office-timesheet-editor{
  margin:16px 0;
  border:1px solid #dbe4ef;
  border-radius:14px;
  background:#f8fafc;
  overflow:hidden;
}
.office-timesheet-editor>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  cursor:pointer;
  padding:14px 16px;
}
.office-timesheet-editor>summary::-webkit-details-marker{display:none}
.office-timesheet-editor>summary>div{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.office-timesheet-editor>summary small{color:#718096}
.office-timesheet-editor>summary>span{
  font-size:12px;
  font-weight:800;
  color:#3457e5;
}
.office-timesheet-editor-body{
  display:grid;
  gap:10px;
  padding:0 12px 12px;
  border-top:1px solid #e4eaf2;
}
.office-ts-day-card{
  margin-top:10px;
  padding:0;
  overflow:hidden;
}
.office-ts-day-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  padding:12px 14px;
  background:#fff;
  border:0;
  border-bottom:1px solid #e8edf4;
  text-align:left;
  font:inherit;
  color:inherit;
}
.office-ts-day-toggle{cursor:pointer}
.office-ts-day-toggle:hover{background:#f8faff}
.office-ts-day-chevron{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:999px;
  background:#f2f5fa;
  color:#52627a;
  font-size:22px;
  line-height:1;
  transform:rotate(180deg);
  transition:transform .18s ease,background .18s ease;
}
.office-ts-day-card.is-collapsed .office-ts-day-chevron{transform:rotate(0deg)}
.office-ts-day-card.is-collapsed .office-ts-day-head{border-bottom:0}
.office-ts-day-card.is-collapsed .office-ts-day-content{display:none}
.office-ts-day-actions{
  display:flex;
  justify-content:flex-end;
  padding:10px 14px 0;
}
.office-ts-day-head>div{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.office-ts-day-head small{color:#718096}
.office-ts-editor-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:12px 14px;
}
.office-ts-site-field,
.office-ts-description-field,
.office-ts-absence-field{
  grid-column:span 2;
}
.office-ts-extra-section{
  padding:0 14px 14px;
}
.office-ts-extra-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.office-ts-extra-head>div{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.office-ts-extra-head small{color:#718096}
.office-ts-extra-row{
  display:grid;
  grid-template-columns:110px 110px minmax(160px,1fr) minmax(150px,1fr) minmax(190px,1.2fr) auto;
  gap:8px;
  align-items:end;
  padding:10px;
  margin-top:8px;
  border:1px solid #e1e7ef;
  border-radius:11px;
  background:#fbfcfe;
}
.office-ts-extra-row .field{min-width:0}
.office-ts-extra-row .btn{margin-bottom:1px}

@media(max-width:900px){
  .office-ts-editor-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .office-ts-extra-row{
    grid-template-columns:1fr 1fr;
  }
  .office-ts-extra-site,
  .office-ts-extra-work{
    grid-column:span 2;
  }
}
@media(max-width:620px){
  .day-type-switch.three-way{
    grid-template-columns:1fr!important;
  }
  .office-ts-day-head,
  .office-ts-extra-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .office-ts-day-head .btn,
  .office-ts-extra-head .btn{
    width:100%;
  }
  .office-ts-editor-grid{
    grid-template-columns:1fr;
  }
  .office-ts-site-field,
  .office-ts-description-field,
  .office-ts-absence-field{
    grid-column:auto;
  }
  .office-ts-extra-row{
    grid-template-columns:1fr;
  }
  .office-ts-extra-site,
  .office-ts-extra-work{
    grid-column:auto;
  }
  .office-ts-extra-row .btn{width:100%}
}

.office-amendment-banner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin:12px 0;
  padding:11px 13px;
  border:1px solid #c9d6f3;
  border-radius:11px;
  background:#f5f8ff;
}
.office-amendment-banner strong{color:#203a78}
.office-amendment-banner span{font-size:12px;color:#61708b;text-align:right}
@media(max-width:620px){
  .office-amendment-banner{flex-direction:column}
  .office-amendment-banner span{text-align:left}
}

/* Weekli V8.9.1.2 — Office paid Unauthorised Absence */
.office-pay-subsection{display:flex;flex-direction:column;gap:3px;margin-top:2px;padding-top:4px}.office-pay-subsection>small{color:var(--muted);font-size:12px}.paid-absence-heading{border-top:1px solid var(--line);padding-top:14px;margin-top:4px}.absence-pay-table{min-width:760px}.absence-pay-table td:first-child small{display:block;color:var(--muted);margin-top:3px;max-width:280px;white-space:normal}.office-absence-rate-select{min-width:220px!important;max-width:260px!important}.office-absence-custom-wrap{max-width:130px}.absence-rate-applied{display:block;color:var(--muted);margin-top:4px}.people-list-card td .muted{display:block;font-size:10px;margin-top:3px}

/* Weekli V8.9.1.3 — Office editable days collapsed by default */
@media(max-width:620px){
  .office-ts-day-head{flex-direction:row;align-items:center}
  .office-ts-day-actions{padding:10px 12px 0}
  .office-ts-day-actions .btn{width:100%}
}

:root{color-scheme:light}
.weekli-load-notice{position:fixed;right:20px;bottom:28px;z-index:2000;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 40px);padding:16px;border:1px solid #bdcfff;border-radius:16px;background:#fff;color:#172337;box-shadow:0 8px 32px #07112726;font-weight:600}
@media(max-width:600px){.weekli-load-notice{left:12px;right:12px;bottom:20px;max-width:none;flex-wrap:wrap}.weekli-load-notice span{flex-basis:100%}}

/* Office workspaces use desktop width; form cards and dialogs remain bounded. */
@media(min-width:1000px){.office-shell>.container{width:min(1760px,100%);max-width:1760px;padding-left:28px;padding-right:28px}.payroll-table{min-width:1180px}.payroll-table th,.payroll-table td{padding:11px 10px}.payroll-table td small{max-width:160px}}
.office-section-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.office-section-nav .btn{min-height:44px}
#companyCostingSection,#companyVehicleSettings,#companyNotificationSettings{max-width:1120px}
[hidden]{display:none!important}
.site-form-section{border:1px solid #e2e8f0;border-radius:14px;padding:18px;background:#f8fafc;margin:16px 0}.site-form-section h3{margin:0 0 12px;color:var(--navy)}

.site-create-grid>.site-form-section,.site-create-grid>.site-form-group-title,.site-create-grid>[role=alert]{grid-column:1/-1}.site-form-group-title{margin:8px 0;color:#0b1730;font-size:16px}.site-email-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.site-email-choices input{width:24px;height:24px;flex:none}.site-email-choices label{min-height:48px;align-items:flex-start}.site-form-section p{color:#64748b;max-width:78ch}

.office-bell{position:relative;flex:none}.office-bell [data-office-bell]{display:flex;align-items:center;gap:5px;min-height:44px}.office-bell [data-office-unread]{background:#e05252;color:white;border-radius:20px;min-width:20px;padding:2px 5px;font-size:11px;font-weight:800}
[data-office-panel]{position:fixed;right:20px;top:calc(var(--weekli-topbar-height,72px) + 8px);width:min(460px,calc(100vw - 24px));border:1px solid #dbe3ee;border-radius:16px;background:white;color:#0b1730;box-shadow:0 18px 70px #0b173033;z-index:160;overflow:hidden}
.office-notification-heading{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:16px;border-bottom:1px solid #e2e8f0}.office-notification-heading strong{margin-right:auto}[data-office-list]{max-height:min(65vh,580px);overflow:auto;padding:8px}.office-notification{padding:12px;border-radius:10px;border-bottom:1px solid #e2e8f0}.office-notification.is-unread{background:#f1f5ff}.office-notification>button:first-child{display:flex;flex-direction:column;gap:7px;text-align:left;width:100%;background:transparent;border:0;color:#0b1730;padding:0 0 10px;cursor:pointer;font:inherit}.office-notification span,.office-notification small{color:#64748b}.office-notification small{font-size:12px}#officeNotificationPolicy input[type=checkbox]{width:24px;height:24px;cursor:pointer}.office-bell button:focus-visible{outline:3px solid #3457e5;outline-offset:2px}
@media(max-width:600px){[data-office-panel]{right:12px}.top-actions{gap:8px}}

.notification-record-focus{outline:3px solid #3457e5;outline-offset:3px}

#officeNotificationPolicy .data-table{width:100%;min-width:0;table-layout:fixed}#officeNotificationPolicy th{white-space:normal;line-height:1.4}#officeNotificationPolicy th:first-child{width:50%}#officeNotificationPolicy th:not(:first-child),#officeNotificationPolicy td:not(:first-child){text-align:center}
.cert-backdrop:has(#siteEditForm){padding:12px!important;align-items:center!important}.cert-backdrop:has(#siteEditForm) .modal{width:min(980px,100%);max-height:calc(100dvh - 24px);border-radius:20px;overflow:auto}

/* Compact permission settings; the entire label remains a 44px touch target. */
.site-email-choices{gap:6px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.site-email-choices .manual-site-check,.form-module-list .manual-site-check{min-height:44px;padding:7px 9px;gap:8px;align-items:center}
.site-email-choices .manual-site-check input[type=checkbox],.form-module-list .manual-site-check input[type=checkbox]{width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;min-height:16px!important;flex-basis:16px!important}
.form-module-list [data-form-employees]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:4px 8px;margin:0;padding:10px}
.form-module-list [data-form-employees][hidden]{display:none}
.form-module-list [data-form-employees]>small{grid-column:1/-1}
.form-module-list [data-form-access]{gap:10px;padding:14px}
.form-module-list [data-form-access] p.muted{margin:4px 0;font-size:12px}
