/* 
  MDS-SEC – UI Base (Public site)
  --------------------------------
  Nota: el panel administrativo usa assets/panel.css.
*/

:root{
  --bg-0:#061a2b;
  --bg-1:#0a2a43;
  --bg-2:#0d3153;

  --surface:rgba(255,255,255,.08);
  --surface-2:rgba(255,255,255,.12);
  --border:rgba(255,255,255,.16);

  --accent:#2da8ff;
  --accent-2:#1b90e5;

  --text:#ffffff;
  --text-muted:rgba(255,255,255,.78);

  --radius-1:14px;
  --radius-2:20px;

  --shadow-1:0 10px 26px rgba(0,0,0,.22);
  --shadow-2:0 16px 40px rgba(0,0,0,.30);

  --container:1200px;
}

/* Base */
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:linear-gradient(180deg,var(--bg-1) 0%, var(--bg-2) 100%);
  color:var(--text);
  line-height:1.6;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }

:focus-visible{
  outline:3px solid rgba(45,168,255,.85);
  outline-offset:3px;
  border-radius:10px;
}

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 1.25rem;
}

/* Header / Nav */
header{
  background:rgba(6,26,43,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,.08);
  position:sticky;
  top:0;
  z-index:20000; /* alto: evita problemas de stacking en mobile */
}

/* Transición elegante header → hero */
header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:18px;
  background:linear-gradient(
    180deg,
    rgba(6,26,43,0.95) 0%,
    rgba(6,26,43,0.65) 40%,
    rgba(6,26,43,0.0) 100%
  );
  pointer-events:none;
}

.nav-container{
  max-width:var(--container);
  margin:0 auto;
  padding:0.55rem 1.25rem; /* altura del header */
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
}

/* =========================
   LOGO (IMAGEN ÚNICA)
   ========================= */
.logo{
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:0.65rem;
  flex:0 0 auto;      /* no se achica */
  min-width:0;
  margin-right:0.5rem;
}

.logo-img{
  height:92px;        /* DESKTOP: grande y legible */
  width:auto;
  max-width:none;     /* clave: evita que se achique */
  object-fit:contain;
  display:block;
}

.logo span{ color:var(--accent); }

.logo-tag{
  font-size:0.8rem;
  font-weight:800;
  letter-spacing:.2px;
  color:rgba(255,255,255,.72);
  display:none;
}

.menu-toggle{
  display:none;
  background:transparent;
  border:1px solid rgba(255,255,255,.30);
  color:var(--text);
  border-radius:12px;
  padding:0.45rem 0.65rem;
  font-weight:900;
  cursor:pointer;
  position:relative;
  z-index:30000;
  pointer-events:auto !important;
  touch-action:manipulation;
}

#main-nav{
  display:block;
}

nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:0.5rem;
  flex-wrap:nowrap;
  white-space:nowrap;
}

nav ul li{ position:relative; }

nav ul li a.nav-cta.active{
  box-shadow:0 0 0 4px rgba(45,168,255,.18);
}

nav ul li a{
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  padding:0.55rem 0.95rem;
  border-radius:999px;
  font-size:1rem;
  font-weight:700;
  color:var(--text-muted);
  text-decoration:none;
  border:1px solid transparent;
  transition:background .18s ease, border-color .18s ease, color .18s ease, transform .05s ease;
}
nav ul li a:hover{
  background:rgba(45,168,255,.18);
  border-color:rgba(45,168,255,.45);
  color:var(--text);
}
nav ul li a.active{
  background:rgba(45,168,255,.26);
  border-color:rgba(45,168,255,.75);
  color:var(--text);
}
nav ul li a:active{ transform:translateY(1px); }

nav ul li a.nav-cta{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.18);
  color:var(--text);
}
nav ul li a.nav-cta:hover{
  background:rgba(45,168,255,.26);
  border-color:rgba(45,168,255,.65);
}

/* Submenu */
.has-submenu > a::after{
  content:"▾";
  font-size:.85em;
  opacity:.85;
}

.submenu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:260px;
  background:rgba(6,26,43,.98);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  padding:0.35rem;
  box-shadow:var(--shadow-2);
  display:none;
}

.submenu li a{
  width:100%;
  display:flex;
  padding:0.6rem 0.75rem;
  border-radius:12px;
  font-size:0.98rem;
  border:1px solid transparent;
}

