:root {
    --navy:#293747;
    --navy2:#35465a;
    --cyan:#36c2cf;
    --blue:#3699dc;
    --red:#ea515c;
    --purple:#9141ad;
    --text:#59697b;
    --muted:#9aa8b7;
    --border:#e1e7ed;
    font-family:"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:#f8fafc}button,input{font:inherit}
.hidden{display:none!important}

.login-body{display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg,var(--navy),#1e2a36)}
.login-box{width:min(410px,calc(100% - 30px));padding:42px;border-radius:5px;background:#fff;box-shadow:0 20px 70px rgba(0,0,0,.25)}
.login-logo,.main-logo{display:flex;align-items:center;color:#fff}.login-logo{margin-bottom:36px;color:var(--navy)}
.login-logo>span,.main-logo>span{display:grid;place-items:center;width:22px;height:22px;margin-right:5px;border-radius:50%;color:#18b9ca;background:#fff;font-size:13px;font-weight:800;box-shadow:inset 0 0 0 2px #18b9ca}
.login-logo strong,.main-logo strong{font-size:27px;font-weight:300}.login-logo small,.main-logo small{align-self:flex-end;margin:0 0 -11px -27px;font-style:italic}
.login-box h1{margin:0 0 8px;color:#334154;font-size:30px;font-weight:300}.login-box>p{margin:0 0 25px;color:#8795a5}
.login-box form{display:grid;gap:17px}.login-box label{color:#647487;font-size:13px}.login-box input{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #dce3ea;border-radius:3px;outline:0}.login-box input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(54,194,207,.12)}
.login-box button{min-height:47px;border:0;border-radius:3px;color:#fff;background:var(--cyan);font-weight:600;cursor:pointer}.login-box>small{display:block;margin-top:22px;color:#9aa7b4;text-align:center}.error,.server-error{padding:12px;border:1px solid #ffc7cc;color:#c93d49;background:#fff2f3}.error{margin-bottom:18px}

.topbar{position:fixed;z-index:30;inset:0 0 auto 0;display:flex;align-items:center;height:63px;padding:0 24px;background:var(--navy);box-shadow:0 2px 6px rgba(0,0,0,.08)}
.device-top{display:flex;align-items:center;gap:8px;margin-left:auto;color:#d4dfeb;font-size:14px}.logout{margin-left:28px;color:#8ea2b8;font-size:27px;text-decoration:none}.mobile-menu{display:none;margin-right:12px;border:0;color:#fff;background:transparent;font-size:21px}
.sidebar{position:fixed;z-index:25;inset:63px auto 0 0;width:295px;background:var(--navy2)}
.sidebar nav{display:grid}.menu-item{position:relative;display:grid;grid-template-columns:34px 1fr auto;align-items:center;height:51px;padding:0 22px;border:0;border-bottom:1px solid rgba(255,255,255,.06);color:#b8c8da;background:transparent;text-align:left;font-size:16px;cursor:pointer}
.menu-item>span{color:#7e94ab;font-size:20px}.menu-item b{min-width:22px;padding:3px 6px;border-radius:10px;background:rgba(0,0,0,.15);text-align:center;font-size:10px}
.menu-item:hover{background:rgba(255,255,255,.04)}.menu-item.active{color:#fff;background:var(--cyan)}.menu-item.active>span{color:#fff}.menu-item.active::after{position:absolute;right:-1px;border-top:13px solid transparent;border-right:13px solid #f8fafc;border-bottom:13px solid transparent;content:""}
.safe-note{position:absolute;right:18px;bottom:20px;left:18px;display:flex;gap:10px;padding:13px;color:#b8c8da;border:1px solid rgba(255,255,255,.08);font-size:12px}.safe-note p{margin:0}.safe-note small{color:#8197ae}

.main{min-height:100vh;margin-left:295px;padding:108px 25px 45px}.server-error{margin-bottom:18px}.page{display:none}.page.active{display:block}
.device-panel{padding:24px;border:1px solid var(--border);background:#fff;box-shadow:0 2px 6px rgba(41,55,71,.08)}
.device-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid var(--border)}.device-heading h2{margin:0;color:#17b5c5;font-size:20px;font-weight:500}.device-heading time{display:block;margin-top:5px;color:#98a6b5}.device-heading button{width:48px;height:38px;border:1px solid #fa5363;border-radius:22px;color:#fa5363;background:#fff;font-size:22px;cursor:pointer}
.quick-cards{display:flex;gap:12px;margin-top:21px}.quick{display:flex;align-items:center;min-height:170px;padding:18px;color:#fff}.quick.status{width:170px;background:#a8b3c4}.quick.battery{width:170px;background:#e85a5d}.quick.location{width:350px;background:#5c96c4}
.big-icon{margin-right:18px;font-size:64px;line-height:1}.quick strong{display:block;font-size:17px;font-weight:500}.quick small,.quick p,.quick a{display:block;margin:8px 0 0;color:#fff;font-size:13px}.quick a{text-decoration:underline}.quick b{font-size:18px}
.page-title{margin:62px 0 27px;color:#566677;font-size:31px;font-weight:300}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}.stat{display:flex;align-items:center;justify-content:space-between;min-height:152px;padding:22px;border:0;color:#fff;text-align:left;box-shadow:0 2px 5px rgba(0,0,0,.12);cursor:pointer}.stat.blue{background:var(--blue)}.stat.red{background:var(--red)}.stat.cyan{background:#30bec9}.stat.purple{background:var(--purple)}
.stat-icon{opacity:.2;font-size:88px}.stat>div{text-align:center}.stat strong{display:block;font-size:40px;font-weight:300}.stat small{font-size:17px}.history-card{margin-top:34px;padding:22px;border:1px solid var(--border);background:#fff}.history-card>div:first-child{display:flex;justify-content:space-between;align-items:center}.history-card h3{margin:0;color:#596a7d;font-weight:400}.history-card span{color:#9aa8b7;font-size:12px}.chart-empty{display:grid;place-items:center;min-height:210px;color:#a0acb9}.chart-empty svg{width:100%;height:210px}.chart-grid{stroke:#e7ebef}.chart-line{fill:none;stroke:var(--cyan);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}

.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.page-head h1{margin:0;color:#536476;font-size:32px;font-weight:300}.page-head p{margin:6px 0 0;color:#9aa7b5}.page-head input{width:290px;padding:12px;border:1px solid #dbe3e9;background:#fff;outline:0}.page-head input:focus{border-color:var(--cyan)}
.list{border:1px solid var(--border);background:#fff}.row{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:start;padding:17px 20px;border-bottom:1px solid #ebeff3}.row:last-child{border-bottom:0}.row-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:3px;color:#fff;background:var(--blue);font-size:18px}.row-icon.wa{background:#31bd86}.row-icon.loc{background:#5c96c4}.row-icon.act{background:#30bec9}.row h3{margin:0;color:#536476;font-size:14px}.row p{margin:7px 0 0;color:#697a8c;line-height:1.5;white-space:pre-wrap}.row small,.row time{color:#9ba8b5;font-size:11px}.empty{display:grid;place-items:center;min-height:230px;color:#9ba8b5}.backdrop{display:none}

@media(max-width:1200px){.stat-grid{grid-template-columns:repeat(2,1fr);gap:18px}}
@media(max-width:850px){
    .mobile-menu{display:block}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;padding:88px 15px 35px}.backdrop.show{position:fixed;z-index:20;inset:63px 0 0;display:block;background:rgba(20,30,40,.55)}
    .quick-cards{display:grid;grid-template-columns:1fr 1fr}.quick.status,.quick.battery,.quick.location{width:auto}.quick.location{grid-column:1/-1}.stat-grid{gap:14px}.main-logo strong{font-size:21px}
}
@media(max-width:570px){.device-top{display:none}.quick-cards,.stat-grid{grid-template-columns:1fr}.quick.location{grid-column:auto}.stat{min-height:125px}.page-title{margin-top:35px}.page-head{align-items:flex-start;flex-direction:column}.page-head input{width:100%}.history-card>div:first-child{align-items:flex-start;flex-direction:column;gap:6px}.row{grid-template-columns:42px 1fr}.row time{grid-column:2}.login-box{padding:30px 22px}}

