:root{
  --glass-tint:rgba(35,48,67,0.62);
}
*{box-sizing:border-box;margin:0;padding:0}
*{scrollbar-width:thin;scrollbar-color:rgba(136,192,208,.25) transparent}
html{min-height:100%}
body{min-height:100vh;min-height:100svh;padding:32px 0 76px;isolation:isolate}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,sans-serif;
  background:#07182b url("/app/auth/ocean-still.jpg") center/cover fixed;color:var(--txt);display:flex;align-items:center;
  justify-content:center;-webkit-font-smoothing:antialiased}
.card{position:relative;z-index:1;width:400px;max-width:calc(100vw - 40px);background:var(--grad-glass), var(--glass-tint);
  border:1px solid var(--div2);border-radius:20px;padding:38px 36px 30px;
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  box-shadow:0 30px 80px rgba(0,0,0,.5)}
.sclogo{height:24px;width:auto;display:block;margin:0 auto}
.tag{font-size:12px;color:var(--app-secondary-ink,var(--faint));text-align:center;margin:6px 0 26px}
.hr{height:1px;background:var(--grad-line);margin:0 -10px 26px}
label{display:block;font-size:11px;font-family:var(--mono);letter-spacing:.12em;
  text-transform:uppercase;color:var(--app-secondary-ink,var(--dim));margin:0 0 7px 2px}
input{width:100%;background:rgba(11,22,38,.55);border:1px solid var(--div2);
  border-radius:11px;padding:12px 14px;color:var(--bright);font-size:14px;
  font-family:inherit;outline:none;transition:border-color .15s, box-shadow .15s}
input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(136,192,208,.18)}
.field{margin-bottom:18px}



.err{display:none;background:rgba(191,97,106,.12);border:1px solid rgba(191,97,106,.45);
  color:#E4A9B0;border-radius:10px;padding:10px 13px;font-size:12.5px;margin-bottom:16px}
.err.warn{background:rgba(228,206,151,.10);border-color:rgba(228,206,151,.4);color:var(--app-status-ink,var(--warn))}
.err.show{display:block}
.foot{margin-top:24px;font-size:11px;color:var(--app-secondary-ink,var(--faint));text-align:center;line-height:1.6}
.spin{display:inline-block;width:13px;height:13px;border:2px solid rgba(10,39,64,.35);
  border-top-color:#0A2740;border-radius:50%;animation:sp .7s linear infinite;
  vertical-align:-2px;margin-right:8px}
@keyframes sp{to{transform:rotate(360deg)}}
/* SeaCube Shallows (light) — login carries its own block; menu.js is not loaded here */

html[data-theme="light"] .sclogo g{fill:#14293C}
html[data-theme="light"] input{background:rgba(255,255,255,.78);color:var(--bright);color-scheme:light}

html[data-theme="light"] .spin{border-color:rgba(255,255,255,.35);border-top-color:#FFFFFF}

/* Decorative ocean stays independent of form events and the authentication code. */
#login-ocean{position:fixed;inset:0;width:100%;height:100%;z-index:0;
  display:block;pointer-events:none;opacity:0}
#login-ocean[data-ready="true"]{opacity:1}
.ocean-shade{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(4,13,25,.20),rgba(4,13,25,.12) 50%,rgba(4,13,25,.32))}
.card{--glass-tint:rgba(20,36,54,.84);--faint:#A1B5C7;--dim:#B8CAD9}
html[data-theme="light"] .card{--glass-tint:rgba(245,250,253,.90);--faint:#526F83;--dim:#2E6E8E}
.ocean-toggle{position:fixed;right:20px;bottom:18px;z-index:2;width:auto;margin:0;
  padding:9px 14px;border:1px solid rgba(200,220,235,.28);border-radius:24px;
  background:rgba(7,24,43,.80);color:#D6E1EB;font-size:11px;font-weight:500;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ocean-toggle[hidden]{display:none}
.ocean-toggle:focus-visible{outline:2px solid #88C0D0;outline-offset:4px}
html[data-theme="light"] .ocean-toggle{color:#D6E1EB}
@media(prefers-reduced-motion:reduce){.ocean-toggle{display:none}}

#go{width:100%;margin-top:4px}
