:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#17354b;background:#f2f6fa;font-size:16px;--navy:#07334c;--blue:var(--brand-secondary);--border:#dce5ec}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--border);border-radius:7px;background:white;padding:.7rem 1rem;color:var(--navy);font-weight:600;min-height:44px}button:hover{background:#edf6ff}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover{background:#006bcc}.shell{display:grid;grid-template-columns:252px 1fr;min-height:100vh}aside{background:linear-gradient(165deg,#0c415f,#052b43 65%);color:white;padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:10px;background:white;border-radius:6px}.brand img{display:block;width:100%;height:auto}.brand small{font-size:10px;line-height:1.4;color:#17354b;letter-spacing:0}.official-logo{display:block;width:300px;max-width:100%;height:auto;margin-bottom:24px}.product{font-size:11px;letter-spacing:1.7px;color:#86b5cc;margin:35px 10px 18px}nav{display:grid;gap:6px}nav button{text-align:left;border:none;background:transparent;color:#c5dbe7;font-size:15px;padding:13px 15px}nav button.active{background:#176083;color:white;box-shadow:inset 3px 0 #50c6e9}nav button:hover{background:#164f6c}.aside-foot{margin-top:auto;font-size:13px;color:#b8d1df;padding:28px 10px 0}.aside-foot p{font-size:24px;line-height:1.25;color:white;letter-spacing:-.5px;margin-top:28px}.aside-foot strong{color:#50c6e9}.workspace{min-width:0;display:flex;flex-direction:column}header{padding:20px 34px;border-bottom:1px solid var(--border);background:white;display:flex;justify-content:space-between;gap:20px;align-items:center}header small,.eyebrow{display:block;font-size:10px;letter-spacing:1.7px;color:#7d94a4;margin-bottom:5px}header strong{font-size:18px}#identity{font-size:13px}main{padding:30px 34px;flex:1;max-width:1500px;width:100%;margin:auto}h1{font-size:30px;letter-spacing:-.8px;margin:0 0 8px;color:#092d45}h2{font-size:18px;margin:0 0 18px;color:#092d45}h3{font-size:16px;margin:0 0 9px}p{line-height:1.5}.muted{color:#698091;font-size:14px}.pagehead{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:25px}.pagehead p{margin:0}.toolbar,.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.panel{background:white;border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:22px;box-shadow:0 2px 3px #122b4303}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.panelhead h2{margin:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric{background:white;border:1px solid var(--border);border-radius:9px;padding:21px;border-left:3px solid var(--brand-secondary)}.metric span{color:#698091;font-size:13px}.metric strong{display:block;font-size:32px;letter-spacing:-1px;margin:6px 0}.metric small{font-size:12px;color:#6a8191}.grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.badge{display:inline-block;border-radius:20px;padding:5px 9px;background:#edf3f7;color:#536f82;font-size:12px;font-weight:650;text-transform:capitalize;white-space:nowrap}.badge.pass,.badge.complete,.badge.issued,.badge.confirmed{background:#e4f5ed;color:#207b55}.badge.fail,.badge.error{background:#fbe7e8;color:#ac343d}.badge.action_required,.badge.review_required,.badge.pending,.badge.queued{background:#fff2dd;color:#a16c19}.progress{height:8px;border-radius:10px;background:#e7eef3;overflow:hidden;margin:14px 0 8px}.progress span{height:100%;display:block;background:linear-gradient(90deg,#0c91da,#42b9cb)}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:#7a90a0;padding:12px;background:#f5f8fb;border-bottom:1px solid var(--border)}td{padding:15px 12px;border-bottom:1px solid #edf1f5}td small{display:block;color:#7a8e9d;margin-top:4px}.tablebutton{padding:5px 10px;font-size:13px;min-height:36px;color:var(--brand-secondary)}.empty{padding:40px 20px;text-align:center;background:#fbfdfe;border:1px dashed #cfdee8;border-radius:8px;color:#6a8191}.empty strong{display:block;color:#26485f;margin-bottom:7px}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}label{display:block;font-size:14px;font-weight:600;color:#385b71}input,select,textarea{width:100%;padding:11px;border:1px solid #cad8e3;background:white;color:#17354b;border-radius:6px;margin-top:7px;min-height:44px}textarea{min-height:90px;resize:vertical}.full{grid-column:1/-1}.selector{max-width:360px}.selector select{margin:0}.checkrow{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #e9eff4;padding:12px 0}.checkrow select{max-width:160px;margin:0}.checkrow label{font-weight:500}.callout{padding:15px 18px;background:#edf7fd;border-left:3px solid #249fdb;border-radius:4px;font-size:14px;line-height:1.5;margin:16px 0}.callout.error{background:#fff1f1;border-color:#c85353;color:#9a3737}.login{max-width:480px;margin:35px auto}.login .primary{width:100%;margin-top:20px}.login label{margin-top:17px}.login h1{font-size:28px}.error-text{color:#a5363d;font-size:14px;margin-top:16px}.queuecard{border:1px solid var(--border);border-radius:8px;padding:18px;margin:12px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.queuecard p{margin:5px 0}.photos{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.photos img{width:100px;height:85px;object-fit:cover;border-radius:7px}.totals{max-width:340px;margin:24px 0 0 auto}.totals p{display:flex;justify-content:space-between}.total{font-size:22px;border-top:1px solid var(--border);padding-top:15px;font-weight:700}.lineinput{min-width:85px}.descriptioninput{min-width:230px}.report{max-width:900px;margin:auto}.reporthead{border-bottom:3px solid #1a95d2;margin-bottom:24px;padding-bottom:24px}.report-meta{display:grid;grid-template-columns:1fr 1fr;gap:15px}.evidence{margin-bottom:20px;border:1px solid var(--border);border-radius:8px;padding:18px}.readings{display:flex;gap:30px;flex-wrap:wrap;margin:14px 0}.readings strong{font-size:24px;display:block}.readings small{color:#728997}footer{padding:20px 34px;display:flex;justify-content:space-between;color:#78909f;font-size:11px;border-top:1px solid var(--border)}#notice{position:fixed;bottom:24px;right:24px;background:#07334c;color:white;max-width:430px;padding:15px 20px;border-radius:9px;box-shadow:0 5px 25px #0003;z-index:10}#notice:empty{display:none}dialog{max-width:650px;width:90%;border:1px solid var(--border);border-radius:12px;padding:25px}dialog::backdrop{background:#032b4677}.skip{position:absolute;left:10px;top:-100px;z-index:30;padding:12px;background:white}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}video{width:100%;border-radius:8px}.photo-full{max-width:100%}.loading{padding:50px;text-align:center;color:#6a8394}@media(max-width:1050px){.shell{grid-template-columns:210px 1fr}aside{padding:22px 12px}.brand{font-size:20px}main{padding:25px 22px}.metrics{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}header{padding:18px 22px}}@media(max-width:700px){.shell{display:block}aside{height:auto;position:static;padding:16px}.brand{font-size:23px}.product,.aside-foot{display:none}nav{display:flex;overflow-x:auto;margin-top:15px;gap:3px}nav button{font-size:13px;white-space:nowrap;padding:9px 12px;flex-shrink:0}header{padding:15px 18px}header strong{font-size:15px}#identity{display:none}main{padding:22px 16px}h1{font-size:25px}.pagehead{flex-direction:column}.panel{padding:18px}.formgrid{grid-template-columns:1fr}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:27px}.selector{max-width:100%;width:100%}.login{margin:10px auto}footer{padding:18px;display:block;line-height:1.8}footer span{display:block}.report-meta{grid-template-columns:1fr}.queuecard{align-items:start}.panelhead{flex-wrap:wrap}.checkrow{gap:10px}.checkrow select{max-width:135px}#notice{left:16px;right:16px;bottom:16px}.toolbar{width:100%}}@media print{aside,header,footer,.actions,#notice,.no-print{display:none!important}.shell{display:block}main{padding:0}.panel{border:0;box-shadow:none}.evidence{break-inside:avoid}body{background:white}.report{max-width:none}}

