.profile-screen .shell { padding:12px 24px; }
.profile-screen .card { max-width:480px; padding:22px 32px 10px; }
.profile-screen .brand { width:150px; height:53px; margin-bottom:12px; }
.profile-screen .auth-footer { display:none; }
.profile-screen h1 { font-size:1.5rem; line-height:1.2; margin:0 0 10px; letter-spacing:-.03em; }
.profile-screen #profile-intro { margin:0 0 16px; color:var(--muted); font-size:.9375rem; line-height:1.45; }
.profile-screen #profile-intro.profile-confirmed { color:var(--teal); font-weight:600; }
.profile-progress { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; color:var(--muted); font-size:.875rem; }
.profile-step-count { font-variant-numeric:tabular-nums; }
.profile-sections-button { min-height:48px; min-width:48px; padding:8px 0 8px 12px; border:0; background:transparent; color:var(--teal); font-size:.875rem; font-weight:600; }
.profile-section-dialog { width:min(360px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:20px; overflow:auto; border:1px solid var(--line); border-radius:16px; background:#fff; color:var(--navy); }
.profile-section-dialog::backdrop { background:#072e4966; }
.profile-section-dialog h2 { margin:0 0 8px; font-size:1.25rem; }
.profile-section-dialog p { margin:0 0 12px; color:var(--muted); font-size:.875rem; line-height:1.45; }
.profile-section-links { display:grid; gap:8px; }
.profile-section-links .secondary { min-height:48px; margin:0; padding:10px 12px; font-size:1rem; }
.profile-section-links [aria-current="step"] { border-color:var(--teal); background:#f1f9f8; }
.profile-section-links button:disabled { cursor:default; }
.profile-dialog-close { min-height:48px; width:100%; margin:10px 0 0; padding:10px 0; border:0; background:transparent; color:var(--teal); font-weight:600; }
.profile-fields { display:grid; gap:12px; }
.profile-field { display:flex; flex-direction:column; min-width:0; }
.profile-field label { margin:0 0 6px; font-size:.875rem; line-height:1.35; }
.profile-field input { min-height:48px; padding:11px 12px; font-size:1rem; }
.profile-field input[aria-invalid="true"] { border-color:var(--error); }
.profile-field-error { color:var(--error); font-size:.8125rem; line-height:1.4; margin:5px 0 0; }
.profile-actions { display:flex; flex-wrap:wrap; align-items:stretch; gap:8px; margin-top:20px; }
.profile-actions .primary,.profile-actions .secondary { min-height:48px; margin:0; padding:10px 12px; font-size:.9375rem; }
.profile-actions .secondary { width:auto; min-width:4.75rem; flex:none; }
.profile-actions .primary { flex:1 1 11rem; min-width:0; }
.profile-screen button,.profile-footer a { word-break:normal; overflow-wrap:normal; hyphens:none; white-space:normal; }
.profile-footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:6px; margin-top:8px; }
.profile-footer a,.profile-footer button { display:flex; align-items:center; justify-content:center; min-height:48px; margin:0; padding:6px; color:var(--muted); font-size:.8125rem; font-weight:500; }
.profile-footer button { width:auto; border:0; background:transparent; }
.profile-choices { border:0; padding:0; margin:0; min-width:0; }
.profile-choices legend { font-size:1rem; font-weight:600; line-height:1.4; margin-bottom:14px; }
.profile-choice { display:flex; align-items:center; gap:10px; min-height:48px; margin:0 0 10px; padding:12px; border:1px solid var(--line); border-radius:10px; cursor:pointer; font-size:.9375rem; line-height:1.4; font-weight:500; }
.profile-choice input { width:20px; min-width:20px; height:20px; min-height:20px; margin:0; padding:0; accent-color:var(--teal); }
.profile-choice:has(input:checked) { border-color:var(--teal); background:#f1f9f8; }
.profile-choice:has(input:focus-visible) { outline:3px solid #009ea5; outline-offset:3px; }
.profile-confirm { margin-bottom:0; }
.profile-review { margin:0; }
.profile-review>div { margin:0 0 8px; }
.profile-review dt { color:var(--muted); font-size:.8125rem; line-height:1.35; margin-bottom:3px; }
.profile-review dd { margin:0; font-size:1rem; line-height:1.4; overflow-wrap:anywhere; }
[data-profile-view="review"] .profile-fields { gap:6px; }
[data-profile-view="review"] .profile-progress { margin-bottom:8px; }
.profile-screen [data-profile-view="review"] h1 { margin-bottom:6px; }
[data-profile-view="review"] .profile-actions { margin-top:10px; }
.profile-edit { min-height:48px; padding:8px 0; width:100%; border:0; background:transparent; text-align:left; color:var(--teal); font-size:.9375rem; font-weight:600; }
.profile-send { min-height:48px; margin:0; font-size:.9375rem; }
.profile-contact-address { overflow-wrap:anywhere; font-weight:600; margin:0 0 4px; line-height:1.4; }
.profile-welcome-note,.profile-final-note { margin:0; color:var(--muted); font-size:.875rem; line-height:1.45; }
.profile-welcome-note { padding:16px; border-radius:10px; background:#f1f7f8; }
.profile-screen #profile-feedback { margin:12px 0 0; font-size:.875rem; line-height:1.4; }
.profile-conflict[open] { display:grid; gap:12px; }
.profile-conflict h2,.profile-conflict p { margin:0; }
.profile-conflict button { margin:0; min-height:48px; }
@media(max-width:560px) {
  .profile-screen .shell { padding:10px 20px; }
  .profile-screen .card { padding:0; max-width:400px; }
  .profile-screen .brand { width:140px; height:50px; margin-bottom:10px; }
}
@media(max-height:640px) {
  .profile-screen .shell { padding-top:8px; padding-bottom:6px; }
  .profile-screen .card { padding-top:8px; padding-bottom:0; }
  .profile-screen .brand { width:124px; height:44px; margin-bottom:8px; }
  .profile-screen h1 { margin-bottom:8px; }
  .profile-progress { margin-bottom:12px; }
  .profile-screen #profile-intro { margin-bottom:12px; }
  .profile-actions { margin-top:16px; }
  .profile-footer { margin-top:4px; }
}
