
:root{--auth-card:var(--card-bg,#fff);--auth-text:var(--text-color,#172033);--auth-muted:var(--muted-text,#667085);--auth-border:var(--border-color,#e2e7ef);--auth-primary:#2f69d9}
*{box-sizing:border-box}.auth-body{min-height:100vh;background:radial-gradient(circle at 15% 10%,#2f69d912,transparent 32%),radial-gradient(circle at 90% 90%,#7a55d812,transparent 30%),var(--page-bg,#f7f9fc);color:var(--auth-text)}
.auth-topbar{width:min(1180px,calc(100% - 32px));margin:auto;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:18px}
.auth-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--auth-text)}.auth-brand img{width:48px;height:48px;object-fit:contain}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font-size:1.2rem}.auth-brand strong span{color:#2f69d9}.auth-brand small{color:var(--auth-muted);margin-top:2px}
.auth-top-actions{display:flex;align-items:center;gap:13px}.auth-top-actions a{color:var(--auth-muted);text-decoration:none;font-weight:700}
.auth-shell{width:min(1120px,calc(100% - 28px));margin:auto;padding:32px 0 70px;display:grid;place-items:center}
.auth-welcome-grid{width:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:center;gap:50px}
.auth-welcome-copy h1{font-size:clamp(2.7rem,6vw,5rem);line-height:1.02;margin:16px 0;color:var(--auth-text)}.auth-welcome-copy>p{font-size:1.08rem;color:var(--auth-muted);line-height:1.7;max-width:650px}
.auth-pill{display:inline-flex;background:#2f69d91a;color:#285fc4;padding:8px 12px;border-radius:999px;font-weight:800}
.auth-feature-list{display:grid;gap:13px;margin-top:28px}.auth-feature-list article{display:flex;gap:13px;align-items:flex-start}.auth-feature-list article>span{font-size:1.35rem}.auth-feature-list strong{display:block}.auth-feature-list p{margin:4px 0 0;color:var(--auth-muted)}
.auth-card{width:100%;background:var(--auth-card);border:1px solid var(--auth-border);border-radius:24px;box-shadow:0 22px 60px #1c2d4a17;padding:28px}
.auth-entry-card{max-width:430px;text-align:center;justify-self:end}.auth-otto{width:80px;height:80px;object-fit:contain}.auth-entry-card h2{font-size:1.8rem;margin:8px 0}.auth-entry-card>p,.auth-entry-card>small{color:var(--auth-muted);line-height:1.55}.auth-entry-card>small{display:block;margin-top:17px}
.auth-form-card{max-width:520px}.auth-wide-card{max-width:690px}.auth-center-card{text-align:center}.auth-choice-card{max-width:900px}
.auth-card-heading{text-align:center;margin-bottom:22px}.auth-card-heading h1{margin:8px 0}.auth-card-heading p{margin:0;color:var(--auth-muted)}.auth-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;margin:auto;background:#2f69d916;font-size:1.5rem}
.auth-form,.auth-form label{display:grid;gap:7px}.auth-form{gap:16px}.auth-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.auth-form input{width:100%;padding:12px 13px;border:1px solid var(--auth-border);border-radius:12px;background:var(--input-bg,#fff);color:var(--auth-text);font:inherit}
.auth-password-wrap{display:flex;border:1px solid var(--auth-border);border-radius:12px;overflow:hidden;background:var(--input-bg,#fff)}.auth-password-wrap input{border:0;border-radius:0}.auth-password-wrap button{border:0;background:transparent;padding:0 13px;color:#2d63c8;font-weight:800;cursor:pointer}
.auth-primary,.auth-secondary,.auth-provider{width:100%;display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:12px;padding:12px 15px;font-weight:850;cursor:pointer}.auth-primary{border:1px solid var(--auth-primary);background:var(--auth-primary);color:#fff}.auth-secondary,.auth-provider{border:1px solid var(--auth-border);background:transparent;color:var(--auth-text)}.auth-provider{margin-top:9px}
.auth-divider{display:flex;align-items:center;gap:12px;color:var(--auth-muted);font-size:.82rem;margin:17px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--auth-border);flex:1}
.auth-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.auth-row a,.auth-switch a,.auth-center-card>a:not(.auth-primary):not(.auth-secondary){color:#2d63c8;text-decoration:none;font-weight:750}.auth-check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:8px!important}.auth-check input{width:auto}.auth-switch{text-align:center;color:var(--auth-muted);margin:19px 0 0}
.auth-role-picker{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-role-picker legend{font-weight:800;margin-bottom:9px}.auth-role-picker label{display:block;position:relative}.auth-role-picker input{position:absolute;opacity:0}.auth-role-picker label span{display:block;padding:14px;border:1px solid var(--auth-border);border-radius:14px;cursor:pointer}.auth-role-picker input:checked+span{border-color:var(--auth-primary);box-shadow:0 0 0 3px #2f69d91c}.auth-role-picker b,.auth-role-picker small{display:block}.auth-role-picker small{color:var(--auth-muted);margin-top:5px;line-height:1.4}
.auth-password-meter{height:7px;border-radius:999px;background:#e3e8f0;overflow:hidden}.auth-password-meter span{display:block;height:100%;width:0;background:#d45252;transition:.2s}.auth-help{font-size:.84rem;color:var(--auth-muted);margin:0}.auth-notice{padding:12px 14px;border-radius:12px;margin-bottom:15px;background:#2f69d916;color:#285fc4}.auth-notice.error{background:#c73f4314;color:#a22f34}.auth-notice.success{background:#20a36016;color:#147143}
.auth-mail-icon,.auth-success-icon{width:82px;height:82px;margin:0 auto 12px;display:grid;place-items:center;border-radius:24px;background:#2f69d916;font-size:2.2rem}.auth-success-icon{background:#20a36019;color:#16834d;font-weight:900}
.auth-center-card>p{color:var(--auth-muted);line-height:1.6}.auth-center-card .auth-primary,.auth-center-card .auth-secondary{margin-top:11px}
.auth-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.auth-choice-grid button{border:1px solid var(--auth-border);border-radius:17px;background:transparent;color:var(--auth-text);padding:20px;text-align:left;cursor:pointer}.auth-choice-grid button:hover{border-color:var(--auth-primary);transform:translateY(-2px);box-shadow:0 12px 28px #1d2f4f12}.auth-choice-grid button>span,.auth-choice-grid strong,.auth-choice-grid small{display:block}.auth-choice-grid button>span{font-size:1.8rem}.auth-choice-grid strong{font-size:1.05rem;margin-top:10px}.auth-choice-grid small{color:var(--auth-muted);margin-top:6px;line-height:1.45}.auth-text-button{display:block;margin:20px auto 0;border:0;background:transparent;color:#2d63c8;font-weight:800;cursor:pointer}
.auth-account-summary{display:grid;grid-template-columns:auto 1fr;text-align:left;gap:9px 18px;border:1px solid var(--auth-border);border-radius:15px;padding:16px;margin:20px 0}.auth-account-summary span{color:var(--auth-muted)}
@media(max-width:820px){.auth-welcome-grid{grid-template-columns:1fr}.auth-entry-card{justify-self:stretch;max-width:none}.auth-welcome-copy{text-align:center}.auth-feature-list{text-align:left;max-width:570px;margin-left:auto;margin-right:auto}}
@media(max-width:560px){.auth-topbar{align-items:flex-start}.auth-brand small{display:none}.auth-shell{padding-top:14px}.auth-card{padding:20px}.auth-form-grid,.auth-role-picker,.auth-choice-grid{grid-template-columns:1fr}.auth-row{align-items:flex-start;flex-direction:column}.auth-welcome-copy h1{font-size:2.7rem}}

.auth-choice-otto{width:92px;height:92px;object-fit:contain;display:block;margin:0 auto 10px}.auth-onboarding-choice{max-width:820px}.auth-login-choice-grid{max-width:680px;margin:0 auto}.auth-choice-link{border:1px solid var(--auth-border);border-radius:17px;background:transparent;color:var(--auth-text);padding:22px;text-align:left;text-decoration:none;transition:.2s}.auth-choice-link:hover{border-color:var(--auth-primary);transform:translateY(-2px);box-shadow:0 12px 28px #1d2f4f12}.auth-choice-link>span,.auth-choice-link strong,.auth-choice-link small{display:block}.auth-choice-link>span{font-size:1.8rem}.auth-choice-link strong{font-size:1.05rem;margin-top:10px}.auth-choice-link small{color:var(--auth-muted);margin-top:6px;line-height:1.45}.auth-back-link{display:block;width:max-content;margin:22px auto 0;color:#2d63c8;text-decoration:none;font-weight:800}.auth-primary:disabled,.auth-secondary:disabled,.auth-provider:disabled{opacity:.65;cursor:wait}.auth-password-meter span[data-score="1"]{background:#d45252}.auth-password-meter span[data-score="2"]{background:#e59b2f}.auth-password-meter span[data-score="3"],.auth-password-meter span[data-score="4"]{background:#25a668}


/* VISITOR ACCOUNT */
.auth-login-choice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.auth-visitor-choice {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  column-gap: 14px;
  align-items: center;
  background: linear-gradient(135deg, rgba(47,105,217,.08), rgba(122,85,216,.06));
}

.auth-visitor-choice > span {
  grid-row: 1 / span 2;
  margin: 0;
}

.auth-visitor-choice strong,
.auth-visitor-choice small {
  margin-top: 0;
}

.auth-visitor-choice strong b {
  display: inline-flex;
  margin-left: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(32,163,96,.13);
  color: #147143;
  font-size: .7rem;
  vertical-align: middle;
}

.visitor-signup-card {
  max-width: 650px;
}

.visitor-free-pill {
  margin: 10px auto 0;
  background: rgba(32,163,96,.12);
  color: #147143;
}

.visitor-feature-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin: 0 0 22px;
}

.visitor-feature-row span {
  padding: 11px 9px;
  border: 1px solid var(--auth-border);
  border-radius: 13px;
  text-align: center;
  color: var(--auth-muted);
  font-size: .82rem;
  font-weight: 750;
}

.visitor-email-note {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  padding: 13px;
  border: 1px solid var(--auth-border);
  border-radius: 14px;
  background: rgba(47,105,217,.06);
}

.visitor-email-note > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: rgba(47,105,217,.12);
}

.visitor-email-note strong,
.visitor-email-note small {
  display: block;
}

.visitor-email-note small {
  margin-top: 3px;
  color: var(--auth-muted);
  line-height: 1.45;
}

body.dark-mode .auth-visitor-choice,
body.dark-mode .visitor-email-note {
  background: linear-gradient(135deg, rgba(71,130,240,.14), rgba(126,86,229,.09));
}

body.dark-mode .auth-visitor-choice strong b,
body.dark-mode .visitor-free-pill {
  background: rgba(75,214,146,.13);
  color: #86edb8;
}

body.dark-mode .visitor-feature-row span {
  background: #172943;
  color: #b8c7da;
}

@media (max-width: 600px) {
  .auth-login-choice-grid,
  .visitor-feature-row {
    grid-template-columns: 1fr;
  }

  .auth-visitor-choice {
    grid-column: auto;
    display: block;
  }

  .auth-visitor-choice > span {
    margin-bottom: 8px;
  }
}
