/* Shared reflow rules, loaded after the theme and workspace styles. */
.professional-site *, .professional-site *::before, .professional-site *::after { box-sizing: border-box; }
.professional-site :is(fieldset, form, main, section, article, .form-grid > *, .profile-grid > *) { min-width: 0; }
.professional-site :is(input, select, textarea) { max-width: 100%; min-width: 0; }
.professional-site :is(img, video) { max-width: 100%; }
.professional-site :is(p, h1, h2, h3, h4, label, legend, .form-note) { overflow-wrap: break-word; }
.professional-site :is(.tox-tinymce, .professional-editor) { max-width: 100%; min-width: 0; }
.admin-body .admin-main { min-width: 0; flex: 1 1 0; }
.admin-body .admin-content { width: 100%; max-width: none; padding: clamp(20px, 2.5vw, 72px); }
.admin-body :is(.admin-form, .settings-form, .packages-workspace, .account-workspace, .editor-workspace) { width: 100%; max-width: none; min-width: 0; }
.admin-body .profile-editor { width: 100%; max-width: none; grid-template-columns: minmax(0, 1fr) clamp(240px, 22%, 380px); }
.admin-body .profile-editor.no-photo { grid-template-columns: minmax(0, 1fr); }
.admin-body .profile-editor .profile-section { grid-column: 1; grid-row: auto; }
.admin-body .profile-editor .profile-photo { grid-column: 2; grid-row: 1 / span 3; }
.admin-body .profile-editor .form-actions { grid-column: 1 / -1; }
.admin-body .profile-grid, .admin-body .form-grid, .admin-body .entry-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-body .settings-layout { width: 100%; min-width: 0; grid-template-columns: 210px minmax(0, 1fr); }
.admin-body .package-edit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-body .package-edit-grid > *, .admin-body .settings-layout > * { min-width: 0; }
.admin-body :is(.admin-panel, .content-form, .profile-section) { min-width: 0; }
.admin-body .admin-table-wrap { max-width: 100%; overflow-x: auto; }
.admin-body :is(.form-actions, .table-actions, .security-toolbar, .security-management-actions) { flex-wrap: wrap; }
.admin-body .content-table-wrap { overflow: visible; }
.admin-body .content-table .entry-actions { position: relative; display: inline-flex; flex-direction: row; flex-wrap: nowrap; width: max-content; align-items: center; justify-content: flex-end; gap: 8px; vertical-align: middle; }
.admin-body .entry-actions > .entry-action, .admin-body .entry-actions > .entry-more { flex: 0 0 auto; margin: 0; }
.admin-body .entry-actions .entry-action { width: 44px; height: 44px; min-height: 44px; }
.admin-body .content-table th:last-child, .admin-body .content-table td:last-child { width: 188px; min-width: 188px; }
@media(max-width:1100px) {
  .admin-body .content-table th:last-child, .admin-body .content-table td:last-child { width: auto; min-width: 0; }
  .admin-body .content-table .entry-more { position: static; }
  .admin-body .content-table .entry-more-options { left: 0; right: auto; max-width: calc(100vw - 48px); }
}
.admin-body .topbar-context { min-width: 0; }
.admin-body .topbar-context strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-body .admin-page-tabs { min-width: 0; max-width: 100%; }
.admin-body dialog { max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow: auto; }
.public-site-shell :is(.hero-grid, .about-grid, .contact-grid, .work-grid, .education-grid, .listing-grid) > * { min-width: 0; }
.public-site-shell .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.public-site-shell :is(.hero-actions, .certificate-actions, .footer-policy-links) { flex-wrap: wrap; }
.public-site-shell :is(.footer-connect a, .contact-channel a, .rich-content a) { overflow-wrap: anywhere; }
.public-site-shell .rich-content pre { max-width: 100%; overflow: auto; }
.public-site-shell .contact-portrait-stage { overflow: clip; }

