:root{
  --sup-azul:#045796;
  --sup-verde:#8DC63F;
  --sup-celeste:#00B6DE;
  --sup-gris-claro:#BCBEC0;
  --sup-gris-oscuro:#808285;
  --sup-fondo:#f5fbfe;
}
body{background:linear-gradient(135deg,#cfefff 0%,#e2f7ff 38%,#d8efff 70%,#f4fbff 100%);color:#1f2933;min-height:100vh}
.navbar{background:linear-gradient(90deg,var(--sup-celeste),var(--sup-azul))!important;box-shadow:0 2px 10px rgba(4,87,150,.18)}
.navbar .navbar-brand,.navbar .nav-link{color:#fff!important}
.card{border:1px solid rgba(0,182,222,.14);box-shadow:0 8px 24px rgba(4,87,150,.07);border-radius:18px;background:#fff}
section h3{font-size:1.2rem;color:var(--sup-azul);border-left:5px solid var(--sup-celeste);padding-left:.65rem}
.btn-success{background:var(--sup-verde);border-color:var(--sup-verde);color:#17310a;font-weight:700}
.btn-primary{background:var(--sup-azul);border-color:var(--sup-azul)}
.form-control:focus,.form-select:focus{border-color:var(--sup-celeste);box-shadow:0 0 0 .2rem rgba(0,182,222,.18)}
.alert-danger{background:#fff1f2;border-color:#fecdd3;color:#7f1d1d}
.text-muted{color:#6b7280!important}
hr{border-color:var(--sup-gris-claro);opacity:.45}

.menu-card{transition:.18s ease;color:#1f2933}
.menu-card:hover{transform:translateY(-3px);border-color:var(--sup-celeste);box-shadow:0 12px 30px rgba(4,87,150,.12)}
.menu-card h4{color:var(--sup-azul)}

.excel-like th{background:#f8fbfd;color:#045796;font-size:.78rem;white-space:nowrap;position:sticky;top:0;z-index:1}
.excel-like td{font-size:.78rem;white-space:nowrap}
.excel-like .text-wrap-cell{white-space:normal;min-width:180px;max-width:260px}
.table-responsive{max-height:72vh}


/* Vista tipo Excel para Centros */
.excel-scroll{max-height:58vh; overflow:auto}
.excel-like{border-collapse:separate;border-spacing:0}
.excel-like th{
  background:#003b88;
  color:#fff;
  font-size:.72rem;
  white-space:nowrap;
  position:sticky;
  top:0;
  z-index:2;
  border:1px solid #d7e2f0!important;
  padding:.38rem .5rem;
}
.excel-like td{
  font-size:.72rem;
  white-space:nowrap;
  background:#fff;
  border:1px solid #e3edf7!important;
  padding:.32rem .45rem;
}
.excel-like tbody tr:nth-child(even) td{background:#fbfdff}
.excel-like .excel-wide{min-width:220px;white-space:normal}
.excel-status{
  display:inline-block;
  background:#d7f6c3;
  color:#237600;
  font-weight:700;
  padding:2px 5px;
  border-radius:2px;
}


/* V18: Responsive laptop/tablet/celular y formularios más centrados */
.main-shell{max-width:1180px;margin:0 auto}
@media (min-width: 1400px){ .container{max-width:1200px} }
form.needs-validation, .form-centered{max-width:1120px;margin-left:auto;margin-right:auto}
.card{overflow:hidden}
.form-control,.form-select,.btn{border-radius:10px}
.table-responsive,.excel-scroll{width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
.table{min-width:850px}
.excel-like{min-width:1150px}

@media (max-width: 991.98px){
  body{font-size:15px}
  main.container{padding-left:14px;padding-right:14px}
  h1{font-size:2rem;line-height:1.12}
  .navbar .container{max-width:100%}
  .card{border-radius:16px}
  .btn-lg{width:100%}
  .menu-card{min-height:unset}
}

@media (max-width: 575.98px){
  body{font-size:14px;background:#f7fcff}
  main.container{padding-top:18px!important}
  h1{font-size:1.7rem;margin-bottom:.4rem}
  h3{font-size:1.05rem!important}
  .card{border-radius:14px;margin-bottom:14px!important}
  .card-body{padding:16px}
  .row.g-3{--bs-gutter-y:.8rem}
  label{font-size:.9rem;font-weight:700}
  .form-control,.form-select{min-height:44px;font-size:16px}
  .btn{min-height:44px}
  .navbar-brand{font-size:1rem}
  .navbar .text-white{display:block;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .table{font-size:.8rem}
  .table-responsive{border-radius:12px}
  .alert{font-size:.9rem}
}

.requisitos-box{
  background:linear-gradient(180deg,#ffffff,#f4fbff);
  border:1px solid rgba(0,182,222,.22);
  border-radius:18px;
  padding:18px;
}
.requisitos-box h3{border-left:0;padding-left:0;color:#045796}
.requisitos-box ul{margin-bottom:0}
.badge-country{display:inline-block;background:#00B6DE;color:#fff;border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:700}

/* Fondo institucional suave para formularios de admisión */
.solicitud-form .card, .form-start-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8fdff 100%);
}
.solicitud-form .card-body{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,251,255,.98));
}


/* V29: fondo institucional más azul y tarjetas con contraste suave */
main.container, .main-shell{position:relative}
.solicitud-form .card{
  border-color:rgba(0,182,222,.24);
  box-shadow:0 10px 30px rgba(4,87,150,.10);
}
.solicitud-form .card-body{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,253,255,.98));
}
.form-start-card .form-control.bg-light,
.form-control.bg-light{
  background:#eef7ff!important;
}
@media (min-width: 768px){
  .solicitud-form .row.g-3{align-items:flex-start}
}


/* =========================================================
   PATCH V32 - FONDO DEGRADADO SUAVE SIN ROMPER BOOTSTRAP
   Mantiene estructura original y solo mejora visual.
========================================================= */

body{
  background:
    radial-gradient(circle at left top, rgba(0,182,222,.18), transparent 26%),
    radial-gradient(circle at right bottom, rgba(141,198,63,.10), transparent 24%),
    linear-gradient(135deg,#eef9fd 0%,#e5f5fb 35%,#d9eff8 70%,#cfeaf5 100%) !important;
  background-attachment:fixed!important;
}

.pa-centros-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:28px 12px 48px;
}

.pa-centros h1{
  color:#102a43!important;
  font-weight:800!important;
  text-align:center;
  font-size:2.35rem;
  margin-bottom:.75rem;
}

.pa-centros .pa-subtitle{
  color:#5b6b7f!important;
  text-align:center;
  margin-bottom:2rem;
}

.pa-card{
  background:#fff!important;
  border:1px solid rgba(0,182,222,.12)!important;
  border-radius:18px!important;
  box-shadow:0 8px 22px rgba(4,87,150,.08)!important;
  height:100%;
  transition:.18s ease;
}

.pa-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(4,87,150,.13)!important;
}

.pa-card-body{
  padding:18px!important;
}

.pa-card .btn-centro{
  display:block;
  width:100%;
  background:#045796!important;
  color:#fff!important;
  border:0!important;
  border-radius:10px!important;
  padding:.7rem .8rem!important;
  text-align:center;
  font-weight:800!important;
  text-decoration:none!important;
  line-height:1.25;
  margin-bottom:1rem;
}

.pa-card .btn-centro:hover{
  background:#00B6DE!important;
  color:#fff!important;
}

.pa-card p{
  color:#1f2933;
  font-size:.95rem;
}

.home-hero{
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(0,182,222,.15);
  box-shadow:0 10px 30px rgba(4,87,150,.08);
}

.form-card,
.card{
  background:#fff;
}

/* Título Solicitud */
.adm-title-2027{
  color:#045796!important;
  font-weight:800!important;
}

/* =========================================================
   FIX FINAL - Botones centros Panamá
   Solo afecta los links de centros_panama.php
========================================================= */
.pa-card-body > a.btn-centro.pa-centro-link {
    display: block !important;
    width: 100% !important;
    background-color: #045796 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 16px 20px !important;
    border-radius: 14px !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    line-height: 1.3 !important;
    margin-bottom: 14px !important;
    box-shadow: 0 4px 12px rgba(4,87,150,.18) !important;
}

.pa-card-body > a.btn-centro.pa-centro-link:hover {
    background-color: #00B6DE !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}


/* =========================================================
   V41 - Landing pública Proceso de Admisión 2027
   Integrada al MVC. No afecta formularios ni panel admin.
========================================================= */

main.home-main{
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
}

.home-admision{
    font-family: 'Montserrat', 'Roboto', Arial, sans-serif;
    background: #eaf9ff;
    color: #004f88;
    overflow: hidden;
}

.home-admision .container{
    max-width: 1180px;
}

.home-hero{
    background: linear-gradient(135deg, #045796 0%, #004675 100%);
    min-height: 430px;
    padding: 28px 18px 42px;
    color: #fff;
}

.home-hero-inner{
    max-width: 980px;
    margin: 0 auto;
}

.home-brand{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 18px;
}

.home-logo{
    max-width: 160px;
    height: auto;
    display: block;
}

.home-hero-card{
    border: 1px solid rgba(255,255,255,.28);
    background: rgba(255,255,255,.08);
    border-radius: 14px;
    min-height: 250px;
    padding: 34px;
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 30px;
    align-items: center;
    box-shadow: 0 18px 45px rgba(0,0,0,.12);
}

.home-hero-text{
    text-align: center;
}

.home-hero-text h1{
    font-size: clamp(2rem, 4vw, 3.6rem);
    line-height: 1.08;
    font-weight: 800;
    color: #fff;
    margin-bottom: 18px;
}

.home-hero-text p{
    max-width: 390px;
    margin: 0 auto 12px;
    font-size: .98rem;
    line-height: 1.45;
    color: #fff;
    font-weight: 600;
}

.home-video{
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 16px;
    overflow: hidden;
    background: rgba(255,255,255,.16);
    box-shadow: 0 12px 28px rgba(0,0,0,.2);
}

.home-video iframe{
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.home-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 130px;
    padding: 12px 24px;
    border-radius: 999px;
    background: #00B6DE;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
    border: 0;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
    box-shadow: 0 8px 20px rgba(0,182,222,.25);
}

.home-btn:hover{
    background: #045796;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(4,87,150,.25);
}

.home-btn-light{
    background: transparent;
    border: 2px solid #fff;
    min-width: 96px;
    padding: 8px 18px;
    font-size: .9rem;
    box-shadow: none;
    margin-top: 8px;
}

.home-btn-light:hover{
    background: #00B6DE;
    border-color: #00B6DE;
}

.home-requisitos{
    background: #e9f8ff;
    padding: 28px 0 56px;
}

.home-requisitos h2,
.home-sponsors h2{
    text-align: center;
    color: #00B6DE;
    font-weight: 800;
    font-size: clamp(2.1rem, 4vw, 3.4rem);
    margin: 0 0 30px;
}

.home-country-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 42px;
}

.home-country-card{
    min-height: 330px;
    border: 1.5px dashed #00B6DE;
    border-radius: 38px;
    background: rgba(255,255,255,.22);
    padding: 34px 44px 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.home-country-card h3{
    color: #00B6DE;
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 800;
    text-align: center;
    margin-bottom: 24px;
}

.home-country-card ul{
    color: #045796;
    font-size: 1.12rem;
    line-height: 1.55;
    margin-bottom: 28px;
    padding-left: 22px;
}

.home-sponsors{
    background: #cfeeff;
    padding: 28px 0 34px;
}

.home-sponsors h2{
    font-size: 1.2rem;
    color: #045796;
    margin-bottom: 22px;
}

.home-marquee{
    width: 100%;
    overflow: hidden;
    position: relative;
}

.home-marquee-track{
    display: flex;
    width: max-content;
    gap: 18px;
    align-items: center;
    animation: homeMarquee 38s linear infinite;
    padding: 4px 18px;
}

.home-marquee:hover .home-marquee-track{
    animation-play-state: paused;
}

.home-sponsor-logo{
    width: 145px;
    height: 58px;
    border-radius: 15px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    box-shadow: 0 6px 14px rgba(4,87,150,.08);
    flex: 0 0 auto;
}

.home-sponsor-logo img{
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}

@keyframes homeMarquee{
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (max-width: 991.98px){
    .home-hero-card{
        grid-template-columns: 1fr;
        max-width: 720px;
        margin: 0 auto;
    }

    .home-country-grid{
        grid-template-columns: 1fr;
        gap: 24px;
        max-width: 540px;
        margin: 0 auto;
    }

    .home-country-card{
        min-height: auto;
    }
}

@media (max-width: 575.98px){
    .home-hero{
        padding: 22px 12px 34px;
    }

    .home-hero-card{
        padding: 22px;
        border-radius: 12px;
    }

    .home-country-card{
        border-radius: 28px;
        padding: 28px 28px 26px;
    }

    .home-sponsor-logo{
        width: 126px;
        height: 54px;
    }
}

/* =========================================================
   V42 LANDING SUPERATE COMPLETA
   Bloque aislado para la página inicial.
   No afecta formularios, admin, Bootstrap ni centros Panamá.
========================================================= */

main.home-main{
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
}

.home-v42{
    font-family: 'Montserrat', 'Roboto', Arial, sans-serif;
    background: #eaf9ff;
    color: #004f88;
    overflow: hidden;
}

.home-v42 .container{
    max-width: 1180px;
}

.home-v42 .home-hero{
    background:
      radial-gradient(circle at top left, rgba(0,182,222,.22), transparent 34%),
      linear-gradient(135deg, #045796 0%, #004675 100%);
    min-height: 450px;
    padding: 28px 18px 46px;
    color: #fff;
}

.home-v42 .home-hero-inner{
    max-width: 1040px;
    margin: 0 auto;
}

.home-v42 .home-brand{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 18px;
}

.home-v42 .home-logo{
    max-width: 158px;
    height: auto;
    display: block;
    filter: drop-shadow(0 7px 15px rgba(0,0,0,.18));
}

.home-v42 .home-hero-card{
    border: 1px solid rgba(255,255,255,.28);
    background: rgba(255,255,255,.08);
    border-radius: 14px;
    min-height: 270px;
    padding: 34px;
    display: grid;
    grid-template-columns: .88fr 1.12fr;
    gap: 30px;
    align-items: center;
    box-shadow: 0 18px 45px rgba(0,0,0,.12);
    backdrop-filter: blur(4px);
}

.home-v42 .home-hero-text{
    text-align: center;
}

.home-v42 .home-eyebrow{
    display: inline-block;
    color: #8DC63F;
    font-weight: 800;
    letter-spacing: .03em;
    margin-bottom: 8px;
}

.home-v42 .home-hero-text h1{
    font-size: clamp(2.2rem, 4.7vw, 4rem);
    line-height: 1.04;
    font-weight: 900;
    color: #fff;
    margin-bottom: 18px;
}

.home-v42 .home-hero-text p{
    max-width: 410px;
    margin: 0 auto 12px;
    font-size: .98rem;
    line-height: 1.45;
    color: #fff;
    font-weight: 600;
}

.home-v42 .home-video{
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255,255,255,.16);
    box-shadow: 0 14px 32px rgba(0,0,0,.26);
    border: 1px solid rgba(255,255,255,.28);
}

.home-v42 .home-video iframe{
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.home-v42 .home-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 138px;
    padding: 12px 26px;
    border-radius: 999px;
    background: #00B6DE;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800;
    border: 0;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
    box-shadow: 0 8px 20px rgba(0,182,222,.25);
}

.home-v42 .home-btn:hover{
    background: #045796;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(4,87,150,.25);
}

.home-v42 .home-btn-light{
    background: #fff;
    color: #045796 !important;
    box-shadow: none;
    margin-top: 8px;
    min-width: 104px;
    padding: 9px 18px;
    font-size: .92rem;
}

.home-v42 .home-btn-light:hover{
    background: #8DC63F;
    color: #fff !important;
}

.home-v42 .home-requisitos{
    background: #e8f8ff;
    padding: 18px 18px 58px;
}

.home-v42 .home-requisitos h2,
.home-v42 .home-sponsors h2{
    text-align: center;
    color: #00B6DE;
    font-weight: 900;
    font-size: clamp(2rem, 4vw, 3rem);
    margin-bottom: 34px;
}

.home-v42 .home-country-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 42px;
}

.home-v42 .home-country-card{
    min-height: 405px;
    border: 1.5px dashed #00B6DE;
    border-radius: 36px;
    padding: 38px 42px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(255,255,255,.15);
}

.home-v42 .home-country-card h3{
    color: #00B6DE;
    font-weight: 900;
    font-size: clamp(1.9rem, 3vw, 2.65rem);
    margin-bottom: 24px;
    text-align: center;
}

.home-v42 .home-country-card ul{
    color: #004f88;
    font-size: 1.1rem;
    line-height: 1.55;
    margin-bottom: 28px;
    padding-left: 22px;
    width: 100%;
}

.home-v42 .home-country-card .home-btn{
    margin-top: auto;
}

.home-v42 .home-sponsors{
    background: #c9eeff;
    padding: 26px 0 30px;
}

.home-v42 .home-sponsors h2{
    font-size: 1.1rem;
    color: #045796;
    margin-bottom: 18px;
}

.home-v42 .home-marquee{
    overflow: hidden;
    width: 100%;
    padding: 6px 0;
}

.home-v42 .home-marquee-track{
    display: flex;
    gap: 22px;
    width: max-content;
    animation: homeSponsorMarquee 34s linear infinite;
}

.home-v42 .home-marquee:hover .home-marquee-track{
    animation-play-state: paused;
}

.home-v42 .home-sponsor-logo{
    width: 132px;
    height: 54px;
    border-radius: 13px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    box-shadow: 0 8px 18px rgba(4,87,150,.08);
    flex: 0 0 auto;
}

.home-v42 .home-sponsor-logo img{
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}

@keyframes homeSponsorMarquee{
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (max-width: 991.98px){
    .home-v42 .home-hero-card{
        grid-template-columns: 1fr;
        max-width: 720px;
        margin: 0 auto;
    }

    .home-v42 .home-country-grid{
        grid-template-columns: 1fr;
        max-width: 520px;
        margin: 0 auto;
        gap: 24px;
    }

    .home-v42 .home-country-card{
        min-height: auto;
    }
}

@media (max-width: 575.98px){
    .home-v42 .home-hero{
        padding: 24px 14px 36px;
    }

    .home-v42 .home-hero-card{
        padding: 24px 18px;
        border-radius: 18px;
    }

    .home-v42 .home-logo{
        max-width: 132px;
    }

    .home-v42 .home-country-card{
        padding: 30px 28px;
        border-radius: 28px;
    }

    .home-v42 .home-country-card ul{
        font-size: 1rem;
    }
}




/* =========================================================
   SUPERATE FIX 26 — Admin vistas uniformes y compactas
   Objetivo: que Listado, Pendientes, Activos y demás vistas
   mantengan el mismo estilo visual, con KPIs pequeños.
========================================================= */

.sup-admin-dashboard-page{
  max-width: 1220px;
  margin: 0 auto;
}

.sup-admin-dashboard-page > h1,
.sup-admin-dashboard-page .sup-page-title h1,
.sup-admin-dashboard-page h1:first-child{
  font-size: clamp(2rem, 3.2vw, 2.65rem) !important;
  font-weight: 850 !important;
  letter-spacing: -.035em;
  color: #142033 !important;
}

.sup-admin-dashboard-page > p,
.sup-admin-dashboard-page .sup-page-title p{
  color:#667085!important;
  margin-bottom: 1.1rem!important;
}

/* Botones superiores */
.sup-admin-dashboard-page .d-flex.justify-content-between,
.sup-admin-dashboard-page .d-flex.align-items-center{
  gap: 12px;
}

.sup-admin-dashboard-page .btn{
  min-height: 38px!important;
  padding: .42rem .85rem!important;
  font-weight: 700!important;
  border-radius: 12px!important;
}

/* KPIs superiores: más pequeños y uniformes */
.sup-admin-dashboard-page .row.g-3.mb-4{
  --bs-gutter-x: .85rem;
  --bs-gutter-y: .85rem;
}

.sup-admin-dashboard-page .row.g-3.mb-4 > [class*="col"]{
  flex: 1 1 130px;
  max-width: 180px;
}

.sup-admin-dashboard-page .row.g-3.mb-4 .card,
.sup-admin-dashboard-page .sup-kpi-card{
  min-height: 105px!important;
  padding: 14px 16px!important;
  border-radius: 18px!important;
  background: rgba(255,255,255,.94)!important;
  border: 1px solid rgba(4,87,150,.10)!important;
  box-shadow: 0 10px 24px rgba(4,87,150,.06)!important;
  position: relative;
  overflow: hidden;
}

.sup-admin-dashboard-page .row.g-3.mb-4 .card::after,
.sup-admin-dashboard-page .sup-kpi-card::after{
  content: "";
  position: absolute;
  right: -24px;
  top: -22px;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: rgba(0,182,222,.13);
}

.sup-admin-dashboard-page .row.g-3.mb-4 .card strong,
.sup-admin-dashboard-page .row.g-3.mb-4 .card .fw-bold,
.sup-admin-dashboard-page .row.g-3.mb-4 .card h2,
.sup-admin-dashboard-page .row.g-3.mb-4 .card h3{
  font-size: 1.75rem!important;
  line-height: 1!important;
}

.sup-admin-dashboard-page .row.g-3.mb-4 .card .text-muted,
.sup-admin-dashboard-page .row.g-3.mb-4 .card small,
.sup-admin-dashboard-page .row.g-3.mb-4 .card div:first-child{
  font-size: .78rem!important;
  line-height: 1.12!important;
}

/* Filtros: más limpios y uniformes */
.sup-admin-dashboard-page form,
.sup-admin-dashboard-page .card form{
  margin-bottom: 0!important;
}

.sup-admin-dashboard-page .card:has(form),
.sup-admin-dashboard-page .sup-filter-card{
  border-radius: 22px!important;
  border: 1px solid rgba(4,87,150,.10)!important;
  background: rgba(255,255,255,.94)!important;
  box-shadow: 0 12px 28px rgba(4,87,150,.065)!important;
}

.sup-admin-dashboard-page label{
  font-weight: 750!important;
  color: #344054!important;
}

.sup-admin-dashboard-page .form-control,
.sup-admin-dashboard-page .form-select{
  min-height: 42px!important;
  border-radius: 12px!important;
  border-color: rgba(4,87,150,.14)!important;
}

/* Whitelist y filtros pequeños */
.sup-admin-dashboard-page .btn-outline-success,
.sup-admin-dashboard-page .btn-outline-primary,
.sup-admin-dashboard-page .btn-outline-secondary{
  background: rgba(255,255,255,.65);
}

/* Encabezado de sección */
.sup-admin-dashboard-page h2,
.sup-admin-dashboard-page h3:not(section h3){
  color:#172235!important;
  font-weight:850!important;
  letter-spacing:-.02em;
}

/* Tablas */
.sup-admin-dashboard-page .table-responsive{
  border-radius: 20px!important;
  box-shadow: 0 10px 24px rgba(4,87,150,.055)!important;
  border:1px solid rgba(4,87,150,.08)!important;
  background:#fff!important;
}

.sup-admin-dashboard-page table{
  margin-bottom:0!important;
}

.sup-admin-dashboard-page thead th{
  background:#fff!important;
  color:#111827!important;
  font-weight:850!important;
  border-bottom:1px solid rgba(4,87,150,.12)!important;
}

.sup-admin-dashboard-page tbody td{
  vertical-align: middle!important;
}

/* Botón activar seleccionados */
.sup-admin-dashboard-page .btn-success{
  background:#8DC63F!important;
  border-color:#8DC63F!important;
  color:#17310a!important;
  box-shadow:0 8px 18px rgba(141,198,63,.18)!important;
}

/* Responsive */
@media (max-width: 991.98px){
  .sup-admin-dashboard-page .row.g-3.mb-4 > [class*="col"]{
    flex: 1 1 160px;
    max-width: none;
  }
}

@media (max-width: 575.98px){
  .sup-admin-dashboard-page .row.g-3.mb-4 > [class*="col"]{
    flex: 1 1 100%;
  }

  .sup-admin-dashboard-page .row.g-3.mb-4 .card{
    min-height: 92px!important;
  }
}

/* PATCH UI — Mayor contraste del fondo en formularios públicos
   Mantiene tarjetas blancas y diseño institucional ¡Supérate!. */
body{
  background:
    radial-gradient(circle at 8% 18%, rgba(0,182,222,.22) 0%, rgba(0,182,222,0) 30%),
    radial-gradient(circle at 92% 20%, rgba(4,87,150,.12) 0%, rgba(4,87,150,0) 28%),
    linear-gradient(135deg,#c7eaf4 0%,#d6edf5 42%,#cfe5ef 72%,#e9f6fa 100%);
}

main.container,
.main-shell{
  position:relative;
  z-index:1;
}

.card{
  box-shadow:0 12px 34px rgba(4,87,150,.10);
  border-color:rgba(0,182,222,.22);
}
