.sign-in-page{--bg-page:var(--salt);--bg-elevated:var(--white);--fg-primary:var(--ink-100);--fg-secondary:var(--ink-70);--fg-muted:var(--ink-40);--page-accent:var(--edatlas-cerulean);--page-accent-100:var(--frost);--input-bg:var(--white);--input-bg-disabled:var(--salt);--input-fg:var(--ink-100);--input-placeholder:var(--ink-40);--input-border:var(--line-strong);--input-border-hover:var(--ink-40);--input-border-focus:var(--page-accent);--input-border-error:var(--maroon);--input-ring-focus:0 0 0 3px rgba(6,150,183,0.22);--input-ring-error:0 0 0 3px rgba(212,58,79,0.18);--input-radius:var(--radius-md);--input-height:44px;--input-pad-x:14px;--surface-aurora:radial-gradient(50% 50% at 12% 0%,var(--page-accent-100) 0%,transparent 70%),radial-gradient(40% 40% at 100% 100%,var(--frost) 0%,transparent 70%),var(--salt);--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-24:24px;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-snug:1.0;--lh-body:1.2;--lh-prose:1.55;--tracking-tight:-0.030em;--tracking-body:-0.020em;--tracking-snug:-0.028em;display:grid;grid-template-rows:1fr auto;min-height:100vh;background:var(--surface-aurora);color:var(--fg-primary);font-family:var(--font-sans);letter-spacing:var(--tracking-body)}.sign-in-skiplink{position:absolute;left:-9999px;top:var(--space-4);z-index:9998;background:var(--dark-cerulean);color:var(--white);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-weight:var(--fw-semibold);font-size:var(--fs-14);text-decoration:none}.sign-in-skiplink:focus,.sign-in-skiplink:focus-visible{left:var(--space-4)}.sign-in-main{display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-5)}.sign-in-card{width:100%;max-width:420px;background:var(--bg-elevated);border:1px solid var(--line-strong);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);box-shadow:var(--elev-3)}.sign-in-brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-7);text-decoration:none}.sign-in-brand__mark{width:40px;height:40px;flex:none}.sign-in-brand__logo{width:40px;height:40px;display:block}.sign-in-brand__text{display:flex;flex-direction:column;gap:2px}.sign-in-brand__name{font-weight:var(--fw-bold);font-size:var(--fs-16);color:var(--dark-cerulean);letter-spacing:var(--tracking-tight);line-height:1}.sign-in-brand__sub{font-family:var(--font-italic);font-style:italic;font-size:var(--fs-12);color:var(--ink-80);line-height:1}.sign-in-head{margin-bottom:var(--space-6)}.sign-in-head__title{font-weight:var(--fw-bold);font-size:var(--fs-24);line-height:var(--lh-snug);letter-spacing:var(--tracking-tight);color:var(--fg-primary)}.sign-in-head__sub{margin-top:var(--space-2);font-size:var(--fs-14);color:var(--ink-80);line-height:var(--lh-prose);letter-spacing:var(--tracking-body)}.sign-in-form__banner{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5)}.sign-in-form__banner-icon{flex:none;width:16px;height:16px;color:var(--status-danger-fg);margin-top:1px}.sign-in-form__banner-text{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--status-danger-fg);line-height:var(--lh-body)}.sign-in-form{display:flex;flex-direction:column;gap:var(--space-5)}.sign-in-page .field{display:flex;flex-direction:column;gap:var(--space-2)}.sign-in-page .field-label{font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:var(--fs-12);letter-spacing:.02em;color:var(--ink-100);text-transform:uppercase}.sign-in-input{font-family:var(--font-sans);font-weight:var(--fw-medium);font-size:var(--fs-14);letter-spacing:var(--tracking-body);color:var(--input-fg);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--input-radius);padding:0 var(--input-pad-x);height:var(--input-height);width:100%;transition:var(--motion-color),box-shadow var(--dur-fast) var(--ease-standard);-webkit-appearance:none;appearance:none}.sign-in-input::placeholder{color:var(--input-placeholder)}.sign-in-input:hover{border-color:var(--input-border-hover)}.sign-in-input:focus{outline:none;border-color:var(--input-border-focus);box-shadow:var(--input-ring-focus)}.sign-in-input[data-invalid=true]{border-color:var(--input-border-error)}.sign-in-input[data-invalid=true]:focus{box-shadow:var(--input-ring-error)}.sign-in-input:disabled{background:var(--input-bg-disabled);color:var(--fg-muted);cursor:not-allowed}.sign-in-page .field-error{font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--status-danger-fg);letter-spacing:var(--tracking-body)}.sign-in-submit{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:48px;margin-top:var(--space-2);padding:0 var(--space-6);background:var(--cerulean-deep);color:var(--white);border:none;border-radius:var(--radius-pill);font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:var(--fs-16);letter-spacing:var(--tracking-snug);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),transform var(--dur-snap) var(--ease-standard);-webkit-appearance:none;appearance:none}.sign-in-submit:hover:not(:disabled){background:var(--dark-cerulean);box-shadow:var(--elev-pop);transform:translateY(-1px)}.sign-in-submit:active:not(:disabled){transform:translateY(0);box-shadow:none}.sign-in-submit:focus-visible{outline:3px solid var(--page-accent);outline-offset:3px}.sign-in-submit[data-loading]{background:var(--tinted-cerulean);opacity:.72;cursor:not-allowed}.sign-in-submit__label{display:inline}.sign-in-submit__spinner{display:inline-flex;align-items:center;gap:var(--space-2)}@keyframes sign-in-spin{to{transform:rotate(1turn)}}.spinner-ring{width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top:2px solid var(--white);border-radius:50%;animation:sign-in-spin .7s linear infinite;flex:none}.sign-in-footer{margin-top:var(--space-5);text-align:center;font-size:var(--fs-13);color:var(--ink-80);line-height:var(--lh-prose)}.sign-in-footer__link{color:var(--tinted-cerulean);font-weight:var(--fw-semibold);text-decoration:none}.sign-in-footer__link:hover{text-decoration:underline}.sign-in-page .page-footer{padding:var(--space-4) var(--space-5);text-align:center;font-size:var(--fs-13);color:var(--ink-70);letter-spacing:var(--tracking-body)}@media (max-width:768px){.sign-in-card{max-width:400px;padding:var(--space-7) var(--space-5)}}@media (max-width:430px){.sign-in-main{padding:var(--space-5) var(--space-4);align-items:flex-start;padding-top:var(--space-8)}.sign-in-card{max-width:100%;border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5);box-shadow:var(--elev-2)}.sign-in-brand{margin-bottom:var(--space-6)}}@media (prefers-reduced-motion:reduce){.spinner-ring{animation-duration:.01ms;animation-iteration-count:1}.sign-in-input,.sign-in-submit{transition-duration:.01ms}}.sign-in-forgot-row{display:flex;justify-content:flex-end;margin-top:calc(var(--space-2) * -1)}.sign-in-forgot-link{display:inline-block;font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--tinted-cerulean);text-decoration:none;padding:var(--space-2) 0;min-height:24px;letter-spacing:var(--tracking-body)}.sign-in-forgot-link:focus-visible,.sign-in-forgot-link:hover{text-decoration:underline}.sign-in-forgot-link:focus-visible{outline:2px solid var(--page-accent);outline-offset:2px;border-radius:var(--radius-xs)}.sign-in-success-banner{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5)}.sign-in-success-banner__icon{flex:none;width:16px;height:16px;color:var(--status-success-fg);margin-top:1px}.sign-in-success-banner__text{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--status-success-fg);line-height:var(--lh-body)}.sign-in-warning-banner{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--status-warning-bg);border:1px solid var(--status-warning-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5)}.sign-in-warning-banner__icon{flex:none;width:16px;height:16px;color:var(--status-warning-fg);margin-top:1px}.sign-in-warning-banner__text{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--status-warning-fg);line-height:var(--lh-body)}