.access-page{margin:0;color:#dcedff;background:radial-gradient(ellipse at 22% 30%,#103b6066,transparent 55%),#050e1d;font:16px/1.6 'Segoe UI',sans-serif;min-height:100vh}.access-page *{box-sizing:border-box}.login-layout{max-width:1140px;margin:auto;min-height:calc(100vh - 65px);padding:64px 40px;display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:center}.login-brand img{width:min(390px,100%);display:block;margin:0 0 35px}.access-eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;color:#60cbd9}.login-brand h1{font-size:clamp(30px,3vw,42px);font-weight:500;line-height:1.2;letter-spacing:-1px}.login-brand p,.login-card>p{color:#9bb6ce}.access-pills{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.access-pills span{font-size:12px;padding:7px 12px;border:1px solid #24536e;border-radius:30px;color:#a9d7e9;background:#0a2034}.login-card{padding:36px;border:1px solid #2c526e;border-radius:22px;background:linear-gradient(130deg,#102840,#091b30);box-shadow:0 25px 80px #0005,inset 0 1px 0 #a0dbff12}.login-card h2{font-size:30px;font-weight:500;letter-spacing:-.6px;margin:12px 0}.login-card label{display:grid;gap:8px;margin:18px 0;font-size:14px}.login-card input:not([type=checkbox]){width:100%;padding:13px 14px;border:1px solid #335c7b;border-radius:10px;color:#e4f3ff;background:#06162a;font:inherit}.login-card input:focus-visible{outline:2px solid #44cddd;outline-offset:3px}.login-card .access-check{display:flex;align-items:center;font-size:13px;gap:10px;line-height:1.5}.login-card input[type=checkbox]{width:16px;height:16px;accent-color:#149bb8}.login-card small{display:block;color:#8eaac1;font-size:12px}.access-button{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:13px 20px;border:1px solid #4bbdcc88;border-radius:10px;background:linear-gradient(115deg,#15547a,#0879ac 52%,#1b4b89);color:#f1fdff;text-decoration:none;font:600 15px 'Segoe UI',sans-serif;cursor:pointer;box-shadow:inset 0 1px 0 #8cecff40,0 3px 12px #008fae26}.access-button:hover{background:linear-gradient(115deg,#176c83,#098ead 52%,#245b9b);box-shadow:0 0 18px #00b7ff45}.access-button:disabled{opacity:.5;cursor:not-allowed}.login-card form>.access-button{width:100%;margin-top:24px}.access-notice{margin:20px 0;padding:18px;border:1px solid #3b6984;border-radius:12px;background:#0b263d}.access-notice strong{font-size:14px;color:#b5f4ef}.access-notice p,.access-help{font-size:13px;color:#a9bfd1}.access-notice .access-button{width:100%}.access-footer{text-align:center;font-size:12px;color:#7596b1;padding:20px}#login-message{color:#ffd2b3;font-size:14px}.access-page [hidden]{display:none!important}
/* Shared facility administrator dialog. */
#staff-dialog{width:min(920px,94vw);max-height:90dvh;padding:28px;background:#091d31;color:#dceeff;border-color:#2c5b7a}#staff-dialog h2{color:#e3f3ff}#staff-dialog .staff-intro{color:#a7bfd5}#staff-dialog .access-notice{color:#c5ebf2}#staff-dialog label{color:#c0d9ee}#staff-dialog input,#staff-dialog select{background:#061629;color:#e6f4ff;border-color:#325b78}#staff-dialog select option{background:#0c253c;color:#e6f4ff}.staff-invite-grid{display:grid;grid-template-columns:1fr 1.3fr 140px;gap:14px}.staff-invite-grid label{margin:8px 0 16px}#staff-list{display:grid;gap:12px;margin-top:24px}.staff-card{border:1px solid #294a67;border-radius:13px;padding:18px;background:linear-gradient(120deg,#102e47,#0a1d32)}.staff-card-head{display:flex;justify-content:space-between;gap:14px;align-items:start}.staff-card h3{color:#e4f4ff;font-size:17px;margin:0 0 4px}.staff-card p{margin:0;color:#a5bdd3;font-size:13px;overflow-wrap:anywhere}.staff-state{padding:4px 10px;border-radius:20px;font-size:12px;background:#104e4e;color:#a9f0da;border:1px solid #226d67;white-space:nowrap}.staff-state.paused{background:#493828;border-color:#755537;color:#ffd4a2}.staff-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.staff-actions button{font-size:13px;padding:9px 12px}.staff-device-list{margin-top:14px;color:#93b6cd;font-size:12px}.staff-device-list summary{cursor:pointer}.staff-device-list p{padding-top:8px}#staff-message{color:#b5e5ed;font-size:14px}#staff-dialog button:focus-visible{outline:2px solid #68dbe8;outline-offset:3px}.preview-banner{padding:8px 16px;text-align:center;color:#acd9e9;font-size:12px;background:#0c2b43;border-bottom:1px solid #23465f}.account-summary{font-size:12px;color:#a8c8df;padding:12px 0;overflow-wrap:anywhere}
@media(max-width:850px){.login-layout{grid-template-columns:1fr;gap:30px;padding:35px 22px;max-width:520px}.login-brand img{width:240px;margin:0 auto}.login-brand h1,.login-brand>p,.access-pills{display:none}.login-card{padding:26px}.staff-invite-grid{grid-template-columns:1fr}.staff-card-head{flex-wrap:wrap}}

.sidebar .brand{margin-bottom:8px}.sidebar .menu-logo{max-width:175px}.sidebar>.nav-label{margin-top:8px}.sidebar .nav-item{min-height:48px;padding:8px 10px;margin:5px 0}.sidebar .account-summary{font-size:12px;padding:10px 3px}.preview-banner a{color:#88e5ef;text-decoration:underline}

#staff-dialog legend{color:#c8e7fb}#staff-dialog .access-notice{margin:14px 0;padding:12px 16px}#staff-dialog .staff-intro{line-height:1.6;margin:14px 0}.login-card input:disabled{opacity:.55}.login-card #setup-notice{margin:16px 0}.login-card #setup-notice p{margin:8px 0 14px}

/* Balanced sign-in lockup, without marketing labels or badges. */
.access-page{display:flex;flex-direction:column;min-height:100svh}
.access-page .login-layout{width:100%;max-width:1160px;flex:1;min-height:0;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:64px;padding:30px 40px;align-items:center}
.access-page .login-brand{text-align:center;display:grid;justify-items:center;align-content:center;gap:18px;min-width:0}
.access-page .login-brand img{width:100%;max-width:540px;height:auto;margin:0;filter:drop-shadow(0 0 24px #008cff16)}
.access-page .login-brand h1{display:block;margin:0;font-size:clamp(30px,3.4vw,46px);font-weight:650;line-height:1.15;letter-spacing:-1px;background:linear-gradient(120deg,#f0fdff,#7fe4ee 42%,#5aa6ff);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 28px #008cff18}
.access-page .login-brand h1 span{font-weight:400}
.access-page .login-card{padding:26px 30px;border-radius:20px}
.access-page .login-card h2{font-size:28px;margin:0 0 8px}
.access-page .login-card>p{font-size:14px;line-height:1.5;margin:0 0 20px}
.access-page .login-card label{margin:12px 0;gap:6px}
.access-page .login-card input:not([type=checkbox]){padding:11px 12px;font-size:16px}
.access-page .login-card .access-check{margin-top:16px;margin-bottom:8px;font-size:12px}
.access-page .login-card small{font-size:11px;line-height:1.5}
.access-page .login-card form>.access-button{margin-top:18px;padding:12px 18px}
.access-page .login-card .access-help{font-size:12px;line-height:1.6;margin:16px 0 0;text-align:center}
.access-page #login-message:empty{display:none}
.access-page .login-preview-bar{width:calc(100% - 80px);max-width:1080px;margin:20px auto 0;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:12px;background:#0b2338}
.access-page .login-preview-bar strong{font-size:12px}.access-page .login-preview-bar p{font-size:12px;margin:2px 0 0}
.access-page .login-preview-bar .access-button{width:auto;flex-shrink:0;font-size:13px;padding:10px 16px}
.access-page .access-footer{padding:12px 20px;font-size:11px}
@media(max-width:850px){.access-page .login-layout{max-width:500px;grid-template-columns:1fr;gap:24px;padding:24px}.access-page .login-brand{gap:8px}.access-page .login-brand img{width:260px;max-width:100%}.access-page .login-brand h1{font-size:30px}.access-page .login-preview-bar{width:calc(100% - 32px);max-width:452px;flex-wrap:wrap;gap:10px;margin-top:16px}.access-page .login-card{padding:24px}}
