@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap');
:root{--ink:#153c37;--dark:#0d302c;--mint:#78d6ae;--pale:#e4f7ee;--cream:#f7f7f1;--paper:#fff;--muted:#64736f;--line:#dce5e1;--warn:#c56b37;--shadow:0 20px 60px rgba(13,48,44,.09)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--dark);font-family:'DM Sans',sans-serif;min-height:100vh}button,input,select{font:inherit}.hidden{display:none!important}
.topbar{height:76px;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(21,60,55,.08);background:rgba(247,247,241,.88);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--dark);font:700 20px Manrope}.brand-mark{width:30px;height:30px;border-radius:10px 10px 14px 14px;background:var(--dark);display:grid;place-items:center;transform:rotate(45deg)}.brand-mark span{width:10px;height:10px;border-radius:50%;background:var(--mint)}.status-pill{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px;background:#fff;padding:8px 12px;border-radius:99px;border:1px solid var(--line)}.status-pill i{width:7px;height:7px;background:#e2a352;border-radius:50%}.status-pill.online i{background:#47a77d;box-shadow:0 0 0 4px #dff3e9}
main{max-width:1240px;margin:auto;padding:44px 24px 70px}.login-shell{min-height:calc(100vh - 165px);display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:center}.login-copy{max-width:680px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:#4b8c78;margin:0 0 12px}.login-copy h1,.hero-row h1{font:600 clamp(42px,5vw,72px)/1.02 Manrope;margin:0;letter-spacing:-.05em}.lead{font-size:19px;line-height:1.6;color:var(--muted);max-width:590px}.proof-row{display:flex;gap:34px;margin-top:36px}.proof-row span{display:flex;flex-direction:column;color:var(--muted);font-size:12px}.proof-row b{font:700 17px Manrope;color:var(--dark)}.glass-card{background:rgba(255,255,255,.83);border:1px solid white;border-radius:28px;padding:38px;box-shadow:var(--shadow);position:relative}.glass-card:before{content:'';position:absolute;width:240px;height:240px;background:var(--mint);filter:blur(110px);opacity:.2;z-index:-1;right:-60px;top:-80px}.mini-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--dark);color:white;font-weight:700}.glass-card h2,dialog h2{font:700 26px Manrope;margin:22px 0 8px}.glass-card p{color:var(--muted);line-height:1.5}.glass-card label,dialog label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;margin:24px 0 18px}.glass-card input,dialog input,dialog select{height:50px;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:white;outline:none}.glass-card input:focus,dialog input:focus,dialog select:focus{border-color:#59af8e;box-shadow:0 0 0 3px #def2e9}.button{border:0;border-radius:12px;padding:13px 18px;font-weight:700;cursor:pointer}.button.primary{width:100%;background:var(--dark);color:white;display:flex;justify-content:center;gap:12px}.button.primary:hover{background:#174a43}.button.ghost{background:transparent;border:1px solid var(--line);color:var(--dark)}.glass-card small{display:block;color:#87918e;line-height:1.4;margin-top:18px}
.dashboard{padding-top:16px}.hero-row{display:flex;align-items:end;justify-content:space-between;margin:12px 0 36px}.hero-row h1{font-size:46px}.hero-row>div>p:last-child{color:var(--muted)}.alert-rail{padding:18px 22px;border-radius:16px;background:#fff2e9;border:1px solid #f2cfb8;margin-bottom:20px}.alert-rail b{display:block;color:#8f4823}.alert-rail span{font-size:13px;color:#75584a}.metric-grid{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:16px}.metric-card,.panel,.action-card{background:var(--paper);border:1px solid rgba(21,60,55,.08);border-radius:20px;padding:24px;box-shadow:0 6px 24px rgba(13,48,44,.03)}.metric-card>span,.metric-top>span:first-child{font-size:13px;color:var(--muted)}.metric-card strong{display:block;font:700 30px Manrope;margin-top:18px}.metric-card p{font-size:12px;color:var(--muted);margin-bottom:0}.metric-card.featured{background:var(--dark);color:white}.metric-card.featured strong{display:inline;font-size:47px}.metric-card.featured small{font-size:16px;color:#a7c4bc}.metric-top{display:flex;justify-content:space-between}.trend{padding:5px 9px;border-radius:99px;font-size:10px}.trend.good{background:#21554c;color:#9ee3c5}.progress{height:5px;background:#31534e;border-radius:9px;margin-top:16px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:var(--mint);border-radius:9px;transition:width .5s}.content-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:16px;margin-top:16px}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel h2{font:700 20px Manrope;margin:0}.segmented{background:#f1f4f1;padding:3px;border-radius:9px}.segmented button{border:0;background:transparent;padding:6px 9px;border-radius:7px;font-size:10px;color:var(--muted)}.segmented button.active{background:white;color:var(--dark);box-shadow:0 2px 5px #ccd5d1}.chart-panel canvas{width:100%;margin-top:22px}.sessions-list{margin-top:14px}.session{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf0ee}.session:last-child{border:0}.session-dot{width:38px;height:38px;border-radius:13px;background:var(--pale);display:grid;place-items:center;color:#397d68}.session div{flex:1}.session b,.session small{display:block}.session small,.empty{color:var(--muted);font-size:11px}.session>strong{font:700 14px Manrope}.action-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}.action-card{display:flex;align-items:center;gap:14px;text-align:left;text-decoration:none;color:var(--dark);cursor:pointer}.action-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.action-card.disabled{opacity:.45;pointer-events:none}.action-icon{width:38px;height:38px;background:#eff5f1;border-radius:12px;display:grid;place-items:center;font-size:18px}.action-card b,.action-card small{display:block}.action-card small{font-size:11px;color:var(--muted);margin-top:4px}
dialog{border:0;border-radius:24px;padding:0;box-shadow:0 25px 80px rgba(3,24,21,.28);width:min(92vw,470px)}dialog::backdrop{background:rgba(5,30,27,.48);backdrop-filter:blur(4px)}dialog form{padding:34px;position:relative}.dialog-close{position:absolute;right:20px;top:18px;border:0;background:#f0f3f1;border-radius:50%;width:32px;height:32px;font-size:20px;cursor:pointer}dialog label{margin:15px 0}.dialog-result{padding:12px;border-radius:10px;background:#e6f6ee;font-size:12px;word-break:break-all}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;background:var(--dark);color:#fff;padding:11px 16px;border-radius:10px;font-size:12px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:800px){main{padding-top:24px}.login-shell{grid-template-columns:1fr;gap:36px}.login-copy h1{font-size:44px}.proof-row{gap:20px}.glass-card{padding:28px}.hero-row{align-items:start}.hero-row h1{font-size:35px}.metric-grid,.content-grid,.action-row{grid-template-columns:1fr}.topbar{height:66px}.metric-card{min-height:140px}.dashboard{padding-top:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.metric-card,.panel,.action-card{min-width:0}
@media(min-width:801px){.action-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.hero-row{align-items:stretch;flex-direction:column;gap:14px}.hero-row .button{align-self:flex-start}.alert-rail{overflow-wrap:anywhere}}
.chart-head{align-items:flex-start;gap:18px}.chart-summary{font-size:11px;color:var(--muted);margin:7px 0 0}.chart-controls{display:flex;gap:8px}.chart-controls label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.chart-controls select{display:block;margin-top:5px;border:1px solid var(--line);border-radius:9px;background:#f7faf8;color:var(--dark);padding:7px 28px 7px 9px;font-size:11px;font-weight:600;outline:none}.chart-controls select:focus{border-color:#59af8e;box-shadow:0 0 0 3px #def2e9}.chart-panel canvas{margin-top:16px;min-height:250px}
@media(max-width:800px){.chart-head{display:block}.chart-controls{margin-top:16px}.chart-controls label{flex:1}.chart-controls select{width:100%}.chart-panel{padding:20px 14px}}
.metric-grid{grid-template-columns:1.45fr repeat(2,1fr)}.device-presence{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:7px 11px;border-radius:99px;background:#fff0ea;color:#9a4d2b;font-size:12px;font-weight:700}.device-presence i{width:8px;height:8px;border-radius:50%;background:#d56f42}.device-presence.online{background:#e3f6ed;color:#267457}.device-presence.online i{background:#39a979;box-shadow:0 0 0 4px rgba(57,169,121,.15)}.switch-control{width:42px;height:24px;padding:3px;border-radius:99px;background:#cad5d1;transition:.2s;flex:0 0 auto}.switch-control i{display:block;width:18px;height:18px;border-radius:50%;background:white;box-shadow:0 2px 5px rgba(13,48,44,.2);transition:.2s}.mode-card[aria-checked="true"]{border-color:#78d6ae;background:#f3fcf8}.mode-card[aria-checked="true"] .switch-control{background:#39a979}.mode-card[aria-checked="true"] .switch-control i{transform:translateX(18px)}.mode-card.pending{opacity:.65;pointer-events:none}
@media(max-width:800px){.metric-grid{grid-template-columns:1fr}}
.chart-canvas-shell{position:relative;height:300px;margin-top:18px}.chart-canvas-shell canvas{margin-top:0!important;min-height:0!important}@media(max-width:800px){.chart-canvas-shell{height:270px}}
