/* ═══════════════════════════════════════════════════════════════════════════
   Maloca Digital v2.0 — Tema de las vistas PHP (catálogo, comunidad, acceso, consola)
   Se carga el ÚLTIMO, después de Bootstrap y de las hojas de cada vista: reasigna las
   variables de Bootstrap y las de las paletas anteriores (--m-*, --deaj-*, --auth-*,
   --adm-*) a los tokens del Manual de Marca v2.0, sin tocar el marcado de las vistas.
   Paleta cerrada: docs/Manual_Marca_Maloca/v2.0/assets/data/tokens-v2.css (se enlaza
   antes que esta hoja). Contrastes medidos en el capítulo 05 del Manual.
   ═══════════════════════════════════════════════════════════════════════════ */

@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400 800; font-display: swap; src: url('/fonts/montserrat-var.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('/fonts/jetbrainsmono-var.woff2') format('woff2'); }

:root,
[data-bs-theme="light"] {
  /* Bootstrap → Manual v2.0. «Digital», botones y enlaces en Azul Digital A (7,99 : 1). */
  --bs-primary: #144F9C;            --bs-primary-rgb: 20, 79, 156;
  --bs-secondary: #5F6B76;          --bs-secondary-rgb: 95, 107, 118;
  --bs-success: #39A44C;            --bs-success-rgb: 57, 164, 76;
  --bs-info: #5D86D1;               --bs-info-rgb: 93, 134, 209;
  --bs-warning: #FDB611;            --bs-warning-rgb: 253, 182, 17;
  --bs-danger: #E96B64;             --bs-danger-rgb: 233, 107, 100;
  --bs-dark: #021F3B;               --bs-dark-rgb: 2, 31, 59;
  --bs-primary-text-emphasis: #033E75;   --bs-primary-bg-subtle: #EAF1FB;   --bs-primary-border-subtle: #7D9EDA;
  --bs-success-text-emphasis: #1E5C2A;   --bs-success-bg-subtle: #C8E9D0;   --bs-success-border-subtle: #71CE82;
  --bs-warning-text-emphasis: #7A5A00;   --bs-warning-bg-subtle: #FFF6DA;   --bs-warning-border-subtle: #FDB611;
  --bs-danger-text-emphasis: #A8322C;    --bs-danger-bg-subtle: #FCEBEA;    --bs-danger-border-subtle: #E96B64;
  --bs-info-text-emphasis: #144F9C;      --bs-info-bg-subtle: #EAF1FB;      --bs-info-border-subtle: #5D86D1;
  --bs-body-font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --bs-font-monospace: 'JetBrains Mono', ui-monospace, monospace;
  --bs-body-color: #343A40;         --bs-body-color-rgb: 52, 58, 64;
  --bs-body-bg: #FAFAFA;            --bs-body-bg-rgb: 250, 250, 250;
  --bs-secondary-color: #5F6B76;    --bs-tertiary-bg: #EAF1FB;
  --bs-emphasis-color: #021F3B;
  --bs-link-color: #144F9C;         --bs-link-color-rgb: 20, 79, 156;
  --bs-link-hover-color: #033E75;   --bs-link-hover-color-rgb: 3, 62, 117;
  --bs-border-color: #DEE2E6;
  --bs-border-radius: .5rem;        --bs-border-radius-lg: .75rem;
  --bs-focus-ring-color: rgba(38, 128, 235, .35);

  /* Paletas anteriores → tokens. El Azul Digital #2680EB como texto da 3,91 : 1: donde se
     usaba como color «brillante» de texto o botón pasa a Azul Digital A. */
  --m-primary: #144F9C;   --m-secondary: #033E75;   --m-accent: #2680EB;
  --m-success: #39A44C;   --m-warning: #FDB611;     --m-danger: #E96B64;
  --m-bg: #FAFAFA;        --m-card: #FFFFFF;        --m-border: #DEE2E6;
  --m-text: #343A40;      --m-muted: #5F6B76;
  --m-shadow-lg: 0 12px 28px rgba(3, 62, 117, .12);
  --m-grad: linear-gradient(135deg, #033E75 0%, #144F9C 55%, #2680EB 100%);
  --m-grad-success: linear-gradient(135deg, #1E5C2A, #39A44C);
  --m-grad-warm: linear-gradient(135deg, #E96B64, #FDB611);
  --m-grad-cool: linear-gradient(135deg, #033E75, #5D86D1);
  --deaj-primary: #033E75;   --deaj-primary-deep: #153F71;   --deaj-primary-bright: #144F9C;
  --deaj-primary-digital: #144F9C;   --deaj-primary-soft: #5D86D1;   --deaj-primary-pale: #7D9EDA;
  --deaj-secondary: #71CE82; --deaj-secondary-deep: #39A44C; --deaj-yellow: #FDB611; --deaj-coral: #E96B64;
  --deaj-grad: linear-gradient(135deg, #033E75 0%, #144F9C 55%, #2680EB 100%);
  --auth-primary: #033E75;   --auth-primary-deep: #021F3B;   --auth-primary-bright: #144F9C;   --auth-primary-digital: #144F9C;
  --auth-secondary: #71CE82; --auth-secondary-deep: #39A44C; --auth-yellow: #FDB611;   --auth-coral: #E96B64;
  --auth-grad: linear-gradient(135deg, #021F3B 0%, #033E75 55%, #144F9C 100%);
  --adm-bg: #FAFAFA;        --adm-bg-soft: #FAFAFA;     --adm-bg-card: #FFFFFF;   --adm-bg-hover: #EAF1FB;
  --adm-border: #DEE2E6;    --adm-border-soft: #DEE2E6; --adm-text: #343A40;      --adm-text-mut: #5F6B76;
  --adm-text-dim: #5F6B76;  --adm-th-bg: #EAF1FB;       --adm-accent: #144F9C;    --adm-accent-2: #033E75;
  --adm-success: #1E5C2A;   --adm-warn: #7A5A00;        --adm-danger: #A8322C;    --adm-purple: #5D86D1;
  --adm-yellow: #FDB611;    --adm-coral: #E96B64;
}

body { font-family: var(--bs-body-font-family); -webkit-font-smoothing: antialiased; }
code, kbd, pre, samp, .font-monospace { font-family: var(--bs-font-monospace); }
::selection { background: #71CE82; color: #033E75; }
:focus-visible { outline: 2px solid #2680EB; outline-offset: 2px; }

/* ── Botones ─────────────────────────────────────────────────────────────── */
.btn-primary {
  --bs-btn-bg: #144F9C; --bs-btn-border-color: #144F9C; --bs-btn-color: #fff;
  --bs-btn-hover-bg: #033E75; --bs-btn-hover-border-color: #033E75; --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #021F3B; --bs-btn-active-border-color: #021F3B;
  --bs-btn-disabled-bg: #144F9C; --bs-btn-disabled-border-color: #144F9C;
  --bs-btn-focus-shadow-rgb: 38, 128, 235;
}
.btn-outline-primary {
  --bs-btn-color: #144F9C; --bs-btn-border-color: #144F9C;
  --bs-btn-hover-bg: #144F9C; --bs-btn-hover-border-color: #144F9C; --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #033E75; --bs-btn-active-border-color: #033E75;
}
/* .btn-comunidad del Manual: verde con texto Azul Maloca (5,57 : 1), nunca blanco (1,93 : 1). */
.btn-success {
  --bs-btn-bg: #71CE82; --bs-btn-border-color: #71CE82; --bs-btn-color: #033E75;
  --bs-btn-hover-bg: #39A44C; --bs-btn-hover-border-color: #39A44C; --bs-btn-hover-color: #021F3B;
  --bs-btn-active-bg: #39A44C; --bs-btn-active-color: #021F3B;
}
.btn-warning { --bs-btn-color: #021F3B; --bs-btn-hover-color: #021F3B; }
.btn-danger {
  --bs-btn-bg: #A8322C; --bs-btn-border-color: #A8322C;
  --bs-btn-hover-bg: #E96B64; --bs-btn-hover-border-color: #E96B64; --bs-btn-hover-color: #021F3B;
}

/* ── Texto y fondos de estado con contraste AA (capítulo 05) ─────────────── */
.text-primary { color: #144F9C !important; }
.text-success { color: #1E5C2A !important; }
.text-danger { color: #A8322C !important; }
.text-warning { color: #7A5A00 !important; }
.text-info { color: #144F9C !important; }
.text-muted, .text-body-secondary { color: #5F6B76 !important; }
.bg-primary { background-color: #144F9C !important; }
.badge.bg-success, .badge.text-bg-success { background-color: #C8E9D0 !important; color: #1E5C2A !important; }
.badge.bg-warning, .badge.text-bg-warning { background-color: #FFF6DA !important; color: #7A5A00 !important; }
.badge.bg-danger, .badge.text-bg-danger { background-color: #FCEBEA !important; color: #A8322C !important; }
.badge.bg-info, .badge.text-bg-info { background-color: #EAF1FB !important; color: #144F9C !important; }
.badge.bg-secondary, .badge.text-bg-secondary { background-color: #DEE2E6 !important; color: #343A40 !important; }
a { color: var(--bs-link-color); }
.form-control:focus, .form-select:focus { border-color: #2680EB; box-shadow: 0 0 0 .2rem rgba(38, 128, 235, .2); }
.form-check-input:checked { background-color: #144F9C; border-color: #144F9C; }

/* ── Marco común: salto, barra y pie (pages/_view.php) ───────────────────── */
.mlk-saltar { position: fixed; left: 1rem; top: -4rem; z-index: 2000; background: #71CE82; color: #033E75; font-weight: 700; padding: .55rem 1rem; border-radius: 999px; text-decoration: none; }
.mlk-saltar:focus { top: 1rem; }
.mlk-nav { background: rgba(2, 31, 59, .94); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid rgba(113, 206, 130, .22); padding: .55rem 0; }
.mlk-nav .mlk-marca { display: inline-flex; align-items: center; gap: .55rem; color: #fff; text-decoration: none; }
.mlk-simbolo { display: inline-block; width: 32px; aspect-ratio: 200 / 188; }
.mlk-simbolo svg { display: block; width: 100%; height: 100%; }
.mlk-nombre { font-size: 1.08rem; letter-spacing: -.02em; line-height: 1; white-space: nowrap; }
.mlk-nombre b { font-weight: 800; color: #fff; }
.mlk-nombre span { font-weight: 500; color: #7D9EDA; }
.mlk-nav .nav-link { color: rgba(255, 255, 255, .78); font-weight: 500; font-size: .92rem; border-radius: 999px; padding: .45rem .8rem !important; }
.mlk-nav .nav-link:hover, .mlk-nav .nav-link:focus-visible { color: #fff; background: rgba(255, 255, 255, .08); }
.mlk-nav .nav-link.active { color: #021F3B; background: #71CE82; font-weight: 700; }
.mlk-nav .navbar-toggler { border: 0; color: #fff; padding: .4rem; }
.mlk-nav .navbar-toggler:focus { box-shadow: 0 0 0 2px #71CE82; }
.mlk-btn-entrar { background: #71CE82; color: #033E75; font-weight: 700; border: 0; border-radius: 999px; padding: .4rem 1rem; }
.mlk-btn-entrar:hover { background: #C8E9D0; color: #033E75; }
.mlk-usuario { background: rgba(255, 255, 255, .1); color: #fff; border: 1px solid rgba(255, 255, 255, .2); }
.mlk-usuario:hover, .mlk-usuario:focus { background: rgba(255, 255, 255, .18); color: #fff; }
.mlk-iniciales { width: 28px; height: 28px; border-radius: 50%; background: #71CE82; color: #033E75; font-weight: 800; font-size: .72rem; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 991.98px) {
  .mlk-nav .navbar-collapse { padding: .8rem 0 .4rem; }
  .mlk-nav .navbar-nav { gap: .2rem; }
}

.mlk-pie { background: #021F3B; color: rgba(255, 255, 255, .78); border-top: 1px solid rgba(255, 255, 255, .1); padding: 3.5rem 0 2.5rem; margin-top: 3rem; font-size: .92rem; }
.mlk-pie a { color: rgba(255, 255, 255, .85); text-decoration: none; }
.mlk-pie a:hover { color: #71CE82; text-decoration: underline; text-underline-offset: 4px; }
.mlk-pie h2 { font-family: 'JetBrains Mono', monospace; font-size: .72rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #71CE82; margin-bottom: .9rem; }
.mlk-pie ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.mlk-pie .mlk-simbolo { width: 44px; }
.mlk-pie .mlk-nombre { font-size: 1.6rem; }
.mlk-descriptor { display: inline-block; margin-top: .7rem; padding-top: .5rem; border-top: 3px solid #71CE82; font-size: .68rem; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: #fff; }
.mlk-pie-legal { margin-top: 2.5rem; padding-top: 1.2rem; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .78rem; color: rgba(255, 255, 255, .65); }

/* Botón del asistente: Maloca AI se carga solo al pulsarlo (api/_maloca_assistant_loader.php). */
.mlk-asistente { position: fixed; right: 1rem; bottom: 1rem; z-index: 1040; display: inline-flex; align-items: center; gap: .5rem; background: #71CE82; color: #033E75; border: 0; border-radius: 999px; font-weight: 700; padding: .65rem 1.1rem; box-shadow: 0 .8rem 2rem rgba(2, 31, 59, .3); }
.mlk-asistente:hover { background: #C8E9D0; }
.mlk-asistente svg { width: 20px; height: 20px; }
@media (min-width: 992px) { .mlk-asistente { right: 2rem; bottom: 2rem; } }

/* El marco anterior (franja institucional, franja amarilla) se retira. */
.deaj-strip, .deaj-yellow-strip { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ── Pantallas de acceso (marduk-auth.css) con la marca v2 ───────────────── */
.auth-body { background: #FAFAFA; }
.auth-aside { background: linear-gradient(160deg, #033E75 0%, #021F3B 70%); }
.auth-aside::before {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%237D9EDA' stroke-opacity='.1' stroke-width='5'%3E%3Cpath d='M-8 8 8 -8M0 32 32 0M24 40 40 24'/%3E%3Cpath d='M-8 24 8 40M0 0 32 32M24 -8 40 8'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(circle at 80% 85%, rgba(253, 182, 17, .16) 0%, transparent 45%) !important;
}
.auth-aside::after { background: #71CE82; }
.auth-aside-top .logo-circle { display: none; }
.auth-aside-top .mlk-simbolo { width: 44px; }
.auth-aside-top .brand-text { font-weight: 800; }
.auth-aside-top .brand-text span { font-weight: 500; color: #7D9EDA; }
.auth-aside-hero .eyebrow { color: #71CE82; }
.auth-aside-hero h2 em { font-style: normal; color: #71CE82; }
.auth-aside .stat strong { color: #fff; }
.auth-main a:not(.btn) { color: #144F9C; }

/* ── Madurez de una solución con los colores del Manual (capítulo 05) ─────── */
.bg-green-soft { background-color: #C8E9D0 !important; }   .text-green { color: #1E5C2A !important; }
.bg-amber-soft { background-color: #FFF6DA !important; }   .text-amber { color: #7A5A00 !important; }
.bg-teal-soft { background-color: #EAF1FB !important; }    .text-teal { color: #144F9C !important; }
.bg-orange-soft { background-color: #FCEBEA !important; }  .text-orange { color: #A8322C !important; }
.bg-primary-soft { background-color: #EAF1FB !important; }
.bg-secondary-soft { background-color: #FAFAFA !important; box-shadow: inset 0 0 0 1px #DEE2E6; }
.text-secondary { color: #5F6B76 !important; }

/* ── Grises por debajo de AA en las hojas anteriores → Gris Texto AA ──────── */
:root { --gob-muted: #5F6B76; --gob-secondary: #1E5C2A; }
.eyebrow-deaj { color: #1E5C2A; }
.btn-outline-secondary { --bs-btn-color: #5F6B76; --bs-btn-border-color: #5F6B76; --bs-btn-hover-bg: #5F6B76; --bs-btn-hover-border-color: #5F6B76; --bs-btn-hover-color: #fff; }
.ai-tabs .nav-link:not(.active) span, .ai-empty p, #composerCounter, .composer-disclaimer, .ai-loading, .prompt-card-body small { color: #5F6B76 !important; }
.login-tab-btn:not(.active) { color: #5F6B76 !important; }
code { color: #A8322C; }
.legal-header h1 span { color: #1E5C2A !important; }
.gob-page p a, .gob-page li a:not([class]), .container-xl p a:not(.btn) { text-decoration: underline; text-underline-offset: 3px; }
.composer-disclaimer { opacity: 1 !important; }
.tab-btn:not(.active) { color: #5F6B76 !important; }
@media (max-width: 575.98px) { #commTabs { flex-wrap: wrap; overflow: visible; } }

/* ═══ Componentes del marco v2 (rediseño de las vistas) ═══════════════════ */
.mlk-hero { position: relative; overflow: hidden; color: #fff; padding: 3.2rem 0 5.2rem;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%237D9EDA' stroke-opacity='.09' stroke-width='5'%3E%3Cpath d='M-8 8 8 -8M0 32 32 0M24 40 40 24'/%3E%3Cpath d='M-8 24 8 40M0 0 32 32M24 -8 40 8'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(90% 120% at 85% 0%, #033E75 0%, #021F3B 70%); }
.mlk-hero--compacta { padding: 2.2rem 0 4.4rem; }
.mlk-hero-simbolo { position: absolute; right: -2rem; bottom: -3.5rem; width: clamp(12rem, 26vw, 22rem); aspect-ratio: 200 / 188; opacity: .07; pointer-events: none; }
.mlk-hero-simbolo svg { width: 100%; height: 100%; }
.mlk-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: .72rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: #71CE82; margin: 0 0 .7rem; }
.mlk-hero-titulo { font-weight: 800; letter-spacing: -.03em; line-height: 1.05; font-size: clamp(2rem, 4.4vw, 3.4rem); color: #fff; margin: 0; max-width: 18em; }
.mlk-hero-lead { margin: 1rem 0 0; max-width: 42rem; font-size: 1.08rem; line-height: 1.6; color: rgba(255, 255, 255, .85); }
.mlk-hero-acciones { margin-top: 1.5rem; display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.mlk-hero .btn-primary, .mlk-btn-verde { --bs-btn-bg: #71CE82; --bs-btn-border-color: #71CE82; --bs-btn-color: #033E75; --bs-btn-hover-bg: #C8E9D0; --bs-btn-hover-border-color: #C8E9D0; --bs-btn-hover-color: #033E75; --bs-btn-active-bg: #39A44C; --bs-btn-active-color: #021F3B; font-weight: 700; border-radius: 999px; padding: .6rem 1.25rem; }
.mlk-btn-fantasma { color: #fff; background: transparent; border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px; padding: .55rem 1.15rem; font-weight: 600; }
.mlk-btn-fantasma:hover, .mlk-btn-fantasma:focus-visible { background: #fff; color: #021F3B; }
.mlk-hero .ai-action { background: rgba(255, 255, 255, .1) !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, .3) !important; border-radius: 999px !important; }
.mlk-hero .ai-action:hover { background: #fff !important; color: #021F3B !important; }
.mlk-cifra { display: inline-flex; align-items: center; gap: .5rem; font-family: 'JetBrains Mono', monospace; font-size: .8rem; color: rgba(255, 255, 255, .85); }
.mlk-cifra::before { content: ""; width: .45rem; height: .45rem; border-radius: 50%; background: #71CE82; }
/* La superficie de contenido sube sobre la cabecera */
.mlk-superficie { position: relative; z-index: 2; margin-top: -3rem; }

/* Tarjetas y paneles */
.card-soft { background: #fff; border: 1px solid #DEE2E6; border-radius: 1rem; box-shadow: 0 .65rem 1.9rem rgba(3, 62, 117, .07); }
.card-soft[role="button"], .card-soft[data-slug] { cursor: pointer; transition: transform .35s cubic-bezier(.32,.72,0,1), box-shadow .35s, border-color .35s; }
.card-soft[role="button"]:hover, .card-soft[data-slug]:hover { transform: translateY(-3px); box-shadow: 0 1.1rem 2.4rem rgba(3, 62, 117, .14); border-color: #7D9EDA; }
.card-soft[role="button"]:focus-visible { outline: 2px solid #2680EB; outline-offset: 3px; }
.skeleton { border-radius: 1rem; background: linear-gradient(90deg, #EAF1FB 25%, #FAFAFA 50%, #EAF1FB 75%); background-size: 200% 100%; animation: mlk-brillo 1.4s infinite; }
@keyframes mlk-brillo { to { background-position: -200% 0; } }

/* Pastillas de filtro y pestañas */
.filter-pills .btn, .nav-pills .nav-link, .nav-tabs-pill .nav-link { border-radius: 999px; font-weight: 600; }
.filter-pills .btn { background: #fff; color: #033E75; border: 1px solid #DEE2E6; }
.filter-pills .btn:hover { border-color: #144F9C; color: #144F9C; }
.filter-pills .btn.active, .nav-pills .nav-link.active, .nav-tabs-pill .nav-link.active { background: #033E75 !important; color: #fff !important; border-color: #033E75 !important; }
.nav-pills .nav-link:not(.active), .nav-tabs-pill .nav-link:not(.active) { color: #033E75; }

/* Modales con la marca */
.modal-content { border-radius: 1.1rem; border: 0; }
.modal-header { border-bottom: 3px solid #71CE82; }

/* ── Catálogo (pages/solutions.php) ───────────────────────────────────────── */
.mlk-filtros .form-label { font-weight: 600; color: #033E75; }
.mlk-sol { display: flex; flex-direction: column; padding: 1.4rem 1.4rem 1.1rem; }
.mlk-sol-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: .5rem; }
.mlk-sol-icono { width: 2.8rem; height: 2.8rem; border-radius: .9rem; display: grid; place-items: center; background: #EAF1FB; color: #033E75; font-size: 1.15rem; }
.mlk-sol-cat { margin: 1rem 0 .2rem; font-family: 'JetBrains Mono', monospace; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: #5F6B76; }
.mlk-sol-nombre { font-size: 1.15rem; font-weight: 800; letter-spacing: -.01em; color: #033E75; margin: 0 0 .35rem; line-height: 1.25; }
.mlk-sol-tag { font-size: .9rem; color: #343A40; margin: 0 0 .8rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mlk-sol-tags { display: flex; flex-wrap: wrap; gap: .3rem; margin-bottom: .9rem; }
.mlk-sol-tags span { font-family: 'JetBrains Mono', monospace; font-size: .7rem; color: #144F9C; background: #EAF1FB; border-radius: 999px; padding: .15rem .55rem; }
.mlk-sol-pie { margin-top: auto; padding-top: .8rem; border-top: 1px solid #DEE2E6; display: flex; justify-content: space-between; align-items: center; gap: .5rem; font-size: .8rem; color: #5F6B76; }
.mlk-sol-ver { font-weight: 700; color: #144F9C; white-space: nowrap; }
.mlk-sol:hover .mlk-sol-ver i { transform: translateX(3px); }
.mlk-sol-ver i { transition: transform .3s; }
.mlk-sello { color: #144F9C; font-size: .9em; }
/* Madurez (tabla maturity_levels) con los colores del Manual, capítulo 05 */
.mlk-mad { display: inline-flex; align-items: center; border-radius: 999px; padding: .2rem .7rem; font-size: .72rem; font-weight: 700; box-shadow: inset 0 0 0 1px currentColor; }
.mad-idea { background: #FAFAFA; color: #343A40; }
.mad-prototipo { background: #FCEBEA; color: #A8322C; }
.mad-beta { background: #FFF6DA; color: #7A5A00; }
.mad-produccion { background: #C8E9D0; color: #1E5C2A; }
.mad-consolidada { background: #EAF1FB; color: #144F9C; }
.mad-certificada-utdi { background: #033E75; color: #fff; }
.mlk-sol, .mlk-sol * { text-align: left; }
.mlk-sol-cab { width: 100%; }
.mlk-sol-tags, .mlk-sol-pie { justify-content: flex-start; }
.mlk-sol-pie { justify-content: space-between; }
.mlk-hero .btn-primary { background: #71CE82 !important; border-color: #71CE82 !important; color: #033E75 !important; box-shadow: none !important; }
.mlk-hero .btn-primary:hover, .mlk-hero .btn-primary:focus-visible { background: #C8E9D0 !important; border-color: #C8E9D0 !important; }
.mlk-sol { align-items: stretch !important; text-align: left !important; }
@media (max-width: 575.98px) { .mlk-asistente { padding: .75rem; } .mlk-asistente span { display: none; } }

/* ── Cabeceras propias de algunas vistas, con el mismo lenguaje ──────────── */
.gob-cover, .ai-hero, .inicio-hero, .disc-hero {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%237D9EDA' stroke-opacity='.09' stroke-width='5'%3E%3Cpath d='M-8 8 8 -8M0 32 32 0M24 40 40 24'/%3E%3Cpath d='M-8 24 8 40M0 0 32 32M24 -8 40 8'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(90% 120% at 85% 0%, #033E75 0%, #021F3B 70%) !important;
  color: #fff !important;
}
.gob-cover::after { border-color: rgba(113, 206, 130, .14) !important; }
.ai-hero { border-radius: 1.1rem; padding: 1.6rem 1.8rem !important; margin-bottom: 1rem; }
.ai-hero .ai-hero-title, .ai-hero h1 { color: #fff !important; }
.ai-hero .hero-accent { color: #71CE82 !important; }
.ai-hero .ai-hero-sub { color: rgba(255, 255, 255, .85) !important; }
.ai-hero .eyebrow-deaj, .inicio-hero .inicio-eyebrow { color: #71CE82 !important; }
.ai-stat-pill { background: rgba(255, 255, 255, .08) !important; border: 1px solid rgba(255, 255, 255, .18) !important; color: #fff !important; }
.ai-stat-pill .ai-stat-lbl { color: rgba(255, 255, 255, .8) !important; }
.mlk-pestanas { gap: .4rem; flex-wrap: wrap; }
.mlk-pestanas .nav-link { background: #fff; border: 1px solid #DEE2E6; }
.mlk-btn-fantasma, .mlk-btn-fantasma:hover { text-decoration: none; }
