/* Ajustes de encaixe da interface original. Não altera cores nem regras dos módulos. */
main, #view-admin, #view-provider, #view-resident, #view-doorman { min-width: 0; }

#app-top-header { flex-wrap: wrap; gap: 8px; }
#app-top-header > div:first-of-type { min-width: 0; flex: 1; }
#app-top-header #user-badge-icon { flex-shrink: 0; }
#app-top-header > div:first-of-type > div:last-child { min-width: 0; overflow-wrap: anywhere; }
#app-top-header > div:last-of-type { flex-shrink: 0; flex-wrap: wrap; gap: 6px; }

#admin-bi-banner > div { gap: 12px; }
#admin-bi-banner > div > div { flex: 1; min-width: 0; }
#admin-bi-banner > div > div > div:first-child { flex-shrink: 0; }
#admin-bi-banner > div > div > div:last-child { min-width: 0; }
#admin-bi-banner h3 { flex-wrap: wrap; gap: 5px; }
#admin-bi-banner h3 > span:last-child { margin-left: 0; flex-shrink: 0; white-space: nowrap; }
#admin-bi-banner > div > span { margin-left: 0; }

#admin-overview-header { display: flex; flex-direction: column; align-items: stretch; gap: 14px; }
#admin-overview-identity { min-width: 0; }
#admin-overview-identity > div:first-child { flex-shrink: 0; }
#admin-overview-identity > div:last-child { min-width: 0; flex: 1; }
#admin-overview-identity > div:last-child > div { flex-wrap: wrap; gap: 4px 6px; }
#admin-overview-identity h1 { overflow-wrap: anywhere; }
#admin-overview-identity p { margin-top: 4px; line-height: 1.45; }
#admin-overview-identity span { margin-left: 0; white-space: nowrap; }
#admin-overview-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
#admin-overview-actions > button { margin-left: 0; min-width: 0; min-height: 38px; justify-content: center; gap: 6px; }
#admin-overview-actions > button > span { display: inline; margin-left: 0; }
#admin-overview-actions > button > i { flex-shrink: 0; }

#admin-module-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; }
#admin-module-tabs > button { min-width: 0; min-height: 54px; padding: 7px 2px; flex-direction: column; gap: 4px; }
#admin-module-tabs > button > span { margin-left: 0; font-size: clamp(8.5px, 2.3vw, 10px); line-height: 1.25; text-align: center; overflow-wrap: anywhere; }

#admin-buildings-list > div, #admin-providers-list > div, #admin-prices-list > div,
#admin-clients-container > div, #clients-list-container > [data-client-id] { min-width: 0; flex-wrap: wrap; gap: 10px; }
#admin-buildings-list > div > div:first-child,
#admin-providers-list > div > div:first-child,
#admin-prices-list > div > div:first-child { min-width: 0; flex: 1 1 170px; }
#admin-providers-list > div > div:first-child > div:last-child { min-width: 0; }
#admin-buildings-list h3, #admin-providers-list p, #admin-prices-list h3,
#clients-list-container h3 { overflow-wrap: anywhere; }

#peterson-metrics-toolbar { flex-wrap: wrap; gap: 8px; }
#peterson-metrics-toolbar > div { min-width: 0; }
#provider-subscreen-title { min-width: 0; }
#persistent-manager > div:first-child { flex-wrap: wrap; gap: 8px; }
#persistent-manager-title { min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 360px) {
  #admin-bi-banner > div { flex-direction: column; align-items: stretch; }
  #admin-bi-banner > div > span { align-self: flex-start; }
  #app-top-header > div:last-of-type { margin-left: auto; }
}
