/* Brújula Aduanera · identidad propia (marino y latón), distinta del resto de BRIAN a propósito.
   Las clases bj-* son las mismas que escribe la rutina diaria en los fragmentos de contenido. */

:root {
  --bj-paper: #E4F0EA;
  --bj-paper-raised: #F6FBF8;
  --bj-ink: #0F2E32;
  --bj-ink-muted: #3C5C58;
  --bj-ink-faint: #6C8985;
  --bj-brass: #B67F1E;
  --bj-brass-deep: #8C5D10;
  --bj-rule: #BEDBCC;
  --bj-comex: #C0472E;
  --bj-digital: #2569A0;
  --bj-fiscal: #C9860F;
  --bj-accion: #C0472E;
  --bj-revisar: #1F7A63;
  --bj-pill-fg: #FBFBF6;
  --bj-mast-bg: #0E2A30;
  --bj-mast-fg: #F3E7CE;
}

body.bj-pagina { background-color: var(--bj-paper); color: var(--bj-ink); }

main .hero { padding: 3.75rem 0 2rem; }
main .hero .subtitle-tag { color: var(--bj-brass-deep); }

.bj-hero-row { display: flex; flex-direction: column; align-items: center; gap: 1rem; text-align: center; }
.bj-mark-hero { flex: none; width: 64px; height: 64px; }
.bj-mark-hero circle.rose { fill: none; stroke: var(--bj-brass-deep); stroke-width: 1.6; }
.bj-mark-hero .needle { fill: var(--bj-brass-deep); }
.bj-mark-hero .needle.south { fill: var(--bj-ink-faint); }
.bj-mark-hero .tick { stroke: var(--bj-ink-faint); stroke-width: 1.2; }

@media (min-width: 700px) {
  .bj-hero-row { flex-direction: row; align-items: flex-start; text-align: left; gap: 1.5rem; }
}
main .hero h1 { color: var(--bj-ink); font-size: 1.65rem; }
main .hero .hero-intro { color: var(--bj-ink-muted); font-size: 1.02rem; }

.bj-dateline {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  font-size: 0.9rem;
  color: var(--bj-ink-muted);
  border-top: 1px solid var(--bj-rule);
  border-bottom: 1px solid var(--bj-rule);
  padding: 0.75rem 1.5rem;
  margin-top: -1rem;
  margin-bottom: 2.5rem;
}
.bj-dateline strong { color: var(--bj-ink); }

.bj-entries { display: flex; flex-direction: column; gap: 1.5rem; margin-bottom: 3rem; }
.bj-entry {
  background-color: var(--bj-paper-raised);
  border: 1px solid var(--bj-rule);
  border-radius: 8px;
  border-top: 4px solid var(--bj-cat, var(--bj-brass));
  box-shadow: 0 4px 6px rgba(15, 46, 50, 0.06);
  padding: 1.75rem 2rem;
}
.bj-entry:hover { box-shadow: 0 10px 20px rgba(15, 46, 50, 0.1); }
.bj-entry.bj-comex { --bj-cat: var(--bj-comex); }
.bj-entry.bj-digital { --bj-cat: var(--bj-digital); }
.bj-entry.bj-fiscal { --bj-cat: var(--bj-fiscal); }

.bj-entry-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.6rem;
}
.bj-eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--bj-cat, var(--bj-brass));
  font-weight: 700;
}
.bj-tag {
  font-size: 0.72rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 0.22rem 0.65rem;
  border-radius: 999px;
  color: var(--bj-pill-fg);
  white-space: nowrap;
}
.bj-tag.accion { background-color: var(--bj-accion); }
.bj-tag.revisar { background-color: var(--bj-revisar); }

.bj-entry h3 { color: var(--bj-ink); margin-bottom: 0.5rem; }
.bj-entry p { color: var(--bj-ink); font-size: 0.98rem; margin-bottom: 1rem; }

