:root{--auth-green:#003d2b;--auth-mint:#65efca}
.auth-shell{min-height:100svh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 20px max(30px,env(safe-area-inset-bottom));background:
linear-gradient(180deg,rgba(0,44,33,.7),rgba(0,35,26,.94)),
url('./assets/progress-course-hero.jpg') center/cover no-repeat;font-family:var(--font-sans,"Instrument Sans",sans-serif)}
.auth-panel{width:min(100%,440px)}
.auth-wordmark{display:block;width:148px;margin:0 auto 28px;filter:brightness(0) invert(1)}
.auth-wordmark img{display:block;width:100%;height:auto}
.auth-card{padding:28px;border:1px solid rgba(255,255,255,.22);border-radius:28px;background:rgba(248,251,249,.96);box-shadow:0 26px 70px rgba(0,22,16,.3);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.auth-eyebrow{margin:0;color:#397165;font-size:11px;font-weight:700;letter-spacing:.18em}
.auth-card h1{margin:8px 0 0;color:#062f27;font-size:36px;line-height:1;letter-spacing:-.05em}
.auth-intro{margin:12px 0 24px;color:#667a74;font-size:15px;line-height:1.45}
.auth-form{display:grid;gap:15px}.auth-form[hidden],.auth-account-list[hidden]{display:none}
.auth-form label{display:grid;gap:7px;color:#214a40;font-size:13px;font-weight:700}
.auth-form input{width:100%;min-height:50px;padding:0 15px;border:1px solid rgba(0,61,43,.18);border-radius:14px;background:#fff;color:#062f27;font:500 16px/1 var(--font-sans,"Instrument Sans",sans-serif);outline:none}
.auth-form input:focus{border-color:#00a77c;box-shadow:0 0 0 4px rgba(0,167,124,.13)}
.auth-primary,.auth-secondary,.auth-link{font-family:inherit;cursor:pointer}
.auth-primary{min-height:52px;border:0;border-radius:15px;background:#005c47;color:#fff;font-size:16px;font-weight:700;box-shadow:0 8px 20px rgba(0,73,55,.2)}
.auth-primary:disabled{opacity:.6}
.auth-link{justify-self:center;border:0;background:transparent;color:#176a55;font-size:14px;font-weight:600}
.auth-account-list{display:grid;gap:10px;margin-bottom:14px}
.auth-account-list button{display:grid;grid-template-columns:48px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:13px;width:100%;padding:11px;border:1px solid rgba(0,61,43,.1);border-radius:17px;background:#fff;text-align:left;cursor:pointer}
.auth-account-list button>span{grid-row:1/3;display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:#e3f4ed;color:#005c47;font-weight:700}
.auth-account-list strong{color:#062f27;font-size:15px}.auth-account-list small{color:#71817d;font-size:12px}.auth-account-list b{grid-column:3;grid-row:1/3;color:#59736c;font-size:28px;font-weight:300}
.auth-secondary{width:100%;min-height:48px;border:1px solid rgba(0,92,71,.18);border-radius:14px;background:#edf7f3;color:#005c47;font-size:14px;font-weight:700}
.auth-secondary[hidden]{display:none}
.auth-status{min-height:20px;margin:15px 0 0;color:#28735f;font-size:13px;text-align:center}.auth-status.error{color:#b53b35}
@media(max-width:480px){.auth-card{padding:23px;border-radius:25px}.auth-card h1{font-size:32px}.auth-wordmark{width:132px;margin-bottom:22px}}

.auth-divider{display:flex;align-items:center;gap:12px;margin:2px 0;color:#83918d;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:rgba(0,61,43,.12)}
.auth-password-note{margin:-6px 0 0;color:#7b8a86;font-size:12px;line-height:1.4}
.auth-status.success{color:#28735f}
.auth-signup-form .auth-link{margin-top:1px}
