
.termino {
    cursor: help;
    text-decoration-line: underline;
    text-decoration-style: dotted;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(23, 59, 87, 0.55);
    text-underline-offset: 3px;
    border-radius: 2px;
}
.termino:hover { text-decoration-color: currentColor; }
.termino:focus { outline: none; }
.termino:focus-visible { outline: 2px solid var(--color-accent, #FF6B1A); outline-offset: 2px; }

.t-chip .termino, .dncp-nav .termino { text-decoration-color: currentColor; }

.termino-ayuda {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    margin-left: 6px;
    padding: 0;
    border: 1px solid var(--color-border, #DCE2E8);
    border-radius: 50%;
    background: #ffffff;
    color: var(--color-primary, #0B1F3A);
    font: 700 12px/1 system-ui, sans-serif;
    vertical-align: middle;
    cursor: help;
}

.t-panel header > .termino-ayuda { float: right; margin: 2px 0 4px 8px; }
.termino-ayuda:hover, .termino-ayuda[aria-expanded="true"] { background: var(--color-primary, #0B1F3A); border-color: var(--color-primary, #0B1F3A); color: #ffffff; }
.termino-ayuda:focus-visible { outline: 2px solid var(--color-accent, #FF6B1A); outline-offset: 2px; }

.glosario-burbuja {
    position: fixed;
    z-index: 2000;
    box-sizing: border-box;
    width: max-content;
    max-width: 340px;
    max-height: 70vh;
    overflow-y: auto;
    padding: 10px 12px;
    border-radius: 8px;
    background: var(--color-primary, #0B1F3A);
    color: #ffffff;
    box-shadow: 0 6px 22px rgba(10, 30, 50, 0.28);
    font: 400 13px/1.45 system-ui, sans-serif;
    text-align: left;
    white-space: normal;
}
.glosario-burbuja[hidden] { display: none; }
.glosario-burbuja .glosario-item + .glosario-item { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255, 255, 255, 0.25); }
.glosario-burbuja strong { display: block; margin-bottom: 2px; font-size: 13px; }
.glosario-burbuja p { margin: 4px 0 0; }
.glosario-burbuja .glosario-rotulo { color: var(--color-primary-soft, #EAF0F7); font-weight: 600; }


.glosario-pagina .g-barra { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.glosario-pagina .g-barra input { flex: 1 1 260px; max-width: 480px; padding: 8px 10px; border: 1px solid var(--color-border, #DCE2E8); border-radius: 6px; font-size: 15px; }
.glosario-pagina .g-letras { display: flex; flex-wrap: wrap; gap: 4px; margin: 10px 0 0; padding: 0; list-style: none; }
.glosario-pagina .g-letras a { display: inline-block; min-width: 26px; padding: 3px 6px; border-radius: 4px; background: var(--color-background-soft, #F3F5F7); text-align: center; font-weight: 600; }
.glosario-pagina .g-grupo h2 { margin: 0 0 6px; font-size: 20px; color: var(--color-primary, #0B1F3A); }
.glosario-pagina dl { margin: 0; }
.glosario-pagina dt { margin-top: 12px; font-weight: 700; color: var(--color-primary, #0B1F3A); }
.glosario-pagina dd { margin: 3px 0 0; max-width: 78ch; }
.glosario-pagina dd p { margin: 2px 0; }
.glosario-pagina .g-rotulo { color: var(--color-text-muted, #5B6472); font-weight: 600; }
.glosario-pagina [hidden] { display: none; }

@media print {
    .glosario-burbuja, .termino-ayuda { display: none !important; }
    .termino { text-decoration: none; }
}