.bj-datastrip {
  background-color: color-mix(in srgb, var(--bj-cat, var(--bj-brass)) 8%, var(--bj-paper-raised));
  border: 1px solid var(--bj-rule);
  border-radius: 6px;
  padding: 0.8rem 1rem;
  margin-bottom: 1rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.5rem 1.2rem;
  font-size: 0.82rem;
}
.bj-datastrip span.bj-label {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--bj-ink-faint);
}
.bj-datastrip span.bj-value { color: var(--bj-ink); font-weight: 600; }

.bj-accion-cliente {
  display: flex;
  gap: 0.6rem;
  align-items: baseline;
  margin-bottom: 0.75rem;
}
.bj-accion-cliente .bj-marker { color: var(--bj-cat, var(--bj-brass)); font-weight: 700; flex: none; }
.bj-accion-cliente p { margin: 0; font-size: 0.95rem; }

.bj-fuente { font-size: 0.82rem; color: var(--bj-ink-faint); }
.bj-fuente a { color: var(--bj-brass-deep); font-weight: 600; }

.bj-lower {
  display: grid;
  gap: 1.5rem;
  margin-bottom: 1rem;
}
.bj-panel {
  background-color: var(--bj-paper-raised);
  border: 1px solid var(--bj-rule);
  border-radius: 8px;
  padding: 1.5rem 1.75rem;
}
.bj-panel h4 { color: var(--bj-brass-deep); font-size: 1.05rem; margin-bottom: 1rem; }
.bj-stat-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 1px;
  background-color: var(--bj-rule);
  border-radius: 6px;
  overflow: hidden;
}
.bj-stat { background-color: var(--bj-paper-raised); padding: 0.7rem 0.9rem; border-top: 2px solid var(--bj-brass); }
.bj-stat .bj-label { font-size: 0.68rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--bj-ink-faint); display: block; }
.bj-stat .bj-value { font-weight: 700; color: var(--bj-ink); }

.bj-radar { border: 1px dashed var(--bj-brass); background-color: color-mix(in srgb, var(--bj-brass) 8%, var(--bj-paper-raised)); }
.bj-radar ul { list-style: none; padding: 0; margin: 0; }
.bj-radar li { font-size: 0.9rem; padding: 0.35rem 0; color: var(--bj-ink-muted); }
.bj-radar li::before { content: "○ "; color: var(--bj-brass); font-weight: 700; }

@media (min-width: 900px) {
  .bj-lower { grid-template-columns: 1fr; }
}

/* Vista ancha — igual que el diseño original: 3 notas en fila, menos scroll */
@media (min-width: 1020px) {
  .bj-entries {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem;
  }
  .bj-entry { padding: 1.5rem 1.3rem 1.6rem; }
  .bj-entry h3 { font-size: 1.1rem; }
  .bj-entry p { font-size: 0.9rem; }
  .bj-datastrip { grid-template-columns: 1fr 1fr; font-size: 0.73rem; }
  .bj-accion-cliente p { font-size: 0.85rem; }
  .bj-entries.bj-entries-quiet { display: block; }
}

/* Estado "día sin novedades" — misma familia visual que las tarjetas, sin fingir contenido que no hay */
.bj-quiet-day {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  background-color: var(--bj-paper-raised);
  border: 1px solid var(--bj-rule);
  border-radius: 8px;
  border-top: 4px solid var(--bj-revisar);
  box-shadow: 0 4px 6px rgba(15, 46, 50, 0.06);
  padding: 1.75rem 2rem;
}
.bj-quiet-icon {
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--bj-revisar);
  color: var(--bj-pill-fg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  font-weight: 700;
}
.bj-quiet-day h3 { color: var(--bj-ink); margin-bottom: 0.5rem; }
.bj-quiet-day p { color: var(--bj-ink-muted); font-size: 0.98rem; margin: 0; }
.bj-quiet-day p + p { margin-top: 0.6rem; }
.bj-quiet-day .bj-fuente { margin-top: 0.85rem; }

