/* Asesor de personas · botón de la barra y panel lateral. Solo tokens de la Constitución Visual (cv-componentes.css). */
.ng-help-entry.ap-entrada { display: inline-flex; align-items: center; gap: var(--cv-space-8); width: auto; height: 34px; padding: 0 var(--cv-space-13); border: 1px solid var(--cv-line-strong); border-radius: var(--cv-radius-5); background: var(--cv-surface); color: var(--cv-ink); font-size: 13px; font-weight: 600; text-decoration: none; }
/* La barra armonía reserva al asesor una columna de 44 px y asesora-avatar-v1.css / identidad-sistema-hxm fijan .ng-help-entry
   como ícono (48 px, relleno 2 px con !important). El botón con texto necesita su propio ancho: estas reglas les ganan por
   especificidad y solo ensanchan la columna cuando el texto se muestra (desde 900 px). */
body .ng-help-entry.ap-entrada, body.ng-system-identity .ng-help-entry.ap-entrada, body .ng-harmony-nav > .ng-help-entry.ap-entrada { flex: 0 0 auto; width: auto !important; min-width: 0 !important; height: 34px !important; min-height: 34px; margin: 0; padding: 0 var(--cv-space-13) !important; justify-self: center; }
@media (min-width: 900px) { body #ngGlobalRoot .ng-global-nav.ng-harmony-nav:has(> .ng-help-entry.ap-entrada) { grid-template-columns: 110px minmax(0,1fr) auto 91px 91px !important; } }
@media (max-width: 899px) { body .ng-harmony-nav > .ng-help-entry.ap-entrada { padding: 0 var(--cv-space-8) !important; justify-content: center; } }
.ng-help-entry.ap-entrada svg { color: var(--cv-brand); flex-shrink: 0; }
.ng-help-entry.ap-entrada .ap-entrada-punto { fill: var(--cv-oro); }
.ng-help-entry.ap-entrada:hover, .ng-help-entry.ap-entrada[aria-expanded="true"] { background: var(--cv-wash); }
.ng-help-entry.ap-entrada:focus-visible { outline: 2px solid var(--cv-focus); outline-offset: 2px; }
.ap-panel { position: fixed; top: 0; right: 0; bottom: 0; z-index: 2000; width: min(576px, 100vw); display: flex; flex-direction: column; background: var(--cv-surface); box-shadow: var(--cv-shadow-portal); }
.ap-panel[hidden] { display: none; }
.ap-panel-barra { display: flex; align-items: center; justify-content: space-between; gap: var(--cv-space-8); padding: var(--cv-space-8) var(--cv-space-13); border-bottom: 1px solid var(--cv-line); }
.ap-panel-enlace { font-size: 13px; color: var(--cv-primary); }
.ap-panel-cerrar { width: 34px; height: 34px; border: 0; border-radius: var(--cv-radius-5); background: transparent; color: var(--cv-ink-muted); font-size: 21px; cursor: pointer; }
.ap-panel-cerrar:hover { background: var(--cv-wash); }
.ap-panel-cerrar:focus-visible { outline: 2px solid var(--cv-focus); outline-offset: 2px; }
.ap-panel-marco { flex: 1 1 auto; width: 100%; border: 0; }
@media (max-width: 899px) { .ng-help-entry.ap-entrada .ap-entrada-texto { display: none; } }
@media (prefers-reduced-motion: no-preference) { .ap-panel { animation: ap-panel-entra var(--cv-dur-233) var(--cv-ease-swing); } }
@keyframes ap-panel-entra { from { transform: translateX(34px); opacity: 0; } to { transform: none; opacity: 1; } }
