:root{--color-primario:#0f766e;--color-primario-hover:#115e59;--color-primario-claro:#ccfbf1;--color-acento:#d97706;--color-fondo:#f8fafc;--color-superficie:#ffffff;--color-texto:#0f172a;--color-texto-secundario:#475569;--color-borde:#e2e8f0;--color-exito:#15803d;--color-exito-bg:#dcfce7;--color-error:#b91c1c;--color-error-bg:#fee2e2;--radio-md:12px;--radio-lg:18px;--sombra-suave:0 4px 20px -2px rgba(15,23,42,0.06);--sombra-elevada:0 12px 32px -4px rgba(15,23,42,0.12);--transicion:all 0.22s cubic-bezier(0.4,0,0.2,1);--fuente-base:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;overflow-wrap:break-word;word-wrap:break-word}html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}body{font-family:var(--fuente-base);background-color:var(--color-fondo);color:var(--color-texto);line-height:1.6;min-height:100vh;max-width:100%;overflow-x:hidden}img{max-width:100%}a{color:var(--color-primario);text-decoration:none;transition:var(--transicion)}a:hover{color:var(--color-primario-hover)}.auth-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(circle at top right,#e0f2fe 0%,var(--color-fondo) 45%,#f0fdf4 100%)}.auth-card{width:100%;max-width:440px;background:var(--color-superficie);border-radius:var(--radio-lg);box-shadow:var(--sombra-elevada);border:1px solid var(--color-borde);padding:2.25rem 2rem}.auth-brand{text-align:center;margin-bottom:1.75rem}.auth-brand__badge{display:inline-flex;align-items:center;gap:0.45rem;background:var(--color-primario-claro);color:var(--color-primario);font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:0.35rem 0.85rem;border-radius:999px;margin-bottom:0.75rem}.auth-brand__title{font-size:1.5rem;font-weight:800;color:var(--color-texto);letter-spacing:-0.02em}.auth-brand__subtitle{font-size:0.92rem;color:var(--color-texto-secundario);margin-top:0.25rem}.form-group{margin-bottom:1.15rem}.form-label{display:block;font-size:0.88rem;font-weight:600;color:var(--color-texto);margin-bottom:0.4rem}.form-control{width:100%;padding:0.75rem 0.95rem;font-size:0.95rem;font-family:inherit;color:var(--color-texto);background-color:#fff;border:1.5px solid var(--color-borde);border-radius:var(--radio-md);transition:var(--transicion)}.form-control:focus{outline:none;border-color:var(--color-primario);box-shadow:0 0 0 3px rgba(15,118,110,0.15)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.6rem;width:100%;padding:0.8rem 1.2rem;font-size:0.95rem;font-weight:600;font-family:inherit;border-radius:var(--radio-md);border:none;cursor:pointer;transition:var(--transicion)}.btn:disabled{opacity:0.65;cursor:not-allowed}.btn-primary{background-color:var(--color-primario);color:#ffffff}.btn-primary:hover:not(:disabled){background-color:var(--color-primario-hover);transform:translateY(-1px)}.btn-google{background-color:#ffffff;color:var(--color-texto);border:1.5px solid var(--color-borde);margin-top:0.75rem}.btn-google:hover:not(:disabled){background-color:#f8fafc;border-color:#cbd5e1}.auth-divider{display:flex;align-items:center;margin:1.25rem 0;color:var(--color-texto-secundario);font-size:0.82rem}.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--color-borde)}.auth-divider span{padding:0 0.75rem}.alerta{display:none;padding:0.8rem 1rem;border-radius:var(--radio-md);font-size:0.88rem;font-weight:500;margin-bottom:1.15rem}.alerta.visible{display:block}.alerta-error{background-color:var(--color-error-bg);color:var(--color-error);border:1px solid #fecaca}.alerta-exito{background-color:var(--color-exito-bg);color:var(--color-exito);border:1px solid #bbf7d0}.auth-footer{margin-top:1.5rem;text-align:center;font-size:0.9rem;color:var(--color-texto-secundario)}.auth-footer a{font-weight:600}@media (max-width:480px){.auth-card{padding:1.75rem 1.25rem}}.wizard-container{max-width:820px;margin:2.5rem auto;padding:0 1.25rem}.wizard-card{background:var(--color-superficie);border-radius:var(--radio-lg);box-shadow:var(--sombra-elevada);border:1px solid var(--color-borde);padding:2.25rem}.wizard-header{margin-bottom:1.75rem}.wizard-steps{display:flex;align-items:center;gap:1rem;margin-top:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-borde)}.step-indicator{flex:1;display:flex;align-items:center;gap:0.65rem;padding:0.65rem 1rem;border-radius:var(--radio-md);background:#f1f5f9;color:var(--color-texto-secundario);font-size:0.88rem;font-weight:600;transition:var(--transicion)}.step-indicator.activo{background:var(--color-primario-claro);color:var(--color-primario)}.step-indicator__num{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#cbd5e1;color:#fff;font-size:0.8rem;font-weight:700}.step-indicator.activo .step-indicator__num{background:var(--color-primario)}.wizard-step{display:none}.wizard-step.activo{display:block;animation:fadeInStep 0.25s ease-out}@keyframes fadeInStep{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.form-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.15rem}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0.65rem;margin-top:0.4rem}.check-pill,.radio-pill{display:flex;align-items:center;gap:0.55rem;padding:0.65rem 0.85rem;border:1.5px solid var(--color-borde);border-radius:var(--radio-md);cursor:pointer;font-size:0.88rem;font-weight:500;background:#fff;transition:var(--transicion)}.check-pill:hover,.radio-pill:hover{border-color:var(--color-primario);background:#f0fdfa}.check-pill input,.radio-pill input{accent-color:var(--color-primario);width:16px;height:16px}.radio-group-inline{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:0.4rem}.file-upload-box{border:2px dashed #cbd5e1;border-radius:var(--radio-md);padding:1.25rem;background:#f8fafc;transition:var(--transicion)}.file-upload-box:hover{border-color:var(--color-primario);background:#f0fdfa}.file-upload-box input[type="file"]{width:100%;margin-top:0.5rem;font-size:0.88rem}.wizard-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--color-borde)}.btn-secondary{background:#f1f5f9;color:var(--color-texto);border:1px solid var(--color-borde)}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.btn-auto{width:auto;padding:0.8rem 1.65rem}@media (max-width:680px){.wizard-card{padding:1.5rem 1.15rem}.form-grid-2,.form-grid-3{grid-template-columns:1fr}.wizard-steps{flex-direction:column;align-items:stretch}}.checkout-summary{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.35rem;background:linear-gradient(135deg,#f0fdfa 0%,#e0f2fe 100%);border:1.5px solid #99f6e4;border-radius:var(--radio-md);margin-bottom:1.5rem}.checkout-summary__label{font-size:1rem;font-weight:700;color:var(--color-texto)}.checkout-summary__price{font-size:1.35rem;font-weight:800;color:var(--color-primario)}.metodos-pago-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.metodo-card{display:flex;flex-direction:column;align-items:flex-start;gap:0.45rem;padding:1.15rem 1rem;background:#ffffff;border:2px solid var(--color-borde);border-radius:var(--radio-md);cursor:pointer;text-align:left;transition:var(--transicion)}.metodo-card:hover{border-color:var(--color-primario);background:#f8fafc}.metodo-card.activo{border-color:var(--color-primario);background:#f0fdfa;box-shadow:0 0 0 3px rgba(15,118,110,0.14)}.metodo-card__icono{font-size:1.65rem}.metodo-card__titulo{font-size:0.95rem;font-weight:700;color:var(--color-texto)}.metodo-card__desc{font-size:0.8rem;color:var(--color-texto-secundario)}.panel-metodo{display:none;padding:1.5rem;background:#f8fafc;border:1px solid var(--color-borde);border-radius:var(--radio-md);margin-top:1rem}.panel-metodo.activo{display:block;animation:fadeInStep 0.22s ease-out}.checkout-top-bar{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;margin-bottom:1.25rem}.checkout-nav-btn{display:inline-flex;align-items:center;gap:0.4rem;padding:0.45rem 0.85rem;background:#ffffff;border:1.5px solid var(--color-borde);border-radius:999px;color:var(--color-texto);font-size:0.84rem;font-weight:700;text-decoration:none;transition:all 0.2s ease;box-shadow:var(--sombra-suave)}.checkout-nav-btn:hover{border-color:var(--color-primario);color:var(--color-primario);background:#f0fdfa}.checkout-nav-btn--ghost{background:#f8fafc;color:var(--color-texto-secundario)}.checkout-bottom-actions{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--color-borde);display:flex;justify-content:space-between;align-items:center;gap:0.75rem;flex-wrap:wrap}.tarjetas-marcas-strip{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;margin-bottom:1.25rem;padding:0.5rem 0.75rem;background:#ffffff;border:1px solid var(--color-borde);border-radius:10px}.tarjeta-marca-tag{display:inline-flex;align-items:center;justify-content:center;padding:0.25rem 0.65rem;background:#f1f5f9;color:#334155;font-size:0.74rem;font-weight:800;border-radius:6px;letter-spacing:0.04em;border:1px solid #e2e8f0}.tarjeta-marca-tag--visa{color:#1a1f71;background:#eff6ff;border-color:#bfdbfe}.tarjeta-marca-tag--mc{color:#eb001b;background:#fef2f2;border-color:#fecaca}.tarjeta-marca-tag--amex{color:#0070ba;background:#f0f9ff;border-color:#bae6fd}.tarjeta-marca-tag--diners{color:#004b87;background:#f8fafc;border-color:#cbd5e1}.tarjeta-motor-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.85rem;margin-bottom:1.25rem}.tarjeta-motor-card{display:flex;align-items:flex-start;gap:0.75rem;padding:1rem 1.15rem;background:#ffffff;border:2px solid var(--color-borde);border-radius:var(--radio-md);cursor:pointer;transition:all 0.22s ease;box-shadow:var(--sombra-suave);position:relative}.tarjeta-motor-card:hover{border-color:var(--color-primario);background:#fafffe}.tarjeta-motor-card.activo{border-color:var(--color-primario);background:#f0fdfa;box-shadow:0 0 0 3px rgba(15,118,110,0.16)}.tarjeta-motor-radio{margin-top:0.25rem;accent-color:var(--color-primario);width:18px;height:18px;cursor:pointer}.tarjeta-motor-content{flex:1}.tarjeta-motor-header{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;margin-bottom:0.35rem;flex-wrap:wrap}.tarjeta-motor-titulo{font-size:0.98rem;font-weight:800;color:var(--color-texto)}.tarjeta-motor-pill{font-size:0.72rem;font-weight:700;padding:0.2rem 0.55rem;border-radius:999px}.tarjeta-motor-pill.pill-ec{background:#ccfbf1;color:#0f766e;border:1px solid #99f6e4}.tarjeta-motor-pill.pill-global{background:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe}.tarjeta-motor-desc{font-size:0.82rem;color:var(--color-texto-secundario);line-height:1.35;margin:0}.tarjeta-motor-single{background:#ffffff;border:1.5px solid var(--color-borde);border-radius:var(--radio-md);padding:0.85rem 1.1rem;margin-bottom:1.25rem;font-size:0.9rem;color:var(--color-texto);display:flex;align-items:center;gap:0.5rem}.seguridad-box{display:flex;align-items:center;gap:0.65rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:0.75rem 1rem;margin-bottom:1.25rem;font-size:0.82rem;color:#64748b;line-height:1.4}.seguridad-icono{font-size:1.15rem;flex-shrink:0}@media (max-width:640px){.tarjeta-motor-grid{grid-template-columns:1fr;gap:0.75rem}}.datos-bancarios-lista{display:grid;grid-template-columns:repeat(2,1fr);gap:0.75rem 1.25rem;background:#ffffff;border:1px solid var(--color-borde);border-radius:var(--radio-md);padding:1.1rem 1.25rem;margin:1rem 0 1.25rem;font-size:0.9rem}.datos-bancarios-item strong{display:block;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--color-texto-secundario)}@media (max-width:680px){.metodos-pago-grid,.datos-bancarios-lista{grid-template-columns:1fr}.checkout-summary{flex-direction:column;align-items:flex-start;gap:0.35rem}}.admin-navbar{background:#0f172a;color:#ffffff;padding:0.9rem 1.75rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.admin-navbar__brand{font-size:1.1rem;font-weight:800;color:#ffffff;display:flex;align-items:center;gap:0.6rem}.admin-navbar__links{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}.admin-nav-link{color:#cbd5e1;padding:0.5rem 0.9rem;border-radius:8px;font-size:0.9rem;font-weight:600}.admin-nav-link:hover,.admin-nav-link.activo{background:rgba(255,255,255,0.12);color:#ffffff}.admin-container{max-width:1140px;margin:2rem auto;padding:0 1.25rem}.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.15rem;margin-bottom:2rem}.admin-kpi-card{background:#ffffff;border:1px solid var(--color-borde);border-radius:var(--radio-md);padding:1.35rem;box-shadow:var(--sombra-suave)}.admin-kpi-card__num{font-size:2rem;font-weight:800;color:var(--color-primario);line-height:1.1}.admin-kpi-card__label{font-size:0.88rem;color:var(--color-texto-secundario);margin-top:0.3rem}.admin-card{background:#ffffff;border:1px solid var(--color-borde);border-radius:var(--radio-lg);padding:1.75rem;box-shadow:var(--sombra-suave)}.table-responsive{width:100%;overflow-x:auto;margin-top:1rem}.admin-table{width:100%;border-collapse:collapse;font-size:0.92rem}.admin-table th,.admin-table td{padding:0.85rem 1rem;text-align:left;border-bottom:1px solid var(--color-borde)}.admin-table th{background:#f8fafc;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--color-texto-secundario);font-weight:700}.admin-table tr:hover td{background:#f8fafc}.badge{display:inline-block;padding:0.25rem 0.65rem;font-size:0.78rem;font-weight:700;border-radius:999px}.badge-pendiente{background:#fef3c7;color:#b45309}.badge-aprobado{background:#dcfce7;color:#15803d}.badge-destacado{background:#ede9fe;color:#6d28d9}.btn-sm{width:auto;padding:0.45rem 0.9rem;font-size:0.85rem;border-radius:8px}.btn-danger{background:var(--color-error);color:#ffffff}.btn-danger:hover:not(:disabled){background:#991b1b}.modal-backdrop,.modal-backdrop-custom{position:fixed;inset:0;background:rgba(15,23,42,0.65);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:1.25rem;z-index:100000 !important}.modal-backdrop.activo{display:flex}.modal-box{background:#ffffff;width:100%;max-width:660px;max-height:90vh;overflow-y:auto;border-radius:var(--radio-lg);box-shadow:var(--sombra-elevada);padding:1.85rem 1.85rem 2.5rem 1.85rem;position:relative;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--color-borde);margin-bottom:1.25rem}.modal-close{background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-texto-secundario);line-height:1}.doc-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0.75rem;margin:1rem 0 1.35rem}.doc-link-card{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 0.95rem;background:#f0fdfa;border:1px solid #99f6e4;border-radius:10px;font-size:0.86rem;font-weight:600;color:var(--color-primario)}.doc-link-card:hover{background:#ccfbf1}.tabs-header{display:flex;gap:0.5rem;border-bottom:2px solid var(--color-borde);margin-bottom:1.25rem;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;-webkit-overflow-scrolling:touch;padding-bottom:2px}.tab-btn{padding:0.75rem 1.25rem;background:transparent;border:none;border-bottom:3px solid transparent;font-size:0.95rem;font-weight:700;color:var(--color-texto-secundario);cursor:pointer;margin-bottom:-2px;flex-shrink:0;white-space:nowrap}.tab-btn.activo{color:var(--color-primario);border-bottom-color:var(--color-primario)}.tab-pane{display:none}.tab-pane.activo{display:block}.switch{position:relative;display:inline-block;width:48px;height:26px}.switch input{opacity:0;width:0;height:0}.slider-toggle{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:0.25s;border-radius:34px}.slider-toggle::before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#ffffff;transition:0.25s;border-radius:50%}.switch input:checked + .slider-toggle{background-color:var(--color-primario)}.switch input:checked + .slider-toggle::before{transform:translateX(22px)}.site-header{background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-borde);position:sticky;top:0;z-index:100;box-shadow:0 2px 14px rgba(15,23,42,0.05)}.site-header__inner{max-width:1180px;margin:0 auto;padding:0.85rem 1.25rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem}.site-logo{display:inline-flex;align-items:center;gap:0.5rem;font-size:clamp(0.98rem,2.2vw,1.15rem);font-weight:900;color:var(--color-primario);letter-spacing:-0.02em}.site-logo__icon{font-size:1.3rem}.site-nav{display:flex;align-items:center;gap:0.35rem;flex-wrap:wrap}.site-nav__link{padding:0.45rem 0.9rem;border-radius:999px;font-size:0.9rem;font-weight:600;color:var(--color-texto-secundario)}.site-nav__link:hover,.site-nav__link.activo{background:var(--color-primario-claro);color:var(--color-primario)}.btn-header-acceso{display:inline-flex;align-items:center;justify-content:center;padding:0.5rem 1.05rem;border-radius:999px;background:linear-gradient(135deg,#0f766e 0%,#0d9488 100%);color:#ffffff;font-size:0.85rem;font-weight:700;box-shadow:0 4px 12px rgba(15,118,110,0.22)}.btn-header-acceso:hover{background:var(--color-primario-hover);color:#ffffff}.site-header__cta{display:flex;align-items:center;gap:0.5rem}.site-menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:38px;height:38px;padding:7px;background:#f0fdfa;border:1.5px solid #99f6e4;border-radius:10px;cursor:pointer;transition:all 0.2s ease}.site-menu-toggle:hover,.site-menu-toggle:focus-visible{background:#ccfbf1;border-color:#5eead4}.site-menu-bar{width:19px;height:2px;background-color:var(--color-primario);border-radius:2px;transition:all 0.25s ease}.site-drawer-backdrop{position:fixed;inset:0;background:rgba(15,23,42,0.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:998;opacity:0;pointer-events:none;transition:opacity 0.3s ease}.site-drawer-backdrop.is-open{opacity:1;pointer-events:auto}.site-drawer{position:fixed;top:0;right:0;bottom:0;width:min(340px,86vw);height:100vh;height:100dvh;background:#ffffff;z-index:999;transform:translateX(100%);transition:transform 0.32s cubic-bezier(0.16,1,0.3,1);box-shadow:-8px 0 30px rgba(15,23,42,0.18);display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}.site-drawer.is-open{transform:translateX(0)}.site-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.25rem;border-bottom:1px solid var(--color-borde);background:#f8fafc}.site-drawer__brand{display:flex;align-items:center;gap:0.65rem}.site-drawer__close{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;color:#64748b;background:#ffffff;border:1px solid #e2e8f0;border-radius:50%;cursor:pointer;transition:all 0.2s ease}.site-drawer__close:hover{color:#0f172a;background:#f1f5f9}.site-drawer__links{display:flex;flex-direction:column;padding:1rem 0.85rem;gap:0.35rem;flex:1}.site-drawer__link{display:flex;align-items:center;gap:0.85rem;padding:0.75rem 1rem;border-radius:12px;color:#1e293b;font-size:0.95rem;font-weight:600;text-decoration:none;transition:background 0.18s ease,color 0.18s ease}.site-drawer__link:hover,.site-drawer__link.activo{background:#f0fdfa;color:var(--color-primario)}.drawer-icon{font-size:1.25rem;width:26px;text-align:center}.site-drawer__footer{padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-borde);background:#f8fafc;display:flex;flex-direction:column;gap:0.65rem}.site-drawer__btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;width:100%;padding:0.75rem 1rem;border-radius:12px;font-size:0.88rem;font-weight:700;text-decoration:none;text-align:center;transition:all 0.2s ease}.site-drawer__btn--primary{background:linear-gradient(135deg,#0f766e 0%,#0d9488 100%);color:#ffffff;box-shadow:0 2px 8px rgba(15,118,110,0.25)}.site-drawer__btn--secondary{background:#ffffff;color:var(--color-primario);border:1.5px solid #99f6e4}.site-drawer__btn--secondary:hover{background:#f0fdfa}.site-drawer__btn--wa{background:#16a34a;color:#ffffff}.site-drawer__btn--wa:hover{background:#15803d}@media (max-width:768px){.hide-mobile,.d-mobile-none{display:none !important}}@media (min-width:769px){.hide-desktop,.d-desktop-none{display:none !important}}.client-bottom-navbar{display:none}.page-hero{background:radial-gradient(circle at 85% 20%,#ccfbf1 0%,#f0fdfa 45%,#ffffff 100%);border-bottom:1px solid #e2e8f0;padding:2.5rem 1.25rem 2.75rem;overflow:hidden}.page-hero--cursos{background:radial-gradient(circle at 15% 20%,#e0f2fe 0%,#f0fdfa 50%,#ffffff 100%)}.page-hero__inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.15fr 0.85fr;gap:2.25rem;align-items:center}.page-hero__badge{display:inline-flex;align-items:center;gap:0.4rem;background:#ccfbf1;color:#0f766e;font-size:0.76rem;font-weight:800;text-transform:uppercase;letter-spacing:0.04em;padding:0.32rem 0.85rem;border-radius:999px;margin-bottom:0.85rem}.page-hero__title{font-size:clamp(1.45rem,3.2vw,2.45rem);font-weight:900;color:#0f172a;line-height:1.18;letter-spacing:-0.025em;margin-bottom:0.75rem}.page-hero__subtitle{font-size:clamp(0.92rem,1.5vw,1.05rem);color:#475569;margin-bottom:1.35rem;max-width:560px}.page-hero__trust-bar{display:flex;align-items:center;flex-wrap:wrap;gap:0.85rem}.avatar-stack{display:flex;align-items:center}.avatar-stack img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2.5px solid #ffffff;box-shadow:0 2px 6px rgba(15,23,42,0.12);margin-left:-10px}.avatar-stack img:first-child{margin-left:0}.page-hero__trust-text{font-size:0.86rem;color:#334155}.page-hero__pills{display:flex;flex-wrap:wrap;gap:0.55rem}.hero-mini-pill{background:#ffffff;border:1px solid #99f6e4;color:#0f766e;font-size:0.8rem;font-weight:700;padding:0.35rem 0.75rem;border-radius:999px;box-shadow:0 2px 8px rgba(15,118,110,0.06)}.page-hero__visual{position:relative}.page-hero__img{width:100%;height:270px;object-fit:cover;border-radius:20px;box-shadow:0 18px 38px -8px rgba(15,118,110,0.22);border:3px solid #ffffff}.page-hero__floating-card{position:absolute;bottom:-14px;left:16px;background:rgba(255,255,255,0.96);backdrop-filter:blur(8px);border:1.5px solid #99f6e4;border-radius:14px;padding:0.65rem 1rem;display:flex;align-items:center;gap:0.65rem;box-shadow:0 10px 25px rgba(15,23,42,0.14)}.page-hero__floating-icon{font-size:1.35rem}.page-hero__floating-card strong{display:block;font-size:0.84rem;color:#0f172a;line-height:1.2}.page-hero__floating-card small{font-size:0.74rem;color:#0f766e;font-weight:600}.directorio-main{max-width:1180px;margin:0 auto 3.5rem;padding:0 1.25rem}.filtros-panel{background:#ffffff;border:1px solid var(--color-borde);border-radius:var(--radio-lg);padding:1.5rem;box-shadow:var(--sombra-suave);margin-bottom:1.5rem}.search-bar-box{position:relative;margin-bottom:1.15rem}.search-bar-input{width:100%;padding:0.82rem 1rem 0.82rem 2.65rem;font-size:0.95rem;border:1.5px solid var(--color-borde);border-radius:var(--radio-md);background-color:#f8fafc;transition:var(--transicion)}.search-bar-input:focus{outline:none;background-color:#ffffff;border-color:var(--color-primario);box-shadow:0 0 0 3px rgba(15,118,110,0.14)}.search-bar-icon{position:absolute;left:0.95rem;top:50%;transform:translateY(-50%);color:var(--color-texto-secundario);pointer-events:none}.filtros-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.9rem;margin-bottom:1rem}.filtros-bottom-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.85rem;padding-top:0.95rem;border-top:1px solid var(--color-borde)}.directorio-contador{font-size:0.92rem;font-weight:700;color:var(--color-texto-secundario);margin-bottom:1.15rem}.psicologos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:1.35rem}.psi-card{background:#ffffff;border:1.5px solid var(--color-borde);border-radius:var(--radio-lg);padding:1.35rem;box-shadow:var(--sombra-suave);display:flex;flex-direction:column;transition:var(--transicion);position:relative;overflow:hidden}.psi-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0f766e 0%,#14b8a6 50%,#0ea5e9 100%)}.psi-card:hover{border-color:#5eead4;box-shadow:var(--sombra-elevada);transform:translateY(-3px)}.psi-card__header{display:flex;align-items:center;gap:0.95rem;margin-bottom:0.95rem}.psi-avatar-wrap{position:relative;flex-shrink:0}.psi-avatar{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);color:#ffffff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;flex-shrink:0;object-fit:cover;object-position:center 20%;aspect-ratio:1 / 1;border:2.5px solid #99f6e4;box-shadow:0 4px 12px rgba(15,118,110,0.16)}.psi-online-dot{position:absolute;bottom:2px;right:2px;width:14px;height:14px;border-radius:50%;background:#22c55e;border:2.5px solid #ffffff}.psi-card__head-info{min-width:0;flex:1}.psi-card__nombre{font-size:clamp(1rem,2vw,1.12rem);font-weight:800;color:var(--color-texto);line-height:1.25;margin-bottom:0.3rem;word-break:break-word}.psi-badge-especialidad{display:inline-block;background:var(--color-primario-claro);color:var(--color-primario);font-size:0.75rem;font-weight:700;padding:0.22rem 0.65rem;border-radius:999px}.psi-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:0.45rem;font-size:0.82rem;color:var(--color-texto-secundario);margin-bottom:0.85rem;padding-bottom:0.85rem;border-bottom:1px solid #f1f5f9}.psi-badge-verificado{display:inline-flex;align-items:center;gap:0.2rem;background:#dcfce7;color:#15803d;font-size:0.74rem;font-weight:700;padding:0.18rem 0.55rem;border-radius:999px;margin-left:auto}.psi-tags--preview{margin-bottom:0.95rem}.psi-card__actions-row{display:grid;grid-template-columns:1fr 1fr;gap:0.55rem;margin-top:auto}.btn-expandir-perfil{background:#f0fdfa;color:var(--color-primario);border:1.5px solid #99f6e4;font-size:0.83rem;font-weight:700;padding:0.6rem 0.75rem;border-radius:var(--radio-md);cursor:pointer;width:100%;transition:var(--transicion)}.btn-expandir-perfil:hover{background:var(--color-primario-claro)}.btn-reservar-rapido{padding:0.6rem 0.75rem;font-size:0.83rem}.psi-card__expandible{display:none;margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--color-borde)}.psi-card__expandible.abierto{display:block;animation:fadeInStep 0.22s ease-out}.psi-descripcion{font-size:0.88rem;color:var(--color-texto-secundario);margin-bottom:0.95rem}.psi-servicios-lista{list-style:none;margin-bottom:0.95rem;display:grid;gap:0.32rem}.psi-servicios-lista li{font-size:0.84rem;color:var(--color-texto);display:flex;align-items:flex-start;gap:0.45rem}.psi-servicios-lista li::before{content:"✓";color:var(--color-primario);font-weight:900;flex-shrink:0}.psi-tags{display:flex;flex-wrap:wrap;gap:0.38rem;margin-bottom:1rem}.psi-tag{background:#f1f5f9;color:#334155;font-size:0.74rem;font-weight:600;padding:0.2rem 0.55rem;border-radius:6px}.site-footer{background:#0f172a;color:#cbd5e1;padding:2.25rem 1.25rem;margin-top:3.5rem}.site-footer__inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.25rem}.site-footer__brand{color:#ffffff;font-size:1rem}.site-footer__copy{font-size:0.84rem;margin-top:0.25rem}.site-footer__links{display:flex;gap:1.15rem;flex-wrap:wrap}.site-footer__links a{color:#94a3b8;font-size:0.88rem}.site-footer__links a:hover{color:#ffffff}.cursos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:1.35rem}.curso-card{background:#ffffff;border:1.5px solid var(--color-borde);border-radius:var(--radio-lg);overflow:hidden;box-shadow:var(--sombra-suave);display:flex;flex-direction:column;transition:var(--transicion)}.curso-card:hover{border-color:#5eead4;box-shadow:var(--sombra-elevada);transform:translateY(-3px)}.curso-card__media{position:relative;height:190px;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);display:flex;align-items:center;justify-content:center;overflow:hidden}.curso-card__img{width:100%;height:100%;object-fit:cover;transition:transform 0.35s ease}.curso-card:hover .curso-card__img{transform:scale(1.04)}.curso-card__initials{width:70px;height:70px;border-radius:50%;background:rgba(255,255,255,0.18);border:2px solid rgba(255,255,255,0.55);color:#ffffff;font-size:1.45rem;font-weight:800;display:flex;align-items:center;justify-content:center}.curso-card__tipo-badge{position:absolute;top:0.75rem;right:0.75rem;background:rgba(15,23,42,0.82);backdrop-filter:blur(4px);color:#ffffff;font-size:0.73rem;font-weight:700;padding:0.24rem 0.68rem;border-radius:999px}.curso-card__body{padding:1.25rem;display:flex;flex-direction:column;flex:1}.curso-card__titulo{font-size:clamp(1rem,2vw,1.12rem);font-weight:800;color:var(--color-texto);line-height:1.3;margin-bottom:0.35rem}.curso-card__autor{font-size:0.85rem;color:var(--color-primario);font-weight:600;margin-bottom:0.85rem}.curso-card__info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.5rem;font-size:0.82rem;color:var(--color-texto-secundario);padding:0.75rem 0;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;margin-bottom:0.75rem}.curso-progress-wrap{margin-bottom:0.65rem}.curso-progress-bar{width:100%;height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden}.curso-progress-fill{height:100%;background:linear-gradient(90deg,#0f766e 0%,#14b8a6 100%);border-radius:999px}.curso-card__cupo-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;margin-bottom:1rem;font-size:0.82rem}.curso-cupo-badge{background:#f0fdfa;color:#0f766e;border:1px solid #99f6e4;padding:0.2rem 0.6rem;border-radius:999px;font-weight:700}.curso-precio-tag{font-size:1.12rem;font-weight:800;color:var(--color-primario)}.curso-detalle-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:2rem;align-items:start;margin-top:2rem}@media (max-width:920px){.page-hero__inner{grid-template-columns:1fr;gap:1.5rem}.page-hero__img{height:220px}.filtros-grid{grid-template-columns:repeat(2,1fr)}.curso-detalle-layout{grid-template-columns:1fr}}@media (max-width:768px){.admin-navbar{position:fixed !important;bottom:0 !important;left:0 !important;right:0 !important;top:auto !important;z-index:9999 !important;background:rgba(15,23,42,0.96) !important;backdrop-filter:blur(14px) !important;-webkit-backdrop-filter:blur(14px) !important;border-top:1px solid rgba(255,255,255,0.15) !important;box-shadow:0 -8px 25px rgba(0,0,0,0.45) !important;padding:0.45rem 0.55rem calc(0.45rem + env(safe-area-inset-bottom,0px)) !important;margin:0 !important;width:100% !important;box-sizing:border-box !important;display:flex !important;flex-direction:column !important;gap:0 !important}.admin-navbar__brand{display:none !important}.admin-navbar__links{display:flex !important;flex-wrap:nowrap !important;align-items:center !important;gap:0.45rem !important;overflow-x:auto !important;white-space:nowrap !important;scrollbar-width:none !important;-webkit-overflow-scrolling:touch !important;width:100% !important;padding:0.15rem 0.1rem !important;margin:0 !important}.admin-navbar__links::-webkit-scrollbar{display:none !important}.admin-nav-link{display:inline-flex !important;align-items:center !important;gap:0.35rem !important;flex-shrink:0 !important;font-size:0.78rem !important;font-weight:700 !important;padding:0.45rem 0.75rem !important;border-radius:999px !important;background:rgba(255,255,255,0.08) !important;color:#cbd5e1 !important;border:1px solid rgba(255,255,255,0.08) !important;text-decoration:none !important;transition:all 0.2s ease !important}.admin-nav-link:hover,.admin-nav-link.activo{background:#0f766e !important;color:#ffffff !important;border-color:#14b8a6 !important;box-shadow:0 2px 10px rgba(15,118,110,0.45) !important}.admin-container{margin-bottom:calc(75px + env(safe-area-inset-bottom,0px)) !important;padding-bottom:2rem !important}.client-bottom-navbar{display:flex !important;position:fixed !important;bottom:0 !important;left:0 !important;right:0 !important;top:auto !important;z-index:9999 !important;background:rgba(255,255,255,0.96) !important;backdrop-filter:blur(14px) !important;-webkit-backdrop-filter:blur(14px) !important;border-top:1px solid var(--color-borde) !important;box-shadow:0 -6px 22px rgba(15,23,42,0.12) !important;padding:0.35rem 0.5rem calc(0.35rem + env(safe-area-inset-bottom,0px)) !important;margin:0 !important;width:100% !important;box-sizing:border-box !important}.client-bottom-navbar__inner{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:0.25rem !important;width:100% !important;max-width:520px !important;margin:0 auto !important}.client-bottom-nav__item{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:2px !important;padding:0.38rem 0.2rem !important;border-radius:10px !important;color:#64748b !important;text-decoration:none !important;font-size:0.68rem !important;font-weight:700 !important;transition:var(--transicion) !important}.client-bottom-nav__item .client-bottom-nav__icon{font-size:1.15rem !important;line-height:1 !important}.client-bottom-nav__item .client-bottom-nav__label{line-height:1.1 !important}.client-bottom-nav__item:hover,.client-bottom-nav__item.activo{color:var(--color-primario) !important;background:#f0fdfa !important}.client-bottom-nav__item--logout{color:#dc2626 !important}.client-bottom-nav__item--logout:hover{background:#fef2f2 !important;color:#b91c1c !important}.site-nav{display:none !important}.site-menu-toggle{display:inline-flex !important}.site-header__inner{padding:0.55rem 0.95rem !important;flex-wrap:nowrap !important;justify-content:space-between !important;gap:0.5rem !important}.site-header__cta{display:flex !important;align-items:center !important;gap:0.45rem !important;flex-wrap:nowrap !important}.site-header--logged-in .site-nav{display:none !important}.site-header--logged-in .site-header__inner{justify-content:space-between !important;padding:0.55rem 0.85rem !important}body:has(.client-bottom-navbar) .directorio-main,body:has(.client-bottom-navbar) .cursos-container,body:has(.client-bottom-navbar) .wizard-container,body:has(.client-bottom-navbar) main,.directorio-main{margin-bottom:calc(75px + env(safe-area-inset-bottom,0px)) !important}body.modal-abierto .client-bottom-navbar,body.modal-abierto .admin-navbar,body:has(.modal-backdrop.activo) .client-bottom-navbar,body:has(.modal-backdrop.activo) .admin-navbar,body:has(.modal-backdrop[style*="display: flex"]) .client-bottom-navbar,body:has(.modal-backdrop[style*="display: flex"]) .admin-navbar,body:has(.modal-backdrop[style*="display: block"]) .client-bottom-navbar,body:has(.modal-backdrop[style*="display: block"]) .admin-navbar,body:has(.modal-backdrop-custom.activo) .client-bottom-navbar,body:has(.modal-backdrop-custom[style*="display: flex"]) .client-bottom-navbar{display:none !important;visibility:hidden !important;opacity:0 !important;pointer-events:none !important}.modal-backdrop,.modal-backdrop-custom{z-index:100000 !important;padding:0.5rem 0.5rem calc(25px + env(safe-area-inset-bottom,0px)) 0.5rem !important;align-items:center !important;justify-content:center !important;overflow-y:auto !important;-webkit-overflow-scrolling:touch !important}.modal-box{max-height:calc(88vh - env(safe-area-inset-bottom,0px)) !important;overflow-y:auto !important;-webkit-overflow-scrolling:touch !important;overscroll-behavior:contain !important;padding:1.35rem 1.05rem calc(3.5rem + env(safe-area-inset-bottom,0px)) 1.05rem !important;margin:auto !important;border-radius:16px !important;box-shadow:0 10px 40px rgba(0,0,0,0.3) !important;box-sizing:border-box !important}.modal-box form{display:flex;flex-direction:column}.modal-box .btn,.modal-box button[type="submit"],.modal-box #btn-confirmar-reserva,.modal-box .btn-whatsapp-confirm{margin-top:1.15rem !important;margin-bottom:0.85rem !important;min-height:48px !important;display:flex !important;align-items:center !important;justify-content:center !important;font-size:0.95rem !important;font-weight:700 !important;width:100% !important;box-sizing:border-box !important}}@media (max-width:640px){.site-header__inner{padding:0.5rem 0.75rem !important}.site-logo{font-size:0.92rem}.btn-header-acceso{font-size:0.78rem;padding:0.38rem 0.75rem}.page-hero{padding:1.5rem 0.95rem 1.85rem}.page-hero__title{font-size:1.35rem;line-height:1.22}.page-hero__subtitle{font-size:0.88rem;margin-bottom:1rem}.page-hero__img{height:185px;border-radius:14px}.page-hero__floating-card{position:static;margin-top:0.65rem;width:100%}.directorio-main{padding:0 0.9rem;margin-bottom:2.5rem}.filtros-panel{padding:1.1rem 0.95rem}.filtros-grid,.psicologos-grid,.cursos-grid{grid-template-columns:1fr}.psi-card{padding:1.1rem}.psi-avatar{width:56px;height:56px;font-size:1.05rem}.psi-card__nombre{font-size:1rem}.psi-badge-verificado{margin-left:0}.psi-card__actions-row{grid-template-columns:1fr}.btn{font-size:0.88rem;padding:0.72rem 0.95rem;white-space:normal;word-break:break-word;text-align:center}.modal-box{padding:1.25rem 1rem calc(3.5rem + env(safe-area-inset-bottom,0px)) 1rem !important}}.estado-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.25rem 1.5rem;border-radius:var(--radio-lg);margin-bottom:1.75rem;border:1.5px solid var(--color-borde);background:#ffffff;box-shadow:var(--sombra-suave)}.estado-banner--pendiente_pago{border-color:#fcd34d;background:#fffbeb}.estado-banner--pendiente_revision{border-color:#93c5fd;background:#eff6ff}.estado-banner--aprobado{border-color:#86efac;background:#f0fdf4}.disponibilidad-lista{display:grid;gap:0.9rem;margin-bottom:1.5rem}.dia-horario-card{border:1.5px solid var(--color-borde);border-radius:var(--radio-md);padding:1rem 1.25rem;background:#f8fafc;transition:var(--transicion)}.dia-horario-card.activo{border-color:var(--color-primario);background:#ffffff;box-shadow:var(--sombra-suave)}.dia-horario-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem}.dia-check-label{display:inline-flex;align-items:center;gap:0.65rem;font-size:1rem;font-weight:700;color:var(--color-texto);cursor:pointer}.dia-check-label input{width:18px;height:18px;accent-color:var(--color-primario)}.horas-contenedor{display:none;flex-wrap:wrap;align-items:center;gap:0.65rem;margin-top:0.95rem;padding-top:0.95rem;border-top:1px dashed var(--color-borde)}.dia-horario-card.activo .horas-contenedor{display:flex}.hora-chip{display:inline-flex;align-items:center;gap:0.35rem;background:#f0fdfa;border:1px solid #99f6e4;padding:0.35rem 0.55rem;border-radius:10px}.hora-chip input[type="time"]{border:none;background:transparent;font-family:inherit;font-size:0.9rem;font-weight:600;color:var(--color-primario);outline:none}.btn-quitar-hora{background:transparent;border:none;color:var(--color-error);cursor:pointer;font-size:1.05rem;line-height:1;padding:0 0.2rem}.reserva-psi-header{display:flex;align-items:center;gap:0.9rem;padding:0.95rem 1.15rem;background:#f0fdfa;border:1px solid #99f6e4;border-radius:var(--radio-md);margin-bottom:1.25rem}.horas-slots-grid{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:0.5rem}.btn-hora-slot{padding:0.55rem 1rem;border-radius:10px;border:1.5px solid var(--color-borde);background:#ffffff;color:var(--color-texto);font-size:0.9rem;font-weight:700;cursor:pointer;transition:var(--transicion)}.btn-hora-slot:hover{border-color:var(--color-primario);background:#f0fdfa}.btn-hora-slot.seleccionado{background:var(--color-primario);color:#ffffff;border-color:var(--color-primario);box-shadow:0 0 0 3px rgba(15,118,110,0.18)}.btn-whatsapp-confirm{display:inline-flex;align-items:center;justify-content:center;gap:0.65rem;width:100%;padding:1rem 1.35rem;font-size:1.05rem;font-weight:800;border-radius:var(--radio-md);background:#16a34a;color:#ffffff;text-decoration:none;box-shadow:0 8px 20px -4px rgba(22,163,74,0.38);transition:var(--transicion)}.btn-whatsapp-confirm:hover{background:#15803d;color:#ffffff;transform:translateY(-2px)}@media (max-width:640px){h1,.auth-brand__title,.page-hero__title{font-size:clamp(1.18rem,4.2vw,1.38rem) !important;line-height:1.25 !important;letter-spacing:-0.015em}h2{font-size:clamp(1.02rem,3.6vw,1.18rem) !important;line-height:1.3 !important}h3{font-size:clamp(0.92rem,3vw,1.02rem) !important}body,p,.auth-brand__subtitle{font-size:0.88rem;line-height:1.5;overflow-wrap:break-word;word-wrap:break-word}.auth-brand__badge,.badge{font-size:0.72rem;padding:0.22rem 0.6rem}.admin-kpi-grid{grid-template-columns:repeat(2,1fr);gap:0.75rem;margin-bottom:1.25rem}.admin-kpi-card{padding:0.95rem 0.85rem}.admin-kpi-card__num{font-size:1.45rem}.admin-kpi-card__label{font-size:0.76rem}.admin-container{padding:0 0.8rem;margin:1.2rem auto}.admin-card,.wizard-card{padding:1.15rem 0.95rem;border-radius:14px}.tabs-header{gap:0.35rem;margin-bottom:1rem}.tab-btn{padding:0.55rem 0.85rem;font-size:0.82rem}.btn{font-size:0.86rem;padding:0.65rem 0.95rem}.btn-sm{font-size:0.78rem;padding:0.38rem 0.7rem}.btn-whatsapp-confirm{font-size:0.88rem;padding:0.72rem 1rem}.form-label{font-size:0.82rem;margin-bottom:0.3rem}.form-control{font-size:0.88rem;padding:0.62rem 0.82rem}.estado-banner{padding:1rem;gap:0.75rem}.dia-horario-card{padding:0.85rem 0.9rem}.dia-check-label{font-size:0.9rem}.hora-chip{padding:0.25rem 0.45rem}.hora-chip input[type="time"]{font-size:0.82rem}}@media (max-width:480px){.admin-kpi-grid{grid-template-columns:1fr}.auth-card,.admin-card,.wizard-card{padding:1rem 0.75rem}h1,.auth-brand__title,.page-hero__title{font-size:clamp(1.05rem,4.2vw,1.18rem) !important;line-height:1.22 !important}h2{font-size:clamp(0.95rem,3.8vw,1.05rem) !important;line-height:1.25 !important}h3{font-size:clamp(0.88rem,3.2vw,0.98rem) !important}body,p,.auth-brand__subtitle{font-size:0.84rem}.page-hero{padding:1.25rem 0.75rem 1.5rem}.page-hero__badge{font-size:0.7rem;padding:0.22rem 0.65rem}.page-hero__subtitle{font-size:0.82rem;line-height:1.4}.page-hero__img{height:160px}.page-hero__floating-card{padding:0.5rem 0.75rem;font-size:0.78rem}.directorio-main{padding:0 0.65rem}.filtros-panel{padding:0.95rem 0.75rem}.search-bar-input{font-size:0.88rem;padding:0.68rem 0.85rem 0.68rem 2.35rem}.psi-card{padding:0.95rem 0.8rem}.psi-avatar{width:50px;height:50px;font-size:0.95rem}.psi-card__nombre{font-size:0.95rem;line-height:1.22}.psi-badge-especialidad{font-size:0.7rem;padding:0.18rem 0.55rem;max-width:100%;white-space:normal}.psi-card__meta{font-size:0.76rem;gap:0.35rem}.psi-badge-verificado{font-size:0.68rem;padding:0.15rem 0.45rem}.psi-tag{font-size:0.7rem;padding:0.2rem 0.5rem}.btn-expandir-perfil,.btn-reservar-rapido{font-size:0.78rem;padding:0.52rem 0.7rem}.btn{font-size:0.82rem;padding:0.58rem 0.82rem}.btn-whatsapp-confirm{font-size:0.84rem;padding:0.65rem 0.85rem}}@media (max-width:380px){h1,.auth-brand__title,.page-hero__title{font-size:1.02rem !important;line-height:1.2 !important;letter-spacing:-0.015em}h2{font-size:0.92rem !important;line-height:1.22 !important}h3,.psi-card__nombre{font-size:0.86rem !important;line-height:1.2 !important}body,p,.auth-brand__subtitle,.psi-descripcion{font-size:0.78rem !important;line-height:1.38 !important}.form-label{font-size:0.76rem !important;margin-bottom:0.25rem}.form-control{font-size:0.82rem !important;padding:0.52rem 0.68rem !important}.site-header__inner{padding:0.4rem 0.5rem;gap:0.35rem}.site-logo{font-size:0.82rem}.site-logo__sub{display:none !important}.btn-header-acceso{font-size:0.68rem;padding:0.28rem 0.55rem}.btn-header-acceso .btn-header-text{display:none !important}.page-hero{padding:1rem 0.5rem 1.25rem}.page-hero__badge{font-size:0.64rem;padding:0.18rem 0.5rem;margin-bottom:0.5rem}.page-hero__subtitle{font-size:0.76rem;line-height:1.35;margin-bottom:0.85rem}.page-hero__img{height:135px;border-radius:12px}.page-hero__floating-card{padding:0.45rem 0.65rem;margin-top:0.5rem;border-radius:10px}.page-hero__floating-card strong{font-size:0.74rem}.page-hero__floating-card small{font-size:0.66rem}.avatar-stack img{width:28px;height:28px;margin-left:-8px}.page-hero__trust-text{font-size:0.74rem}.hero-mini-pill{font-size:0.7rem;padding:0.25rem 0.55rem}.directorio-main{padding:0 0.45rem;margin-bottom:1.75rem}.filtros-panel{padding:0.75rem 0.55rem;border-radius:12px;margin-bottom:1rem}.search-bar-box{margin-bottom:0.65rem}.search-bar-input{padding:0.52rem 0.65rem 0.52rem 2rem !important;font-size:0.8rem !important}.search-bar-icon{left:0.6rem;font-size:0.85rem}.filtros-bottom-row{flex-direction:column;align-items:stretch;gap:0.5rem;padding-top:0.65rem}.radio-group-inline{display:flex;flex-wrap:wrap;gap:0.25rem}.radio-pill span{font-size:0.72rem;padding:0.25rem 0.45rem}.directorio-contador{font-size:0.76rem;margin-bottom:0.65rem}.psicologos-grid{gap:0.85rem}.psi-card{padding:0.85rem 0.65rem;border-radius:12px}.psi-card__header{gap:0.65rem;margin-bottom:0.65rem}.psi-avatar{width:44px;height:44px;font-size:0.88rem;border-width:2px}.psi-online-dot{width:11px;height:11px}.psi-badge-especialidad{font-size:0.66rem;padding:0.15rem 0.45rem;white-space:normal;line-height:1.25}.psi-card__meta{font-size:0.72rem;gap:0.3rem;margin-bottom:0.65rem;padding-bottom:0.65rem}.psi-badge-verificado{font-size:0.64rem;padding:0.12rem 0.4rem}.psi-tag{font-size:0.66rem;padding:0.15rem 0.45rem}.psi-card__actions-row{gap:0.4rem}.btn-expandir-perfil{font-size:0.74rem;padding:0.48rem 0.6rem}.btn-reservar-rapido{font-size:0.74rem;padding:0.48rem 0.6rem}.psi-servicios-lista li{font-size:0.74rem}.curso-card{padding:0.85rem 0.65rem;border-radius:12px}.curso-card__img-wrap{height:125px}.curso-card__title{font-size:0.88rem;line-height:1.25}.curso-card__desc{font-size:0.74rem;line-height:1.35}.curso-precio-tag{font-size:0.98rem}.curso-cupo-badge{font-size:0.66rem;padding:0.15rem 0.45rem}.auth-wrapper{padding:0.65rem 0.45rem}.auth-card,.admin-card,.wizard-card{padding:0.85rem 0.65rem;border-radius:12px}.auth-brand{margin-bottom:1rem}.auth-brand__badge{font-size:0.64rem;padding:0.18rem 0.5rem}.auth-divider{margin:0.85rem 0;font-size:0.74rem}.auth-footer{font-size:0.78rem;margin-top:1rem}.step-indicator{padding:0.45rem 0.65rem;font-size:0.74rem;gap:0.45rem}.step-indicator__num{width:22px;height:22px;font-size:0.74rem}.admin-container{padding:0 0.45rem;margin:0.85rem auto}.admin-nav-link{font-size:0.74rem !important;padding:0.38rem 0.62rem !important}.client-bottom-nav__item .client-bottom-nav__icon{font-size:1.05rem !important}.client-bottom-nav__item{font-size:0.64rem !important;padding:0.28rem 0.15rem !important}.admin-kpi-card{padding:0.75rem 0.65rem}.admin-kpi-card__num{font-size:1.2rem}.admin-kpi-card__label{font-size:0.7rem}.tabs-header{gap:0.25rem;margin-bottom:0.75rem}.tab-btn{padding:0.45rem 0.65rem;font-size:0.74rem}.admin-table{font-size:0.74rem}.admin-table th,.admin-table td{padding:0.45rem 0.55rem}.btn{font-size:0.76rem !important;padding:0.5rem 0.72rem !important;border-radius:8px}.btn-sm{font-size:0.7rem !important;padding:0.3rem 0.55rem !important}.btn-whatsapp-confirm{font-size:0.78rem !important;padding:0.58rem 0.8rem !important}.modal-box{padding:0.95rem 0.75rem calc(3.5rem + env(safe-area-inset-bottom,0px)) 0.75rem !important;border-radius:14px}.reserva-psi-header{padding:0.65rem 0.75rem;gap:0.55rem}.btn-hora-slot{font-size:0.76rem;padding:0.4rem 0.65rem;border-radius:8px}.estado-banner{padding:0.75rem 0.8rem;gap:0.55rem}.dia-horario-card{padding:0.7rem 0.75rem}.dia-check-label{font-size:0.82rem}.hora-chip{padding:0.2rem 0.4rem}.hora-chip input[type="time"]{font-size:0.76rem}}@media (max-width:330px){h1,.auth-brand__title,.page-hero__title{font-size:0.94rem !important}h2{font-size:0.86rem !important}h3,.psi-card__nombre{font-size:0.82rem !important}body,p,.auth-brand__subtitle,.psi-descripcion{font-size:0.74rem !important}.btn{font-size:0.72rem !important;padding:0.45rem 0.6rem !important}.btn-whatsapp-confirm{font-size:0.74rem !important;padding:0.52rem 0.7rem !important}.psi-avatar{width:38px;height:38px;font-size:0.8rem}}.legal-container{max-width:860px;margin:2rem auto 3rem;padding:0 1.25rem}.legal-nav-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem;margin-bottom:1.5rem}.legal-card{background:#ffffff;border-radius:var(--radio-lg);box-shadow:var(--sombra-md);border:1px solid var(--color-borde);padding:2.25rem;overflow:hidden}.legal-header{border-bottom:2px solid var(--color-fondo-suave);padding-bottom:1.5rem;margin-bottom:2rem}.legal-badge{display:inline-flex;align-items:center;gap:0.4rem;background:#f0fdfa;color:var(--color-primario);border:1px solid #99f6e4;padding:0.35rem 0.75rem;border-radius:999px;font-size:0.82rem;font-weight:700;margin-bottom:0.85rem}.legal-title{font-size:1.75rem;font-weight:800;color:#0f172a;line-height:1.25;margin-bottom:0.6rem}.legal-subtitle{font-size:0.95rem;color:#64748b;line-height:1.5;margin:0}.legal-body{color:#334155;font-size:0.98rem;line-height:1.75}.legal-body h2{font-size:1.25rem;font-weight:800;color:var(--color-primario);margin-top:1.85rem;margin-bottom:0.65rem}.legal-body h3{font-size:1.05rem;font-weight:700;color:#1e293b;margin-top:1.25rem;margin-bottom:0.4rem}.legal-body p{margin-bottom:1rem}.legal-body ul,.legal-body ol{margin-bottom:1.25rem;padding-left:1.5rem}.legal-body li{margin-bottom:0.45rem}.legal-footer-box{margin-top:2.5rem;padding:1.25rem;border-top:1px solid var(--color-borde);background:#f8fafc;border-radius:var(--radio-md)}@media (max-width:640px){.legal-container{margin:1.25rem auto 2.5rem;padding:0 0.85rem}.legal-card{padding:1.35rem}.legal-title{font-size:1.35rem}}.checkout-verificaciones-box{background:#f8fafc;border:1.5px solid var(--color-borde);border-radius:var(--radio-md);padding:1rem 1.15rem;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:0.85rem}.checkout-check-item{display:flex;align-items:flex-start;gap:0.65rem;cursor:pointer;user-select:none}.checkout-checkbox{width:18px;height:18px;margin-top:0.15rem;flex-shrink:0;accent-color:var(--color-primario);cursor:pointer}.checkout-check-label{font-size:0.86rem;line-height:1.45;color:#334155}.legal-link{color:var(--color-primario);font-weight:700;text-decoration:underline;text-underline-offset:2px}.legal-link:hover{color:var(--color-primario-oscuro)}.cookie-banner{display:none;position:fixed;bottom:24px;right:24px;max-width:420px;background:#ffffff;border:1.5px solid var(--color-borde);border-radius:var(--radio-lg);box-shadow:0 16px 36px -6px rgba(0,0,0,0.18),0 4px 12px -2px rgba(0,0,0,0.08);padding:1.25rem 1.35rem;z-index:9999;animation:cookieSlideUp 0.3s cubic-bezier(0.16,1,0.3,1)}@keyframes cookieSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cookie-banner__header{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.45rem}.cookie-banner__icon{font-size:1.25rem}.cookie-banner__title{font-size:0.98rem;font-weight:800;color:#0f172a}.cookie-banner__text{font-size:0.84rem;color:#475569;line-height:1.5;margin:0 0 1rem 0}.cookie-link{color:var(--color-primario);font-weight:700;text-decoration:underline}.cookie-banner__actions{display:flex;align-items:center;gap:0.65rem}.cookie-btn{padding:0.5rem 0.95rem;border-radius:999px;font-size:0.82rem;font-weight:700;cursor:pointer;transition:var(--transicion);border:none}.cookie-btn--primary{background:var(--color-primario);color:#ffffff}.cookie-btn--primary:hover{background:var(--color-primario-oscuro)}.cookie-btn--secondary{background:#f1f5f9;color:#475569}.cookie-btn--secondary:hover{background:#e2e8f0;color:#1e293b}@media (max-width:768px){.cookie-banner{bottom:calc(76px + env(safe-area-inset-bottom,0px));left:12px;right:12px;max-width:calc(100vw - 24px);padding:1.05rem 1.15rem;border-radius:var(--radio-md)}.cookie-banner__actions{flex-direction:row;width:100%}.cookie-btn{flex:1;text-align:center}}.modal-backdrop-custom{position:fixed;inset:0;background:rgba(15,23,42,0.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1.25rem;animation:modalFadeIn 0.28s cubic-bezier(0.16,1,0.3,1) forwards}.modal-backdrop-custom.modal-closing{animation:modalFadeOut 0.22s ease-in forwards}.modal-card-custom{background:#ffffff;width:100%;max-width:520px;border-radius:24px;padding:2.25rem 2rem;position:relative;box-shadow:0 25px 50px -12px rgba(0,0,0,0.35),0 0 0 1px rgba(255,255,255,0.1);text-align:center;max-height:90vh;overflow-y:auto;animation:modalPopIn 0.32s cubic-bezier(0.16,1,0.3,1) forwards}.btn-cerrar-modal{position:absolute;top:1rem;right:1.25rem;background:#f1f5f9;border:none;width:34px;height:34px;border-radius:50%;font-size:1.35rem;line-height:1;color:#64748b;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:var(--transicion)}.btn-cerrar-modal:hover{background:#e2e8f0;color:#0f172a;transform:scale(1.08)}.modal-pago-icono-wrap{width:76px;height:76px;background:linear-gradient(135deg,#ccfbf1 0%,#99f6e4 100%);border:3px solid #14b8a6;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;box-shadow:0 10px 25px -5px rgba(20,184,166,0.4);animation:bounceIcon 0.8s ease-in-out infinite alternate}.modal-pago-icono{font-size:2.4rem;color:#0f766e;font-weight:900}@keyframes modalFadeIn{from{opacity:0}to{opacity:1}}@keyframes modalFadeOut{from{opacity:1}to{opacity:0}}@keyframes modalPopIn{from{opacity:0;transform:scale(0.92) translateY(15px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes bounceIcon{from{transform:translateY(0)}to{transform:translateY(-4px)}}@media (max-width:640px){.modal-card-custom{padding:1.5rem 1.15rem;border-radius:18px}.modal-pago-icono-wrap{width:62px;height:62px;margin-bottom:0.9rem}.modal-pago-icono{font-size:1.9rem}}@media (max-width:340px){.modal-card-custom{padding:1.25rem 0.85rem}#modalPagoTitulo{font-size:1.15rem !important}}.biometric-upload-box{background:linear-gradient(180deg,#f0fdfa 0%,#ffffff 100%);border:2px solid #0f766e;border-radius:var(--radio-lg);padding:1.5rem;margin-bottom:1.75rem;box-shadow:0 4px 15px rgba(15,118,110,0.08)}.biometric-header{margin-bottom:1.15rem}.biometric-badge{display:inline-flex;align-items:center;gap:0.5rem;background:#0f766e;color:#ffffff;padding:0.35rem 0.85rem;border-radius:999px;font-size:0.82rem;font-weight:800;margin-bottom:0.65rem}.biometric-pulse{width:8px;height:8px;background:#4ade80;border-radius:50%;box-shadow:0 0 0 0 rgba(74,222,128,0.7);animation:pulseBio 1.5s infinite}@keyframes pulseBio{0%{transform:scale(0.95);box-shadow:0 0 0 0 rgba(74,222,128,0.7)}70%{transform:scale(1);box-shadow:0 0 0 7px rgba(74,222,128,0)}100%{transform:scale(0.95);box-shadow:0 0 0 0 rgba(74,222,128,0)}}.biometric-title{font-size:1.15rem;font-weight:800;color:#0f172a}.biometric-init-card{background:#ffffff;border:1.5px dashed #14b8a6;border-radius:var(--radio-md);padding:2rem 1.25rem;text-align:center;transition:var(--transicion)}.biometric-init-card:hover{border-color:#0f766e;background:#f0fdfa}.biometric-init-icon{font-size:2.8rem;margin-bottom:0.65rem;line-height:1}.biometric-init-title{font-size:1.15rem;font-weight:800;color:#0f172a;margin-bottom:0.35rem}.biometric-init-desc{font-size:0.88rem;color:#64748b;max-width:440px;margin:0 auto 1.25rem;line-height:1.5}.biometric-init-buttons{display:flex;flex-direction:column;align-items:center;gap:0.65rem}.biometric-camera-panel{background:#0f172a;border-radius:var(--radio-md);padding:1rem;color:#ffffff}.camera-stream-wrapper{position:relative;width:100%;max-width:520px;margin:0 auto;border-radius:14px;overflow:hidden;background:#000000}#bio-video{width:100%;height:auto;max-height:440px;object-fit:cover;transform:scaleX(-1);display:block}.camera-overlay-guides{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:space-around;padding:1rem}.face-guide-oval{width:170px;height:220px;border:2.5px dashed rgba(74,222,128,0.85);border-radius:50%;box-shadow:0 0 0 9999px rgba(15,23,42,0.45);display:flex;align-items:flex-start;justify-content:center;position:relative}.face-guide-tag{background:rgba(15,118,110,0.9);color:#ffffff;font-size:0.72rem;font-weight:800;padding:0.2rem 0.6rem;border-radius:999px;margin-top:0.5rem}.id-guide-box{width:210px;height:75px;border:2px dashed rgba(250,204,21,0.9);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-top:-0.5rem}.id-guide-tag{background:rgba(161,98,7,0.88);color:#ffffff;font-size:0.72rem;font-weight:800;padding:0.2rem 0.55rem;border-radius:999px}.camera-status-indicator{position:absolute;top:10px;left:50%;transform:translateX(-50%);background:rgba(15,23,42,0.85);color:#ffffff;font-size:0.76rem;font-weight:700;padding:0.35rem 0.75rem;border-radius:999px;display:flex;align-items:center;gap:0.45rem;backdrop-filter:blur(4px)}.status-dot{width:8px;height:8px;background:#ef4444;border-radius:50%;animation:statusBlink 1s infinite alternate}@keyframes statusBlink{from{opacity:0.4}to{opacity:1}}.camera-controls-bar{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-top:1rem;flex-wrap:wrap}.btn-disparador-bio{background:#14b8a6 !important;border-color:#14b8a6 !important;color:#ffffff !important;font-weight:800 !important;border-radius:999px !important;padding:0.75rem 1.75rem !important;display:inline-flex !important;align-items:center !important;gap:0.55rem !important;box-shadow:0 0 0 4px rgba(20,184,166,0.3) !important;transition:var(--transicion) !important}.btn-disparador-bio:hover{background:#0f766e !important;transform:scale(1.04)}.shutter-circle{width:14px;height:14px;background:#ffffff;border-radius:50%}.biometric-preview-card{background:#ffffff;border:2px solid #10b981;border-radius:var(--radio-md);padding:1.25rem;display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.bio-preview-img-wrap{position:relative;width:140px;height:140px;border-radius:14px;overflow:hidden;border:2px solid #10b981;flex-shrink:0}#bio-preview-img{width:100%;height:100%;object-fit:cover;display:block}.bio-verified-badge{position:absolute;bottom:0;left:0;right:0;background:rgba(16,185,129,0.95);color:#ffffff;font-size:0.68rem;font-weight:800;text-align:center;padding:0.2rem 0.35rem}.bio-preview-details{flex:1;min-width:220px}@media (max-width:640px){.biometric-upload-box{padding:1rem 0.85rem}.face-guide-oval{width:140px;height:180px}.id-guide-box{width:170px;height:60px}.bio-preview-img-wrap{width:100%;max-width:160px;height:160px;margin:0 auto}.biometric-preview-card{text-align:center;justify-content:center}}