:root{
  --cal-bg:#f6f7f9;
  --cal-card:#ffffff;
  --cal-ink:#192b32;
  --cal-muted:#667783;
  --cal-line:#e2e7e8;
  --cal-accent:#16685d;
  --cal-accent-hover:#10574e;
  --cal-accent-2:#eaf3ef;
  --cal-accent-3:#dcece6;
  --cal-red:#c73a3a;
  --cal-red-2:#fcebea;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cal-ink);background:var(--cal-bg);-webkit-text-size-adjust:100%}
button,input{font:inherit}
.access-login-shell{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:32px}
.access-login-frame{width:min(1000px,100%);display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--cal-line);border-radius:24px;overflow:hidden;background:var(--cal-card);box-shadow:0 12px 36px rgba(25,43,50,.045)}
.access-login-visual,.access-login-panel{min-width:0;background:var(--cal-card)}
.access-login-visual{padding:40px;display:flex;flex-direction:column;justify-content:center;background:var(--cal-card)}
.access-login-art{width:100%;max-width:360px;margin:30px auto 16px;color:var(--cal-accent)}
.access-login-art svg{display:block;width:100%;height:auto}
.access-login-story{margin-top:16px}
.access-login-eyebrow{font-size:10px;letter-spacing:.18em;font-weight:600;color:var(--cal-muted);margin:0 0 8px;text-transform:uppercase}
.access-login-story h1{font-size:34px;line-height:1.2;font-weight:600;letter-spacing:-.035em;margin:12px 0}
.access-login-story h1 span{color:var(--cal-accent)}
.access-login-copy{font-size:14px;line-height:1.65;color:var(--cal-muted);max-width:430px;margin:0}
.access-feature-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.access-feature-strip span{font-size:11px;font-weight:600;padding:7px 10px;border:1px solid var(--cal-line);border-radius:999px;background:var(--cal-card);color:var(--cal-muted)}
.access-login-panel{display:flex;align-items:stretch}
.access-login-card{width:100%;padding:48px 40px;display:flex;flex-direction:column;justify-content:center}
.access-mobile-logo{display:none;align-items:center;gap:12px;margin-bottom:18px}
.access-mobile-logo img{width:48px;height:48px;border-radius:12px;object-fit:contain}
.access-mobile-logo strong{font-size:20px;font-weight:600;letter-spacing:-.02em}
.access-login-card h2{font-size:28px;font-weight:600;letter-spacing:-.035em;margin:10px 0}
.access-login-card>p.access-muted{font-size:14px;line-height:1.65;color:var(--cal-muted);margin:8px 0 24px}
.access-login-card label{display:grid;gap:9px;margin:0 0 22px;font-size:14px;font-weight:500;color:var(--cal-ink)}
.access-login-card input{min-height:52px;width:100%;border:1px solid var(--cal-line);border-radius:13px;padding:14px 16px;background:var(--cal-card);color:var(--cal-ink);font-size:16px;outline:none;transition:.16s}
.access-login-card input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.14)}
.access-btn{width:100%;min-height:52px;border:0;border-radius:13px;padding:13px 16px;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:14px;cursor:pointer;transition:.16s;margin:0 0 12px}
.access-btn-primary{background:#2563eb;color:#fff}.access-btn-primary:hover{background:#1d4ed8}
.access-btn-secondary{background:var(--cal-accent-2);color:var(--cal-accent);border:1px solid var(--cal-accent-3)}
.access-btn:disabled{opacity:.5;cursor:not-allowed}
.access-status{min-height:0;margin:0 0 16px;font-size:13px;line-height:1.55}
.access-status.ok,.access-status.bad{padding:11px 13px;border-radius:10px}
.access-status.ok{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}
.access-status.bad{background:var(--cal-red-2);color:#9f2f2f;border:1px solid #f2c6c3}
.access-login-hint{font-size:12px;line-height:1.6;color:var(--cal-muted);margin:4px 0 0}
.access-code-row{margin-top:2px}
@media(max-width:820px){
  .access-login-shell{padding:0}
  .access-login-frame{min-height:100dvh;display:flex;flex-direction:column;border:0;border-radius:0;box-shadow:none}
  .access-login-visual{padding:24px 24px 0;display:flex;align-items:center}
  .access-login-art{width:min(330px,85%);margin:8px auto 0}
  .access-login-story,.access-feature-strip{display:none}
  .access-login-panel{flex:1}
  .access-login-card{padding:28px 24px max(32px,env(safe-area-inset-bottom));max-width:520px;margin:auto;justify-content:flex-start}
  .access-mobile-logo{display:flex;justify-content:center}
  .access-login-card>.access-login-eyebrow{display:none}
  .access-login-card h2{font-size:24px;margin:6px 0 8px}
  .access-login-card>p.access-muted{margin:0 0 26px;font-size:14px}
}
@media(prefers-color-scheme:dark){
  :root{--cal-bg:#08111f;--cal-card:#111b2b;--cal-ink:#f4f7fb;--cal-muted:#aebbd0;--cal-line:#2b3b50;--cal-accent-2:#172438;--cal-accent-3:#334b70}
  .access-login-frame{box-shadow:none}
  .access-login-visual{background:var(--cal-card)}
  .access-feature-strip span{background:var(--cal-card)}
  .access-status.ok{background:rgba(22,163,74,.14);color:#8be0a8;border-color:rgba(74,222,128,.28)}
  .access-status.bad{background:rgba(220,38,38,.13);color:#ffb4b4;border-color:rgba(248,113,113,.26)}
}

/* V26: white, continuous login card; existing responsive layout retained. */
.access-btn:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.access-btn,.access-login-card input{transition:none}}