/* Desktop: hover/focus abre */
@media (min-width: 901px){
  .logo-tag{ display:inline-flex; }
  .has-submenu:hover > .submenu,
  .has-submenu:focus-within > .submenu{
    display:block;
  }
}

/* Mobile: se controla con .open desde JS */
.has-submenu.open > .submenu{ display:block; }

.nav-action{ display:flex; align-items:center; gap:0.55rem; flex-wrap:wrap; }

.btn-primary{
  background:var(--accent);
  color:#fff;
  padding:0.70rem 1.10rem;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  border:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.btn-primary:hover{ background:var(--accent-2); }

.btn-ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.65rem 1.05rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  color:var(--text);
  font-weight:800;
  text-decoration:none;
}
.btn-ghost:hover{ background:rgba(255,255,255,.10); }

/* Hero / Slider */
.slider{
  position:relative;
  width:92%;
  max-width:var(--container);
  height:72vh;
  max-height:720px;
  min-height:420px;
  margin:1.15rem auto 2rem auto;
  overflow:hidden;
  border-radius:var(--radius-2);
  box-shadow:var(--shadow-2);
}
.slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1s ease-in-out;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.slide.active{ opacity:1; z-index:1; }

.slider-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.66) 0%, rgba(0,0,0,.45) 45%, rgba(0,0,0,.20) 100%);
  z-index:2;
}

.slider-content{
  position:absolute;
  inset:0;
  z-index:5;
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:680px;
  padding:0 46px;
}

.hero-eyebrow{ color:var(--text-muted); font-size:0.92rem; margin-bottom:0.35rem; }
.hero-title{
  font-size:2.25rem;
  margin:0 0 0.65rem 0;
  border-left:4px solid var(--accent);
  padding-left:14px;
}
.hero-subtitle{ margin:0 0 1.15rem 0; color:rgba(255,255,255,.90); text-shadow:0 2px 8px rgba(0,0,0,.55); }
.hero-actions{ display:flex; gap:0.85rem; flex-wrap:wrap; }

/* Sections */
.page-title{
  width:92%;
  max-width:var(--container);
  margin:2.0rem auto 0.6rem auto;
  font-size:2rem;
}
.section-intro{
  width:92%;
  max-width:var(--container);
  margin:0 auto 1.35rem auto;
  color:rgba(219,231,245,.92);
}

/* Cards */
.cards-grid,
.servicios-cards,
.services-grid,
.section-cards{
  width:92%;
  max-width:var(--container);
  margin:1.6rem auto;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  gap:clamp(1.25rem, 2vw, 2rem);
  align-items:stretch;
}

