*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --bg:#f4f1ea; --card:#ffffff; --ink:#272118; --muted:#807566; --soft:#faf8f4;
      --border:#ebe4d8;
      --accent:#3c9173;
      --accent-soft:color-mix(in srgb, var(--accent) 14%, #fffdf9);
      --accent-ink:color-mix(in srgb, var(--accent) 74%, #241c12);
      --coral:#a5553e; --coral-soft:#f9eae2; --amber:#89662c; --amber-soft:#f6eedd;
      --radius:22px; --radius-sm:14px; --radius-pill:30px;
      --shadow:0 6px 22px rgba(60,40,20,.06); --shadow-lg:0 16px 38px rgba(60,40,20,.12);
      /* compat aliases para el HTML/JS existente */
      --navy:var(--ink); --blue:var(--accent-ink); --blue-light:var(--accent-soft);
      --text:var(--ink); --text-muted:var(--muted); --white:var(--card);
      --star-on:var(--amber);
      --green-bg:var(--accent-soft); --green-border:color-mix(in srgb,var(--accent) 32%,var(--border)); --green-text:var(--accent-ink);
      --red-bg:var(--coral-soft);   --red-border:color-mix(in srgb,var(--coral) 32%,var(--border));   --red-text:var(--coral);
      --yellow-bg:var(--amber-soft); --yellow-border:color-mix(in srgb,var(--amber) 32%,var(--border)); --yellow-text:var(--amber);
    }

    body {
      font-family: 'Hanken Grotesk', system-ui, sans-serif;
      background: var(--bg); color: var(--ink); line-height: 1.5;
      -webkit-font-smoothing: antialiased;
    }
    a { color: inherit; }

    /* HEADER */
    header {
      background: color-mix(in srgb, var(--bg) 86%, transparent); backdrop-filter: blur(8px);
      padding: 0 clamp(18px,5vw,40px); position: sticky; top: 0; z-index: 100;
      border-bottom: 1px solid var(--border);
    }
    .header-inner {
      max-width: 900px; margin: 0 auto; display: flex; align-items: center;
      justify-content: space-between; height: 66px;
    }
    .logo {
      display: flex; align-items: center; gap: 10px; white-space: nowrap;
      text-decoration: none; color: var(--ink); font-weight: 800; font-size: 20px; letter-spacing: -.02em;
    }
    .logo svg { width: 28px; height: 28px; color: var(--accent); }
    .btn-resena {
      background: var(--accent-ink); color: #fff; border: none;
      padding: 11px 20px; border-radius: var(--radius-pill); font-size: 14px; font-weight: 700;
      cursor: pointer; text-decoration: none; white-space: nowrap;
      box-shadow: 0 4px 12px color-mix(in srgb,var(--accent) 40%,transparent); transition: .15s;
    }
    .btn-resena:hover { filter: brightness(1.05); transform: translateY(-1px); }

    /* PAGE LAYOUT */
    .breadcrumb { max-width: 1180px; margin: 0 auto; padding: 18px clamp(18px,5vw,40px) 4px; font-size: 13.5px; color: var(--muted); }
    .breadcrumb a { color: var(--accent-ink); text-decoration: none; font-weight: 600; }
    .breadcrumb a:hover { text-decoration: underline; }
    .eb-layout-wrap {
      max-width: 1180px; margin: 8px auto 0;
      padding: 0 clamp(18px,5vw,40px) 48px;
      display: grid; grid-template-columns: 340px 1fr; gap: 28px; align-items: start;
    }
    .eb-aside { position: sticky; top: 84px; }
    .eb-head,
    .empresa-header {
      background: var(--card); border: 1px solid var(--border);
      border-radius: var(--radius); padding: 26px; box-shadow: var(--shadow);
    }
    .empresa-logo {
      width: 72px; height: 72px; border-radius: 18px; border: 1px solid var(--border);
      background: var(--soft); display: flex; align-items: center; justify-content: center;
      overflow: hidden; margin-bottom: 16px;
    }
    .empresa-logo img { width: 100%; height: 100%; object-fit: contain; padding: 10px; }
    .empresa-logo.logo-dark { background: var(--ink); }
    .empresa-logo-placeholder {
      width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
      font-size: 30px; font-weight: 800; color: #fff; background: var(--accent-ink); border-radius: 17px;
    }
    .empresa-nombre { font-size: 26px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; text-wrap: balance; }
    .empresa-rubro {
      font-size: 13px; color: var(--muted); background: var(--soft); border: 1px solid var(--border);
      border-radius: var(--radius-pill); padding: 3px 12px; display: inline-block; margin-top: 10px;
    }
    .rating-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
    .stars { display: inline-flex; gap: 2px; }
    .star { line-height: 1; }
    .rating-big { font-size: 32px; font-weight: 800; line-height: 1; }
    .rating-label { font-size: 13.5px; color: var(--muted); white-space: nowrap; }
    .btn-dejar-resena {
      display: block; text-align: center; margin-top: 18px;
      background: var(--accent-ink); color: #fff;
      border-radius: var(--radius-pill); padding: 13px 20px;
      font-size: 14.5px; font-weight: 700; text-decoration: none; transition: .15s;
    }
    .btn-dejar-resena:hover { filter: brightness(1.05); }
    .rec-pill {      display: inline-flex; align-items: center; gap: 6px;
      border-radius: var(--radius-pill); padding: 6px 14px;
      font-size: 13px; font-weight: 700; margin-top: 14px;
      border: 1px solid var(--border);
    }
    .rec-pill.rec-si      { background: var(--accent-soft); color: var(--accent-ink); border-color: color-mix(in srgb,var(--accent) 28%,var(--border)); }
    .rec-pill.rec-no      { background: var(--coral-soft);  color: var(--coral);      border-color: color-mix(in srgb,var(--coral)  28%,var(--border)); }
    .rec-pill.rec-depende { background: var(--amber-soft);  color: var(--amber);      border-color: color-mix(in srgb,var(--amber)  28%,var(--border)); }
    .rec-ico { font-size: 12px; }
    .aside-back {
      display: block; font-size: 13px; font-weight: 600;
      color: var(--accent-ink); text-decoration: none; margin-bottom: 16px;
    }
    .aside-back:hover { text-decoration: underline; }
    .empresa-website {
      display: block;
      font-size: 14px; font-weight: 500; color: var(--accent-ink); text-decoration: none;
      margin-top: 10px; transition: opacity .15s;
    }
    .empresa-website:hover { text-decoration: underline; }

    /* MAIN */
    .main { padding-top: 0; }
    .empresa-intro { font-size: 15px; color: var(--muted); line-height: 1.65; margin-bottom: 24px; }
    .section-title { font-size: 19px; font-weight: 800; letter-spacing: -.01em; margin-bottom: 16px; }

    /* RESUMEN */
    .resumen { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); padding: 26px; box-shadow: var(--shadow); margin-bottom: 28px; }
    .resumen-title { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 20px; }
    .resumen-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 32px; margin-bottom: 20px; }
    .resumen-item { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
    .resumen-label { font-size: 13px; color: var(--muted); font-weight: 600; }
    .badge-cualitativo {
      display: inline-block; border-radius: var(--radius-pill);
      padding: 5px 14px; font-size: 13.5px; font-weight: 700;
      border: 1px solid var(--border); white-space: nowrap; max-width: 100%;
    }
    /* tono según valor */
    .badge-cualitativo.badge-tone-good {
      background: var(--accent-soft); color: var(--accent-ink);
      border-color: color-mix(in srgb,var(--accent) 28%,var(--border));
    }
    .badge-cualitativo.badge-tone-neutral {
      background: var(--amber-soft); color: var(--amber);
      border-color: color-mix(in srgb,var(--amber) 28%,var(--border));
    }
    .badge-cualitativo.badge-tone-bad {
      background: var(--coral-soft); color: var(--coral);
      border-color: color-mix(in srgb,var(--coral) 28%,var(--border));
    }
    .badge-cualitativo-sub { font-size: 11.5px; color: var(--muted); margin-top: 2px; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
    .badge-cualitativo-sub:hover { color: var(--accent-ink); }
    .resumen-bar-wrap { display: flex; align-items: center; gap: 10px; width: 100%; }
    .resumen-bar-bg { flex: 1; height: 8px; background: var(--soft); border: 1px solid var(--border); border-radius: 5px; overflow: hidden; }
    .resumen-bar-fill { height: 100%; background: var(--accent); border-radius: 5px; transition: width .4s ease; }
    .resumen-bar-val { font-size: 13px; font-weight: 800; min-width: 28px; text-align: right; }
    .dist-wrap { display: none; margin-top: 10px; width: 100%; }
    .dist-wrap.open { display: block; }
    .dist-row { display: flex; align-items: center; gap: 8px; margin-bottom: 5px; font-size: 12px; }
    .dist-row-label { width: 150px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .dist-bar-bg { flex: 1; height: 6px; background: var(--soft); border: 1px solid var(--border); border-radius: 4px; overflow: hidden; }
    .dist-bar-fill { height: 100%; background: var(--accent); border-radius: 4px; }
    .dist-count { color: var(--muted); min-width: 16px; text-align: right; }
    .resumen-stats { display: flex; gap: 12px 24px; padding-top: 18px; border-top: 1px solid var(--border); margin-bottom: 20px; flex-wrap: wrap; }
    .resumen-stat-item { font-size: 13.5px; color: var(--muted); }
    .resumen-stat-item strong { color: var(--ink); font-weight: 800; }
    .highlights { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .highlight-card { border-radius: var(--radius-sm); padding: 14px 16px; font-size: 13.5px; line-height: 1.5; }
    .highlight-card-bien { background: var(--accent-soft); }
    .highlight-card-mal  { background: var(--coral-soft); }
    .highlight-label { font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 7px; display: flex; align-items: center; gap: 5px; }
    .highlight-card-bien .highlight-label { color: var(--accent-ink); }
    .highlight-card-mal  .highlight-label { color: var(--coral); }
    .highlight-text { color: #4a4338; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
    .resumen-ia-note { font-size: 11.5px; color: var(--muted); margin-top: 10px; font-style: italic; }

    /* CTA TRABAJASTE / COMPARTIR */
    .cta-trabajaste {
      background: var(--accent-soft); border: 1px solid color-mix(in srgb,var(--accent) 28%,var(--border));
      border-radius: var(--radius); padding: 18px 22px; margin: 22px 0;
      display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
    }
    .cta-trabajaste-texto { display: flex; flex-direction: column; gap: 6px; flex: 1 1 280px; }
    .cta-trabajaste-texto strong { font-size: 15px; color: var(--ink); }
    .cta-visitas-espera { font-size: 13.5px; color: var(--muted); display: flex; align-items: center; gap: 7px; }
    .cta-visitas-espera .visitas-num { font-weight: 800; color: var(--ink); font-size: 15px; }
    .pulse { width: 8px; height: 8px; background: var(--amber); border-radius: 50%; display: inline-block; flex-shrink: 0; animation: pulseAnim 1.5s infinite; }
    @keyframes pulseAnim { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(1.4)} }
    .btn-cta-trabajaste {
      background: var(--accent-ink); color: #fff; padding: 12px 20px; border-radius: var(--radius-pill);
      font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; flex-shrink: 0; transition: .15s;
    }
    .btn-cta-trabajaste:hover { filter: brightness(1.05); transform: translateY(-1px); }
    .cta-compartir { border: 1px solid var(--border); border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow); margin-top: 2.5rem; }
    .cta-compartir-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 18px 22px; flex-wrap: wrap; }
    .cta-compartir-texto { display: flex; flex-direction: column; gap: 4px; flex: 1 1 280px; }
    .cta-compartir-texto strong { font-size: 15px; color: var(--ink); }
    .cta-compartir-texto span { font-size: 13.5px; color: var(--muted); }
    .cta-compartir-botones { display: flex; gap: 8px; flex-shrink: 0; }
    .btn-compartir { padding: 10px 16px; border-radius: var(--radius-pill); font-size: 13.5px; font-weight: 700; cursor: pointer; border: none; text-decoration: none; display: inline-flex; align-items: center; transition: .15s; }
    .btn-compartir:hover { filter: brightness(1.04); transform: translateY(-1px); }
    .btn-whatsapp { background: #25d366; color: #fff; }
    .btn-copiar { background: var(--ink); color: #fff; }

    /* RESEÑAS */
    .resena { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); margin-bottom: 16px; }
    .resena-header { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
    .resena-stars { display: flex; gap: 2px; }
    .resena-rating { font-weight: 800; font-size: 15px; }
    .resena-tiempo { font-size: 12px; color: var(--muted); background: var(--soft); border: 1px solid var(--border); border-radius: var(--radius-pill); padding: 3px 10px; }
    .badge-sigue { font-size: 12px; border-radius: var(--radius-pill); padding: 4px 11px; font-weight: 700; }
    .badge-sigue-si { background: var(--accent-soft); border: 1px solid color-mix(in srgb,var(--accent) 22%,var(--border)); color: var(--accent-ink); }
    .badge-sigue-no { background: var(--soft); border: 1px solid var(--border); color: var(--muted); }
    .resena-subcats { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
    .resena-subcat { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; background: var(--soft); border: 1px solid var(--border); border-radius: var(--radius-pill); padding: 5px 11px; color: var(--muted); white-space: nowrap; }
    .resena-subcat b { font-weight: 700; }
    .resena-subcat i { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); flex-shrink: 0; display: inline-block; }
    .resena-subcat.tone-good i { background: var(--accent); }
    .resena-subcat.tone-bad i { background: var(--coral); }
    .resena-subcat.tone-neutral i { background: var(--amber); }
    .resena-publicado { font-size: 12.5px; color: var(--muted); margin: -4px 0 12px; }
    .resena-meta { font-size: 13px; color: var(--muted); margin: 2px 0 10px; }
    .bloque { border-radius: var(--radius-sm); padding: 13px 15px; margin-bottom: 9px; font-size: 14px; line-height: 1.55; }
    .bloque-bien { background: var(--accent-soft); }
    .bloque-mal { background: var(--coral-soft); }
    .bloque-desearias { background: var(--amber-soft); }
    .bloque-gerencia { background: var(--soft); border: 1px solid var(--border); }
    .bloque-label { font-size: 12px; font-weight: 800; margin-bottom: 6px; display: block; }
    .bloque-bien .bloque-label { color: var(--accent-ink); }
    .bloque-mal .bloque-label { color: var(--coral); }
    .bloque-desearias .bloque-label { color: var(--amber); }
    .bloque-gerencia .bloque-label { color: var(--muted); }
    .bloque-text { color: #4a4338; line-height: 1.6; }
    .resena-masked-note { font-size: 11.5px; color: var(--muted); margin-top: 6px; font-style: italic; }

    .resena-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); }
    .btn-voto { display: flex; align-items: center; gap: 7px; background: var(--soft); border: 1px solid var(--border); border-radius: var(--radius-pill); padding: 8px 15px; font-size: 13px; font-family: inherit; cursor: pointer; color: var(--muted); transition: .15s; font-weight: 600; }
    .btn-voto:hover:not(.voted) { border-color: var(--accent); color: var(--accent-ink); }
    .btn-voto.voted { border-color: var(--accent); color: var(--accent-ink); background: var(--accent-soft); cursor: default; }
    .btn-voto .voto-ico { flex-shrink: 0; transition: fill .15s; }
    .btn-voto.voted .voto-ico { fill: currentColor; }
    .btn-voto .voto-count { font-weight: 800; color: var(--ink); }
    .btn-voto.voted .voto-count { color: var(--accent-ink); }
    .btn-denunciar { background: none; border: none; font-size: 12.5px; color: var(--muted); cursor: pointer; font-family: inherit; padding: 0; text-decoration: underline; text-underline-offset: 2px; }
    .btn-denunciar:hover { color: var(--coral); }

    /* NOT FOUND */
    .not-found { text-align: center; padding: 80px 24px; color: var(--muted); }
    .not-found h2 { font-size: 22px; margin: 12px 0 8px; color: var(--ink); font-weight: 800; }

    /* FOOTER */
    footer { text-align: center; padding: 36px 24px; font-size: 13px; color: var(--muted); border-top: 1px solid var(--border); margin-top: 24px; }
    footer a { color: var(--accent-ink); text-decoration: none; font-weight: 600; }
    footer a:hover { text-decoration: underline; }

    /* MODAL DENUNCIA */
    .modal-overlay { display: none; position: fixed; inset: 0; background: rgba(40,33,24,0.45); z-index: 1000; align-items: center; justify-content: center; padding: 24px; }
    .modal-overlay.active { display: flex; }
    .modal { background: var(--card); border-radius: var(--radius); padding: 30px 32px; width: 100%; max-width: 540px; box-shadow: var(--shadow-lg); max-height: calc(100vh - 40px); overflow-y: auto; }
    .modal h3 { font-size: 18px; font-weight: 800; margin-bottom: 4px; }
    .modal-empresa { font-size: 13px; color: var(--muted); margin-bottom: 20px; }
    .modal label { font-size: 13px; font-weight: 700; display: block; margin-bottom: 6px; margin-top: 16px; }
    .modal label:first-of-type { margin-top: 0; }
    .modal textarea, .modal input[type=email] {
      width: 100%; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 11px 13px;
      font-family: inherit; font-size: 14px; color: var(--ink); background: var(--soft);
      resize: none; outline: none; transition: border-color .15s;
    }
    .modal textarea:focus, .modal input[type=email]:focus { border-color: var(--accent); }
    .modal textarea { height: 88px; }
    .modal-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 20px; }
    .btn-cancelar { background: none; border: 1px solid var(--border); border-radius: var(--radius-pill); padding: 9px 18px; font-size: 14px; font-family: inherit; cursor: pointer; color: var(--muted); }
    .btn-enviar { background: var(--accent-ink); border: none; border-radius: var(--radius-pill); padding: 9px 20px; font-size: 14px; font-family: inherit; font-weight: 700; cursor: pointer; color: #fff; transition: .15s; }
    .btn-enviar:hover { filter: brightness(1.05); }
    .btn-enviar:disabled { opacity: 0.6; cursor: default; }
    .modal-msg { font-size: 13px; margin-top: 12px; text-align: center; }
    .modal-msg.ok { color: var(--accent-ink); }
    .modal-msg.err { color: var(--coral); }

    /* Modal denuncia: flujo con alternativas */
    .step-track { display: flex; gap: 6px; margin-bottom: 18px; }
    .step-track span { flex: 1; height: 3px; border-radius: 3px; background: var(--border); }
    .step-track span.done { background: var(--accent); }
    .step-track span.current { background: var(--accent-ink); }
    .modal .stance {
      background: var(--accent-soft); border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border));
      border-radius: var(--radius-sm); padding: 12px 14px; font-size: 12.5px; color: var(--accent-ink);
      line-height: 1.5; margin-bottom: 18px;
    }
    .option-list { display: flex; flex-direction: column; gap: 10px; }
    .option-card {
      display: flex; align-items: flex-start; gap: 12px; text-align: left;
      background: var(--soft); border: 1px solid var(--border); border-radius: var(--radius-sm);
      padding: 14px 16px; cursor: pointer; font-family: inherit; width: 100%; transition: .15s;
    }
    .option-card:hover { border-color: var(--accent); }
    .option-card .ico { font-size: 18px; flex-shrink: 0; margin-top: 1px; }
    .option-card .txt strong { display: block; font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 2px; }
    .option-card .txt span { font-size: 12.5px; color: var(--muted); line-height: 1.45; }
    .option-card.strong-action { border-color: color-mix(in srgb, var(--coral) 28%, var(--border)); }
    .option-card.strong-action:hover { border-color: var(--coral); }
    .cat-list { display: flex; flex-direction: column; gap: 8px; }
    .cat-option {
      display: flex; align-items: center; gap: 10px; background: var(--soft); border: 1px solid var(--border);
      border-radius: var(--radius-sm); padding: 11px 14px; cursor: pointer; font-size: 13.5px; transition: .15s;
    }
    .cat-option:hover { border-color: var(--accent); }
    .cat-option input { accent-color: var(--accent-ink); flex-shrink: 0; }
    .cat-option.soft { border-style: dashed; }
    .field-hint { font-size: 11.5px; color: var(--muted); margin-top: 5px; }
    .email-notice {
      background: var(--amber-soft); border: 1px solid color-mix(in srgb, var(--amber) 26%, var(--border));
      border-radius: var(--radius-sm); padding: 12px 14px; font-size: 12.5px; color: var(--ink);
      line-height: 1.5; margin-top: 16px;
    }
    .repeat-notice {
      background: var(--coral-soft); border: 1px solid color-mix(in srgb, var(--coral) 26%, var(--border));
      border-radius: var(--radius-sm); padding: 12px 14px; font-size: 12.5px; color: var(--ink);
      line-height: 1.5; margin-bottom: 18px;
    }
    .repeat-notice strong { color: var(--coral); }

    @media (max-width: 900px) {
      .eb-layout-wrap { grid-template-columns: 1fr; }
      .eb-aside { position: static; }
    }
    @media (max-width: 600px) {
      .resumen-grid, .highlights { grid-template-columns: 1fr; }
      .cta-compartir-inner, .cta-trabajaste { flex-direction: column; align-items: flex-start; justify-content: flex-start; }
      .cta-trabajaste-texto, .cta-compartir-texto { flex: none; }
    }

    /* MULTAS DT */
    .bloque-dt {
      background: var(--card); border: 1px solid var(--border);
      border-radius: var(--radius); padding: 20px 22px;
      box-shadow: var(--shadow); margin-bottom: 28px;
    }
    .bloque-dt.dt-amber {
      background: var(--amber-soft);
      border-color: color-mix(in srgb, var(--amber) 28%, var(--border));
    }
    .bloque-dt.dt-coral {
      background: var(--coral-soft);
      border-color: color-mix(in srgb, var(--coral) 22%, var(--border));
    }
    .bloque-dt-header {
      display: flex; align-items: flex-start; justify-content: space-between;
      gap: 8px; margin-bottom: 14px;
    }
    .bloque-dt-titulo-wrap { display: flex; flex-direction: column; gap: 3px; }
    .bloque-dt-titulo {
      font-size: 11px; font-weight: 800; color: var(--muted);
      text-transform: uppercase; letter-spacing: .08em;
    }
    .bloque-dt-empresa { font-size: 11.5px; color: var(--muted); }
    .bloque-dt-link {
      font-size: 12px; color: var(--accent-ink); text-decoration: none; font-weight: 600;
      white-space: nowrap; border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--border));
      padding: 4px 10px; border-radius: var(--radius-pill); background: var(--accent-soft);
      flex-shrink: 0;
    }
    .bloque-dt-stat {
      display: flex; align-items: baseline; gap: 8px;
      margin-bottom: 12px; flex-wrap: wrap;
    }
    .bloque-dt-num { font-size: 28px; font-weight: 800; line-height: 1; }
    .bloque-dt-sublabel { font-size: 14px; color: var(--ink); font-weight: 600; }
    .bloque-dt-pendiente-pill {
      display: inline-flex; align-items: center; gap: 5px;
      background: var(--coral-soft);
      border: 1px solid color-mix(in srgb, var(--coral) 28%, var(--border));
      color: var(--coral); border-radius: var(--radius-pill);
      font-size: 12px; font-weight: 700; padding: 3px 10px; margin-left: 4px;
    }
    .bloque-dt-ejemplos {
      list-style: none; display: flex; flex-direction: column;
      gap: 6px; margin-bottom: 12px;
    }
    .bloque-dt-ejemplos li {
      display: flex; align-items: flex-start; gap: 8px;
      font-size: 13px; color: #4a4338; line-height: 1.4;
      background: rgba(255,255,255,.55);
      border: 1px solid rgba(137,102,44,.12);
      border-radius: var(--radius-sm); padding: 8px 11px;
    }
    .bloque-dt.dt-coral .bloque-dt-ejemplos li {
      border-color: rgba(165,85,62,.12);
    }
    .bloque-dt-ejemplos li > span:not(.dot-status):not(.badge-dt-pendiente) { flex: 1; }
    .dot-status {
      width: 8px; min-width: 8px; height: 8px; min-height: 8px;
      border-radius: 50%; flex: 0 0 8px; margin-top: 5px;
    }
    .dot-pagada { background: var(--accent); }
    .dot-pendiente { background: var(--coral); }
    .badge-dt-pendiente {
      display: inline-flex; align-items: center;
      font-size: 11px; font-weight: 700; padding: 2px 9px; border-radius: 20px;
      background: var(--coral-soft);
      border: 1px solid color-mix(in srgb, var(--coral) 22%, var(--border));
      color: var(--coral); white-space: nowrap; flex-shrink: 0;
    }
    .bloque-dt-expandir {
      background: none; border: none; color: var(--accent-ink);
      font-size: 12.5px; font-weight: 700; font-family: inherit;
      cursor: pointer; padding: 2px 0 8px; display: block;
    }
    .bloque-dt-fuente {
      font-size: 11px; color: var(--muted);
      border-top: 1px solid color-mix(in srgb, var(--amber) 22%, var(--border));
      padding-top: 10px; margin-top: 2px;
    }
    .bloque-dt.dt-coral .bloque-dt-fuente {
      border-color: color-mix(in srgb, var(--coral) 18%, var(--border));
    }
    .bloque-dt:not(.dt-amber):not(.dt-coral) .bloque-dt-fuente {
      border-color: var(--border);
    }
    .bloque-dt-fuente a { color: var(--muted); text-decoration: underline; }
    .dt-item-sub { display: block; font-size: 11px; color: var(--muted); margin-top: 2px; }
    .dt-rut-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 8px; padding-top: 8px; border-top: 1px solid color-mix(in srgb, var(--border) 60%, transparent); }
    .dt-rut-label { font-size: 11px; color: var(--muted); }
    .dt-rut-val { font-size: 11px; font-family: monospace; color: var(--ink); font-weight: 600; letter-spacing: .03em; }
    .dt-rut-btn { background: none; border: none; color: var(--accent-ink); cursor: pointer; font-size: 11px; padding: 0; text-decoration: underline; font-family: inherit; opacity: .75; }
    .dt-rut-form { display: none; align-items: center; gap: 6px; width: 100%; margin-top: 6px; flex-wrap: wrap; }
    .dt-rut-input { border: 1px solid var(--border); border-radius: 6px; padding: 5px 9px; font-size: 12px; flex: 1; min-width: 140px; max-width: 220px; font-family: inherit; background: var(--card); color: var(--ink); outline: none; }
    .dt-rut-submit { background: var(--accent); color: var(--accent-ink); border: none; border-radius: 6px; padding: 5px 12px; font-size: 12px; cursor: pointer; font-family: inherit; font-weight: 700; }
    .dt-rut-submit:disabled { background: var(--border); color: var(--muted); cursor: not-allowed; }
    .dt-rut-gracias { font-size: 11px; color: var(--muted); font-style: italic; }
    .bloque-dt-clean {
      background: var(--soft); border: 1px solid var(--border);
      border-radius: var(--radius-sm); padding: 14px 16px;
      display: flex; align-items: flex-start; gap: 12px;
    }
    .bloque-dt-clean-ico { font-size: 15px; flex-shrink: 0; margin-top: 2px; opacity: .7; }
    .bloque-dt-clean-title { font-size: 13px; font-weight: 700; color: var(--ink); margin-bottom: 4px; }
    .bloque-dt-clean-sub { font-size: 12px; color: var(--muted); line-height: 1.55; }
