html[data-theme="light"] {
  --fsl-black: #050505;
  --fsl-green: #8cc63f;
  --fsl-gold: #c8a96e;
  --fsl-ink: #1d1d1d;
  --fsl-muted: #666;
  --fsl-soft: #f5f5f1;
  --fsl-border: #deded6;
  --fsl-bg: #fff;
  --fsl-panel: #fff;
  --fsl-shadow: rgba(0,0,0,.08);
}
html[data-theme="dark"] {
  --fsl-black: #050505;
  --fsl-green: #8cc63f;
  --fsl-gold: #c8a96e;
  --fsl-ink: #f8f9fa;      /* antes #f2f2ea -> texto principal casi blanco (alto contraste) */
  --fsl-muted: #cfcfcf;    /* antes #b8b8aa -> secundario neutro y legible, sin gris verdoso */
  --fsl-soft: #242424;     /* antes #1d211b -> base de badges / metricas / miniaturas */
  --fsl-border: #3a3a3a;   /* antes #394033 -> borde neutro que separa mejor las tarjetas */
  --fsl-bg: #121212;       /* antes #10120f -> carbon suave, nunca negro puro */
  --fsl-panel: #1e1e1e;    /* antes #171a15 -> tarjetas un escalon mas claras que la pagina */
  --fsl-shadow: rgba(0,0,0,.35);
}
.fsl-main { min-height: 70vh; padding: 34px 0; background: var(--fsl-bg); color: var(--fsl-ink); transition: background .2s ease, color .2s ease; }
.fsl-site-header { background: #000; }
.fsl-site-header #logo-ini { position: relative; height: 202px; overflow: hidden; }
.fsl-site-header #logo-big-centro { position: relative; z-index: 2; height: 202px; display: flex; align-items: center; justify-content: center; }
.fsl-site-header #logo-big { max-height: 190px; width: auto; }
.fsl-nav { height: 64px; line-height: 64px; overflow: visible; }
.fsl-nav .nav-wrapper { height: 64px; display: flex; align-items: stretch; justify-content: space-between; gap: 10px; min-width: 0; }
.fsl-nav ul { margin: 0; padding: 0; list-style: none; }
.fsl-nav li { list-style: none; }
.fsl-menu-list, .fsl-menu-actions { display: flex; align-items: stretch; gap: 0; min-width: 0; }
.fsl-menu-list { flex: 1 1 auto; overflow: hidden; }
.fsl-menu-actions { flex: 0 1 auto; max-width: 42%; }
.mobile-menu-toggle { display:none; align-items:center; gap:8px; border:1px solid var(--fsl-green); background:transparent; color:#fff; font-size:18px; cursor:pointer; padding:10px 14px; border-radius:4px; font-weight:800; }
.hamburger { font-size:26px; line-height:1; }
.menu-label { font-size:.85rem; font-weight:800; text-transform:uppercase; letter-spacing:0; }
.fsl-nav a.nav-link, .fsl-social-link { height: 64px; display: flex; align-items: center; padding: 0 clamp(8px, 1vw, 14px); color: #fff; font-weight: 700; text-decoration: none; transition: background .16s ease, color .16s ease, filter .16s ease; white-space: nowrap; min-width: 0; }
.fsl-nav a.nav-link:hover, .fsl-social-link:hover { background: rgba(140,198,63,.18); color: #fff; filter: brightness(1.08); cursor: pointer; }
.fsl-menu-actions .fsl-user-link { max-width: clamp(120px, 18vw, 240px); overflow: hidden; text-overflow: ellipsis; display: block; }
.fsl-nav #nav_logo a { color: #fff; }
.fsl-nav #mini_logo { height: 64px; width: auto; margin-right: 10px; }
.fsl-social-link img { width: 32px; height: 32px; display: block; }
.fsl-footer { padding: 26px 0; background: var(--fsl-black); color: #fff; }
.fsl-wrap { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.fsl-hero { padding: 32px 0 24px; border-bottom: 4px solid var(--fsl-green); margin-bottom: 24px; }
.fsl-hero h1 { margin: 0 0 8px; font-family: 'Permanent Marker', cursive, Arial, sans-serif; font-size: clamp(2rem, 5vw, 4rem); }
.fsl-hero p { max-width: 760px; font-size: 1.12rem; color: var(--fsl-muted); }
.fsl-hero-cover { position: relative; min-height: clamp(330px, 48vw, 560px); padding: clamp(32px, 6vw, 72px); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; border: 0; border-radius: 0 0 8px 8px; background: #111 center / cover no-repeat; color: #fff; box-shadow: 0 22px 48px rgba(0,0,0,.22); }
.fsl-hero-cover::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.42) 42%, rgba(0,0,0,.12)), linear-gradient(0deg, rgba(0,0,0,.82), rgba(0,0,0,.08) 58%); }
.fsl-hero-cover > * { position: relative; z-index: 1; }
.fsl-hero-cover h1 { color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.65); }
.fsl-hero-cover p { color: rgba(255,255,255,.9); text-shadow: 0 1px 12px rgba(0,0,0,.6); }
.fsl-socios-cover { background-image: url('/assets/img/portada-socios.jpeg'); }
.fsl-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 18px 0; }
.fsl-btn, .fsl-card a.fsl-btn, button.fsl-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 9px 15px; border: 0; border-radius: 4px; background: var(--fsl-green); color: #111; font-weight: 800; cursor: pointer; text-decoration: none; transition: transform .16s ease, filter .16s ease, background .16s ease; }
.fsl-btn:hover, .fsl-card:hover, .fsl-clickable:hover, .fsl-category-card:hover, .fsl-chip:hover { filter: brightness(1.08); transform: translateY(-1px); cursor: pointer; }
.fsl-btn.secondary { background: var(--fsl-gold); color: #111; }
.fsl-btn.danger { background: #b63b3b; color: #fff; }
/* Tarea 1 (2026-10-05): boton secundario "Ya soy socio, ingresar" (borde Verde Benetton) */
.fsl-btn.outline-green { background: transparent; color: var(--fsl-ink); border: 2px solid #008C4F; }
.fsl-btn.outline-green:hover { background: #008C4F; color: #fff; }
/* checkbox del formulario de preinscripcion (la regla general le ponia width:100%) */
.fsl-field input[type="checkbox"] { width: 18px; height: 18px; margin: 0 8px 0 0; vertical-align: middle; }
.fsl-check-label { display: flex; align-items: flex-start; gap: 4px; font-size: .92rem; font-weight: 600; color: var(--fsl-ink); text-transform: none; }
/* honeypot: fuera de pantalla, pero sin display:none (los bots modernos lo detectan) */
.fsl-hp { position: absolute !important; left: -9999px; top: -9999px; height: 0; overflow: hidden; }
.fsl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; }
.fsl-card { border: 1px solid var(--fsl-border); border-radius: 6px; background: var(--fsl-panel); overflow: hidden; box-shadow: 0 2px 10px var(--fsl-shadow); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; text-decoration: none; color: var(--fsl-ink); }
.fsl-card-main-link { display:block; color:inherit; text-decoration:none; }
.fsl-card-actions { padding: 0 14px 14px; margin-top: auto; }
.fsl-card:hover { border-color: var(--fsl-green); box-shadow: 0 10px 26px var(--fsl-shadow); color: var(--fsl-ink); }
.fsl-card-body { padding: 14px; }
.fsl-card h3 { margin: 0 0 8px; font-size: 1.12rem; }
.fsl-thumb { width: 100%; aspect-ratio: 2 / 3; max-height: 240px; background: var(--fsl-soft); display: flex; align-items: center; justify-content: center; color: var(--fsl-muted); object-fit: contain; object-position: center; }
.fsl-thumb-placeholder { padding: 16px; text-align: center; font-weight: 800; }
.fsl-badge { display: inline-flex; align-items: center; padding: 3px 8px; border-radius: 999px; background: var(--fsl-soft); color: #333; font-size: .78rem; font-weight: 700; margin: 2px 4px 2px 0; }
.fsl-badge.gold { background: var(--fsl-gold); color: #111; }
.fsl-panel { border: 1px solid var(--fsl-border); border-radius: 6px; padding: 18px; background: var(--fsl-panel); margin-bottom: 18px; }
.fsl-soon { min-height: 180px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.fsl-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.fsl-form-grid .full { grid-column: 1 / -1; }
.fsl-field label { display: block; font-size: .78rem; text-transform: uppercase; font-weight: 800; color: var(--fsl-muted); margin-bottom: 5px; }
.fsl-field input, .fsl-field select, .fsl-field textarea, .fsl-filterbar input, .fsl-filterbar select { width: 100%; border: 1px solid var(--fsl-border); border-radius: 4px; padding: 9px 10px; font: inherit; background: var(--fsl-panel); color: var(--fsl-ink); }
.fsl-field textarea { min-height: 100px; resize: vertical; }
.fsl-field small { display:block; margin-top:5px; color:var(--fsl-muted); font-size:.78rem; }
.fsl-alert { padding:10px 12px; border-left:4px solid #c84f31; background:#fff4ed; color:#7b2d16; margin:10px 0; }
.fsl-picker-search { margin-bottom:7px; }
.fsl-check-grid { display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; }
.fsl-check-grid label { text-transform:none; color:var(--fsl-ink); margin:0; }
.fsl-pending-panel { border-left:4px solid var(--fsl-accent); margin-bottom:16px; }
.fsl-inline-form { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.fsl-inline-form select { min-width:120px; }
.fsl-table-wrap { overflow-x: auto; }
.fsl-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.fsl-table th, .fsl-table td { padding: 10px 8px; border-bottom: 1px solid var(--fsl-border); text-align: left; vertical-align: top; }
.fsl-table th { background: var(--fsl-soft); font-size: .76rem; text-transform: uppercase; }
.fsl-filterbar { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; align-items: center; }
.fsl-filterbar input, .fsl-filterbar select { min-width: 190px; width:auto; }
.fsl-filterbar-sticky input { flex: 1 1 240px; }
.fsl-chipbar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.fsl-chip, .fsl-category-card { transition: transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease; text-decoration: none; cursor: pointer; }
.fsl-chip { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--fsl-border); background: var(--fsl-panel); color: var(--fsl-ink); font-weight: 800; }
.fsl-chip.active { border-color: var(--fsl-green); background: var(--fsl-green); color: #111; }
.fsl-category-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 0 0 18px; }
.fsl-category-card { display: block; padding: 14px; border-radius: 6px; border: 1px solid var(--fsl-border); background: var(--fsl-panel); color: var(--fsl-ink); }
.fsl-category-card strong { display: block; }
.fsl-category-card span { color: var(--fsl-muted); font-size: .86rem; }
.fsl-inventory-grid { align-items: stretch; }
.fsl-inventory-card { display: flex; flex-direction: column; min-height: 100%; }
.fsl-inventory-card .fsl-card-body { flex: 1; }
.fsl-dashboard { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; }
.fsl-metric { padding: 18px; background: var(--fsl-soft); border-left: 5px solid var(--fsl-green); border-radius: 4px; color: var(--fsl-ink); text-decoration: none; }
.fsl-metric strong { display: block; font-size: 2rem; }
.fsl-flash { width: min(1180px, calc(100% - 32px)); margin: 0 auto 18px; padding: 12px 14px; border-left: 5px solid var(--fsl-green); background: #f3faec; }
.fsl-admin-layout { display: grid; grid-template-columns: 220px 1fr; gap: 22px; }
.fsl-side { border-right: 1px solid var(--fsl-border); padding-right: 12px; }
.fsl-side a { display: block; padding: 9px 10px; color: var(--fsl-ink); border-radius: 4px; text-decoration: none; transition: background .16s ease, color .16s ease; }
.fsl-side a.active, .fsl-side a:hover { background: var(--fsl-green); color: #111; font-weight: 800; }
.fsl-theme-toggle { border:1px solid var(--fsl-green); background:transparent; color:#fff; padding:6px 10px; border-radius:4px; cursor:pointer; font-weight:800; margin: 14px 8px; line-height: 1; transition: background .16s ease, color .16s ease, filter .16s ease; }
.fsl-theme-toggle:hover { background: var(--fsl-green); color: #111; filter: brightness(1.05); }
.fsl-detail-table { width:100%; border-collapse:collapse; }
.fsl-detail-table th, .fsl-detail-table td { border-bottom:1px solid var(--fsl-border); padding:9px 8px; text-align:left; vertical-align:top; }
.fsl-detail-table th { width:220px; color:var(--fsl-muted); text-transform:uppercase; font-size:.75rem; }
.fsl-thumb-small { width:54px; height:68px; object-fit:contain; object-position:center; border-radius:5px; background:var(--fsl-soft); }
.fsl-detail-card { display: grid; grid-template-columns: minmax(180px, 280px) 1fr; gap: 22px; }
.fsl-detail-image { width: 100%; max-height: 420px; aspect-ratio: 2 / 3; object-fit: contain; object-position: center; border-radius: 8px; background: var(--fsl-soft); display:flex; align-items:center; justify-content:center; }
.fsl-record-row { transition: background .16s ease; }
.fsl-record-row:hover { background: var(--fsl-soft); cursor:pointer; }
.fsl-profile-layout { display:grid; grid-template-columns:minmax(220px,320px) minmax(0,1fr); gap:18px; align-items:start; }
.fsl-profile-photo, .fsl-member-photo { width:100%; aspect-ratio:1; border-radius:8px; background:var(--fsl-soft); display:flex; align-items:center; justify-content:center; overflow:hidden; color:var(--fsl-muted); font-size:3rem; font-weight:800; }
.fsl-profile-photo img, .fsl-member-photo { object-fit:cover; object-position:center; }
.fsl-profile-photo img { width:100%; height:100%; }
.fsl-profile-upload { display:grid; gap:10px; margin-top:14px; }
.fsl-file-drop { display:grid; place-items:center; min-height:72px; border:1px dashed var(--fsl-border); border-radius:6px; padding:12px; cursor:pointer; text-align:center; }
.fsl-file-drop input { max-width:100%; }
.fsl-photo-preview { display:none; width:96px; height:96px; object-fit:cover; border-radius:6px; border:1px solid var(--fsl-border); }
.fsl-muted { color:var(--fsl-muted); }
.fsl-member-card { display:flex; flex-direction:column; min-width:0; }
.fsl-member-photo { border-radius:6px 6px 0 0; }
.fsl-admin-layout > * { min-width:0; }
a, button, [role="button"], .fsl-record-row, img { cursor:pointer; }
.fsl-message-body { white-space: normal; line-height: 1.6; padding: 12px 0; }
.fsl-lightbox { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 24px; background: rgba(0,0,0,.84); }
.fsl-lightbox img { max-width: min(1100px, 96vw); max-height: 88vh; object-fit: contain; background: #111; border-radius: 8px; box-shadow: 0 18px 60px rgba(0,0,0,.45); cursor: default; }
.fsl-lightbox-close { position: fixed; top: 14px; right: 18px; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(0,0,0,.45); color: #fff; font-size: 32px; line-height: 1; cursor: pointer; }
@media (max-width: 800px) {
  .fsl-site-header #logo-ini, .fsl-site-header #logo-big-centro { height: 150px; }
  .fsl-site-header #logo-big { max-height: 140px; max-width: 92%; }
  .fsl-nav { height: auto; min-height: 64px; line-height: 1.2; }
  .fsl-nav .nav-wrapper { height: auto; min-height: 64px; display: flex; flex-wrap: wrap; align-items:center; padding-block:8px; }
  .mobile-menu-toggle { display:inline-flex; margin-left:auto; }
  .fsl-menu-list.main-menu { display:none; order:3; width:100%; flex-direction:column; align-items:stretch; background:#1f1f1f; border:1px solid rgba(255,255,255,.12); border-radius:4px; overflow:hidden; margin-top:8px; }
  .fsl-menu-list.main-menu.is-open { display:flex; }
  .fsl-menu-list.main-menu li { width:100%; }
  .fsl-menu-list.main-menu a.nav-link { width:100%; border-top:1px solid rgba(255,255,255,.12); }
  .fsl-menu-actions { flex-wrap: wrap; max-width: none; overflow: visible; margin-left:auto; }
  .fsl-social-link { display:none; }
  .fsl-nav a.nav-link, .fsl-social-link { height: 48px; padding: 0 10px; }
  .fsl-nav #mini_logo { height: 48px; }
  .fsl-menu-actions .fsl-user-link { max-width: 180px; }
  .fsl-form-grid, .fsl-admin-layout, .fsl-detail-card, .fsl-profile-layout { grid-template-columns: 1fr; }
  .fsl-side { border-right: 0; border-bottom: 1px solid var(--fsl-border); padding-bottom: 12px; }
  .fsl-filterbar input, .fsl-filterbar select, .fsl-filterbar button, .fsl-filterbar .fsl-btn { width:100%; }
  .fsl-table { min-width:640px; }
  .fsl-panel { overflow-x:auto; }
  .fsl-hero p, .fsl-card p, .fsl-wrap > p { max-width:100%; overflow-wrap:break-word; }
}
@media (max-width: 480px) {
  .fsl-nav .nav-wrapper { padding-inline: 12px; gap: 8px; }
  .mobile-menu-toggle { margin-left: 0; min-width: 88px; justify-content:center; }
  .fsl-menu-actions { width: 100%; justify-content: flex-end; }
  .fsl-actions .fsl-btn, .fsl-filterbar .fsl-btn { width: 100%; }
  .fsl-hero h1, .fsl-hero p, .fsl-card h3 { overflow-wrap: anywhere; }
  .fsl-hero p, .fsl-wrap > p { max-width: 330px; }
}

/* ==========================================================================
   Fixes de UX del panel de Socios (2026-09-29)
   ========================================================================== */

/* 1) Forzar colores de enlaces en Modo Oscuro (Kill Azul/Violeta) — 2026-09-29.
   Se reemplazan las reglas con :where() (especificidad 0-0-1): en navegadores que
   no soportan :where() el selector se descarta COMPLETO y quedaba el azul (#0000EE)
   / violeta (#551A8B) nativo. Ahora son reglas explicitas y fuertes. */
html[data-theme="dark"] a,
html[data-theme="dark"] a:link,
html[data-theme="dark"] a:visited {
  color: #C8A96E; /* Dorado (Guia v1.2) */
  text-decoration: none;
}
html[data-theme="dark"] a:hover,
html[data-theme="dark"] a:active {
  color: #FFD400; /* Amarillo (Guia v1.2) */
  text-decoration: underline;
}

/* --- Excepciones a la regla fuerte (2026-09-29) ----------------------------
   Van DESPUES y con una clase extra (mas especificas): son componentes que
   definen su propio color y NO son "texto de vinculo". Sin estas lineas, la
   regla de arriba dejaria, por ejemplo, dorado sobre el boton amarillo de
   mensajes, dorado sobre los botones verdes o amarillo sobre el fondo verde
   del menu lateral. */
html[data-theme="dark"] .fsl-btn,
html[data-theme="dark"] .fsl-btn:link,
html[data-theme="dark"] .fsl-btn:visited,
html[data-theme="dark"] .fsl-btn:hover,
html[data-theme="dark"] .fsl-btn:active { color: #111; text-decoration: none; }
html[data-theme="dark"] .fsl-btn.danger,
html[data-theme="dark"] .fsl-btn.danger:link,
html[data-theme="dark"] .fsl-btn.danger:visited,
html[data-theme="dark"] .fsl-btn.danger:hover,
html[data-theme="dark"] .fsl-btn.danger:active { color: #fff; }
html[data-theme="dark"] .fsl-alert-messages,
html[data-theme="dark"] .fsl-alert-messages:link,
html[data-theme="dark"] .fsl-alert-messages:visited,
html[data-theme="dark"] .fsl-alert-messages:hover,
html[data-theme="dark"] .fsl-alert-messages:active { color: #1A1A1A; text-decoration: none; }
html[data-theme="dark"] .fsl-nav a.nav-link,
html[data-theme="dark"] .fsl-nav a.nav-link:link,
html[data-theme="dark"] .fsl-nav a.nav-link:visited,
html[data-theme="dark"] .fsl-nav a.nav-link:hover,
html[data-theme="dark"] .fsl-nav a.nav-link:active,
html[data-theme="dark"] .fsl-social-link { color: #fff; text-decoration: none; }
html[data-theme="dark"] .fsl-side a,
html[data-theme="dark"] .fsl-side a:link,
html[data-theme="dark"] .fsl-side a:visited { color: var(--fsl-ink); }
html[data-theme="dark"] .fsl-side a.active,
html[data-theme="dark"] .fsl-side a:hover { background: var(--fsl-green); color: #111; text-decoration: none; }
/* Metricas y tarjetas: son contenedores-enlace, conservan el color del tema
   (nunca azul). El numero sigue en blanco por .fsl-metric strong. */
html[data-theme="dark"] a.fsl-metric,
html[data-theme="dark"] a.fsl-metric:link,
html[data-theme="dark"] a.fsl-metric:visited,
html[data-theme="dark"] a.fsl-metric:hover,
html[data-theme="dark"] a.fsl-metric:active { color: var(--fsl-ink); text-decoration: none; }
html[data-theme="dark"] a.fsl-card,
html[data-theme="dark"] a.fsl-card:link,
html[data-theme="dark"] a.fsl-card:visited,
html[data-theme="dark"] a.fsl-card:hover,
html[data-theme="dark"] a.fsl-card:active,
html[data-theme="dark"] a.fsl-card-main-link,
html[data-theme="dark"] a.fsl-card-main-link:link,
html[data-theme="dark"] a.fsl-card-main-link:visited,
html[data-theme="dark"] a.fsl-category-card,
html[data-theme="dark"] a.fsl-category-card:link,
html[data-theme="dark"] a.fsl-category-card:visited { color: var(--fsl-ink); text-decoration: none; }
html[data-theme="dark"] a.fsl-card-main-link:hover,
html[data-theme="dark"] a.fsl-card-main-link:active,
html[data-theme="dark"] a.fsl-category-card:hover,
html[data-theme="dark"] a.fsl-category-card:active { color: var(--fsl-ink); text-decoration: none; }

/* 2) Aviso de "mensajes sin leer": botón destacado.
   Guía v1.2 -> fondo Amarillo #FFD400, texto Negro Carbón #1A1A1A,
   tipografía Rubik, border-radius 8px. */
.fsl-messages-alert { width: min(1180px, calc(100% - 32px)); margin: 0 auto 18px; }
.fsl-alert-messages,
.fsl-alert-messages:visited {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #FFD400;
  color: #1A1A1A;
  font-family: 'Rubik', sans-serif;
  font-weight: 600;
  padding: 10px 15px;
  border-radius: 8px;
  text-decoration: none;
  box-shadow: 0 2px 10px var(--fsl-shadow);
  transition: filter .16s ease, transform .16s ease;
}
.fsl-alert-messages:hover,
.fsl-alert-messages:focus-visible {
  color: #1A1A1A;
  filter: brightness(1.06);
  transform: translateY(-1px);
  text-decoration: none;
  outline: 2px solid var(--fsl-gold);
  outline-offset: 2px;
}
.fsl-alert-messages-icon { font-size: 1.1em; line-height: 1; }


/* 3) Contraste de los avisos (.fsl-flash) en tema oscuro (2026-09-29).
   .fsl-flash define background #f3faec (claro) pero NO define color, así que en
   oscuro heredaba --fsl-ink (#f2f2ea) desde .fsl-main: texto casi blanco sobre
   fondo casi blanco, ilegible. Se oscurece el fondo, se fija el texto legible y
   el borde izquierdo pasa a Dorado (Guía v1.2). Especificidad 0-2-1 y scopeada a
   [data-theme="dark"]: gana a .fsl-flash (0-1-0) sólo en oscuro y no toca el modo claro. */
html[data-theme="dark"] .fsl-flash {
  background: #1d211b;
  color: var(--fsl-ink);
  border-left-color: var(--fsl-gold);
}


/* ==========================================================================
   Contraste del modo oscuro — FandomSL (2026-09-29)
   El grueso del arreglo sale de las variables de html[data-theme="dark"] (arriba):
   fondo carbon suave, texto casi blanco y tarjetas un escalon mas claras que la
   pagina. Aca van los ajustes puntuales por clase. Los acentos de la Guia v1.2
   quedan intactos: Verde Benetton #008C4F y Dorado #C8A96E.
   ========================================================================== */

/* Metricas ("32 Socios activos", "Mensajes sin leer", "Prestamos"...): el numero
   grande pasa a blanco puro (contraste maximo) y el borde izquierdo toma el Verde
   Benetton, que sobre carbon es un acento mucho mas visible que el verde lima. */
html[data-theme="dark"] .fsl-metric { border-left-color: #008C4F; }
html[data-theme="dark"] .fsl-metric strong { color: #ffffff; }

/* Badges: .fsl-badge tenia color #333 fijo y, sobre --fsl-soft (#242424), daba un
   contraste de 1.3:1 (practicamente ilegible en oscuro). Pasa a usar el texto del
   tema. La variante .gold no se toca: su carbón sobre dorado ya contrasta 8:1. */
html[data-theme="dark"] .fsl-badge { color: var(--fsl-ink); }