.bj-stat { position: relative; }
.bj-stat-fuente {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--bj-brass-deep);
  text-decoration: none;
}
.bj-stat-fuente:hover { text-decoration: underline; }
  
/* === Carril "En el tintero": derecho PROPUESTO, nunca en el bloque de lo vigente ni como accion (VIGILANCIA_LEGISLATIVA/MANIFEST.md, regla 2) === */
.bj-tag.tintero { background-color: var(--bj-brass-deep); }
.bj-tintero { margin-bottom: 3rem; }
.bj-tintero-head { display: flex; align-items: baseline; gap: 0.75rem; flex-wrap: wrap; border-bottom: 1px dashed var(--bj-brass); padding-bottom: 0.5rem; margin-bottom: 1.25rem; }
.bj-tintero-head h2 { color: var(--bj-brass-deep); font-size: 1.2rem; margin: 0; }
.bj-tintero-head p { color: var(--bj-ink-muted); font-size: 0.88rem; margin: 0; }
.bj-entry.bj-propuesto { --bj-cat: var(--bj-brass-deep); border-style: dashed; border-top-style: solid; }
.bj-tintero-grid { display: grid; gap: 1.35rem; }
@media (min-width: 900px) { .bj-tintero-grid { grid-template-columns: 1.7fr 1fr; align-items: start; } }
.bj-leer-mas { display: inline-block; margin-top: 0.25rem; font-weight: 700; color: var(--bj-brass-deep); text-decoration: none; }
.bj-leer-mas:hover { text-decoration: underline; }
/* pagina de analisis */
.bj-doc { display: flex; flex-direction: column; gap: 1.5rem; margin-bottom: 3rem; }
.bj-h2 { color: var(--bj-ink); font-size: 1.3rem; margin: 1rem 0 0; }
.bj-nota { color: var(--bj-ink-faint); font-size: 0.85rem; margin: 0; }
.bj-timeline { margin: 0 0 0.75rem 1.1rem; padding: 0; }
.bj-timeline li { margin-bottom: 0.55rem; color: var(--bj-ink); font-size: 0.95rem; }
.bj-timeline li.proximo { color: var(--bj-comex); }
.bj-tabla-wrap { overflow-x: auto; border: 1px solid var(--bj-rule); border-radius: 8px; background: var(--bj-paper-raised); }
.bj-tabla { width: 100%; border-collapse: collapse; font-size: 0.9rem; min-width: 640px; }
.bj-tabla th { text-align: left; background: var(--bj-mast-bg); color: var(--bj-mast-fg); padding: 0.7rem 0.9rem; font-size: 0.8rem; letter-spacing: 0.04em; text-transform: uppercase; }
.bj-tabla td { vertical-align: top; padding: 0.8rem 0.9rem; border-top: 1px solid var(--bj-rule); color: var(--bj-ink); }
.bj-tabla td:nth-child(3) { background: color-mix(in srgb, var(--bj-brass) 7%, var(--bj-paper-raised)); }
.bj-mini { font-size: 0.75rem; color: var(--bj-ink-faint); }
.bj-implicaciones { display: grid; gap: 1.25rem; }
@media (min-width: 900px) { .bj-implicaciones { grid-template-columns: 1fr 1fr; } }
.bj-fuentes { margin: 0 0 0.75rem 1.1rem; padding: 0; }
.bj-fuentes li { margin-bottom: 0.4rem; font-size: 0.92rem; }
.bj-fuentes a { color: var(--bj-brass-deep); font-weight: 600; }

/* === Compartir en redes: abre la ventana de publicar de cada red con el enlace; el cliente confirma alli === */
.bj-share { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0.5rem; margin: -1.25rem auto 2.25rem; }
.bj-share-label { font-size: 0.85rem; font-weight: 600; color: var(--bj-ink-muted); margin-right: 0.25rem; }
.bj-share-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; min-width: 40px; height: 40px; padding: 0 0.7rem; border-radius: 999px; border: 1px solid var(--bj-rule); background: var(--bj-paper-raised); color: var(--bj-ink); font: inherit; font-size: 0.85rem; font-weight: 600; cursor: pointer; text-decoration: none; transition: background-color .15s, color .15s, border-color .15s; }

