:root{--auth-text:#111827;--auth-muted:#667085;--auth-border:#e3e7e1;--auth-surface:#fff;--auth-primary:#2563eb;--auth-success:#15803d;--auth-danger:#b42318}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial;color:var(--auth-text)}button,input,select{font:inherit}.auth-page{min-height:100vh;display:grid;place-items:center;padding:40px 18px;background:radial-gradient(circle at 12% 12%,rgba(37,99,235,.1),transparent 28%),radial-gradient(circle at 88% 88%,rgba(21,128,61,.07),transparent 30%),#f7f8f6}.auth-shell{width:min(100%,470px)}.auth-brand{display:flex;width:max-content;align-items:center;gap:10px;margin:0 auto 24px;color:#111827;text-decoration:none;font-size:15px;font-weight:850;letter-spacing:.12em}.auth-brand:before{content:"";width:12px;height:12px;border-radius:999px;background:var(--auth-primary);box-shadow:0 0 0 5px rgba(37,99,235,.12)}.auth-card{position:relative;overflow:hidden;background:rgba(255,255,255,.97);border:1px solid var(--auth-border);border-radius:20px;padding:34px;box-shadow:0 24px 70px rgba(25,34,23,.1)}.auth-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--auth-primary),#5b8def)}.auth-card--center{text-align:center}.auth-card h1{margin:5px 0 9px;font-size:30px;line-height:1.16;letter-spacing:-.025em}.auth-card>p,.onboarding-header p{color:var(--auth-muted);margin:0 0 25px;line-height:1.55}.auth-kicker{display:block;color:var(--auth-primary);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.auth-form{display:grid;gap:17px}.auth-field{display:grid;gap:7px;font-size:14px;font-weight:700;color:#344054}.auth-field input,.auth-field select{width:100%;min-height:44px;padding:10px 13px;border:1px solid #ccd3ca;border-radius:10px;background:#fff;color:var(--auth-text);outline:0;transition:border-color .15s,box-shadow .15s}.auth-field input:focus,.auth-field select:focus{border-color:var(--auth-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.auth-field small{font-weight:500;color:var(--auth-muted);overflow-wrap:anywhere}.auth-row{display:flex;gap:10px;align-items:flex-start;color:#475467;font-size:13px;line-height:1.5}.auth-row input{margin-top:3px;accent-color:var(--auth-primary)}.auth-button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;border:0;border-radius:10px;background:var(--auth-primary);color:#fff;padding:11px 18px;font-weight:750;text-decoration:none;cursor:pointer;transition:filter .15s,transform .15s}.auth-button:hover{filter:brightness(.95);text-decoration:none}.auth-button:active{transform:translateY(1px)}.auth-button:disabled{opacity:.55;cursor:wait}.auth-button--wide{width:100%}.auth-button--link{min-height:40px}.auth-message{min-height:20px;font-size:14px;line-height:1.45;color:var(--auth-muted)}.auth-message.is-error{color:var(--auth-danger)}.auth-message.is-success{color:var(--auth-success)}.auth-links,.auth-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:22px;font-size:14px}.auth-actions{justify-content:center}.auth-links a:not(.auth-button){color:#344054;font-weight:650}.auth-legal{font-size:12px;color:var(--auth-muted);margin-top:18px}.auth-page--onboarding{place-items:start center}.onboarding-card{width:min(100%,820px);padding-block:18px}.onboarding-card .auth-card{padding:38px}.onboarding-header{margin-bottom:28px}.onboarding-header h1{font-size:34px}.onboarding-section{display:grid;gap:17px;padding:22px;border:1px solid var(--auth-border);border-radius:14px;background:#fbfcfa}.onboarding-section__heading{display:flex;gap:12px;align-items:flex-start}.onboarding-section__heading>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:999px;background:rgba(37,99,235,.1);color:var(--auth-primary);font-weight:800}.onboarding-section h2{margin:1px 0 3px;font-size:17px}.onboarding-section p{margin:0;color:var(--auth-muted);font-size:13px}.onboarding-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.auth-notice{padding:13px 14px;border-radius:10px;background:#f0f6ff;color:#36516f;font-size:13px;line-height:1.5}.onboarding-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}.onboarding-actions>div{display:grid;gap:4px;padding:14px;border:1px solid var(--auth-border);border-radius:11px;background:#fff}.onboarding-actions small{color:var(--auth-muted);line-height:1.4}@media(max-width:660px){.auth-page{padding:22px 12px}.auth-card,.onboarding-card .auth-card{padding:24px}.onboarding-grid,.onboarding-actions{grid-template-columns:1fr}.auth-links{align-items:flex-start;flex-direction:column}.onboarding-header h1,.auth-card h1{font-size:27px}}

/* Brand typography and wordmark: scoped to authentication surfaces. */
.auth-page{
  font-family: var(--brand-font-sans, "Selfsend Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

.auth-brand{
  gap: 0;
  font-size: 0;
  font-weight: 400;
  line-height: 0;
  letter-spacing: 0;
}

.auth-brand::before{
  display: none;
}

.auth-brand__logo{
  display: block;
  width: 135px;
  height: auto;
  max-width: none;
}

.auth-card h1,
.onboarding-header h1{
  font-weight: 700;
}

.auth-kicker,
.auth-field,
.auth-button,
.auth-links a:not(.auth-button),
.onboarding-section__heading > span,
.onboarding-section h2,
.onboarding-actions strong{
  font-weight: 650;
}

.auth-field input,
.auth-field select,
.auth-field small,
.auth-message,
.auth-row,
.auth-notice,
.onboarding-section p,
.onboarding-actions small{
  font-weight: 400;
}

@media(max-width:660px){
  .auth-brand__logo{ width: 120px; }
}

/* Neutral brand treatment for account access and onboarding. */
.auth-page{
  color:var(--brand-ink);
  background:var(--brand-surface-soft);
}

.auth-card{
  border-color:var(--brand-border);
  border-radius:var(--brand-radius-surface-prominent);
  background:var(--brand-white);
  box-shadow:0 16px 42px rgba(23,23,22,.09);
}

.auth-card::before{
  display:none;
}

.auth-card h1,
.onboarding-header h1,
.onboarding-section h2{
  color:var(--brand-ink);
}

.auth-card > p,
.onboarding-header p,
.auth-field small,
.auth-row,
.auth-message,
.onboarding-section p,
.onboarding-actions small,
.auth-legal{
  color:var(--brand-muted);
}

.auth-kicker{
  color:var(--brand-muted);
}

.auth-field{
  color:var(--brand-ink);
}

.auth-field input,
.auth-field select{
  min-height:40px;
  height:40px;
  padding:0 13px;
  border-color:var(--brand-control-border);
  border-radius:var(--brand-radius-control);
  background:var(--brand-control-surface);
  color:var(--brand-ink);
  box-shadow:none;
}

.auth-field input::placeholder,
.auth-field select::placeholder{
  color:var(--brand-muted);
}

.auth-field input:hover:not(:disabled):not([readonly]),
.auth-field select:hover:not(:disabled){
  border-color:var(--brand-border);
}

.auth-field input:focus,
.auth-field select:focus{
  border-color:var(--brand-control-focus);
  outline:2px solid var(--brand-control-focus);
  outline-offset:1px;
  box-shadow:0 0 0 3px var(--brand-control-focus-ring);
}

.auth-field input:disabled,
.auth-field select:disabled,
.auth-field input[readonly]{
  border-color:var(--brand-border-soft);
  background:var(--brand-surface-secondary);
  color:#8d8c87;
  opacity:1;
  cursor:not-allowed;
}

.auth-row input{
  accent-color:var(--brand-primary);
}

.auth-button{
  min-height:40px;
  height:40px;
  padding:0 18px;
  border:1px solid var(--brand-primary);
  border-radius:var(--brand-radius-control);
  background:var(--brand-primary);
  color:var(--brand-white);
  box-shadow:none;
  filter:none;
  transition:background-color .15s ease,border-color .15s ease,transform .06s ease;
}

.auth-button:hover{
  border-color:var(--brand-primary-hover);
  background:var(--brand-primary-hover);
  color:var(--brand-white);
  filter:none;
}

.auth-button:active{
  background:#383838;
  transform:translateY(1px);
}

.auth-button:focus-visible,
.auth-links a:focus-visible,
.auth-brand:focus-visible{
  outline:2px solid var(--brand-control-focus);
  outline-offset:2px;
  box-shadow:0 0 0 3px var(--brand-control-focus-ring);
}

.auth-button:disabled{
  border-color:var(--brand-border-soft);
  background:var(--brand-surface-secondary);
  color:#9a9994;
  opacity:.75;
  cursor:not-allowed;
}

.auth-links a:not(.auth-button){
  color:var(--brand-ink);
}

.onboarding-section{
  border-color:var(--brand-border);
  border-radius:var(--brand-radius-surface);
  background:var(--brand-control-surface);
}

.onboarding-section__heading > span{
  background:var(--brand-surface-secondary);
  color:var(--brand-ink);
}

.onboarding-actions > div{
  border-color:var(--brand-border);
  border-radius:var(--brand-radius-control);
  background:var(--brand-white);
}

.auth-notice{
  border:1px solid #ceddeb;
  border-radius:var(--brand-radius-control);
  background:#f2f7fb;
  color:#2f536f;
}

/* Split access pages: the login and registration screens share one editorial layout. */
.auth-page--split{
  min-height:100vh;
  min-height:100svh;
  min-height:100dvh;
  padding:max(18px, min(3vh, 28px)) max(18px, env(safe-area-inset-right)) max(18px, min(3vh, 28px)) max(18px, env(safe-area-inset-left));
  background:var(--brand-surface-soft);
}

.auth-page--split .auth-shell{ width:min(100%, 1120px); }

.auth-page--split .auth-brand{ margin-bottom:clamp(14px, 2vh, 22px); }

.auth-page--split .auth-brand__logo{ width:clamp(118px, 9vw, 135px); }

.auth-page--split .auth-card--split{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  height:auto;
  min-height:min(640px, calc(100dvh - 96px));
  align-items:stretch;
  padding:0;
  overflow:hidden;
  border-radius:clamp(32px, 2.8vw, 40px);
  box-shadow:0 14px 36px rgba(23, 23, 22, .06);
}

.auth-page--register .auth-card--split{ min-height:min(680px, calc(100dvh - 96px)); }

.auth-card--split .auth-card__content{
  display:flex;
  align-items:center;
  min-width:0;
  padding:clamp(28px, 3.5vw, 48px);
  background:var(--brand-white);
}

.auth-card--split .auth-card__form-wrap{
  margin-inline:auto;
  width: 100%;
}

.auth-card--split .auth-card__header{ margin-bottom:clamp(18px, 2.4vh, 25px); }

.auth-card--split h1{
  margin:0 0 10px;
  color:var(--brand-ink);
  font-size:clamp(29px, 2.7vw, 39px);
  line-height:1.08;
  letter-spacing:-.04em;
}

.auth-card--split .auth-card__header p{
  margin:0;
  color:var(--brand-muted);
  font-size:15px;
  line-height:1.55;
}

.auth-card--split .auth-form{ gap:clamp(12px, 1.7vh, 16px); }

.auth-card--split .auth-field{
  gap:6px;
  font-size:13px;
  font-weight:500;
}

.auth-card--split .auth-field input{
  min-height:42px;
  height:clamp(42px, 5vh, 46px);
  padding-inline:14px;
  border-radius:999px;
}

.auth-card--split .auth-button{
  width:100%;
  min-height:42px;
  height:clamp(42px, 5vh, 46px);
  margin-top:2px;
  border-color:#f3e7a0;
  border-radius:999px;
  background:#FCF0C9;
  color:#1A1A1C;
  font-size:12px;
  font-weight:400;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.auth-card--split .auth-button:hover{
  border-color:#eadba8;
  background:#f7e3a7;
  color:#1A1A1C;
}

.auth-card--split .auth-button:active{
  border-color:#dccb92;
  background:#edd990;
  color:#1A1A1C;
}

.auth-card--split .auth-button:focus-visible{
  outline:2px solid var(--brand-control-focus);
  outline-offset:2px;
  box-shadow:0 0 0 3px var(--brand-control-focus-ring);
}

.auth-card--split .auth-button:disabled{
  border-color:#eee3bf;
  background:#f7edcf;
  color:#5d563f;
  opacity:1;
}

.auth-card--split .auth-message{
  min-height:0;
  margin-top:-3px;
}

.auth-card--split .auth-message:empty{ display:none; }

.auth-card--split .auth-links{
  margin-top:clamp(18px, 2.2vh, 22px);
  color:var(--brand-muted);
  font-size:14px;
  font-weight:400;
}

.auth-card--split .auth-links a:not(.auth-button){
  color:var(--brand-muted);
  font-weight:400;
  text-decoration:none;
  text-underline-offset:3px;
}

.auth-card--split .auth-links a:not(.auth-button):hover{
  color:var(--brand-ink);
  text-decoration:underline;
}

.auth-card--split .auth-links a:not(.auth-button):focus-visible{
  color:var(--brand-ink);
  text-decoration:underline;
}

.auth-card--split .auth-row{
  gap:11px;
  font-size:13px;
  font-weight:400;
  line-height:1.5;
}

.auth-card--split .auth-row input{
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin-top:2px;
}

.auth-card--split .auth-row input:focus-visible{
  outline:2px solid var(--brand-control-focus);
  outline-offset:2px;
}

.auth-card--split .auth-card__media{
  --auth-media-inset:clamp(16px, 1.5vw, 20px);
  position:relative;
  display:flex;
  min-width:0;
  overflow:hidden;
  padding:var(--auth-media-inset);
  background:var(--brand-white);
}

.auth-card--split .auth-card__media img{
  position:absolute;
  inset:var(--auth-media-inset);
  display:block;
  flex:1 1 auto;
  min-height:0;
  width:calc(100% - 2 * var(--auth-media-inset));
  height:calc(100% - 2 * var(--auth-media-inset));
  border-radius:clamp(24px, 2.2vw, 32px);
  object-fit:cover;
  object-position:center;
}

.auth-page--login .auth-card__media img{ object-position:center 45%; }
.auth-page--register .auth-card__media img{ object-position:center 42%; }

.auth-page--register .onboarding-grid{
  grid-template-columns:1fr;
  gap:clamp(12px, 1.7vh, 16px);
}

.auth-field input:-webkit-autofill,
.auth-field input:-webkit-autofill:hover{
  -webkit-text-fill-color:var(--brand-ink);
  box-shadow:0 0 0 1000px var(--brand-control-surface) inset;
  caret-color:var(--brand-ink);
  transition:background-color 9999s ease-out 0s;
}

.auth-field input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--brand-ink);
  box-shadow:0 0 0 1000px var(--brand-control-surface) inset, 0 0 0 3px var(--brand-control-focus-ring);
  caret-color:var(--brand-ink);
}

@media(max-width:900px){
  .auth-page--split .auth-shell{ width:min(100%, 920px); }
  .auth-card--split .auth-card__content{ padding:clamp(26px, 4vw, 40px); }
}

@media(min-width:761px) and (max-height:700px){
  .auth-page--split .auth-card--split,
  .auth-page--register .auth-card--split{
    height:auto;
    min-height:0;
  }

  .auth-card--split .auth-card__media{ min-height:520px; }
}

@media(max-width:760px){
  .auth-page--split{
    display:block;
    padding-top:max(26px, env(safe-area-inset-top));
    padding-bottom:max(26px, env(safe-area-inset-bottom));
  }

  .auth-page--split .auth-shell{ width:min(100%, 520px); }
  .auth-page--split .auth-brand{ margin-bottom:22px; }
  .auth-page--split .auth-card--split,
  .auth-page--register .auth-card--split{
    display:block;
    height:auto;
    min-height:0;
    border-radius:clamp(24px, 8vw, 32px);
  }

  .auth-card--split .auth-card__content{
    display:block;
    padding:clamp(26px, 7vw, 38px);
  }

  .auth-card--split .auth-card__media{ display:none; }
}

@media(max-width:430px){
  .auth-page--split{ padding-inline:max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-left)); }
  .auth-page--split .auth-brand__logo{ width:120px; }
  .auth-card--split .auth-card__header{ margin-bottom:25px; }
  .auth-card--split h1{ font-size:29px; }
  .auth-card--split .onboarding-grid{ grid-template-columns:1fr; }
  .auth-card--split .auth-links{ align-items:flex-start; flex-direction:column; }
}