/* Simple grids */
.grid-2,
.grid-3{
  width:92%;
  max-width:var(--container);
  margin:1.6rem auto;
  display:grid;
  gap:clamp(1.25rem, 2vw, 2rem);
  align-items:stretch;
}
.grid-2{ grid-template-columns:1fr; }
.grid-3{ grid-template-columns:1fr; }
@media (min-width: 820px){
  .grid-2{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .grid-3{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1120px){
  .grid-3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}

.card{
  background:linear-gradient(180deg, #f7fbff 0%, #eaf2fb 100%);
  border-radius:18px;
  padding:1.5rem;
  color:#0b2336;
  border:1px solid rgba(10,42,67,.12);
  box-shadow:var(--shadow-1);
  transition:transform .22s ease, box-shadow .22s ease;
}
.card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-2); }
.card h3{ margin:0 0 0.55rem 0; color:#061a2b; }
.card p{ margin:0.35rem 0; color:#1c3b57; }

.card-actions{ display:flex; gap:0.75rem; flex-wrap:wrap; margin-top:1rem; }

.cards-grid > .card,
.servicios-cards > .card,
.services-grid > .card,
.section-cards > .card,
.grid-3 > .card,
.grid-2 > .card{ margin-bottom:0; }

.card + .card{ margin-top:1.25rem; }

.card .btn-outline,
.card a.btn-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:0.75rem;
  padding:0.6rem 1.1rem;
  border-radius:999px;
  background:linear-gradient(180deg, var(--accent) 0%, var(--accent-2) 100%);
  color:#fff;
  border:0;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
  transition:transform .18s ease, box-shadow .18s ease;
}
.card .btn-outline:hover{ transform:translateY(-2px); box-shadow:0 12px 24px rgba(0,0,0,.26); }

/* FAQ */
.faq-wrap{ width:92%; max-width:var(--container); margin:1rem auto 0 auto; }
.faq-card{
  background:linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.07) 100%);
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  box-shadow:var(--shadow-1);
  backdrop-filter:blur(6px);
  overflow:hidden;
}
.faq-item{ padding:1rem 1.1rem; border-top:1px solid rgba(255,255,255,.12); }
.faq-item:first-child{ border-top:0; }
.faq-item summary{
  list-style:none;
  cursor:pointer;
  font-weight:900;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary .q{ display:flex; align-items:center; gap:0.65rem; }
.faq-item summary .dot{ width:10px; height:10px; border-radius:999px; background:var(--accent); box-shadow:0 0 0 4px rgba(45,168,255,.18); }
.faq-item summary .icon{ width:36px; height:36px; border-radius:999px; border:1px solid rgba(255,255,255,.18); background:rgba(0,0,0,.18); display:flex; align-items:center; justify-content:center; transition:transform .25s ease; }
.faq-item[open] summary .icon{ transform:rotate(45deg); }
.faq-item .a{ margin-top:0.7rem; color:rgba(255,255,255,.84); }
.faq-actions{ display:flex; gap:0.75rem; flex-wrap:wrap; padding:1rem 1.1rem 1.15rem 1.1rem; border-top:1px solid rgba(255,255,255,.12); }

/* Footer */
.site-footer{
  margin-top:3rem;
  background:var(--bg-0);
  color:rgba(213,230,250,.95);
  border-top:1px solid rgba(255,255,255,.08);
}

.footer-grid{
  padding:2.25rem 0;
  display:grid;
  grid-template-columns:1.25fr 1fr 1.1fr;
  gap:2rem;
}

.footer-logo{
  font-weight:1000;
  letter-spacing:.4px;
  font-size:1.25rem;
}
.footer-logo span{ color:var(--accent); }

.footer-title{
  font-weight:950;
  letter-spacing:.2px;
  margin-bottom:0.75rem;
  color:#fff;
}

.footer-text{ color:rgba(213,230,250,.86); margin:0.65rem 0; }

.footer-badges{ display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:0.85rem; }
.badge{
  display:inline-flex;
  padding:0.35rem 0.6rem;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  font-size:0.85rem;
  font-weight:800;
  color:rgba(255,255,255,.86);
}

.footer-nav a,
.footer-bottom a{
  display:block;
  text-decoration:none;
  color:rgba(213,230,250,.88);
  font-weight:800;
  padding:0.25rem 0;
}
.footer-nav a:hover,
.footer-bottom a:hover{ color:#fff; }

.footer-cta{
  display:inline-flex;
  margin:0.9rem 0 0.75rem 0;
  text-decoration:none;
  background:var(--accent);
  color:#fff;
  font-weight:950;
  padding:0.7rem 1rem;
  border-radius:14px;
  box-shadow:0 10px 26px rgba(0,0,0,.22);
}
.footer-cta:hover{ filter:brightness(.98); transform:translateY(-1px); }

.footer-meta{ font-size:0.92rem; color:rgba(213,230,250,.86); }
.footer-meta strong{ color:#fff; }

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding:0.9rem 0;
}
.footer-bottom-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  font-size:0.95rem;
  color:rgba(213,230,250,.9);
}
.footer-bottom-links{ display:flex; align-items:center; gap:0.6rem; }
.footer-bottom-links a{ display:inline; padding:0; }

/* WhatsApp floating */
.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0.82rem 1.00rem;
  border-radius:999px;
  background:#25D366;
  color:#0b1b12;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 10px 25px rgba(0,0,0,.35);
}
.whatsapp-float:hover{ filter:brightness(.95); }

/* Responsive */
@media (max-width: 900px){
  .slider{ width:100%; border-radius:0; height:64vh; min-height:360px; }
  .slider-content{ max-width:100%; padding:0 18px; }

  .menu-toggle{ display:inline-flex; }
  .nav-container{ flex-wrap:wrap; }

  #main-nav{
    flex:0 0 100%;
    order:20;
    display:none;
    width:100%;
  }

  #main-nav.open{
    display:block;
    margin-top:0.75rem;
    padding:0.75rem;
    border-radius:16px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);
    position:relative;
    z-index:25000;
  }

  .menu-toggle{ order:10; }

  .nav-action{
    flex:0 0 100%;
    order:30;
    width:100%;
    justify-content:flex-start;
    margin-top:0.75rem;
  }

  nav ul{ flex-direction:column; align-items:stretch; }
  nav ul li a{ width:100%; justify-content:flex-start; }

  .submenu{
    position:static;
    min-width:unset;
    margin:0.35rem 0 0.65rem 0;
    box-shadow:none;
  }

  /* Logo responsive */
  .logo-img{ height:72px; }

  .cards-grid,.servicios-cards,.services-grid,.section-cards{ width:94%; grid-template-columns:1fr; }
  .faq-wrap{ width:94%; }
  .logo-tag{ display:none; }
  .footer-grid{ grid-template-columns:1fr; padding:2rem 0; }
  .footer-bottom-inner{ flex-direction:column; align-items:flex-start; }
}