.bj-share-btn:hover, .bj-share-btn:focus-visible { background: var(--bj-mast-bg); color: var(--bj-mast-fg); border-color: var(--bj-mast-bg); outline: none; }
.bj-share-btn.bj-nativo { background: var(--bj-brass); border-color: var(--bj-brass); color: var(--bj-mast-fg); }
.bj-share-aviso { font-size: 0.8rem; color: var(--bj-revisar); font-weight: 600; min-width: 7rem; }

/* === "De la autoridad aduanera": criterios, avisos y comunicados de ANAM/SAT que ya aplican (vigente, no tintero) === */
/* Vigía de fuentes oficiales (añadido 2026-09-30) */
.bj-vigia { margin-bottom: 3rem; }
.bj-vigia-head { display: flex; align-items: baseline; gap: 0.75rem; flex-wrap: wrap; border-bottom: 1px solid var(--bj-rule); padding-bottom: 0.5rem; margin-bottom: 1rem; }
.bj-vigia-head h2 { color: var(--bj-ink); font-size: 1.2rem; margin: 0; }
.bj-vigia-head p { color: var(--bj-ink-muted); font-size: 0.88rem; margin: 0; }
.bj-vigia-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border: 1px solid var(--bj-rule); background: var(--bj-paper-raised); }
.bj-vigia-list li { display: grid; grid-template-columns: 11rem 1fr; gap: 0.35rem 1rem; padding: 0.8rem 1rem; border-bottom: 1px solid var(--bj-rule); font-size: 0.93rem; line-height: 1.5; }
.bj-vigia-list li:last-child { border-bottom: 0; }
.bj-vigia-fuente { font-weight: 700; color: var(--bj-ink); }
.bj-vigia-fuente small { display: block; font-weight: 400; font-size: 0.75rem; color: var(--bj-ink-muted); }
.bj-vigia-list li.hay .bj-vigia-fuente { color: var(--bj-comex); }
.bj-vigia-list p { margin: 0; color: var(--bj-ink-muted); }
.bj-vigia-list p strong { color: var(--bj-ink); }
.bj-vigia-list a { color: var(--bj-brass-deep); font-weight: 600; }
@media (max-width: 640px) { .bj-vigia-list li { grid-template-columns: 1fr; } }
.bj-autoridad { margin-bottom: 3rem; }
.bj-autoridad-head { display: flex; align-items: baseline; gap: 0.75rem; flex-wrap: wrap; border-bottom: 1px solid var(--bj-comex); padding-bottom: 0.5rem; margin-bottom: 1.25rem; }
.bj-autoridad-head h2 { color: var(--bj-comex); font-size: 1.2rem; margin: 0; }
.bj-autoridad-head p { color: var(--bj-ink-muted); font-size: 0.88rem; margin: 0; }
.bj-dos-caminos { display: grid; gap: 0.9rem; margin-bottom: 1rem; }
@media (min-width: 760px) { .bj-dos-caminos { grid-template-columns: 1fr 1fr; } }
.bj-camino { border: 1px solid var(--bj-rule); border-radius: 8px; padding: 0.9rem 1rem; background: var(--bj-paper); }
.bj-camino h4 { font-size: 0.8rem; letter-spacing: 0.05em; text-transform: uppercase; margin: 0 0 0.45rem; }
.bj-camino.grave h4 { color: var(--bj-comex); }
.bj-camino.leve h4 { color: var(--bj-revisar); }
.bj-camino p { font-size: 0.92rem; margin: 0; }
.bj-camino .bj-cifra { display: block; font-size: 1.35rem; font-weight: 800; color: var(--bj-ink); margin-bottom: 0.3rem; }
  