@media(max-width:700px){.brand{width:240px;max-width:100%}}

.manager-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.manager-metrics .metric{text-align:left;min-height:132px}.manager-metrics .metric:hover{border-color:var(--brand-secondary);box-shadow:0 0 0 2px var(--brand-secondary)18}.manager-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:20px}.manager-filters label{font-size:14px}.manager-filters input,.manager-filters select{margin-top:6px}.context-panel{position:sticky;top:0;z-index:3;box-shadow:0 4px 12px #07334c12}.pass-progress span{background:#16a56f}.overdue{display:block;color:#a5363d;font-size:14px;margin-top:4px}.linkbutton{background:transparent;border:0;color:var(--brand-secondary);text-decoration:underline}.interim-report h2{margin-top:24px}td small{display:block;margin-top:6px;line-height:1.5}td button{margin:4px 4px 4px 0}nav{overflow-y:auto}header small,.eyebrow{font-size:12px}footer{font-size:12px}.muted{line-height:1.5}.metric small{font-size:13px}
@media(max-width:1050px){.manager-filters{grid-template-columns:1fr 1fr}.manager-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.context-panel{top:0;padding:12px}.context-panel .toolbar{display:grid;grid-template-columns:1fr auto}.context-panel .selector{grid-column:1/-1}.context-panel select{font-size:16px}.manager-filters{grid-template-columns:1fr}.manager-metrics .metric{padding:15px;min-height:120px}.manager-metrics .metric span{font-size:14px}#identity{display:block;font-size:12px}header{flex-wrap:wrap}nav{overflow-y:visible}h1{overflow-wrap:anywhere}.pagehead .actions{width:100%}.pagehead .actions button{flex:1}.report-meta{gap:12px}}
@media print{.pagehead,.context-panel,.manager-filters,button,nav{display:none!important}.tablewrap{overflow:visible}table{font-size:10pt}td,th{padding:8px}.interim-report{padding:0}.interim-report tr{break-inside:avoid}}
/* AquaComply operations: readable field work and decision surfaces */
.check-label{display:flex;align-items:flex-start;gap:12px;margin:20px 0;line-height:1.5}.check-label input{width:24px;min-height:24px;flex:0 0 24px;margin:0}.workflow-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.workflow-strip>div{padding:12px;border:1px solid var(--border);border-radius:8px}.workflow-strip small{display:block;font-size:14px;margin-top:10px;line-height:1.5}ol{padding-left:24px;line-height:1.7}ol li{margin:8px 0}#ops-form label{margin:14px 0}#ops-form .actions{margin-top:20px}th{font-size:14px;letter-spacing:0;text-transform:none;color:#49697e}.badge{font-size:14px;white-space:normal}.metric span{font-size:14px}.brand small{font-size:12px}button.tablebutton{min-height:44px}aside{overflow-y:auto}.product{font-size:12px}nav button{font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand-secondary)}.muted,td small{color:#526e82}.queuecard small{font-size:14px}.aside-foot{flex-shrink:0}.service-actions{position:sticky;bottom:0;padding:12px;background:white;border-top:1px solid var(--border);z-index:2}
@media(max-width:700px){.workflow-strip{grid-template-columns:1fr 1fr}.queuecard{flex-wrap:wrap}.queuecard .actions{width:100%}.queuecard .primary{flex:1}nav button{font-size:14px}.checkrow{flex-wrap:wrap}aside{overflow:visible}}
@media print{.workflow-strip{grid-template-columns:repeat(3,1fr)}.report h2{break-after:avoid}.report table{margin-bottom:24px}.report td{vertical-align:top}}
/* Status attention colours: always accompanied by the answer or a written status. */
:root{--status-red:#991b1b;--status-red-bg:#fff1f2;--status-amber:#854d0e;--status-amber-bg:#fffbeb;--status-green:#166534;--status-green-bg:#f0fdf4}
.status-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.875rem;line-height:1.7;color:#526e82}.status-legend span{border-left:4px solid currentColor;padding-left:.5rem}.status-red{color:var(--status-red)}.status-amber{color:var(--status-amber)}.status-green{color:var(--status-green)}
.status-control.status-red{background:var(--status-red-bg);border:2px solid var(--status-red);color:var(--status-red);font-weight:700}.status-control.status-amber{background:var(--status-amber-bg);border:2px solid var(--status-amber);color:var(--status-amber);font-weight:700}.status-control.status-green{background:var(--status-green-bg);border:2px solid var(--status-green);color:var(--status-green)}.status-control.status-neutral{background:#f8fafc;border-color:#94a3b8;color:#475569}.status-control:disabled{opacity:.7}
.attention{padding:1rem;border:1px solid;border-left-width:5px;border-radius:6px;line-height:1.65;overflow-wrap:anywhere}.attention-red{background:var(--status-red-bg);color:var(--status-red);border-color:var(--status-red)}.attention-amber{background:var(--status-amber-bg);color:var(--status-amber);border-color:var(--status-amber)}.attention button{margin:.5rem 0 0 .5rem;border-color:currentColor;color:inherit;background:#fff}
.badge.fail,.badge.error,.badge.critical,.badge.high,.badge.fault{background:#fee2e2;color:var(--status-red);border:1px solid #fca5a5}.badge.action_required,.badge.review_required,.badge.exception,.badge.open,.badge.normal{background:#fef3c7;color:var(--status-amber);border:1px solid #fcd34d}.badge.pass,.badge.complete,.badge.confirmed{background:#dcfce7;color:var(--status-green);border:1px solid #86efac}.badge.pending,.badge.unknown{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}
tr.risk-fail>td,.evidence.risk-fail{background:var(--status-red-bg)}tr.risk-action_required>td,tr.risk-exception>td,.evidence.risk-action_required{background:var(--status-amber-bg)}tr.risk-fail>td:first-child{border-left:5px solid var(--status-red)}tr.risk-action_required>td:first-child,tr.risk-exception>td:first-child{border-left:5px solid var(--status-amber)}tr.risk-pass>td:first-child{border-left:5px solid var(--status-green)}
.manager-metrics [data-metric-filter="fail"]{border-left:5px solid var(--status-red);background:var(--status-red-bg)}.manager-metrics [data-metric-filter="action_required"],.manager-metrics [data-metric-filter="exception"]{border-left:5px solid var(--status-amber);background:var(--status-amber-bg)}.manager-metrics [data-metric-filter="pass"]{border-left:5px solid var(--status-green)}
@media print{.attention,.badge,.status-control,tr.risk-fail>td,tr.risk-action_required>td,tr.risk-exception>td{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.engineer-service{max-width:900px;margin:0 auto}.asset-context{max-width:900px;margin-left:auto;margin-right:auto}.engineer-service label,#failure-form label{margin:14px 0}.engineer-service details,#failure-form details{border:1px solid var(--border);border-radius:6px;padding:12px;margin:16px 0}.engineer-service summary,#failure-form summary{cursor:pointer;min-height:32px;font-weight:600;color:var(--navy)}.reading-check{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-bottom:1px solid var(--border);padding:8px 0}.engineer-service .status-legend{font-size:.875rem}.engineer-service .service-actions{bottom:0;background:#fff;padding:12px 0}.engineer-service .service-actions button{flex:1}.engineer-service #tag-fields button{margin-top:10px}#failure-form button[type="submit"]{width:100%;margin-top:16px}#failure-form select{height:auto;white-space:normal}@media(max-width:520px){.reading-check{gap:10px}.engineer-service .formgrid{display:block}}

.temperature-status{align-self:center;padding:.75rem;border-radius:.5rem;font-weight:600;font-size:1rem}.reading-check>label[hidden]{display:none}

.reading-tools{grid-column:1/-1;display:flex;gap:.5rem;flex-wrap:wrap}.photos figure{margin:0}.photos figcaption{font-size:.875rem;padding:.25rem}.service-actions{flex-wrap:wrap}#draft-status{min-height:1.5rem}#scan-service .actions{margin-top:.75rem}
/* Compact engineer work surface: completed setup stays reviewable. */
.engineer-service .compact-section,.engineer-service .procedure-setup{margin:8px 0;padding:12px 14px;background:#fff}.engineer-service .panel{margin-bottom:10px}.engineer-service .panel h2{font-size:1.15rem;margin:0 0 10px}.engineer-service label{margin:8px 0}.engineer-service .reading-check{gap:8px;padding:6px 0}.engineer-service .reading-tools{justify-content:flex-end;gap:6px}.engineer-service .reading-tools button{min-height:40px;padding:6px 12px}.answer-buttons{display:flex;gap:8px;margin:8px 0;flex-wrap:wrap}.answer-buttons button{flex:1;min-height:48px;min-width:100px;font-size:1rem;border:2px solid var(--border)}.answer-buttons button[aria-pressed=true]{border-color:currentColor;box-shadow:inset 0 0 0 1px currentColor}.answer-buttons button:disabled{opacity:.5}.engineer-service .service-actions{position:sticky;bottom:0;z-index:2;box-shadow:0 -3px 8px #07334c12;padding:10px;border-radius:8px}.scope-review{padding:10px;background:#f0f7fc;border:1px solid var(--border);border-radius:8px}.scope-review dl{display:grid;grid-template-columns:1fr 2fr;gap:6px;margin:8px 0}.scope-review dt{font-size:.875rem;color:#38586e}.scope-review dd{margin:0;font-size:.875rem}.photos figure button{padding:0;border:0;background:transparent}.photos figure img{display:block}#photo-transfer{font-size:.875rem}@media(max-width:520px){.engineer-service .service-actions{gap:6px}.engineer-service .service-actions button{font-size:.875rem;padding:10px 7px}.scope-review dl{grid-template-columns:1fr}.scope-review dd{margin-bottom:5px}}
.journey-progress{border-left:4px solid var(--brand-secondary)}.journey-progress .panelhead{gap:12px}.journey-progress details{margin:6px 0}.journey-progress #completion-list{display:flex;gap:6px;flex-wrap:wrap}.journey-progress #completion-list button{font-size:.875rem;text-align:left}.engineer-service .guided-answer{padding:8px 10px;margin:6px 0}.guided-answer>summary{font-size:1rem;line-height:1.4}.guided-answer[open]>summary{margin-bottom:6px}.photo-actions{display:flex;gap:4px;flex-wrap:wrap}.photo-actions button{font-size:.875rem;padding:6px 8px}.receipt{max-width:750px}.receipt h2{padding:12px;border-radius:8px}.receipt .actions{flex-wrap:wrap}#combined-remedials fieldset{border:1px solid var(--border);border-radius:8px;margin:16px 0;padding:12px}#combined-remedials legend{font-weight:700}#combined-remedials details{padding:10px;border:1px solid var(--border);border-radius:6px}#combined-remedials .shared-scope{padding:12px;background:#f0f7fc;border-radius:8px}#combined-remedials label{display:block;margin:10px 0}#combined-remedials button[type=submit]{width:100%;min-height:48px}
.dictation-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:6px 0 12px}.dictation-tools button{min-height:44px;padding:8px 12px;font-size:.9rem}.dictation-tools small{flex-basis:100%;font-size:.8rem;line-height:1.4;color:#496678}.dictation-tools .dictation-status{flex-basis:100%;margin:0;font-size:.875rem}.dictation-tools .dictation-status:empty{display:none}.dictation-preview{flex-basis:100%;white-space:pre-wrap;padding:10px;border:1px solid #93bad8;background:#f0f7fc;border-radius:6px;font-size:1rem;margin:0}

/* Engineer round: clear next action and persistent local-save feedback. */
header{flex-wrap:wrap}.display-controls{position:relative;max-width:100%;font-size:1rem}.display-controls summary{cursor:pointer;padding:.7rem;border:1px solid #45677c;border-radius:6px;min-height:48px}.display-controls label{display:flex;align-items:center;gap:.6rem;padding:.5rem}.display-controls input{width:24px;min-height:24px;margin:0}.display-controls small{display:block;max-width:250px}
html.large-text{font-size:20px}.large-text :is(p,label,input,select,textarea,button,summary,td,.muted,.callout){font-size:1rem}.large-text :is(h2,header strong){font-size:1.3rem}.large-text h1{font-size:1.8rem}.large-text :is(.badge,small,th){font-size:.85rem}.large-text nav button{white-space:normal}.large-text .queuecard{flex-wrap:wrap}
button,input,select{min-height:48px}summary{min-height:48px;padding:.55rem 0;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #064cc4;outline-offset:3px}
html.outdoor{background:#fff;color:#101820;--border:#526575;--blue:#00529b}.outdoor :is(.muted,label,td small,small,.eyebrow,.metric span,.metric small,.callout){color:#203c50}.outdoor aside{background:#062a40}.outdoor aside :is(small,.product){color:#fff}.outdoor aside .brand small{color:#17354b}.outdoor nav button{color:#fff}.outdoor .panel{border:2px solid #526575;box-shadow:none}.outdoor :is(input,select,textarea,button){border-width:2px;border-color:#526575}.outdoor .status-green{color:#075326;background:#e4f7e9}.outdoor .status-red,.outdoor .error-text{color:#8c1010}.outdoor .status-amber{color:#684400;background:#fff0c2}.outdoor .primary{background:#00529b;color:#fff}.outdoor .display-controls{color:#101820}
@media(max-width:700px){.large-text .queuecard,.large-text .checkrow{flex-wrap:wrap}.large-text .formgrid{grid-template-columns:1fr}.display-controls{width:100%}.large-text .metrics{grid-template-columns:1fr}}
.next-valve{border-left:5px solid #007ac2;background:#f1faff}.next-valve h2{margin-top:.6rem}
.service-savebar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:2px solid var(--brand-secondary);border-radius:10px;padding:.65rem 1rem;box-shadow:0 3px 10px #002a4520;margin-bottom:1rem}
.service-savebar span{font-size:1rem;font-weight:600}.service-savebar button{min-height:48px}
.visit-briefing summary{font-size:1.1rem;font-weight:700;cursor:pointer}.visit-briefing .attention{margin-top:1rem}
@media(max-width:600px){.service-savebar{gap:.5rem;padding:.5rem;flex-wrap:wrap}.service-savebar button{width:100%}}

/* Manager priorities and retained purchase order confirmations. */
.client-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.client-metrics .metric{text-align:left;min-height:150px;border-top:4px solid var(--brand-secondary)}.client-metrics .metric strong{font-size:2rem}.client-metrics .metric small{display:block;margin-top:12px;font-size:.875rem}.client-freshness{font-size:.875rem;color:#45677c}.client-result-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.client-result-counts button{text-align:left;padding:16px}.client-result-counts strong{display:block;font-size:1.8rem;margin:12px 0}.client-result-counts span:last-child{display:block;font-size:.875rem}.client-action-list>div{padding:16px;border-left:4px solid var(--brand-secondary);background:#f0f8fc;margin:12px 0}.client-action-list button{margin:6px 10px 6px 0}.client-updates{display:flex;flex-wrap:wrap;gap:20px;padding:10px 0 22px}.client-updates strong{font-size:1.4rem}.client-visit,.client-request,.client-programme,.client-remedial,.client-quote{padding:18px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.client-visit:last-child,.client-request:last-child,.client-programme:last-child{border-bottom:0}.client-reply{border-left:4px solid #0d8272;background:#effaf6;margin:16px 0;padding:16px}.preserve-lines{white-space:pre-wrap}.client-stage{font-size:1.25rem;font-weight:700;color:#075985}.client-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0}.client-timeline li{border-left:4px solid #94a3b8;background:#f8fafc;padding:16px}.client-timeline li.done{border-color:#138065;background:#edf9f4}.client-timeline span{display:block;font-size:.875rem;margin-top:10px}.client-summary{color:#123348}.client-summary th{text-align:left}.client-summary h1{font-size:1.7rem}#client-form label{margin:16px 0}#client-form textarea{min-height:120px}.client-onboarding{border-left:4px solid var(--brand-secondary)}
@media(max-width:1000px){.client-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.client-result-counts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.client-metrics,.client-result-counts,.client-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.client-metrics .metric{min-height:140px;padding:12px}.client-metrics .metric strong{font-size:1.6rem}.client-timeline li{padding:12px}.client-result-counts button{padding:10px}.client-updates{gap:12px}.client-visit .panelhead{display:block}.client-summary th,.client-summary td{padding:7px;font-size:.875rem}}
@media print{body.printing-client-summary>.shell{display:none!important}body.printing-client-summary #modal{position:static;display:block;max-width:none;max-height:none;width:100%;padding:0;border:0;overflow:visible}body.printing-client-summary #modal::backdrop{background:none}body.printing-client-summary #close-modal{display:none}.client-summary table{width:100%;border-collapse:collapse}.client-summary p,.client-summary tr{break-inside:avoid}}
.priority-counts{display:flex;flex-wrap:wrap;gap:12px 24px;padding:12px 0 20px;font-size:1rem}.priority-counts strong{font-size:1.4rem;color:var(--navy)}.approval-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.approval-grid dt{font-size:.875rem;color:#536f82}.approval-grid dd{margin:6px 0 0;overflow-wrap:anywhere}.po-file{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:#edf7fd;border:1px solid var(--border);border-radius:8px}.po-file strong{overflow-wrap:anywhere}.po-file small{display:block;margin-top:6px;font-size:.875rem}.approval-check{display:flex;align-items:flex-start;gap:10px;margin:20px 0}.approval-check input{width:22px;min-height:22px;height:22px;margin:0;flex:none}#po-approval>label,#po-fields>label{margin-top:16px}#po-progress{font-size:.875rem}#po-selected{overflow-wrap:anywhere}.manager-priorities table td{vertical-align:top}.manager-priorities td button{margin:3px}
@media(max-width:700px){.approval-grid{grid-template-columns:1fr}.po-file{align-items:flex-start;flex-direction:column}.priority-counts{gap:12px}.manager-priorities .panelhead{align-items:flex-start}}

.company-billing .metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0}.company-billing .metric{min-width:0}.company-billing .metric strong{font-size:1.8rem;overflow-wrap:anywhere}.company-billing .sectionhead{display:flex;align-items:center;justify-content:space-between;gap:16px}.company-billing td{vertical-align:top}#team-form fieldset{border:1px solid var(--border);padding:16px;margin:20px 0;min-width:0}#team-form fieldset label{margin:14px 0}#team-form legend{font-weight:700}@media(max-width:900px){.company-billing .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.company-billing .sectionhead{align-items:flex-start;flex-direction:column}.company-billing .metric strong{font-size:1.4rem}}
/* Printed TMV register: fixed labels, accessible text status and locally generated QR. */
.report,.interim-report{max-width:1120px}.report-key{font-size:12px;line-height:1.5;color:#385b71}.tmv-report-register td{vertical-align:top;font-size:12px;overflow-wrap:anywhere}.tmv-report-register td p{margin:6px 0 0}.report-temperature{white-space:nowrap}.report-tmv.needs-action td:first-child{border-left:4px solid #a54418}.report-tmv.needs-action td:nth-child(7){background:#fff4df}.report-outcome{display:block}.outcome-fail{color:#a32129}.outcome-pass{color:#176443}.outcome-action_required{color:#895800}.report-qr{width:34mm;min-width:34mm;text-align:center}.report-qr a{display:block}.report-qr svg{display:block;width:32mm;height:32mm;margin:auto;background:white;shape-rendering:crispEdges}.report-qr small{font-size:10px;line-height:1.3}.tmv-report-register th{font-size:10px}.tmv-report-register td:nth-child(7){min-width:135px}
@media print{.tmv-report-register table{width:100%;table-layout:auto;font-size:9pt}.tmv-report-register td,.tmv-report-register th{padding:5px;font-size:8pt}.tmv-report-register tr{break-inside:avoid;page-break-inside:avoid}.tmv-report-register thead{display:table-header-group}.tmv-report-register .report-qr{width:34mm;min-width:34mm}.tmv-report-register td:nth-child(7){min-width:0}.report-temperature{white-space:normal}.report-qr svg{width:32mm!important;height:32mm!important}.report-tmv.needs-action td:nth-child(7){print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-key{font-size:9pt}.report-outcome{color:#111}.report,.interim-report{padding:0}}
/* Company palette is shared by every workspace, dialog and printed report. */
:root{--brand-primary:#07334c;--brand-secondary:#0874ce;--brand-on-primary:#fff;--brand-on-secondary:#fff}
.company-brand{display:flex;flex-direction:column;gap:8px;align-items:flex-start;overflow-wrap:anywhere}.company-brand .official-logo{object-fit:contain;max-width:100%;width:auto;max-height:100px}.brand .company-brand{color:var(--brand-heading,var(--brand-primary))}
h1,h2,h3,.eyebrow,.reporthead,.client-summary h1,.client-summary h2{color:var(--brand-heading,var(--brand-primary))}button.primary,.primary{background:var(--brand-secondary);border-color:var(--brand-secondary);color:var(--brand-on-secondary)}nav a.active,nav button.active{background:var(--brand-primary);color:var(--brand-on-primary)}a,.linkbutton{color:var(--brand-primary)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--brand-secondary)}.brand-footer{font-size:12px;white-space:pre-wrap}.reporthead{border-color:var(--brand-secondary)}.progress>span,.progress-bar{background:var(--brand-secondary)}
@media print{.company-brand{break-inside:avoid}.company-brand img{max-height:24mm}.brand-footer{display:block}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
:root{--navy:var(--brand-primary);--blue:var(--brand-secondary)}aside,.outdoor aside{background:var(--brand-primary);color:var(--brand-on-primary)}aside :is(.product,.aside-foot,.aside-foot p,.aside-foot strong),nav button,.outdoor nav button{color:var(--brand-on-primary)}nav button.active{background:var(--brand-secondary);color:var(--brand-on-secondary);box-shadow:inset 3px 0 var(--brand-on-secondary)}nav button:hover{background:var(--brand-secondary);color:var(--brand-on-secondary)}.primary:hover,.outdoor .primary{background:var(--brand-secondary);color:var(--brand-on-secondary);filter:brightness(.94)}.metric{border-left-color:var(--brand-secondary)}input:focus,select:focus,textarea:focus{outline-color:var(--brand-secondary)}
/* Light brand palettes must retain legible text on white workspace surfaces. */
:root{--navy:var(--brand-heading,var(--brand-primary))}a,.linkbutton{color:var(--brand-heading,var(--brand-primary))}
.onboarding-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding:14px 0}.onboarding-row label{display:flex;align-items:center;gap:12px;margin:0}.onboarding-row input[type=checkbox],#pilot-outcome input[type=checkbox]{width:24px;min-height:24px;flex-shrink:0}.scenario .worksheet{border:1px solid var(--border);padding:14px}.scenario{overflow-wrap:anywhere}#pilot-outcome textarea{min-height:160px}@media(max-width:700px){.onboarding-row{align-items:flex-start;flex-direction:column}}
@media print{thead{display:table-header-group}.report-asset-table th,.report-asset-table td{overflow-wrap:anywhere}.report-asset-table tr{break-inside:avoid}}
@page tmv-evidence{size:A4 landscape;margin:12mm}
@media print{.report,.interim-report{page:tmv-evidence}.tmv-report-register{overflow:visible}.tmv-report-register td:first-child{max-width:55mm;overflow-wrap:anywhere}.tmv-report-register table{border-collapse:collapse}}
@media print{.tmv-report-register table{table-layout:fixed}.tmv-report-register th:nth-child(1){width:18%}.tmv-report-register th:nth-child(2),.tmv-report-register th:nth-child(3){width:6%}.tmv-report-register th:nth-child(4){width:7%}.tmv-report-register th:nth-child(5){width:9%}.tmv-report-register th:nth-child(6){width:10%}.tmv-report-register th:nth-child(7){width:30%}.tmv-report-register th:nth-child(8){width:14%}.tmv-report-register .report-qr{min-width:0;width:auto}.tmv-report-register td{word-break:normal}}
@media print{html{background:white}}

/* Journey navigation and multi-line pricing retain the active company palette. */
.selector[hidden]{display:none!important}
.company-archive-toggle{display:flex;align-items:center;gap:9px;margin:12px 0 22px;font-size:13px;font-weight:400;color:#526e82;min-height:44px}.company-archive-toggle input{width:18px;height:18px;min-height:18px;margin:0;accent-color:#176083}
#nav details summary{cursor:pointer;padding:13px 15px;font-size:15px;color:inherit}
#nav details button{display:block;width:100%}
#apply-price fieldset{border:1px solid var(--border);border-radius:8px;padding:12px}
#apply-price fieldset label{display:flex;align-items:center;gap:12px;min-height:48px}
#apply-price input[type=checkbox]{width:24px;height:24px;min-height:24px;margin:0;flex:0 0 auto}
[data-work-stage][aria-pressed=true]{background:var(--brand-secondary);color:#fff}
.client-result-counts>span{padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff}

.display-controls[hidden]{display:none!important}

.temperature-status.status-green{background:var(--status-green-bg);color:var(--status-green)}

/* Readiness is separate from the recorded compliance outcome. */
.engineer-service .service-actions button.submission-ready{border:3px solid #16803d;box-shadow:0 0 0 2px #dcfce7}
.submission-confirmation{border:2px solid #16803d;background:#f0fdf4;color:#14532d}
.submission-confirmation strong{font-size:1.125rem}

/* Keep conditional identification fields hidden despite form layout rules. */
.engineer-service [hidden]{display:none!important}
#camera:not(.qr-recorded),#queue-camera{background:#e5e7eb!important;color:#172b3a!important;border:2px solid #9ca3af!important;border-radius:8px}
#camera:not(.qr-recorded):hover,#queue-camera:hover{background:#d1d5db!important}
#manual-fields{grid-column:1 / -1}

.probe-options{margin-bottom:1rem}.engineer-service #change-service-probe{background:#f1f5f9!important;color:#172b3a!important;border:1px solid #94a3b8!important}

#nav .nav-group{border-top:1px solid #ffffff26;margin-top:8px;padding-top:4px}#nav .nav-group summary{font-weight:600}#nav .nav-group button{padding-left:26px}



.engineer-app-link{display:block;margin:12px 8px;padding:14px 12px;border-radius:8px;background:#087ca7;color:white;text-decoration:none;font-weight:600;text-align:center}

/* Existing identity is confirmation-first; edits remain an explicit choice. */
.equipment-recorded .equipment-correction{display:none}
.equipment-recorded:has(> .equipment-edit-switch input:checked) .equipment-standard{display:none}
.equipment-recorded:has(> .equipment-edit-switch input:checked) .equipment-correction{display:block}
.equipment-recorded .check{display:flex;align-items:flex-start;gap:12px;min-width:0}
.equipment-recorded .check input{flex:0 0 22px;width:22px;height:22px;min-height:22px;padding:0}
.equipment-recorded .check span{min-width:0;overflow-wrap:anywhere}

/* Shared compact engineer journey */
.inline-remedial{margin:12px 0;padding:14px;border:1px solid #c9dae4;border-radius:12px;background:#fff}.inline-remedial summary{font-weight:700;cursor:pointer}.inline-remedial fieldset{border:0;padding:8px 0}.inline-remedial .check{display:flex;gap:10px;align-items:center;min-height:44px;margin:6px 0}.inline-remedial input[type=radio]{width:22px;height:22px;flex-shrink:0}.failsafe-evidence{margin:12px 0}.failsafe-evidence label{display:block;margin:12px 0}.failsafe-evidence input,.failsafe-evidence textarea{width:100%}.temperature-card{border:1px solid #d6e2e9;border-radius:16px;padding:16px;background:white}.temperature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.compact-reading{padding:0!important;border:0!important;margin:0!important}.compact-reading h3{font-size:18px;margin:8px 0}.compact-reading .sub{font-size:14px;margin:4px 0}.compact-reading .reading-box{padding:10px}.compact-reading .reading-input input{font-size:26px;min-width:0;width:100%}.compact-reading .button{font-size:14px;padding:10px}.compact-reading .tap-grid{grid-template-columns:1fr}.photo-actions{display:flex;gap:10px}.photo-actions>*{flex:1}.photo-caption+label{font-size:14px}.reading-checks{gap:12px}.reading-check{padding:12px}.reading-check input{min-height:44px}#dock:has([data-action=submit-next]){flex-wrap:wrap}#dock [data-action=submit-next]{flex-basis:100%}@media(max-width:380px){.temperature-grid{grid-template-columns:1fr}}

.inline-remedial fieldset:not(:has(input[value="other"]:checked)) .inline-custom{display:none}

/* Release 26: full-width readings, including return choices and inline remedials. */
.temperature-grid{grid-template-columns:minmax(0,1fr);gap:20px}
.temperature-card .compact-reading{padding:0 0 20px!important;border-bottom:1px solid #d6e2e9!important}
.temperature-card .compact-reading:last-child{padding-bottom:0!important;border-bottom:0!important}
.temperature-card .compact-reading h3{font-size:1.15rem}
.temperature-card .reading-box{padding:12px 14px}
.temperature-card .reading-input{display:flex;align-items:center;gap:12px}
.temperature-card .reading-input input{flex:1 1 auto;min-width:0;font-size:2rem}
.temperature-card .reading-input>span{flex:0 0 auto;white-space:nowrap;overflow-wrap:normal;font-size:1.5rem}
.temperature-card .reading-result{font-size:1rem}
.temperature-card .compact-reading .tap-grid{grid-template-columns:minmax(0,1fr)}
.temperature-card .inline-remedial{width:100%;box-sizing:border-box}
#service .reading-checks{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
#service .reading-checks>.reading-check,#service .reading-checks>.inline-remedial{min-width:0;width:100%;box-sizing:border-box}
/* Keep the administrator's presentation controls visible in every desktop view. */
.admin-view-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-view-controls:empty{display:none}.admin-view-controls label{display:flex;align-items:center;gap:8px;margin:0}.admin-view-controls select{width:auto;min-width:110px}.admin-view-controls small{font-size:11px;max-width:150px}
.journey-focus{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.journey-focus button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:18px}.journey-focus strong{font-size:1.8rem}.journey-focus button[aria-pressed="true"]{background:#e1f4fb;border:2px solid #008bbb;color:#07374e}.journey-sites{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px}.journey-sites article{border:1px solid #d5e3eb;border-radius:12px;padding:18px;min-width:0}.journey-sites h3{margin-top:0}.journey-sites button{margin:4px 6px 4px 0}.journey-setup{margin-top:16px}.journey-setup summary{font-weight:700;cursor:pointer;padding:10px 0}.journey-next{border-left:4px solid #008bbb}
.handover-site{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:12px;margin:8px 0;border:1px solid #ccd8df;border-radius:8px;cursor:pointer}.handover-site input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;margin:2px 0}.handover-site small{display:block;font-size:12px;font-weight:400}.platform-credit img{max-width:16px}footer .platform-credit span{display:inline}

.found-tmv-action{margin:0 0 16px}#found-tmv-form .field{display:flex;flex-direction:column;gap:6px}#found-tmv-error[hidden]{display:none}

/* Navigation rows keep their natural height, including at enlarged text sizes. */
#nav{align-content:start;grid-auto-rows:max-content;min-height:0;scrollbar-width:thin;scrollbar-color:#ffffff65 transparent}
#nav :is(button,.nav-app){height:auto;line-height:1.4;white-space:normal;overflow-wrap:anywhere;min-width:0}
#nav .training-nav{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 15px;border:1px solid #ffffff60;background:#ffffff14;color:var(--brand-on-primary);margin:0 0 8px;text-align:left;box-shadow:none}
#nav .training-nav span{font-weight:700}
#nav .training-nav small,#nav .nav-app small{display:block;font-size:.75rem;line-height:1.4;font-weight:400;color:inherit;opacity:.85}
#nav .training-nav:is(:hover,.active){background:var(--brand-secondary);color:var(--brand-on-secondary);border-color:var(--brand-on-secondary)}
#nav .nav-app{display:block;text-decoration:none;padding:13px 15px;border-radius:7px;color:var(--brand-on-primary);font-size:14px;font-weight:600;min-height:48px}
#nav .nav-app:hover{background:var(--brand-secondary);color:var(--brand-on-secondary)}
#nav a:focus-visible{outline:3px solid currentColor;outline-offset:-3px}
aside .brand{flex-shrink:0}
aside .brand .company-brand{gap:8px;width:100%}
aside .brand .official-logo{margin:0;max-height:64px;width:100%;object-fit:contain;object-position:left center}
aside .brand .company-brand strong{font-size:.875rem;line-height:1.4}
@media screen and (min-width:1367px){
 aside{padding:20px 14px;overflow:hidden;height:100dvh}
 aside .product{margin:20px 12px 14px;font-size:11px;line-height:1.5;flex-shrink:0}
 aside #nav{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:5px}
 aside .aside-foot{padding:16px 12px 0}
 aside .aside-foot p{font-size:18px;margin:12px 0}
}

.training-regime{display:inline-block;border-radius:6px;padding:5px 9px;font-size:13px;font-weight:700;line-height:1.4;white-space:nowrap;border:1px solid}.training-htm{color:#54308b;background:#f1eafa;border-color:#c8b0e9}.training-commercial{color:#075c6a;background:#e4f4f5;border-color:#9acdd2}.training-schedule{font-size:14px;line-height:1.8}

.training-sales-overview{border-left:4px solid #29846c}.training-journey{list-style:none;margin:18px 0;padding:0 0 0 16px;border-left:2px solid #ccdbe4}.training-stage{position:relative;margin:0 0 14px;padding:14px 16px;border:1px solid #dce5eb;background:#fff;border-radius:10px;overflow-wrap:anywhere}.training-stage:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;left:-23px;top:20px;background:#527b92;border:2px solid #fff}.training-stage-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.training-stage-heading time{font-size:13px;color:#526b7b;white-space:nowrap}.training-stage p{margin:8px 0;line-height:1.55}.training-stage-service{border-left:3px solid #527b92}.training-stage-raised{border-left:3px solid #bc3843}.training-stage-quote{border-left:3px solid #c58b21}.training-stage-approved{border-left:3px solid #7250a4}.training-stage-repair{border-left:3px solid #277a99}.training-stage-retest,.training-stage-signed_off,.training-stage-closed{border-left:3px solid #28836a}.training-example-label,.training-resolved{color:#17654f;font-weight:600}.training-resolved{font-size:13px}.training-case{margin-top:14px}
