/* Auth pages — matches CCBI institutional palette */
.auth-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(165deg,var(--cream-dk) 0%,var(--cream) 45%,var(--white) 100%);}
.auth-top-strip{background:var(--maroon);padding:8px 0;text-align:center;border-bottom:1px solid rgba(212,175,90,.25);}
.auth-top-strip a{font-family:'Source Sans 3',sans-serif;font-size:.72rem;color:rgba(248,244,238,.75);letter-spacing:.5px;}
.auth-top-strip a:hover{color:var(--gold-lt);}
.auth-page .auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding:28px 16px 40px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));}
.auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));}
.auth-card{width:100%;max-width:440px;background:var(--white);border:1px solid var(--cream-xdk);border-top:3px solid var(--maroon);padding:2.25rem 2rem;box-shadow:0 12px 40px rgba(26,15,0,.06);}
.auth-card h1{font-family:'Cinzel',serif;font-size:1.05rem;font-weight:600;color:var(--maroon);letter-spacing:2px;text-transform:uppercase;margin-bottom:.35rem;text-align:center;}
.auth-card .auth-sub{font-family:'Source Sans 3',sans-serif;font-size:.78rem;color:var(--muted);text-align:center;margin-bottom:1.75rem;}
.auth-card label{display:block;font-family:'Cinzel',serif;font-size:.58rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--text);margin-bottom:.35rem;}
.auth-card .form-control,.auth-card select{width:100%;border-radius:0;border:1px solid var(--cream-xdk);font-family:'EB Garamond',serif;font-size:.95rem;padding:11px 14px;background:var(--cream);margin-bottom:1rem;}
.auth-card .form-control:focus{border-color:var(--maroon);outline:none;background:var(--white);box-shadow:0 0 0 1px rgba(107,15,26,.15);}
.auth-card .invalid-feedback{display:block;font-family:'Source Sans 3',sans-serif;font-size:.75rem;color:var(--maroon);margin-top:-.6rem;margin-bottom:.75rem;}
.auth-card .form-check{display:flex;align-items:center;gap:8px;margin-bottom:1.25rem;}
.auth-card .form-check-input{width:1rem;height:1rem;accent-color:var(--maroon);}
.auth-card .form-check label{margin:0;font-family:'Source Sans 3',sans-serif;font-size:.78rem;text-transform:none;letter-spacing:0;color:var(--muted);}
.auth-card .btn-submit{width:100%;font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:2px;text-transform:uppercase;padding:13px;border:2px solid var(--maroon);background:var(--maroon);color:var(--white);cursor:pointer;transition:var(--trans);}
.auth-card .btn-submit:hover{background:var(--maroon-dk);}
.auth-quick-login{margin-top:1rem;}
.auth-card .btn-submit--dev{background:transparent;color:var(--gold);border-color:var(--gold);}
.auth-card .btn-submit--dev:hover{background:var(--gold-pale);color:var(--charcoal);}
.auth-dev-note{margin-top:.65rem;font-family:'Source Sans 3',sans-serif;font-size:.72rem;color:rgba(107,15,26,.5);text-align:center;line-height:1.5;}
.auth-dev-note strong{font-weight:600;color:var(--maroon);}
.auth-links{margin-top:1.25rem;text-align:center;font-family:'Source Sans 3',sans-serif;font-size:.8rem;color:var(--muted);}
.auth-links a{color:var(--maroon);font-weight:600;}
.auth-alert{padding:12px 14px;margin-bottom:1rem;font-family:'Source Sans 3',sans-serif;font-size:.82rem;border:1px solid var(--cream-xdk);}
.auth-alert.success{background:rgba(27,58,45,.08);color:var(--green);border-color:rgba(27,58,45,.2);}
.auth-logo{text-align:center;margin-bottom:1.25rem;}
.auth-logo img{height:52px;margin:0 auto;}
.auth-admin-badge{display:inline-block;font-family:'Cinzel',serif;font-size:.55rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);border:1px solid var(--border);padding:4px 10px;margin-bottom:1rem;}
