.auth-shell{--brand-blue:#2a5f7a;--box-blue:#4a8fb5;--cream:#f5f0e8;--off-white:#faf8f4;--dark-text:#2c2c2c;--muted-text:#61584f;--warm-sand:#c5b79b;--radius-md:12px;--radius-lg:20px;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:40px;--space-xl:64px;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--cream)60%,transparent)0%,transparent 55%),linear-gradient(to bottom,var(--off-white)0%,color-mix(in srgb,var(--cream)30%,var(--off-white))100%);min-height:100dvh;color:var(--dark-text);flex-direction:column;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.auth-shell *{box-sizing:border-box}.auth-shell__header{flex-direction:column;align-items:center;gap:4px;padding:32px 24px 16px;display:flex}@media (min-width:768px){.auth-shell__header{padding-top:48px}}.auth-shell__brand{color:var(--brand-blue);font-family:Dancing Script,Brush Script MT,cursive;font-size:2.4rem;font-weight:400;line-height:1.1;text-decoration:none;display:inline-flex}@media (min-width:768px){.auth-shell__brand{font-size:2.8rem}}.auth-shell__edition{letter-spacing:.18em;text-transform:uppercase;color:var(--muted-text);margin-top:4px;font-size:.72rem;font-weight:600}.auth-shell__main{flex:1;justify-content:center;align-items:flex-start;padding:24px 16px 48px;display:flex}@media (min-width:768px){.auth-shell__main{padding-top:32px}}.auth-card{border-radius:var(--radius-lg);width:100%;max-width:28rem;padding:var(--space-lg)var(--space-md);gap:var(--space-md);background:#fff;flex-direction:column;display:flex;box-shadow:0 1px 2px #2c2c2c0a,0 8px 24px #2c2c2c0f,0 24px 60px #2c2c2c14}@media (min-width:768px){.auth-card{padding:var(--space-xl)var(--space-lg)}}.auth-card h1{color:var(--brand-blue);letter-spacing:-.01em;margin:0 0 6px;font-size:1.5rem;font-weight:300;line-height:1.25}.auth-card .auth-desc{color:var(--muted-text);margin:0;font-size:.9rem;line-height:1.5}.auth-shell .auth-badge{background:var(--cream);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-blue);border-radius:999px;align-items:center;gap:6px;width:fit-content;margin-bottom:8px;padding:4px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.auth-shell form{flex-direction:column;gap:16px;display:flex}.auth-shell label{color:var(--dark-text);margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.auth-shell input:not([type=checkbox]):not([type=radio]){border-radius:var(--radius-md);width:100%;color:var(--dark-text);background:#fff;border:1px solid #0000001f;min-height:44px;padding:12px 14px;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}.auth-shell input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-blue)18%,transparent);outline:none}.auth-shell input::placeholder{color:#00000052}.auth-shell button[type=submit]{background:var(--box-blue);color:#fff;border-radius:var(--radius-md);border:1px solid var(--box-blue);cursor:pointer;width:100%;min-height:48px;padding:13px 16px;font-family:inherit;font-size:1rem;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s}.auth-shell button[type=submit]:hover:not(:disabled){background:var(--brand-blue);border-color:var(--brand-blue);box-shadow:0 4px 12px color-mix(in srgb,var(--brand-blue)25%,transparent)}.auth-shell button[type=submit]:disabled{opacity:.55;cursor:not-allowed}.auth-shell .auth-error{color:#b91c1c;border-radius:var(--radius-md);background:#fef2f2;border:1px solid #b91c1c2e;margin:0;padding:10px 12px;font-size:.85rem;line-height:1.4}.auth-shell .auth-success{color:#166534;border-radius:var(--radius-md);background:#ecfdf5;border:1px solid #1665342e;margin:0;padding:10px 12px;font-size:.85rem;line-height:1.4}.auth-shell .auth-hint{text-align:center;color:var(--muted-text);margin:8px 0 0;font-size:.8rem}.auth-shell .auth-hint a{color:var(--brand-blue);text-decoration:none}.auth-shell .auth-hint a:hover{color:var(--box-blue);text-decoration:underline}.auth-shell__footer{color:var(--muted-text);justify-content:center;align-items:center;gap:8px;padding:20px 16px 28px;font-size:.75rem;display:flex}
