/* Formulários consomem os tokens compartilhados; sem paleta própria. */
.form-status { min-height: 1.5em; margin: .5rem 0; color: var(--ui-text); font-size: .9rem; overflow-wrap: anywhere; }
.form-hint { color: var(--ui-muted); font-size: .875rem; line-height: 1.5; }
[data-form-fields] [aria-invalid=true] { border-color: var(--ui-danger); }
[data-form-fields] textarea { resize: none; min-height: 7rem; }
[data-form-fields] :is(input,select,textarea) { scroll-margin-block: 5rem; }
[data-form-fields] button:disabled { opacity: .6; cursor: not-allowed; }
.contact-card { max-width: 640px; margin-inline: auto; text-align: left; }
.contact-card h1 { font-size: 1.75rem; color: var(--ui-text); }
.form-contato { display: grid; gap: .5rem; }
.form-contato label { margin-top: .75rem; color: var(--ui-text); font-weight: 600; }
.form-contato :is(input,textarea) { width: 100%; min-height: 44px; padding: .75rem; border: 1px solid var(--ui-border); border-radius: .5rem; background: var(--ui-surface); color: var(--ui-text); font: inherit; margin: 0; }
.form-contato button { min-height: 44px; font: inherit; cursor: pointer; }
.profile-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.25rem; background: var(--ui-surface); color: var(--ui-text); }
.profile-toolbar h2 { margin: 0 0 .25rem; font-size: 1.25rem; }
.profile-toolbar p { margin: 0; color: var(--ui-muted); }
.profile-toolbar .btn-editar { display: inline-flex; gap: .5rem; align-items: center; justify-content: center; min-height: 44px; padding: .75rem 1rem; font: inherit; flex-shrink: 0; border: 0; border-radius: .5rem; color: white; background: var(--brand-gradient); cursor: pointer; }
.profile-toolbar .btn-editar:hover { filter: brightness(1.1); }
.profile-toolbar .btn-editar:active { filter: brightness(.95); }
.profile-save-status { margin: 0; padding-inline: 1.25rem; }
/* Dialog nativo: foco contido, fundo inerte e barra de ações pertencente ao formulário. */
dialog.profile-edit-dialog { position: fixed; inset: 0; margin: auto; width: min(760px,calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 0; border: 1px solid var(--ui-border); border-radius: 1rem; background: var(--ui-surface); color: var(--ui-text); overflow: auto; z-index: 100; }
dialog.profile-edit-dialog:not([open]) { display: none; }
dialog.profile-edit-dialog::backdrop { background: rgb(0 0 0 / 50%); }
.profile-edit-header > div { min-width: 0; overflow-wrap: anywhere; }
.profile-edit-header .profile-edit-close { width: 44px; height: 44px; }
.profile-edit-form { gap: 1rem; }
.profile-edit-form :is(label,legend) { color: var(--ui-text); }
.profile-edit-form :is(input,select,textarea) { min-height: 44px; background: var(--ui-surface); color: var(--ui-text); border-color: var(--ui-border); }
.profile-edit-form .profile-edit-actions { position: sticky; bottom: 0; padding: .75rem 0; background: var(--ui-surface); z-index: 1; flex-wrap: wrap; }
/* Troca da foto deve ser encontrável sem depender de hover ou de um div clicável. */
.foto-container .foto-overlay { opacity: 1; }
.profile-edit-cancel { background: var(--ui-surface); color: var(--ui-accent); border-color: var(--ui-border); }
.profile-edit-actions button:hover, .form-discard-guard button:hover { filter: brightness(1.1); }
.profile-edit-actions button:active, .form-discard-guard button:active { filter: brightness(.95); }
.form-discard-guard { padding: 1rem; border: 1px solid var(--ui-border); border-radius: .5rem; background: var(--ui-raised); color: var(--ui-text); }
.form-discard-guard[hidden] { display: none; }
.form-discard-guard p { margin: 0 0 .75rem; }
.form-discard-guard button { min-height: 44px; padding: .6rem .75rem; margin: .25rem; border: 1px solid var(--ui-border); border-radius: .5rem; color: var(--ui-text); background: var(--ui-surface); font: inherit; cursor: pointer; }
@media (max-width: 720px) {
  .profile-toolbar { flex-wrap: wrap; }
  .profile-toolbar .btn-editar { width: 100%; }
  dialog.profile-edit-dialog { width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); border-radius: 1rem; }
  .profile-edit-form .profile-edit-actions { position: static; }
  .profile-edit-form .profile-edit-grid { grid-template-columns: minmax(0,1fr); }
  .form-discard-guard button { width: 100%; margin-inline: 0; }
}
