.account-public { width: min(100% - 32px, 520px); margin: 32px auto; padding-bottom: max(24px, env(safe-area-inset-bottom)); }
.account-public .panel { overflow-wrap: anywhere; }
.account-back { display: inline-flex; gap: .4rem; align-items: center; text-decoration: none; }
.account-page { width: 100%; max-width: 45rem; min-width: 0; }
.account-page .account-heading { display: block; }
.account-heading-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem 1rem; flex-wrap: wrap; }
.account-heading-row h1 { margin: 0; }
.account-heading-row .account-return { flex: none; }
.account-page .account-heading p { margin-top: .5rem; }
.account-settings { display: grid; gap: 1.25rem; min-width: 0; }
.account-settings > * { min-width: 0; }
.account-settings-panel { padding: 1.5rem; }
.account-settings-panel > h2 { margin-bottom: .75rem; }
.account-settings-panel > p { margin-bottom: .75rem; }
.account-settings-panel > p:last-child { margin-bottom: 0; }
.account-settings-panel form { margin-top: 1rem; }
.account-settings-panel .field { margin-bottom: 1rem; }
.account-email { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; overflow-wrap: anywhere; }
.account-email strong { min-width: 0; }
.worker-tools-page { max-width: 760px; }
.worker-tools-page .worker-tools-heading { display: block; }
.worker-tools-heading-row { display: flex; flex-direction: column-reverse; align-items: flex-start; gap: 1rem; }
.worker-tools-return-mobile { display: none; }
.worker-tools-card-title { font-size: 1.2rem; }
/* 설치 안내는 계정 역할과 관계없이 근무자 도구 화면과 같은 모바일 배치를 사용합니다. */
@media screen and (max-width: 991.98px) {
  :is(.worker-main,.install-main) .worker-tools-page { width: 100%; max-width: 45rem; min-width: 0; }
  :is(.worker-main,.install-main) .worker-tools-heading-row { flex-direction: row; align-items: center; justify-content: space-between; gap: .75rem 1rem; flex-wrap: wrap; }
  :is(.worker-main,.install-main) .worker-tools-title { flex: 1 1 10rem; min-width: min(10rem, 100%); }
  :is(.worker-main,.install-main) .worker-tools-heading .eyebrow { display: none; }
  :is(.worker-main,.install-main) .worker-tools-return { flex: none; margin-inline-start: auto; font-size: .9375rem; }
  :is(.worker-main,.install-main) .worker-tools-return-desktop { display: none; }
  :is(.worker-main,.install-main) .worker-tools-return-mobile { display: inline; }
  :is(.worker-main,.install-main) .worker-tools-heading > p { margin-top: .5rem; font-size: .9375rem; }
  :is(.worker-main,.install-main) .worker-tools-panel { padding: 1.5rem; }
  :is(.worker-main,.install-main) .worker-tools-panel > h2 { margin-bottom: .75rem; font-size: 1.25rem; font-weight: 500; line-height: 1.2; }
  :is(.worker-main,.install-main) .worker-tools-panel > p { margin-bottom: .75rem; }
  :is(.worker-main,.install-main) .worker-tools-panel > p:last-child { margin-bottom: 0; }
  :is(.worker-main,.install-main) .install-guide-section { margin-top: 1.25rem; }
  :is(.worker-main,.install-main) .install-guide-section h3 { font-size: 1.25rem; margin-bottom: .75rem; }
  :is(.worker-main,.install-main) .install-guide-section ol { line-height: 1.65; }
}
@media (max-width: 767.98px) {
  .account-settings { gap: 1rem; }
  .account-settings-panel { padding: 1rem; }
  .account-heading-row { gap: .5rem .75rem; }
  .account-heading-row .account-return { padding: .5rem .65rem; font-size: .8125rem; }
  :is(.worker-main,.install-main) .worker-tools-heading-row { gap: .5rem .75rem; }
  :is(.worker-main,.install-main) .worker-tools-return { padding: .5rem .65rem; font-size: .8125rem; }
  :is(.worker-main,.install-main) .worker-tools-heading > p { font-size: .875rem; }
  :is(.worker-main,.install-main) .worker-tools-panel { padding: 1rem; }
  :is(.worker-main,.install-main) .install-guide-section { margin-top: 1rem; }
}
.auth-remember { display: flex; align-items: center; gap: .5rem; margin: .75rem 0 .2rem; min-height: 36px; }
.auth-remember input { width: 18px; height: 18px; accent-color: var(--brand); }
.auth-recovery-links { display: flex; justify-content: center; gap: .8rem; margin: 1rem 0; flex-wrap: wrap; font-size: .9rem; }
@media(max-width: 575px) { .account-public { margin-top: 20px; } .account-public > .panel { padding: 1.25rem !important; } }
@media(max-width: 359px) {
  .app-header > .brand { flex-shrink: 0; }
  .app-header .brand-copy strong { white-space: nowrap; }
  .app-header .header-actions { gap: .1rem; }
  .app-header .header-actions > .icon-button { min-width: 2rem; min-height: 2.5rem; font-size: 1.05rem; }
}
