/* Shared app-cliente helpers */
.ac-hidden { display: none; }
.ac-flex { display: flex; }
.ac-inline-flex-gap-sm { display: flex; align-items: center; gap: 0.5rem; }
.ac-inline-flex-gap-md { display: flex; align-items: center; gap: 0.75rem; }
.ac-inline-flex-gap-lg { display: flex; align-items: center; gap: 1rem; }
.ac-stack-sm { display: flex; flex-direction: column; gap: 0.75rem; }
.ac-stack-md { display: flex; flex-direction: column; gap: 1rem; }
.ac-section-title { font-size: 1.2rem; font-weight: 600; color: var(--numia-text); margin-bottom: 1rem; text-align: center; }
.ac-subsection-title { font-size: 1.1rem; font-weight: 600; color: var(--numia-text); margin-bottom: 1rem; text-align: center; }
.ac-option-btn { background-color: white; color: var(--numia-azul); border: 2px solid var(--numia-azul); padding: 0.875rem 1.25rem; border-radius: 10px; font-weight: 600; text-align: left; }
.ac-primary-header-btn { background-color: var(--numia-azul); color: #ffffff; border-color: var(--numia-azul); padding: 0.75rem 1.5rem; }
.ac-header-cta { background-color: rgba(255, 255, 255, 0.2); color: #ffffff; border: 1px solid rgba(255, 255, 255, 0.3); padding: 0.75rem 1.5rem; border-radius: 10px; font-size: 0.95rem; font-weight: 600; margin-top: 1rem; display: flex; align-items: center; gap: 0.5rem; transition: all 0.3s; width: auto; }
.ac-caption-xs { font-size: 0.7rem; opacity: 0.9; font-weight: 500; }
.ac-muted { color: var(--numia-text-light); }
.ac-white-text { color: #ffffff; }
.ac-mb-half { margin-bottom: 0.5rem; }
.ac-mt-half { margin-top: 0.5rem; }
.ac-error-text { color: #ff8888; margin-top: 1rem; }
.ac-video-link { display: inline-block; background-color: #00ff00; color: #000; padding: 0.75rem 1.5rem; border-radius: 8px; text-decoration: none; font-weight: 600; }
.ac-flex-1 { flex: 1; }
.ac-spacer-sm { height: 0.5rem; }
.ac-mt-1 { margin-top: 1rem; }
.ac-mb-1 { margin-bottom: 1rem; }
.ac-result-box { margin-top: 1rem; padding: 1rem; background: #2d2d2d; border-radius: 4px; border-left: 3px solid #ffffff; }
.ac-icon-lg { font-size: 1.5rem; }
.ac-icon-md-soft { font-size: 1.2rem; opacity: 0.9; }
.ac-reset-spacing { padding: 0; margin: 0; }
.ac-hero-select { width: 100%; padding: 0.75rem; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.3); background: rgba(255, 255, 255, 0.2); color: white; font-size: 0.95rem; font-weight: 500; cursor: pointer; }
.ac-log-muted { color: #e0e0e0; }
.ac-success-note { font-size: 0.82rem; font-weight: 600; color: var(--numia-success); }
.ac-text-center-mb-sm { text-align: center; margin-bottom: 0.85rem; }
.ac-visibility-hidden { visibility: hidden; }
.ac-header-title { font-weight: 600; font-size: 1.1rem; }
.ac-fallback-brand { align-items: center; gap: 0.4rem; font-weight: 700; font-size: 1rem; color: var(--numia-azul); }
.ac-fallback-brand-icon { font-size: 1.3rem; }
.ac-logo-30 { height: 30px; object-fit: contain; }
