/* Independent company accounts: one clear action and predictable form feedback. */
.auth-page { min-height: 100dvh; padding: 48px 24px 32px; background: #f5f5f7; }
.auth-page .auth-brand { display: flex; align-items: center; gap: 13px; margin: 0 0 32px; color: #1d1d1f; }
.auth-page .auth-brand > .auth-symbol { display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 14px; color: white; background: #242426; }
.auth-symbol svg { width: 26px; height: 26px; }
.auth-brand > div { display: grid; gap: 3px; font-size: 23px; line-height: 1.2; letter-spacing: -.03em; }
.auth-brand small { font-size: 11px; font-weight: 500; color: #6e6e73; letter-spacing: .08em; }
.auth-page .auth-card { max-width: 480px; padding: 34px; border: 1px solid #e6e6e9; border-radius: 24px; box-shadow: 0 10px 30px #1d1d1f05; }
.auth-card .account-eyebrow { color: #6e6e73; font-size: 12px; font-weight: 500; }
.auth-page .auth-card h1 { margin: 9px 0 10px; font-size: 28px; line-height: 1.3; letter-spacing: -.035em; }
.auth-page .auth-card > p { margin: 0; color: #6e6e73; font-size: 14px; line-height: 1.75; }
.auth-form { display: grid; gap: 19px; margin-top: 27px; }
.auth-form .field { margin: 0; }
.auth-form .field label { color: #424245; font-size: 13px; font-weight: 500; margin-bottom: 8px; }
.auth-form input { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #d2d2d7; border-radius: 12px; background: #fff; color: #1d1d1f; font-size: 16px; line-height: 1.4; }
.auth-form input::placeholder { color: #86868b; }
.auth-form input:focus { border-color: #0071e3; outline: 3px solid #0071e324; outline-offset: 0; }
.auth-form > .button { width: 100%; min-height: 48px; border-radius: 12px; font-size: 15px; }
.auth-form .field-help { margin: -5px 0 0; font-size: 12px; line-height: 1.8; color: #6e6e73; }
.auth-form .form-error { margin: -3px 0 0; }
.auth-form .button[disabled] { cursor: wait; opacity: .65; }
.auth-page .auth-card > .auth-help { margin: 20px 0 0; color: #6e6e73; font-size: 12px; line-height: 1.8; }
.auth-access-summary { display: flex; flex-wrap: wrap; gap: 10px 20px; padding-top: 21px; margin-top: 23px; border-top: 1px solid #eeeef0; color: #6e6e73; font-size: 11px; }
.auth-access-summary > span { display: flex; align-items: center; gap: 6px; }
.auth-access-summary svg { width: 14px; height: 14px; }
.auth-page .auth-card > .auth-notice { padding: 12px 14px; margin-top: 20px; border-radius: 10px; background: #eff6ff; color: #24578b; font-size: 13px; }
.auth-page .auth-card > .auth-notice.is-error { background: #fff2f1; color: #a22e29; }
.auth-account-label { display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; margin-top: 22px; padding: 12px 14px; border-radius: 10px; background: #f5f5f7; font-size: 13px; }
.auth-account-label span { color: #6e6e73; }
.auth-account-label strong { font-weight: 500; overflow-wrap: anywhere; }
.auth-switch { width: 100%; margin-top: 14px; min-height: 44px; }
.auth-install { max-width: 480px; width: 100%; margin-top: 20px; }
.auth-install .pwa-card { margin-top: 0; }
.account-profile-card + .pwa-card { max-width: 760px; }
.auth-footer { color: #86868b; font-size: 11px; margin: 25px 0 0; }
button.signout-link { border: 0; background: transparent; cursor: pointer; }
.account-row-actions, .account-security-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.account-security-actions { margin-top: 18px; }
.account-row-actions .button { white-space: nowrap; }
@media (max-width: 600px) {
  .auth-page { padding: 30px 16px calc(24px + env(safe-area-inset-bottom)); }
  .auth-page .auth-brand { margin-bottom: 25px; }
  .auth-page .auth-card { padding: 26px 23px; border-radius: 22px; }
  .auth-page .auth-card h1 { font-size: 25px; }
  .auth-form { margin-top: 24px; gap: 18px; }
  .auth-access-summary { gap: 12px; font-size: 10px; }
  .account-security-actions .button { min-height: 44px; }
  .modal form[data-form="create-account"] input,
  .modal form[data-form="change-password"] input,
  .modal form[data-form="reset-password"] input { font-size: 16px; }
}

.account-projects { border: 0; padding: 0; margin: 20px 0 0; min-width: 0; }
.account-projects legend { padding: 0; color: #424245; font-size: 13px; font-weight: 600; }
.account-projects .field-help { margin: 8px 0 12px; }
.account-project-list { display: grid; max-height: 250px; overflow-y: auto; border: 1px solid #e5e5ea; border-radius: 12px; }
.account-projects .account-project-choice { display: flex; align-items: center; gap: 12px; padding: 13px 14px; min-height: 58px; margin: 0; cursor: pointer; }
.account-projects .account-project-choice + .account-project-choice { border-top: 1px solid #eeeef0; }
.account-project-choice:has(input:checked) { background: #f2f7fe; }
.account-project-choice:has(input:disabled) { cursor: default; }
.account-project-choice input { flex: 0 0 17px; width: 17px; height: 17px; margin: 0; accent-color: #0071e3; }
.account-project-choice > span { display: grid; gap: 5px; min-width: 0; }
.account-project-choice strong { color: #1d1d1f; font-size: 13px; font-weight: 500; line-height: 1.6; overflow-wrap: anywhere; }
.account-project-choice small { color: #6e6e73; font-size: 11px; line-height: 1.5; }
.account-project-list > .field-help { padding: 0 14px; }
@media (hover: hover) and (pointer: fine) { .account-project-choice:hover { background: #f5f5f7; } }
