:root{--bg:#f3f7fd;--ink:#182c56;--blue:#2057dc;--muted:#71809c;--line:#dce6f5;--white:#fff}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,PingFang HK,Microsoft JhengHei,sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #70a7ff}.console{max-width:1280px;margin:auto;padding:26px 32px 50px}.topbar,.mobile-head{align-items:center;gap:14px;display:flex}.topbar{border-bottom:1px solid var(--line);padding:16px 4px 28px}.topbar .mark{background:var(--blue);color:#fff;border-radius:14px;padding:10px 13px;font-size:23px}.topbar strong{font-size:18px;display:block}.topbar small{color:var(--muted);letter-spacing:1.5px;margin-top:4px;font-size:10px;display:block}.topbar a{color:var(--blue);margin-left:auto;font-weight:700}.eyebrow{color:var(--blue);letter-spacing:2px;text-transform:uppercase;font-size:12px;font-weight:800}.hero{padding:64px 0 34px}.hero h1,.login h1,.mobile-login h1{letter-spacing:-2px;margin:18px 0;font-size:clamp(40px,6vw,72px);line-height:1.15}.hero h1 span,.login h1 span,.mobile-login h1 span{color:var(--blue)}.hero p,.login p{color:var(--muted);font-size:17px;line-height:1.65}.metrics{gap:12px;margin-top:34px;display:flex}.metrics div{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:120px;padding:16px 26px}.metrics strong{font-size:30px;display:block}.metrics span{color:var(--muted);font-size:12px}.floors{gap:14px;display:grid}.floor{grid-template-columns:90px 1fr 1fr;gap:14px;display:grid}.floor-number{color:var(--blue);flex-direction:column;justify-content:center;align-items:center;display:flex}.floor-number strong{font-size:36px;line-height:1}.floor-number span{margin-top:6px;font-size:12px}.door-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:22px;box-shadow:0 8px 30px #2853a00b}.door-top{justify-content:space-between;align-items:center;display:flex}.door-glyph{width:38px;height:38px;color:var(--blue);background:#eaf1ff;border-radius:12px;place-items:center;font-size:26px;display:grid}.pill{color:#6a7890;background:#eef2f8;border-radius:99px;padding:7px 12px;font-size:12px;font-weight:700}.pill.pending{color:#a86b00;background:#fff0d7}.pill.opened{color:#16844c;background:#e2f7eb}.pill.denied{color:#c03e4e;background:#ffe8ea}.door-card h2{margin:18px 0 6px;font-size:22px}.door-card p{color:var(--muted);margin:0 0 20px;font-size:13px}.door-card button,.login button,.mobile-card button,.mobile-login button,.modal button{background:var(--blue);color:#fff;border:0;border-radius:12px;padding:14px 18px;font-weight:700}.door-card button{justify-content:space-between;width:100%;display:flex}.door-card button:disabled,.mobile-card button:disabled{color:#75829a;cursor:not-allowed;background:#d5deeb}.toast{background:#e5eeff;border:1px solid #bcd1ff;border-radius:14px;margin-bottom:20px;padding:16px 20px}.login{border:1px solid var(--line);background:#fff;border-radius:24px;max-width:540px;margin:65px auto;padding:44px}.login h1{font-size:48px}form{gap:18px;margin-top:30px;display:grid}label{color:var(--muted);gap:8px;font-size:13px;font-weight:700;display:grid}input,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#f8fbff;border-radius:12px;padding:15px}form button{justify-content:space-between;display:flex}footer{color:var(--muted);text-align:center;padding:40px 0;font-size:12px}.mobile{background:radial-gradient(circle at 90% 0,#d9f8ff,#0000 34%),linear-gradient(#eaf2ff,#f9fbff 52%);max-width:520px;min-height:100dvh;margin:auto;padding:24px 24px 12px;box-shadow:0 0 70px #2c5ca112}.mobile-head{justify-content:space-between;font-size:13px;font-weight:700}.mobile-head a{color:var(--blue)}.mobile-head span{color:var(--muted)}.mobile-intro{text-align:center;margin:58px 0 26px}.mobile-intro h1{margin:12px 0;font-size:30px}.mobile-intro p{color:var(--muted);min-height:42px;font-size:14px;line-height:1.5}.lock-ring{width:180px;height:180px;color:var(--blue);background:linear-gradient(145deg,#fff,#e8efff);border-radius:50%;place-items:center;margin:34px auto 52px;display:grid;box-shadow:0 14px 30px #456bb02c,inset 0 0 0 13px #ffffffb8}.lock-ring svg{width:66px;height:66px}.ring-pending{box-shadow:0 10px 40px #e0a64660,inset 0 0 0 13px #ffffffb8}.mobile-card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:26px;box-shadow:0 15px 45px #2a55a112}.mobile-card h2{margin:14px 0}.mobile-card p{color:var(--muted);line-height:1.6}.mobile-card label{margin:18px 0}.mobile-card button{justify-content:space-between;width:100%;margin-top:18px;display:flex}.inline-message{background:#eaf2ff;border-radius:10px;padding:12px;color:var(--blue)!important}.mobile-login{margin-top:100px}.mobile-login form{background:#fff;border-radius:20px;padding:25px}.modal-backdrop{background:#10285590;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:22px;width:min(420px,100%);padding:28px;box-shadow:0 25px 80px #10285550}.modal h2{font-size:25px}.modal p{color:var(--muted)}.modal-actions{gap:12px;margin-top:25px;display:flex}.modal-actions button{flex:1}.modal button.outline{color:var(--blue);background:#edf3ff}.modal button.text-button{color:var(--muted);background:0 0;padding:14px 0 0}.mobile footer{padding:35px 0 10px}@media (max-width:700px){.console{padding:14px}.floor{grid-template-columns:50px 1fr 1fr;gap:7px}.floor-number strong{font-size:24px}.door-card{border-radius:14px;padding:14px}.door-card h2{font-size:16px}.door-card p{min-height:35px}.door-card button{padding:12px 9px;font-size:12px}.metrics div{flex:1;min-width:0;padding:12px}.hero{padding:40px 4px 28px}.topbar small{font-size:8px}.topbar a{font-size:12px}}.mobile .lock-ring{border:0}.mobile .lock-ring:disabled{cursor:default;opacity:.65}
