:root{--bg:#f4f7f9;--ink:#17212b;--muted:#667584;--green:#178153;--yellow:#d59b25;--red:#c94141;--blue:#1769aa;--panel:#fff;--line:#dce4ea}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.topbar{height:64px;background:#10202e;color:#fff;padding:0 22px;display:flex;align-items:center;justify-content:space-between}.topbar strong{font-size:20px}.topbar span{display:block;font-size:11px;opacity:.7}.topbar nav{display:flex;gap:16px;font-size:13px}.shell{max-width:1250px;margin:auto;padding:20px}.login-card{max-width:420px;margin:8vh auto;background:#fff;padding:28px;border-radius:18px;box-shadow:0 15px 50px #2233}.login-card label,.gridform label,.report label{display:grid;gap:6px;margin:12px 0}input,textarea,select{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit}.btn{display:inline-block;border:1px solid #c7d2dc;border-radius:12px;padding:11px 16px;background:#fff;font-weight:750;text-align:center;cursor:pointer}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.danger{background:var(--red);color:#fff;border-color:var(--red)}.btn.huge{display:block;width:100%;font-size:18px;padding:17px;margin:12px 0}.btn span{font-size:13px;font-weight:600}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.hero small{font-weight:800;letter-spacing:.12em;color:#4f7b8f}.hero h1{margin:4px 0}.live{color:#23a56f;font-weight:800}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:18px 0}.kpis>div,.specs>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.kpis span,.specs span{display:block;color:var(--muted);font-size:12px}.kpis strong,.specs strong{display:block;font-size:26px;margin-top:5px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin:16px 0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.status.healthy{background:#dff4e8;color:#176b45}.status.due{background:#fff1ce;color:#8b6415}.status.overdue{background:#fde0e0;color:#a42c2c}.operator-home{max-width:650px;margin:auto}.operator-home>h1{font-size:28px}.cleaner-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;margin:10px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}.cleaner-card div{display:grid;gap:4px}.cleaner-card span{font-size:12px;color:var(--muted)}.cleaner-card b{font-size:13px}.all-clear,.complete{background:#fff;border:1px solid var(--line);border-radius:18px;padding:35px;text-align:center;display:grid;gap:7px}.qr-home,.inspection,.report,.qr-print{max-width:620px;margin:auto;text-align:center}.status-banner{border-radius:18px;color:#fff;padding:20px;margin-bottom:18px;display:grid;gap:4px}.status-banner.healthy{background:var(--green)}.status-banner.due{background:var(--yellow)}.status-banner.overdue{background:var(--red)}.status-banner strong{font-size:26px}.tension{background:#10202e;color:#fff;border-radius:18px;padding:20px;margin:18px 0;display:grid;gap:7px}.tension span{font-size:12px;opacity:.8}.tension strong{font-size:30px}.check{background:#fff;border:2px solid var(--line);border-radius:18px;padding:20px;margin:13px 0;display:flex!important;align-items:center;gap:15px;text-align:left}.check input{width:30px;height:30px}.check span{display:grid}.check b{font-size:20px}.check small{font-size:15px;color:var(--muted)}.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.problem-grid label{margin:0!important}.problem-grid input{position:absolute;opacity:0}.problem-grid span{display:grid;background:#fff;border:2px solid var(--line);border-radius:14px;padding:15px;min-height:80px;place-content:center}.problem-grid input:checked+span{border-color:var(--red);background:#fff0f0}.problem-grid small{color:var(--muted)}.tick,.warn{font-size:60px}.tick{color:var(--green)}.warn{color:var(--red)}.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.actions{display:flex;gap:10px;margin:14px 0}.timeline{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid var(--line)}.timeline span{color:var(--muted);font-size:12px}.gridform{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:18px}.gridform textarea{grid-column:span 2}.error{background:#ffe6e6;color:#9d2929;padding:10px;border-radius:9px}.qr-print #qrcode{display:grid;place-items:center;background:#fff;padding:20px;margin:20px auto;width:max-content}.qr-print code{display:block;margin:10px;word-break:break-all}@media(max-width:760px){.shell{padding:12px}.topbar{padding:0 12px}.topbar nav a:not(:last-child){display:none}.kpis{grid-template-columns:1fr 1fr}.specs,.gridform{grid-template-columns:1fr}.gridform textarea{grid-column:auto}.problem-grid{grid-template-columns:1fr}.hero h1{font-size:24px}.tension strong{font-size:25px}.cleaner-card{align-items:flex-start}.tablewrap{font-size:12px}}@media print{.topbar,.btn{display:none!important}.shell{padding:0}.qr-print{margin-top:30mm}}
.passport-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.passport-grid>div{background:#f7fafc;border:1px solid var(--line);border-radius:12px;padding:12px}
.passport-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}
.passport-grid b{font-size:14px}
@media(max-width:760px){.passport-grid{grid-template-columns:1fr 1fr}}

/* V1.2 visual admin/viewer control-room dashboard */
.mgmt-dashboard{--dash-dark:#121b27;--dash-panel:#182432;--dash-panel2:#1e2d3d;--dash-line:#304152;--dash-text:#f3f7fa;--dash-muted:#9fb0bf;--dash-cyan:#65d0d8;--dash-orange:#e8a54b;--dash-red:#e36f6f;--dash-green:#59bf87;background:var(--dash-dark);color:var(--dash-text);border-radius:22px;padding:20px}
.mgmt-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.mgmt-hero .eyebrow{font-size:11px;letter-spacing:.14em;color:var(--dash-cyan);font-weight:800}.mgmt-hero h1{margin:4px 0 4px;font-size:28px}.mgmt-hero p{margin:0;color:var(--dash-muted)}
.live-chip{border:1px solid var(--dash-line);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.live-chip span{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--dash-green);margin-right:6px}
.mgmt-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.mgmt-kpi{background:var(--dash-panel);border:1px solid var(--dash-line);border-radius:14px;padding:15px}.mgmt-kpi>span{display:block;color:var(--dash-muted);font-size:12px}.mgmt-kpi>strong{display:block;font-size:28px;margin:5px 0}.mgmt-kpi small{color:var(--dash-muted);font-size:12px}.trend-up{color:var(--dash-green)!important}.trend-down{color:var(--dash-red)!important}
.mini-progress{height:7px;background:#243544;border-radius:999px;overflow:hidden;margin:8px 0}.mini-progress i{display:block;height:100%;background:var(--dash-cyan);border-radius:999px}
.mgmt-grid{display:grid;gap:12px;margin-bottom:12px}.top-grid{grid-template-columns:2fr 1fr}.mid-grid{grid-template-columns:1fr 1.2fr}.visual-panel{background:var(--dash-panel);border:1px solid var(--dash-line);border-radius:16px;padding:16px;margin-bottom:12px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.panel-heading h2{margin:0;font-size:17px}.panel-heading p{margin:3px 0 0;color:var(--dash-muted);font-size:12px}
.month-chart{height:230px;display:grid;grid-template-columns:repeat(6,1fr);gap:9px;align-items:end;border-bottom:1px solid var(--dash-line);padding:8px 4px 0}.month-col{text-align:center;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.bar-zone{height:165px;display:flex;justify-content:center;align-items:flex-end;gap:5px}.bar{width:18px;min-height:2px;border-radius:5px 5px 0 0}.audit-bar{background:var(--dash-cyan)}.issue-bar{background:var(--dash-orange)}.bar-values{font-size:11px;margin-top:5px}.bar-values b{color:var(--dash-cyan);margin-right:4px}.bar-values span{color:var(--dash-orange)}.month-col small{color:var(--dash-muted);font-size:10px;margin-top:3px}.chart-legend{display:flex;gap:18px;margin-top:12px;color:var(--dash-muted);font-size:11px}.chart-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px}.legend-audit{background:var(--dash-cyan)}.legend-issue{background:var(--dash-orange)}
.donut-wrap{display:flex;justify-content:center;padding:10px}.donut{width:170px;height:170px;border-radius:50%;background:conic-gradient(var(--dash-cyan) calc(var(--pct)*1%),#263746 0);display:grid;place-items:center}.donut>div{width:122px;height:122px;border-radius:50%;background:var(--dash-panel);display:flex;flex-direction:column;align-items:center;justify-content:center}.donut strong{font-size:30px}.donut span{font-size:10px;color:var(--dash-muted);letter-spacing:.08em}.status-split{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center}.status-split div{border-top:1px solid var(--dash-line);padding-top:10px}.status-split b,.status-split span{display:block}.status-split span{font-size:10px;color:var(--dash-muted)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:3px}.healthy-dot{background:var(--dash-green)}.due-dot{background:var(--dash-orange)}.overdue-dot{background:var(--dash-red)}
.improvement-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.improve-item{background:var(--dash-panel2);border:1px solid var(--dash-line);border-radius:12px;padding:13px}.improve-item span,.improve-item small{display:block;color:var(--dash-muted);font-size:11px}.improve-item strong{display:block;font-size:25px;margin:6px 0}.good-number{color:var(--dash-green)}.bad-number{color:var(--dash-red)}
.site-list{display:grid;gap:10px}.site-row{display:grid;grid-template-columns:125px 1fr 45px;gap:10px;align-items:center}.site-name strong,.site-name span{display:block}.site-name strong{font-size:12px}.site-name span{font-size:10px;color:var(--dash-muted)}.site-progress{height:8px;background:#263746;border-radius:999px;overflow:hidden}.site-progress i{display:block;height:100%;background:var(--dash-cyan);border-radius:999px}.site-row>b{text-align:right;font-size:12px}
.operator-activity-list{display:grid;gap:8px}.operator-activity-row{display:grid;grid-template-columns:38px 180px 1fr 70px 70px;gap:10px;align-items:center;border-bottom:1px solid var(--dash-line);padding:8px 0}.avatar{width:34px;height:34px;border-radius:50%;background:#2c4052;display:grid;place-items:center;color:var(--dash-cyan);font-weight:800}.operator-meta strong,.operator-meta span{display:block}.operator-meta strong{font-size:12px}.operator-meta span{font-size:10px;color:var(--dash-muted)}.operator-bar-wrap{height:8px;background:#263746;border-radius:999px;overflow:hidden}.operator-bar-wrap i{display:block;height:100%;background:var(--dash-cyan)}.operator-count{text-align:center}.operator-count strong,.operator-count span{display:block}.operator-count strong{font-size:15px}.operator-count span{font-size:9px;color:var(--dash-muted)}.activity-badge{border-radius:999px;text-align:center;padding:5px 7px;font-size:9px;font-weight:800}.activity-badge.active{background:#173c31;color:#7ae0ad}.activity-badge.recent{background:#493b1d;color:#f0bd68}.activity-badge.inactive{background:#4a2528;color:#f29a9a}.empty-visual{padding:24px;text-align:center;color:var(--dash-muted)}
.fleet-table-panel table{color:var(--dash-text)}.fleet-table-panel th,.fleet-table-panel td{border-color:var(--dash-line)}.fleet-table-panel a{color:var(--dash-cyan)}
@media(max-width:900px){.mgmt-kpis{grid-template-columns:repeat(2,1fr)}.top-grid,.mid-grid{grid-template-columns:1fr}.operator-activity-row{grid-template-columns:38px 1fr 70px}.operator-bar-wrap{grid-column:2/4}.activity-badge{grid-column:3}.site-row{grid-template-columns:100px 1fr 42px}}
@media(max-width:600px){.mgmt-dashboard{padding:12px;border-radius:14px}.mgmt-kpis{grid-template-columns:1fr 1fr}.mgmt-hero h1{font-size:23px}.month-chart{gap:3px}.bar{width:11px}.improvement-cards{grid-template-columns:1fr}.status-split{grid-template-columns:repeat(3,1fr)}}

/* BeltVigil branding: shared header and footer. */
body{min-height:100vh;display:flex;flex-direction:column}
.shell{width:100%;flex:1 0 auto}
.topbar{height:auto;min-height:76px}
.beltvigil-brand{display:flex;align-items:center;flex:0 1 auto;min-width:0;max-width:min(330px,36vw);overflow:hidden}
.beltvigil-brand img{display:block;width:auto;height:clamp(40px,4.2vw,56px);max-width:calc(100% - 58px);max-height:56px;object-fit:contain;flex:0 1 auto}
.site-footer{width:100%;margin:0 auto;padding:20px 16px;display:flex;align-items:center;justify-content:center;text-align:center;color:#667584;font-size:13px}
@media(max-width:760px){.topbar{min-height:64px;align-items:center}.beltvigil-brand{max-width:100%}.beltvigil-brand img{width:auto;height:40px;max-width:calc(100% - 50px)}}

/* BeltVigil brand colour system. Semantic status colours remain unchanged. */
:root{--brand-navy:#071d33;--brand-orange:#f0441e}
.topbar{background:var(--brand-navy)}
.print-report-header{border-bottom-color:var(--brand-orange)}
.issue-bell b{border-color:var(--brand-navy)}
.tour-help-button:hover,.tour-help-button:focus-visible{color:var(--brand-navy)}
.tour-highlight{outline-color:var(--brand-orange)!important;box-shadow:0 0 0 8px rgba(240,68,30,.18),0 12px 36px rgba(0,0,0,.3)!important}
.tour-card{border-top-color:var(--brand-orange)}
.tour-actions .tour-next{border-color:var(--brand-orange);background:var(--brand-orange)}

/* Live open-issue bell and notification centre. */
.issue-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:19px}
.issue-bell b{position:absolute;top:-8px;right:-8px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border:2px solid #10202e;border-radius:999px;background:#e03131;color:#fff;font-size:11px;line-height:1}
.issue-bell-active{border-color:#ff8a8a;background:#4b1f25;box-shadow:0 0 0 4px rgba(224,49,49,.14);animation:issue-bell-pulse 1.8s ease-in-out infinite}
@keyframes issue-bell-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.notification-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.notification-heading h1{margin:4px 0}.open-issue-total{display:grid;place-items:center;min-width:76px;min-height:76px;border-radius:18px;background:#ffe2e2;color:#a61e1e}.open-issue-total strong{font-size:30px;line-height:1}.open-issue-total span{font-size:10px;font-weight:800;text-transform:uppercase}
.open-issue-list{display:grid;gap:12px}.open-issue-card{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-left:5px solid var(--yellow);border-radius:14px;padding:16px}.open-issue-card.severity-high{border-left-color:#e67700}.open-issue-card.severity-critical{border-left-color:#c92a2a}.open-issue-card h2{margin:4px 0;font-size:18px}.open-issue-card p{margin:5px 0;color:var(--muted)}.open-issue-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px}.open-issue-meta span{padding:4px 8px;border-radius:999px;background:#f1f3f5}.notification-empty{padding:34px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:16px}
@media(max-width:760px){.topbar nav .issue-bell{display:inline-flex!important}.open-issue-card{grid-template-columns:1fr}.notification-heading{align-items:center}}

.whatsapp-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.whatsapp-summary>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px}.whatsapp-summary span{display:block;color:var(--muted);font-size:12px}.whatsapp-summary strong{display:block;font-size:22px;margin-top:4px}.delivery-sent{color:var(--green)}.delivery-failed{color:var(--red)}.delivery-pending{color:var(--yellow)}
.delivery-error{display:block;margin-top:7px;padding:9px;border-radius:8px;background:#fff0f0;color:#9d2929;white-space:pre-wrap;word-break:break-word;font-size:11px}
@media(max-width:760px){.whatsapp-summary{grid-template-columns:1fr}}

/* Multi-channel alert hierarchy layout. */
.alert-add-form{align-items:end}.channel-options{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.channel-options label{display:flex!important;align-items:center;gap:7px;margin:0!important;white-space:nowrap}.channel-options input[type=checkbox]{width:18px;height:18px;margin:0}.alert-contact-list{display:grid;gap:14px;margin:18px 0}.alert-contact-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.contact-card-heading,.contact-card-footer{display:flex;justify-content:space-between;align-items:center;gap:15px}.contact-card-heading{padding-bottom:12px;border-bottom:1px solid var(--line)}.contact-fields{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;padding:14px 0}.contact-fields label{display:grid;gap:5px;color:var(--muted);font-size:12px}.contact-fields input,.contact-fields select{color:var(--ink)}.contact-actions{display:flex;gap:8px}.alert-add-form .channel-options{padding:8px 0}@media(max-width:900px){.contact-fields{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media(max-width:600px){.contact-fields{grid-template-columns:1fr}.contact-card-footer{align-items:stretch;flex-direction:column}.contact-actions{display:grid;grid-template-columns:1fr 1fr}.contact-card-heading{align-items:flex-start}}
/* Comprehensive admin/viewer printable reporting. */
.report-centre{display:grid;gap:16px}.report-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.report-toolbar small{font-weight:800;letter-spacing:.12em;color:#4f7b8f}.report-toolbar h1{margin:4px 0}.report-toolbar p{margin:0;color:var(--muted)}.report-filters{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.report-filters label{display:grid;gap:6px}.print-report-header{display:flex;align-items:center;gap:20px;padding:18px;border-bottom:3px solid #178153;background:#fff}.print-report-header img{width:190px;height:auto}.print-report-header h1{margin:0 0 5px}.print-report-header p,.print-report-header small{margin:0;color:var(--muted)}.report-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.report-kpis>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px}.report-kpis span,.report-kpis small{display:block;color:var(--muted);font-size:11px}.report-kpis strong{display:block;font-size:23px;margin:4px 0}.report-section{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.report-section h2{margin:0 0 12px}.report-table th{background:#edf3f5}.report-table td{vertical-align:top}.report-table td small{display:block;margin-top:4px;color:var(--muted);line-height:1.35}.report-open-issue{background:#fff0f0}.print-signoff{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;background:#fff;border-top:1px solid var(--line);padding:30px 16px}.print-signoff div{min-height:55px}.print-signoff strong{display:block;margin-top:18px}.report-table a{color:var(--blue);font-weight:700}@media(max-width:900px){.report-kpis{grid-template-columns:repeat(3,1fr)}.report-filters{grid-template-columns:repeat(2,1fr)}.print-report-header{align-items:flex-start}.print-report-header img{width:145px}}@media(max-width:600px){.report-toolbar{display:grid}.report-filters{grid-template-columns:1fr}.report-kpis{grid-template-columns:repeat(2,1fr)}.print-report-header{display:grid}.print-signoff{grid-template-columns:1fr}.report-section{padding:10px}}
@media print{@page{size:A4 landscape;margin:9mm}body{background:#fff!important;font-size:9pt}.no-print,.topbar,.site-footer,.page-back{display:none!important}.shell{max-width:none!important;padding:0!important}.report-centre{display:block}.print-report-header{padding:0 0 8px;margin-bottom:8px}.print-report-header img{width:135px}.print-report-header h1{font-size:18pt}.report-kpis{grid-template-columns:repeat(6,1fr);margin-bottom:8px}.report-kpis>div{padding:7px;border-radius:4px}.report-kpis strong{font-size:16pt}.report-section{border:0;border-radius:0;padding:0;margin:0 0 12px;break-inside:auto}.report-section h2{font-size:13pt;margin:8px 0}.tablewrap{overflow:visible}.report-table{font-size:7.5pt}.report-table th,.report-table td{padding:5px;border:1px solid #bcc7cd}.report-table thead{display:table-header-group}.report-table tr{break-inside:avoid}.report-open-issue{background:#f5d0d0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-signoff{padding:18px 4px 0;break-inside:avoid}}

/* Role-aware guided onboarding. */
.tour-help-button{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:transparent;color:#fff;font-family:inherit;font-size:16px;font-weight:800;line-height:1;cursor:pointer}.tour-help-button:hover,.tour-help-button:focus-visible{background:#fff;color:#10202e;outline:0}.tour-reset-link{border:0;padding:0;background:none;color:var(--blue);font:inherit;cursor:pointer}.tour-reset-link:hover{text-decoration:underline}
.tour-overlay{position:fixed;inset:0;z-index:10000;pointer-events:none}.tour-shade{position:absolute;inset:0;background:rgba(5,13,20,.7);pointer-events:auto}.tour-highlight{position:relative!important;z-index:10001!important;outline:3px solid #e33b3b!important;outline-offset:5px!important;border-radius:8px;box-shadow:0 0 0 8px rgba(227,59,59,.18),0 12px 36px rgba(0,0,0,.3)!important}.tour-card{position:fixed;z-index:10002;width:min(370px,calc(100vw - 24px));padding:18px;border:1px solid #e4e9ed;border-top:4px solid #d72b2b;border-radius:14px;background:#fff;color:#17212b;box-shadow:0 22px 65px rgba(0,0,0,.35);pointer-events:auto}.tour-card h2{margin:10px 0 7px;font-size:20px}.tour-card p{margin:0;color:#526271;font-size:14px;line-height:1.5}.tour-progress,.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.tour-progress span{color:#8a99a6;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.tour-progress button{border:0;background:none;color:#657582;font:inherit;font-size:12px;cursor:pointer}.tour-actions{margin-top:18px}.tour-actions button{min-width:88px;padding:9px 14px;border:1px solid #ccd5dc;border-radius:9px;background:#fff;color:#263644;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}.tour-actions .tour-next{margin-left:auto;border-color:#c92f2f;background:#c92f2f;color:#fff}.tour-actions button:disabled{opacity:.35;cursor:default}
@media(max-width:760px){.topbar nav .tour-help-button{display:inline-grid!important}.tour-card{position:fixed!important;left:12px!important;right:12px;bottom:12px;top:auto!important;width:auto}.tour-highlight{outline-offset:3px!important}}
@media(prefers-reduced-motion:reduce){.issue-bell-active{animation:none}}
/* Operator navigation remains compact and management-free. */
.operator-nav{display:flex;align-items:center;gap:14px}@media(max-width:760px){.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px 12px}.header-brand-group{width:100%;max-width:100%;overflow:hidden}.beltvigil-brand{min-width:0;max-width:100%}.beltvigil-brand img{width:auto;height:38px;max-width:calc(100% - 48px)}.topbar nav.operator-nav{display:flex;gap:8px}.topbar nav.operator-nav a{display:inline-flex!important;align-items:center;justify-content:center;padding:8px 9px;border:1px solid rgba(255,255,255,.18);border-radius:9px;font-size:11px;white-space:nowrap}.site-footer{display:flex!important;width:100%;margin:0!important;align-items:center!important;justify-content:center!important;text-align:center!important}}

/* Shared field tools resource */
.tools-nav-link{gap:5px}.tools-nav-link span{font-size:16px!important;opacity:1!important}.tools-nav-link em{font-style:normal}.tools-operator-button{display:block;width:100%;margin:10px 0;background:#10202e;color:#fff;border-color:#10202e;font-size:16px}.tools-operator-button span{color:#bcd0da}.tools-resource-page{max-width:950px;margin:auto}.tools-resource-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.tools-resource-hero small{font-weight:850;letter-spacing:.13em;color:#4f7b8f}.tools-resource-hero h1{margin:5px 0;font-size:34px}.tools-resource-hero p{max-width:650px;margin:0;color:var(--muted);line-height:1.55}.tools-applicability>span{display:block;margin-bottom:10px;color:var(--muted);font-size:12px;font-weight:750}.tools-applicability>div{display:flex;flex-wrap:wrap;gap:8px}.tools-applicability strong{padding:7px 11px;border-radius:999px;background:#e1f3f4;color:#087b80;font-size:12px}.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.tool-card{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:13px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff}.tool-card>b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#10202e;color:#68dce0;font-size:13px}.tool-card span,.tool-card strong{display:block}.tool-card span{margin-bottom:4px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.tool-card strong{font-size:15px}.tools-safety-note{padding:18px 20px;border-left:5px solid #d59b25;border-radius:12px;background:#fff7df}.tools-safety-note strong{color:#7d5912}.tools-safety-note p{margin:5px 0 0;color:#5f5135;font-size:13px;line-height:1.55}
@media(max-width:760px){.topbar nav .tools-nav-link{display:inline-flex!important;width:34px;height:34px;min-width:34px;padding:0!important;border:1px solid rgba(255,255,255,.25);border-radius:50%}.tools-nav-link em{display:none}.tools-resource-hero{display:grid}.tools-resource-hero .btn{width:max-content}.tools-grid{grid-template-columns:1fr}.tool-card{padding:14px}.tools-resource-hero h1{font-size:28px}}

/* Cleaner lifecycle states. */
.spanner-sizes{display:grid!important;grid-template-columns:repeat(2,minmax(108px,1fr));gap:10px!important}.spanner-sizes>div{min-width:0;padding:11px 12px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.96);color:#10202e}.spanner-sizes>div>b{display:block;white-space:nowrap;font-size:16px;letter-spacing:.02em}.spanner-sizes>div>b i{color:#607482;font-size:10px;font-style:normal;font-weight:750;text-transform:uppercase}.spanner-sizes>div>small{display:block;margin-top:4px;color:#687985;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}@media(max-width:430px){.spanner-sizes{grid-template-columns:1fr 1fr!important;gap:8px!important}.spanner-sizes>div{padding:10px}.spanner-sizes>div>b{font-size:14px}}
.tools-applies{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:20px 0 12px;color:var(--muted);font-size:11px}.tools-applies>span{margin-right:3px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.tools-applies strong{padding:5px 9px;border:1px solid #c8e3e5;border-radius:999px;background:#edf8f8;color:#087b80;font-size:11px}.toolkit-board{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:12px;padding:14px;border:1px solid #264554;border-radius:20px;background:linear-gradient(135deg,#0c2331,#123d4d);box-shadow:0 18px 45px rgba(16,32,46,.14)}.toolkit-item{display:flex;align-items:center;gap:15px;min-height:145px;padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.07);color:#fff}.toolkit-icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:15px;background:#ff5a1f;font-size:27px;box-shadow:0 10px 24px rgba(255,90,31,.22)}.toolkit-content{min-width:0}.toolkit-content>span,.toolkit-content>strong,.toolkit-content>small{display:block}.toolkit-content>span{margin-bottom:8px;color:#8ee5e7;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.toolkit-content>strong{font-size:20px}.toolkit-content>small{margin-top:9px;color:#b8cbd3;font-size:10px;line-height:1.4}.spanner-sizes{display:flex;flex-wrap:wrap;gap:7px}.spanner-sizes b{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:8px 10px;border-radius:9px;background:#fff;color:#10202e;font-size:14px}.tools-safety-note{display:flex;align-items:flex-start;gap:12px;margin-top:12px;padding:13px 16px;border:1px solid #ead8a1;border-left:1px solid #ead8a1;border-radius:12px;background:#fffaf0}.tools-safety-note strong{flex:0 0 auto;color:#7d5912;font-size:12px}.tools-safety-note p{margin:0;color:#6a5b3d;font-size:11px;line-height:1.5}@media(max-width:760px){.toolkit-board{grid-template-columns:1fr 1fr}.spanner-kit{grid-column:1/-1}.toolkit-item{min-height:120px;padding:15px}.tools-safety-note{display:block}.tools-safety-note p{margin-top:5px}}@media(max-width:430px){.toolkit-board{grid-template-columns:1fr}.spanner-kit{grid-column:auto}.toolkit-item{min-height:auto}.toolkit-icon{width:46px;height:46px;flex-basis:46px;font-size:22px}}
.lifecycle-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#e7edf1;color:#435260;font-size:11px;font-weight:850;line-height:1.2;white-space:nowrap}.lifecycle-badge.active{background:#dff4e8;color:#176b45}.lifecycle-badge.maintenance{background:#fff1ce;color:#8b6415}.lifecycle-badge.outage,.lifecycle-badge.repair{background:#ffe5c2;color:#8a4b08}.lifecycle-badge.out-of-service{background:#fde0e0;color:#a42c2c}.lifecycle-badge.archived{background:#dce1e5;color:#5d6871}.cleaner-lifecycle-notice{border-left:5px solid #d59b25;background:#fffaf0}.cleaner-lifecycle-notice strong{font-size:18px}.cleaner-lifecycle-notice p{margin-bottom:0;color:var(--muted)}.lifecycle-help{grid-column:1/-1;margin:0;padding:12px;border-radius:10px;background:#fff8df;color:#6f581b;font-size:12px;line-height:1.45}.cleaner-unavailable{opacity:.62;filter:saturate(.65)}

/* Final separated spanner specification display */
.operator-home .cleaner-card>div{min-width:0;flex:1 1 auto}.operator-home .cleaner-card>.status{flex:0 0 auto;white-space:nowrap;word-break:keep-all}
.operator-home .tools-operator-button{display:flex!important;flex-direction:column;align-items:center;justify-content:center;width:100%;text-align:center!important}.operator-home .tools-operator-button span{display:block;width:100%;text-align:center!important}
.toolkit-board .spanner-sizes{display:grid!important;grid-template-columns:repeat(2,minmax(108px,1fr))!important;gap:10px!important}.toolkit-board .spanner-sizes>div{min-width:0;padding:11px 12px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.96);color:#10202e}.toolkit-board .spanner-sizes>div>b{display:block;min-width:0;padding:0;border-radius:0;background:transparent;color:#10202e;white-space:nowrap;font-size:16px;letter-spacing:.02em}.toolkit-board .spanner-sizes>div>b i{color:#607482;font-size:10px;font-style:normal;font-weight:750;text-transform:uppercase}.toolkit-board .spanner-sizes>div>small{display:block;margin-top:4px;color:#687985;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}@media(max-width:430px){.toolkit-board .spanner-sizes{grid-template-columns:1fr 1fr!important;gap:8px!important}.toolkit-board .spanner-sizes>div{padding:10px}.toolkit-board .spanner-sizes>div>b{font-size:14px}}

/* Reference layout: centered operator shortcut and stacked mobile tools */
.operator-home .tools-operator-button{width:100%!important;margin:12px 0 22px!important}
@media(max-width:760px){.tools-resource-page{width:100%;max-width:none}.toolkit-board{grid-template-columns:1fr!important;padding:14px}.toolkit-board .spanner-kit{grid-column:auto!important}.toolkit-board .toolkit-item{width:100%;min-height:120px}.toolkit-board .spanner-sizes{grid-template-columns:1fr 1fr!important}.tools-applies{row-gap:9px}}
.issue-ai-indicator{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;margin:10px 0;padding:8px 10px;border-radius:9px;background:#fff4df;color:#744b08;font-size:12px}.issue-ai-indicator.ready{background:#e5f7f6;color:#155a5d}.issue-ai-indicator span{flex-basis:100%;color:inherit;opacity:.86;line-height:1.4}.issue-ai-indicator strong{font-weight:850}

/* Quiet desktop shoulder texture; intentionally removed on compact screens. */
@media(min-width:1320px){body{background-color:#eef3f6;background-image:url('beltvigil-watermark-pattern.svg');background-repeat:repeat;background-position:center top;background-size:360px 220px;background-attachment:fixed}.shell{position:relative;background:rgba(244,247,249,.93);box-shadow:0 0 0 1px rgba(16,32,46,.035),0 18px 55px rgba(16,32,46,.08)}}
@media(max-width:1319px){body{background-image:none}.shell{box-shadow:none}}

.delivery-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.delivery-history-panel{margin:0}.delivery-history-heading,.delivery-attempt-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.delivery-history-heading{padding-bottom:13px;border-bottom:1px solid var(--line)}.delivery-history-heading small{color:#4f7b8f;font-size:10px;font-weight:850;letter-spacing:.12em}.delivery-history-heading h2{margin:3px 0 0}.delivery-history-heading>strong{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border-radius:12px;background:#10202e;color:#fff}.delivery-history-list{display:grid}.delivery-attempt{padding:14px 2px;border-bottom:1px solid var(--line)}.delivery-attempt:last-child{border-bottom:0}.delivery-attempt p{margin:6px 0;color:var(--muted);font-size:13px}.delivery-attempt>small{color:#7b8995}.delivery-attempt details{margin-top:9px}.delivery-attempt summary{color:#556b79;font-size:12px;font-weight:750;cursor:pointer}.delivery-attempt .delivery-error{margin-top:7px}@media(max-width:900px){.delivery-history-grid{grid-template-columns:1fr}}

/* V1.8 issue-linked communication and enforced action workflow. */
.action-bell>span{font-size:17px!important;opacity:1!important}.action-total{background:#e2f3f4;color:#12656b}.action-success{border-color:#9bd3b5;background:#eefaf3;color:#176b45}.action-list{display:grid;gap:14px}.action-card{padding:18px;border:1px solid var(--line);border-left:6px solid #4f9ca5;border-radius:16px;background:#fff}.action-card.action-overdue{border-left-color:#c94141;box-shadow:0 0 0 3px rgba(201,65,65,.08)}.action-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.action-badges{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.action-badges span{padding:5px 9px;border-radius:999px;background:#e9f0f3;color:#405462;font-size:11px;font-weight:800}.action-badges .priority-urgent{background:#fff1ce;color:#8b6415}.action-badges .priority-critical{background:#fde0e0;color:#a42c2c}.action-badges .status-completed{background:#dff4e8;color:#176b45}.action-badges .status-cancelled{background:#e5e8eb;color:#5f6972}.action-card h2{margin:13px 0 3px;font-size:20px}.action-context{margin:0;color:var(--muted)}.action-route{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:14px 0}.action-route>div{padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#f7fafb}.action-route span,.action-route strong,.action-route small{display:block}.action-route span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.action-route strong{margin:3px 0}.action-route small{color:var(--muted)}.action-message{padding:14px 16px;border-radius:12px;background:#10202e;color:#fff;line-height:1.55}.action-details{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.action-details span{padding:5px 8px;border-radius:8px;background:#eef3f5;color:#5b6b78;font-size:11px}.action-details .due-late{background:#fde0e0;color:#a42c2c;font-weight:800}.action-history{margin-top:12px}.action-history summary{color:#436979;font-size:12px;font-weight:800;cursor:pointer}.action-history>div{display:grid;grid-template-columns:150px 1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.action-history span,.action-history small{color:var(--muted)}.action-update-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.action-update-form label{display:grid;gap:6px;color:var(--muted);font-size:12px}.action-update-form textarea{min-height:72px}.action-update-form>div{display:flex;gap:7px;flex-wrap:wrap}.operator-action-alert{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;margin:12px 0 22px;padding:14px 16px;border:2px solid #ff6a32;border-radius:14px;background:#fff5ef;color:#7e2d12}.operator-action-alert span{font-size:11px;font-weight:900;letter-spacing:.08em}.operator-action-alert strong{grid-row:1/3;grid-column:2;display:grid;place-items:center;min-width:42px;height:42px;border-radius:12px;background:#ff6a32;color:#fff;font-size:22px}.operator-action-alert small{color:#745347}
@media(max-width:760px){.action-card-head{display:grid}.action-card-head .btn{width:100%}.action-route{grid-template-columns:1fr}.action-route>b{text-align:center;transform:rotate(90deg)}.action-update-form{grid-template-columns:1fr}.action-history>div{grid-template-columns:1fr}.action-update-form>div{display:grid;grid-template-columns:1fr 1fr}.topbar nav .action-bell{display:inline-flex!important}}

/* Shared viewer/admin Action Desk shortcut. */
.dashboard-action-desk{display:grid;min-width:190px;padding:10px 13px;border:1px solid rgba(255,255,255,.2);border-left:4px solid #57d5da;border-radius:11px;background:rgba(6,25,36,.76);color:#fff}.dashboard-action-desk span{font-size:9px;font-weight:900;letter-spacing:.09em;color:#7ee6ea}.dashboard-action-desk strong{font-size:14px}.dashboard-action-desk small{font-size:10px;opacity:.78}.dashboard-action-desk:hover,.dashboard-action-desk:focus-visible{border-color:#7ee6ea;background:rgba(10,45,58,.92)}@media(max-width:620px){.dashboard-action-desk{width:100%;min-width:0}}

/* Supervisor verification and issue closure after operator completion. */
.action-close-form{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(280px,1.5fr) auto;gap:12px;align-items:end;margin-top:14px;padding:15px;border:1px solid #9bd3b5;border-left:5px solid var(--green);border-radius:12px;background:#eefaf3}.action-close-form>div strong,.action-close-form>div span{display:block}.action-close-form>div span{margin-top:4px;color:#557064;font-size:12px;line-height:1.4}.action-close-form label{display:grid;gap:5px;color:#48665a;font-size:12px;font-weight:750}.action-close-form textarea{min-height:78px;background:#fff}.action-issue-closed{margin-top:13px;padding:9px 12px;border-radius:9px;background:#dff4e8;color:#176b45;font-size:12px;font-weight:850}@media(max-width:850px){.action-close-form{grid-template-columns:1fr}.action-close-form .btn{width:100%}}

/* Supervisor-to-operator scheduled maintenance communication. */
.maintenance-assign-page{max-width:1080px;margin:auto}.maintenance-total{display:grid;place-items:center;min-width:105px;padding:12px;border-radius:18px;background:#fff1ce;color:#805b11}.maintenance-total strong{font-size:28px;line-height:1}.maintenance-total span{margin-top:5px;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.maintenance-workspace{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(430px,1.35fr);gap:16px;align-items:start;margin-top:16px}.maintenance-cleaner-panel,.maintenance-compose-panel{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(20,40,55,.045)}.maintenance-panel-heading{margin-bottom:16px}.maintenance-panel-heading small{color:#4f7b8f;font-size:9px;font-weight:900;letter-spacing:.14em}.maintenance-panel-heading h2{margin:4px 0 5px;font-size:20px}.maintenance-panel-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.maintenance-selector{margin:0 0 14px}.maintenance-selector label{display:grid;gap:6px}.maintenance-selector label>span,.maintenance-action-form label>span{color:#526878;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.maintenance-selector select{margin:0;background:#f8fafb}.selected-maintenance-cleaner{overflow:hidden;border:1px solid #304858;border-left:5px solid var(--yellow);border-radius:14px;background:#102b3a;color:#fff}.selected-maintenance-cleaner.status-overdue{border-left-color:#f05a4f}.selected-maintenance-title{padding:17px 17px 14px;border-bottom:1px solid rgba(255,255,255,.12)}.selected-maintenance-title span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff1ce;color:#805b11;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.selected-maintenance-cleaner.status-overdue .selected-maintenance-title span{background:#fde0e0;color:#a42c2c}.selected-maintenance-title strong{display:block;margin:9px 0 2px;font-size:21px}.selected-maintenance-title small{color:#b9cbd4}.selected-maintenance-cleaner dl{margin:0;padding:5px 17px 12px}.selected-maintenance-cleaner dl>div{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.09)}.selected-maintenance-cleaner dl>div:last-child{border-bottom:0}.selected-maintenance-cleaner dt{color:#8fa8b4;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.selected-maintenance-cleaner dd{margin:0;font-size:12px;font-weight:750}.selected-maintenance-cleaner dd small{display:block;margin-top:3px;color:#9eb3bd;font-size:10px;font-weight:500}.maintenance-action-form{display:grid;gap:13px}.maintenance-form-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(120px,.6fr);gap:11px}.maintenance-action-form label{display:grid;gap:6px}.maintenance-action-form input,.maintenance-action-form select,.maintenance-action-form textarea{margin:0;background:#fbfcfd}.maintenance-action-form textarea{min-height:132px;resize:vertical}.maintenance-instruction>small{color:#7b8b96;font-size:10px;line-height:1.4}.maintenance-delivery-note{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 12px;border-radius:11px;background:#edf5f6;color:#3f626a;font-size:10px}.maintenance-delivery-note b{margin-right:2px;color:#244c55}.maintenance-delivery-note span{padding:4px 7px;border-radius:999px;background:#fff}.maintenance-send-button{width:100%;padding:14px}.maintenance-no-operator{padding:18px;border-left:5px solid var(--red);border-radius:12px;background:#fff1f1}.maintenance-no-operator p{margin:6px 0 0;color:#715b5b;font-size:12px;line-height:1.5}.maintenance-assign-link{color:#f7c04a!important;font-weight:800}.maintenance-action-card{border-left-color:var(--yellow)}.maintenance-action-card.action-overdue{border-left-color:var(--red)}@media(max-width:820px){.maintenance-workspace{grid-template-columns:1fr}.maintenance-cleaner-panel,.maintenance-compose-panel{padding:16px}.maintenance-form-row{grid-template-columns:1fr}.selected-maintenance-cleaner dl>div{grid-template-columns:88px 1fr}}@media(max-width:520px){.maintenance-assign-page .notification-heading{align-items:flex-start}.maintenance-total{min-width:86px}.selected-maintenance-cleaner dl>div{grid-template-columns:1fr;gap:4px}.maintenance-cleaner-panel,.maintenance-compose-panel{border-radius:14px}}

/* One chronological Action Desk thread per cleaner. */
.cleaner-thread-summary .thread-open-issues{background:#fde0e0;color:#a42c2c}
.cleaner-thread.thread-has-open-issues{border-color:#efb4b4;box-shadow:0 0 0 2px rgba(201,65,65,.08),0 10px 30px rgba(153,35,35,.09)}.cleaner-thread.thread-has-open-issues>summary{box-shadow:inset 6px 0 0 var(--red);background:linear-gradient(90deg,#fff1f1 0,#fff 34%)}.cleaner-thread.thread-has-open-issues .cleaner-thread-title>span{color:#a42c2c}.cleaner-thread-summary .thread-open-issues{display:inline-flex;align-items:center;gap:5px;background:#c94141;color:#fff;box-shadow:0 0 0 3px rgba(201,65,65,.12)}.cleaner-thread-summary .thread-open-issues:before{content:"!";display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#fff;color:#a42c2c;font-size:10px;font-weight:950}
.cleaner-thread-list{display:grid;gap:14px}.cleaner-thread{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 8px 28px rgba(24,47,62,.045)}.cleaner-thread>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px;cursor:pointer;list-style:none;background:#fff}.cleaner-thread>summary::-webkit-details-marker{display:none}.cleaner-thread[open]>summary{border-bottom:1px solid var(--line);background:#f9fbfc}.cleaner-thread-title span,.cleaner-thread-title strong,.cleaner-thread-title small{display:block}.cleaner-thread-title span{color:#4f7b8f;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.cleaner-thread-title strong{margin:3px 0;font-size:19px}.cleaner-thread-title small{color:var(--muted);font-size:11px}.cleaner-thread-summary{display:flex;align-items:center;gap:8px;flex:0 0 auto}.cleaner-thread-summary span,.cleaner-thread-summary b{padding:5px 8px;border-radius:999px;background:#edf2f4;color:#526574;font-size:10px;font-weight:800}.cleaner-thread-summary b{background:#fff1ce;color:#805b11}.cleaner-thread-summary .thread-clear{background:#dff4e8;color:#176b45}.cleaner-thread-summary i{font-style:normal;color:#71818e;font-size:19px;transition:transform .18s ease}.cleaner-thread[open] .cleaner-thread-summary i{transform:rotate(180deg)}.cleaner-thread-body{padding:17px 19px 22px}.cleaner-thread-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.cleaner-thread-toolbar span{color:var(--muted);font-size:10px}.cleaner-thread-timeline{position:relative;display:grid;gap:12px}.cleaner-thread-timeline:before{content:"";position:absolute;top:16px;bottom:16px;left:17px;width:2px;background:#dce6eb}.thread-event{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start}.thread-marker{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;border:4px solid #fff;border-radius:50%;background:#66808f;color:#fff;font-size:11px;font-weight:900;box-shadow:0 0 0 1px #cbd8de}.thread-event-card{min-width:0;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:#fbfcfd}.thread-problem .thread-marker{background:var(--red)}.thread-problem .thread-event-card{border-left:4px solid var(--red);background:#fff9f9}.thread-action .thread-marker{background:#137b83}.thread-action .thread-event-card{border-left:4px solid #4f9ca5}.thread-action-overdue .thread-event-card{border-left-color:var(--red)}.thread-comment .thread-marker{background:#506c7d}.thread-update .thread-marker{background:#d59b25}.thread-update .thread-event-card{background:#fffdf7}.thread-resolution .thread-marker{background:var(--green)}.thread-resolution .thread-event-card{border-left:4px solid var(--green);background:#f2fbf6}.thread-event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.thread-event-head small{display:block;color:#607b8b;font-size:9px;font-weight:900;letter-spacing:.08em}.thread-event-head h3{margin:3px 0 0;font-size:15px}.thread-event-head time{flex:0 0 auto;color:#7b8995;font-size:10px}.thread-event-card>p{margin:10px 0 0;color:#435461;font-size:13px;line-height:1.55}.thread-route{display:flex;align-items:center;gap:10px;margin:11px 0}.thread-route>span{display:grid;min-width:130px;padding:8px 10px;border-radius:9px;background:#edf3f5}.thread-route b,.thread-route small{display:block}.thread-route b{font-size:12px}.thread-route small{color:var(--muted);font-size:9px}.thread-route i{color:#80909b;font-style:normal}.thread-action-message{padding:12px 14px;border-radius:10px;background:#102b3a;color:#fff;font-size:13px;line-height:1.55}.thread-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}.thread-meta span,.thread-meta time{padding:4px 7px;border-radius:999px;background:#edf2f4;color:#5f707d;font-size:9px}.thread-meta .due-late{background:#fde0e0;color:#a42c2c;font-weight:850}.thread-event-card>.action-update-form,.thread-event-card>.action-close-form{margin-top:13px}.thread-event-head .action-badges{justify-content:flex-end}@media(max-width:720px){.cleaner-thread>summary{align-items:flex-start;padding:14px}.cleaner-thread-summary{display:grid;justify-items:end}.cleaner-thread-body{padding:14px 12px 18px}.cleaner-thread-toolbar{align-items:stretch;display:grid}.cleaner-thread-toolbar .btn{width:100%}.cleaner-thread-toolbar span{text-align:center}.thread-event{grid-template-columns:29px minmax(0,1fr);gap:8px}.cleaner-thread-timeline:before{left:14px}.thread-marker{width:29px;height:29px;border-width:3px;font-size:9px}.thread-event-card{padding:12px}.thread-event-head{display:grid}.thread-event-head time{order:-1}.thread-event-head .action-badges{justify-content:flex-start}.thread-route{display:grid;grid-template-columns:1fr auto 1fr}.thread-route>span{min-width:0}.thread-route i{text-align:center}.thread-event-card>.action-update-form>div{grid-template-columns:1fr}.thread-event-card>.action-close-form{padding:12px}}

/* V1.12 simplified operator/supervisor Action Desk on mobile. */
.field-mobile-only{display:none!important}
@media(max-width:760px){
 .action-desk-field-role .field-desktop-only{display:none!important}
 .action-desk-field-role .field-mobile-only{display:inline!important}
 .action-desk-field-role .field-mobile-guide.field-mobile-only{display:grid!important}
 .action-desk-field-role .notification-heading{align-items:flex-start;gap:12px}
 .action-desk-field-role .notification-heading h1{font-size:30px}
 .action-desk-field-role .action-total{min-width:76px;padding:10px}
 .action-desk-field-role .action-desk-top-actions{display:grid;grid-template-columns:1fr;gap:8px}
 .action-desk-field-role .action-desk-top-actions .btn{width:100%;min-height:48px}
 .field-mobile-guide{gap:4px;margin:10px 0 16px;padding:14px 16px;border-left:5px solid #39a7ad;border-radius:12px;background:#e9f5f6;color:#214a51}
 .field-mobile-guide strong{font-size:17px}
 .field-mobile-guide span{font-size:13px;line-height:1.45}
 .action-desk-field-role .cleaner-thread:not(.thread-has-active):not(.thread-has-open-issues){display:none}
 .action-desk-field-role .cleaner-thread-list{gap:10px}
 .action-desk-field-role .cleaner-thread>summary{align-items:center;padding:15px 13px}
 .action-desk-field-role .cleaner-thread-title strong{font-size:18px}
 .action-desk-field-role .cleaner-thread-title small{max-width:210px;font-size:11px;line-height:1.35}
 .action-desk-field-role .cleaner-thread-summary{gap:6px}
 .action-desk-field-role .cleaner-thread-summary b{font-size:9px}
 .action-desk-field-role .cleaner-thread-toolbar,.action-desk-field-role .mobile-history-event{display:none!important}
 .action-desk-field-role .cleaner-thread-body{padding:11px}
 .action-desk-field-role .cleaner-thread-timeline{gap:10px}
 .action-desk-field-role .cleaner-thread-timeline:before,.action-desk-field-role .thread-marker{display:none}
 .action-desk-field-role .thread-event.mobile-current-event{display:block;grid-template-columns:1fr}
 .action-desk-field-role .thread-event-card{padding:14px;border-radius:12px}
 .action-desk-field-role .thread-event-head{display:flex;align-items:center}
 .action-desk-field-role .thread-event-head h3{font-size:17px}
 .action-desk-field-role .thread-event-head .btn{min-width:108px;padding:10px 12px}
 .action-desk-field-role .thread-problem .thread-event-card>p,.action-desk-field-role .thread-problem .thread-meta{display:none}
 .field-mobile-assignment{margin:12px 0;padding:10px 12px;border-radius:10px;background:#edf3f5}
 .field-mobile-assignment span,.field-mobile-assignment strong{display:block}
 .field-mobile-assignment span{color:#617381;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
 .field-mobile-assignment strong{margin-top:3px;font-size:16px}
 .field-mobile-action-label{margin:13px 0 6px;color:#2c6870;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
 .action-desk-field-role .thread-action-message{padding:16px;border-radius:12px;font-size:17px;font-weight:700;line-height:1.5}
 .action-desk-field-role .thread-meta{margin-top:8px}
 .action-desk-field-role .thread-meta span{font-size:11px}
 .action-desk-field-role .action-update-form{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
 .action-desk-field-role .action-update-form label{font-size:13px;font-weight:750}
 .action-desk-field-role .action-update-form textarea{min-height:62px;font-size:16px}
 .action-desk-field-role .action-update-form>div{display:grid;grid-template-columns:1fr;gap:8px}
 .action-desk-field-role .action-update-form .btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;font-size:16px;line-height:1.2;letter-spacing:normal;word-spacing:normal}
 .action-desk-field-role .action-update-form .btn .field-mobile-only{white-space:nowrap;letter-spacing:normal;word-spacing:normal}
 .action-desk-field-role .action-close-form{gap:10px;padding:13px}
 .action-desk-field-role .action-close-form textarea{font-size:16px}
 .action-desk-field-role .action-close-form .btn{min-height:52px;font-size:16px}
}

/* Administrator alert master controls, due-timer resets and escalation clocks. */
.alert-control-page{display:grid;gap:18px;padding-bottom:34px}.alert-control-page>.hero{padding:25px 27px;border-radius:20px;background:#102b3a;color:#fff}.alert-control-page>.hero small{color:#79dfe3}.alert-control-page>.hero p{margin:7px 0 0;color:#d4e0e5}.alert-master-panel{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;border:2px solid #8bcfaf;border-radius:18px;background:#effaf4}.alert-master-panel.master-off{border-color:#e59a9a;background:#fff1f1}.alert-master-state{display:flex;align-items:center;gap:16px}.alert-master-light{flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:#20a66a;box-shadow:0 0 0 7px rgba(32,166,106,.14)}.master-off .alert-master-light{background:#c94141;box-shadow:0 0 0 7px rgba(201,65,65,.13)}.alert-master-state small{color:#397587;font-size:9px;font-weight:900;letter-spacing:.12em}.alert-master-state h2{margin:4px 0 2px;font-size:24px}.alert-master-state p{margin:0;color:#5e7380;font-size:12px}.alert-master-panel form{margin:0}.alert-master-panel .btn{min-width:170px}.maintenance-window-note{display:flex;align-items:center;gap:14px;padding:15px 18px;border:1px solid #b8dac8;border-radius:14px;background:#f0f9f4;color:#1f6142}.maintenance-window-note.window-closed{border-color:#e5ca86;background:#fff9e9;color:#79580e}.maintenance-window-note>span{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:50%;background:#d8f1e4;font-size:24px}.maintenance-window-note.window-closed>span{background:#f9e9bd}.maintenance-window-note small,.maintenance-window-note strong,.maintenance-window-note p{display:block}.maintenance-window-note small{font-size:8px;font-weight:900;letter-spacing:.12em}.maintenance-window-note strong{margin-top:2px;font-size:14px}.maintenance-window-note p{margin:3px 0 0;color:#5f7468;font-size:11px;line-height:1.45}.maintenance-window-note.window-closed p{color:#796a40}.alert-control-settings{padding:22px}.alert-control-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.alert-control-heading small{color:#447b8e;font-size:9px;font-weight:900;letter-spacing:.13em}.alert-control-heading h2{margin:4px 0 0}.alert-control-heading p{margin:5px 0 0;color:var(--muted);font-size:12px}.alert-control-heading>span{color:#72848f;font-size:10px}.alert-control-grid{display:grid;grid-template-columns:.85fr 1.25fr 1fr 1.25fr;gap:13px}.alert-control-grid fieldset,.alert-escalation-setting{min-width:0;margin:0;padding:15px;border:1px solid #d5e1e6;border-radius:13px;background:#f8fbfc}.alert-control-grid legend,.alert-escalation-setting>span{padding:0 5px;color:#315a69;font-size:10px;font-weight:900;letter-spacing:.06em}.alert-control-grid fieldset label{display:flex;align-items:center;gap:8px;margin:9px 0;color:#263943;font-size:12px}.alert-control-grid input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin:0}.alert-escalation-setting{display:grid;align-content:start;gap:9px}.alert-escalation-setting>div{display:grid;grid-template-columns:minmax(80px,1fr) auto;align-items:center;gap:8px}.alert-escalation-setting input{font-size:17px;font-weight:850}.alert-escalation-setting b{color:#536b77;font-size:11px}.alert-escalation-setting small{color:#758791;font-size:10px;line-height:1.45}.alert-control-save{display:flex;justify-content:flex-end;margin-top:15px}.alert-control-save .btn{min-width:210px}.due-timer-panel{padding:22px}.due-timer-table{min-width:1050px}.due-timer-table td{vertical-align:top}.due-timer-table td>strong,.due-timer-table td>small{display:block}.due-timer-table td>small{margin-top:4px;color:#70828d;font-size:9px;line-height:1.35}.due-reset-form{display:grid;grid-template-columns:130px minmax(210px,1fr) auto;align-items:end;gap:7px;min-width:520px}.due-reset-form label{display:grid;gap:4px;margin:0}.due-reset-form label>span{color:#627681;font-size:8px;font-weight:850;text-transform:uppercase}.due-reset-form input{min-height:39px;padding:8px 9px}.due-reset-form .btn{min-height:39px;padding:8px 11px;white-space:nowrap}.alert-control-history>div:last-child{display:grid}.alert-control-history article{display:grid;grid-template-columns:150px 170px minmax(220px,1fr) 150px;align-items:center;gap:12px;padding:11px 3px;border-bottom:1px solid var(--line)}.alert-control-history article:last-child{border-bottom:0}.alert-control-history article>span{color:#3f7182;font-size:9px;font-weight:900;text-transform:uppercase}.alert-control-history article>strong{font-size:11px}.alert-control-history article>p{margin:0;color:#5f727e;font-size:10px;line-height:1.4}.alert-control-history article>time{color:#7a8a94;font-size:9px;text-align:right}.issue-escalation-clock{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 3px;padding:9px 11px;border:1px solid #b8dac8;border-radius:10px;background:#eff9f4;color:#215f43}.issue-escalation-clock span{font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.issue-escalation-clock strong{font-size:11px;white-space:nowrap}.issue-escalation-clock.is-warning{border-color:#e8c675;background:#fff8e5;color:#7e5a0d}.issue-escalation-clock.is-overdue{border-color:#e59a9a;background:#fff0f0;color:#9d2929}.issue-escalation-clock.is-paused{border-color:#cbd5da;background:#f2f5f6;color:#667781}.action-escalation-clock{margin:11px 0 2px}.action-desk-operator .action-escalation-clock{margin:11px 15px 0}
@media(max-width:980px){.alert-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alert-control-history article{grid-template-columns:130px 150px 1fr}.alert-control-history article>time{grid-column:2/-1;text-align:left}}
@media(max-width:680px){.alert-control-page{gap:13px}.alert-control-page>.hero{padding:20px}.alert-master-panel{display:grid;padding:18px}.alert-master-state{align-items:flex-start}.alert-master-panel .btn{width:100%}.alert-control-settings,.due-timer-panel{padding:16px}.alert-control-heading{display:grid;gap:7px}.alert-control-grid{grid-template-columns:1fr}.alert-control-save .btn{width:100%}.alert-control-history article{grid-template-columns:1fr;gap:4px}.alert-control-history article>time{grid-column:auto}.issue-escalation-clock{align-items:flex-start;display:grid;gap:3px}.issue-escalation-clock strong{white-space:normal}.action-desk-operator .action-escalation-clock{margin:10px 13px 0}}

/* Alert hierarchy may use active registered accounts only, grouped by site. */
.registered-alert-users{display:grid;gap:14px}.registered-alert-heading{align-items:center;margin:0}.registered-alert-heading p{max-width:760px;margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.registered-alert-warning{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border:1px solid #e8c675;border-radius:12px;background:#fff8e5;color:#74540d}.registered-alert-warning strong{font-size:12px}.registered-alert-warning span{font-size:10px;line-height:1.4}.registered-alert-actions{margin:0}.registered-alert-actions form{margin:0}.registered-alert-site-list{display:grid;gap:17px}.registered-alert-site{overflow:hidden;border:1px solid #cddbe2;border-radius:17px;background:#fff;box-shadow:0 8px 25px rgba(20,48,62,.06)}.registered-alert-site>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 19px;background:linear-gradient(135deg,#123c49,#0b2936);color:#fff}.registered-alert-site>header small,.registered-alert-site>header h3,.registered-alert-site>header span{display:block}.registered-alert-site>header small{color:#78dce0;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.registered-alert-site>header h3{margin:3px 0;color:#fff;font-size:20px}.registered-alert-site>header span{color:#c7d9e0;font-size:10px}.registered-alert-site>header>div:last-child{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.registered-alert-site>header b{padding:7px 9px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(255,255,255,.08);font-size:9px;white-space:nowrap}.registered-alert-user-list{display:grid}.registered-alert-user{display:grid;grid-template-columns:minmax(195px,1.1fr) minmax(220px,1.25fr) minmax(250px,1.35fr) minmax(190px,1fr) minmax(145px,.7fr);align-items:center;gap:14px;margin:0;padding:14px 16px;border-bottom:1px solid #e0e8ec}.registered-alert-user:last-child{border-bottom:0}.registered-alert-user:hover{background:#f9fbfc}.registered-alert-identity{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.registered-alert-identity>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#dceff1;color:#176b72;font-size:12px;font-weight:900}.registered-alert-identity>div{min-width:0}.registered-alert-identity strong,.registered-alert-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.registered-alert-identity strong{font-size:13px}.registered-alert-identity small{margin-top:3px;color:#71838e;font-size:9px}.registered-alert-identity>b{grid-column:2;width:max-content;padding:4px 7px;border-radius:999px;background:#eef2f4;color:#64747e;font-size:8px}.registered-alert-identity>b.assignment-supervisor{background:#dff4e8;color:#176b45}.registered-alert-identity>b.assignment-mechanical-engineer{background:#fff0cc;color:#805b11}.registered-alert-address{display:grid;gap:5px;min-width:0}.registered-alert-address>span{min-width:0}.registered-alert-address small,.registered-alert-address strong{display:block}.registered-alert-address small{color:#66808d;font-size:7px;font-weight:900;letter-spacing:.08em}.registered-alert-address strong{overflow:hidden;margin-top:1px;color:#354b57;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.registered-alert-address>a{width:max-content;color:#167d84;font-size:9px;font-weight:800}.registered-alert-fields{display:grid;grid-template-columns:1.25fr .85fr;gap:8px}.registered-alert-fields label{display:grid;gap:4px;margin:0}.registered-alert-fields label>span{color:#58717e;font-size:8px;font-weight:850}.registered-alert-fields select{min-width:0;min-height:39px;padding:8px;font-size:10px}.registered-alert-channels{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0;margin:0;padding:11px;border:1px solid #d8e2e7;border-radius:11px}.registered-alert-channels legend{padding:0 4px;color:#58717e;font-size:8px;font-weight:850}.registered-alert-channels label{display:flex;align-items:center;gap:5px;margin:0;font-size:9px}.registered-alert-channels input{width:16px;height:16px;margin:0}.registered-alert-channels .channel-unavailable{opacity:.38}.registered-alert-save{display:grid;justify-items:stretch;gap:6px}.registered-alert-save small{color:#748690;font-size:8px;line-height:1.35;text-align:center}.registered-alert-save .btn{width:100%;min-height:40px;padding:8px 10px;font-size:10px}.registered-alert-users>.whatsapp-summary{margin-top:0}
@media(max-width:1180px){.registered-alert-user{grid-template-columns:1fr 1fr 1.2fr}.registered-alert-channels{align-self:stretch}.registered-alert-save{grid-column:2/-1;grid-template-columns:1fr 170px;align-items:center}.registered-alert-save small{text-align:left}}
@media(max-width:760px){.registered-alert-heading{display:grid;gap:10px}.registered-alert-heading .btn{width:100%}.registered-alert-warning{display:grid;gap:4px}.registered-alert-site>header{align-items:flex-start;display:grid;padding:15px}.registered-alert-site>header>div:last-child{justify-content:flex-start}.registered-alert-user{grid-template-columns:1fr;gap:11px;padding:15px}.registered-alert-fields{grid-template-columns:1fr}.registered-alert-save{grid-column:auto;grid-template-columns:1fr}.registered-alert-save small{text-align:left}.registered-alert-save .btn{min-height:48px;font-size:13px}.registered-alert-address strong{font-size:10px}.registered-alert-channels{padding:12px}.registered-alert-channels label{font-size:11px}}

/* Central commitment receipts: confirmed only after a server-side save succeeds. */
.commitment-notice-region{position:fixed;z-index:12050;top:18px;left:50%;width:min(640px,calc(100vw - 32px));transform:translateX(-50%);pointer-events:none}
.commitment-notice{--commitment-accent:#63d39a;position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:start;gap:13px;overflow:hidden;padding:17px 17px 15px;border:1px solid rgba(255,255,255,.2);border-left:6px solid var(--commitment-accent);border-radius:17px;background:#125b40;color:#fff;box-shadow:0 18px 52px rgba(8,29,40,.3);pointer-events:auto;animation:commitment-notice-in .28s ease-out both}
.commitment-notice-warning{--commitment-accent:#ffd166;background:#63470d}.commitment-notice-error{--commitment-accent:#ff9a9f;background:#812a31}
.commitment-notice-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--commitment-accent);color:#123027;font-size:25px;font-weight:950;line-height:1}.commitment-notice-error .commitment-notice-icon{color:#681b22}
.commitment-notice-copy{min-width:0}.commitment-notice-copy small,.commitment-notice-copy strong,.commitment-notice-copy p,.commitment-notice-copy span{display:block}.commitment-notice-copy small{margin:0 0 3px;color:#c8f4df;font-size:9px;font-weight:950;letter-spacing:.13em}.commitment-notice-warning .commitment-notice-copy small{color:#ffe9aa}.commitment-notice-error .commitment-notice-copy small{color:#ffd1d4}.commitment-notice-copy strong{font-size:17px;line-height:1.25}.commitment-notice-copy p{margin:5px 0 0;color:#effbf5;font-size:13px;line-height:1.42}.commitment-notice-copy span{margin-top:6px;color:#bcdacc;font-size:10px;line-height:1.3}.commitment-notice-warning .commitment-notice-copy span{color:#e9d79e}.commitment-notice-error .commitment-notice-copy span{color:#f0c1c4}
.commitment-notice-actions{display:flex;align-items:center;gap:6px}.commitment-notice-actions a,.commitment-notice-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 10px;border:1px solid rgba(255,255,255,.3);border-radius:9px;background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:11px;font-weight:850;text-decoration:none;white-space:nowrap;cursor:pointer}.commitment-notice-actions a{border-color:#fff;background:#fff;color:#174936}.commitment-notice-warning .commitment-notice-actions a{color:#61460e}.commitment-notice-error .commitment-notice-actions a{color:#7d252c}.commitment-notice-actions a:hover,.commitment-notice-actions button:hover{transform:translateY(-1px)}.commitment-notice-actions a:focus-visible,.commitment-notice-actions button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.commitment-notice-timer{position:absolute;right:0;bottom:0;left:0;height:4px;background:var(--commitment-accent);transform-origin:left;animation:commitment-notice-timer var(--commitment-duration,8000ms) linear forwards}.commitment-notice.is-paused .commitment-notice-timer{animation-play-state:paused}.commitment-notice.is-leaving{animation:commitment-notice-out .22s ease-in both}
@keyframes commitment-notice-in{from{opacity:0;transform:translateY(-18px) scale(.98)}to{opacity:1;transform:none}}@keyframes commitment-notice-out{to{opacity:0;transform:translateY(-14px) scale(.98)}}@keyframes commitment-notice-timer{to{transform:scaleX(0)}}
@media(max-width:700px){.commitment-notice-region{top:auto;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));left:12px;width:auto;transform:none}.commitment-notice{grid-template-columns:42px minmax(0,1fr);gap:11px;padding:15px 14px 14px;border-radius:15px}.commitment-notice-icon{width:38px;height:38px;font-size:22px}.commitment-notice-copy strong{font-size:16px}.commitment-notice-copy p{font-size:12px}.commitment-notice-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.commitment-notice-actions a,.commitment-notice-actions button{min-height:40px;padding:9px 13px}}
@media(prefers-reduced-motion:reduce){.commitment-notice,.commitment-notice.is-leaving,.commitment-notice-timer{animation:none}}

/* Dashboard light/dark theme selector. The rest of BeltVigil keeps its existing theme. */
.dashboard-theme-picker{display:grid;gap:3px;min-width:92px;padding:7px 10px;border:1px solid var(--dash-line);border-radius:11px;background:var(--dash-panel);color:var(--dash-text)}
.dashboard-theme-picker>span{color:var(--dash-muted);font-size:9px;font-weight:900;letter-spacing:.1em;line-height:1}
.dashboard-theme-picker select{width:100%;min-width:0;margin:0;padding:0 22px 0 0;border:0;border-radius:0;background-color:transparent;color:var(--dash-text);font-size:12px;font-weight:800;line-height:1.25;cursor:pointer}
.dashboard-theme-picker select:focus-visible{outline:2px solid var(--dash-cyan);outline-offset:4px}
.mgmt-dashboard.theme-light{--dash-dark:#f3f7fa;--dash-panel:#ffffff;--dash-panel2:#edf4f7;--dash-line:#cfdce4;--dash-text:#17212b;--dash-muted:#5c6d7a;--dash-cyan:#087f88;--dash-orange:#a96508;--dash-red:#b7353a;--dash-green:#18794e;box-shadow:inset 0 0 0 1px #d8e2e8}
.mgmt-dashboard.theme-light .mini-progress,.mgmt-dashboard.theme-light .site-progress,.mgmt-dashboard.theme-light .operator-bar-wrap{background:#dfe8ed}
.mgmt-dashboard.theme-light .donut{background:conic-gradient(var(--dash-cyan) calc(var(--pct)*1%),#dfe8ed 0)}
.mgmt-dashboard.theme-light .avatar{background:#dce9ee;color:#086973}
.mgmt-dashboard.theme-light .activity-badge.active{background:#dff4e8;color:#176b45}
.mgmt-dashboard.theme-light .activity-badge.recent{background:#fff1ce;color:#805b11}
.mgmt-dashboard.theme-light .activity-badge.inactive{background:#fde0e0;color:#a42c2c}
.mgmt-dashboard.theme-light .fleet-table-panel .cleaner-problem-row td{background:#fff0f0!important;border-top-color:#eaa4a6;border-bottom-color:#eaa4a6;color:#7b2428}
.mgmt-dashboard.theme-light .fleet-table-panel .cleaner-problem-row:hover td{background:#ffe4e4!important}
.mgmt-dashboard.theme-light .fleet-table-panel .open-issue-count{background:#98282e;color:#fff}
@media(max-width:700px){.dashboard-theme-picker{min-width:84px}.dashboard-theme-picker select{font-size:11px}}

/* Demo and pilot improvement feedback. */
.feedback-nav-link{gap:5px}.feedback-nav-link span{font-size:16px!important;opacity:1!important}.feedback-nav-link em{font-style:normal}.feedback-page{max-width:780px;margin:auto}.feedback-heading small,.feedback-admin-page .hero small{color:#4f7b8f;font-size:10px;font-weight:900;letter-spacing:.13em}.feedback-heading h1{margin:5px 0;font-size:34px}.feedback-heading p{margin:0 0 18px;color:var(--muted);line-height:1.55}.feedback-heading p strong{color:#a42c2c}.feedback-form{display:grid;gap:17px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.feedback-form fieldset{min-width:0;margin:0;padding:0;border:0}.feedback-form legend,.feedback-message>strong,.feedback-file>strong{display:block;margin-bottom:9px;font-size:15px;font-weight:850}.feedback-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.feedback-options label,.feedback-experience label{margin:0}.feedback-options input,.feedback-experience input{position:absolute;opacity:0;pointer-events:none}.feedback-options span,.feedback-experience span{display:flex;align-items:center;justify-content:center;min-height:58px;padding:11px;border:2px solid var(--line);border-radius:13px;background:#f8fafb;text-align:center;font-weight:750;cursor:pointer}.feedback-options input:checked+span,.feedback-experience input:checked+span{border-color:#16818a;background:#e9f7f8;color:#155e64;box-shadow:0 0 0 3px rgba(22,129,138,.1)}.feedback-options input:focus-visible+span,.feedback-experience input:focus-visible+span{outline:3px solid #ff6a32;outline-offset:2px}.feedback-experience{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.feedback-experience span{display:grid;gap:3px}.feedback-experience b{font-size:25px}.feedback-message,.feedback-file{display:grid;gap:7px}.feedback-message textarea{min-height:125px;resize:vertical}.feedback-file small{color:var(--muted);font-size:11px;line-height:1.45}.feedback-consent{display:grid;grid-template-columns:24px 1fr;align-items:start;gap:8px;margin:0!important;padding:11px;border-radius:11px;background:#f2f6f8;color:#536775;font-size:12px;line-height:1.45}.feedback-consent input{width:20px;height:20px;margin:0}.feedback-actions{display:flex;justify-content:flex-end;gap:9px}.feedback-actions .btn{min-width:150px}.feedback-thanks{display:grid;justify-items:center;gap:10px;padding:45px 25px;border:1px solid #a6d8bd;border-radius:18px;background:#f0fbf5;text-align:center}.feedback-thanks>span{display:grid;place-items:center;width:65px;height:65px;border-radius:50%;background:#178153;color:#fff;font-size:34px}.feedback-thanks h1,.feedback-thanks p{margin:0}.feedback-thanks p{color:#526b60}.feedback-thanks>strong{padding:8px 11px;border-radius:9px;background:#fff;color:#176b45}.feedback-thanks .btn{margin-top:8px}.feedback-admin-page{max-width:1120px;margin:auto}.feedback-notice{margin:14px 0;padding:11px;border-radius:10px;border:1px solid #9bd3b5;background:#eefaf3;color:#176b45}.feedback-filters{display:flex;gap:7px;overflow-x:auto;margin:17px 0;padding-bottom:3px}.feedback-filters a{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#536775;font-size:12px;font-weight:800}.feedback-filters a.active{border-color:#102b3a;background:#102b3a;color:#fff}.feedback-filters b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:rgba(90,120,135,.13)}.feedback-admin-list{display:grid;gap:13px}.feedback-admin-card{padding:18px;border:1px solid var(--line);border-left:6px solid #4f9ca5;border-radius:16px;background:#fff}.feedback-admin-card.status-new{border-left-color:#ff6a32}.feedback-admin-card.status-implemented{border-left-color:#178153}.feedback-admin-card.status-declined,.feedback-admin-card.status-duplicate{border-left-color:#8a969e}.feedback-admin-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.feedback-admin-card>header small{color:#4f7b8f;font-weight:850;letter-spacing:.08em}.feedback-admin-card>header h2{margin:4px 0;font-size:19px}.feedback-admin-card>header>span{padding:6px 9px;border-radius:999px;background:#e9f0f3;color:#405462;font-size:11px;font-weight:850}.feedback-admin-meta,.feedback-context{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.feedback-admin-meta span,.feedback-admin-meta time,.feedback-context span{padding:5px 8px;border-radius:8px;background:#eef3f5;color:#5b6b78;font-size:11px}.feedback-admin-card>p{margin:13px 0;line-height:1.55}.feedback-screenshot{display:inline-flex;margin:5px 0 10px;color:#087b80;font-size:12px;font-weight:850}.feedback-admin-card details{margin-top:8px;border-top:1px solid var(--line);padding-top:10px}.feedback-admin-card summary{color:#436979;font-size:12px;font-weight:850;cursor:pointer}.feedback-admin-card form{display:grid;grid-template-columns:180px 1fr auto;gap:10px;align-items:end;margin-top:11px}.feedback-admin-card form label{display:grid;gap:5px;color:#526878;font-size:11px;font-weight:800}.feedback-empty{text-align:center}.feedback-empty p{color:var(--muted)}
@media(max-width:760px){.feedback-nav-link{display:inline-flex!important;width:34px;height:34px;min-width:34px!important;min-height:34px!important;padding:0!important;border:1px solid rgba(255,255,255,.2);border-radius:9px}.feedback-nav-link em{display:none}.feedback-form{padding:15px}.feedback-options{grid-template-columns:1fr}.feedback-experience{grid-template-columns:repeat(3,1fr)}.feedback-experience span{min-height:70px;padding:7px;font-size:11px}.feedback-actions{display:grid;grid-template-columns:1fr 1fr}.feedback-actions .btn{min-width:0}.feedback-admin-card form{grid-template-columns:1fr}.feedback-admin-page .hero{gap:10px}.feedback-admin-page .hero .btn{width:100%}}

/* Users and assigned access redesign - strictly scoped to the admin users page. */
.users-access-page{display:grid;gap:18px}.users-access-page .hero{margin-bottom:0}.user-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.user-overview>div{padding:17px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(24,47,62,.035)}.user-overview span,.user-overview strong,.user-overview small{display:block}.user-overview span{color:#557180;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.user-overview strong{margin:4px 0 3px;font-size:28px}.user-overview small{color:var(--muted);font-size:10px}.access-role-panel,.user-directory{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.user-section-heading small,.user-editor-heading small{color:#4f7b8f;font-size:9px;font-weight:900;letter-spacing:.12em}.user-section-heading h2,.user-editor-heading h2{margin:4px 0}.user-section-heading p,.user-editor-heading p{margin:0;color:var(--muted);font-size:12px}.access-role-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:16px}.access-role-card{min-height:145px;padding:14px;border:1px solid #dce5e9;border-top:4px solid #678391;border-radius:13px;background:#f9fbfc}.access-role-card>span,.access-role-card>strong{display:block}.access-role-card>span{color:#56717f;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.access-role-card>strong{margin:9px 0 5px;font-size:13px}.access-role-card p{margin:0;color:#6c7b86;font-size:10px;line-height:1.45}.access-role-card.role-admin{border-top-color:#c94141}.access-role-card.role-oem_rep{border-top-color:#df8c2b}.access-role-card.role-supervisor{border-top-color:#d2a123}.access-role-card.role-viewer{border-top-color:#4f8ea6}.access-role-card.role-operator{border-top-color:#178153}.user-editor{overflow:hidden;border:1px solid #bfd0d8;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(20,45,58,.055)}.user-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 21px;border-bottom:1px solid var(--line);background:#f6f9fa}.user-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px}.user-editor fieldset{min-width:0;margin:0;padding:16px;border:1px solid var(--line);border-radius:14px}.user-editor legend{padding:0 7px;color:#315665;font-size:11px;font-weight:900}.user-editor fieldset>label{display:grid;gap:6px;margin-bottom:11px}.user-editor fieldset>label:last-child{margin-bottom:0}.user-editor label>span,.user-editor label>span>strong,.user-editor label>span>small{display:block}.user-editor label>span{color:#526b79;font-size:10px;font-weight:850}.user-editor label>small,.user-editor label>span>small{margin-top:3px;color:#7a8994;font-size:9px;font-weight:500;line-height:1.35}.user-active-toggle,.user-channel-options label{display:flex!important;align-items:flex-start;gap:9px;padding:11px;border-radius:11px;background:#f3f7f8}.user-active-toggle input,.user-channel-options input{flex:0 0 auto;width:18px;height:18px;margin:1px 0}.user-channel-options{display:grid;gap:8px}.user-editor-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 20px 20px}.user-directory{padding:20px}.user-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.user-access-card{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 7px 22px rgba(20,45,58,.045)}.user-access-card.user-disabled{opacity:.65;background:#f3f5f6}.user-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:15px}.user-card-head>div>strong,.user-card-head>div>small{display:block}.user-card-head>div>strong{font-size:15px}.user-card-head>div>small{margin-top:3px;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.user-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#102b3a;color:#fff;font-size:14px;font-weight:900}.user-account-state{padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900}.user-account-state.active{background:#dff4e8;color:#176b45}.user-account-state.disabled{background:#e4e8ea;color:#626d74}.user-access-band{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:11px 15px;background:#edf3f5}.user-role-badge{padding:6px 9px;border-radius:999px;background:#dfe8ec;color:#365867;font-size:9px;font-weight:900;text-transform:uppercase}.user-role-badge.role-admin{background:#fde0e0;color:#a42c2c}.user-role-badge.role-oem_rep{background:#ffe9cf;color:#8a4b08}.user-role-badge.role-operator{background:#dff4e8;color:#176b45}.user-access-band div small,.user-access-band div strong{display:block}.user-access-band div small{color:#6b7e89;font-size:8px;font-weight:850;text-transform:uppercase}.user-access-band div strong{margin-top:2px;font-size:12px}.user-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 15px}.user-card-meta>div{padding:10px;border-radius:10px;background:#f8fafb}.user-card-meta small,.user-card-meta strong{display:block}.user-card-meta small{color:#72838e;font-size:8px;font-weight:850;text-transform:uppercase}.user-card-meta strong{margin-top:4px;font-size:11px}.user-card-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:0 15px 15px}.user-card-actions form{display:inline}.user-card-actions .btn{padding:8px 10px;border-radius:9px;font-size:10px}.user-delete-form{margin-left:auto}.user-delete-form button{border:0;background:transparent;color:#9f3434;font:inherit;font-size:9px;font-weight:750;text-decoration:underline;cursor:pointer}
.users-access-page .user-site-group-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:8px;padding:12px 15px;border-left:5px solid #16815a;border-radius:11px;background:#edf6f2}.users-access-page .user-site-group-heading:first-child{margin-top:0}.users-access-page .user-site-group-heading small,.users-access-page .user-site-group-heading strong{display:block}.users-access-page .user-site-group-heading small{color:#42806a;font-size:8px;font-weight:900;letter-spacing:.11em}.users-access-page .user-site-group-heading strong{margin-top:3px;color:#173e32;font-size:14px}.users-access-page .user-site-group-heading>span{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#fff;color:#176b45;font-size:10px;font-weight:850}
.generated-password-note{display:grid;gap:5px;padding:13px;border:1px solid #b9dbcc;border-radius:11px;background:#edf7f2}.generated-password-note strong{color:#176b45;font-size:11px}.generated-password-note small{color:#577267;font-size:10px;line-height:1.45}.first-password-card>small:first-child{display:block;color:#178153;font-size:9px;font-weight:900;letter-spacing:.12em}.first-password-card>p{color:var(--muted);line-height:1.5}
@media(max-width:1000px){.access-role-grid{grid-template-columns:repeat(3,1fr)}.user-editor-grid{grid-template-columns:1fr 1fr}.user-editor-grid fieldset:last-child{grid-column:1/-1}.user-card-grid{grid-template-columns:1fr}}
@media(max-width:700px){.users-access-page .hero{display:grid}.users-access-page .hero .actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.user-overview{grid-template-columns:1fr 1fr}.access-role-grid{grid-template-columns:1fr}.access-role-card{min-height:0}.user-editor-heading{align-items:flex-start;display:grid}.user-editor-grid{grid-template-columns:1fr;padding:14px}.user-editor-grid fieldset:last-child{grid-column:auto}.user-editor-actions{display:grid;grid-template-columns:1fr;padding:0 14px 14px}.user-card-head{grid-template-columns:auto minmax(0,1fr)}.user-account-state{grid-column:2;width:max-content}.user-access-band{grid-template-columns:1fr}.user-card-meta{grid-template-columns:1fr}.user-card-actions{display:grid;grid-template-columns:1fr 1fr}.user-card-actions .btn{width:100%}.user-delete-form{grid-column:1/-1;margin:0;text-align:center}}

/* Cleaner Passport record dropdowns - strictly scoped to the passport page. */
.cleaner-passport-page .passport-dropdown{overflow:hidden;padding:0!important}.cleaner-passport-page .passport-dropdown>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;list-style:none;background:#fff;transition:background .18s ease}.cleaner-passport-page .passport-dropdown>summary::-webkit-details-marker{display:none}.cleaner-passport-page .passport-dropdown>summary:hover,.cleaner-passport-page .passport-dropdown>summary:focus-visible{background:#f7fafb}.cleaner-passport-page .passport-dropdown>summary:focus-visible{outline:3px solid rgba(19,123,131,.25);outline-offset:-3px}.cleaner-passport-page .passport-dropdown-heading small,.cleaner-passport-page .passport-dropdown-heading strong,.cleaner-passport-page .passport-dropdown-heading em{display:block}.cleaner-passport-page .passport-dropdown-heading small{color:#4f7b8f;font-size:9px;font-weight:900;letter-spacing:.12em}.cleaner-passport-page .passport-dropdown-heading strong{margin:3px 0;font-size:20px}.cleaner-passport-page .passport-dropdown-heading em{color:var(--muted);font-size:11px;font-style:normal}.cleaner-passport-page .passport-dropdown-count{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border-radius:12px;background:#e8f1f4;color:#315d6d;font-size:15px;font-weight:900}.cleaner-passport-page .passport-dropdown-count.has-open-issues{background:#fde0e0;color:#a42c2c;box-shadow:0 0 0 3px rgba(201,65,65,.1)}.cleaner-passport-page .passport-dropdown>summary>i{color:#6f818d;font-size:23px;font-style:normal;line-height:1;transition:transform .18s ease}.cleaner-passport-page .passport-dropdown[open]>summary{border-bottom:1px solid var(--line);background:#f8fafb}.cleaner-passport-page .passport-dropdown[open]>summary>i{transform:rotate(180deg)}.cleaner-passport-page .passport-dropdown-content{padding:7px 20px 18px}.cleaner-passport-page .passport-dropdown-content .timeline:last-child{border-bottom:0}.cleaner-passport-page .passport-dropdown-content>p{margin:14px 0 2px;color:var(--muted)}.cleaner-passport-page .passport-dropdown-alert{border-color:#eeb7b7}.cleaner-passport-page .passport-dropdown-alert>summary{box-shadow:inset 5px 0 0 #c94141}
@media(max-width:600px){.cleaner-passport-page .passport-dropdown>summary{gap:10px;padding:16px}.cleaner-passport-page .passport-dropdown-heading strong{font-size:18px}.cleaner-passport-page .passport-dropdown-heading em{line-height:1.4}.cleaner-passport-page .passport-dropdown-count{min-width:34px;height:34px}.cleaner-passport-page .passport-dropdown-content{padding:6px 16px 16px}}

/* Cleaner Register visual refinement - strictly scoped to this page. */
.cleaner-register-page .register-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.cleaner-register-page .register-overview>div{padding:17px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(24,47,62,.035)}.cleaner-register-page .register-overview span,.cleaner-register-page .register-overview strong,.cleaner-register-page .register-overview small{display:block}.cleaner-register-page .register-overview span{color:#557180;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.cleaner-register-page .register-overview strong{margin:4px 0 3px;font-size:28px}.cleaner-register-page .register-overview small{color:var(--muted);font-size:10px;line-height:1.35}.cleaner-register-page .register-overview .overview-operational{border-top:4px solid var(--green)}.cleaner-register-page .register-overview .overview-unavailable{border-top:4px solid var(--yellow)}.cleaner-register-page .register-list-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:20px 0 12px}.cleaner-register-page .register-list-toolbar>div>small{color:#4f7b8f;font-size:9px;font-weight:900;letter-spacing:.12em}.cleaner-register-page .register-list-toolbar h2{margin:4px 0 2px;font-size:22px}.cleaner-register-page .register-list-toolbar p{margin:0;color:var(--muted);font-size:11px}.cleaner-register-page .register-view-filter label{display:grid;gap:5px}.cleaner-register-page .register-view-filter label span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.cleaner-register-page .register-view-filter select{min-width:205px;padding:10px}.cleaner-register-page .cleaner-register-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 9px 28px rgba(20,45,58,.045)}.cleaner-register-page .cleaner-register-table{min-width:1000px}.cleaner-register-page .cleaner-register-table th{padding:13px 15px;background:#edf3f5;color:#526c7b;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.cleaner-register-page .cleaner-register-table td{padding:15px;vertical-align:middle}.cleaner-register-page .cleaner-register-table tbody tr:last-child td{border-bottom:0}.cleaner-register-page .cleaner-register-table tbody tr:hover{background:#f8fbfc}.cleaner-register-page .cleaner-lifecycle-row:not(.lifecycle-active){background:#f6f7f8}.cleaner-register-page .cleaner-lifecycle-row.lifecycle-archived{opacity:.7}.cleaner-register-page .register-cleaner-id{color:#163b4b;font-size:15px}.cleaner-register-page .cleaner-register-table td>strong,.cleaner-register-page .cleaner-register-table td>span{display:block}.cleaner-register-page .register-secondary{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}.cleaner-register-page .register-audit-status{display:inline-flex!important;width:max-content;padding:5px 8px;border-radius:999px;background:#e7edf1;color:#4c5d69;font-size:10px;font-weight:850}.cleaner-register-page .register-audit-status.healthy{background:#dff4e8;color:#176b45}.cleaner-register-page .register-audit-status.due{background:#fff1ce;color:#8b6415}.cleaner-register-page .register-audit-status.overdue{background:#fde0e0;color:#a42c2c}.cleaner-register-page .lifecycle-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap}.cleaner-register-page .lifecycle-actions form{display:inline}.cleaner-register-page .lifecycle-actions .btn{padding:8px 10px;border-radius:9px;font-size:10px;white-space:nowrap}.cleaner-register-page .lifecycle-actions .register-open{border-color:#b6d8ca;color:#176b45}.cleaner-register-page .register-delete{border:0;background:transparent;color:#9f3434;font:inherit;font-size:10px;font-weight:750;text-decoration:underline;cursor:pointer}.cleaner-register-page .register-empty{padding:38px!important;text-align:center}.cleaner-register-page .register-empty strong,.cleaner-register-page .register-empty span{display:block}.cleaner-register-page .register-empty strong{font-size:18px}.cleaner-register-page .register-empty span{margin-top:6px;color:var(--muted)}
@media(max-width:820px){.cleaner-register-page .register-overview{grid-template-columns:repeat(2,1fr)}.cleaner-register-page .register-list-toolbar{align-items:stretch;display:grid}.cleaner-register-page .register-view-filter select{width:100%}.cleaner-register-page .cleaner-register-wrap{overflow:visible;border:0;background:transparent;box-shadow:none}.cleaner-register-page .cleaner-register-table{min-width:0}.cleaner-register-page .cleaner-register-table thead{display:none}.cleaner-register-page .cleaner-register-table,.cleaner-register-page .cleaner-register-table tbody,.cleaner-register-page .cleaner-register-table tr,.cleaner-register-page .cleaner-register-table td{display:block;width:100%}.cleaner-register-page .cleaner-register-table tbody{display:grid;gap:12px}.cleaner-register-page .cleaner-register-table tr{overflow:hidden;border:1px solid var(--line);border-left:5px solid #8aa4b1;border-radius:15px;background:#fff!important;box-shadow:0 7px 22px rgba(20,45,58,.05)}.cleaner-register-page .cleaner-register-table tr.lifecycle-active{border-left-color:var(--green)}.cleaner-register-page .cleaner-register-table tr.lifecycle-maintenance,.cleaner-register-page .cleaner-register-table tr.lifecycle-outage,.cleaner-register-page .cleaner-register-table tr.lifecycle-repair{border-left-color:var(--yellow)}.cleaner-register-page .cleaner-register-table tr.lifecycle-out-of-service{border-left-color:var(--red)}.cleaner-register-page .cleaner-register-table td{display:grid;grid-template-columns:105px minmax(0,1fr);padding:11px 14px;border-bottom:1px solid #edf1f3}.cleaner-register-page .cleaner-register-table td:before{content:attr(data-label);color:#69808e;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.cleaner-register-page .cleaner-register-table td>*{grid-column:2}.cleaner-register-page .cleaner-register-table td[data-label="Cleaner"]{padding-top:16px}.cleaner-register-page .cleaner-register-table td[data-label="Actions"]{display:block;padding:13px 14px}.cleaner-register-page .cleaner-register-table td[data-label="Actions"]:before{display:none}.cleaner-register-page .lifecycle-actions{justify-content:stretch}.cleaner-register-page .lifecycle-actions .btn{flex:1;padding:11px}.cleaner-register-page .register-delete{padding:9px}.cleaner-register-page .register-empty{display:block!important}}
@media(max-width:520px){.cleaner-register-page .register-overview{grid-template-columns:1fr 1fr;gap:8px}.cleaner-register-page .register-overview>div{padding:13px}.cleaner-register-page .register-overview strong{font-size:24px}.cleaner-register-page .register-overview small{display:none}.cleaner-register-page .cleaner-register-search .btn{padding-left:9px;padding-right:9px;font-size:12px}.cleaner-register-page .cleaner-register-table td{grid-template-columns:85px minmax(0,1fr);padding:10px 12px}.cleaner-register-page .lifecycle-actions{display:grid;grid-template-columns:1fr 1fr}.cleaner-register-page .lifecycle-actions form{grid-column:1/-1;text-align:center}.cleaner-register-page .register-delete{padding:4px}}

/* Admin-only BeltVigil system health dashboard. */
.system-status-page{display:grid;gap:18px;padding-bottom:32px}.system-status-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border-radius:20px;background:#102b3a;color:#fff;box-shadow:0 12px 34px rgba(16,43,58,.16)}.system-status-hero small{font-size:10px;font-weight:900;letter-spacing:.13em;color:#a9c5d2}.system-status-hero h1{margin:7px 0 5px;font-size:34px}.system-status-hero p{margin:0;color:#d6e2e8}.system-status-hero.state-warning{background:#5e450d}.system-status-hero.state-critical{background:#742d2d}.system-overall-mark{display:flex;align-items:center;gap:9px;padding:11px 14px;border:1px solid rgba(255,255,255,.24);border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.08em}.system-overall-mark span,.system-summary-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:#42c383;box-shadow:0 0 0 4px rgba(66,195,131,.16)}.state-warning .system-overall-mark span,.system-summary-dot.warning{background:#f3b83f;box-shadow:0 0 0 4px rgba(243,184,63,.16)}.state-critical .system-overall-mark span,.system-summary-dot.critical{background:#ff6b61;box-shadow:0 0 0 4px rgba(255,107,97,.16)}.system-summary-dot.healthy{background:#42c383}.system-status-summary{display:grid;grid-template-columns:150px 150px 150px minmax(260px,1fr);gap:12px}.system-status-summary>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:17px 18px;border:1px solid var(--line);border-radius:15px;background:#fff}.system-status-summary strong{font-size:25px}.system-status-summary small{grid-column:2;color:var(--muted)}.system-status-summary .system-status-refresh{display:flex;align-items:center;justify-content:flex-end;gap:12px}.system-status-refresh small{color:var(--muted)}.system-status-refresh strong{font-size:12px}.system-attention-panel{display:grid;grid-template-columns:220px 1fr;gap:18px;padding:21px;border:1px solid #edcf8c;border-left:6px solid #e6a82d;border-radius:16px;background:#fff9e9}.system-attention-panel small{color:#806019;font-size:9px;font-weight:900;letter-spacing:.12em}.system-attention-panel h2{margin:5px 0}.system-attention-list{display:grid;gap:7px}.system-attention-list a{display:grid;grid-template-columns:auto minmax(150px,.6fr) 1fr;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;background:#fff;color:inherit;text-decoration:none}.system-attention-list a small{color:#6f6250;letter-spacing:0}.system-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.system-check-card{position:relative;min-height:190px;padding:20px;border:1px solid var(--line);border-top:5px solid #42a66f;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(20,45,58,.055);scroll-margin-top:16px}.system-check-card.state-warning{border-top-color:#e2aa34}.system-check-card.state-critical{border-top-color:#d65353;background:#fffafa}.system-check-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.system-check-top small{color:#34815a;font-size:9px;font-weight:950;letter-spacing:.12em}.state-warning .system-check-top small{color:#9a6a09}.state-critical .system-check-top small{color:#a53232}.system-check-top h2{margin:5px 0 0;font-size:18px}.system-check-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#dff4e8;color:#24764e;font-size:19px;font-weight:950}.state-warning .system-check-icon{background:#fff0c9;color:#946200}.state-critical .system-check-icon{background:#fde0e0;color:#a42c2c}.system-check-summary{display:block;margin-top:20px;font-size:15px}.system-check-card p{margin:7px 0 0;color:#667985;font-size:12px;line-height:1.55}.system-status-note{margin:0;padding:11px 14px;border-radius:10px;background:#edf3f5;color:#60727f;font-size:11px}
@media(max-width:980px){.system-status-summary{grid-template-columns:repeat(3,1fr)}.system-status-summary .system-status-refresh{grid-column:1/-1}.system-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.system-status-hero{align-items:flex-start;display:grid;padding:22px}.system-status-hero h1{font-size:28px}.system-overall-mark{width:max-content}.system-status-summary{grid-template-columns:repeat(3,1fr)}.system-status-summary>div{grid-template-columns:1fr;justify-items:center;padding:13px 8px;text-align:center}.system-status-summary small{grid-column:1;font-size:9px}.system-status-summary .system-status-refresh{display:grid;grid-template-columns:1fr;justify-items:stretch;text-align:left}.system-status-refresh .btn{text-align:center}.system-attention-panel{grid-template-columns:1fr}.system-attention-list a{grid-template-columns:auto 1fr}.system-attention-list a small{grid-column:2}.system-check-grid{grid-template-columns:1fr}.system-check-card{min-height:0}}

/* V1.12.2 operator phones show tasks, not the communication trail. */
@media(max-width:760px){
 .action-desk-operator>.notification-heading{display:none}
 .action-desk-operator .operator-mobile-heading.field-mobile-only{display:flex!important;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:16px;border-radius:15px;background:#102b3a;color:#fff}
 .operator-mobile-heading small{color:#79dfe3;font-size:10px;font-weight:900;letter-spacing:.12em}
 .operator-mobile-heading h1{margin:2px 0;font-size:30px}
 .operator-mobile-heading p{margin:0;color:#c2d4dc;font-size:13px;line-height:1.35}
 .operator-mobile-heading>strong,.operator-mobile-heading>.operator-task-count{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:15px;background:#ff5a1f;color:#fff;font-size:25px;font-weight:850;line-height:1;text-decoration:none}
 .operator-mobile-heading>.operator-task-count{cursor:pointer;box-shadow:0 0 0 3px rgba(255,255,255,.12)}
 .operator-mobile-heading>.operator-task-count:focus-visible{outline:3px solid #79dfe3;outline-offset:3px}
 #operator-task-list{scroll-margin-top:14px}
 .action-desk-operator .action-desk-top-actions{margin:8px 0 14px}
 .action-desk-operator .cleaner-thread:not(.thread-has-active){display:none!important}
 .action-desk-operator .cleaner-thread{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
 .action-desk-operator .cleaner-thread>summary{display:none!important}
 .action-desk-operator .cleaner-thread>.cleaner-thread-body{display:block!important;padding:0}
 .action-desk-operator .cleaner-thread-timeline{display:block}
 .action-desk-operator .thread-problem,.action-desk-operator .mobile-history-event{display:none!important}
 .action-desk-operator .thread-action.mobile-current-event{display:block!important;margin-bottom:12px}
 .action-desk-operator .thread-action .thread-event-card{padding:0;overflow:hidden;border:1px solid #cbd9df;border-left:0;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(18,48,63,.08)}
 .action-desk-operator .thread-action-overdue .thread-event-card{border:2px solid #c94141}
 .action-desk-operator .thread-event-head{display:none}
 .action-desk-operator .operator-mobile-task-top.field-mobile-only{display:flex!important;align-items:flex-start;justify-content:space-between;gap:10px;padding:15px 16px;border-bottom:1px solid #dfe7eb;background:#f6f9fa}
 .operator-mobile-task-top>div:first-child small,.operator-mobile-task-top>div:first-child strong,.operator-mobile-task-top>div:first-child span{display:block}
 .operator-mobile-task-top>div:first-child small{color:#4e7b8d;font-size:9px;font-weight:900;letter-spacing:.1em}
 .operator-mobile-task-top>div:first-child strong{margin:3px 0;font-size:19px}
 .operator-mobile-task-top>div:first-child span{color:#687a87;font-size:11px}
 .operator-mobile-task-top .action-badges{justify-content:flex-end}
 .action-desk-operator .field-mobile-assignment.field-mobile-only{display:block!important;margin:14px 15px 0}
 .action-desk-operator .field-mobile-action-label{display:block!important;margin:16px 16px 7px}
 .action-desk-operator .thread-action-message{margin:0 15px;padding:16px;font-size:18px;line-height:1.5}
 .action-desk-operator .thread-meta{margin:9px 15px 0}
 .action-desk-operator .action-update-form{margin:15px;padding:15px 0 0}
 .action-desk-operator .action-update-form textarea{min-height:60px}
 .action-desk-operator .notification-empty{display:none}
 .action-desk-operator .operator-mobile-empty.field-mobile-only{display:grid!important;gap:8px;padding:28px 20px;border:1px solid #cfe1e5;border-radius:16px;background:#fff;text-align:center}
 .operator-mobile-empty strong{font-size:22px}
 .operator-mobile-empty span{color:#697b88;font-size:13px}
.operator-mobile-empty .btn{margin-top:7px}
}

/* V1.12.4 mobile Action Desk typography and control integrity. */
@media(max-width:760px){
 .action-desk-field-role,.action-desk-field-role button,.action-desk-field-role textarea{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
 .action-desk-field-role p,.action-desk-field-role span,.action-desk-field-role strong,.action-desk-field-role small,.action-desk-field-role h1,.action-desk-field-role h2,.action-desk-field-role h3{word-break:normal;overflow-wrap:break-word;word-spacing:normal}
 .action-desk-field-role .btn{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px 15px;line-height:1.25;white-space:normal;text-wrap:balance;word-break:normal;overflow-wrap:normal;word-spacing:normal}
 .action-desk-field-role .btn span{font-size:15px;line-height:1.25;letter-spacing:normal;word-spacing:normal}
 .action-desk-field-role .action-badges span{display:inline-flex;align-items:center;min-height:28px;line-height:1.15;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
 .action-desk-field-role .field-mobile-assignment{line-height:1.35}
 .action-desk-field-role .field-mobile-assignment strong{line-height:1.35}
 .action-desk-field-role .thread-action-message{white-space:normal;word-break:normal;overflow-wrap:anywhere;word-spacing:normal}
 .action-desk-field-role .thread-meta{line-height:1.35}
 .action-desk-field-role .action-update-form label>span{display:block;line-height:1.35}
 .action-desk-field-role .action-update-form textarea{width:100%;padding:12px 13px;line-height:1.45;word-spacing:normal}
 .action-desk-field-role .action-update-form .action-status-button{min-height:56px;padding:13px 16px}
 .action-desk-field-role .action-update-form .action-status-button .field-mobile-only{display:block!important;width:100%;font-size:16px;font-weight:850;line-height:1.25;white-space:normal;text-wrap:balance;word-break:normal;overflow-wrap:normal;letter-spacing:normal;word-spacing:normal}
 .action-desk-field-role .action-close-form .btn{width:100%;min-height:56px;font-size:16px;font-weight:850}
 .operator-mobile-empty strong,.operator-mobile-empty span{line-height:1.4}
}
@media(max-width:420px){
 .action-desk-operator .operator-mobile-heading.field-mobile-only{align-items:flex-start;padding:14px}
 .operator-mobile-heading h1{font-size:27px;line-height:1.1}
 .operator-mobile-heading p{font-size:12px;line-height:1.45}
 .operator-mobile-heading>strong,.operator-mobile-heading>.operator-task-count{flex-basis:48px;width:48px;height:48px;font-size:22px}
 .action-desk-operator .operator-mobile-task-top.field-mobile-only{display:grid!important;grid-template-columns:minmax(0,1fr);gap:9px;padding:14px}
 .operator-mobile-task-top .action-badges{justify-content:flex-start}
 .action-desk-operator .thread-action-message{margin:0 13px;padding:14px;font-size:17px;line-height:1.5}
 .action-desk-operator .field-mobile-assignment.field-mobile-only{margin:13px 13px 0}
 .action-desk-operator .field-mobile-action-label{margin:15px 14px 7px}
 .action-desk-operator .thread-meta{margin:9px 13px 0}
 .action-desk-operator .action-update-form{margin:13px;padding-top:13px}
 .action-desk-field-role .btn,.action-desk-field-role .action-update-form .action-status-button .field-mobile-only{font-size:15px}
}

/* V1.12.6 supervisor phone card layout and iOS button text. */
@media(max-width:760px){
 .action-desk-supervisor .thread-action .thread-event-head{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;align-items:start}
 .action-desk-supervisor .thread-action .thread-event-head .action-badges{justify-content:flex-start}
 .action-desk-supervisor .field-mobile-assignment.field-mobile-only,.action-desk-supervisor .field-mobile-action-label.field-mobile-only{display:block!important}
 .action-desk-supervisor .field-mobile-assignment{clear:both;margin:12px 0;padding:11px 12px}
 .action-desk-supervisor .field-mobile-action-label{clear:both;margin:13px 0 7px}
 .action-desk-supervisor .thread-action-message{clear:both;margin:0;width:100%}
 .action-desk-supervisor .action-update-form{clear:both;width:100%}
 .action-desk-field-role .action-update-form .action-status-button{-webkit-appearance:none;appearance:none;background:#fff!important;border-color:#c7d2dc!important;color:#17212b!important;-webkit-text-fill-color:#17212b!important;opacity:1}
 .action-desk-field-role .action-update-form .action-status-button .field-mobile-only{color:#17212b!important;-webkit-text-fill-color:#17212b!important;opacity:1!important;visibility:visible!important}
 .action-desk-field-role .action-update-form .action-status-button.primary{background:var(--green)!important;border-color:var(--green)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
 .action-desk-field-role .action-update-form .action-status-button.primary .field-mobile-only{color:#fff!important;-webkit-text-fill-color:#fff!important}
 .action-desk-field-role .action-update-form .action-status-button .action-status-label{display:block!important;width:100%;color:#17212b!important;-webkit-text-fill-color:#17212b!important;font-size:16px;font-weight:850;line-height:1.2;letter-spacing:normal;word-spacing:normal;white-space:nowrap}
 .action-desk-field-role .action-update-form .action-status-button.primary .action-status-label{color:#fff!important;-webkit-text-fill-color:#fff!important}
}

/* Company-first user directory: compact list rows with clearly separated organisations and sites. */
.users-access-page .user-directory-list{padding:0;overflow:hidden}
.users-access-page .user-directory-list>.user-section-heading{padding:21px 22px;border-bottom:1px solid var(--line);background:#fff}
.company-user-groups{display:grid;gap:22px;padding:20px;background:#edf3f6}
.company-user-group{--company-head:#123b49;--company-head-2:#0d2c38;--company-accent:#65d0d8;overflow:hidden;border:1px solid #cbd9e0;border-radius:17px;background:#fff;box-shadow:0 9px 26px rgba(20,45,58,.07)}
.company-user-group.company-tone-0{--company-head:#0e4f5b;--company-head-2:#0b3542;--company-accent:#75e0df}
.company-user-group.company-tone-1{--company-head:#263f69;--company-head-2:#182a4b;--company-accent:#a7c7ff}
.company-user-group.company-tone-2{--company-head:#75421d;--company-head-2:#4e2b19;--company-accent:#ffc77e}
.company-user-group.company-tone-3{--company-head:#58416e;--company-head-2:#392b4b;--company-accent:#d8b6f1}
.company-user-group.company-tone-4{--company-head:#255846;--company-head-2:#183d31;--company-accent:#91dfbd}
.company-user-group.company-management{--company-head:#142538;--company-head-2:#081a2b;--company-accent:#ff8a58}
.company-user-group.company-legacy{--company-head:#782f33;--company-head-2:#4e2024;--company-accent:#ffc0c0}
.company-user-group-header{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px 20px;background:linear-gradient(135deg,var(--company-head),var(--company-head-2));color:#fff}
.company-user-mark{display:grid;place-items:center;width:50px;height:50px;border:2px solid var(--company-accent);border-radius:14px;background:rgba(255,255,255,.09);color:var(--company-accent);font-size:15px;font-weight:950;letter-spacing:.05em}
.company-user-heading small,.company-user-heading h3,.company-user-heading p{display:block;margin:0}
.company-user-heading small{color:var(--company-accent);font-size:9px;font-weight:900;letter-spacing:.14em}
.company-user-heading h3{margin-top:3px;color:#fff;font-size:20px;line-height:1.15}
.company-user-heading p{margin-top:4px;color:#d6e1e7;font-size:10px;line-height:1.4}
.company-user-totals{display:flex;gap:7px}
.company-user-totals>span{min-width:72px;padding:8px 10px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.08);color:#dce8ed;font-size:9px;text-align:center;text-transform:uppercase}
.company-user-totals strong{display:block;margin-bottom:1px;color:#fff;font-size:16px;line-height:1}
.company-site-list{display:grid;gap:15px;padding:16px}
.company-site-group{overflow:hidden;border:1px solid #d7e1e6;border-radius:13px;background:#fff}
.company-site-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 14px;border-bottom:1px solid #d7e1e6;background:#f3f7f9}
.company-site-header div>small,.company-site-header div>strong,.company-site-header div>span{display:block}
.company-site-header div>small{color:#527180;font-size:8px;font-weight:900;letter-spacing:.13em}
.company-site-header div>strong{margin-top:2px;color:#163744;font-size:14px}
.company-site-header div>span{margin-top:2px;color:#8d4d4d;font-size:9px}
.company-site-header>span{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#e1ecef;color:#365c68;font-size:9px;font-weight:850}
.user-list-columns,.user-list-row{display:grid;grid-template-columns:minmax(210px,1.5fr) 115px minmax(135px,.8fr) minmax(110px,.7fr) 82px minmax(215px,auto);align-items:center;gap:12px}
.user-list-columns{padding:8px 13px;border-bottom:1px solid #e4ebef;background:#fbfcfd;color:#6d808b;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.user-list-columns span:last-child{text-align:right}
.company-user-list{display:grid}
.user-list-row{min-height:69px;padding:10px 13px;border-bottom:1px solid #e4ebef;background:#fff}
.user-list-row:last-child{border-bottom:0}
.user-list-row:hover{background:#f8fbfc}
.user-list-row.user-disabled{background:#f3f5f6;opacity:.68}
.user-list-row.user-scope-warning{box-shadow:inset 4px 0 #c94141;background:#fff8f8}
.user-list-identity{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:0}
.user-list-identity .user-avatar{width:38px;height:38px;border-radius:10px;font-size:12px}
.user-list-identity strong,.user-list-identity small{display:block;min-width:0}
.user-list-identity strong{color:#17212b;font-size:13px;line-height:1.25}
.user-list-identity small{margin-top:3px;overflow:hidden;color:#71818c;font-size:9px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.user-list-cell{min-width:0}
.user-list-cell>small{display:none;color:#71818c;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.user-list-cell>strong{display:block;color:#263842;font-size:10px;line-height:1.35}
.user-list-cell>em{display:block;margin-top:4px;color:#a42c2c;font-size:9px;font-style:normal;font-weight:850}
.user-list-cell .user-role-badge,.user-list-cell .user-account-state{display:inline-flex;align-items:center;justify-content:center;max-width:100%;white-space:normal;text-align:center}
.user-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.user-list-actions form{display:inline-flex;margin:0}
.user-list-actions .btn{min-height:34px;padding:7px 9px;border-radius:8px;font-size:9px;white-space:nowrap}
.user-list-actions .user-delete-form{margin-left:1px}
.user-list-actions .user-delete-form button{padding:6px 3px;border:0;background:transparent;color:#9f3434;font:inherit;font-size:9px;font-weight:800;text-decoration:underline;cursor:pointer}
.user-directory-empty{display:grid;gap:4px;padding:26px;border:1px dashed #b8cbd4;border-radius:14px;background:#fff;text-align:center}
.user-directory-empty span{color:var(--muted);font-size:11px}
@media(max-width:1100px){
 .user-list-columns,.user-list-row{grid-template-columns:minmax(185px,1.35fr) 105px minmax(125px,.75fr) minmax(100px,.65fr) 76px minmax(165px,auto);gap:8px}
 .user-list-actions{flex-wrap:wrap}
}
@media(max-width:850px){
 .company-user-groups{padding:14px;gap:16px}
 .user-list-columns{display:none}
 .user-list-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}
 .user-list-identity{grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid #e5ecef}
 .user-list-cell>small{display:block;margin-bottom:5px}
 .user-list-actions{grid-column:1/-1;justify-content:flex-start;padding-top:4px}
}
@media(max-width:620px){
 .users-access-page .user-directory-list>.user-section-heading{padding:17px}
 .company-user-groups{padding:10px}
 .company-user-group-header{grid-template-columns:44px minmax(0,1fr);padding:14px;gap:10px}
 .company-user-mark{width:42px;height:42px;border-radius:11px;font-size:12px}
 .company-user-heading h3{font-size:17px}
 .company-user-totals{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
 .company-user-totals>span{min-width:0}
 .company-site-list{padding:10px;gap:10px}
 .company-site-header{padding:10px 12px}
 .user-list-row{grid-template-columns:1fr}
 .user-list-identity,.user-list-actions{grid-column:auto}
 .user-list-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
 .user-list-actions form{display:block}
 .user-list-actions .btn{display:block;width:100%;min-height:40px}
 .user-list-actions .user-delete-form{grid-column:1/-1;margin:0;text-align:center}
}

/* Offline cleaners stay visible for reference but cannot accept new reports. */
.offline-report-disabled{background:#dfe5e9!important;border-color:#c7d1d8!important;color:#52616d!important;box-shadow:none!important;cursor:not-allowed!important;opacity:1!important}
.offline-report-disabled span{color:#667783!important;line-height:1.45}
.offline-cleaner-card{cursor:not-allowed;user-select:none}
.offline-cleaner-card b{color:#8a3434}
.offline-report-page{padding-top:18px}
.offline-report-notice{display:grid;gap:10px;margin:18px 0;padding:24px;border:1px solid #e5b7b7;border-left:6px solid var(--red);border-radius:16px;background:#fff3f3;color:#722929;text-align:left}
.offline-report-notice strong{font-size:22px}
.offline-report-notice span{color:#3f4d58;line-height:1.55}
.offline-report-notice small{color:#722929;font-size:14px;font-weight:700}

/* Site-authorised supervisors and viewers can update operational availability. */
.cleaner-state-control{overflow:hidden;padding:0}
.cleaner-state-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f8fbfc,#eef4f6)}
.cleaner-state-heading small,.cleaner-state-heading h2,.cleaner-state-heading p{display:block;margin:0}
.cleaner-state-heading>div>small{color:#357182;font-size:10px;font-weight:900;letter-spacing:.14em}
.cleaner-state-heading h2{margin-top:4px;font-size:22px}
.cleaner-state-heading p{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.5}
.cleaner-state-form{display:grid;grid-template-columns:minmax(210px,.75fr) minmax(280px,1.5fr) auto;align-items:end;gap:12px;padding:18px 22px 12px}
.cleaner-state-form label{display:grid;gap:6px;margin:0;color:#415562;font-size:11px;font-weight:850}
.cleaner-state-form label span{display:flex;align-items:center;gap:4px}
.cleaner-state-form label span small{color:var(--muted);font-size:10px;font-weight:650}
.cleaner-state-form select,.cleaner-state-form input{min-height:44px;margin:0}
.cleaner-state-form .btn{min-height:44px;white-space:nowrap}
.cleaner-state-help{display:block;padding:0 22px 18px;color:#6b7a85;font-size:11px;line-height:1.5}
.cleaner-state-fallback{border-left:5px solid var(--green)}
.cleaner-state-fallback p{margin-bottom:0;color:var(--muted)}
.qr-passport-button{display:block;width:100%;margin:12px 0}
@media(max-width:760px){
 .cleaner-state-heading{padding:17px;gap:12px}
 .cleaner-state-heading h2{font-size:19px}
 .cleaner-state-heading .lifecycle-badge{flex:0 0 auto}
 .cleaner-state-form{grid-template-columns:1fr;padding:16px 17px 10px}
 .cleaner-state-form .btn{display:block;width:100%}
 .cleaner-state-help{padding:0 17px 16px}
}

/* Product-linked Knowledge Base for every signed-in role. */
.knowledge-nav-link{gap:5px}.knowledge-nav-link span{font-size:16px!important;opacity:1!important}.knowledge-nav-link em{font-style:normal}
.knowledge-page{display:grid;gap:18px;padding-bottom:36px}
.knowledge-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 27px;border-radius:20px;background:linear-gradient(135deg,#102b3a,#173f4d);color:#fff;box-shadow:0 13px 35px rgba(14,42,55,.13)}
.knowledge-hero small,.knowledge-section-heading small{color:#72dce0;font-size:10px;font-weight:900;letter-spacing:.14em}
.knowledge-hero h1{margin:4px 0;font-size:34px}.knowledge-hero p{max-width:700px;margin:0;color:#d3e0e5;line-height:1.55}.knowledge-hero .btn{flex:0 0 auto;border-color:#ff5a1f;background:#ff5a1f}
.knowledge-admin-panel,.knowledge-library{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 27px rgba(20,45,58,.05)}
.knowledge-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line);background:#f6f9fa}
.knowledge-section-heading small{color:#4f7b8f}.knowledge-section-heading h2{margin:4px 0;font-size:22px}.knowledge-section-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.knowledge-section-heading>strong{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:#102b3a;color:#fff;font-size:18px}
.knowledge-upload-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:21px 22px}.knowledge-upload-form label,.knowledge-filters label{display:grid;align-content:start;gap:6px;margin:0}.knowledge-upload-form label>span,.knowledge-filters label>span{color:#415966;font-size:10px;font-weight:850}.knowledge-upload-form label>small,.knowledge-filters label>small{color:#71818c;font-size:9px;line-height:1.4}.knowledge-upload-form input,.knowledge-upload-form select,.knowledge-upload-form textarea{margin:0}.knowledge-description-field{grid-column:1/-1}.knowledge-file-field{grid-column:1}.knowledge-url-field{grid-column:2}.knowledge-upload-form input[type=file]{min-height:46px;padding:9px;background:#f8fafb}.knowledge-or{display:none}.knowledge-publish-button{grid-column:1/-1;justify-self:end;min-width:190px}
.knowledge-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(170px,.8fr) minmax(180px,.9fr) auto auto;align-items:end;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line);background:#fff}.knowledge-filters input,.knowledge-filters select{min-height:43px;margin:0}.knowledge-filters .btn{min-height:43px;white-space:nowrap}.knowledge-clear-filter{align-self:center;color:#287389;font-size:10px;font-weight:850;text-decoration:underline}
.knowledge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:20px;background:#edf3f6}.knowledge-card{overflow:hidden;border:1px solid #ccd9df;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(21,47,61,.06)}.knowledge-card-archived{opacity:.67;filter:saturate(.55)}.knowledge-video{position:relative;aspect-ratio:16/9;background:#0b1b24}.knowledge-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.knowledge-card-body{display:grid;gap:11px;padding:18px}.knowledge-card-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px}.knowledge-card-kicker span,.knowledge-card-kicker b{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.knowledge-card-kicker span{background:#dff3f4;color:#126c73}.knowledge-card-kicker b{background:#e3e7e9;color:#5d6970}.knowledge-card h3{margin:0;color:#17212b;font-size:20px;line-height:1.25}.knowledge-card-body>p{margin:0;color:#536572;font-size:12px;line-height:1.6}.knowledge-scope{display:flex;flex-wrap:wrap;gap:7px}.knowledge-scope>span{padding:8px 10px;border-radius:10px;background:#f1f5f7;color:#263d49;font-size:10px;font-weight:800}.knowledge-scope small{display:block;margin-bottom:2px;color:#728690;font-size:7px;font-weight:900;letter-spacing:.08em}.knowledge-card-meta{padding-top:9px;border-top:1px solid #e1e8eb;color:#778690;font-size:9px;line-height:1.45}.knowledge-card-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.knowledge-card-actions .btn{min-height:38px;padding:9px 12px;border-radius:9px;font-size:10px}.knowledge-card-actions form{display:inline-flex;margin:0 0 0 auto}.knowledge-archive-button{border:0;background:transparent;color:#9b3636;font:inherit;font-size:9px;font-weight:800;text-decoration:underline;cursor:pointer}.knowledge-empty{display:grid;place-items:center;gap:6px;padding:55px 20px;text-align:center}.knowledge-empty>span{font-size:42px}.knowledge-empty strong{font-size:20px}.knowledge-empty p{max-width:440px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:900px){.knowledge-upload-form{grid-template-columns:1fr}.knowledge-description-field,.knowledge-file-field,.knowledge-url-field,.knowledge-publish-button{grid-column:auto}.knowledge-or{display:block;color:#748590;font-size:9px;font-weight:900;text-align:center}.knowledge-publish-button{justify-self:stretch}.knowledge-filters{grid-template-columns:1fr 1fr}.knowledge-filters label:first-child{grid-column:1/-1}.knowledge-grid{grid-template-columns:1fr}}
@media(max-width:760px){.topbar nav .knowledge-nav-link{display:inline-flex!important;width:34px;height:34px;min-width:34px!important;min-height:34px!important;padding:0!important;border:1px solid rgba(255,255,255,.25);border-radius:50%}.knowledge-nav-link em{display:none}.knowledge-page{gap:13px}.knowledge-hero{display:grid;padding:20px}.knowledge-hero h1{font-size:28px}.knowledge-hero p{font-size:13px}.knowledge-hero .btn{width:100%}.knowledge-section-heading{padding:17px}.knowledge-upload-form{padding:15px}.knowledge-filters{grid-template-columns:1fr;padding:14px}.knowledge-filters label:first-child{grid-column:auto}.knowledge-filters .btn{width:100%}.knowledge-clear-filter{text-align:center}.knowledge-grid{padding:12px}.knowledge-card-body{padding:15px}.knowledge-card h3{font-size:18px}.knowledge-card-actions{display:grid;grid-template-columns:1fr 1fr}.knowledge-card-actions .btn{display:flex;align-items:center;justify-content:center}.knowledge-card-actions form{grid-column:1/-1;justify-content:center;margin:2px 0 0}.knowledge-archive-button{padding:8px}}
@media(max-width:420px){.knowledge-card-actions{grid-template-columns:1fr}.knowledge-card-actions form{grid-column:auto}.knowledge-scope{display:grid;grid-template-columns:1fr 1fr}.knowledge-scope>span:last-child:nth-child(odd){grid-column:1/-1}}
