:root{--ink:#13223b;--muted:#6c7a91;--line:#e8edf4;--navy:#132d57;--blue:#2e68df;--mint:#19c37d;--bg:#f5f8fc}[hidden]{display:none!important}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}button,input{font:inherit}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login section{max-width:520px;align-self:center;justify-self:end;padding:48px 80px}.logo{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(140deg,#33d99f,#2869de);color:white;font-size:25px;font-weight:800;box-shadow:0 9px 20px #2772d840}.login h1{font-size:42px;letter-spacing:-1.7px;line-height:1.08;margin:20px 0 16px}.login p{color:var(--muted);line-height:1.6}.eyebrow{font-size:11px;letter-spacing:1.3px;color:#7b8aa2;font-weight:800;margin:0 0 7px}form{margin-top:30px;display:grid;gap:14px}label{font-size:13px;font-weight:700;display:grid;gap:7px}input{border:1px solid #dce4ef;border-radius:10px;padding:12px;background:white;outline-color:var(--blue)}button{border:0;border-radius:10px;padding:12px 16px;background:var(--blue);color:white;font-weight:750;cursor:pointer}.login aside{background:linear-gradient(155deg,#113263,#1b5bcc);color:white;display:grid;place-content:center;text-align:center;padding:40px}.login aside>span{font-size:12px;background:#ffffff1c;border:1px solid #ffffff30;padding:8px 12px;border-radius:30px}.shield{margin:42px auto 20px;width:170px;height:170px;border:1px solid #ffffff40;border-radius:45% 45% 50% 50%;display:grid;place-items:center;font-size:76px;background:#ffffff10}.login aside p{color:#d5e4ff;max-width:280px}.login small{color:#e95454;min-height:16px}header{height:70px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;justify-content:space-between}.brand{display:flex;align-items:center;gap:8px;font-size:21px}.brand small{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.mini{width:32px;height:32px;border-radius:10px;font-size:17px}.status{font-size:12px;color:#369b70;background:#edfbf4;padding:8px 13px;border-radius:30px}.profile{padding:0;width:35px;height:35px;border-radius:50%;background:#f2c7b6;color:#77402d}.layout{display:grid;grid-template-columns:225px 1fr;min-height:calc(100vh - 70px)}nav{background:white;border-right:1px solid var(--line);padding:20px 12px;display:flex;flex-direction:column;gap:6px}nav button{background:transparent;color:#61708a;text-align:left;padding:11px 14px;font-size:13px}nav button.active{color:var(--blue);background:#edf4ff}.support{margin-top:auto}.content{padding:32px;max-width:1300px;width:100%;margin:auto}.welcome{display:flex;justify-content:space-between;align-items:center}.welcome h2{margin:0 0 7px;font-size:28px;letter-spacing:-.7px}.welcome p{margin:0;color:var(--muted)}.outline{background:white;color:var(--blue);border:1px solid #cdddf9}.children{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin:26px 0}.child{background:white;border:1px solid var(--line);border-radius:16px;padding:19px;box-shadow:0 5px 18px #203e6e08}.childTop{display:flex;align-items:center;gap:12px}.avatar{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;color:white;font-weight:800}.child h3{margin:0;font-size:16px}.child small{color:var(--muted)}.usageTrack{height:8px;background:#eaf0f7;border-radius:10px;margin:18px 0 8px;overflow:hidden}.usageTrack i{display:block;background:var(--mint);height:100%;border-radius:10px}.cardFooter{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.online{color:#17a36b}.offline{color:#f0a23e}.grid{display:grid;grid-template-columns:1.55fr 1fr;gap:16px}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:21px}.panelTitle{display:flex;justify-content:space-between;align-items:start}.panel h3{margin:0;font-size:17px}.textButton{padding:0;background:transparent;color:var(--blue);font-size:12px}.mapStage{height:260px;border-radius:12px;margin-top:19px;position:relative;overflow:hidden;background:linear-gradient(135deg,#e9f6ed,#e7f0e8 45%,#deebdf);background-image:linear-gradient(135deg,#e9f6ed,#e7f0e8 45%,#deebdf),radial-gradient(#c5d7c7 1px,transparent 1px);background-size:auto,18px 18px}.road{position:absolute;background:#fff;opacity:.85;border:1px solid #d7ddda}.r1{height:34px;width:130%;transform:rotate(-24deg);top:120px;left:-50px}.r2{height:27px;width:100%;transform:rotate(22deg);top:70px;left:20px}.pin{position:absolute;width:32px;height:32px;border-radius:12px;color:white;font-size:13px;font-weight:bold;display:grid;place-items:center;box-shadow:0 8px 17px #233c6250}.pin span{position:absolute;white-space:nowrap;left:39px;color:var(--ink);background:white;padding:5px 7px;border-radius:7px;font-weight:600;box-shadow:0 3px 9px #314e6618}.sofia{background:#19c37d;top:86px;left:52%}.mateo{background:#5b7cfa;top:165px;left:24%}.home{position:absolute;right:20px;bottom:19px;background:white;padding:7px 9px;border-radius:8px;font-size:12px;box-shadow:0 3px 9px #314e6618}.event{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.event:last-child{border:0}.eventDot{width:9px;height:9px;background:var(--mint);border-radius:50%;margin-top:5px;flex:0 0 auto}.event p{margin:0;color:var(--muted);font-size:12px;margin-top:3px}.route{margin-top:16px}.route>p{color:var(--muted);font-size:13px;max-width:720px;line-height:1.55}.badge{font-size:11px;color:#138e60;background:#eafaf2;padding:6px 9px;border-radius:20px;font-weight:700}.routeRow{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:12px 0;font-size:13px}.routeRow small{color:var(--muted)}dialog{border:0;border-radius:16px;box-shadow:0 20px 60px #10214545;width:min(400px,90vw)}dialog::backdrop{background:#10214570}dialog form{margin:0}.dialogActions{display:flex;justify-content:end;gap:9px;margin-top:12px}@media(max-width:800px){.login{grid-template-columns:1fr}.login aside{display:none}.login section{justify-self:stretch;padding:40px 25px}.layout{grid-template-columns:1fr}nav{display:none}.content{padding:22px 15px}.grid{grid-template-columns:1fr}.welcome{align-items:start;gap:12px}.status{display:none}.welcome .outline{white-space:nowrap}.login h1{font-size:34px}}