/* historial */
.bj-day { margin-bottom: 1.5rem; }
.bj-day-head {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.bj-day-date {
  font-weight: 700;
  color: var(--bj-ink);
  font-size: 1.05rem;
  white-space: nowrap;
}
.bj-day-count { font-size: 0.85rem; color: var(--bj-ink-faint); }
.bj-quiet {
  background-color: var(--bj-paper-raised);
  border: 1px dashed var(--bj-rule);
  border-radius: 8px;
  padding: 0.9rem 1.25rem;
  font-size: 0.92rem;
  color: var(--bj-ink-muted);
}
.bj-tag.info { background-color: var(--bj-ink-faint); }
.bj-today-link {
  display: block;
  background-color: var(--bj-paper-raised);
  border: 1px solid var(--bj-rule);
  border-top: 4px solid var(--bj-brass);
  border-radius: 8px;
  padding: 1.25rem 1.75rem;
  text-decoration: none;
  color: var(--bj-ink);
}
.bj-today-link:hover { box-shadow: 0 10px 20px rgba(15, 46, 50, 0.1); }
.bj-today-link .bj-eyebrow { display: block; margin-bottom: 0.4rem; }
.bj-today-link h3 { margin: 0 0 0.3rem; color: var(--bj-ink); }
.bj-today-link span.bj-cta-arrow { color: var(--bj-brass-deep); font-weight: 600; font-size: 0.9rem; }

/* ── armazón de la página dentro de BRIAN (antes lo daba el sitio anterior) ─────────── */
main.bj{display:block;font-size:16px;line-height:1.6}
main.bj .page-content{max-width:1100px;margin-inline:auto;padding-inline:20px}
main.bj .hero{display:block;max-width:none;margin:0;padding:3rem 0 2rem}
main.bj .hero h1{font-size:clamp(1.45rem,3.2vw,1.9rem);line-height:1.2;letter-spacing:-.02em;margin:.3rem 0 .6rem;
  color:var(--bj-ink);text-wrap:balance}
main.bj .subtitle-tag{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--bj-brass-deep);margin:0}
main.bj .accent-text{color:var(--bj-brass-deep)}
main.bj .hero-intro{color:var(--bj-ink-muted);font-size:1.02rem;max-width:68ch;margin:0}
main.bj h3{font-size:1.2rem;line-height:1.3;margin-top:0}
main.bj h4{margin-top:0}
main.bj a{color:var(--bj-brass-deep)}
.bj-dateline a{font-weight:600}
.bj-gratis{display:inline-block;margin-left:.5rem;padding:.1rem .55rem;border-radius:999px;
  background:var(--bj-revisar);color:var(--bj-pill-fg);font-size:.68rem;letter-spacing:.06em;vertical-align:middle}
.bj-vacio{background:var(--bj-paper-raised);border:1px dashed var(--bj-rule);border-radius:8px;
  padding:1.5rem 1.75rem;margin-bottom:3rem;color:var(--bj-ink-muted)}

/* llamado final: de Brújula a BRIAN */
.bj-cta{background:var(--bj-mast-bg);color:var(--bj-mast-fg);padding:2.5rem 20px;text-align:center}
.bj-cta p{max-width:56ch;margin:0 auto}
.bj-cta .bj-cta-titulo{font-size:1.25rem;font-weight:700;line-height:1.3;text-wrap:balance}
.bj-cta .bj-cta-texto{margin-top:.5rem;font-size:.95rem;opacity:.82}
.bj-cta-botones{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:1.25rem}
.bj-cta-botones a{display:inline-block;padding:.65rem 1.2rem;border-radius:8px;font-weight:700;font-size:.95rem;
  text-decoration:none;border:1px solid var(--bj-brass);color:var(--bj-mast-fg)}
.bj-cta-botones a.principal{background:var(--bj-brass)}
.bj-cta-botones a:hover{background:var(--bj-brass-deep);border-color:var(--bj-brass-deep)}
body.bj-pagina .pie-legal{margin-top:0;border-top:0}