@media (max-width: 480px){
  .slider{ height:58vh; min-height:320px; }
  .whatsapp-float{ right:12px; bottom:12px; padding:0.70rem 0.90rem; }
  .logo-img{ height:62px; }
}

/* =========================
   Home / Sections (v5)
========================= */
.hero{
  padding:3.25rem 0 2.25rem;
  background:
    radial-gradient(1200px 500px at 10% 0%, rgba(15,54,92,.45), transparent 60%),
    radial-gradient(900px 420px at 90% 30%, rgba(0,188,255,.18), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.20));
}
.hero-compact{ padding:2.75rem 0 2.0rem; }

.hero-badges{
  display:flex;
  gap:.55rem;
  flex-wrap:wrap;
  margin-top:1.15rem;
}
.badge{
  padding:.35rem .65rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.88);
  font-size:.85rem;
}

.section-alt{
  background:rgba(255,255,255,.03);
  padding-top:2.2rem;
  padding-bottom:2.2rem;
}

.steps{
  width:92%;
  max-width:var(--container);
  margin:1.1rem auto 1.6rem auto;
  padding-left:1.2rem;
  color:rgba(255,255,255,.92);
  line-height:1.55;
}
.steps li{ margin:.45rem 0; }

.cta-strip{
  width:92%;
  max-width:var(--container);
  margin:1.4rem auto 0 auto;
  padding:1.1rem 1.1rem;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.cta-title{ font-weight:700; font-size:1.05rem; }
.cta-subtitle{ color:rgba(255,255,255,.78); margin-top:.15rem; }

/* =========================
   Forms (v5)
========================= */
.contact-grid{
  width:92%;
  max-width:var(--container);
  margin:1.6rem auto;
  display:grid;
  grid-template-columns: 1.4fr .9fr;
  gap:1.1rem;
}
@media (max-width: 900px){
  .contact-grid{ grid-template-columns: 1fr; }
}

.form-card h2, .info-card h2{ margin-top:0; }

.form{ margin-top:.9rem; }
.field{ margin-bottom: .9rem; }
.field label{
  display:block;
  font-weight:600;
  margin-bottom:.35rem;
  color:rgba(255,255,255,.92);
}
.field input,
.field select,
.field textarea{
  width:100%;
  padding:.75rem .8rem;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.20);
  color:rgba(255,255,255,.92);
  outline:none;
}
.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:rgba(0,188,255,.55);
  box-shadow:0 0 0 4px rgba(0,188,255,.12);
}

.muted{ color:rgba(255,255,255,.72); }
.form-note{
  margin-top:.85rem;
  color:rgba(255,255,255,.68);
  font-size:.92rem;
}

.info-list{ display:grid; gap:.55rem; margin:1rem 0 1.1rem 0; color:rgba(255,255,255,.90); }
.info-actions{ display:flex; flex-wrap:wrap; gap:.75rem; }

.bullets{ margin:.85rem 0 1rem 1.1rem; color:rgba(255,255,255,.92); }
.note{
  width:92%;
  max-width:var(--container);
  margin:1.35rem auto 0 auto;
  padding:1rem;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.90);
}
.link{ color:rgba(255,255,255,.92); text-decoration:underline; text-underline-offset:3px; }

/* Slider responsive */
@media (max-width: 640px){
  .slider{
    height:56vh;
    min-height:340px;
    max-height:560px;
    margin:0.85rem auto 1.5rem auto;
  }
  .slider-content{
    padding:0 20px;
    max-width: 560px;
  }
  .hero-title{ font-size:1.75rem; }
  .hero-subtitle{ font-size:1rem; }
  .slider-overlay{
    background:linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.52) 55%, rgba(0,0,0,.28) 100%);
  }
}

