:root{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#19354a;background:#f3f5f7;font-synthesis:none;--green:#18865d;--navy:#102d40;--line:#e2e9ed;--muted:#657685}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;border-radius:10px;min-height:44px;font-weight:700;padding:10px 17px}button:disabled{opacity:.6;cursor:wait}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #45a8e0;outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:28px;letter-spacing:-1px}h2{font-size:20px;letter-spacing:-.5px}h3{font-size:14px;margin:20px 0 10px}p{line-height:1.65}.primary{background:var(--green);color:white}.secondary{background:white;color:#24485c;border:1px solid #ccd9e0}.quiet{color:var(--muted);background:transparent}.small{font-size:13px}.muted{color:var(--muted);font-size:12px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:750;color:#6f8491;margin-bottom:8px}label{display:grid;gap:7px;font-size:12px;font-weight:650}input:not([type=checkbox]){border:1px solid #cfdbe2;border-radius:9px;padding:11px 12px;min-height:44px;width:100%;color:#19354a;background:white}input[type=checkbox]{appearance:none;width:46px;height:26px;border-radius:30px;background:#b6c6cf;position:relative;cursor:pointer;flex:none}input[type=checkbox]:before{content:"";width:20px;height:20px;position:absolute;border-radius:50%;left:3px;top:3px;background:white}input[type=checkbox]:checked{background:var(--green)}input[type=checkbox]:checked:before{left:23px}.login-view{min-height:100dvh;display:grid;place-content:center;padding:25px;background:radial-gradient(ellipse at 50% 10%,#e0efe7,transparent 55%)}.login-brand{display:flex;align-items:center;gap:12px;justify-content:center;color:var(--green);font-size:40px;font-weight:850;margin-bottom:25px}.login-brand span{font-size:18px;color:var(--navy);line-height:1.2;letter-spacing:2px}.login-brand small{font-size:9px;color:#668276;letter-spacing:1.5px}.login-card{width:min(390px,calc(100vw - 44px));padding:32px;border:1px solid var(--line);border-radius:22px;background:white;box-shadow:0 25px 90px #223f3610}.login-card h1{font-size:32px;line-height:1.4}.login-card .muted{margin:14px 0 26px}.login-card label{margin:15px 0}.login-card button{width:100%;margin-top:8px}.login-card [role=alert]{color:#a43327;font-size:12px;margin-top:12px}aside{position:fixed;inset:0 auto 0 0;width:224px;background:var(--navy);color:#c8d7df;padding:30px 19px;display:flex;flex-direction:column;gap:9px}.side-brand{display:flex;gap:12px;align-items:center;font-size:33px;font-weight:850;color:#6fe3b7;padding:0 10px 36px}.side-brand span{font-size:15px;letter-spacing:1.4px;color:white}.side-brand small{display:block;font-size:8px;color:#a5bbc9;margin-top:5px}.nav-label{font-size:9px;letter-spacing:1.5px;color:#7593a5;padding:0 12px 9px}aside>a:not(.side-brand){font-size:13px;padding:13px 14px;min-height:47px;border-radius:10px}.nav-active{background:#284657;color:#c6ffdf}.side-note{margin-top:auto;padding:16px 12px;border-top:1px solid #ffffff20;font-size:12px}.side-note p{font-size:11px;color:#91a9b9;margin-top:9px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#60dda5;margin-right:6px}main{margin-left:224px;padding:34px 38px;max-width:1620px}header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:27px}.header-actions{display:flex;gap:7px;align-items:center;font-size:11px;flex-wrap:wrap}#lastUpdated{color:var(--muted);margin-right:8px}.overview-banner{border-radius:18px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(115deg,#e1eee5,#eaf1ee);overflow:hidden;border:1px solid #d6e5dd}.overview-banner h2{font-size:27px;line-height:1.4;color:#244c3e}.overview-banner p{font-size:12px;color:#597364;margin-top:10px}.overview-banner .eyebrow{color:#59806b}.banner-icon{font-size:110px;color:#6aa789;line-height:1}.period{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:25px 0 18px}.period label{font-size:10px}.period label input{font-size:12px}.period>span{padding-bottom:12px;color:#8c9ca5}.period-presets{display:flex;background:#e8edf0;padding:4px;border-radius:11px;margin-right:auto;gap:2px}.period-presets button{font-size:12px;background:transparent;min-height:38px;padding:8px 15px;color:#607483}.period-presets .selected{background:white;box-shadow:0 2px 5px #1d374712;color:var(--green)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px}.stats article{border:1px solid var(--line);border-radius:15px;background:white;padding:22px}.stats p{color:#69808c;font-size:12px}.stats strong{display:block;font-size:29px;letter-spacing:-.7px;margin:9px 0}.stats small{font-size:10px;color:#79909c}.stats .unlinked{color:#8b9da7;font-size:25px}.panel{border:1px solid var(--line);border-radius:17px;background:white;padding:25px;margin-bottom:22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-note{font-size:11px;color:#80919b;margin:10px 0 18px}.device-list{display:grid;gap:12px}.device-row{border:1px solid var(--line);border-radius:13px;padding:18px;display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(85px,1fr)) auto;align-items:center;gap:15px}.device-title{display:flex;align-items:center;gap:13px}.device-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:#e8f2ed;color:var(--green);font-size:24px;flex:none}.device-title h3{margin:0;font-size:15px}.device-title p{font-size:10px;color:#8c9aa4;overflow-wrap:anywhere}.device-metric span{display:block;font-size:10px;color:#7b8c98}.device-metric strong{font-size:15px;display:block;margin:6px 0 3px}.device-metric small{font-size:10px;color:#8898a3}.pill{display:inline-block;font-size:10px;font-weight:700;padding:5px 9px;border-radius:30px;background:#eef1f3;color:#6c7d87}.pill.online{background:#e4f5ec;color:#24865b}.pill.warning{background:#fff3dc;color:#916720}.device-row button{font-size:12px}.device-alert{grid-column:1/-1;padding:9px 12px;border-radius:7px;background:#fff7e8;color:#8d682a;font-size:11px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}th{font-size:11px;background:#f7f9fa;color:#748692;padding:12px}td{padding:13px 12px;border-bottom:1px solid #edf1f4}td:nth-child(3){font-weight:750}.revenue-chart{display:flex;gap:5px;align-items:end;height:155px;margin:8px 0 22px;border-bottom:1px solid var(--line);padding:15px 8px 0;overflow:auto}.chart-bar{min-width:19px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:130px;gap:6px}.chart-bar i{display:block;width:65%;min-height:2px;max-width:25px;background:#53ad87;border-radius:5px 5px 0 0}.chart-bar small{font-size:8px;color:#96a5ae}.empty{font-size:12px;padding:20px;color:#889aa5;text-align:center}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.info-grid h2{font-size:16px}.info-grid p{font-size:12px;color:#718592;margin-top:12px}footer{font-size:10px;text-align:center;color:#8a9ba6;margin:25px 0 5px}#message:not(:empty){background:#fff0de;border:1px solid #eed6b5;padding:13px;border-radius:10px;color:#8c5b24;font-size:12px;margin-bottom:18px}dialog{border:1px solid var(--line);border-radius:19px;padding:27px;width:min(480px,calc(100% - 26px));max-height:90dvh;overflow:auto;color:var(--navy);box-shadow:0 30px 110px #0f2d4940}dialog::backdrop{background:#102a4066;backdrop-filter:blur(3px)}dialog label{margin:17px 0}dialog .primary{width:100%;margin-top:18px}.close{background:#eff3f6;color:#567084;font-size:22px;padding:4px 14px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);padding:15px;border-radius:11px}.toggle-row small{display:block;font-size:10px;color:#82949e;margin-top:6px}.policy-note{background:#eaf4ee;padding:15px;border-radius:11px;font-size:12px;color:#38785b}.policy-note p{font-size:11px;margin-top:6px}.rate-list{display:flex;gap:8px;flex-wrap:wrap}.rate-list span{padding:10px;background:#f1f4f7;border-radius:7px;font-size:12px}#settingsMessage,#addMessage{font-size:12px;margin-top:12px;color:#9c4a2d}@media(max-width:1100px){aside{width:195px}main{margin-left:195px;padding:25px}.stats{grid-template-columns:1fr 1fr}.device-row{grid-template-columns:minmax(140px,1.3fr) repeat(2,1fr) auto}.device-update{grid-column:2/4}.device-row>button{grid-column:4;grid-row:1}.device-alert{grid-column:1/-1}.header-actions #lastUpdated{width:100%;text-align:right}}@media(max-width:720px){aside{position:static;width:100%;padding:16px 19px;display:flex;flex-direction:row;align-items:center;gap:10px}aside .side-brand{padding:0;font-size:27px;gap:8px;margin-right:auto}.side-brand span{font-size:11px}.side-brand small{font-size:7px}aside>a:not(.side-brand){font-size:10px;padding:8px;min-height:35px}aside .nav-label,aside .side-note{display:none}main{margin:0;padding:24px 15px}header{align-items:start;gap:10px}h1{font-size:23px}.header-actions{justify-content:end}.header-actions button{font-size:10px;padding:7px;min-height:35px}#lastUpdated{font-size:9px}.overview-banner{padding:23px}.overview-banner h2{font-size:23px}.banner-icon{font-size:70px}.stats{gap:10px}.stats article{padding:17px}.stats strong{font-size:25px}.stats small{font-size:9px}.panel{padding:18px}.device-row{padding:14px;grid-template-columns:1fr 1fr;gap:13px}.device-title{grid-column:1/-1}.device-row>button{grid-column:2;grid-row:auto}.device-update{grid-column:1}.device-alert{font-size:10px}.period{gap:7px}.period-presets{width:100%;margin:0 0 4px}.period-presets button{flex:1}.period label{flex:1;min-width:105px}.period label input{padding:8px;font-size:11px}.period>button{font-size:11px;padding:8px 10px}.info-grid{grid-template-columns:1fr;gap:0}.section-heading h2{font-size:18px}.section-heading button{font-size:11px;padding:8px 11px}.section-note{font-size:10px}.eyebrow{font-size:8px;letter-spacing:1.2px}footer{line-height:1.6}.overview-banner p{max-width:210px;font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.rate-edit-row{display:flex;align-items:center;gap:8px;margin:10px 0}.rate-edit-row input{min-width:0;width:32%}.rate-edit-row span{white-space:nowrap;font-size:11px}#rateMessage{font-size:12px;color:#9c4a2d}#editRates{margin-top:12px}
