:root{color:#153950;background:#eef2e5;font:14px system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}main{max-width:1500px;margin:auto;padding:24px}header{border-bottom:1px solid #d4dfbd;align-items:center;gap:25px;padding-bottom:20px;display:flex}header img{object-fit:contain;width:230px;height:76px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;color:#6a861e;font-size:10px}h1{margin:5px 0;font-size:26px}.badge{color:#456215;background:#e1eacb;border-radius:25px;margin-left:auto;padding:10px 16px;font-size:12px}.access{flex-wrap:wrap;align-items:flex-end;gap:14px;margin:22px 0;display:flex}label{flex-direction:column;gap:6px;font-size:12px;display:flex}input,select{font:inherit;color:#153950;background:#fff;border:1px solid #cbd7b0;border-radius:8px;padding:10px}input{width:370px;max-width:85vw}button{color:#fff;font:inherit;cursor:pointer;background:#74941e;border:0;border-radius:8px;padding:11px 18px}.secondary{color:#3f5c17;background:#e5edd5}.hint,small{color:#667a70;font-size:11px;line-height:1.6}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.metrics article,.panel{background:#fcfdf8;border:1px solid #d9e2c6;border-radius:15px;padding:20px}.metrics article{flex-direction:column;gap:9px;display:flex}.metrics strong{color:#74941e;font-size:34px}.metrics .scope{font-size:21px}.panel{margin-top:20px}.toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}h2{margin:0;font-size:17px}.filters{flex-wrap:wrap;gap:8px;display:flex}svg{width:100%;height:240px;margin-top:20px}svg text{fill:#708374;font:12px system-ui}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;margin-top:16px;font-size:12px}td,th{text-align:left;vertical-align:top;border-bottom:1px solid #e1e7d5;padding:12px}td small{display:block}.error{color:#9c351d}footer{color:#6b7e72;padding:18px 0;font-size:11px}@media (width<=760px){main{padding:15px}header{flex-wrap:wrap;gap:12px}header img{width:200px;height:65px}h1{font-size:22px}.badge{margin-left:0}.metrics{grid-template-columns:1fr;gap:10px}.toolbar{flex-direction:column;align-items:flex-start}.panel{padding:16px}.access{flex-direction:column;align-items:stretch}input{width:100%;max-width:100%}.filters,.filters select{width:100%}svg{height:200px}}.view-tabs{gap:8px;margin:16px 0;display:flex}.admin-heading{margin-top:24px}.admin-grid{grid-template-columns:260px minmax(0,1fr);gap:20px;display:grid}.admin-grid .panel{margin-top:16px}.user-sidebar{align-self:start}.user-sidebar select{width:100%}.user-list,.audit-list{padding:0;list-style:none}.user-list li{margin:8px 0}.user-choice{text-align:left;color:#153950;background:0 0;border:1px solid #d9e2c6;flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding:13px;display:flex}.user-choice small{width:100%}.user-choice.selected{background:#e5edd5;border-color:#74941e}.user-choice strong{overflow-wrap:anywhere}.user-status{color:#526346;background:#e8ebdf;border-radius:20px;padding:4px 9px;font-size:11px;display:inline-block}.user-status.active{color:#456215;background:#e1eacb}.user-status.pending{color:#77521a;background:#fff1d7}.user-status.disabled{color:#943c24;background:#f8e5de}.pagination{justify-content:space-between;gap:8px;display:flex}.pagination button{padding:8px;font-size:11px}button:disabled{opacity:.55;cursor:not-allowed}.account-controls{flex-wrap:wrap;gap:18px;display:flex}fieldset{border:0;margin:16px 0;padding:0}legend{padding:10px 0;font-weight:600}.identity-details{margin-top:14px;font-size:12px}summary{cursor:pointer;color:#526d1b;padding:6px 0}dd{overflow-wrap:anywhere;margin:3px 0 12px}dt{color:#667a70;font-size:12px}.grant-row{border-bottom:1px solid #e1e7d5;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:9px;padding:12px 0;display:grid}.grant-row input{width:100%;min-width:0;max-width:100%}.grant-row label{min-width:0}.remove-location{color:#803f21;background:#f1e9df;padding:10px;font-size:11px}.empty-access{color:#667a70;background:#eef2e5;border-radius:8px;padding:14px}.success{color:#3f5c17;background:#e1eacb;border-radius:8px;padding:12px}.audit-list li{border-bottom:1px solid #e1e7d5;padding:12px 0}.audit-list time{float:right;color:#667a70;font-size:11px}.audit-list small{display:block}.audit-list pre{background:#eef2e5;max-height:220px;padding:12px;font-size:11px;overflow:auto}.review-dialog{color:#153950;background:#fcfdf8;border:1px solid #cbd7b0;border-radius:16px;width:min(540px,90vw);max-height:85vh;padding:26px;overflow:auto;box-shadow:0 20px 80px #15395030}.review-dialog::backdrop{background:#15395080}.review-dialog li{overflow-wrap:anywhere;margin:8px 0;font-size:12px}.admin-warning{color:#77521a;background:#fff1d7;border-radius:8px;padding:12px}.admin-detail{min-width:0}.account-editor h3{font-size:14px}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #008f91}@media (width<=1000px){.grant-row{grid-template-columns:1fr 1fr}.remove-location{justify-self:start}.admin-grid{grid-template-columns:230px minmax(0,1fr)}}@media (width<=760px){.admin-grid{grid-template-columns:1fr}.user-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}.user-list li{margin:0}.user-choice{height:100%}.account-controls label,.account-controls select{width:100%}.audit-list time{float:none;margin-top:5px;display:block}}@media (width<=420px){.user-list,.grant-row{grid-template-columns:1fr}.view-tabs button{flex:1;font-size:12px}}.registry-grid,.device-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.registry-grid>.panel{min-width:0}.device-card{background:#f6f8ef;border:1px solid #d5debf;border-radius:14px;min-width:0;padding:18px}.device-card small{overflow-wrap:anywhere}.device-card dl{font-size:13px}.device-card dt{color:#607358;margin-top:12px}.device-card dd{overflow-wrap:anywhere;margin:3px 0}.sensor-summary{flex-wrap:wrap;gap:14px;margin-top:15px;font-size:13px;display:flex}.sensor-summary small{display:block}.one-time-key{background:#eef3de;border:2px solid #74941e;border-radius:12px;margin:18px 0;padding:20px}.one-time-key input{width:100%;font:14px ui-monospace,monospace}.account-editor>label{flex-direction:column;gap:6px;margin:14px 0;display:flex}.device-card h3{margin:0}@media (width<=850px){.registry-grid,.device-cards{grid-template-columns:1fr}}.measurement-chart{position:relative}.measurement-chart svg{cursor:crosshair;touch-action:pan-y}.chart-tooltip{color:#fff;pointer-events:none;overflow-wrap:anywhere;z-index:2;background:#153950;border-radius:9px;width:max-content;max-width:min(300px,95%);padding:10px 13px;font-size:12px;position:absolute;top:8px;transform:translate(-50%);box-shadow:0 3px 14px #15395022}.chart-tooltip strong,.chart-tooltip span{display:block}.chart-tooltip strong{margin-bottom:5px;font-size:17px}.chart-tooltip span{line-height:1.5}.chart-crosshair{pointer-events:none}@media (width<=760px){.chart-tooltip{max-width:65%;font-size:10px}.chart-tooltip strong{font-size:14px}}.site-counts,.logger-flags{flex-wrap:wrap;gap:12px;margin:15px 0;display:flex}.site-counts span{background:#e5edd5;border-radius:9px;padding:9px 13px}.revision{overflow-wrap:anywhere}.device-card dd meter{width:100%;margin:6px 0;display:block}.channel-list{padding:0;list-style:none}.channel-list li{border-top:1px solid #e1e7d5;flex-direction:column;gap:5px;padding:10px 0;display:flex}.site-status .device-card{min-width:0}.logger-flags{font-size:12px}.site-status .device-card dl{grid-template-columns:minmax(135px,40%) minmax(0,1fr);align-items:start;gap:9px 14px;display:grid}.site-status .device-card dt,.site-status .device-card dd{margin:0}.site-status .device-card h4{margin:22px 0 10px}@media (width<=760px){.site-status .device-card dl{grid-template-columns:minmax(110px,40%) minmax(0,1fr);font-size:12px}}.record-log{max-height:420px;overflow:auto}.record-log thead{z-index:1;background:#fcfdf8;position:sticky;top:0}.station-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;display:grid}.station-card h3{margin:0 0 8px}.station-card dl{grid-template-columns:1fr 1fr;gap:8px;font-size:12px;display:grid}.station-card dd{overflow-wrap:anywhere;margin:0}.station-card ul{padding-left:18px;font-size:12px}.station-card button{margin-top:12px}
