/*
 * Cardioteca.com — Guías Clínicas Interactivas
 * Guía: Hipertensión Pulmonar ESC/ERS 2022
 * Carpeta: /components/com_cardiotools/htp/
 * Versión: 20260522
 * © Campus Formación Sanitaria S.L. — CIF B88633318
 */

#htp-root {
  --bg:#f0f4f8; --surface:#ffffff; --surface2:#f8fafc;
  --border:#dde3ed; --border-focus:#0e6fbd;
  --navy:#0d2d5e; --navy2:#1a4a8a;
  --teal:#0891b2; --teal2:#0e7490;
  --green:#059669; --blue:#2563eb; --amber:#d97706; --red:#dc2626;
  --text:#1e293b; --text2:#475569; --text3:#94a3b8;
  --shadow:0 1px 3px rgba(0,0,0,.08),0 4px 16px rgba(0,0,0,.06);
  --shadow2:0 2px 8px rgba(0,0,0,.12),0 8px 32px rgba(0,0,0,.08);
}

#htp-root * {box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
#htp-root button:focus:not(:focus-visible),
#htp-root input:focus:not(:focus-visible),
#htp-root select:focus:not(:focus-visible),
#htp-root label:focus:not(:focus-visible){outline:none}

#htp-root {background:var(--bg);color:var(--text);font-family:'Source Sans 3',sans-serif;font-size:15px;line-height:1.6;min-height:auto}

#htp-root #app-wrapper {max-width:780px;margin:0 auto;padding:24px 16px 48px}


/* HEADER */
#htp-root .app-header {text-align:center;margin-bottom:28px}

#htp-root .app-header .badge {display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:20px;margin-bottom:12px;font-family:'Outfit',sans-serif}

#htp-root .badge .dot {width:6px;height:6px;border-radius:50%;background:var(--teal);animation:pulse 2s infinite}

@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

#htp-root .app-header h1 {font-family:'Outfit',sans-serif;font-size:26px;font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:6px}

#htp-root .app-header h1 span {color:var(--teal)}

#htp-root .app-header p {color:var(--text2);font-size:14px;max-width:520px;margin:0 auto}


/* PROGRESS BAR */
#htp-root .htp-prog-bar {display:flex;align-items:center;margin-bottom:22px;padding:0 4px}

#htp-root .prog-step {display:flex;flex-direction:column;align-items:center;gap:5px;flex:1}

#htp-root .prog-circle {width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;font-family:'Outfit',sans-serif;transition:all .3s;border:2px solid var(--border);background:var(--surface);color:var(--text3)}

#htp-root .prog-circle.active {border-color:var(--navy);background:var(--navy);color:#fff}

#htp-root .prog-circle.done {border-color:var(--teal);background:var(--teal);color:#fff}

#htp-root .prog-label {font-size:10px;color:var(--text3);font-weight:500;text-align:center;line-height:1.3;white-space:nowrap}

#htp-root .prog-label.active {color:var(--navy);font-weight:600}

#htp-root .prog-label.done {color:var(--teal)}

#htp-root .prog-line {flex:1;height:2px;background:var(--border);transition:background .3s;max-width:55px;margin-bottom:15px}

#htp-root .prog-line.done {background:var(--teal)}


/* BREADCRUMB */
#htp-root .path-bar {background:linear-gradient(135deg,#eff6ff,#ecfdf5);border:1px solid var(--border);border-radius:10px;padding:9px 14px;margin-bottom:18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}

#htp-root .path-lbl {font-size:11px;color:var(--text3);font-weight:600;text-transform:uppercase;letter-spacing:.07em;font-family:'Outfit',sans-serif;flex-shrink:0}

#htp-root .path-val {font-size:13px;font-weight:600;color:var(--navy);font-family:'Outfit',sans-serif}


/* CARD */
#htp-root .card {background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:26px;box-shadow:var(--shadow);margin-bottom:14px}

#htp-root .card-title {font-family:'Outfit',sans-serif;font-size:18px;font-weight:600;color:var(--navy);margin-bottom:5px}

#htp-root .card-subtitle {font-size:13px;color:var(--text2);margin-bottom:22px}


/* SECTION TITLE */
#htp-root .section-title {font-family:'Outfit',sans-serif;font-size:12px;font-weight:700;color:var(--teal2);text-transform:uppercase;letter-spacing:.08em;margin:16px 0 9px;padding-bottom:5px;border-bottom:1px solid var(--border)}

