#account-sheet { max-height:85dvh; }
#settings-sheet { max-height:85dvh; }
.profile-identity { flex:1; min-width:0; overflow-wrap:anywhere; }
#profile-settings { flex:0 0 44px; width:44px; height:44px; align-self:flex-start; margin-top:12px; background:#e5ede7; }
#account-form { display:grid; gap:16px; }
#account-form label { display:grid; gap:8px; font-weight:600; }
#account-form label[hidden], #account-form [hidden] { display:none; }
#account-form input { width:100%; min-height:48px; border:1px solid #cbdad2; background:#fff; color:#202d29; border-radius:12px; padding:12px; font:inherit; }
#account-form small, #account-privacy-note { font-size:14px; font-weight:400; line-height:1.5; }
#account-error { margin:0; line-height:1.5; }
.account-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:24px 0; }
.account-settings button { font-size:14px; min-height:48px; padding:12px; }
#settings-sheet .account-settings { grid-template-columns:minmax(0,1fr); margin:0; }
#settings-sheet .secondary-action { display:flex; align-items:center; justify-content:flex-start; gap:12px; text-align:left; }
#settings-sheet .secondary-action svg { width:20px; height:20px; flex-shrink:0; }
#settings-sheet .logout-action { margin-top:16px; }
.account-install { border-top:1px solid #d7e3dc; padding-top:16px; }
.account-install summary { cursor:pointer; color:#425e53; font-size:14px; padding:8px 0; }
.account-settings [hidden] { display:none; }
.account-backup { grid-column:1/-1; border-top:1px solid #d7e3dc; padding-top:16px; }
.account-backup summary { cursor:pointer; color:#425e53; font-size:14px; padding:8px 0; }
.account-backup button { margin-top:12px; width:100%; }
.account-settings p { grid-column:1/-1; font-size:14px; line-height:1.5; }
.legal-links { display:flex; flex-wrap:wrap; justify-content:center; gap:20px; margin:24px 0; font-size:14px; }
.legal-links a, #account-form a { color:#0b574c; }
.login-legal { display:flex; margin:32px 0 0; padding:20px 0 0; border-top:1px solid #d7e3dc; }
.account-status { margin:0; color:#425e53; font-size:14px; line-height:1.5; }
.account-status:empty { display:none; }
#login-account-status { margin:16px auto; text-align:center; }
#profile-email { overflow-wrap:anywhere; }
.legal-page { margin:0; background:#f5f8f4; color:#202d29; font:16px/1.65 system-ui,sans-serif; letter-spacing:0; }
.legal-page * { box-sizing:border-box; }
.legal-header { position:sticky; top:0; z-index:1; background:#f5f8f4f5; border-bottom:1px solid #dae5de; padding:calc(env(safe-area-inset-top) + 8px) 20px 8px; }
.legal-header-inner { max-width:640px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.legal-back { display:inline-flex; gap:8px; align-items:center; min-height:44px; text-decoration:none; font-weight:600; }
.legal-back svg { width:20px; height:20px; }
.legal-header img { width:36px; height:36px; }
.legal-content { max-width:640px; margin:auto; padding:28px 20px 40px; overflow-wrap:anywhere; }
.legal-page h1 { font-size:30px; line-height:1.2; margin:0 0 24px; }
.legal-page h2 { font-size:20px; line-height:1.35; margin:32px 0 12px; }
.legal-page a { color:#0b574c; }
.legal-page p { margin:0 0 20px; overflow-wrap:anywhere; }
.legal-footer { max-width:640px; margin:auto; padding:20px 20px calc(24px + env(safe-area-inset-bottom)); border-top:1px solid #dae5de; display:flex; gap:24px; flex-wrap:wrap; }
.legal-footer a { display:flex; align-items:center; min-height:44px; }
@media (min-width:700px) { .legal-content { padding-top:48px; } }
