/* Cadastro presentation only: preserve permissions and administrative actions. */
body[data-page="cadastros"] {
  background: #f6f8fb;
  color: #18283f;
}
body[data-page="cadastros"] .content { min-width: 0; width: 100%; max-width: 1680px; margin-inline: auto; gap: 32px; }
body[data-page="cadastros"] .cadastros-hero { grid-template-columns: 44px minmax(0, 1fr) auto; min-height: 0; padding: 8px 0 24px; border: 0; border-bottom: 1px solid #e5eaf0; border-radius: 0; background: transparent; box-shadow: none; gap: 20px; }
body[data-page="cadastros"] .cadastros-hero::before,
body[data-page="cadastros"] .cadastros-hero::after { content: none; }
body[data-page="cadastros"] .cadastros-hero h1 { color: #18283f; font-size: clamp(1.6rem, 2.3vw, 2.1rem); margin: 4px 0 10px; font-weight: 700; line-height: 1.2; letter-spacing: -0.035em; }
body[data-page="cadastros"] .cadastros-hero p { color: #617087; font-size: 0.9rem; font-weight: 400; line-height: 1.65; }
body[data-page="cadastros"] .cadastros-hero-mark { width: 44px; height: 44px; border-radius: 14px; background: #eaf0ff; color: #315fce; box-shadow: none; }
body[data-page="cadastros"] .eyebrow { color: #617087; font-size: 0.68rem; letter-spacing: 0.1em; }
body[data-page="cadastros"] .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
body[data-page="cadastros"] .cadastros-summary-card { min-width: 0; padding: 24px; border: 1px solid #e5eaf0; border-radius: 16px; background: #ffffff; box-shadow: 0 2px 6px #18283f03; }
body[data-page="cadastros"] .cadastros-summary-card strong { color: #18283f; font-size: 2rem; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
body[data-page="cadastros"] .cadastros-summary-icon { border-radius: 14px; box-shadow: none; }
body[data-page="cadastros"] .cadastros-summary-card .summary-note { color: #617087; line-height: 1.6; }
body[data-page="cadastros"] .form-card { padding: 24px; border: 1px solid #e5eaf0; border-radius: 16px; background: #ffffff; box-shadow: 0 2px 6px #18283f03; }
body[data-page="cadastros"] .form-card::before,
body[data-page="cadastros"] .form-card::after { content: none; }
body[data-page="cadastros"] .section-heading { flex-wrap: wrap; gap: 20px; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid #e5eaf0; }
body[data-page="cadastros"] .section-heading h3 { font-size: 1.05rem; font-weight: 650; color: #18283f; letter-spacing: -0.025em; line-height: 1.4; }
body[data-page="cadastros"] .section-actions { gap: 10px; flex-wrap: wrap; }
body[data-page="cadastros"] .section-actions .ghost-button { min-height: 42px; padding: 10px 14px; border: 1px solid #e5eaf0; border-radius: 11px; background: #f5f7fc; color: #315fce; box-shadow: none; }
body[data-page="cadastros"] .section-actions .cadastro-primary-action { background: #315fce; border-color: #285bc6; color: #ffffff; }
body[data-page="cadastros"] .section-actions .ghost-button span { color: inherit; }
body[data-page="cadastros"] .field > span { color: #617087; font-size: 0.73rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
body[data-page="cadastros"] .field :is(input, select) { min-height: 44px; padding: 10px 12px; border: 1px solid #e5eaf0; border-radius: 12px; background: #f5f7fc; color: #18283f; box-shadow: none; }
body[data-page="cadastros"] .field :is(input, select):focus { border-color: #82a8ee; box-shadow: 0 0 0 3px #3979f612; }
body[data-page="cadastros"] .cadastros-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
body[data-page="cadastros"] .cadastro-card { min-width: 0; padding: 20px; border: 1px solid #e5eaf0; border-radius: 14px; background: #ffffff; box-shadow: none; }
body[data-page="cadastros"] .cadastro-avatar { border-radius: 14px; box-shadow: none; }
body[data-page="cadastros"] .cadastro-card-copy h3 { color: #18283f; line-height: 1.5; letter-spacing: -0.02em; }
body[data-page="cadastros"] .cadastro-card-copy p { color: #617087; }
body[data-page="cadastros"] .cadastro-role-chip { padding: 6px 10px; border-radius: 8px; font-size: 0.65rem; }
body[data-page="cadastros"] .cadastro-settings-button { border: 1px solid #e5eaf0; border-radius: 11px; background: #f5f7fc; color: #315fce; box-shadow: none; }
body[data-page="cadastros"] .cadastro-page-button { min-height: 36px; border: 1px solid #e5eaf0; border-radius: 10px; background: #f5f7fc; color: #315fce; box-shadow: none; }
body[data-page="cadastros"] .cadastro-page-button.active { background: #315fce; border-color: #315fce; color: #ffffff; }
body[data-page="cadastros"] .cadastro-page-button:disabled { opacity: 0.5; cursor: not-allowed; }
body[data-page="cadastros"] .modal-card { border: 1px solid #e5eaf0; border-radius: 16px; background: #ffffff; box-shadow: 0 32px 100px #0d214d38; }
body[data-page="cadastros"] .modal-header { gap: 20px; border-bottom-color: #e5eaf0; }
body[data-page="cadastros"] .modal-header h3 { color: #18283f; letter-spacing: -0.025em; line-height: 1.4; }
body[data-page="cadastros"] .modal-header p { color: #617087; font-weight: 500; line-height: 1.65; }
body[data-page="cadastros"] .modal-close { border-radius: 12px; border-color: #e5eaf0; background: #f5f7fc; }
body[data-page="cadastros"] :is(.cadastro-details-photo, .cadastro-photo-card, .cadastro-modal-pages) { border-radius: 16px; border-color: #e5eaf0; box-shadow: none; }
body[data-page="cadastros"] .cadastro-access-option { padding: 12px; border-radius: 10px; border-color: #e5eaf0; }
body[data-page="cadastros"] .cadastro-access-option input { accent-color: #315fce; }
body[data-page="cadastros"] :is(.cadastro-modal-actions, .cadastro-photo-actions) .ghost-button { border-radius: 11px; box-shadow: none; }
body[data-page="cadastros"] .cadastro-role-settings-save { border-radius: 11px; }
body[data-page="cadastros"] .cadastro-import-table-shell { border: 1px solid #e5eaf0; border-radius: 14px; scrollbar-width: thin; }
body[data-page="cadastros"] .cadastro-import-table th { padding: 14px 16px; background: #f5f7fc; color: #617087; font-size: 0.67rem; }
body[data-page="cadastros"] .cadastro-import-table td { padding: 16px; border-bottom-color: #e5eaf0; }
body[data-page="cadastros"] .cadastro-import-table tbody tr:nth-child(even) { background: #fbfcff; }
body[data-page="cadastros"] :is(button, a, input, select):focus-visible { outline: 3px solid #3979f6; outline-offset: 3px; }
body[data-page="cadastros"] .sidebar :is(button, a, summary):focus-visible { outline-color: #a4c5ff; }
/* User detail: photo, page permissions and administrative actions. */
body[data-page="cadastros"] .app-shell { padding: 28px; gap: 28px; }
body[data-page="cadastros"] .sidebar.cadastros-sidebar { border: 1px solid #21324d; border-radius: 16px; background: #122039; box-shadow: none; }
body[data-page="cadastros"] .sidebar .nav-link { font-weight: 500; box-shadow: none; }
body[data-page="cadastros"] .sidebar .nav-link.active { border-color: #ffffff1a; background: #ffffff12; box-shadow: inset 3px 0 0 #91b3ff; }
body[data-page="cadastros"] .cadastros-hero-mark svg { width: 24px; height: 24px; }
body[data-page="cadastros"] .cadastros-hero > .status-badge { max-width: 100%; white-space: normal; }
body[data-page="cadastros"] .cadastros-summary-card > div { min-width: 0; }
body[data-page="cadastros"] .summary-card span:not(.cadastros-summary-icon) { color: #617087; font-weight: 600; letter-spacing: 0.03em; }
body[data-page="cadastros"] .cadastros-summary-card strong { display: block; line-height: 1.3; }
body[data-page="cadastros"] .cadastros-summary-card .summary-note { font-weight: 400; overflow-wrap: anywhere; }
body[data-page="cadastros"] .cadastros-toolbar { grid-template-columns: minmax(0, 1fr) minmax(220px, 0.45fr); margin-bottom: 24px; }
body[data-page="cadastros"] .cadastro-card-copy :is(h3, p) { white-space: normal; overflow-wrap: anywhere; }
body[data-page="cadastros"] .cadastro-card-copy h3 { font-weight: 650; }
body[data-page="cadastros"] .cadastro-card-copy p { font-weight: 400; }
body[data-page="cadastros"] .cadastro-settings-button:hover { background: #eaf0ff; transform: none; }
body[data-page="cadastros"] .section-actions .ghost-button:hover:not(:disabled) { background: #eaf0ff; transform: none; }
body[data-page="cadastros"] .section-actions .cadastro-primary-action:hover:not(:disabled) { background: #284fad; color: #ffffff; }
body[data-page="cadastros"] .cadastros-pagination { padding-top: 20px; margin-top: 24px; border-top: 1px solid #e5eaf0; }
body[data-page="cadastros"] .cadastro-pagination-summary { color: #617087; font-weight: 500; }
body[data-page="cadastros"] .cadastro-pagination-controls { max-width: 100%; }
body[data-page="cadastros"] .cadastro-page-button { flex-shrink: 0; font-weight: 600; }
body[data-page="cadastros"] .modal-card { max-width: calc(100vw - 32px); }
body[data-page="cadastros"] .modal-header h3 { font-weight: 650; }
body[data-page="cadastros"] .cadastro-role-settings-save { background: #315fce; box-shadow: none; }
body[data-page="cadastros"] .cadastro-empty { border-color: #e5eaf0; background: #f5f7fc; }
@media (max-width: 1100px) {
  body[data-page="cadastros"] .cadastros-list { grid-template-columns: minmax(0, 1fr); }
  body[data-page="cadastros"] .section-heading { align-items: flex-start; }
  body[data-page="cadastros"] .section-actions { justify-content: flex-start; }
}
@media (max-width: 900px) {
  body[data-page="cadastros"] .app-shell { padding: 16px; gap: 16px; }
  body[data-page="cadastros"] .cadastros-hero { grid-template-columns: 44px minmax(0, 1fr); }
  body[data-page="cadastros"] .cadastros-hero > .status-badge { grid-column: 2; justify-self: start; width: auto; }
}
@media (max-width: 760px) {
  body[data-page="cadastros"] .summary-grid,
  body[data-page="cadastros"] .cadastros-toolbar { grid-template-columns: minmax(0, 1fr); }
  body[data-page="cadastros"] .cadastros-summary-card { padding: 20px; }
  body[data-page="cadastros"] .cadastros-pagination { flex-direction: column; align-items: stretch; }
  body[data-page="cadastros"] .cadastro-pagination-controls { justify-content: flex-start; overflow-x: auto; padding: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-page="cadastros"] :is(.cadastro-card, .modal-card, .cadastros-loading-card, .cadastro-page-button) { animation: none; transition: none; }
}
#cadastroDetailsModal .cadastro-modal-card {
  width: min(1000px, calc(100vw - 40px));
  padding: 24px; border: 1px solid #e5eaf0; border-radius: 16px; background: #ffffff;
  scrollbar-width: thin; scrollbar-color: #bac8de #f5f7fb;
}
#cadastroDetailsModal .modal-header { align-items: start; gap: 16px; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid #e5eaf0; }
#cadastroDetailsModal .cadastro-details-heading { grid-template-columns: 52px minmax(0, 1fr); gap: 16px; min-width: 0; }
#cadastroDetailsModal .cadastro-details-heading > div:last-child { min-width: 0; }
#cadastroDetailsModal .cadastro-details-photo { width: 52px; height: 52px; flex-shrink: 0; border-radius: 14px; background: #eaf0ff; color: #315fce; font-weight: 650; box-shadow: none; }
#cadastroDetailsModal .eyebrow { color: #617087; font-weight: 600; letter-spacing: 0.06em; }
#cadastroDetailsModal .modal-header h3 { margin: 4px 0 0; color: #18283f; font-size: clamp(1.1rem, 1.8vw, 1.45rem); font-weight: 650; text-transform: none; letter-spacing: -0.025em; line-height: 1.4; overflow-wrap: anywhere; }
#cadastroDetailsModal .modal-header p { margin-top: 6px; color: #617087; font-size: 0.85rem; font-weight: 400; line-height: 1.6; overflow-wrap: anywhere; }
#cadastroDetailsModal .modal-close { flex-shrink: 0; width: 38px; height: 38px; border-radius: 10px; background: #f5f7fc; color: #617087; }
#cadastroDetailsModal .cadastro-modal-content { min-width: 0; gap: 24px; }
#cadastroDetailsModal :is(.cadastro-photo-card, .cadastro-modal-pages) {
  min-width: 0; padding: 20px; gap: 16px; border: 1px solid #e5eaf0; border-radius: 14px; background: #ffffff; box-shadow: none;
}
#cadastroDetailsModal .card-label { margin: 0; padding: 0; color: #617087; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.06em; }
#cadastroDetailsModal .card-label::before { content: none; }
#cadastroDetailsModal .cadastro-photo-actions { gap: 10px; flex-wrap: wrap; }
#cadastroDetailsModal .cadastro-photo-actions .ghost-button {
  min-height: 40px; padding: 10px 14px; border-radius: 11px;
  border-color: #e5eaf0; background: #ffffff; color: #315fce;
}
#cadastroDetailsModal .cadastro-photo-card .login-status.neutral { margin: 0; color: #617087; font-size: 0.8rem; font-weight: 400; line-height: 1.6; }
#cadastroDetailsModal .cadastro-access-list {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;
}
#cadastroDetailsModal .cadastro-access-option {
  min-width: 0; min-height: 48px; padding: 12px; gap: 10px; border: 1px solid #e5eaf0;
  border-radius: 10px; background: #ffffff; color: #617087; font-size: 0.8rem; font-weight: 500; box-shadow: none;
}
#cadastroDetailsModal .cadastro-access-option input { width: 16px; height: 16px; min-height: 16px; padding: 0; accent-color: #315fce; }
#cadastroDetailsModal .cadastro-access-option span { font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
#cadastroDetailsModal .cadastro-access-option:has(input:checked) { background: #f5f7fc; border-color: #cbd8ef; color: #18283f; box-shadow: none; }
#cadastroDetailsModal .cadastro-access-option:hover:not(:has(input:disabled)) { border-color: #93b2ed; background: #eaf0ff; }
#cadastroDetailsModal .cadastro-access-option:has(input:disabled) { opacity: 0.6; cursor: not-allowed; }
#cadastroDetailsModal .cadastro-access-option:focus-within { outline: 2px solid #3979f6; outline-offset: 2px; }
#cadastroDetailsModal .cadastro-save-pages-button {
  margin-top: 4px; min-height: 42px; padding: 10px 18px;
  border: 1px solid #285bc6; border-radius: 11px; background: #315fce; color: #ffffff; box-shadow: none;
}
#cadastroDetailsModal .cadastro-save-pages-button span { color: inherit; }
#cadastroDetailsModal .cadastro-save-pages-button:hover:not(:disabled) { background: #284fad; transform: none; }
#cadastroDetailsModal .cadastro-modal-actions { padding-top: 24px; border-top: 1px solid #e5eaf0; gap: 10px; flex-wrap: wrap; }
#cadastroDetailsModal .cadastro-modal-actions button { min-height: 40px; padding: 10px 14px; font-weight: 600; }
#cadastroDetailsModal .cadastro-photo-upload:focus-within { outline: 3px solid #3979f6; outline-offset: 3px; }
#cadastroDetailsModal #cadastroDetailsActionStatus.neutral { padding: 14px 16px; border: 1px solid #e5eaf0; border-radius: 12px; background: #f5f7fc; color: #617087; line-height: 1.6; }
@media (max-width: 680px) {
  #cadastroDetailsModal .cadastro-modal-card { padding: 20px 16px; }
  #cadastroDetailsModal :is(.cadastro-photo-card, .cadastro-modal-pages) { padding: 16px; }
  #cadastroDetailsModal .cadastro-access-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #cadastroDetailsModal .cadastro-details-heading { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; }
  #cadastroDetailsModal .cadastro-details-photo { width: 44px; height: 44px; }
  body[data-page="cadastros"] .cadastros-hero { padding: 18px 0; }
  body[data-page="cadastros"] .form-card { padding: 16px; border-radius: 18px; }
  body[data-page="cadastros"] .cadastro-card { padding: 16px; }
}
@media (max-width: 380px) {
  #cadastroDetailsModal .cadastro-access-list { grid-template-columns: minmax(0, 1fr); }
}
