/* ROUND 34 (P1346-P1358): the sign-in door — Welcome, password, create, remembered account, failure card.
   Tokens only (theme.css / dashboard.css); no literal colours. */
.door-view[hidden]{display:none}
.door-title{font-size:var(--text-title2);line-height:1.2}
.door-social{display:flex;flex-direction:column;gap:var(--space-md)}
.door-social .btn{width:100%;justify-content:center;gap:10px}
.door-social__logo{object-fit:contain}
.door-more{margin-top:var(--space-md)}
.door-more>summary{cursor:pointer;list-style:none;text-align:center;font-size:var(--text-footnote);font-weight:600;color:var(--d-text-2);padding:var(--space-sm) 0}
.door-more>summary::-webkit-details-marker{display:none}
.door-more[open]>summary{color:var(--d-text)}
.door-more__list{display:flex;flex-direction:column;gap:var(--space-sm)}
.door-remembered{border:1px solid var(--d-border);border-radius:var(--d-radius);background:var(--d-green-light);padding:var(--space-lg);margin-bottom:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}
.door-remembered[hidden]{display:none}
.door-remembered__email{font-weight:700;color:var(--d-text);word-break:break-all}
.door-remembered__method{font-size:var(--text-footnote);color:var(--d-text-2)}
.door-link{background:none;border:none;padding:0;font:inherit;font-size:var(--text-footnote);font-weight:600;color:var(--d-green);cursor:pointer}
.door-link:hover{text-decoration:underline}
.door-forgot{text-align:right;margin-bottom:var(--space-lg)}
.door-sso{margin-bottom:var(--space-lg);padding:var(--space-md-lg) var(--space-lg);background:var(--d-green-light);border:1px solid var(--d-border);border-radius:var(--d-radius)}
.door-sso__text{display:block;font-size:var(--text-footnote);font-weight:600;color:var(--d-green);margin-bottom:var(--space-sm-md)}
.door-field-for{font-weight:600;color:var(--d-text);word-break:break-all}
.door-req{color:var(--d-red)}
.door-meter{display:flex;gap:4px;margin-top:10px}
.door-meter__bar{flex:1;height:4px;border-radius:2px;background:var(--d-border)}
.door-meter__bar--on1{background:var(--d-red)}
.door-meter__bar--on2{background:var(--d-amber)}
.door-meter__bar--on3{background:var(--c-success)}
.door-meter__label{font-size:var(--text-caption);font-weight:700;margin-top:4px}
.door-rules{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.door-rules li{display:flex;align-items:center;gap:6px;font-size:var(--text-caption);color:var(--d-text-3)}
.door-rules li.met{color:var(--c-success)}
.door-rules__mark{font-size:var(--text-caption2)}
.door-code-input{letter-spacing:4px;font-size:var(--text-title3);font-weight:700;text-align:center}
.door-stack{display:flex;flex-direction:column;gap:var(--space-md)}
/* The failure card: title, body, actions, then the small support line. */
.dash-login-alert.auth-failure{flex-direction:column;align-items:flex-start;gap:6px}
.auth-failure__title{font-weight:700}
.auth-failure__body{display:block}
.auth-failure__actions{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:4px}
.auth-failure__action{background:none;border:none;padding:0;font:inherit;font-weight:700;color:inherit;text-decoration:underline;cursor:pointer}
.auth-failure__support{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;opacity:.75;margin-top:2px}
.auth-failure--static{display:flex}
@media (prefers-reduced-motion:no-preference){.door-view{animation:door-in .18s ease-out}@keyframes door-in{from{opacity:0}to{opacity:1}}}
.door-tight{margin-bottom:var(--space-xs-sm)}
.door-center-hint{text-align:center;margin-top:var(--space-md-lg);font-size:var(--text-caption);color:var(--d-text-3)}
.door-link-head{text-align:center;margin-bottom:var(--space-lg)}
.door-link-badge{width:64px;height:64px;border-radius:50%;background:var(--d-green-light);display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--space-md)}
.door-mfa-head{display:flex;align-items:center;gap:var(--space-sm-md);margin-bottom:var(--space-xs)}
.door-mfa-title{margin:0}
.door-empty{padding:var(--space-lg);text-align:center;font-size:var(--text-caption);color:var(--d-text-3)}
.door-username-proxy{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}
#link-buttons .btn{width:100%;justify-content:center;gap:var(--space-sm-md)}
/* Round 35 phone-width fixes (P1353/P1385): inputs are never under 16px, so iOS does not zoom; under 600px the
   sign-in is page-as-surface (no bordered card, no top accent), as on native. The card stays on wide screens. */
.dash-login-body .form-input,.dash-login-body .phone-local-input,.dash-login-body .country-search{font-size:var(--text-callout)}
@media (max-width:600px){
  .dash-login-body{background:var(--d-card-bg);padding-inline:max(var(--space-xl),env(safe-area-inset-left)) max(var(--space-xl),env(safe-area-inset-right))}
  .dash-login-card{border:0;border-top:0;border-radius:0;background:transparent;padding:var(--space-lg) 0;margin:0;max-width:480px}
}
#phone-step-1[hidden],#phone-step-2[hidden],#view-link[hidden],#view-mfa[hidden]{display:none}
/* Round 34 (P1372-P1380): the setup page — required marks, the locale/team lines, the sign-out link. */
.ob-req{color:var(--d-red)}
.ob-line{display:flex;flex-direction:column;gap:var(--space-xs);margin:var(--space-md) 0;font-size:var(--text-footnote);color:var(--d-text-2)}
.ob-line__label{font-weight:600;color:var(--d-text)}
.ob-line__select{width:100%;font-size:var(--text-callout)}
.ob-signout{display:block;margin:var(--space-lg) auto 0}
/* Round 34b (D5): the quiet analytics footer toggle on setup — footnote type, never a question. */
.ob-consent{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-lg);font-size:var(--text-footnote);color:var(--c-text-secondary);cursor:pointer}
.ob-screen .form-input{font-size:var(--text-callout)}
.proposal-send__company-phone{margin-top:var(--space-md)}
.setup-card--guided{border-color:var(--c-brand-primary)}
.guided-step__num{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-caption)}
.boot-error{max-width:440px;margin:80px auto;text-align:center;padding:0 var(--space-lg)}
.boot-error__title{font-size:var(--text-headline);font-weight:700;margin-bottom:var(--space-md)}
.boot-error__body{font-size:var(--text-callout);color:var(--d-text-2);margin-bottom:var(--space-xxl)}
.boot-error__actions{display:flex;gap:var(--space-md);justify-content:center}
.door-invite{border:1px solid var(--d-border);border-radius:var(--d-radius);background:var(--d-green-light);padding:var(--space-lg);margin-bottom:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs)}
.door-invite[hidden]{display:none}
.door-invite__headline{font-weight:700;color:var(--d-text);margin:0;font-size:var(--text-body)}
.door-invite__line{color:var(--d-text-2);margin:0;font-size:var(--text-footnote);word-break:break-word}
