/* Attendely sign-in — minimal. One column, one accent, nothing decorative. */
.lg{--bg:#fafafb;--card:#fff;--ink:#12182b;--muted:#6b7285;--line:#e6e8ee;--field:#fff;--accent:#ef5d83;--accent-ink:#d9456c;--btn:#12182b;--btn-ink:#fff;--seg:#f0f1f5;
  margin:0;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--bg);color:var(--ink);
  font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(60rem 28rem at 85% -10%,rgba(239,93,131,.09),transparent 60%),radial-gradient(40rem 24rem at -10% 110%,rgba(18,24,43,.05),transparent 60%)}
.lg *,.lg *:before,.lg *:after{box-sizing:border-box}
.lg-wrap{width:100%;max-width:420px;display:grid;gap:22px}
.lg-brand img{display:block;height:46px;width:auto}
.lg-card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:32px 28px 26px;box-shadow:0 1px 2px rgba(18,24,43,.04),0 18px 48px -24px rgba(18,24,43,.18);display:grid;gap:18px}
.lg-heading h1{margin:0 0 6px;font-size:1.75rem;line-height:1.15;letter-spacing:-.035em;font-weight:700;color:var(--ink)}
.lg-heading p{margin:0;color:var(--muted);font-size:.95rem}

.login-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:var(--seg)}
.login-switch a{display:flex;align-items:center;justify-content:center;min-height:40px;border-radius:10px;color:var(--muted);font-weight:600;font-size:.92rem;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s}
.login-switch a:hover{color:var(--ink)}
.login-switch a.is-active{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(18,24,43,.12)}

.login-form{display:grid;gap:8px;margin:0}
.login-form label{margin:10px 0 0;font-size:.8rem;font-weight:600;color:var(--muted);letter-spacing:.01em}
.login-form input{width:100%;height:52px;margin:0;padding:0 16px;border:1px solid var(--line);border-radius:14px;background:var(--field);color:var(--ink);font:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}
.login-form input::placeholder{color:#a3a9b8}
.login-form input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgba(239,93,131,.15)}
.password-field{position:relative}
.password-field input{padding-right:54px}
.login-form .password-toggle{position:absolute;right:6px;top:6px;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:#8a92a6;display:grid;place-items:center;cursor:pointer;box-shadow:none;transform:none;min-height:0}
.login-form .password-toggle:hover{background:var(--seg);color:var(--ink)}
.login-form .password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.password-toggle .i-hide{display:none}.password-toggle.is-on .i-show{display:none}.password-toggle.is-on .i-hide{display:block}
.password-toggle.is-on{color:var(--accent-ink)}
.otp-input{text-align:center;font-size:1.7rem!important;letter-spacing:.5em;font-weight:700;padding-left:.5em!important}

.login-form>button[type=submit]{height:52px;margin:12px 0 0;padding:0 18px;border:0;border-radius:14px;background:var(--btn);color:var(--btn-ink);font:inherit;font-weight:650;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:none;transition:transform .12s,opacity .15s,background .15s;min-height:0}
.login-form>button[type=submit]:hover{opacity:.9;transform:none}
.login-form>button[type=submit]:active{transform:translateY(1px)}
.login-form>button[type=submit] span{transition:transform .15s}.login-form>button[type=submit]:hover span{transform:translateX(3px)}
.login-form>button[type=submit]:focus-visible{outline:3px solid rgba(239,93,131,.45);outline-offset:2px}

.login-help{margin:0;text-align:center;color:var(--muted);font-size:.86rem}
.login-help a,.install-link{color:var(--accent-ink);font-weight:600;text-decoration:none}
.login-help a:hover{text-decoration:underline}
.install-link{background:none;border:0;padding:4px;margin:0;font:inherit;font-size:.84rem;text-align:center;cursor:pointer;box-shadow:none;min-height:0;color:var(--muted)}
.install-link[hidden]{display:none}
.install-link:hover{color:var(--accent-ink);background:none;transform:none;box-shadow:none}
.login-alert{margin:0;padding:12px 14px;border:1px solid #ffd5e1;border-left:3px solid var(--accent);border-radius:12px;background:#fff4f7;color:#7a1f3a;font-size:.9rem}
.login-alert.is-success{background:#eef9f3!important;border-color:#cdebd9!important;border-left-color:#2f9e6d!important;color:#14573a!important}
.lg-foot{text-align:center;color:#9aa1b2;font-size:.78rem}

@media(max-width:520px){
  .lg{padding:20px 20px 28px;place-items:start center;background-image:radial-gradient(40rem 20rem at 90% -8%,rgba(239,93,131,.10),transparent 60%)}
  .lg-wrap{gap:26px;padding-top:6vh}
  .lg-card{background:transparent;border:0;box-shadow:none;padding:0}
}
@media(prefers-color-scheme:dark){
  .lg{--bg:#0e1220;--card:#151b2e;--ink:#f1f3f9;--muted:#98a0b6;--line:#262d44;--field:#0f1424;--btn:#ef5d83;--btn-ink:#fff;--seg:#1b2238;--accent-ink:#ff8aa8}
  .lg-brand img{background:#fff;padding:7px 12px;border-radius:12px;height:50px}
  .login-switch a.is-active{background:#2b3553;box-shadow:none}
  .login-form input::placeholder{color:#5c647c}
  .login-alert{background:#2a1620;border-color:#4a2030;color:#ffd0dc}
  .login-alert.is-success{background:#12261d!important;border-color:#1e4a35!important;color:#a8e6c6!important}
  @media(max-width:520px){.lg-card{background:transparent}}
}
@media(prefers-reduced-motion:reduce){.lg *{transition:none!important}}
