:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f4f7fa;color:#0b2236}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -20%,#dbeeff 0,transparent 34%),#f4f7fa}main{max-width:520px;margin:auto;padding:24px 18px 48px}.wide{max-width:980px}header{display:flex;align-items:center;justify-content:space-between;margin:4px 2px 28px}.logo{font-weight:900;letter-spacing:.14em;font-size:17px}.logo span{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#0b6cf2;color:#fff;font-size:20px;letter-spacing:0;margin-right:8px}.logo em{font-style:normal;font-size:9px;background:#e5effb;color:#3471a7;padding:5px 7px;border-radius:7px;margin-left:5px}.nav{display:flex;align-items:center;gap:12px}.nav a{font-size:13px;font-weight:800;color:#27628f;text-decoration:none}.nav form{margin:0}.avatar{border:0;width:38px;height:38px;border-radius:50%;background:#dbe7f2;font-size:11px;font-weight:800;cursor:pointer}.hero,.card{background:#fff;border:1px solid #e2eaf1;border-radius:24px;padding:24px;box-shadow:0 16px 50px rgba(24,54,82,.07);margin-bottom:16px}.hero{background:linear-gradient(145deg,#071c2d,#0c304b);color:#fff;border:0;box-shadow:0 20px 60px rgba(5,30,50,.2)}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:850;color:#6f8293}.hero .eyebrow{color:#78a6c7}h1{font-size:27px;line-height:1.15;margin:7px 0 13px}h2{font-size:19px;margin:5px 0}.device{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#b9ccda;margin-bottom:24px}.device i{width:8px;height:8px;border-radius:50%;background:#ef735d;box-shadow:0 0 0 5px rgba(239,115,93,.12)}.device.online i{background:#4ddd91;box-shadow:0 0 0 5px rgba(77,221,145,.12)}button,select,input{font:inherit;width:100%;border:0;border-radius:15px;transition:.18s ease}.open{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:126px;background:linear-gradient(135deg,#1677ff,#075bd2);color:#fff;box-shadow:0 12px 28px rgba(13,107,235,.28);cursor:pointer}.open:hover{transform:translateY(-1px)}.open:disabled{opacity:.72;cursor:wait}.open strong{font-size:21px}.open small{opacity:.72;margin-top:4px}.lock{font-size:29px;margin-bottom:5px}.cardhead{display:flex;justify-content:space-between;align-items:flex-start}.icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#edf5ff;color:#0b6cf2;font-weight:900}.muted{color:#6d7e8c;line-height:1.55;font-size:14px}.hero .muted{color:#b7c9d7}label{display:block;font-size:12px;font-weight:800;color:#6f8293;margin:18px 0 6px}select,input{padding:14px;background:#f1f5f8;color:#17344b;border:1px solid #e0e8ee}.secondary,.primary{padding:15px;margin-top:10px;background:#eaf3ff;color:#0863dc;font-weight:800;cursor:pointer}.primary{background:#0b6cf2;color:#fff;margin-top:20px}.event{display:flex;gap:12px;padding:13px 0;border-top:1px solid #edf1f4}.eventdot{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#2b83f6;flex:0 0 auto}.event b{display:block;font-size:13px}.event small{display:block;color:#8795a1;margin-top:3px}.notice{padding:13px 15px;border-radius:13px;margin-top:14px;font-size:14px;font-weight:750}.success{background:#dff8ea;color:#08763d}.error{background:#ffe7e7;color:#a42d2d}.auth{max-width:440px;padding-top:8vh}.authlogo{text-align:center;margin-bottom:25px}.authcard{padding:30px}.authcard h1{font-size:28px}.demo{text-align:center;font-size:11px;color:#99a6af;margin:20px 0 0}.adminhero{display:flex;align-items:center;gap:14px;background:#0a2438;color:#fff;padding:25px;border-radius:24px;margin-bottom:18px}.adminhero>div:first-child{flex:1}.adminhero .muted{color:#a9becd}.metric{background:#123650;border-radius:16px;padding:14px 20px;text-align:center}.metric b{display:block;font-size:24px}.metric span{font-size:10px;color:#9eb5c5}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.grid .card{margin:0}.pill{font-size:9px;font-weight:900;padding:6px 8px;border-radius:9px;background:#fee5e5;color:#a63b3b}.pill.ok{background:#dff8ea;color:#08763d}.mono{font:12px ui-monospace,SFMono-Regular,monospace;color:#718493}.linkbtn{background:none;border:0;color:#7a8995;font-size:12px;font-weight:800;cursor:pointer}.courier{max-width:470px;padding-top:35px}.courierhero{text-align:center;padding:30px 24px}.package,.check{width:68px;height:68px;display:grid;place-items:center;margin:2px auto 20px;border-radius:22px;background:#123a58;color:#64aaff;font-size:30px}.check{background:#dff8ea;color:#149050;font-weight:900}.center{text-align:center}footer{text-align:center;color:#91a0ab;font-size:11px;letter-spacing:.08em;margin-top:24px}@media(max-width:650px){.grid{grid-template-columns:1fr}.adminhero{align-items:flex-start;flex-wrap:wrap}.adminhero>div:first-child{flex-basis:100%}}@media(max-width:420px){main{padding:17px 13px 38px}.hero,.card{padding:20px;border-radius:21px}header{margin-bottom:20px}.open{min-height:116px}}
.adminsection{margin:30px 0}.sectiontitle{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}.compact{margin:0}.compact h3{margin:0 0 4px;font-size:17px}.compact label{margin-top:13px}.compact .primary{margin-top:16px}@media(max-width:700px){.formgrid{grid-template-columns:1fr}}
.entrancepicker{display:flex;align-items:center;gap:10px;margin:-10px 0 14px}.entrancepicker label{margin:0;white-space:nowrap}.entrancepicker select{padding:10px 12px;background:#fff}.address{font-size:12px;color:#8fb0c7;margin:-5px 0 12px}
.telemetry{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.telemetry span{background:#f4f7fa;border-radius:10px;padding:9px;font-size:9px;color:#82919d}.telemetry b{display:block;color:#17344b;font-size:11px;margin-bottom:2px}.lastseen{display:block;color:#9aa7b1;font-size:9px;margin-top:9px}
.pill.waiting{background:#fff1ce;color:#936100}.pendingdevice{border-style:dashed;border-color:#b9cfe0}

/* 2026 UI refresh */
:root{--ink:#0b2236;--blue:#0b6cf2;--line:#e2eaf1;--surface:rgba(255,255,255,.88);--shadow:0 18px 55px rgba(24,54,82,.09)}
body{background:radial-gradient(circle at 15% -5%,rgba(56,139,253,.16),transparent 27%),radial-gradient(circle at 90% 8%,rgba(74,222,178,.10),transparent 22%),#f5f8fb;background-attachment:fixed}
header{padding:4px 0}.logo{display:flex;align-items:center}.logo span{box-shadow:0 8px 20px rgba(11,108,242,.24)}
.hero,.card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.card{background:var(--surface);box-shadow:var(--shadow)}
.hero{position:relative;overflow:hidden;background:linear-gradient(145deg,#061a2b 0%,#0a304c 68%,#0d3b5a 100%)}
.hero:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;top:-110px;background:radial-gradient(circle,rgba(51,146,255,.25),transparent 68%);pointer-events:none}
.hero>*{position:relative}.hero h1{font-size:31px;letter-spacing:-.025em}.address{font-size:13px}
.open{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.13);background:linear-gradient(135deg,#1980ff,#0757c8);box-shadow:0 16px 35px rgba(13,107,235,.32)}
.open:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.13) 48%,transparent 70%);transform:translateX(-120%);transition:transform .55s ease}.open:hover:after{transform:translateX(120%)}.open:active{transform:translateY(1px) scale(.995)}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid rgba(11,108,242,.25);outline-offset:2px}
select,input{background:#f7f9fb;border:1px solid #dce6ed}.secondary{border:1px solid #d8e8fb;background:#eef6ff}.secondary:hover,.primary:hover{filter:brightness(.98);transform:translateY(-1px)}
.cardhead h2{letter-spacing:-.015em}.icon{box-shadow:inset 0 0 0 1px #dbeaff}
.event{align-items:flex-start}.eventdot{box-shadow:0 0 0 4px #e8f2ff}
.notice{border:1px solid transparent}.success{border-color:#c4efd6}.error{border-color:#ffd1d1}
.auth{max-width:460px}.authcard{box-shadow:0 28px 80px rgba(20,55,82,.12)}.authlogo{justify-content:center}
.adminhero{position:relative;overflow:hidden;background:linear-gradient(135deg,#071c2d,#0d3855);box-shadow:0 18px 48px rgba(5,30,50,.16)}.metric{min-width:88px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.07);backdrop-filter:blur(8px)}
.telemetry span{border:1px solid #e8eef3}.pill{letter-spacing:.05em}.pill.ok{box-shadow:0 0 0 4px rgba(8,118,61,.05)}
.courierhero{padding:34px 26px}.courierhero .package{box-shadow:0 12px 30px rgba(0,0,0,.12)}.courierhero #remaining{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 8px;border-radius:9px;background:rgba(255,255,255,.1);color:#fff}
#accessResult{padding:14px;border:1px solid #e3ebf1;border-radius:16px;background:#f8fafc}#accessResult .secondary{width:auto;min-width:135px;margin-right:5px}
@media(min-width:701px){.wide{max-width:1080px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.hero h1{font-size:27px}#accessResult .secondary{width:100%;margin-right:0}}


/* Resident access flow */
.accesscard h2{max-width:330px}.accesssteps{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.accessstep{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid #e4ebf1;border-radius:16px;background:#f8fafc}.accessstep>span{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:9px;background:#e6f1ff;color:#0965df;font-size:11px;font-weight:900}.accessstep>div{min-width:0;flex:1}.accessstep label{margin:1px 0 7px}.accessstep select{padding:11px 10px;background:#fff}.accesscreate{margin-top:12px}.event b{line-height:1.35}.event small{font-variant-numeric:tabular-nums}
@media(max-width:480px){.accesssteps{grid-template-columns:1fr}.accessstep{align-items:center}.accessstep label{margin-top:0}}


/* Admin operations dashboard */
.dashboardgrid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin:0 0 24px}.overviewcard{margin:0}.healthbar{height:10px;border-radius:99px;background:#edf1f4;overflow:hidden;margin:22px 0 13px}.healthbar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#25c879,#55dfa0)}.healthlegend{display:flex;flex-wrap:wrap;gap:14px;color:#718493;font-size:11px;font-weight:700}.healthlegend span{display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.onlineDot{background:#2fd286}.offlineDot{background:#ef735d}.quickstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.quickstats div{padding:13px 8px;border:1px solid #e7edf2;border-radius:14px;background:#f8fafc;text-align:center}.quickstats b{display:block;font-size:21px;color:#14334a}.quickstats span{font-size:9px;color:#84939f;text-transform:uppercase;letter-spacing:.06em}.activitycard{padding-top:10px;padding-bottom:10px}.activitycard .event:first-child{border-top:0}.metric.health b{font-variant-numeric:tabular-nums}.okmetric b{color:#62e4a5}.badmetric b{color:#ff9a86}
@media(max-width:760px){.dashboardgrid{grid-template-columns:1fr}.adminhero .metric{flex:1;min-width:72px}.healthlegend{gap:10px}.quickstats b{font-size:19px}}


.devicelink{color:#3977a7;text-decoration:none;font-weight:800}.devicelink:hover{color:#0b6cf2}.devicehero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px;margin-bottom:16px;border-radius:24px;background:linear-gradient(135deg,#071c2d,#0d3855);color:#fff;box-shadow:0 18px 48px rgba(5,30,50,.16)}.devicehero h1{margin-bottom:8px;font-size:30px}.devicehero .muted{margin:0;color:#a9becd}.statuslarge{display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:12px;background:rgba(255,255,255,.07);font-size:11px;font-weight:900}.statuslarge i{width:9px;height:9px;border-radius:50%;background:#ef735d}.statuslarge.online i{background:#4ddd91}.devicegrid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.devicegrid>.card{margin:0}.detailstats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.detailstats div{padding:14px;border:1px solid #e7edf2;border-radius:14px;background:#f8fafc}.detailstats span,.detailrow span{display:block;color:#85949f;font-size:10px;text-transform:uppercase;font-weight:800}.detailstats b{display:block;margin-top:5px;color:#14334a;font-size:16px}.detailrow{padding:13px 0;border-bottom:1px solid #edf1f4}.detailrow:last-child{border-bottom:0}.detailrow b{display:block;margin-top:4px;font-size:13px;color:#17344b}@media(max-width:700px){.devicegrid{grid-template-columns:1fr}.devicehero{align-items:flex-start;flex-direction:column}}@media(max-width:420px){.detailstats{grid-template-columns:1fr}}

/* DURVIO design system — calm, accessible, mobile-first */
:root{--ink:#112b35;--blue:#0b8c72;--line:#dcebe6;--surface:#fff;--shadow:0 14px 40px rgba(14,55,48,.08)}
body{background:radial-gradient(circle at 10% 0%,#e3f8ef,transparent 34%),linear-gradient(165deg,#f5fbf8,#edf5f4);color:var(--ink)}
main{max-width:570px}main.wide{max-width:1120px}
.logo{letter-spacing:.09em;color:#143e39}.logo span{background:linear-gradient(145deg,#17c992,#087b66);border-radius:12px;box-shadow:0 8px 20px #118a6a2b}
.logo em{background:#e4f6ee;color:#16745c}.nav a{color:#176d59}
.hero,.adminhero{background:radial-gradient(circle at 95% 0%,#256f68,transparent 40%),linear-gradient(145deg,#0b292e,#154c48);box-shadow:0 20px 55px #063d3426}
.hero:before{background:radial-gradient(circle,#48dcb644,transparent 70%)}
.hero .eyebrow,.adminhero .eyebrow{color:#8fe7c9}
.hero h1{font-size:clamp(27px,5vw,36px)}
.card{border:1px solid #e0eee9;border-radius:23px;box-shadow:0 12px 38px #0e433011;background:#fff}
.open{min-height:165px;background:linear-gradient(145deg,#1acb89,#078458);border:1px solid #8be9bb;box-shadow:0 15px 35px #087a4c44;border-radius:23px}
.open:hover{filter:brightness(1.04)}.open:disabled{opacity:.68}
.open strong{font-size:clamp(21px,5vw,26px)}.lock{font-size:37px}
.primary{background:linear-gradient(145deg,#13a97a,#08785d);color:white;box-shadow:0 7px 18px #0a8c6426}
.secondary{background:#e7f7f0;color:#126c54;border-color:#c6e9d8}
select,input{background:#f7fbf9;border-color:#d8e9e1;color:#173e35}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #6fe1b1;outline-offset:3px}
.icon,.accessstep>span{background:#e3f8ef;color:#0b8661;box-shadow:none}
.eventdot{background:#20b886;box-shadow:0 0 0 4px #e4f8ee}
.adminhero{border-radius:25px}.metric{background:#ffffff12}.quickstats div,.accessstep{background:#f7fbf9;border-color:#e0eee8}
.pill.ok{background:#ddf8e8;color:#116a48}.healthbar span{background:linear-gradient(90deg,#0da878,#5fdeb0)}
.auth{padding-top:min(9vh,75px)}.authcard{padding:clamp(22px,5vw,36px)}
.authcard h1{font-size:clamp(25px,6vw,32px)}
@media(max-width:480px){.card,.hero{border-radius:21px}.open{min-height:145px}.nav{gap:8px}}