@media (min-width: 1800px) {
  .admin-body .profile-editor:has(#intro) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) clamp(280px, 18%, 380px); }
  .admin-body .profile-editor:has(#intro) .profile-section:has(#name) { grid-column: 1; grid-row: 1; }
  .admin-body .profile-editor:has(#intro) #indicadores { grid-column: 2; grid-row: 1; }
  .admin-body .profile-editor:has(#intro) .profile-section:has(#intro) { grid-column: 1 / span 2; }
  .admin-body .profile-editor:has(#intro) .profile-photo { grid-column: 3; grid-row: 1 / span 2; }
}

/* About editor: explicit areas prevent legacy wide-screen spans leaving empty rows. */
.admin-body form.profile-editor.bio-workspace { padding: 0; }
.admin-body .profile-editor.bio-workspace {
  grid-template-columns: minmax(0, 1fr) clamp(280px, 22vw, 360px);
  grid-template-areas: "heading photo" "biography photo" "actions actions";
  gap: 24px;
  align-items: start;
}
.admin-body .profile-editor.bio-workspace .bio-heading-section { grid-area: heading; }
.admin-body .profile-editor.bio-workspace .bio-content-section,
.admin-body .profile-editor.bio-workspace .profile-section:has(#bio) { grid-area: biography; }
.admin-body .profile-editor.bio-workspace .profile-photo { grid-area: photo; }
.admin-body .profile-editor.bio-workspace .form-actions { grid-area: actions; }
.bio-workspace .bio-heading-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr); gap: 18px 24px; }
.bio-workspace .bio-heading-label { grid-column: 1 / -1; }
.bio-workspace .bio-heading-grid > div { min-width: 0; }
.admin-body .bio-workspace .profile-section legend { margin-bottom: 8px; }
.admin-body .bio-workspace .bio-section-description { clear: both; margin: 0 0 24px; color: var(--muted); font-size: 14px; }
.admin-body .bio-workspace .bio-heading-grid label { margin-top: 0; }
.admin-body .bio-workspace .bio-heading-grid textarea { min-height: 96px; margin-bottom: 0; }
.admin-body .bio-workspace .bio-editor-label { margin-top: 0; }
.admin-body .bio-workspace .profile-photo { display: flex; flex-direction: column; }
.admin-body .bio-workspace .profile-photo legend { order: 0; }
.admin-body .bio-workspace .profile-photo .image-preview { order: 1; height: 300px; width: 100%; margin: 16px 0 24px; background: #f0f3ed; }
.admin-body .bio-workspace .profile-photo label[for=image] { order: 2; margin-top: 0; }
.admin-body .bio-workspace .profile-photo input[type=file] { order: 3; font-size: 13px; }
.admin-body .bio-workspace .profile-photo .check-label { order: 4; align-items: flex-start; }
.admin-body .bio-workspace .profile-photo .form-note { order: 5; }
.admin-body .bio-workspace .bio-save-note { margin: 0 auto 0 0; font-size: 13px; color: var(--muted); }
@media(min-width: 1800px) {
  .admin-body .profile-editor.bio-workspace {
    grid-template-columns: minmax(360px, .8fr) minmax(0, 1.5fr) 360px;
    grid-template-areas: "heading biography photo" "actions actions actions";
  }
  .bio-workspace .bio-heading-grid { grid-template-columns: minmax(0, 1fr); }
}
@media(max-width: 1100px) {
  .bio-workspace .bio-heading-grid { grid-template-columns: minmax(0, 1fr); }
}
@media(max-width: 1024px) {
  .admin-body .profile-editor.bio-workspace { grid-template-columns: minmax(0, 1fr); grid-template-areas: "heading" "biography" "photo" "actions"; gap: 20px; }
  .admin-body .bio-workspace .profile-photo .image-preview { width: min(100%, 280px); margin: 16px auto 24px; }
}
@media(max-width: 600px) {
  .admin-body .bio-workspace .bio-section-description { font-size: 13px; margin-bottom: 20px; }
  .admin-body .bio-workspace .bio-save-note { flex-basis: 100%; }
}
@media (max-width: 1100px) {
  .admin-body .settings-layout { grid-template-columns: minmax(0, 1fr); }
  .admin-body .settings-nav { display: flex; overflow-x: auto; position: static; max-width: 100%; }
  .admin-body .settings-nav a { flex: 0 0 auto; }
  .admin-body .settings-nav .eyebrow { display: none; }
  .admin-body .metric-edit-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1024px) {
  .admin-body .admin-shell { display: block; }
  .admin-body .admin-main { width: 100%; }
  .admin-body .profile-editor { grid-template-columns: minmax(0, 1fr); }
  .admin-body .profile-editor .profile-photo { grid-column: 1; grid-row: auto; }
  .admin-body .package-edit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .public-site-shell .container { width: calc(100% - 40px); max-width: 100%; }
  .public-site-shell :is(.hero-grid, .about-grid, .contact-grid) { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .public-site-shell .nav-shell { flex-wrap: wrap; gap: 12px; }
  .public-site-shell .brand { min-width: 0; flex: 1 1 0; max-width: calc(100% - 90px); }
  .public-site-shell .menu-toggle { flex: 0 0 auto; }
  .public-site-shell .brand-name { min-width: 0; overflow-wrap: anywhere; }
  .public-site-shell .expertise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-site-shell .portrait-stage { max-width: 100%; }
}
@media (max-width: 760px) {
  .admin-body .admin-content { padding: 22px 16px; }
  .admin-body :is(.profile-grid, .form-grid, .entry-fields, .package-edit-grid, .metric-edit-grid) { grid-template-columns: minmax(0, 1fr); }
  .admin-body .entry-field-wide { grid-column: 1; }
  .admin-body .admin-topbar { padding: 0 16px; gap: 8px; }
  .admin-body .topbar-context { gap: 10px; flex: 1; }
  .admin-body .topbar-context > div { min-width: 0; }
  .admin-body .topbar-context strong { max-width: none; }
  .admin-body .topbar-actions { gap: 8px; flex: none; }
  .admin-body .topbar-site { display: none; }
  .admin-body .admin-heading { align-items: flex-start; flex-direction: column; }
  .admin-body .admin-page-tabs { width: 100%; }
  .admin-body :is(.content-form, .admin-panel, .profile-editor .profile-section) { padding: 20px 16px; }
  .admin-body .profile-editor { padding: 0; }
  .admin-body :is(input, select, textarea) { font-size: 16px; }
  .admin-body .content-form input[type=file] { width: 100%; overflow: hidden; }
  .admin-body .form-actions .button { flex: 1 1 140px; white-space: normal; }
  .public-site-shell :is(.listing-grid, .work-grid, .education-grid, .form-grid) { grid-template-columns: minmax(0, 1fr); }
  .public-site-shell .filter-form { grid-template-columns: minmax(0, 1fr); }
  .public-site-shell .contact-banner > .container { flex-direction: column; align-items: flex-start; gap: 24px; }
  .public-site-shell .timeline-item { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .public-site-shell .button { max-width: 100%; white-space: normal; }
  .public-site-shell .hero-actions { gap: 18px; }
  .public-site-shell :is(input, select, textarea) { font-size: 16px; }
}
@media (max-width: 480px) {
  .public-site-shell .container { width: calc(100% - 32px); }
  .public-site-shell .expertise-grid, .public-site-shell .credentials-grid { grid-template-columns: minmax(0, 1fr); }
  .public-site-shell .hero h1, .public-site-shell .page-heading h1 { font-size: clamp(32px, 10vw, 46px); }
  .public-site-shell .hero-portrait { width: min(100%, 280px); height: auto; max-height: 430px; }
  .public-site-shell .brand { gap: 8px; }
  .public-site-shell .brand small { letter-spacing: .08em; }
  .public-site-shell .brand-name { font-size: 13px; }
  .public-site-shell .brand small { font-size: 8px; }
}
