:root{color-scheme:light;--ink:#17211c;--muted:#607067;--line:#dbe4df;--paper:#f7faf8;--green:#176b4d;--green-dark:#0d4b35;--mint:#dff3e9;--white:#fff;--danger:#9d2e2e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.topbar{min-height:68px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;gap:36px;background:var(--ink);color:#fff}.brand{font-size:1.25rem;font-weight:800;letter-spacing:.02em}.topbar a{color:#fff;text-decoration:none}.topbar nav{display:flex;gap:8px}.topbar nav a{padding:10px 14px;border-radius:8px;color:#dbe6e0}.topbar nav a:hover{background:#2b3b32}.environment{margin-left:auto;color:#a9b9b0;font-size:.82rem}.shell{max-width:1480px;margin:0 auto;padding:clamp(28px,4vw,60px)}.hero{max-width:780px;padding:clamp(34px,6vw,76px) 0}.hero.compact{padding-top:30px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:var(--green);margin:0 0 10px}h1{font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.045em;line-height:1.02;margin:0 0 16px}.hero p,.page-heading p{color:var(--muted);line-height:1.65}.primary-action,.filters button{display:inline-block;background:var(--green);color:#fff;border:0;border-radius:9px;padding:12px 18px;font-weight:750;text-decoration:none;cursor:pointer}.primary-action:hover,.filters button:hover{background:var(--green-dark)}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}.page-heading h1{font-size:clamp(2rem,3vw,3rem)}.page-heading p{margin-bottom:0}.record-count{background:var(--mint);border-radius:14px;padding:14px 20px;display:flex;flex-direction:column;min-width:160px}.record-count strong{font-size:1.5rem}.record-count span{font-size:.78rem;color:var(--green-dark)}.filters{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(135px,.7fr)) auto auto;align-items:end;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:18px}.filters label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.78rem;font-weight:700}.filters input,.filters select{min-height:42px;border:1px solid #cbd7d0;border-radius:8px;padding:8px 10px;background:#fff;color:var(--ink)}.filters>a{padding:11px;color:var(--green);font-weight:700}.table-frame{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 32px rgba(23,33,28,.05)}table{border-collapse:collapse;width:100%;min-width:1080px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid #e8eeeb;white-space:nowrap}th{position:sticky;top:0;background:#eff5f1;color:#506158;text-transform:uppercase;letter-spacing:.06em;font-size:.69rem}td{font-variant-numeric:tabular-nums;font-size:.86rem}.timestamp{color:#405048}.status{display:inline-flex;min-width:28px;justify-content:center;background:#edf2ef;border-radius:999px;padding:4px 8px;font-weight:700}.pagination{display:flex;justify-content:space-between;align-items:center;padding:18px 4px;color:var(--muted)}.pagination div{display:flex;gap:8px}.pagination a{color:var(--green);border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;text-decoration:none;font-weight:700}.error-panel,.empty-panel{display:flex;flex-direction:column;gap:5px;border-radius:12px;padding:20px;background:#fff;border:1px solid var(--line)}.error-panel{border-color:#e7bcbc;color:var(--danger)}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88em}@media(max-width:900px){.environment{display:none}.filters{grid-template-columns:1fr 1fr}.page-heading{align-items:start;flex-direction:column}.record-count{width:100%}}@media(max-width:560px){.topbar{gap:12px}.topbar nav{margin-left:auto}.shell{padding:24px 14px}.filters{grid-template-columns:1fr}}
.brand span{color:#83d6ad}.customer-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}.customer-heading h1{font-size:clamp(2.2rem,4vw,4rem)}.customer-heading p{margin:0;color:var(--muted)}.evidence-badge{padding:9px 13px;background:#fff5d9;color:#7b5b0b;border:1px solid #ecd895;border-radius:999px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.customer-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:20px}.customer-filters label,.login-card label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.75rem;font-weight:800}.customer-filters input,.customer-filters select,.login-card input{min-height:44px;border:1px solid #cad7d0;border-radius:8px;padding:8px 11px;background:#fff;color:var(--ink)}.customer-filters button,.login-card button{height:44px;border:0;border-radius:8px;padding:0 22px;background:var(--green);color:#fff;font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric-grid article{display:flex;flex-direction:column;gap:5px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px}.metric-grid span{color:var(--muted);font-size:.77rem;font-weight:700}.metric-grid strong{font-size:1.8rem;letter-spacing:-.03em}.metric-grid small{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(230px,1fr);gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.panel h2,.section-title h2{margin:0;font-size:1.35rem}.trend-panel header,.section-title,.washroom-card header{display:flex;justify-content:space-between;align-items:start}.trend-panel header>strong{font-size:1.65rem}.trend-panel header small{display:block;color:var(--muted);font-size:.68rem;text-align:right}.bar-chart,.detail-chart{height:260px;display:flex;align-items:end;gap:5px;border-bottom:1px solid var(--line);padding-top:36px;margin-top:16px}.bar-column,.detail-column{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;position:relative;min-width:10px}.bar-column i,.detail-column i{display:block;width:70%;max-width:26px;background:linear-gradient(#48ae7a,#176b4d);border-radius:5px 5px 0 0}.bar-column>span,.detail-column>span{font-size:.66rem;color:var(--muted);min-height:16px}.bar-column small,.detail-column small{font-size:.6rem;color:var(--muted);margin-top:6px}.data-note{font-size:.74rem;line-height:1.5;color:var(--muted);margin:16px 0 0}.level-list>a{display:flex;justify-content:space-between;align-items:center;padding:12px;margin:5px -8px;border-radius:10px;text-decoration:none;color:var(--ink)}.level-list>a:hover,.level-list>a.active{background:var(--mint)}.level-list a span{display:flex;flex-direction:column}.level-list a small{color:var(--muted);margin-top:3px}.level-list a b{font-size:1.15rem}.washroom-section{margin-top:34px}.section-title{margin-bottom:15px}.section-title>span{color:var(--muted);font-size:.8rem}.washroom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.washroom-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}.washroom-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(23,33,28,.09)}.washroom-card header span{display:flex;flex-direction:column}.washroom-card header strong{font-size:1.3rem}.washroom-card header small,.washroom-card footer{color:var(--muted)}.washroom-card header b{font-size:1.5rem}.spark-bars{height:58px;display:flex;align-items:end;gap:3px;margin:18px 0}.spark-bars i{flex:1;background:#79c49e;border-radius:2px 2px 0 0}.washroom-card footer{display:flex;justify-content:space-between;font-size:.7rem}.back-link{display:inline-block;margin-bottom:24px;color:var(--green);font-weight:750;text-decoration:none}.detail-metrics{grid-template-columns:repeat(3,1fr)}.detail-panel{margin-top:18px}.detail-column b{position:absolute;bottom:-8px;background:#d98b24;color:#fff;border-radius:50%;width:17px;height:17px;text-align:center;font-size:.7rem;z-index:2}.login-card{max-width:430px;margin:8vh auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:36px;box-shadow:0 18px 60px rgba(23,33,28,.09)}.login-card h1{font-size:2.4rem}.login-card>p{color:var(--muted)}.login-card form{display:flex;flex-direction:column;gap:14px;margin-top:24px}.validation{color:var(--danger);font-size:.85rem}.login-note{display:block;color:var(--muted);line-height:1.5;margin-top:22px}.operator{font-size:.82rem}.logout{border:1px solid #526158;background:transparent;color:#fff;border-radius:7px;padding:7px 10px}
@media(max-width:1050px){.metric-grid{grid-template-columns:1fr 1fr}.washroom-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.customer-heading{align-items:start;flex-direction:column}.customer-filters{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.bar-chart{overflow-x:auto}.bar-column{min-width:22px}.washroom-grid{grid-template-columns:1fr}}@media(max-width:520px){.metric-grid,.detail-metrics,.customer-filters{grid-template-columns:1fr}.topbar nav{display:none}.customer-heading h1{font-size:2.2rem}.washroom-card footer{gap:8px;flex-direction:column}}
.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.status-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px}.status-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:#e8f1ff;color:#246bc4;font-weight:900}.status-card>div{display:grid}.status-card small{color:var(--muted);font-weight:750}.status-card strong{font-size:1.55rem}.status-card em{font-size:.67rem;color:var(--muted);font-style:normal}.status-card.critical .status-icon{background:#ffe7e5;color:#c9362b}.status-card.low .status-icon{background:#fff0d8;color:#cc7a0a}.status-card.healthy .status-icon{background:#e2f6e9;color:#21884e}.priority-panel{margin-top:18px}.priority-panel>header,.mobile-list>header,.mobile-alerts>header{display:flex;align-items:center;justify-content:space-between}.priority-panel>header>a{color:var(--green);font-size:.8rem;font-weight:750;text-decoration:none}.priority-table{margin-top:14px}.priority-row{display:grid;grid-template-columns:1.3fr .7fr 1fr .8fr 1fr;gap:14px;align-items:center;padding:12px 8px;border-bottom:1px solid #edf1ef;text-decoration:none;color:var(--ink);font-size:.8rem}.priority-row>span:first-child{display:grid}.priority-row small{color:var(--muted)}.priority-head{color:var(--muted);font-size:.68rem;text-transform:uppercase;font-weight:800}.priority-row i,.room-copy i{display:block;height:5px;background:#edf0ef;border-radius:5px;margin-top:5px;overflow:hidden}.priority-row i u,.room-copy i u{display:block;height:100%;background:#d8342b;text-decoration:none}.status-pill{display:inline-block;border-radius:5px;padding:5px 8px;font-style:normal;font-size:.68rem;font-weight:800}.status-pill.critical{color:#b5231b;background:#ffe4e1}.status-pill.low{color:#a85d00;background:#fff0d6}.status-pill.healthy{color:#14753e;background:#def4e6}.phone-shell{max-width:430px;margin:0 auto;background:#f7f8fa;border:1px solid #d9dfe5;border-radius:30px;overflow:hidden;box-shadow:0 25px 70px rgba(20,30,50,.16)}.mobile-header{display:flex;justify-content:space-between;align-items:center;padding:24px 20px 13px;background:#fff}.mobile-header small{color:var(--muted)}.mobile-header h1{font-size:1.35rem;margin:4px 0 0;letter-spacing:-.02em}.mobile-header>span{color:#d32e26}.mobile-status{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 15px 15px;background:#fff}.mobile-status article{display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px 5px}.mobile-status strong{font-size:1.4rem}.mobile-status small{font-size:.68rem}.mobile-status .critical{color:#c52c22}.mobile-status .low{color:#bd720d}.mobile-status .healthy{color:#1e864c}.mobile-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 15px}.mobile-filters button{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;color:#39443e}.mobile-list,.mobile-alerts{background:#fff;margin:0 12px 12px;border:1px solid var(--line);border-radius:14px;padding:15px}.mobile-list h2,.mobile-alerts h2{font-size:.95rem;margin:0}.mobile-list header small{color:var(--muted);font-size:.65rem}.mobile-list header>b{background:#dc342b;color:#fff;border-radius:99px;padding:3px 7px;font-size:.7rem}.mobile-list>a{display:grid;grid-template-columns:24px 1fr auto 10px;gap:9px;align-items:center;text-decoration:none;color:var(--ink);padding:13px 0;border-bottom:1px solid #edf0ef}.rank{display:grid;place-items:center;width:22px;height:22px;background:#df3b31;color:#fff;border-radius:50%;font-size:.7rem;font-weight:800}.room-copy{display:grid;min-width:0}.room-copy strong{font-size:.76rem}.room-copy small{font-size:.62rem;color:var(--muted)}.mobile-action{display:grid;justify-items:end;gap:4px}.mobile-action small{color:var(--muted);font-size:.62rem}.mobile-alerts header a{color:var(--green);font-size:.7rem}.mobile-alerts p{display:flex;justify-content:space-between;gap:6px;font-size:.72rem;border-top:1px solid #edf0ef;padding-top:11px}.mobile-alerts p b{color:#b52a24}.mobile-alerts p small{color:var(--muted)}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);padding:11px 8px 16px}.mobile-nav a{display:grid;justify-items:center;color:#7b8580;text-decoration:none}.mobile-nav a small{font-size:.62rem}.mobile-nav a.active{color:#2767d6}@media(max-width:900px){.status-grid{grid-template-columns:1fr 1fr}.priority-table{overflow-x:auto}.priority-row{min-width:760px}}@media(max-width:520px){.status-grid{grid-template-columns:1fr 1fr}.phone-shell{border-radius:0;margin:-24px -14px;max-width:none;min-height:100vh}.phone-shell+.topbar{display:none}}
.mobile-key-summary{display:none}.bar-column,.detail-column{justify-content:flex-end;overflow:visible}.bar-column i,.detail-column i{flex:0 0 auto;min-height:3px;box-shadow:0 0 0 1px rgba(13,75,53,.08)}.bar-column>span,.detail-column>span{flex:0 0 16px}.bar-column small,.detail-column small{flex:0 0 auto}.spark-bars{align-items:flex-end}.spark-bars i{display:block;flex:1 0 0;min-height:3px;background:linear-gradient(#79c49e,#2d9362)}.mobile-header em{display:block;margin-top:5px;color:#8a680b;font-size:.62rem;font-style:normal;font-weight:800;text-transform:uppercase}.room-copy>span{font-size:.62rem;color:var(--muted)}.mobile-action>b{font-size:.6rem;color:var(--muted);font-weight:650;max-width:112px;text-align:right}
@media(max-width:900px){.priority-table{overflow:visible}.priority-row{grid-template-columns:1fr 1fr;gap:9px;min-width:0;margin-bottom:10px;padding:14px;border:1px solid var(--line);border-radius:10px}.priority-head{display:none}.bar-chart,.detail-chart{gap:3px}.bar-column i,.detail-column i{width:82%}}
@media(max-width:520px){.mobile-key-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}.mobile-key-summary article{display:grid;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.mobile-key-summary small{color:var(--muted);font-size:.66rem;font-weight:750}.mobile-key-summary strong{font-size:1.35rem}.mobile-key-summary span{color:var(--muted);font-size:.65rem}.metric-grid{display:none}.customer-filters{margin-bottom:14px}.dashboard-grid{margin-top:14px}.bar-chart,.detail-chart{height:220px;gap:2px;overflow:hidden}.bar-column{min-width:0}.bar-column small,.detail-column small{font-size:.52rem;writing-mode:vertical-rl;margin-top:4px}.priority-row{grid-template-columns:1fr}.priority-row>span{display:grid;gap:3px}.priority-row>span:nth-child(2)::before{content:"Level";color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase}.mobile-list>a{grid-template-columns:24px minmax(0,1fr) minmax(90px,auto) 10px}.mobile-action .status-pill{white-space:normal;text-align:right}}
.bar-scale-1{height:9px}.bar-scale-2{height:18px}.bar-scale-3{height:27px}.bar-scale-4{height:36px}.bar-scale-5{height:45px}.bar-scale-6{height:54px}.bar-scale-7{height:63px}.bar-scale-8{height:72px}.bar-scale-9{height:81px}.bar-scale-10{height:90px}.bar-scale-11{height:99px}.bar-scale-12{height:108px}.bar-scale-13{height:117px}.bar-scale-14{height:126px}.bar-scale-15{height:135px}.bar-scale-16{height:144px}.bar-scale-17{height:153px}.bar-scale-18{height:162px}.bar-scale-19{height:171px}.bar-scale-20{height:180px}.spark-scale-1{height:5px}.spark-scale-2{height:10px}.spark-scale-3{height:15px}.spark-scale-4{height:20px}.spark-scale-5{height:25px}.spark-scale-6{height:30px}.spark-scale-7{height:35px}.spark-scale-8{height:40px}.spark-scale-9{height:45px}.spark-scale-10{height:50px}.priority-row progress,.room-copy progress{width:100%;height:7px;border:0;border-radius:6px;overflow:hidden;accent-color:#d83b32}.priority-row progress::-webkit-progress-bar,.room-copy progress::-webkit-progress-bar{background:#edf0ef}.priority-row progress::-webkit-progress-value,.room-copy progress::-webkit-progress-value{background:#d83b32}.priority-row progress::-moz-progress-bar,.room-copy progress::-moz-progress-bar{background:#d83b32}

/* Proposal-style customer preview */
.proposal-heading{padding:12px 0 4px}.proposal-heading h1{font-size:clamp(2.35rem,4vw,4.3rem)}.freshness-block{display:flex;align-items:center;gap:14px;text-align:right}.freshness-block small{color:var(--muted);line-height:1.45}.freshness-block b{color:var(--ink)}.proposal-filters{grid-template-columns:1.7fr 1fr 1.25fr auto;margin-bottom:8px}.filter-guidance{margin:0 0 20px;color:var(--muted);font-size:.75rem}.overview-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.overview-strip>a{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;min-height:104px;color:var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}.overview-strip>a:hover,.overview-strip>a:focus-visible{transform:translateY(-2px);border-color:#85bca0;box-shadow:0 10px 28px rgba(23,33,28,.08)}.overview-strip a>div{display:flex;flex-direction:column}.overview-strip small{color:var(--muted);font-weight:750}.overview-strip strong{font-size:1.55rem;line-height:1.15;margin:3px 0}.overview-strip em{color:var(--muted);font-size:.68rem;font-style:normal}.overview-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:11px;font-size:1.15rem;font-weight:900}.overview-icon.blue{background:#e7f0ff;color:#246bc4}.overview-icon.green{background:#e2f6e9;color:#21884e}.overview-icon.amber{background:#fff0d8;color:#b76d05}.overview-icon.mint{background:var(--mint);color:var(--green)}.proposal-dashboard{margin-bottom:18px;scroll-margin-top:20px}.panel-title{display:flex;align-items:start;justify-content:space-between}.panel-title>span{color:var(--muted);font-size:.78rem}.customer-list-panel{padding-bottom:12px;scroll-margin-top:20px}.customer-list{display:grid;grid-template-columns:1.1fr 1fr 1.25fr 1fr .8fr .8fr;gap:14px;align-items:center;padding:14px 8px;border-bottom:1px solid #e9efec;color:var(--ink);text-decoration:none}.customer-list>span{display:flex;flex-direction:column}.customer-list small{color:var(--muted);margin-top:3px}.customer-list:hover{background:#f8fbf9}.customer-list-head{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.historical-pill{align-self:flex-start;background:#fff5d9;color:#7b5b0b;border-radius:999px;padding:5px 8px;font-size:.68rem;font-style:normal;font-weight:800}.detail-link{color:var(--green);font-size:.76rem;font-weight:800}.proposal-cards{margin-top:30px;scroll-margin-top:20px}.breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:22px;color:var(--muted);font-size:.8rem}.breadcrumb a{color:var(--green);font-weight:750;text-decoration:none}.detail-heading{margin-bottom:20px}.detail-strip{grid-template-columns:repeat(3,1fr)}.detail-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:18px}.panel-total{font-size:1.7rem}.panel-total small{display:block;color:var(--muted);font-size:.65rem;text-align:right}.period-panel h2{margin:0 0 18px}.period-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin:14px 0}.period-row span{display:flex;flex-direction:column}.period-row small{color:var(--muted);margin-top:2px}.period-row i{grid-column:1/-1;height:7px;background:#edf2ef;border-radius:8px;overflow:hidden}.period-row i u{display:block;height:100%;background:linear-gradient(90deg,var(--green),#69bc91);border-radius:8px}.customer-information{margin-top:18px}.information-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.information-grid>div{display:flex;flex-direction:column;gap:4px;background:#f6f9f7;border-radius:10px;padding:14px}.information-grid small{color:var(--muted)}.proposal-phone .mobile-status article:nth-child(2){color:var(--green)}.proposal-phone .mobile-status strong{font-size:1.05rem}.proposal-phone .mobile-nav{grid-template-columns:repeat(3,1fr)}
@media(max-width:1050px){.overview-strip{grid-template-columns:1fr 1fr}.customer-list{grid-template-columns:1fr 1fr 1fr}.customer-list-head{display:none}.customer-list>span:nth-child(2)::before,.customer-list>span:nth-child(4)::before,.customer-list>span:nth-child(5)::before{color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase}.customer-list>span:nth-child(2)::before{content:"Type"}.customer-list>span:nth-child(4)::before{content:"Last Updated"}.customer-list>span:nth-child(5)::before{content:"Data status"}}
@media(min-width:761px) and (max-width:1050px){.proposal-filters{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.freshness-block{align-items:flex-start;text-align:left}.proposal-filters{grid-template-columns:1fr 1fr}.detail-layout{grid-template-columns:1fr}.information-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.proposal-heading h1{font-size:2.15rem}.overview-strip{grid-template-columns:1fr 1fr}.overview-strip>a{align-items:flex-start;min-height:116px;padding:14px}.overview-icon{width:34px;height:34px;flex-basis:34px}.overview-strip strong{font-size:1.2rem}.proposal-filters{grid-template-columns:1fr}.customer-list{grid-template-columns:1fr 1fr;padding:16px 4px}.customer-list .detail-link{grid-column:1/-1}.detail-strip{grid-template-columns:1fr}.information-grid{grid-template-columns:1fr}.detail-heading .freshness-block{width:100%;justify-content:space-between}}
.overview-strip>article{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;min-height:104px}.overview-strip article>div{display:flex;flex-direction:column}.customer-list{grid-template-columns:1fr .85fr 1.2fr .8fr .9fr .75fr}.remaining-cell i,.remaining-meter{display:block;height:8px;background:#e8efeb;border-radius:999px;overflow:hidden;margin:5px 0}.remaining-cell i u,.remaining-meter i{display:block;height:100%;background:linear-gradient(90deg,#d99b34,#3ca66f);border-radius:999px}.remaining-caption{margin:7px 0 0;color:var(--muted);font-size:.7rem}.current-pill{align-self:flex-start;background:#e2f6e9;color:#207a49;border-radius:999px;padding:5px 8px;font-size:.68rem;font-style:normal;font-weight:800}
@media(max-width:1050px){.customer-list{grid-template-columns:1fr 1fr 1fr}.customer-list>span:nth-child(4)::before{content:"Status";color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase}.customer-list>span:nth-child(5)::before{content:"Last Updated"}}

.history-controls{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:1rem;align-items:end;margin:1.25rem 0;padding:1.1rem 1.25rem;border:1px solid var(--line);border-radius:18px;background:#fff}.history-controls label{display:grid;gap:.4rem;font-size:.78rem;font-weight:800;color:var(--muted)}.history-controls select,.history-controls input{min-height:46px;padding:.7rem .8rem;border:1px solid #c9d8d1;border-radius:10px;background:#fff;font:inherit;color:var(--ink)}.history-controls button{min-height:46px;padding:0 1.5rem;border:0;border-radius:10px;background:var(--green);color:#fff;font-weight:800}.trend-panel{margin-bottom:1.25rem}.percentage-trend{display:flex;gap:.8rem;min-height:250px;overflow-x:auto;align-items:end;padding:1.5rem .5rem .75rem}.trend-point{display:grid;grid-template-rows:auto 150px auto auto;gap:.35rem;min-width:62px;text-align:center}.trend-value{font-weight:800}.trend-track{position:relative;height:150px;border-radius:8px;background:#edf3f0;overflow:hidden}.trend-track i{position:absolute;right:0;bottom:0;left:0;background:linear-gradient(180deg,#49ae7b,#19704f);border-radius:8px 8px 0 0}.trend-point small{font-size:.72rem;white-space:nowrap}.trend-point em{font-size:.65rem;color:var(--muted);font-style:normal}.trend-no-data .trend-track{background:repeating-linear-gradient(135deg,#f3f5f4,#f3f5f4 7px,#e8ecea 7px,#e8ecea 14px)}
@media(max-width:1050px){.history-controls{grid-template-columns:1fr 1fr}.history-controls button{grid-column:1/-1}.percentage-trend{min-height:220px}}
@media(max-width:520px){.overview-strip>article{align-items:flex-start;min-height:116px;padding:14px}}
.snapshot-badge{background:#e2f6e9;color:#207a49;border-color:#b9e3ca}
.snapshot-badge[data-state="stale"],.current-pill[data-state="stale"]{background:#fff0d8;color:#9a5b00;border-color:#efd19a}.snapshot-badge[data-state="historical"],.current-pill[data-state="historical"]{background:#e8eff8;color:#3e5f82;border-color:#c7d6e7}.snapshot-badge[data-state="no-data"],.current-pill[data-state="no-data"]{background:#f0f2f1;color:#59645e;border-color:#d6dcda}.customer-filters select:focus-visible,.customer-filters button:focus-visible,.history-controls select:focus-visible,.history-controls input:focus-visible,.history-controls button:focus-visible,.customer-list:focus-visible{outline:3px solid rgba(23,107,77,.28);outline-offset:2px}.customer-list{min-height:68px}.history-controls button,.customer-filters button{touch-action:manipulation}
@media(max-width:760px){.customer-filters,.history-controls{position:relative}.customer-filters button,.history-controls button{min-height:50px}.freshness-block{width:100%;justify-content:space-between}.percentage-trend{scroll-snap-type:x proximity}.trend-point{scroll-snap-align:start}}
@media(max-width:520px){.customer-heading{gap:14px}.customer-heading p{line-height:1.45}.customer-filters,.history-controls{padding:14px;border-radius:14px}.customer-list{gap:12px}.customer-list>span:first-child b{font-size:1.1rem}.detail-link{display:inline-flex;min-height:40px;align-items:center}.percentage-trend{margin-inline:-12px;padding-inline:12px}.trend-point{min-width:72px}}

/* Customer-safe governed telemetry trends */
.chart-context{margin:.35rem 0 0;color:var(--muted);font-size:.78rem}.comparison-trend-panel{margin-bottom:18px}.line-chart-wrap{width:100%;margin-top:1rem;overflow-x:auto;overscroll-behavior-inline:contain}.line-chart{display:block;width:100%;min-width:680px;height:auto}.chart-gridline{stroke:#e4ebe7;stroke-width:1}.chart-axis{stroke:#9aa9a1;stroke-width:1.25}.chart-axis-label{fill:#68766f;font-size:12px}.chart-axis-title{fill:#425149;font-size:12px;font-weight:700}.chart-series-line{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.chart-series-hover-target{fill:none;stroke:transparent;stroke-width:14;stroke-linecap:round;stroke-linejoin:round;cursor:help}.chart-series-hover-target:focus{outline:none;stroke:rgba(20,38,29,.12)}.chart-data-point{stroke:#fff;stroke-width:1.25;cursor:help}.chart-data-point:focus{outline:none;stroke:#14261d;stroke-width:3}.chart-legend{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin:.75rem 0 0;padding-left:3.8rem}.chart-legend>span{display:grid;grid-template-columns:10px auto;align-items:center;column-gap:.4rem}.chart-legend i{width:10px;height:10px;border-radius:50%}.chart-legend b{font-size:.76rem}.chart-legend small{grid-column:2;color:var(--muted);font-size:.65rem}.trend-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;margin-top:1rem;border:1px dashed #cbd7d1;border-radius:12px;background:#f8faf9;color:var(--muted)}.trend-empty strong{color:var(--ink);font-size:1.15rem}.trend-series-controls{display:flex;align-items:end;gap:1rem;margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:#f8faf9}.trend-series-controls fieldset{min-width:0;flex:1;border:0;padding:0;margin:0}.trend-series-controls legend{margin-bottom:.55rem;color:var(--muted);font-size:.72rem;font-weight:800}.trend-series-controls fieldset>div{display:flex;flex-wrap:wrap;gap:.5rem}.trend-series-controls label{display:flex;align-items:center;gap:.35rem;min-height:40px;padding:.45rem .7rem;border:1px solid #cfdbd5;border-radius:999px;background:#fff;font-size:.76rem;font-weight:750}.trend-series-controls input{width:18px;height:18px;accent-color:var(--green)}.trend-series-controls button{min-height:44px;border:0;border-radius:9px;padding:0 1.2rem;background:var(--green);color:#fff;font-weight:800;white-space:nowrap}.trend-series-controls button:focus-visible{outline:3px solid rgba(23,107,77,.28);outline-offset:2px}
@media(max-width:1050px){.line-chart{min-width:620px}.trend-series-controls{align-items:stretch;flex-direction:column}.trend-series-controls button{align-self:flex-start}.chart-legend{padding-left:0}}
@media(max-width:760px){.panel-title{gap:.75rem;flex-direction:column}.panel-title>span{text-align:left}.line-chart-wrap{margin-inline:-12px;width:calc(100% + 24px);padding-inline:12px}.line-chart{min-width:600px}.trend-series-controls label{min-height:44px}.trend-series-controls button{width:100%;min-height:50px}}
@media(max-width:520px){.line-chart{min-width:560px}.comparison-trend-panel,.trend-panel{padding:16px}.chart-legend{display:grid;grid-template-columns:1fr 1fr}.trend-series-controls{margin-inline:-4px;padding:.8rem}.trend-series-controls fieldset>div{display:grid;grid-template-columns:1fr 1fr}.trend-series-controls label{border-radius:10px}}
.period-usage-panel{margin:18px 0}.period-usage-row{grid-template-columns:1.2fr 1fr 1fr .7fr 1.5fr}
.trend-series-controls>label{display:grid;gap:.35rem;color:var(--muted);font-size:.72rem;font-weight:800}.trend-series-controls>label select,.trend-series-controls>label input[type="date"]{min-height:42px;border:1px solid #cfdbd5;border-radius:9px;background:#fff;padding:.45rem .6rem;color:var(--ink)}.trend-series-controls .hours-toggle{display:grid;grid-template-columns:auto 1fr;align-items:center;min-height:42px;padding:.35rem .6rem;border:1px solid #cfdbd5;border-radius:9px;background:#fff}.trend-series-controls .hours-toggle input{grid-row:1/3;width:18px;height:18px}.trend-series-controls .hours-toggle small{font-size:.62rem;font-weight:500}
.trend-series-controls .trend-date-control{min-width:210px;border-radius:10px;align-items:stretch}.trend-date-control>span{color:var(--ink);font-size:.8rem;white-space:nowrap}.trend-series-controls .trend-date-control input[type="date"]{width:100%;min-width:190px}
@media(max-width:1050px){.trend-series-controls .trend-date-control{width:100%;min-width:0}.trend-series-controls .trend-date-control input[type="date"]{min-width:0}}
.chart-hour-tick{stroke:#9aa9a1;stroke-width:1}
.chart-legend-item{display:grid;grid-template-columns:10px auto;align-items:center;column-gap:.4rem;padding:.4rem .55rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.chart-legend-item:hover,.chart-legend-item:focus-visible{border-color:#bdccc4;background:#f4f8f6}.chart-legend-item[aria-pressed=false]{opacity:.48;text-decoration:line-through}.chart-legend-item i,.chart-legend-item .chart-series-swatch{width:10px;height:10px;border-radius:50%}.chart-legend-item .chart-series-swatch{display:block}.chart-legend-item b{font-size:.76rem}.chart-legend-item small{grid-column:2;color:var(--muted);font-size:.65rem}.series-hidden{display:none}
.uat-indicator{display:inline-block;margin-left:.45rem;padding:.22rem .45rem;border:1px solid #e8c76d;border-radius:999px;background:#fff3c9;color:#5f4600;font-size:.68rem;letter-spacing:.06em}
.chart-series-line.level-2{stroke:#176b4d}.chart-data-point.level-2{fill:#176b4d}.chart-legend-item i.level-2,.manager-level-legend i.level-2{background:#176b4d}.chart-series-line.level-3{stroke:#246bc4}.chart-data-point.level-3{fill:#246bc4}.chart-legend-item i.level-3,.manager-level-legend i.level-3{background:#246bc4}.chart-series-line.level-4{stroke:#c46117}.chart-data-point.level-4{fill:#c46117}.chart-legend-item i.level-4,.manager-level-legend i.level-4{background:#c46117}.chart-series-line.level-5{stroke:#7b4ba3}.chart-data-point.level-5{fill:#7b4ba3}.chart-legend-item i.level-5,.manager-level-legend i.level-5{background:#7b4ba3}.chart-series-line.level-fallback-0{stroke:#176b4d}.chart-data-point.level-fallback-0{fill:#176b4d}.chart-legend-item i.level-fallback-0,.manager-level-legend i.level-fallback-0{background:#176b4d}.chart-series-line.level-fallback-1{stroke:#246bc4}.chart-data-point.level-fallback-1{fill:#246bc4}.chart-legend-item i.level-fallback-1,.manager-level-legend i.level-fallback-1{background:#246bc4}.chart-series-line.level-fallback-2{stroke:#c46117}.chart-data-point.level-fallback-2{fill:#c46117}.chart-legend-item i.level-fallback-2,.manager-level-legend i.level-fallback-2{background:#c46117}.chart-series-line.level-fallback-3{stroke:#7b4ba3}.chart-data-point.level-fallback-3{fill:#7b4ba3}.chart-legend-item i.level-fallback-3,.manager-level-legend i.level-fallback-3{background:#7b4ba3}.chart-series-line.shade-1,.chart-data-point.shade-1,.manager-level-legend i.shade-1{opacity:.78}.chart-series-line.shade-2,.chart-data-point.shade-2,.manager-level-legend i.shade-2{opacity:.58}.chart-series-line.line-dashed{stroke-dasharray:8 4}.chart-series-line.line-dotted{stroke-dasharray:2 4}
.remaining-cell progress,.remaining-meter{display:block;width:100%;height:8px;margin:5px 0;border:0;border-radius:999px;overflow:hidden;accent-color:#3ca66f}.remaining-cell progress::-webkit-progress-bar,.remaining-meter::-webkit-progress-bar{background:#e8efeb}.remaining-cell progress::-webkit-progress-value,.remaining-meter::-webkit-progress-value{background:linear-gradient(90deg,#d99b34,#3ca66f)}.remaining-cell progress::-moz-progress-bar,.remaining-meter::-moz-progress-bar{background:#3ca66f}
.manager-controls{grid-template-columns:repeat(5,minmax(0,1fr)) auto}.manager-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1050px){.manager-controls{grid-template-columns:1fr 1fr}.manager-controls button{grid-column:1/-1}.manager-summary-strip{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.manager-controls,.manager-summary-strip{grid-template-columns:1fr}}
.cleaner-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.cleaner-action{border:1px solid var(--line);border-radius:14px;padding:17px;background:#f8faf9}.cleaner-action>header,.cleaner-action>footer{display:flex;justify-content:space-between;gap:14px;align-items:center}.cleaner-action header div{display:grid}.cleaner-action header strong{font-size:1.35rem}.cleaner-action header small{color:var(--muted)}.cleaner-action header em{border-radius:999px;padding:5px 9px;background:#edf2ef;font-size:.7rem;font-style:normal;font-weight:800}.cleaner-action.priority-high{border-color:#e5afa9}.cleaner-action.priority-high header em{background:#ffe4e1;color:#a5231c}.cleaner-action.priority-exception{border-color:#e8c76d}.cleaner-action.priority-exception header em{background:#fff3c9;color:#6b5000}.cleaner-action dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.cleaner-action dl div{display:grid;gap:3px}.cleaner-action dt{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.cleaner-action dd{margin:0;font-size:.8rem;line-height:1.4}.cleaner-action footer>span{font-weight:800}.cleaner-action form{display:flex;gap:7px}.cleaner-action select,.cleaner-action button{min-height:40px;border:1px solid #cbd7d0;border-radius:8px;background:#fff;padding:6px 9px}.cleaner-action button{border:0;background:var(--green);color:#fff;font-weight:800}
@media(max-width:820px){.cleaner-action-grid{grid-template-columns:1fr}.cleaner-action>footer{align-items:stretch;flex-direction:column}.cleaner-action form{display:grid;grid-template-columns:1fr auto}}
@media(max-width:520px){.cleaner-board{padding:15px}.cleaner-action dl{grid-template-columns:1fr}.cleaner-action form{grid-template-columns:1fr}.cleaner-action button{min-height:46px}}
.manager-usage-chart .chart-data-point{stroke-width:1.5}.manager-level-legend span{display:grid;grid-template-columns:10px auto;align-items:center;column-gap:.4rem}.manager-level-legend i{width:10px;height:10px;border-radius:50%}.manager-level-legend b{font-size:.76rem}.manager-level-legend small{grid-column:2;color:var(--muted);font-size:.65rem}.manager-hour-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;margin-top:1rem}.manager-hour-grid article{display:flex;min-width:0;min-height:122px;flex-direction:column;gap:.25rem;padding:.75rem;border:1px solid var(--line);border-radius:10px;background:#f8faf9}.manager-hour-grid article>strong{font-size:.78rem}.manager-hour-grid article>b{font-size:1.05rem}.manager-hour-grid article small,.manager-hour-grid article span{color:var(--muted);font-size:.68rem}.manager-hour-grid article em{margin-top:auto;color:var(--muted);font-size:.65rem;font-style:normal}.manager-hour-grid .possible-fill-up{border-color:#e8c76d;background:#fff8df}.manager-hour-grid .possible-fill-up em{color:#7a5900;font-weight:800}.manager-hour-grid .usage-unavailable{background:#f3f5f4;color:#657169}.manager-outlet-detail h3{margin:.2rem 0 0;font-size:1.35rem}
@media(max-width:1050px){.manager-hour-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.manager-hour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-hour-grid article{min-height:116px}}

/* Role dashboards: Manager usage and mobile-first Cleaner operation */
.role-dashboard-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.role-dashboard-heading h1{font-size:clamp(2.2rem,4vw,3.6rem);margin-bottom:8px}.role-dashboard-heading p{margin:0;color:var(--muted)}.dashboard-date{display:grid;gap:4px;text-align:right}.dashboard-date small{color:var(--muted)}.role-date-control{display:flex;align-items:end;gap:12px;margin-bottom:18px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}.role-date-control label,.cleaner-heading label{display:grid;gap:5px;min-width:210px;color:var(--muted);font-size:.72rem;font-weight:800}.role-date-control input,.role-date-control select,.cleaner-heading input{min-height:42px;padding:8px 10px;border:1px solid #cbd7d0;border-radius:8px;background:#fff}.role-date-control button,.cleaner-heading button{min-height:42px;padding:0 18px;border:0;border-radius:8px;background:var(--green);color:#fff;font-weight:800}.role-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.role-kpis article{position:relative;display:flex;align-items:center;gap:13px;min-height:118px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.role-kpis article:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}.role-kpis article>div{display:grid;gap:3px}.role-kpis small{color:var(--muted);font-weight:750}.role-kpis strong{font-size:1.35rem;line-height:1.15}.role-kpis em{color:var(--muted);font-size:.7rem;font-style:normal}.kpi-icon{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border-radius:14px;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);font-size:1.35rem;font-weight:900}.accent-green{--accent:#10945f}.accent-blue{--accent:#246bc4}.accent-orange{--accent:#ef7d17}.accent-red{--accent:#e4423a}.manager-main-grid,.cleaner-main-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(280px,.9fr);gap:18px;margin-bottom:18px}.key-examples article{display:flex;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.key-examples article>div{display:grid;gap:4px}.key-examples small{color:var(--muted)}.key-examples strong{color:var(--green)}.room-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff0d8;color:#d76b00}.manager-lower-grid{display:grid;grid-template-columns:minmax(0,2.7fr) minmax(220px,.8fr);gap:18px}.manager-stat-stack{display:grid;gap:14px}.mini-stat{display:grid;gap:4px}.mini-stat small,.mini-stat em{color:var(--muted);font-style:normal}.mini-stat strong{font-size:2rem}.compact-table{margin-top:14px}.compact-row{display:grid;grid-template-columns:1.3fr .5fr .9fr .8fr .8fr;gap:10px;align-items:center;min-height:47px;padding:8px;border-bottom:1px solid #edf1ef;font-size:.78rem}.compact-row>span:first-child{display:grid}.compact-row small{color:var(--muted)}.compact-head{min-height:34px;color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase}.action-queue article{display:grid;grid-template-columns:.55fr 1fr .7fr .7fr;gap:8px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:.75rem}.action-queue small{color:var(--muted)}.action-queue em,.cleaner-status em{justify-self:start;padding:5px 8px;border-radius:999px;background:#edf2ef;font-size:.68rem;font-style:normal;font-weight:800}.priority-high{color:#b22720;background:#ffe4e1!important}.priority-review{color:#9a5b00;background:#fff0d8!important}.priority-routine{color:#207a49;background:#e2f6e9!important}.priority-exception{color:#59645e}.cleaner-status{margin-bottom:18px}.cleaner-row{grid-template-columns:1.2fr .45fr .65fr .7fr 2fr}.cleaner-heading form{display:flex;align-items:end;gap:8px}.manager-outlet-chart .chart-series-line{stroke-width:2}.manager-outlet-chart .chart-data-point{stroke-width:1.2}
@media(max-width:1050px){.role-kpis{grid-template-columns:1fr 1fr}.manager-main-grid,.cleaner-main-grid,.manager-lower-grid{grid-template-columns:1fr}.manager-stat-stack{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.role-dashboard-heading{align-items:start;flex-direction:column}.dashboard-date{text-align:left}.role-date-control{align-items:stretch;flex-direction:column}.role-date-control label{min-width:0}.role-date-control button{min-height:48px}.cleaner-heading form{width:100%;align-items:stretch}.cleaner-heading label{min-width:0;flex:1}.compact-table{overflow-x:auto}.compact-row{min-width:680px}.manager-stat-stack{grid-template-columns:1fr}.action-queue article{grid-template-columns:.5fr 1fr .7fr}.action-queue article em{grid-column:2/4}}
@media(max-width:520px){.role-kpis{grid-template-columns:1fr 1fr}.role-kpis article{align-items:start;min-height:132px;padding:14px;flex-direction:column}.kpi-icon{width:38px;height:38px;flex-basis:38px}.role-kpis strong{font-size:1.12rem}.cleaner-heading form{display:grid;grid-template-columns:1fr auto}.cleaner-main-grid .panel{padding:15px}}
.usage-level-row{grid-template-columns:1.2fr 1fr 1fr;min-width:0}.supporting-signal p,.methodology-panel p{color:var(--muted);line-height:1.55}.supporting-room-list{display:grid;gap:8px;margin-top:14px}.supporting-room-list div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.78rem}.supporting-room-list span{color:var(--muted)}.methodology-panel{margin-top:18px}
.mobile-menu-toggle{display:none;border:1px solid #526158;background:transparent;color:#fff;border-radius:8px;padding:8px 10px;font:inherit;font-weight:750;align-items:center;gap:6px}.mobile-menu-toggle span[aria-hidden=true]{font-size:1.2rem;line-height:1}@media(max-width:700px){.topbar{position:relative;flex-wrap:wrap;gap:10px;padding-top:12px;padding-bottom:12px}.mobile-menu-toggle{display:inline-flex;margin-left:auto}.topbar nav,.topbar nav[aria-label="Primary navigation"]{display:none;order:10;width:100%;flex-direction:column;gap:2px;padding:6px 0 2px}.topbar nav.mobile-open{display:flex}.topbar nav a{display:block;padding:12px 10px;border-top:1px solid rgba(255,255,255,.1)}.environment{display:none}.operator{margin-left:auto}.topbar form{margin:0}.mobile-menu-label{font-size:.8rem}}
.manager-usage-controls{flex-wrap:wrap}.usage-period-selector{min-width:285px;margin:0;padding:0;border:0}.usage-period-selector legend{margin-bottom:5px;color:var(--muted);font-size:.72rem;font-weight:800}.usage-period-selector>div{display:grid;grid-template-columns:repeat(3,1fr);padding:3px;border:1px solid #cbd7d0;border-radius:10px;background:#f4f7f5}.usage-period-selector label{display:block;min-width:0}.usage-period-selector input{position:absolute;opacity:0;pointer-events:none}.usage-period-selector span{display:grid;min-height:36px;place-items:center;padding:0 12px;border-radius:7px;color:var(--muted);font-size:.76rem;font-weight:800;cursor:pointer}.usage-period-selector input:checked+span{background:#fff;color:var(--green);box-shadow:0 1px 4px rgba(20,38,29,.16)}.usage-period-selector input:focus-visible+span{outline:3px solid rgba(23,107,77,.28);outline-offset:1px}.usage-trend-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.usage-trend-summary>div{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8faf9}.usage-trend-summary small{color:var(--muted);font-size:.68rem;font-weight:750}.usage-trend-summary strong{font-size:1rem}.chart-data-point.partial-coverage{fill:#fff;stroke-width:2.5}.manager-level-legend .chart-legend-item{grid-template-columns:10px auto}
@media(max-width:760px){.usage-period-selector{width:100%;min-width:0}.usage-trend-summary{grid-template-columns:1fr}.manager-usage-controls{flex-wrap:nowrap}}
.usage-export-action{margin:0 0 18px}.usage-export-action a{display:inline-flex;min-height:42px;align-items:center;padding:0 18px;border-radius:8px;background:var(--green);color:#fff;font-weight:800;text-decoration:none}.usage-export-action a:focus-visible{outline:3px solid rgba(23,107,77,.28);outline-offset:2px}
.chart-legend i{display:block;min-width:10px;min-height:10px}.chart-legend svg{display:block;width:12px;height:12px;align-self:center}
.washroom-selector{display:grid;gap:5px;min-width:260px;color:var(--muted);font-size:.72rem;font-weight:800}.washroom-selector details{position:relative}.washroom-selector summary{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 10px;border:1px solid #cbd7d0;border-radius:8px;background:#fff;cursor:pointer;list-style:none}.washroom-selector summary::-webkit-details-marker{display:none}.washroom-selector summary small{color:var(--muted);font-weight:600}.washroom-selector-menu{position:absolute;z-index:5;top:calc(100% + 4px);left:0;width:320px;max-height:300px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 10px 24px rgba(20,38,29,.16)}.washroom-selector-menu label{display:flex;align-items:center;gap:8px;min-width:0;padding:8px;border-radius:7px;color:var(--ink);font-size:.78rem}.washroom-selector-menu label:hover{background:#f3f7f4}.washroom-selector-menu input{width:16px;height:16px;min-height:0;padding:0}.washroom-selector i,.selected-washroom-chips i{display:inline-block;width:10px;height:10px;flex:0 0 10px;border-radius:50%}.selected-washroom-chips{display:flex;flex-wrap:wrap;gap:4px}.selected-washroom-chips span{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;background:#edf2ef;color:var(--ink);font-size:.66rem}
.usage-filter-control{align-items:end;flex-wrap:wrap}.usage-filter-control>.selection-summary{flex-basis:100%;padding-top:2px}.usage-filter-control .washroom-selector{align-self:end}
@media(max-width:900px){.usage-filter-control{align-items:stretch;flex-direction:column;flex-wrap:nowrap}.usage-filter-control>label,.usage-filter-control>.washroom-selector{width:100%;min-width:0;align-self:stretch}.usage-filter-control>button{align-self:flex-start}}
.dashboard-loading{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:rgba(23,33,28,.42);backdrop-filter:blur(2px)}.dashboard-loading[hidden]{display:none}.dashboard-loading-card{display:grid;justify-items:center;gap:10px;min-width:min(100%,320px);padding:28px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 18px 48px rgba(0,0,0,.22);text-align:center}.dashboard-loading-card strong{font-size:1rem}.dashboard-loading-card small{color:var(--muted);font-size:.78rem}.dashboard-spinner{width:34px;height:34px;border:4px solid #dce9e2;border-top-color:var(--green);border-radius:50%;animation:dashboard-spin .8s linear infinite}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.usage-filter-control button:disabled{cursor:wait;opacity:.75}