#htp-root .section-title.first {margin-top:0}


/* CHECKBOX ITEMS */
#htp-root .chk-grid {display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px}

@media(max-width:479px){#htp-root .chk-grid {grid-template-columns:1fr}}

#htp-root .chk {display:flex;align-items:center;gap:9px;padding:8px 11px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s;background:var(--surface2);user-select:none}

#htp-root .chk:hover {border-color:var(--teal)}

#htp-root .chk.checked {border-color:var(--navy);background:rgba(13,45,94,.06)}

#htp-root .chk-box {width:16px;height:16px;border-radius:4px;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s;background:var(--surface)}

#htp-root .chk.checked .chk-box {background:var(--navy);border-color:var(--navy)}

#htp-root .chk-mark {color:#fff;font-size:10px;font-weight:700;display:none}

#htp-root .chk.checked .chk-mark {display:block}

#htp-root .chk-lbl {font-size:12.5px;color:var(--text);line-height:1.35}


/* OPTION GRID */
#htp-root .opt-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:14px}

@media(min-width:480px){#htp-root .opt-grid.c3 {grid-template-columns:repeat(3,1fr)}}

@media(min-width:480px){#htp-root .opt-grid.c4 {grid-template-columns:repeat(4,1fr)}}

#htp-root .opt-btn {border:2px solid var(--border);background:var(--surface2);border-radius:10px;padding:11px 8px;cursor:pointer;text-align:center;transition:all .2s;user-select:none}

#htp-root .opt-btn:hover {border-color:var(--teal);transform:translateY(-1px)}

#htp-root .opt-btn.selected {border-color:var(--navy);background:var(--navy)}

#htp-root .opt-icon {font-size:20px;margin-bottom:3px;display:block}

#htp-root .opt-name {font-family:'Outfit',sans-serif;font-size:12.5px;font-weight:600;color:var(--navy);display:block;line-height:1.3}

#htp-root .opt-btn.selected .opt-name {color:#fff}

#htp-root .opt-sub {font-size:10.5px;color:var(--text3);display:block;font-family:'JetBrains Mono',monospace;margin-top:1px;line-height:1.3}

#htp-root .opt-btn.selected .opt-sub {color:rgba(255,255,255,.6)}


/* OPTION LIST */
#htp-root .opt-list {display:flex;flex-direction:column;gap:8px;margin-bottom:14px}

#htp-root .opt-list-btn {border:2px solid var(--border);background:var(--surface2);border-radius:10px;padding:11px 15px;cursor:pointer;text-align:left;transition:all .2s;font-family:'Source Sans 3',sans-serif;font-size:14px;font-weight:500;color:var(--text);user-select:none}

#htp-root .opt-list-btn:hover {border-color:var(--teal)}

#htp-root .opt-list-btn.selected {border-color:var(--navy);background:var(--navy);color:#fff}

#htp-root .opt-list-btn .lsub {font-size:11.5px;opacity:.65;display:block;margin-top:2px;font-weight:400;font-family:'JetBrains Mono',monospace}


/* CHIPS */
#htp-root .chips {display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}

#htp-root .chip {padding:5px 13px;border:1.5px solid var(--border);border-radius:20px;font-size:13px;font-weight:500;color:var(--text2);cursor:pointer;transition:all .15s;background:var(--surface2);user-select:none}

#htp-root .chip:hover {border-color:var(--teal)}

#htp-root .chip.selected {background:var(--navy);border-color:var(--navy);color:#fff}


/* YES/NO BUTTONS */
#htp-root .yn-row {display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}

#htp-root .yn-btn {border:2px solid var(--border);border-radius:12px;padding:16px 12px;cursor:pointer;text-align:center;transition:all .2s;background:var(--surface2);user-select:none}

#htp-root .yn-btn:hover {transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.1)}

#htp-root .yn-btn.y-btn:hover {border-color:var(--red);background:#fff5f5}

#htp-root .yn-btn.n-btn:hover {border-color:var(--green);background:#f0fdf4}

#htp-root .yn-icon {font-size:26px;display:block;margin-bottom:5px}

#htp-root .yn-label {font-family:'Outfit',sans-serif;font-size:15px;font-weight:700;display:block}

#htp-root .yn-sub {font-size:11.5px;color:var(--text2);display:block;margin-top:3px}


/* PROBABILITY BOX */
#htp-root .prob-box {border-radius:12px;padding:16px 18px;margin-bottom:18px;display:flex;align-items:center;gap:14px}

#htp-root .prob-box.low {background:#f0fdf4;border:2px solid #6ee7b7}

#htp-root .prob-box.intermediate {background:#fffbeb;border:2px solid #fcd34d}

#htp-root .prob-box.high {background:#fef2f2;border:2px solid #fca5a5}

#htp-root .prob-icon {font-size:30px;flex-shrink:0}

#htp-root .prob-level {font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.65;margin-bottom:2px}

#htp-root .prob-title {font-family:'Outfit',sans-serif;font-size:19px;font-weight:700;line-height:1.2}

#htp-root .prob-box.low .prob-title {color:var(--green)}

#htp-root .prob-box.intermediate .prob-title {color:var(--amber)}

#htp-root .prob-box.high .prob-title {color:var(--red)}


/* RESULT HEADER */
#htp-root .result-header {display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}

#htp-root .r-icon {width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}

#htp-root .r-icon.g1 {background:#fff0f0;color:var(--red)}

#htp-root .r-icon.g2 {background:#fff8e1;color:var(--amber)}

#htp-root .r-icon.g3 {background:#e8f5e9;color:var(--green)}

#htp-root .r-icon.g4 {background:#eff6ff;color:var(--blue)}

#htp-root .r-icon.g5 {background:#f3e8ff;color:#7c3aed}

#htp-root .r-title {font-family:'Outfit',sans-serif;font-size:20px;font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:3px}

#htp-root .r-sub {font-size:13px;color:var(--text2)}


/* EVIDENCE BADGES */
#htp-root .ev-row {display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}

#htp-root .ev-badge {display:inline-flex;align-items:center;padding:4px 11px;border-radius:20px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;border:1.5px solid}

#htp-root .ev-badge.c1 {background:#f0fdf4;color:#065f46;border-color:#6ee7b7}

#htp-root .ev-badge.c2a {background:#eff6ff;color:#1e40af;border-color:#93c5fd}

#htp-root .ev-badge.c2b {background:#fffbeb;color:#92400e;border-color:#fcd34d}

#htp-root .ev-badge.c3 {background:#fef2f2;color:#991b1b;border-color:#fca5a5}

#htp-root .ev-badge.loe {background:#f8fafc;color:var(--text2);border-color:var(--border)}


/* DERIVATION BOX */
#htp-root .deriv-box {border-radius:10px;padding:12px 16px;margin-bottom:14px;display:flex;align-items:flex-start;gap:10px}

#htp-root .deriv-box.urgent {background:#fef2f2;border:2px solid #fca5a5}

#htp-root .deriv-box.programmed {background:#eff6ff;border:2px solid #93c5fd}

#htp-root .deriv-box.local {background:#f0fdf4;border:2px solid #6ee7b7}

#htp-root .deriv-icon {font-size:19px;flex-shrink:0;margin-top:1px}

#htp-root .deriv-lbl {font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-family:'Outfit',sans-serif;opacity:.65}

#htp-root .deriv-txt {font-size:13.5px;font-weight:600;font-family:'Outfit',sans-serif;margin-top:2px}

#htp-root .deriv-box.urgent .deriv-txt {color:var(--red)}

#htp-root .deriv-box.programmed .deriv-txt {color:var(--blue)}

#htp-root .deriv-box.local .deriv-txt {color:var(--green)}


/* NOTES */
#htp-root .notes-box {background:var(--surface2);border-radius:10px;padding:13px;margin-bottom:13px}

#htp-root .notes-ttl {font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-family:'Outfit',sans-serif}

#htp-root .notes-ul {list-style:none;display:flex;flex-direction:column;gap:5px}

/* CATEGORIZED NOTE ITEMS */
#htp-root .ni {display:flex;align-items:flex-start;gap:8px;border-radius:7px;padding:7px 9px;font-size:13px;line-height:1.55;border-left:3px solid transparent}
#htp-root .ni-ico {font-size:13px;flex-shrink:0;margin-top:1px;width:16px;text-align:center}
#htp-root .ni-txt {color:var(--text2);flex:1}
#htp-root .ni-txt strong {color:var(--text)}

#htp-root .ni.rx  {background:#f0f4ff;border-left-color:#4f75c4}
#htp-root .ni.rx  .ni-txt {color:#1e3a6e}

#htp-root .ni.dx  {background:#f0fdfa;border-left-color:var(--teal)}
#htp-root .ni.dx  .ni-txt {color:#0f4c52}

#htp-root .ni.ref {background:#f3f0ff;border-left-color:#7c3aed}
#htp-root .ni.ref .ni-txt {color:#3b1e8e}

#htp-root .ni.con {background:#fff0f0;border-left-color:var(--red)}
#htp-root .ni.con .ni-txt {color:#7f1d1d}

#htp-root .ni.fu  {background:#f0fdf4;border-left-color:var(--green)}
#htp-root .ni.fu  .ni-txt {color:#064e2e}

#htp-root .ni.info{background:transparent;border-left-color:var(--border)}
#htp-root .ni.info .ni-txt {color:var(--text2)}


/* INFO & WARNING BOXES */
#htp-root .info-box {background:#eff6ff;border:1px solid #93c5fd;border-radius:9px;padding:10px 13px;margin-bottom:13px;font-size:13px;color:#1e40af;line-height:1.5}

#htp-root .warn-box {background:#fef2f2;border:1px solid #fca5a5;border-radius:9px;padding:10px 13px;margin-bottom:12px;font-size:13px;color:#7f1d1d;display:flex;gap:8px;align-items:flex-start;line-height:1.5}


/* RISK RESULT */
#htp-root .risk-result {border-radius:12px;padding:14px 16px;margin-bottom:14px}

#htp-root .risk-result.low {background:#f0fdf4;border:2px solid #6ee7b7}

#htp-root .risk-result.intermediate {background:#fffbeb;border:2px solid #fcd34d}

#htp-root .risk-result.high {background:#fef2f2;border:2px solid #fca5a5}

#htp-root .rr-lbl {font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-family:'Outfit',sans-serif;opacity:.65;margin-bottom:2px}

#htp-root .rr-title {font-family:'Outfit',sans-serif;font-size:17px;font-weight:700}

#htp-root .risk-result.low .rr-title {color:var(--green)}

#htp-root .risk-result.intermediate .rr-title {color:var(--amber)}

#htp-root .risk-result.high .rr-title {color:var(--red)}

#htp-root .rr-sub {font-size:12.5px;color:var(--text2);margin-top:3px}


/* DRUG BOX */
#htp-root .drug-box {border:1px solid var(--border);border-radius:9px;padding:11px 14px;margin-bottom:9px;background:var(--surface)}

#htp-root .drug-cls {font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--teal2);margin-bottom:5px}

#htp-root .drug-ul {list-style:none;display:flex;flex-direction:column;gap:5px}

#htp-root .drug-ul li {font-size:13px;color:var(--text);display:flex;gap:7px;align-items:flex-start;line-height:1.4}

#htp-root .drug-ul li::before {content:"→";color:var(--navy);font-weight:700;flex-shrink:0}


/* RX DRUG CARD SYSTEM */
#htp-root .rx-section-hdr {font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:700;color:var(--teal2);text-transform:uppercase;letter-spacing:.08em;margin:14px 0 9px;padding-bottom:5px;border-bottom:1px solid var(--border)}

#htp-root .rx-section-hdr.first {margin-top:0}

#htp-root .rx-combo-card {border:1.5px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:11px}

#htp-root .rx-combo-card.ev1 {border-left:4px solid #6ee7b7}

#htp-root .rx-combo-card.ev2a {border-left:4px solid #93c5fd}

#htp-root .rx-combo-card.ev2b {border-left:4px solid #fcd34d}

#htp-root .rx-combo-hd {background:var(--surface2);padding:8px 12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--border)}

#htp-root .rx-combo-lbl {font-family:'Outfit',sans-serif;font-size:12px;font-weight:700;color:var(--navy)}

#htp-root .rx-combo-ev {display:flex;gap:4px;flex-wrap:wrap}

#htp-root .rx-combo-ev .ev-badge {font-size:10px;padding:2px 8px}

#htp-root .rx-combo-body {padding:11px 12px;display:flex;align-items:center;gap:0;flex-wrap:wrap;row-gap:8px}

#htp-root .rx-dp {flex:1;min-width:105px;border-radius:9px;padding:9px 10px;display:flex;flex-direction:column;gap:1px}

#htp-root .rx-dp.are {background:rgba(8,145,178,.08);border:1.5px solid rgba(8,145,178,.3)}

#htp-root .rx-dp.ipde5 {background:rgba(13,45,94,.07);border:1.5px solid rgba(13,45,94,.22)}

#htp-root .rx-dp.prost {background:rgba(220,38,38,.07);border:1.5px solid rgba(220,38,38,.25)}

#htp-root .rx-dp.ccb {background:rgba(5,150,105,.08);border:1.5px solid rgba(5,150,105,.28)}

#htp-root .rx-dp.ip2 {background:rgba(124,58,237,.07);border:1.5px solid rgba(124,58,237,.25)}

#htp-root .rx-dp.neutral {background:var(--surface2);border:1.5px solid var(--border)}

#htp-root .rx-dp-cls {font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-family:'Outfit',sans-serif;margin-bottom:2px}

#htp-root .rx-dp.are .rx-dp-cls {color:var(--teal2)}

#htp-root .rx-dp.ipde5 .rx-dp-cls {color:var(--navy)}

#htp-root .rx-dp.prost .rx-dp-cls {color:var(--red)}

#htp-root .rx-dp.ccb .rx-dp-cls {color:var(--green)}

#htp-root .rx-dp.ip2 .rx-dp-cls {color:#7c3aed}

#htp-root .rx-dp.neutral .rx-dp-cls {color:var(--text3)}

#htp-root .rx-dp-name {font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;color:var(--navy);line-height:1.2}

#htp-root .rx-dp-dose {font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text2);font-weight:500;margin-top:2px}

#htp-root .rx-dp-note {font-size:11px;color:var(--text3);margin-top:4px;line-height:1.35;font-style:italic}

#htp-root .rx-plus {display:flex;align-items:center;justify-content:center;width:30px;flex-shrink:0}

#htp-root .rx-plus-circle {width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;font-family:'Outfit',sans-serif;flex-shrink:0}

#htp-root .rx-combo-ft {padding:7px 12px;background:var(--surface2);border-top:1px solid var(--border);font-size:11.5px;color:var(--text2);line-height:1.45;font-style:italic}

#htp-root .rx-escalation-hdr {display:flex;align-items:center;gap:8px;margin:16px 0 10px;font-family:'Outfit',sans-serif;font-size:11px;font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:.07em}

#htp-root .rx-escalation-hdr::before, #htp-root .rx-escalation-hdr::after {content:'';flex:1;height:1px;background:#fcd34d}

#htp-root .rx-mono-grid {display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}


/* FOLLOW-UP BOX */
#htp-root .fu-box {border:2px solid;border-radius:10px;padding:11px 15px;display:flex;align-items:center;gap:11px;margin-bottom:13px}

#htp-root .fu-box.green {border-color:#6ee7b7;background:#f0fdf4}

#htp-root .fu-box.blue {border-color:#93c5fd;background:#eff6ff}

#htp-root .fu-box.amber {border-color:#fcd34d;background:#fffbeb}

#htp-root .fu-box.red {border-color:#fca5a5;background:#fef2f2}

#htp-root .fu-ico {font-size:19px;flex-shrink:0}

#htp-root .fu-lbl {font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-family:'Outfit',sans-serif;opacity:.65}

#htp-root .fu-val {font-family:'Outfit',sans-serif;font-size:14.5px;font-weight:700;margin-top:1px}

#htp-root .fu-box.green .fu-val {color:var(--green)}

#htp-root .fu-box.blue .fu-val {color:var(--blue)}

#htp-root .fu-box.amber .fu-val {color:var(--amber)}

#htp-root .fu-box.red .fu-val {color:var(--red)}


/* TABLE */
#htp-root .risk-table {width:100%;border-collapse:collapse;font-size:12px;margin-bottom:13px;table-layout:fixed}

#htp-root .risk-table th {background:var(--navy);color:#fff;padding:7px 8px;font-family:'Outfit',sans-serif;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;text-align:center}

#htp-root .risk-table td {padding:7px 8px;border:1px solid var(--border);text-align:center;vertical-align:middle;line-height:1.3}

#htp-root .risk-table tr:nth-child(even) td {background:#f8fafc}

#htp-root .td-low {background:#f0fdf4 !important;color:#065f46;font-weight:600}

#htp-root .td-mid {background:#fffbeb !important;color:#92400e;font-weight:600}

#htp-root .td-high {background:#fef2f2 !important;color:#991b1b;font-weight:600}

#htp-root .td-param {text-align:left !important;font-weight:500;color:var(--text)}


/* SPECIALIST BADGE */
#htp-root .spec-badge {display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,var(--teal2),var(--navy));color:#fff;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 10px;border-radius:20px;margin-bottom:10px;font-family:'Outfit',sans-serif}


/* SEPARATOR */
#htp-root .sep {border:none;border-top:1px solid var(--border);margin:16px 0}


/* FORM GRID */
#htp-root .form-grid {display:grid;grid-template-columns:1fr;gap:11px}

@media(min-width:480px){#htp-root .form-grid.c2 {grid-template-columns:1fr 1fr}}


/* RESULT TEXT */
#htp-root .r-text {font-size:14.5px;color:var(--text);line-height:1.7;margin-bottom:15px}


/* BUTTONS */
#htp-root .nav-row {display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:10px}

#htp-root .btn-back {background:none;border:1.5px solid var(--border);border-radius:8px;padding:9px 17px;font-family:'Source Sans 3',sans-serif;font-size:14px;font-weight:500;color:var(--text2);cursor:pointer;transition:all .2s}

#htp-root .btn-back:hover {border-color:var(--navy);color:var(--navy)}

#htp-root .btn-next {background:var(--navy);color:#fff;border:none;border-radius:8px;padding:10px 24px;font-family:'Outfit',sans-serif;font-size:14.5px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:7px}

#htp-root .btn-next:hover {background:var(--navy2);transform:translateY(-1px);box-shadow:0 4px 12px rgba(13,45,94,.25)}

#htp-root .btn-next:disabled, #htp-root .btn-next.disabled {background:var(--text3);cursor:not-allowed;transform:none;box-shadow:none}

#htp-root .btn-analyze {background:linear-gradient(135deg,var(--teal2),var(--navy));color:#fff;border:none;border-radius:8px;padding:12px 26px;font-family:'Outfit',sans-serif;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;width:100%;display:flex;align-items:center;justify-content:center;gap:9px;letter-spacing:.02em;box-shadow:0 4px 16px rgba(8,145,178,.3);margin-top:16px}

#htp-root .btn-analyze:hover {transform:translateY(-2px);box-shadow:0 6px 24px rgba(8,145,178,.4)}

#htp-root .btn-spec {background:linear-gradient(135deg,#4f46e5,var(--navy));color:#fff;border:none;border-radius:8px;padding:11px 20px;font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;justify-content:center;width:100%;margin-top:9px}

#htp-root .btn-spec:hover {transform:translateY(-1px);box-shadow:0 4px 16px rgba(79,70,229,.3)}

#htp-root .btn-restart {background:var(--surface2);border:1.5px solid var(--border);border-radius:8px;padding:9px 20px;font-family:'Source Sans 3',sans-serif;font-size:14px;font-weight:600;color:var(--text2);cursor:pointer;transition:all .2s;width:100%;margin-top:7px}

#htp-root .btn-restart:hover {background:var(--border);color:var(--navy)}

#htp-root .btn-full {display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:9px}


/* DISCLAIMER */
#htp-root .disclaimer {background:#fff8e1;border:1px solid #fde68a;border-radius:10px;padding:12px 16px;margin-bottom:16px;display:block}
#htp-root .disclaimer-text {font-size:11px;color:#78350f;line-height:1.6}
#htp-root .disclaimer-text strong {display:inline;font-weight:700}
@media(min-width:520px){#htp-root .disclaimer-text{font-size:12px}}


/* FOOTER */
#htp-root .app-footer {text-align:center;margin-top:22px;font-size:11px;color:var(--text3);line-height:1.7}

#htp-root .app-footer strong {color:var(--text2)}

#htp-root .app-footer a {color:var(--teal)}


/* GLOSARIO DE ABREVIATURAS */
#htp-root .abbr-toggle {width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:14px 18px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;transition:all .2s}
#htp-root .abbr-toggle:hover {border-color:var(--teal);background:#f8fafc}
#htp-root .abbr-toggle.open {border-color:var(--teal);border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}
#htp-root .abbr-toggle .abbr-left {display:flex;align-items:center;gap:10px}
#htp-root .abbr-toggle .abbr-ico {font-size:18px}
#htp-root .abbr-toggle .abbr-title {font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;color:var(--navy)}
#htp-root .abbr-toggle .abbr-hint {font-size:12px;color:var(--text3);font-style:italic}
#htp-root .abbr-toggle .abbr-arrow {font-size:12px;color:var(--text3);transition:transform .2s}
#htp-root .abbr-toggle.open .abbr-arrow {transform:rotate(180deg)}
#htp-root .abbr-panel {display:none;background:var(--surface);border:1.5px solid var(--teal);border-top:none;border-bottom-left-radius:12px;border-bottom-right-radius:12px;padding:16px 18px;margin-top:-20px;margin-bottom:20px}
#htp-root .abbr-panel.open {display:block}
#htp-root .abbr-grid {display:flex;flex-direction:column;gap:3px}
#htp-root .abbr-row {display:flex;gap:8px;font-size:12px;line-height:1.4;padding:2px 0}
#htp-root .abbr-row .abbr-key {font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--navy);flex-shrink:0;min-width:72px}
#htp-root .abbr-row .abbr-val {color:var(--text2)}


/* DETAILS */
#htp-root details { margin-bottom: 14px; }
#htp-root details[open] .htp-chevron { transform: rotate(180deg); }
#htp-root details summary { transition: opacity .15s; }
#htp-root details summary:hover { opacity: .82; }


/* PORTADA — HUB CARDS */
#htp-root .hub-grid { display:grid; grid-template-columns:1fr; gap:14px; margin-bottom:8px; }
@media(min-width:520px){ #htp-root .hub-grid { grid-template-columns:1fr 1fr; } }
#htp-root .hub-card {
  background:var(--surface); border:2px solid var(--border);
  border-radius:16px; padding:22px;
  display:flex; flex-direction:column; gap:14px;
  transition:all .2s; cursor:pointer;
}
#htp-root .hub-card:hover {
  border-color:var(--teal); box-shadow:var(--shadow2); transform:translateY(-1px);
}
#htp-root .hub-top { display:flex; align-items:center; gap:14px; }
#htp-root .hub-icon {
  width:48px; height:48px; border-radius:13px;
  background:#fff; border:2px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  font-size:24px; flex-shrink:0;
}
#htp-root .hub-num {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--text3); letter-spacing:.1em; text-transform:uppercase; display:block;
}
#htp-root .hub-title {
  font-family:'Outfit',sans-serif; font-size:16px; font-weight:700;
  color:var(--navy); line-height:1.25; margin-top:2px;
}
#htp-root .hub-desc { font-size:13px; color:var(--text2); line-height:1.55; flex:1; }
#htp-root .hub-footer { display:flex; align-items:center; }
#htp-root .hub-btn {
  background:var(--navy); color:#fff; border:none; border-radius:8px;
  padding:9px 20px; font-family:'Outfit',sans-serif; font-size:13px;
  font-weight:600; cursor:pointer; transition:background .15s;
  letter-spacing:.02em; pointer-events:none;
}
#htp-root .hub-card:hover .hub-btn { background:var(--navy2); }
#htp-root .mod-back-btn {background:none;border:1.5px solid var(--border);border-radius:8px;padding:8px 18px;font-family:'Source Sans 3',sans-serif;font-size:13px;font-weight:600;color:var(--text2);cursor:pointer;display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;transition:all .2s}
#htp-root .mod-back-btn:hover {border-color:var(--navy);color:var(--navy)}
#htp-root .mod-header-badge {display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:5px 12px;border-radius:20px;margin-bottom:12px;font-family:'Outfit',sans-serif}
#htp-root .mod-header-badge .mod-badge-dot {width:6px;height:6px;border-radius:50%;flex-shrink:0}
#htp-root .mod-header-badge.m1 .mod-badge-dot {background:#60a5fa}
#htp-root .mod-header-badge.m2 .mod-badge-dot {background:var(--teal)}
#htp-root .mod-header-badge.m3 .mod-badge-dot {background:var(--green)}
#htp-root .mod-header-badge.m4 .mod-badge-dot {background:var(--amber)}
#htp-root .mod-header-badge.m5 .mod-badge-dot {background:#a78bfa}
#htp-root .mod-header-badge.m6 .mod-badge-dot {background:#38bdf8}
#htp-root .portada-sep {text-align:center;font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.1em;margin:16px 0 10px;font-family:'Outfit',sans-serif}
