/* Distribucion compartida; se carga al final para resolver diferencias entre pantallas. */
@media screen {
  .company-page :is(.hero-copy,.company-heading>*,.company-about>*,.company-banner>*) { min-width:0; }
  .company-page .company-hero { width:calc(100% - 64px);max-width:1176px;margin-inline:auto;min-height:0; }
  .company-page .hero-photo { min-height:clamp(400px,42vw,560px); }
  .company-page .hero-copy { padding:clamp(28px,3.5vw,48px); }
  .company-page .company-about,.company-page .company-banner { width:calc(100% - 64px);margin-inline:auto; }
  .company-page .site-header nav { flex-wrap:wrap;gap:12px 24px; }
  .company-page .site-header nav>a { display:inline-flex;align-items:center;min-height:44px; }
  .dashboard-page .page-heading { flex-wrap:wrap;gap:16px; }
  .dashboard-page .table-responsive { overscroll-behavior-x:contain; }
  .dashboard-page :is(.card-body,.page-heading) { overflow-wrap:anywhere; }
  .patient-portal :is(.patient-main,.patient-sidebar,.grid>*) { min-width:0; }
}
@media screen and (min-width:992px) and (max-width:1440px) {
  .dashboard-page { --dashboard-sidebar:230px; }
  .dashboard-page > .container-fluid:has(.modules-card) { padding:24px!important; }
  .dashboard-page > .container-fluid:has(.modules-card) > :is(.row,.site-workspace) { gap:24px; }
  .home-page .col-lg-10>.row { grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); }
}
@media screen and (min-width:701px) and (max-width:1100px) {
  .company-page .company-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .company-page .site-header { flex-wrap:wrap;gap:12px; }
  .company-page .site-header nav { width:100%;justify-content:space-between; }
  .company-page h1 { font-size:clamp(34px,4.5vw,48px); }
}
@media screen and (max-width:700px) {
  .company-page .company-hero { width:calc(100% - 32px);grid-template-columns:minmax(0,1fr);margin-top:8px;border-radius:20px; }
  .company-page .hero-copy { padding:28px 22px; }
  .company-page h1 { font-size:clamp(32px,8.5vw,46px);letter-spacing:-1.4px; }
  .company-page .hero-photo { min-height:0;height:clamp(270px,85vw,400px);margin:0 10px 10px; }
  .company-page :is(.site-header,.company-section,.company-footer) { padding-inline:20px; }
  .company-page .site-header nav { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px; }
  .company-page .site-header nav>a { font-size:13px;white-space:normal; }
  .company-page .site-header .system-access { grid-column:1/-1;justify-content:center; }
  .company-page .company-section { padding-block:40px; }
  .company-page :is(.company-about,.company-banner) { width:calc(100% - 32px); }
  .company-page .company-banner .button { flex-shrink:1;max-width:100%; }
  .company-page .care-strip { margin-inline:20px; }
  .company-page .hero-copy>.button { max-width:100%;white-space:normal;font-size:14px; }
}
@media screen and (max-width:575.98px) {
  .dashboard-page > main.container-fluid:has(.modules-card) { padding:16px!important; }
  .dashboard-page > .navbar .container-fluid { gap:10px; }
  .dashboard-page .navbar-brand { font-size:14px;margin-right:0; }
  .dashboard-page #logoutButton { padding:8px 10px;font-size:12px; }
  .dashboard-page .page-heading>* { max-width:100%; }
  .dashboard-page .page-heading>.d-flex { flex-wrap:wrap; }
  .dashboard-page.home-page .welcome-panel { padding:24px!important; }
  .home-page .col-lg-10>.row { grid-template-columns:minmax(0,1fr);gap:16px; }
  .dashboard-page :is(input,select,textarea).form-control,.dashboard-page select.form-select { font-size:16px; }
  .dashboard-page .modal-footer { gap:8px; }
  .dashboard-page .modal-footer>.btn { flex:1 1 auto;margin:0;min-height:44px; }
  .login-page .login-main { padding:24px 16px!important; }
  .login-page .login-form-panel { padding:24px!important; }
  .reset-card .card-body { padding:24px!important; }
}
