/* Paletas cerradas: pares de texto/fondo comprobados en claro y oscuro. */
:root, :root[data-paleta="nexo"], [data-vista-paleta="nexo"] {
  --fondo:#FBF7EE; --tarjeta:#FFFFFF; --texto:#163D3B; --suave:#526763; --borde:#CCD8D1;
  --acento:#0F4C4A; --acento-texto:#FFFFFF; --acento-fondo:#E3EFEB;
  --marca-principal:#0F4C4A; --marca-acento:#F5B82E; --marca-tinta:#FFFFFF;
}
:root[data-paleta="cafe"], [data-vista-paleta="cafe"] {
  --fondo:#F6EFE4; --tarjeta:#FFFAF2; --texto:#2B1C12; --suave:#725B47; --borde:#E2D3BF;
  --acento:#86501E; --acento-texto:#FFFFFF; --acento-fondo:#F2E3CC;
  --marca-principal:#6B4226; --marca-acento:#D7A24A; --marca-tinta:#FFFFFF;
}
:root[data-paleta="azul"], [data-vista-paleta="azul"] {
  --fondo:#F3F6FA; --tarjeta:#FFFFFF; --texto:#173351; --suave:#51667D; --borde:#CCD7E4;
  --acento:#193E69; --acento-texto:#FFFFFF; --acento-fondo:#E5EDF8;
  --marca-principal:#193E69; --marca-acento:#A6C8F0; --marca-tinta:#FFFFFF;
}
@media(prefers-color-scheme:dark) {
  :root, :root[data-paleta="nexo"], [data-vista-paleta="nexo"] {
    --fondo:#102826; --tarjeta:#193B38; --texto:#F6F4EA; --suave:#B8CFC7; --borde:#40605B;
    --acento:#F5B82E; --acento-texto:#183C39; --acento-fondo:#3C462C;
  }
  :root[data-paleta="cafe"], [data-vista-paleta="cafe"] {
    --fondo:#1B120D; --tarjeta:#2A1E16; --texto:#F3E6D5; --suave:#C2AF9A; --borde:#4A3A2C;
    --acento:#D7A24A; --acento-texto:#2A1608; --acento-fondo:#3D2C15;
  }
  :root[data-paleta="azul"], [data-vista-paleta="azul"] {
    --fondo:#101F31; --tarjeta:#192E47; --texto:#F1F6FC; --suave:#BACCE1; --borde:#405973;
    --acento:#A6C8F0; --acento-texto:#102C4F; --acento-fondo:#2C4663;
  }
}
.marca-plataforma { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.marca-simbolo { display:grid; place-items:center; width:46px; height:46px; flex:none; background:#0F4C4A; color:#F5B82E; border-radius:15px; font-size:26px; font-weight:800; }
.marca-plataforma strong { display:block; font-size:1.45rem; letter-spacing:-.04em; }
.marca-plataforma small { display:block; color:var(--suave); }
.acceso-marca { max-width:500px; padding:32px; border-top:5px solid #F5B82E; }
.identidad-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:start; }
.identidad-opciones { display:grid; gap:10px; margin:16px 0; }
.identidad-opcion { text-align:left; display:flex; align-items:center; gap:12px; width:100%; }
.identidad-opcion[aria-pressed="true"] { outline:2px solid var(--acento); outline-offset:1px; }
.identidad-opcion small { display:block; color:var(--suave); font-weight:400; }
.muestras { display:flex; gap:4px; flex:none; }
.muestra { width:22px; height:28px; border-radius:8px; border:1px solid #999; }
.muestra.principal { background:var(--marca-principal); }.muestra.acento { background:var(--marca-acento); }
.identidad-preview { border:1px solid var(--borde); border-radius:18px; overflow:hidden; background:var(--fondo); color:var(--texto); }
.preview-cabecera { padding:26px; background:var(--marca-principal); color:var(--marca-tinta); border-bottom:5px solid var(--marca-acento); overflow-wrap:anywhere; }
.preview-cabecera strong { display:block; font-size:1.5rem; line-height:1.2; margin:12px 0; }
.preview-cuerpo { padding:24px; }.preview-cuerpo .tarjeta { max-width:none; }
.preview-menu { display:flex; gap:16px; flex-wrap:wrap; color:var(--suave); margin-bottom:20px; }
.preview-menu strong { color:var(--acento); }
.frase-empresa { font-size:.875rem; overflow-wrap:anywhere; }
.cabecera strong { overflow-wrap:anywhere; }
@media(max-width:750px) { .identidad-layout { grid-template-columns:minmax(0,1fr); } .acceso-marca { padding:24px; } }
@media(max-width:600px) {
  .envoltura-panel { grid-template-columns:minmax(0,1fr); grid-template-areas:"identidad" "acciones" "nav" "principal"; }
  .envoltura-panel > .cabecera { padding-bottom:10px; border-bottom:0; }
  .envoltura-panel > .acciones-cabecera { padding:0 16px 14px; justify-content:flex-start; }
  .envoltura-panel > .acciones-cabecera button { font-size:.875rem; padding:9px 12px; }
}
.documento .cab-nota { border-bottom-color:var(--marca-principal); }
@media print { .documento h1 { color:var(--marca-principal); } }
