/*
 * Kentucky West sign-in surface styles.
 *
 * Shared by the /login fallback page and the public-shell sign-in modal.
 * These card styles were dropped from admin.css during the YFAS rebuild;
 * they live here now so the authentication surface keeps its own identity
 * and administrative styles stay isolated from public pages.
 */

.kw-auth-page{display:grid;min-height:100dvh;place-items:center;padding:20px;background:linear-gradient(130deg,rgba(4,22,42,.92),rgba(5,27,52,.75)),var(--kw-auth-background) center/cover}
.kw-auth-card{width:min(540px,100%);overflow:hidden;border:1px solid #ffffff29;border-radius:18px;background:rgba(7,30,54,.97);color:#fff;box-shadow:0 32px 90px #0006}
.kw-auth-card>header{padding:42px 44px 34px;background:linear-gradient(145deg,#ffffff14,transparent)}
.kw-auth-card>header img{width:132px;height:auto}
.kw-auth-card>header p{margin:24px 0 8px;color:#D3A84A;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.kw-auth-card h1{margin:0;font:500 52px/1 'Newsreader',Georgia,serif}
.kw-auth-card>header span{display:block;margin-top:12px;color:#ccd5df}
.kw-auth-card form{padding:34px 44px}
.kw-auth-card label{display:block;margin-bottom:9px;font-size:13px;font-weight:700}
.kw-auth-card input{width:100%;padding:14px 15px;border:1px solid #8191a4;border-radius:10px;background:#fff;color:#0a1830;font-size:16px}
.kw-auth-card form>button{width:100%;margin-top:18px;padding:14px;border:0;border-radius:10px;background:#D3A84A;color:#12345B;font-weight:800;cursor:pointer}
.kw-auth-card form>button:disabled{opacity:.6;cursor:wait}
.kw-auth-card form>button:focus-visible,.kw-auth-card input:focus-visible,.kw-auth-card a:focus-visible,.signin-modal-close:focus-visible{outline:3px solid #D3A84A;outline-offset:2px}
.kw-auth-status{min-height:18px;margin:8px 0 0;color:#ffc9c9;font-size:12px}
.kw-auth-card>footer{display:flex;justify-content:space-between;gap:16px;padding:0 44px 34px;color:#aebdca;font-size:12px}
.kw-auth-card>footer a{color:#fff}
.kw-auth-card>footer small{text-align:right}
.kw-auth-sent{text-align:center}
.kw-auth-sent>span{display:grid;width:58px;height:58px;margin:0 auto 18px;place-items:center;border:1px solid #D3A84A;border-radius:50%;color:#D3A84A;font-size:28px}
.kw-auth-sent h2{margin:0;font:500 34px 'Newsreader',Georgia,serif}
.kw-auth-sent p{color:#cad4de;line-height:1.6}

/* ---------- Public-shell sign-in modal ---------- */

.signin-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:1rem}
.signin-modal[hidden]{display:none}
.signin-modal-backdrop{position:absolute;inset:0;background:rgba(5,18,36,.72);backdrop-filter:blur(3px)}
.signin-modal-panel{position:relative;max-height:calc(100dvh - 2rem);overflow:auto}
.signin-modal-close{position:absolute;top:10px;right:12px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:#ccd5df;font-size:22px;line-height:1;cursor:pointer}
.signin-modal-close:hover{color:#fff;background:#ffffff14}

@media(max-width:480px){
  .kw-auth-card>header{padding:30px 24px 24px}
  .kw-auth-card>header img{width:104px}
  .kw-auth-card h1{font-size:38px}
  .kw-auth-card form{padding:24px}
  .kw-auth-card>footer{flex-direction:column;gap:8px;padding:0 24px 24px}
  .kw-auth-card>footer small{text-align:left}
}