/* =========================================================
   FIX contraste y legibilidad dentro de .card (fondo claro)
   ========================================================= */
.card, .card *{ text-shadow:none; }

.card p,
.card li,
.card ul,
.card ol,
.card .bullets,
.card .checklist{
  color:#0b2336;
  opacity:1;
}

.card ul,
.card ol,
.card .bullets,
.card .checklist{
  margin:0.75rem 0 0.25rem;
  padding-left:1.1rem;
}

.card li{
  line-height:1.55;
  margin:0.35rem 0;
}

.card a{
  color:inherit;
  opacity:1;
}
.card a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Checklist con check (si se usa) */
.card .checklist{
  list-style:none;
  padding-left:0;
}
.card .checklist li{
  position:relative;
  padding-left:1.4rem;
}
.card .checklist li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--accent);
  font-weight:900;
}

/* =========================================================
   Contacto/Formularios en .card (fondo claro)
   ========================================================= */
.card .form .field label{
  color: rgba(11,35,54,.92) !important;
  font-weight: 700;
}

.card .form .field input,
.card .form .field textarea{
  color: rgba(11,35,54,.96) !important;
  background: rgba(11,35,54,.06);
}

.card .form .field input::placeholder,
.card .form .field textarea::placeholder{
  color: rgba(11,35,54,.55) !important;
  opacity: 1;
}

/* FIX DEFINITIVO select / option en formularios claros */
.card .form .field select{
  background-color: #ffffff !important;
  color: #0b2336 !important;
  border: 1px solid rgba(11,35,54,.22);
  color-scheme: light;
}

.card .form .field select option{
  background-color: #ffffff !important;
  color: #0b2336 !important;
}

.card .form .field select option[value=""],
.card .form .field select option[disabled]{
  color: rgba(11,35,54,.55) !important;
  opacity: 1;
}

.card .form .field select:focus{
  outline: 3px solid rgba(47,164,255,.25);
  outline-offset: 2px;
}

/* Labels en forms dentro de cards (compat: turnos/registro) */
.card form label{ color: rgba(11,35,54,.92) !important; font-weight:700; }

/* Submenú de segundo nivel */
.submenu li.has-submenu{position:relative;}
.submenu li.has-submenu > .submenu{left:100%; top:0; margin-left:8px;}
@media (max-width: 900px){
  .submenu li.has-submenu > .submenu{left:0; margin-left:0; margin-top:8px;}
}

/* Ajuste extra de logo en pantallas medianas */
@media (max-width: 1100px){
  .logo-img{ height:82px; }
}

/* =========================
   FIX LOGO HEADER (tamaño + no se apaga)
   ========================= */
.logo{
  flex: 0 0 auto;
  min-width: 0;
}

.logo-img{
  height: 82px;        /* Desktop */
  width: auto;
  max-width: none;     /* importante: que no lo limite */
  object-fit: contain;
}

/* Notebooks / tablets */
@media (max-width: 1100px){
  .logo-img{ height: 74px; }
}

/* Mobile */
@media (max-width: 900px){
  .logo-img{ height: 62px; }
}

/* Mobile chico */
@media (max-width: 480px){
  .logo-img{ height: 56px; }
}

/* ================================
   BOTONES – MEJORA VISUAL PRO
================================ */

/* Botones generales */
.btn,
button {
    background: #2563eb; /* azul pro */
    color: #ffffff;
    border: none;
    border-radius: 10px;
    padding: 8px 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn svg,
button svg {
    stroke: #ffffff;
}

/* Hover */
.btn:hover,
button:hover {
    background: #1e40af;
}

/* Botón volver / secundarios */
.btn-secondary {
    background: #334155;
}

.btn-secondary:hover {
    background: #1e293b;
}

/* ================================
   FILTROS DE USUARIOS (ROLES)
================================ */

.role-filter button {
    background: #e5e7eb;
    color: #1f2937;
}

.role-filter button svg {
    stroke: #1f2937;
}

.role-filter button:hover {
    background: #c7d2fe;
}

/* Activo */
.role-filter button.active {
    background: #2563eb;
    color: #ffffff;
}

.role-filter button.active svg {
    stroke: #ffffff;
}

/* ================================
   BOTONES DE ACCIÓN SUPERIOR
================================ */

.actions-top button {
    background: #0f172a;
}

.actions-top button:hover {
    background: #020617;
}

