/* AgendaNiva: superficies oscuras, jerarquía compacta y controles legibles. */
body.niva-visual-v7{--nv-bg:#151217;--nv-card:#211c24;--nv-soft:#2b2430;--nv-line:#493b48;--nv-ink:#f4edf3;--nv-muted:#c5b4c2;--nv-pink:#ee78ad;background:radial-gradient(ellipse at 10% 0,#40213755,transparent 45%),var(--nv-bg);color:var(--nv-ink);font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif}
.niva-visual-v7 :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),select,textarea){background:#19151d!important;color:#f4edf3!important;border:1px solid #675367!important;border-radius:12px;min-height:44px;max-width:100%;box-sizing:border-box;font:inherit}
.niva-visual-v7 input::placeholder,.niva-visual-v7 textarea::placeholder{color:#b4a0b0;opacity:1}.niva-visual-v7 option{background:#19151d;color:#f4edf3}.niva-visual-v7 input[type=checkbox],.niva-visual-v7 input[type=radio]{accent-color:#ee78ad}.niva-visual-v7 :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #f7a6ca!important;outline-offset:3px}.niva-visual-v7 :is(button,summary){touch-action:manipulation}.niva-visual-v7 :is(button,input,select,textarea){font-family:inherit}.niva-visual-v7 input[type=date],.niva-visual-v7 input[type=time]{color-scheme:dark}
/* Acceso y recuperación. */
.niva-visual-v7 :is(.tarjeta-login,.tarjeta-acceso-admin,.pr-auth,.pr-agenda,.tarjeta-registro,.registro-card){background:linear-gradient(145deg,#29212d,#211c24)!important;border:1px solid #58404f!important;box-shadow:0 22px 70px #0004;border-radius:24px;color:#f4edf3!important}
.niva-visual-v7 :is(.tarjeta-login,.tarjeta-acceso-admin,.pr-auth,.pr-agenda,.tarjeta-registro,.registro-card) :is(h1,h2,h3,label,strong){color:#f4edf3!important;font-family:inherit}.niva-visual-v7 :is(.tarjeta-login,.tarjeta-acceso-admin,.pr-auth,.pr-agenda) p{color:#c5b4c2}.niva-visual-v7 .login-presentacion{background:linear-gradient(145deg,#342130,#1c171f)!important;border:1px solid #493b48}.niva-visual-v7 .tipo-acceso-login{background:#342b38;border-color:#675367}.niva-visual-v7 .tipo-acceso-login span{color:#f4edf3}.niva-visual-v7 .tipo-acceso-login a{color:#f7a6ca}.niva-visual-v7 .formulario-login button,.niva-visual-v7 #btnLoginAdmin{background:#be477d;color:white;border-radius:12px;min-height:46px}.niva-visual-v7 .login-shell{box-shadow:0 25px 80px #0004}.niva-visual-v7 .tarjeta-login a{color:#f7a6ca}
/* Panel: elimina el encabezado duplicado y recupera los títulos de cada módulo. */
.np-seccion-abierta .np-cabecera,.np-seccion-abierta .panel-header{display:none!important}.np-seccion-abierta :is(#opAgenda,#opManual,#opCobros,#opCaja,#opComisiones)>.op-section-head{display:flex!important}.np-cabecera[hidden]{display:none!important}
.niva-visual-v7 .contenido-panel{background:transparent!important}.niva-visual-v7 :is(.seccion-panel,.dueno-hoy-agenda,.dueno-hoy-atencion,.dueno-proximo,.np-cabecera,.op-card,.op-row,.op-kpis>article,.resumen-card,.cliente-directorio-card,.an-cliente-card){background:var(--nv-card)!important;border-color:var(--nv-line)!important;color:var(--nv-ink)!important;box-shadow:0 8px 28px #0002}
.niva-visual-v7 .seccion-panel{border:1px solid var(--nv-line);border-radius:20px;padding:24px}.niva-visual-v7 .contenido-panel :is(h1,h2,h3,h4,label,strong){color:var(--nv-ink);font-family:inherit}.niva-visual-v7 .contenido-panel :is(p,small,.op-hint,.op-campo,.subtitulo-panel){color:var(--nv-muted)}.niva-visual-v7 .contenido-panel :is(.op-toolbar,.op-list,.lista-clientes,.carrito-reserva){background:transparent}.niva-visual-v7 .np-cabecera{border-radius:18px;padding:20px}.niva-visual-v7 .np-ruta{color:#f7a6ca!important}.niva-visual-v7 .menu-panel{background:#19131b!important}.niva-visual-v7 .item-menu{color:#dac9d7}.niva-visual-v7 .op-btn.secundario{background:#352a3a!important;color:#f4edf3!important;border:1px solid #675367}.niva-visual-v7 .dueno-nav-movil{background:#201922!important;border-color:#493b48}.niva-visual-v7 .dueno-nav-movil a{color:#d6bdcf}.niva-visual-v7 :is(.op-dialog,.modal-panel,.modal-contenido){background:#211c24;color:#f4edf3;border-color:#675367}.niva-visual-v7 .op-dialog::backdrop{background:#0b080cbb;backdrop-filter:blur(5px)}
/* Administrador: conserva las tarjetas actuales y unifica el tono. */
.niva-visual-v7.admin-premium-ready{--admin-premium-bg:#151217;--admin-premium-bg2:#1b161e;--admin-premium-card:#211c24;--admin-premium-card-soft:#2b2430;--admin-premium-line:#493b48;--admin-premium-ink:#f4edf3;--admin-premium-muted:#c5b4c2;--admin-premium-pink:#ee78ad;background:radial-gradient(ellipse at 10% 0,#40213755,transparent 45%),#151217!important}
.niva-visual-v7 :is(.modulo-admin,.marca-global-admin,.resumen-admin>div,.negocio-admin-card,.tarjeta-negocio-admin,.an-negocio-card){background:#211c24!important;color:#f4edf3;border-color:#493b48!important}.niva-visual-v7 .panel-admin :is(h1,h2,h3,h4,label){color:#f4edf3}.niva-visual-v7 .panel-admin p{color:#c5b4c2}.niva-visual-v7 .cabecera-admin{background:#19131b!important;border-bottom:1px solid #493b48}.niva-visual-v7 .navegacion-admin{gap:8px;flex-wrap:wrap}.niva-visual-v7 .navegacion-admin a{background:#2b2430;color:#f4edf3;border:1px solid #58404f;border-radius:12px;padding:12px 16px;text-decoration:none}
/* Reservas: lectura visible, acordeones cómodos y fotos completas centradas. */
.an-lectura-reserva{grid-column:1/-1;min-width:0;margin:12px 0 20px}.an-lectura-reserva>.an-importante{margin:0;background:#211c24!important;color:#f4edf3!important;border-color:#674659!important}.an-lectura-reserva>.an-importante>summary{font-size:14px;letter-spacing:.04em;flex-wrap:wrap;color:#f7a6ca;align-items:center}.an-lectura-subtitulo{font-size:12px;letter-spacing:0;color:#c5b4c2;font-weight:400;margin-left:auto}.an-lectura-contenido{padding:0 16px 16px}.an-lectura-item{background:#2b2430;border:1px solid #493b48;border-radius:12px;margin-top:10px}.an-lectura-item summary{padding:14px 16px;cursor:pointer;color:#f4edf3;font-weight:650}.an-lectura-item p{padding:0 16px 16px;margin:0;color:#dac9d7;white-space:pre-wrap;line-height:1.7;font-size:14px}.an-lectura-reserva summary:hover{background:#342733!important;border-radius:12px}
.niva-visual-v7 :is(.an-gestion,.an-importante,.an-rama,.an-turno-encontrado){background:#211c24!important;color:#f4edf3!important;border-color:#58404f!important}.niva-visual-v7 :is(.an-gestion,.an-importante,.an-rama)>summary:hover{background:#342733!important}.niva-visual-v7 :is(.an-gestion,.an-importante) p{color:#dac9d7}.niva-visual-v7 .an-etiqueta{background:#4d2b3e;color:#ffc3df}.niva-visual-v7 .an-asignacion{background:#29212d;border-color:#58404f}.niva-visual-v7 .an-servicios-check{background:#211c24}.niva-visual-v7 .an-resultados h3{color:#f4edf3}.niva-visual-v7 .an-prof-card{background:#2b2430;color:#f4edf3;border-color:#675367}.niva-visual-v7 .an-prof-card[aria-pressed=true]{background:#482b3e;border-color:#ee78ad}.niva-visual-v7 .an-prof-avatar{background:#4b2b41;color:#ffc3df}
.fc-foto{position:relative;background:#171419!important}.fc-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain!important;object-position:center center!important;transform:none!important}.reserva-catalogo :is(.servicio-publico-card,.servicio-modal-card) .foto-servicio-ligera{object-fit:contain!important;object-position:center center!important;background:#171419;transform:none!important}.servicio-publico-card .foto-servicio-ligera,.servicio-modal-card .foto-servicio-ligera{object-position:center center}
.niva-visual-v7 :is(.confirmacion-reserva,.fc-exito){background:linear-gradient(145deg,#332332,#211c24)!important;border-color:#674659!important;color:#f4edf3!important}.niva-visual-v7 :is(.confirmacion-reserva,.fc-exito) :is(h1,h2,h3,p,strong){color:#f4edf3!important}.niva-visual-v7 .an-estado-reserva{background:#483043!important;color:#f4edf3}.niva-visual-v7 .an-estado-reserva.confirmada{background:#233d31!important;color:#d9f4e5}.niva-visual-v7 .an-comprobante-cliente{background:#2b2430;color:#f4edf3;border-color:#675367}.niva-visual-v7 .an-comprobante-cliente.enviado{background:#233d31;border-color:#44745a}.niva-visual-v7 .an-comprobante-cliente.enviado .an-comprobante-estado{color:#d9f4e5}.niva-visual-v7 .an-archivo-comprobante{background:#211c24;border-color:#675367;color:#f4edf3}.niva-visual-v7 .an-descargas button{background:#352a3a;color:#f4edf3}.niva-visual-v7 .an-importante .extra-reserva-card{background:transparent;border-color:#58404f;color:#f4edf3}
@media(max-width:720px){.niva-visual-v7 .seccion-panel{padding:18px;border-radius:16px}.an-lectura-subtitulo{display:block;margin-left:0;width:100%}.an-lectura-reserva>.an-importante>summary{gap:8px;padding:16px}.an-lectura-contenido{padding:0 10px 10px}.niva-visual-v7 .tarjeta-login{padding:24px 20px!important}.niva-visual-v7 .op-toolbar{gap:12px}.niva-visual-v7 .op-toolbar>label{min-width:0;flex:1 1 140px}}
@media(prefers-reduced-motion:reduce){.niva-visual-v7 *{scroll-behavior:auto!important}}

.an-siguiente-movil{display:none}
@media(max-width:700px){
.fc-root.an-paso-servicios{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
.an-paso-servicios .fc-columnas{padding-bottom:28px}
.an-paso-servicios .fc-resumen .fc-continuar{display:none}
.an-siguiente-movil{display:flex;position:fixed;inset:auto 0 0;z-index:13020;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:#241b27f5;border-top:1px solid #765068;box-shadow:0 -8px 28px #0005;backdrop-filter:blur(14px)}
.an-siguiente-movil>div{display:grid;gap:3px;min-width:0}.an-siguiente-movil small{color:#d6bdcf;font-size:12px}.an-siguiente-movil strong{color:#fff;font-size:20px}.an-siguiente-movil button{min-height:48px;min-width:140px;border-radius:12px;background:#be477d;color:#fff;font-size:15px}
}
.niva-visual-v7 .plan-registro-card{background:#2b2430!important;color:#f4edf3!important;border-color:#675367!important}.niva-visual-v7 .plan-registro-card:has(input:checked){background:#482b3e!important;border-color:#ee78ad!important}.niva-visual-v7 .plan-registro-card :is(strong,span,small){color:#f4edf3!important}.niva-visual-v7 .presentacion-registro{background:linear-gradient(145deg,#342130,#1c171f)!important}.niva-visual-v7 .tarjeta-registro :is(p,small){color:#c5b4c2}.niva-visual-v7 .panel>.seccion-panel :is(h1,h2,label){color:#f4edf3}.niva-visual-v7 .an-archivo-comprobante strong{color:#f4edf3}.niva-visual-v7 .contenido-panel .op-pill.confirmado{background:#234433;color:#cdf0dd}.niva-visual-v7 .contenido-panel .op-pill.pendiente{background:#4b3b1e;color:#ffe1a1}.niva-visual-v7 .contenido-panel .op-pill.cancelado{background:#502934;color:#ffc2d0}
/* Corrección completa de superficies internas heredadas del tema claro. */
.niva-visual-v7 :is(.personalizacion-card,.caja-formulario-panel,.horarios-semana-panel,.interruptor-configuracion,.tarjeta-referidos-panel,.sena-medio,.sena-cuenta,.sena-reserva,.grupales-caja,.grupales-resumen article,.horario-grupal-item,.clase-grupal-cabecera,.propuesta-dueno,.resumen-ingresos article,.calendario-gestion article,.centro-hoy-panel,.centro-alerta,.dueno-atajos,.dueno-atajos a,.estado-sistema,.nc-comision-config,.nc-rates .op-campo,.nc-comision-row,.nc-comision-numeros>div,.nc-cliente,.nc-resumen>div,.nc-sugerencias,.nc-opcion,.an-suite-card,.an-payment-data,.an-product,.an-pro-lock,.an-notif-pop,.an-notif-item,.an-codigo-cliente,.an-codigo-card,.an-pulso,.an-pulso-item,.op-section,.op-dialog-head,.op-promo,.op-link-card){background:#211c24!important;color:#f4edf3!important;border-color:#58404f!important;box-shadow:0 6px 20px #0002}
.niva-visual-v7 :is(.personalizacion-card,.caja-formulario-panel,.sena-medio,.sena-cuenta,.sena-reserva,.grupales-caja,.grupales-resumen article,.nc-comision-config,.nc-comision-row,.nc-cliente,.nc-sugerencias,.an-suite-card,.an-payment-data,.an-pro-lock,.an-notif-pop,.an-notif-item,.an-codigo-card,.op-section,.op-dialog-head,.op-promo,.op-link-card,.tarjeta-referidos-panel) :is(h1,h2,h3,h4,label,strong){color:#f4edf3!important}
.niva-visual-v7 :is(.personalizacion-card,.caja-formulario-panel,.sena-medio,.sena-cuenta,.sena-reserva,.grupales-caja,.grupales-resumen article,.nc-comision-config,.nc-comision-row,.nc-cliente,.nc-sugerencias,.an-suite-card,.an-payment-data,.an-pro-lock,.an-notif-pop,.an-notif-item,.an-codigo-card,.op-section,.op-dialog-head,.op-promo,.op-link-card,.tarjeta-referidos-panel) :is(p,small){color:#d3bdce!important}
.niva-visual-v7 :is(.personalizacion-card,.caja-formulario-panel){border:1px solid #58404f!important;border-radius:18px}
.niva-visual-v7 .opcion-publica-panel{display:flex;align-items:center;gap:12px;padding:11px 0;color:#f4edf3!important;font-size:15px!important;line-height:1.45}
.niva-visual-v7 .opcion-publica-panel input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;margin:0}
.niva-visual-v7 .personalizacion-card>label:not(.opcion-publica-panel){display:grid;gap:8px;margin-top:16px;font-size:14px!important;line-height:1.5}
.niva-visual-v7 :is(.preview-logo-personalizacion,.preview-portada-personalizacion,.sin-imagen-personalizacion,.nc-off,.grupales-aviso,.evento-calendario,.an-notif-icon,.an-estado,.an-codigo-chip,.admin-codigo-chip,.admin-precio-preview,.centro-hoy-cabecera time){background:#332936!important;color:#e7cddd!important;border-color:#675367!important}
.niva-visual-v7 :is(.boton-secundario-panel,.filtro-periodo,.filtro-turno,.btn-editar,.btn-eliminar,.recursos-finales-acciones a,.recursos-finales-acciones button,.atajos-panel a,.an-bell){background:#352a3a!important;color:#f4edf3!important;border-color:#675367!important}
.niva-visual-v7 :is(.filtro-periodo.activo,.filtro-turno.activo,.dueno-nav-movil .dueno-nav-activo,.nc-opcion:hover,.nc-opcion:focus-visible,.dueno-atajos a:hover,.an-notif-item.nueva,.an-notif-item:hover){background:#4b2d40!important;color:#ffd4e8!important;border-color:#b56691!important}
.niva-visual-v7 .op-prof-head,.niva-visual-v7 .op-agenda-corner,.niva-visual-v7 .op-time-axis{background:#211c24!important;color:#e8d6e4!important;border-color:#58404f!important}
.niva-visual-v7 .op-prof-col{background:repeating-linear-gradient(to bottom,#493b48 0px,#493b48 1px,transparent 1px,transparent 17.25px)!important}
.niva-visual-v7 .op-turno{background:#4b3b1e!important;color:#ffe1a1!important;border-color:#8c7344!important}
.niva-visual-v7 .op-turno.confirmado{background:#244434!important;color:#d0f0dd!important;border-color:#487e60!important}
.niva-visual-v7 :is(.op-turno.cancelado,.op-turno.no_asistio,.evento-calendario.estado-cancelado,.evento-calendario.estado-no_asistio){background:#502934!important;color:#ffc8d4!important;border-color:#925267!important}
.niva-visual-v7 :is(.op-turno,.evento-calendario) :is(strong,span,small){color:inherit!important}
.niva-visual-v7 :is(.admin-dialog-codigo,.configuracion-comercial-admin,.admin-codigo-suscripcion,.solicitud-pendiente-admin,.propuesta-admin,.filtros-admin,.indicadores-operacion article,.resumen-admin article,.negocio-admin,.negocio-admin>.cabecera-negocio-admin,.negocio-admin>.datos-negocio-admin,.admin-vacio,.admin-error,.aviso-admin){background:#211c24!important;color:#f4edf3!important;border-color:#58404f!important}
.niva-visual-v7 :is(.admin-dialog-codigo,.configuracion-comercial-admin,.solicitud-pendiente-admin,.propuesta-admin,.negocio-admin) :is(h2,h3,h4,label,strong){color:#f4edf3!important}
.niva-visual-v7 :is(.admin-dialog-codigo,.configuracion-comercial-admin,.solicitud-pendiente-admin,.propuesta-admin,.negocio-admin) :is(p,small){color:#d3bdce!important}
.niva-visual-v7 #directorioAdmin{background:#211c24!important;color:#f4edf3!important}
.niva-visual-v7 .cargando-panel{background:#19131bf5!important;color:#f4edf3!important}
.niva-visual-v7 .dueno-alerta>span{background:#4b2d40!important;color:#ffd4e8!important}
.niva-visual-v7 .personalizacion-card textarea{padding:13px;min-height:100px;width:100%;line-height:1.6;resize:vertical}
.niva-visual-v7 :is(.personalizacion-card,.sena-medio,.sena-cuenta,.grupales-caja) button{min-height:44px;padding:11px 16px;border-radius:12px;font-size:14px;color:#fff;background:#a83b70;border:1px solid #c96096;cursor:pointer}
.niva-visual-v7 :is(.personalizacion-card,.sena-medio,.sena-cuenta,.grupales-caja) button:disabled{opacity:.6;cursor:default}
@media(max-width:600px){.niva-visual-v7 .personalizacion-card{padding:18px!important}.niva-visual-v7 .opcion-publica-panel{gap:12px;font-size:14px!important;min-height:44px}.niva-visual-v7 .personalizacion-card h3{font-size:18px!important}}
/* Información previa: sigue el color principal configurado por el negocio. */
.niva-visual-v7 .an-lectura-reserva>.an-importante{border:1px solid var(--color-principal,#d94e90)!important;box-shadow:0 8px 26px color-mix(in srgb,var(--color-principal,#d94e90) 18%,transparent)}
.niva-visual-v7 .an-lectura-reserva>.an-importante>summary{background:var(--color-principal,#d94e90)!important;color:var(--an-lectura-ink,#fff)!important;font-weight:800;border-radius:16px;padding:18px 20px}
.niva-visual-v7 .an-lectura-reserva>.an-importante[open]>summary{border-radius:16px 16px 0 0}
.niva-visual-v7 .an-lectura-reserva>.an-importante>summary:hover{background:var(--color-principal,#d94e90)!important;box-shadow:inset 0 0 0 2px var(--an-lectura-ink,#fff)}
.niva-visual-v7 .an-lectura-reserva>.an-importante>summary:after,.niva-visual-v7 .an-lectura-reserva .an-lectura-subtitulo{color:var(--an-lectura-ink,#fff)!important}
/* Agenda semanal y pequeños bloques que aún conservaban superficies claras. */
.niva-visual-v7 :is(.nw-tabs,.nw-scroll,.nw-head,.nw-axis,.nw-col.hoy,.nw-cambio,.nc-frecuente,.an-codigo-cliente.aplicado,.grupales-aviso,.estado-espera){background:#29212d!important;color:#f4edf3!important;border-color:#675367!important}
.niva-visual-v7 :is(.nw-tab.activo,.nw-head.hoy,.nw-cambio.nuevo){background:#4b2d40!important;color:#ffd4e8!important}
.niva-visual-v7 .nw-tab{color:#d3bdce!important}.niva-visual-v7 .nw-axis span{color:#cdb7c7!important}.niva-visual-v7 .nw-head :is(strong,small){color:inherit!important}.niva-visual-v7 .nw-col{background:repeating-linear-gradient(to bottom,transparent 0,transparent 68px,#493b48 68px,#493b48 69px)!important;border-color:#493b48!important}
.niva-visual-v7 .nc-resumen :is(strong,small),.niva-visual-v7 .nc-cliente :is(strong,small){color:#f4edf3!important}.niva-visual-v7 .sena-reserva a{color:#f8b4d4!important}

.an-lectura-reserva[hidden],.an-lectura-item[hidden],.an-lectura-estado[hidden]{display:none!important}
/* Reservas: acciones y profesionales siguen la personalización del local. */
.niva-reservas .an-siguiente-movil{background:color-mix(in srgb,var(--color-principal,#d94e90) 12%,#19161d);border-top-color:var(--color-principal,#d94e90)}
.niva-reservas .an-siguiente-movil button{background:var(--color-principal,#d94e90)!important;color:var(--an-lectura-ink,#fff)!important}
.niva-reservas .an-siguiente-movil small{color:#ded6dd}
.niva-visual-v7.niva-reservas .an-prof-card{background:#252229;color:#f4edf3;border-color:#514b56}
.niva-visual-v7.niva-reservas .an-prof-card[aria-pressed=true]{background:color-mix(in srgb,var(--color-principal,#d94e90) 22%,#19161d);border-color:var(--color-principal,#d94e90)}
.niva-visual-v7.niva-reservas .an-prof-avatar{background:var(--color-principal,#d94e90);color:var(--an-lectura-ink,#fff)}
.niva-reservas .an-prof-card:hover{border-color:var(--color-principal,#d94e90)}
.niva-reservas #listaProfesionalesModal .avatar-profesional-modal{background:var(--color-principal,#d94e90)!important;color:var(--an-lectura-ink,#fff)!important}
.niva-reservas #listaProfesionalesModal .profesional-modal-card:hover,.niva-reservas #listaProfesionalesModal .profesional-modal-card:focus-visible{border-color:var(--color-principal,#d94e90)!important}
.niva-reservas .fc-avatar{background:var(--color-principal,#d94e90);color:var(--an-lectura-ink,#fff)}
.niva-reservas .an-prof-card:focus-visible,.niva-reservas .an-siguiente-movil button:focus-visible{outline-color:var(--color-principal,#d94e90)!important}
