﻿:root{--auth-primary:#069;--auth-primary-dark:#004a70;--auth-secondary:#09c;--auth-ink:#12222e;--auth-muted:#6b7f8c;--auth-line:#dde4e8;--font-base:"Roboto","Segoe UI",sans-serif;}html,body.auth-page{height:100%;}body.auth-page{margin:0;font-family:var(--font-base);color:var(--auth-ink);background:radial-gradient(80% 60% at 12% -10%,rgba(255,255,255,.22),transparent 55%),radial-gradient(70% 70% at 100% 105%,rgba(4,20,30,.35),transparent 60%),repeating-linear-gradient(60deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 1px,transparent 1px,transparent 100px),repeating-linear-gradient(-30deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 1px,transparent 1px,transparent 100px),linear-gradient(160deg,var(--auth-primary-dark) 0%,var(--auth-primary) 45%,var(--auth-secondary) 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased;}.auth-page *,.auth-page *::before,.auth-page *::after{box-sizing:border-box;}.auth-ribbon{padding:8px 16px;text-align:center;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background-color:#db0000;color:#fff;}.auth-main{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1.5rem;}.auth-card{width:100%;max-width:400px;background:#fff;border-radius:16px;box-shadow:0 30px 60px -20px rgba(2,12,20,.45);padding:2.25rem 2rem;}.auth-card__logo{display:flex;justify-content:center;margin-bottom:1.5rem;}.auth-card__logo img{max-height:40px;max-width:220px;}.auth-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--auth-secondary);margin:0 0 .5rem;text-align:center;}.auth-title{font-size:1.2rem;font-weight:700;color:var(--auth-ink);margin:0 0 .4rem;text-align:center;}.auth-subtitle{color:var(--auth-muted);font-size:.8rem;line-height:1.5;text-align:center;margin:0 0 1rem;}.auth-card form>*{opacity:0;transform:translateY(8px);animation:authRise .45s ease forwards;}.auth-card form>*:nth-child(1){animation-delay:.03s;}.auth-card form>*:nth-child(2){animation-delay:.06s;}.auth-card form>*:nth-child(3){animation-delay:.09s;}.auth-card form>*:nth-child(4){animation-delay:.12s;}.auth-card form>*:nth-child(5){animation-delay:.15s;}.auth-card form>*:nth-child(6){animation-delay:.18s;}@keyframes authRise{to{opacity:1;transform:translateY(0);}}.auth-alert{display:flex;align-items:flex-start;gap:.6rem;border-radius:10px;padding:.8rem 1rem;font-size:.87rem;line-height:1.45;margin-bottom:1.1rem;}.auth-alert--error{background:#fdecec;color:#a3241c;border:1px solid #f6c9c5;}.auth-alert i{margin-top:.15rem;}.auth-validation-summary{margin:0 0 1rem;padding:.8rem 1rem .8rem 2rem;border-radius:10px;background:#fdecec;color:#a3241c;border:1px solid #f6c9c5;font-size:.84rem;}.auth-validation-summary ul{margin:0;padding:0 0 0 .2rem;}.auth-field{position:relative;margin-bottom:1rem;}.auth-field .form-control{border-radius:10px;border-color:var(--auth-line);padding-inline-end:2.75rem;}.auth-field .form-control:focus{outline:0;border-color:var(--auth-secondary);box-shadow:0 0 0 .2rem rgba(0,153,204,.15);}.auth-field.form-floating>label{color:var(--auth-muted);}.auth-field-icon{position:absolute;top:50%;right:1rem;transform:translateY(-50%);color:var(--auth-muted);pointer-events:none;font-size:.9rem;}.auth-toggle-visibility{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);border:0;background:transparent;color:var(--auth-muted);width:32px;height:32px;border-radius:8px;display:grid;place-items:center;cursor:pointer;}.auth-toggle-visibility:hover{background:#f0f4f6;color:var(--auth-ink);}.auth-page input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:var(--auth-ink);}.btn-auth-primary{width:100%;border:0;border-radius:10px;padding:.68rem 1rem;font-weight:500;font-size:.95rem;color:#fff;background:linear-gradient(135deg,var(--auth-primary),var(--auth-secondary));box-shadow:0 10px 20px -10px rgba(0,102,153,.55);transition:transform .15s ease,box-shadow .15s ease;}.btn-auth-primary:hover,.btn-auth-primary:focus{color:#fff;transform:translateY(-1px);box-shadow:0 14px 24px -10px rgba(0,102,153,.6);}.btn-auth-primary:active{transform:translateY(0);}.btn-auth-google{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:1px solid var(--auth-line);border-radius:10px;padding:.64rem 1rem;font-weight:500;font-size:.88rem;color:var(--auth-ink);background:#fff;text-decoration:none;transition:box-shadow .15s ease,border-color .15s ease;}.btn-auth-google:hover{color:var(--auth-ink);border-color:#c7d1d6;box-shadow:0 6px 16px -8px rgba(18,34,46,.25);}.auth-divider{display:flex;align-items:center;gap:.75rem;color:var(--auth-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin:1.25rem 0;}.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--auth-line);}.auth-link{color:var(--auth-secondary);text-decoration:none;font-weight:500;font-size:.87rem;}.auth-link:hover{color:var(--auth-primary-dark);text-decoration:underline;}.auth-bypass{display:block;text-align:center;margin-top:.85rem;color:var(--auth-muted);font-size:.82rem;text-decoration:none;}.auth-bypass:hover{color:var(--auth-ink);text-decoration:underline;}.auth-back{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:1.25rem;color:var(--auth-muted);font-size:.85rem;text-decoration:none;}.auth-back:hover{color:var(--auth-primary);}.auth-footer{margin-top:1.75rem;color:rgba(255,255,255,.75);font-size:.78rem;text-align:center;}.auth-otp-input{width:100%;text-align:center;font-size:1.6rem;font-weight:500;letter-spacing:.5em;text-indent:.5em;padding:.65rem 1rem;border-radius:10px;border:1px solid var(--auth-line);}.auth-otp-input:focus{border-color:var(--auth-secondary);box-shadow:0 0 0 .2rem rgba(0,153,204,.15);outline:0;}.auth-requirements{list-style:none;margin:-.3rem 0 1rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.4rem .8rem;}.auth-requirements li{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--auth-muted);}.auth-requirements li i{font-size:.78rem;color:#c3ccd1;}.auth-requirements li.is-valid{color:#2e7d32;}.auth-requirements li.is-valid i{color:#43a047;}.auth-match-hint{margin:-.4rem 0 1rem;font-size:.8rem;min-height:1.1em;}.auth-match-hint.is-valid{color:#2e7d32;}.auth-match-hint.is-invalid{color:#c62828;}@media(max-width:420px){.auth-card{padding:1.75rem 1.25rem;border-radius:12px;}}@media(prefers-reduced-motion:reduce){.auth-card form>*{animation:none!important;opacity:1!important;transform:none!important;}}