/* Fundação exclusiva do painel administrativo. */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; line-height: 1.5; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
h1, h2, h3, p { margin: 0; }
ul { list-style: none; margin: 0; padding: 0; }
.admin-menu-toggle { display: none; }
.admin-main, .admin-field, .admin-form-row, .admin-card, .admin-fieldset, .admin-photo-row-actions { min-width: 0; }
.admin-fieldset > .admin-field, .admin-fieldset > .admin-form-row { width: 100%; }
.admin-field input, .admin-field textarea, .admin-field select, .admin-photo-row-actions input { max-width: 100%; }
.admin-form-actions { flex-wrap: wrap; }
.admin-table-wrap { position: relative; max-width: 100%; }
@media (max-width: 760px) {
  .admin-table-actions a, .admin-link-btn { display: inline-flex; min-height: 44px; align-items: center; }
  .admin-config-tabs button { min-height: 44px; }
  .admin-checkbox { min-height: 36px; }
  .admin-checkbox input { width: 18px; height: 18px; flex-shrink: 0; }
}
@media (max-width: 600px) {
  .admin-form-row { flex-direction: column; width: 100%; }
  .admin-fieldset { padding: 14px 12px; gap: 16px; }
  .admin-config-tabs { gap: 6px; }
  .admin-config-tabs button { padding: 10px 12px; font-size: 14px; }
  .admin-photo-row { align-items: flex-start; }
  .admin-photo-row-actions { width: 100%; }
  .admin-photo-row-actions input[type=file], .admin-field input[type=file] { width: 100%; font-size: 14px; }
  .admin-form-actions { gap: 12px; }
  .admin-login-body { padding: 24px 16px; }
  .admin-login-card { padding: 28px 20px; }
}
