:root{--ink:#182b25;--muted:#6b7b74;--border:#e3e9e2;--surface:#ffffff;--bg:#f5f7f1;--forest:#15372e;--green:#25856c;--lime:#c4e68a;--amber:#dfaa59;--red:#c76157;--shadow:0 12px 35px rgba(26,58,44,.045);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-synthesis:none;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit}.hidden{display:none!important}.site-shell{min-height:100vh}.topbar{min-height:76px;background:#122a23;color:#f5f9f0;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(20px,5vw,88px);border-bottom:1px solid #2c4639}.brand,.top-actions,.device-bar,.metric-label,.section-row,.page-head,.panel-heading,.footer,.head-tools{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{justify-content:start;gap:11px}.brand-mark{width:41px;height:41px;border-radius:13px;background:linear-gradient(135deg,#c8e6a4,#f1e4b0);font-size:29px;font-weight:900;text-align:center;line-height:41px;letter-spacing:-4px;color:#183c2a;padding-right:4px;box-shadow:inset 0 -3px 8px #8cab7659}.brand-mark span{color:#b86f3a}.brand-text{display:flex;flex-direction:column;gap:2px}.brand-text strong{font-size:20px;letter-spacing:-.6px}.brand-text small{font-size:10px;letter-spacing:2.2px;text-transform:uppercase;color:#a5c6b4}.connection-status{display:inline-flex;align-items:center;gap:8px;color:#b9d1c1;font-size:12px;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%;background:#d2aa64}.connection-status.connected .status-dot{background:#7ad39d}.connection-status.error .status-dot{background:#e28b7c}.signed-email{color:#c9d8ce;font-size:12px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button{border:none;border-radius:10px;padding:11px 16px;font-size:13px;font-weight:700;transition:background .2s ease,transform .2s ease;white-space:nowrap}.button:active{transform:translateY(1px)}.button-ghost{background:#234138;color:#edf8ed;border:1px solid #446158}.button-ghost:hover{background:#325549}.button-outline{background:#fff;color:#2f594b;border:1px solid #ceddd2}.button-outline:hover{background:#edf6ef}.button-primary{background:#225e48;color:#fff;width:100%;padding:15px;margin-top:20px}.button-primary:hover{background:#1c4d3e}.dashboard{max-width:1450px;margin:auto;padding:43px clamp(18px,5vw,76px) 36px}.eyebrow{font-size:11px;letter-spacing:2.2px;color:#4f9676;text-transform:uppercase;font-weight:800}.eyebrow.light{color:#cbe9a9}.page-head{align-items:end;margin-bottom:30px}.page-head h1{font-size:clamp(35px,4.5vw,56px);font-weight:800;letter-spacing:-2px;line-height:1.06;margin:10px 0 9px}.heading-dot{color:#d3a65f}.page-head p,.section-row p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.head-tools{gap:11px;align-items:end}.input-caption{font-size:11px;letter-spacing:1px;font-weight:700;color:var(--muted);text-transform:uppercase;margin-bottom:3px}select,input{background:#fff;border:1px solid #cfddd2;padding:12px 13px;border-radius:10px;color:var(--ink);outline:none;min-width:175px;max-width:100%}select:focus,input:focus{border-color:#4f9f7c;box-shadow:0 0 0 3px #4f9f7c22}.head-tools select{min-width:200px}.device-bar{background:#ecf4e8;border:1px solid #d6e6d4;padding:15px 20px;border-radius:13px;margin-bottom:19px;flex-wrap:wrap;gap:8px}.device-chip{display:inline-block;background:#234735;color:white;font-size:11px;font-weight:800;letter-spacing:.7px;padding:7px 10px;border-radius:6px}.device-name{font-size:13px;font-weight:750;margin-left:10px}.small-text{color:#58735f;font-size:12px}.health-dot{font-weight:800;font-size:11px;color:#377d56}.health-dot.warn{color:#a86d25}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card,.panel{border:1px solid var(--border);background:var(--surface);border-radius:17px;box-shadow:var(--shadow)}.metric-card{padding:23px 23px 18px;min-height:145px}.metric-label{font-size:12px;font-weight:750;color:#5c756a}.metric-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eef5e9;color:#589a74;font-size:17px}.metric-value{display:flex;gap:7px;align-items:baseline;margin:9px 0 10px;font-size:39px;line-height:1.15;font-weight:800;letter-spacing:-1.9px;font-variant-numeric:tabular-nums}.unit{font-size:16px;font-weight:500;color:#748477;letter-spacing:0}.metric-foot{font-size:11px;color:#849187}.section-row{align-items:end;margin:36px 0 17px}.section-row h2{font-size:23px;letter-spacing:-.8px;margin:0 0 5px}.pills{display:flex;gap:4px;padding:4px;background:#e9efe5;border-radius:10px}.pill{padding:8px 13px;font-weight:750;font-size:12px;border:none;border-radius:7px;background:transparent;color:#688073}.pill:hover{color:#244e3c}.pill.active{background:white;color:#224c3e;box-shadow:0 2px 7px #122a2316}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.panel{padding:24px;min-width:0}.panel.wide{grid-column:1/-1}.panel-heading{align-items:start;margin-bottom:16px}.panel-kicker{font-size:10px;letter-spacing:1.4px;color:#78a18a;font-weight:800}.panel-heading h3{margin:5px 0 0;font-size:18px;letter-spacing:-.5px}.subtle{font-size:11px;color:#85928a}.chart-area{position:relative;width:100%;height:250px}.chart-area.chart-tall{height:280px}.panel-foot{font-size:11px;color:#88948d;margin:14px 0 0}.select-wrap{font-size:11px;font-weight:750;color:#62776b;display:flex;align-items:center;gap:8px}.select-wrap select{font-size:12px;min-width:220px}.stats-strip{display:flex;flex-wrap:wrap;gap:15px;border-top:1px solid #e8eee7;margin-top:19px;padding-top:17px;font-size:12px;color:#6a7b71}.stats-strip b{color:#274d3a}.operations-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.event-list{display:flex;flex-direction:column;max-height:425px;overflow:auto}.event-row{padding:13px 0;display:grid;grid-template-columns:13px 1fr auto;align-items:start;gap:10px;border-bottom:1px solid #eef1ec}.event-row:last-child{border-bottom:none}.event-pin{width:8px;height:8px;margin-top:6px;border-radius:50%;background:#62aa80}.event-pin.warning{background:#d6a254}.event-pin.error{background:#c9645a}.event-primary{font-size:12px;font-weight:700;line-height:1.4}.event-secondary{font-size:11px;color:#7b8d80;margin-top:4px;line-height:1.5}.event-time{font-size:10px;color:#94a198;white-space:nowrap;margin-top:3px}.empty-mini{padding:30px 6px;color:#889b8b;font-size:12px}.footer{margin-top:38px;border-top:1px solid #dfe9dd;padding:20px 0;color:#839287;font-size:11px;flex-wrap:wrap}.banner{border-radius:10px;padding:13px 16px;background:#fdf4db;border:1px solid #ecdcab;font-size:12px;margin:0 0 17px;color:#6b552e}.banner.error{background:#fff0eb;border-color:#efc7bd;color:#96483d}.onboarding-panel,.empty-state{max-width:760px;margin:10vh auto;background:white;border:1px solid #e1e9de;padding:40px;border-radius:18px}.onboarding-panel h1{margin:10px 0}.onboarding-panel p,.empty-state p{color:#63776b;line-height:1.7}.login-layout{max-width:1090px;margin:8vh auto 0;padding:0 28px;display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:stretch}.login-intro{background:linear-gradient(140deg,#183e31,#102c25);color:#eff8ef;padding:54px 42px;border-radius:24px;min-height:470px;position:relative;overflow:hidden}.login-intro h1{font-size:clamp(34px,4vw,51px);line-height:1.09;letter-spacing:-2px;margin:24px 0}.login-intro p{font-size:14px;color:#c6dfd2;line-height:1.8;max-width:370px}.login-pattern{position:absolute;bottom:28px;left:30px;right:30px;height:85px;display:flex;align-items:end;gap:13px;opacity:.75}.login-pattern div{height:25%;background:#72bd97;width:13%;border-radius:6px 6px 0 0}.login-pattern div:nth-child(2){height:48%}.login-pattern div:nth-child(3){height:36%}.login-pattern div:nth-child(4){height:77%}.login-pattern div:nth-child(5){height:62%}.login-pattern div:nth-child(6){height:93%}.login-pattern div:nth-child(7){height:70%}.login-card{background:white;border:1px solid var(--border);border-radius:24px;padding:52px 38px;display:flex;flex-direction:column;align-items:stretch;justify-content:center}.login-card h2{font-size:29px;letter-spacing:-.9px;margin:14px 0 10px}.login-card p{font-size:13px;color:#6a7a6e;line-height:1.7;margin:0 0 24px}.login-card label{font-size:12px;font-weight:750;margin-bottom:8px}.login-card input{width:100%;padding:15px}.login-card .form-message{margin:14px 0 0}.login-card .form-message.error{color:#aa4a44}.login-card .privacy-note{display:block;font-size:11px;color:#8b9a8e;margin-top:25px;line-height:1.6}
@media(max-width:950px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard{padding:30px 24px}.operations-grid{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr;max-width:720px;margin:40px auto}.login-intro{min-height:275px}.login-pattern{display:none}}@media(max-width:650px){.topbar{padding:13px 18px}.signed-email{display:none}.page-head,.section-row{align-items:start;flex-direction:column;gap:14px}.head-tools{width:100%;align-items:end}.head-tools select{min-width:0;width:100%}.head-tools>*{flex:1}.head-tools button{flex:none}.metric-grid{gap:9px}.metric-card{padding:16px;min-height:128px}.metric-value{font-size:31px}.chart-grid{grid-template-columns:1fr}.panel{padding:17px}.panel.wide{grid-column:1}.chart-area.chart-tall{height:260px}.chart-area{height:230px}.brand-text small{letter-spacing:1px}.login-layout{padding:0 14px}.login-intro,.login-card{padding:32px 24px}.login-intro{min-height:250px}.select-wrap select{min-width:185px}}
