body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}:root{--success-color:#fff}.login-container{background:linear-gradient(135deg,red,#c00 50%,#000);background:var(--gradient-primary);display:flex;flex-direction:row;min-height:100vh;overflow:hidden;position:relative}.login-container:before{animation:float 20s ease-in-out infinite;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' x='0' y='0' width='20' height='20' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='10' cy='10' r='1' fill='rgba(255,255,255,0.15)'/%3E%3Ccircle cx='5' cy='15' r='.5' fill='rgba(0,0,0,0.1)'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}.login-container:after{animation:particleFloat 15s ease-in-out infinite alternate;background:radial-gradient(circle at 20% 80%,#ff00001a 0,#0000 50%),radial-gradient(circle at 80% 20%,#0000000d 0,#0000 50%),radial-gradient(circle at 40% 40%,#ff000014 0,#0000 50%);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}@keyframes particleFloat{0%{opacity:.3;transform:translateY(0) rotate(0deg)}to{opacity:.6;transform:translateY(-10px) rotate(5deg)}}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(2deg)}}.login-branding{color:#fff;flex:1 1;flex-direction:column;padding:60px;position:relative;z-index:2}.gym-logo,.login-branding{align-items:center;display:flex;justify-content:center}.gym-logo{animation:logoPulse 3s ease-in-out infinite;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffffe6;border:6px solid #ff00004d;border-radius:50%;box-shadow:0 0 40px #ff00004d,inset 0 0 30px #fffc;filter:drop-shadow(0 12px 24px rgba(0,0,0,.4));height:180px;margin-bottom:40px;object-fit:contain;width:180px}@keyframes logoPulse{0%,to{border-color:#ff00004d;box-shadow:0 0 40px #ff00004d,inset 0 0 30px #fffc;transform:scale(1)}50%{border-color:#ff000080;box-shadow:0 0 60px #ff000080,inset 0 0 30px #fffc;transform:scale(1.05)}}.brand-title{animation:titleGlow 3s ease-in-out infinite alternate;color:#fff;font-size:48px;font-weight:800;letter-spacing:-1px;margin-bottom:15px;text-shadow:2px 2px 8px #0009,0 0 30px #ffffff4d;text-transform:uppercase}@keyframes titleGlow{0%{text-shadow:2px 2px 8px #0009,0 0 30px #ffffff4d}to{text-shadow:2px 2px 8px #0009,0 0 40px #ffffff80,0 0 60px #f003}}.brand-subtitle{font-size:24px;font-weight:300;margin-bottom:30px;opacity:.9}.brand-features{list-style:none;margin:0;padding:0}.brand-features li{align-items:center;display:flex;font-size:18px;margin-bottom:15px;opacity:.9}.brand-features li:before{align-items:center;animation:checkPulse 2s ease-in-out infinite;background:#fff;background:var(--success-color);border:2px solid #fffc;border-radius:50%;box-shadow:0 4px 12px #ffffff4d;color:red;color:var(--primary-color);content:"✓";display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;margin-right:15px;width:24px}@keyframes checkPulse{0%,to{border-color:#fffc;box-shadow:0 4px 12px #ffffff4d;transform:scale(1)}50%{border-color:#fff;box-shadow:0 6px 16px #ffffff80;transform:scale(1.1)}}.login-form-section{align-items:center;display:flex;flex:1 1;justify-content:center;padding:60px}.login-card,.login-form-section{background:#fff;background:var(--white);position:relative}.login-card{animation:slideInRight .8s ease-out;border:1px solid #ff00001a;border-radius:24px;box-shadow:0 30px 60px #ff000026,0 0 40px #ff00001a;box-shadow:0 30px 60px var(--shadow-medium),0 0 40px #ff00001a;max-width:450px;padding:50px;width:100%}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}.login-header{margin-bottom:40px;position:relative;text-align:center}.login-header:after{background:linear-gradient(90deg,red,#c00);background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:2px;bottom:-15px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.login-header h2{color:#000;color:var(--text-dark);font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0 0 10px}.login-header p{color:#666;color:var(--text-light);font-size:16px;font-weight:400;margin:0}.login-form{display:flex;flex-direction:column;gap:25px}.form-group{position:relative}.form-group label{margin-bottom:8px}.form-group input{background-color:#f8f9fa;border:2px solid #e8ecef;border-radius:16px;font-size:16px;font-weight:500;padding:18px 20px;transition:all .3s ease}.form-group input:focus{background-color:#fff;background-color:var(--white);box-shadow:0 0 0 4px #ff00001a;transform:translateY(-2px)}.form-group input::placeholder{color:#adb5bd;font-weight:400}.login-button{background:linear-gradient(135deg,red,#c00);background:var(--gradient-secondary);border:none;border-radius:16px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:1px;margin-top:15px;overflow:hidden;padding:18px 20px;position:relative;text-transform:uppercase;transition:all .3s ease}.login-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.login-button:hover:not(:disabled):before{left:100%}.login-button:hover:not(:disabled){box-shadow:0 15px 35px #f006;transform:translateY(-3px)}.login-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.error-message{animation:shake .5s ease-in-out;background:linear-gradient(135deg,#ff00001a,#ff00000d);border:1px solid #f003;border-radius:12px;color:red;color:var(--primary-color);font-size:14px;font-weight:600;padding:16px 20px}.login-footer{border-top:1px solid #e8ecef;margin-top:40px;padding-top:25px;text-align:center}.login-footer p{color:#666;color:var(--text-light);font-size:14px;margin:0}.register-link{color:red;color:var(--primary-color);cursor:pointer;font-weight:600;transition:all .3s ease}.register-link:hover{color:#000;color:var(--accent-color);text-decoration:underline}@media (max-width:768px){.login-container{flex-direction:column}.login-branding{min-height:40vh;padding:40px 20px}.brand-title{font-size:36px}.brand-subtitle{font-size:20px}}@media (max-width:480px){.login-branding{min-height:35vh}.login-branding,.login-form-section{padding:30px 20px}.login-card{padding:40px 30px}.brand-title{font-size:28px}.brand-subtitle{font-size:18px}.gym-logo{height:140px;margin-bottom:30px;width:140px}}@media (max-width:320px){.login-card{padding:30px 20px}.login-header h2{font-size:24px}.brand-features{display:none}}.dashboard-container{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);background:linear-gradient(135deg,var(--background-light) 0,#e8e8e8 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.dashboard-header{align-items:center;background:#fff;background:var(--white);border-bottom:1px solid #e5e7eb;box-shadow:0 4px 20px #ff00001a;box-shadow:0 4px 20px var(--shadow-light);display:flex;justify-content:space-between;padding:20px 40px}.header-brand{gap:15px}.header-logo{filter:drop-shadow(0 4px 8px rgba(255,0,0,.1));filter:drop-shadow(0 4px 8px var(--shadow-light));height:50px;width:50px}.brand-name{color:red;color:var(--primary-color);font-size:28px;font-weight:800}.brand-tagline{color:#666;color:var(--text-light);font-size:14px}.user-section{gap:30px}.header-left{align-items:center;display:flex;gap:15px}.header-left h1{color:#000;color:var(--text-dark);font-size:24px;margin:0}.role-badge{border-radius:20px;font-size:12px;font-weight:600;padding:6px 12px}.role-administrador{background:linear-gradient(135deg,red,#c00);background:var(--gradient-secondary);color:#fff;color:var(--white)}.role-entrenador{background:linear-gradient(135deg,red,#c00 50%,#000);background:var(--gradient-primary);color:#fff;color:var(--white)}.role-vendedor{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;color:var(--white)}.header-right{align-items:center;display:flex;gap:20px}.welcome-text{color:#666;color:var(--text-light);font-weight:500}.logout-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a52);padding:10px 20px;transition:all .3s ease}.logout-btn:hover{box-shadow:0 5px 15px #ff6b6b4d;transform:translateY(-2px)}.dashboard-main{margin:0 auto;max-width:1200px;padding:30px}.dashboard-admin h2,.dashboard-entrenador h2,.dashboard-vendedor h2{color:#000;color:var(--text-dark);font-size:28px;margin-bottom:30px;text-align:center}.stats-grid{grid-gap:20px;gap:20px;margin-bottom:40px}.stat-card{border-radius:15px;box-shadow:0 5px 20px #ff00001a;box-shadow:0 5px 20px var(--shadow-light);padding:30px;transition:transform .3s ease}.stat-card h3{font-size:16px;font-weight:500;margin:0 0 15px}.stat-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);-webkit-background-clip:text;background-clip:text;font-size:48px}.admin-actions,.entrenador-actions,.vendedor-actions{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:30px}.action-btn{border:none;border-radius:12px;cursor:pointer;font-size:16px;font-weight:600;padding:15px 25px;transition:all .3s ease}.action-btn.primary{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);color:#fff;color:var(--white)}.action-btn.primary:hover{box-shadow:0 8px 25px #ff000026;box-shadow:0 8px 25px var(--shadow-medium);transform:translateY(-2px)}.action-btn.secondary{background:#fff;background:var(--white);border:2px solid red;border:2px solid var(--primary-color);color:red;color:var(--primary-color)}.action-btn.secondary:hover{background:red;background:var(--primary-color);box-shadow:0 8px 25px #ff000026;box-shadow:0 8px 25px var(--shadow-medium);color:#fff;color:var(--white);transform:translateY(-2px)}.dashboard-admin .stat-card{border-left:4px solid red;border-left:4px solid var(--primary-color)}.dashboard-entrenador .stat-card{border-left:4px solid #f5576c}.dashboard-entrenador .action-btn.primary{background:linear-gradient(135deg,#f093fb,#f5576c)}.dashboard-entrenador .action-btn.secondary{border-color:#f5576c;color:#f5576c}.dashboard-entrenador .action-btn.secondary:hover{background:#f5576c}.dashboard-vendedor .stat-card{border-left:4px solid #4facfe}.dashboard-vendedor .action-btn.primary{background:linear-gradient(135deg,#4facfe,#00f2fe)}.dashboard-vendedor .action-btn.secondary{border-color:#4facfe;color:#4facfe}.dashboard-vendedor .action-btn.secondary:hover{background:#4facfe}.loading{color:#666;color:var(--text-light);font-size:18px;height:100vh}.quick-actions{background:#fff;background:var(--white);border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 4px 20px #ff00001a;box-shadow:0 4px 20px var(--shadow-light);margin-top:48px;padding:32px}.quick-actions h4{align-items:center;color:#000;color:var(--text-dark);display:flex;font-size:20px;font-weight:700;gap:12px;margin:0 0 24px}.quick-actions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.quick-action-card{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:24px;text-align:center;transition:all .3s ease}.quick-action-card:hover{background:linear-gradient(135deg,red,#000);background:linear-gradient(135deg,var(--primary-color) 0,var(--accent-color) 100%);border-color:red;border-color:var(--primary-color);box-shadow:0 8px 25px #ff00001a;box-shadow:0 8px 25px var(--shadow-light);color:#fff;color:var(--white);transform:translateY(-2px)}.quick-action-icon{font-size:28px;margin-bottom:8px}.quick-action-card span:last-child{font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.dashboard-loading{align-items:center;background:#f5f5f5;background:var(--background-light);display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{border:4px solid #e2e8f0}.dashboard-loading p{color:#666;color:var(--text-light);font-size:16px;font-weight:500}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:20px;padding:20px}.header-brand{justify-content:center}.brand-name{font-size:24px}.user-section{flex-direction:column;gap:20px;width:100%}.user-info{justify-content:center}.dashboard-content{padding:20px}.stats-container{gap:16px;grid-template-columns:1fr}.action-buttons{gap:12px;grid-template-columns:1fr}.quick-actions-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.quick-action-card{padding:16px}}@media (max-width:480px){.header-logo{height:40px;width:40px}.brand-name,.user-avatar{font-size:20px}.user-avatar{height:50px;width:50px}.user-details h2{font-size:18px}.dashboard-content{padding:16px}.stat-card{padding:24px}.stat-number{font-size:28px}.quick-actions-grid{grid-template-columns:1fr}.quick-actions{padding:24px}}.admin-panel{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);background:linear-gradient(135deg,var(--background-light) 0,#e8e8e8 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.admin-header{background:#fff;background:var(--white);border-bottom:2px solid red;border-bottom:2px solid var(--primary-color);box-shadow:0 2px 10px #ff00001a;justify-content:space-between;margin-bottom:20px;padding:16px 32px}.admin-header,.brand-section{align-items:center;display:flex}.brand-section{gap:12px}.brand-logo{filter:drop-shadow(0 2px 4px rgba(255,0,0,.2));height:64px;object-fit:contain;width:64px}.brand-name{color:#000}.user-avatar{background:var(--gradient-secondary);box-shadow:0 2px 8px #ff00004d}.btn-logout:hover{box-shadow:0 4px 12px #ff00004d}.admin-tabs{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;margin-bottom:30px;overflow-x:auto;padding:8px}.admin-tabs .tab{align-items:center;background:#0000;border:none;border-radius:8px;color:#999;color:var(--text-muted);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;letter-spacing:.5px;overflow:hidden;padding:14px 20px;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.admin-tabs .tab:before{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s cubic-bezier(.4,0,.2,1);z-index:-1}.admin-tabs .tab:hover{box-shadow:0 4px 12px #ff000026;color:red;color:var(--primary-color);transform:translateY(-2px)}.admin-tabs .tab:hover:before{opacity:.05}.admin-tabs .tab.active{background:linear-gradient(135deg,red,#c00);background:var(--gradient-secondary);box-shadow:0 4px 16px #ff00004d;color:#fff;color:var(--white);transform:translateY(-1px)}.admin-tabs .tab.active:before{opacity:0}.admin-tabs .tab-icon{align-items:center;display:flex;height:20px;justify-content:center;transition:transform .3s cubic-bezier(.4,0,.2,1);width:20px}.admin-tabs .tab:hover .tab-icon{transform:scale(1.1)}.admin-tabs .tab-text{font-weight:600;letter-spacing:.8px}.financial-summary{background:linear-gradient(135deg,red,#c00 50%,#000);background:var(--gradient-primary);border-radius:16px;color:#fff;margin-top:2rem;padding:1.5rem}.financial-summary h3{font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.financial-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.financial-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:1.5rem;text-align:center}.financial-card h4{font-size:1rem;font-weight:500;margin:0 0 .5rem;opacity:.9}.financial-card .amount{font-size:1.5rem;font-weight:700;margin:0}.financial-card .amount.positive{color:#4ade80}.financial-card .amount.negative{color:#f87171}.admin-content{background:#fff;background:var(--white);border-radius:0;box-shadow:none;margin:0;min-height:calc(100vh - 140px);padding:40px}.admin-dashboard h2{align-items:center;color:#000;color:var(--text-dark);display:flex;font-size:24px;font-weight:700;gap:12px;margin:0 0 32px}.stats-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:0}.stat-card{background:#fff!important;box-shadow:0 2px 8px #00000014;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{box-shadow:0 8px 25px #ff000026;box-shadow:0 8px 25px var(--shadow-medium)}.stat-header{align-items:center;display:flex;gap:12px;margin-bottom:20px}.stat-icon{height:48px;width:48px}.admin-dashboard .stat-icon,.stat-card .stat-header .stat-icon,.stat-card .stat-icon,.stat-icon,.stats-grid .stat-icon{background:linear-gradient(135deg,red,#c00)!important;background:var(--gradient-secondary)!important;color:#fff!important;color:var(--white)!important}.admin-dashboard .stats-grid .stat-card .stat-header .stat-icon,.stat-icon,[class*=stat-icon],div[class=stat-icon]{background:linear-gradient(135deg,red,#c00)!important;color:#fff!important}.stat-card h3{color:#000;color:var(--text-dark);font-size:14px;margin:0}.stat-content{align-items:flex-end;justify-content:space-between}.stat-number{color:#000;color:var(--text-dark);line-height:1;margin:0}.stat-chart{flex-shrink:0}.mini-chart{align-items:flex-end;display:flex;gap:3px;height:40px;width:60px}.chart-bar{background:linear-gradient(135deg,red,#c00);background:var(--gradient-secondary);border-radius:4px 4px 0 0;opacity:.8;width:8px}.stat-card:hover .chart-bar{opacity:1;transform:scaleY(1.1)}.usuarios-table{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.usuario-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 10px #0000000d;transition:transform .2s ease}.usuario-card:hover{box-shadow:0 4px 20px #0000001a}.rol-badge{border-radius:15px;display:inline-block;font-size:.8rem;font-weight:700;margin-right:10px;padding:4px 12px}.rol-administrador{background:linear-gradient(135deg,red,#c00);background:var(--gradient-secondary);color:#fff}.rol-entrenador{background:linear-gradient(135deg,#fff,#f8fafc);background:linear-gradient(135deg,var(--white) 0,#f8fafc 100%);border:1px solid #e2e8f0;color:#000;color:var(--text-dark)}.rol-vendedor{background:linear-gradient(135deg,red,#c00 50%,#000);background:var(--gradient-primary);color:#fff}.status-badge{border-radius:15px;font-size:.8rem;padding:4px 12px}.status-badge.activo{background:#48bb78;color:#fff}.status-badge.inactivo{background:#f56565;color:#fff}.reportes-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.reporte-card{background:linear-gradient(135deg,red,#c00 50%,#000);background:var(--gradient-primary);border-radius:15px;color:#fff;padding:25px;text-align:center}.reporte-value{font-size:2rem;font-weight:700;margin-top:10px}.vendedores-ranking{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px}.vendedor-item{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:15px 0}.vendedor-item:last-child{border-bottom:none}.vendedor-total{color:#48bb78;font-weight:700}.equipos-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:20px}.equipo-card{border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 10px #0000000d;padding:20px}.estado-badge{border-radius:15px;margin-top:10px}.estado-excelente{background:#48bb78;color:#fff}.estado-bueno{background:#38b2ac;color:#fff}.estado-regular{background:#ed8936;color:#fff}.estado-malo{background:#f56565;color:#fff}.estado-fuera-de-servicio{background:#a0aec0;color:#fff}.promociones-list{display:flex;flex-direction:column;gap:20px;margin-top:20px}.promocion-card{border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 10px #0000000d;padding:20px}.promocion-details{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-top:15px}.descuento{background:linear-gradient(135deg,#fff,#f8fafc);background:linear-gradient(135deg,var(--white) 0,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:15px;color:#000;color:var(--text-dark);font-weight:700;padding:6px 12px}.fechas{color:#666;font-size:.9rem}.status.activa{background:#48bb78}.status.activa,.status.inactiva{border-radius:15px;color:#fff;font-size:.8rem;padding:4px 12px}.status.inactiva{background:#a0aec0}.btn-primary{background:var(--gradient-secondary);border-radius:25px;font-weight:700;margin-bottom:20px;padding:12px 24px}.btn-primary:hover{box-shadow:0 4px 15px #667eea66}.btn-logout{border-radius:6px;font-weight:500;margin-left:15px;padding:8px 16px}.btn-logout:hover{background:linear-gradient(135deg,#c00,red);background:linear-gradient(135deg,var(--secondary-color) 0,var(--primary-color) 100%)}.btn-logout:active{transform:translateY(0)}.user-info{gap:10px}.user-name,.user-role{font-weight:500}.user-role{background:linear-gradient(135deg,red,#c00);background:var(--gradient-secondary);border-radius:20px;color:#fff;font-size:12px;padding:4px 12px}.loading{color:#667eea;padding:40px;text-align:center}.no-data{background:#f7fafc;border:2px dashed #e2e8f0;border-radius:10px;color:#a0aec0;font-style:italic;padding:40px}@media (max-width:768px){.admin-header{flex-direction:column;gap:20px;padding:20px}.brand-section{justify-content:center}.brand-name{font-size:24px}.user-section{flex-direction:column;gap:20px;width:100%}.admin-tabs,.user-info{justify-content:center}.admin-tabs{padding:0 20px}.tab{font-size:12px;padding:16px 20px}.tab-icon{font-size:14px}.admin-content{padding:20px}.stats-grid,.usuarios-table{gap:16px;grid-template-columns:1fr}}@media (max-width:480px){.admin-logo{height:40px;width:40px}.brand-name{font-size:20px}.user-avatar{height:40px;width:40px}.user-icon{font-size:16px}.admin-content{padding:16px}.stat-card{padding:24px}.stat-number{font-size:28px}.usuario-card{padding:20px}.admin-tabs{padding:0 16px}.tab{flex-direction:column;gap:4px;padding:12px 16px}.tab-text{font-size:11px}}.admin-usuarios{background:#fff;background:var(--white);border-radius:16px;box-shadow:0 2px 8px #00000014;padding:32px}.usuarios-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:20px}.usuarios-header h2{color:#000;color:var(--text-dark);font-size:24px;font-weight:700;margin:0}.btn-create-user{align-items:center;background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border:none;border-radius:8px;color:#fff;color:var(--white);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;letter-spacing:.5px;padding:12px 20px;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-create-user:hover{box-shadow:0 8px 20px #2563eb4d;transform:translateY(-2px)}.usuarios-table-container{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px #0000000d;min-width:800px;overflow-x:auto}.usuarios-table{border-collapse:collapse;min-width:800px!important}.usuarios-table,.usuarios-table-fixed{table-layout:fixed!important;width:100%!important}.usuarios-table-fixed{display:table!important}.usuarios-table-fixed th:first-child{width:240px!important}.usuarios-table-fixed th:nth-child(2){width:200px!important}.usuarios-table-fixed th:nth-child(3){width:160px!important}.usuarios-table-fixed th:nth-child(4){width:120px!important}.usuarios-table-fixed th:nth-child(5){width:80px!important}.usuarios-table-fixed td:first-child{width:240px!important}.usuarios-table-fixed td:nth-child(2){width:200px!important}.usuarios-table-fixed td:nth-child(3){width:160px!important}.usuarios-table-fixed td:nth-child(4){width:120px!important}.usuarios-table-fixed td:nth-child(5){width:80px!important}.usuarios-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.usuarios-table th{color:#000;color:var(--text-dark);font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px 20px;text-align:left;text-transform:uppercase}.usuarios-table td:first-child,.usuarios-table th:first-child{min-width:200px;width:30%!important}.usuarios-table td:nth-child(2),.usuarios-table th:nth-child(2){min-width:180px;width:25%!important}.usuarios-table td:nth-child(3),.usuarios-table th:nth-child(3){min-width:140px;width:20%!important}.usuarios-table td:nth-child(4),.usuarios-table th:nth-child(4){min-width:120px;width:15%!important}.usuarios-table td:nth-child(5),.usuarios-table th:nth-child(5){min-width:100px;width:10%!important}.usuario-row{border-bottom:1px solid #f1f5f9;transition:all .2s ease}.usuario-row:hover{background:#f8fafc}.usuario-row:last-child{border-bottom:none}.usuarios-table td{overflow:hidden;padding:16px 20px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.usuario-cell-info{align-items:center;display:flex;gap:12px;overflow:visible;white-space:normal}.usuario-avatar-small{border-radius:50%;flex-shrink:0;height:40px;overflow:hidden;width:40px}.usuario-avatar-small img{height:100%;object-fit:cover;width:100%}.avatar-placeholder-small{align-items:center;background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);color:#fff;color:var(--white);display:flex;height:100%;justify-content:center;width:100%}.usuario-nombre-table{color:#000;color:var(--text-dark);flex:1 1;font-size:15px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usuario-email-table,.usuario-telefono-table{color:#999;color:var(--text-muted);font-size:14px}.rol-badge-table{border-radius:20px;color:#fff;color:var(--white);display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.rol-badge-table.rol-administrador{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%)}.rol-badge-table.rol-vendedor{background:linear-gradient(135deg,red,#c00 50%,#000);background:var(--gradient-primary)}.rol-badge-table.rol-kinesiologo{background:linear-gradient(135deg,#10b981,#059669)}.rol-badge-table.rol-entrenador{background:linear-gradient(135deg,#000,#333);background:linear-gradient(135deg,var(--accent-color) 0,#333 100%)}.rol-badge-table.rol-cliente{background:linear-gradient(135deg,#6b7280,#4b5563)}.usuario-actions-table{align-items:center;display:flex;gap:8px;justify-content:center}.usuario-rol-table{text-align:center}.btn-credential-table,.btn-delete-user-table{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.btn-credential-table{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;color:var(--white)}.btn-credential-table:hover{box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}.btn-delete-user-table{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;color:var(--white)}.btn-delete-user-table:hover{box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.loading-state{align-items:center;color:#999;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner{border:3px solid #e2e8f0;border-top:3px solid var(--primary-color);margin-bottom:16px}@media (max-width:768px){.usuarios-table-container{overflow-x:auto}.usuarios-table{min-width:600px}.usuarios-table td,.usuarios-table th{padding:12px 16px}.usuario-avatar-small{height:32px;width:32px}.usuario-nombre-table{font-size:14px}.usuario-email-table,.usuario-telefono-table{font-size:13px}.rol-badge-table{font-size:10px;padding:3px 8px}.btn-credential-table,.btn-delete-user-table{height:32px;width:32px}}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.empty-state svg{margin-bottom:20px;opacity:.5}.empty-state h3{color:#000;color:var(--text-dark);font-size:18px;font-weight:600;margin:0 0 8px}.empty-state p{font-size:14px;margin:0}.modal-overlay{animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.modal-content{animation:slideUp .3s ease-out;border-radius:16px;max-width:500px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:24px 32px 20px}.modal-header h2{align-items:center;color:#000;color:var(--text-dark);display:flex;font-size:20px;font-weight:700;gap:12px;margin:0}.modal-header h2:before{content:"👤";font-size:24px}.modal-close{background:#f1f5f9;color:#999;height:36px;transition:all .2s ease;width:36px}.modal-close:hover{background:#e2e8f0;color:#000;color:var(--text-dark);transform:scale(1.05)}.user-form{display:flex;flex-direction:column;gap:24px;padding:32px}.form-group{gap:8px}.form-group input,.form-group select{background:#fff;background:var(--white);border:2px solid #e2e8f0;border-radius:8px;color:#000;color:var(--text-dark);font-family:inherit;font-size:14px;padding:14px 16px;transition:all .2s ease}.form-group input:focus,.form-group select:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-group input::placeholder{color:#999;color:var(--text-muted)}.form-row{grid-gap:20px;gap:20px}.file-upload{position:relative}.file-upload input[type=file]{cursor:pointer;height:100%;opacity:0;position:absolute;width:100%}.file-upload-label{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:8px;color:#999;color:var(--text-muted);cursor:pointer;display:flex;font-size:14px;gap:12px;padding:14px 16px;transition:all .2s ease}.file-upload-label:hover{background:#2563eb0d;border-color:red;border-color:var(--primary-color);color:red;color:var(--primary-color)}.modal-actions{padding-top:20px}.btn-cancel{background:#fff;background:var(--white);border:2px solid #e2e8f0;border-radius:8px;color:#999;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .2s ease}.btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1;color:#000;color:var(--text-dark)}.btn-submit{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border:none;border-radius:8px;color:#fff;color:var(--white);cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;min-width:140px;padding:12px 24px;text-transform:uppercase;transition:all .2s ease}.btn-submit:hover{box-shadow:0 8px 20px #2563eb4d;transform:translateY(-1px)}.btn-submit:active{transform:translateY(0)}@media (max-width:640px){.modal-content{margin:20px;width:95%}.modal-header{padding:20px 24px 16px}.user-form{gap:20px;padding:24px}.form-row{gap:16px;grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{justify-content:center;width:100%}}.admin-equipos{display:flex;flex-direction:column;gap:2rem}.equipos-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.equipos-header h2{color:#000;color:var(--text-dark);font-size:2rem;font-weight:700;margin:0}.equipos-filters{background:#fff;background:var(--white);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 10px #ff00001a;box-shadow:0 2px 10px var(--shadow-light);padding:1.5rem}.filter-group{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr}.search-input{border:2px solid #e5e7eb;font-size:1rem;padding:.75rem 1rem;transition:border-color .3s ease}.search-input:focus{box-shadow:0 0 0 3px #2563eb1a}.filter-select{background:var(--white);border:2px solid #e5e7eb;font-size:1rem;padding:.75rem 1rem;transition:border-color .3s ease}.filter-select:focus{box-shadow:0 0 0 3px #2563eb1a}.equipos-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.equipo-card{background:#fff;background:var(--white);border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #ff00001a;box-shadow:0 4px 20px var(--shadow-light);padding:2rem;position:relative;transition:all .3s ease}.equipo-card:hover{box-shadow:0 8px 30px #ff000026;box-shadow:0 8px 30px var(--shadow-medium);transform:translateY(-4px)}.equipo-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.equipo-header h4{color:#000;color:var(--text-dark);flex:1 1;font-size:1.4rem;font-weight:700;margin:0}.estado-operativo{background:#dcfce7;color:#166534}.estado-mantenimiento{background:#fef3c7;color:#92400e}.estado-reparacion{background:#fee2e2;color:#dc2626}.estado-fuera-servicio{background:#f3f4f6;color:#374151}.equipo-info{margin-bottom:1.5rem}.equipo-info p{color:#666;color:var(--text-light);font-size:.95rem;margin:.5rem 0}.equipo-info strong{color:#000;color:var(--text-dark);font-weight:600}.equipo-mantenimiento{background:#f8fafc;border-left:4px solid #f59e0b;border-left:4px solid var(--warning-color);border-radius:8px;margin-bottom:1rem;padding:1rem}.equipo-mantenimiento h5{color:#000;color:var(--text-dark);font-size:1rem;font-weight:600;margin:0 0 .5rem}.equipo-mantenimiento p{color:#666;color:var(--text-light);font-size:.9rem;margin:.25rem 0}.equipo-descripcion{background:#f9fafb;border-left:4px solid red;border-left:4px solid var(--primary-color);border-radius:8px;margin-bottom:1rem;padding:1rem}.equipo-descripcion p:first-child{color:#000;color:var(--text-dark);font-weight:600;margin:0 0 .5rem}.equipo-descripcion p:last-child{color:#666;color:var(--text-light);font-size:.9rem;line-height:1.5;margin:0}.equipo-actions{border-top:1px solid #e5e7eb;display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem}.btn-edit{align-items:center;background:red;background:var(--primary-color);border:none;border-radius:8px;color:#fff;color:var(--white);cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .3s ease}.btn-edit:hover{background:#c00;background:var(--secondary-color);transform:translateY(-1px)}.btn-delete{align-items:center;background:#ef4444;background:var(--error-color);border:none;border-radius:8px;color:#fff;color:var(--white);cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .3s ease}.btn-delete:hover{background:#dc2626;transform:translateY(-1px)}.equipo-modal{max-height:90vh;max-width:800px;overflow-y:auto}.equipo-modal h3{color:#000;color:var(--text-dark);font-size:1.8rem;font-weight:700;margin:0 0 2rem;text-align:center}.form-grid{grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.form-group.full-width{grid-column:1/-1}.form-group label{color:#000;font-size:.95rem}.form-group input,.form-group select,.form-group textarea{border:2px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #2563eb1a}.form-group textarea{min-height:80px}.mantenimiento-section{background:#f8fafc;border-left:4px solid #f59e0b;border-left:4px solid var(--warning-color);border-radius:12px;margin:2rem 0;padding:2rem}.mantenimiento-section h4{color:#000;color:var(--text-dark);font-size:1.3rem;font-weight:700;margin:0 0 1.5rem}.modal-actions{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.btn-secondary{background:#000;background:var(--accent-color);font-size:1rem;padding:.75rem 2rem;transition:all .3s ease}.btn-secondary:hover{background:#333}@media (max-width:768px){.equipos-header{align-items:stretch;flex-direction:column;gap:1rem}.filter-group{gap:1rem}.equipos-grid,.filter-group{grid-template-columns:1fr}.equipo-actions{flex-direction:column}.form-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.admin-promociones{display:flex;flex-direction:column;gap:2rem}.promociones-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.promociones-header h2{color:#000;color:var(--text-dark);font-size:2rem;font-weight:700;margin:0}.promociones-filters{background:#fff;background:var(--white);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 10px #ff00001a;box-shadow:0 2px 10px var(--shadow-light);padding:1.5rem}.promociones-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(450px,1fr))}.promocion-card{background:#fff;background:var(--white);border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px #ff00001a;box-shadow:0 4px 20px var(--shadow-light);overflow:hidden;padding:2rem;position:relative;transition:all .3s ease}.promocion-card:hover{box-shadow:0 8px 30px #ff000026;box-shadow:0 8px 30px var(--shadow-medium);transform:translateY(-4px)}.promocion-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.promocion-header h4{color:#000;color:var(--text-dark);flex:1 1;font-size:1.4rem;font-weight:700;margin:0 1rem 0 0}.promocion-badges{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.estado-badge{font-size:.8rem;padding:.4rem .8rem}.estado-badge.activa{background:#dcfce7;color:#166534}.estado-badge.inactiva{background:#fee2e2;color:#dc2626}.vigencia-badge{border-radius:12px;font-size:.75rem;font-weight:500;padding:.3rem .6rem}.vigencia-badge.vigente{background:#ff00001a;color:red;color:var(--primary-color)}.vigencia-badge.vencida{background:#fef3c7;color:#92400e}.descripcion,.promocion-info{margin-bottom:1.5rem}.descripcion{color:#666;color:var(--text-light);font-size:1rem;line-height:1.5}.promocion-detalles{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.detalle-item{background:#f8fafc;padding:.75rem}.detalle-item strong{color:#000;font-size:.9rem}.valor-descuento{color:red;color:var(--primary-color);font-size:1.2rem;font-weight:700}.codigo-promo{background:#e5e7eb;border-radius:4px;color:#000;color:var(--text-dark);font-family:Courier New,monospace;font-weight:600;padding:.25rem .5rem}.aplicable-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:red;background:var(--primary-color);border-radius:12px;color:#fff;color:var(--white);font-size:.8rem;font-weight:500;padding:.25rem .5rem}.condiciones,.limites-uso{background:#f9fafb;border-left:4px solid #f59e0b;border-left:4px solid var(--warning-color);border-radius:8px;margin-bottom:1rem;padding:1rem}.condiciones h5,.limites-uso h5{color:#000;color:var(--text-dark);font-size:1rem;font-weight:600;margin:0 0 .5rem}.condiciones p,.limites-uso p{color:#666;color:var(--text-light);font-size:.9rem;margin:.25rem 0}.promocion-actions{border-top:1px solid #e5e7eb;display:flex;gap:.5rem;margin-top:1.5rem;padding-top:1rem}.btn-toggle{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:.85rem;font-weight:600;gap:.3rem;justify-content:center;padding:.6rem .8rem;transition:all .3s ease}.btn-activate{background:#00c851;background:var(--success-color);color:#fff;color:var(--white)}.btn-activate:hover{background:#059669;transform:translateY(-1px)}.btn-deactivate{background:#f59e0b;background:var(--warning-color);color:#fff;color:var(--white)}.btn-deactivate:hover{background:#d97706;transform:translateY(-1px)}.promocion-modal{max-height:90vh;max-width:900px;overflow-y:auto}.promocion-modal h3{color:#000;color:var(--text-dark);font-size:1.8rem;font-weight:700;margin:0 0 2rem;text-align:center}.codigo-input-group{display:flex;gap:.5rem}.codigo-input-group input{flex:1 1}.btn-generar-codigo{background:#000;background:var(--accent-color);border:none;border-radius:8px;color:#fff;color:var(--white);cursor:pointer;font-size:1rem;padding:.75rem;transition:all .3s ease}.btn-generar-codigo:hover{background:red;background:var(--primary-color);transform:scale(1.05)}.aplicable-section,.limites-section{background:#f8fafc;border-left:4px solid red;border-left:4px solid var(--primary-color);border-radius:12px;margin:2rem 0;padding:2rem}.aplicable-section h4,.limites-section h4{color:#000;color:var(--text-dark);font-size:1.3rem;font-weight:700;margin:0 0 1.5rem}.checkbox-group{display:flex;flex-wrap:wrap;gap:2rem}.checkbox-item{align-items:center;color:#000;color:var(--text-dark);cursor:pointer;display:flex;font-weight:500;gap:.5rem}.checkbox-item input[type=checkbox]{accent-color:red;accent-color:var(--primary-color);height:18px;width:18px}.estado-checkbox{background:#ff00000d;border:2px solid #f003;border-radius:8px;justify-content:center;padding:1rem}.estado-checkbox span{font-size:1.1rem;font-weight:600}@media (max-width:768px){.promociones-header{align-items:stretch;flex-direction:column;gap:1rem}.promociones-grid{grid-template-columns:1fr}.promocion-header{align-items:stretch;flex-direction:column;gap:1rem}.promocion-badges{flex-direction:row;justify-content:space-between}.detalle-item{align-items:flex-start;gap:.5rem}.checkbox-group,.detalle-item,.promocion-actions{flex-direction:column}.checkbox-group{gap:1rem}.codigo-input-group{flex-direction:column}}.admin-configuracion{padding:0}.configuracion-header{margin-bottom:32px}.configuracion-header h2{color:#000;color:var(--text-dark);font-size:28px;font-weight:700;margin:0 0 8px}.configuracion-header .subtitle{color:#666;color:var(--text-light);font-size:16px;margin:0}.configuracion-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:32px}.config-section{background:#fff;background:var(--white);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.section-header{border-bottom:2px solid #f3f4f6;margin-bottom:20px;padding-bottom:12px}.section-header h3{font-size:18px;font-weight:600}.btn-small{font-size:12px}.estadisticas-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.estadistica-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;transition:all .2s ease}.estadistica-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.estadistica-icon{font-size:24px;margin-bottom:8px}.estadistica-info{display:flex;flex-direction:column;gap:4px}.estadistica-label{color:#666;color:var(--text-light);font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.estadistica-valor{color:#000;color:var(--text-dark);font-size:20px;font-weight:700}.estadistica-barra{background:#e2e8f0;border-radius:3px;height:6px;margin-top:8px;overflow:hidden;width:100%}.estadistica-progreso{height:100%;transition:width .3s ease}.estadistica-barra.normal .estadistica-progreso{background:linear-gradient(90deg,#10b981,#059669)}.estadistica-barra.advertencia .estadistica-progreso{background:linear-gradient(90deg,#f59e0b,#d97706)}.estadistica-barra.critica .estadistica-progreso{background:linear-gradient(90deg,#ef4444,#dc2626)}.config-form{display:flex;flex-direction:column;gap:16px}.config-form .form-group{display:flex;flex-direction:column;gap:6px}.config-form .form-group label{color:#000;color:var(--text-dark);font-size:13px;font-weight:600}.config-form .form-group input,.config-form .form-group select{border:2px solid #e5e7eb;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s ease}.config-form .form-group input:focus,.config-form .form-group select:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a;outline:none}.config-form .form-group input:disabled,.config-form .form-group select:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.config-form .form-group small{color:#666;color:var(--text-light);font-size:12px;margin-top:4px}.sistema-info{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.info-item{border-bottom:1px solid #f3f4f6;justify-content:space-between;padding:8px 0}.info-item:last-child{border-bottom:none}.info-label{color:#666;color:var(--text-light);font-size:14px}.info-valor{color:#000;color:var(--text-dark);font-size:14px;font-weight:600}.info-valor.estado.operativo{color:#059669}.info-valor.estado.mantenimiento{color:#d97706}.configuracion-actions{border-top:2px solid #f3f4f6;display:flex;justify-content:center;padding:24px 0}.configuracion-actions .btn-primary{font-size:16px;font-weight:600;padding:12px 32px}.sistema-danger-zone{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fecaca;border-left:4px solid #ef4444;border-radius:8px;margin-top:24px;padding:20px}.danger-title{align-items:center;color:#dc2626;display:flex;font-size:16px;font-weight:700;gap:8px;margin:0 0 8px}.danger-description{color:#991b1b;font-size:14px;line-height:1.5;margin:0 0 16px}.btn-danger{align-items:center;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.btn-danger:disabled{cursor:not-allowed;opacity:.6;transform:none}.modal-danger{border:3px solid #ef4444;max-width:600px}.modal-danger .modal-header{background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:8px 8px 0 0;color:#fff;padding:16px 24px}.modal-danger .modal-header h3{font-size:18px;font-weight:700;margin:0}.modal-danger .modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background .2s ease;width:30px}.modal-danger .modal-close:hover{background:#fff3}.danger-warning{background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:8px;display:flex;gap:16px;margin-bottom:24px;padding:16px}.warning-icon{flex-shrink:0;font-size:32px}.warning-content h4{color:#dc2626;font-size:16px;font-weight:700;margin:0 0 12px}.warning-content p{color:#991b1b;line-height:1.5;margin:0 0 12px}.warning-content ul{list-style:none;margin:0 0 12px;padding-left:0}.warning-content li{color:#991b1b;margin-bottom:4px;padding-left:16px;position:relative}.warning-note{background:#fbbf24;border-radius:4px;color:#92400e;font-size:13px;margin-top:12px!important;padding:8px 12px}.password-section{margin-bottom:20px}.password-section label{color:#374151;display:block;font-weight:600;margin-bottom:8px}.password-input{border:2px solid #d1d5db;border-radius:6px;font-size:14px;padding:12px;transition:border-color .2s ease;width:100%}.password-input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a;outline:none}.confirmation-text{margin-bottom:24px}.confirmation-text p{color:#374151;font-weight:600;margin:0 0 8px}.confirmation-input{border:2px solid #d1d5db;border-radius:6px;font-family:monospace;font-size:14px;padding:12px;text-transform:uppercase;transition:border-color .2s ease;width:100%}.confirmation-input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a;outline:none}.btn-confirm-danger{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-confirm-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.btn-confirm-danger:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}@media (max-width:768px){.configuracion-grid,.form-row{grid-template-columns:1fr}.estadisticas-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.section-header{align-items:stretch;flex-direction:column;gap:12px}.modal-danger{margin:20px;max-width:95%}.danger-warning{flex-direction:column;text-align:center}.warning-icon{align-self:center}}:root{--finanzas-primary:red;--finanzas-secondary:#c00;--finanzas-accent:#ff4757;--background-light:#f5f5f5;--text-dark:#000;--text-light:#666;--text-muted:#999;--shadow-light:#ff00001a;--shadow-medium:#ff000026;--shadow-strong:#ff000040;--gradient-primary:linear-gradient(135deg,red,#c00 50%,#000);--gradient-secondary:linear-gradient(135deg,red,#c00)}.finanzas-panel{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);background:linear-gradient(135deg,var(--background-light) 0,#e8e8e8 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.finanzas-panel.no-header{background:#0000;min-height:auto}.finanzas-panel.no-header .panel-nav{margin-bottom:0}.brand-title{color:#000}.brand-subtitle{color:#999}.user-avatar{background:linear-gradient(135deg,var(--finanzas-primary) 0,var(--finanzas-secondary) 100%)}.user-name{color:#000}.user-role{color:#999}.btn-logout{background:linear-gradient(135deg,var(--finanzas-primary) 0,var(--finanzas-secondary) 100%)}.btn-logout:hover{box-shadow:0 4px 12px #0596694d}.nav-tab.active,.nav-tab:hover{color:var(--finanzas-primary)}.nav-tab.active{border-bottom-color:var(--finanzas-primary)}.dashboard-finanzas{display:flex;flex-direction:column;gap:2rem}.stats-grid-dashboard{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.stat-card-dashboard{align-items:center;background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;gap:1.25rem;overflow:hidden;padding:1.75rem;position:relative;transition:all .3s ease}.stat-card-dashboard:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-3px)}.stat-card-dashboard.ingresos-card{border-left:4px solid #c00;border-left:4px solid var(--finanzas-secondary)}.stat-card-dashboard.gastos-card{border-left:4px solid #ef4444;border-left:4px solid var(--error-color)}.stat-card-dashboard.utilidad-card.positive{border-left:4px solid red;border-left:4px solid var(--finanzas-primary)}.stat-card-dashboard.utilidad-card.negative{border-left:4px solid #ef4444;border-left:4px solid var(--error-color)}.stat-icon{height:64px;width:64px}.ingresos-card .stat-icon{background:linear-gradient(135deg,#ff00001a,#cc000026)}.ingresos-card .stat-icon svg{stroke:#c00;stroke:var(--finanzas-secondary)}.gastos-card .stat-icon{background:linear-gradient(135deg,#ef44441a,#dc262626)}.gastos-card .stat-icon svg{stroke:#ef4444;stroke:var(--error-color)}.utilidad-card.positive .stat-icon{background:linear-gradient(135deg,#ff00001a,#cc000026)}.utilidad-card.positive .stat-icon svg{stroke:red;stroke:var(--finanzas-primary)}.utilidad-card.negative .stat-icon{background:linear-gradient(135deg,#ef44441a,#dc262626)}.utilidad-card.negative .stat-icon svg{stroke:#ef4444;stroke:var(--error-color)}.stat-content{flex:1 1;gap:.5rem}.stat-label{color:#999;font-size:.75rem;font-weight:700;letter-spacing:1px}.stat-value{color:#000;font-weight:800;line-height:1}.ingresos-card .stat-value{color:#c00;color:var(--finanzas-secondary)}.gastos-card .stat-value{color:#ef4444;color:var(--error-color)}.utilidad-card.positive .stat-value{color:red;color:var(--finanzas-primary)}.utilidad-card.negative .stat-value{color:#ef4444;color:var(--error-color)}.recent-transactions-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.transactions-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.transactions-header{background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0;padding:1.5rem}.transactions-header h4{align-items:center;color:#000;color:var(--text-dark);display:flex;font-size:1.1rem;font-weight:700;margin:0}.transactions-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;padding:1rem}.transaction-item{align-items:center;background:#f8fafc;border-left:3px solid #0000;border-radius:10px;display:flex;justify-content:space-between;padding:1rem;transition:all .2s ease}.transaction-item:hover{background:#f1f5f9;transform:translateX(3px)}.transaction-item.ingreso-item{border-left-color:#c00;border-left-color:var(--finanzas-secondary)}.transaction-item.gasto-item{border-left-color:#ef4444;border-left-color:var(--error-color)}.transaction-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.transaction-concept{color:#000;color:var(--text-dark);font-size:.95rem;font-weight:600}.transaction-date{color:#999;color:var(--text-muted);font-size:.8rem}.transaction-amount{font-size:1.1rem;font-weight:700;white-space:nowrap}.transaction-amount.positive{color:#c00;color:var(--finanzas-secondary)}.transaction-amount.negative{color:#ef4444;color:var(--error-color)}.empty-state{color:#999;font-size:.95rem;padding:2rem}.stat-card{overflow:hidden;padding:2rem;position:relative}.stat-card:hover{transform:translateY(-5px)}.stat-card.ingresos{border-left:4px solid #c00;border-left:4px solid var(--finanzas-secondary)}.stat-card.gastos{border-left:4px solid #ef4444;border-left:4px solid var(--error-color)}.stat-card.utilidad.positive{border-left:4px solid red;border-left:4px solid var(--finanzas-primary)}.stat-card.utilidad.negative{border-left:4px solid #ef4444;border-left:4px solid var(--error-color)}.stat-card h3{color:#666;color:var(--text-light);font-size:1.1rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.stat-card .amount{color:#000;color:var(--text-dark);font-size:2.2rem;font-weight:700;margin:0}.stat-card.ingresos .amount{color:#c00;color:var(--finanzas-secondary)}.stat-card.gastos .amount{color:#ef4444;color:var(--error-color)}.stat-card.utilidad.positive .amount{color:red;color:var(--finanzas-primary)}.stat-card.utilidad.negative .amount{color:#ef4444;color:var(--error-color)}.charts-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.chart-container{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:2rem}.chart-container h4{color:#000;color:var(--text-dark);font-size:1.3rem;font-weight:600;margin:0 0 1.5rem}.recent-list{display:flex;flex-direction:column;gap:1rem}.recent-item{align-items:center;background:#f8fafc;border-left:4px solid red;border-left:4px solid var(--finanzas-primary);border-radius:12px;display:flex;justify-content:space-between;padding:1rem}.recent-item .amount{color:red;color:var(--finanzas-primary);font-weight:600}.section-header{margin-bottom:2rem}.section-header h3{color:#000;color:var(--text-dark);font-size:1.8rem;font-weight:700;margin:0}.btn-primary{background:linear-gradient(135deg,var(--finanzas-primary),var(--finanzas-secondary));font-size:1rem}.form-modal{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.finance-form{background:#fff;background:var(--white);border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:100%}.finance-form h4{color:#000;color:var(--text-dark);font-size:1.5rem;font-weight:700;margin:0 0 1.5rem;text-align:center}.finance-form input,.finance-form select,.finance-form textarea{border:2px solid #e2e8f0;border-radius:12px;box-sizing:border-box;font-size:1rem;margin-bottom:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.finance-form input:focus,.finance-form select:focus,.finance-form textarea:focus{border-color:red;border-color:var(--finanzas-primary);outline:none}.finance-form textarea{min-height:80px;resize:vertical}.form-buttons{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.form-buttons button{border:none;border-radius:12px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.form-buttons button[type=submit]{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--finanzas-primary),var(--finanzas-secondary));color:#fff;color:var(--white)}.form-buttons button[type=submit]:hover:not(:disabled){box-shadow:0 8px 25px #0596694d;transform:translateY(-2px)}.form-buttons button[type=submit]:disabled{cursor:not-allowed;opacity:.6}.form-buttons button[type=button]{background:#f1f5f9;color:#64748b}.form-buttons button[type=button]:hover{background:#e2e8f0}.data-table{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.data-table table{border-collapse:collapse;width:100%}.data-table th{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--finanzas-primary),var(--finanzas-secondary));color:#fff;color:var(--white);font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #e2e8f0;color:#000;color:var(--text-dark);padding:1rem}.data-table tr:hover{background:#f8fafc}.data-table tr:last-child td{border-bottom:none}.data-table .positive{color:red;color:var(--finanzas-primary);font-weight:600}.data-table .negative{color:#ef4444;color:var(--error-color);font-weight:600}.status{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.status.pendiente{background:#fef3c7;color:#92400e}.status.pagado{background:#dcfce7;color:#166534}.status.vencido{background:#fef2f2;color:#dc2626}@media (max-width:768px){.panel-header{flex-direction:column;gap:1rem;padding:12px 16px;text-align:center}.header-brand{justify-content:center}.header-logo{height:48px;width:48px}.brand-title{font-size:18px}.user-section{justify-content:center}.panel-nav{padding:0 1rem}.panel-content{padding:1rem}.stats-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.charts-section{grid-template-columns:1fr}.section-header{align-items:stretch;flex-direction:column;gap:1rem}.finance-form{margin:1rem;padding:1.5rem}.form-buttons{flex-direction:column}.data-table{overflow-x:auto}}@media (max-width:480px){.brand-title{font-size:16px}.nav-tab{font-size:.9rem;padding:.75rem 1rem}.stat-card{padding:1.5rem}.stat-card .amount{font-size:1.8rem}.chart-container{padding:1.5rem}}.loading{color:#999;color:var(--text-muted)}.error,.loading{align-items:center;display:flex;font-size:1.2rem;justify-content:center;min-height:300px}.error{color:#ef4444;color:var(--error-color);padding:2rem;text-align:center}.coming-soon{background:var(--white);border:1px solid #e2e8f0;color:#999;color:var(--text-muted);font-size:1.2rem;text-align:center}.presupuestos-section{display:flex;flex-direction:column;gap:2rem}.presupuestos-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.presupuesto-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:2rem;transition:all .3s ease}.presupuesto-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.presupuesto-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.presupuesto-header h4{color:#000;color:var(--text-dark);font-size:1.3rem;font-weight:700;margin:0}.presupuesto-info{margin-bottom:1.5rem}.presupuesto-info p{color:#666;color:var(--text-light);font-size:.9rem;margin:.5rem 0}.presupuesto-resumen{background:#f8fafc;border-radius:12px;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.resumen-item{align-items:center;display:flex;font-weight:600;justify-content:space-between}.resumen-item.ingresos{color:#c00;color:var(--finanzas-secondary)}.resumen-item.gastos{color:#ef4444;color:var(--error-color)}.resumen-item.utilidad.positive{color:red;color:var(--finanzas-primary)}.resumen-item.utilidad.negative,.resumen-item.utilidad.positive{border-top:1px solid #e2e8f0;font-size:1.1rem;padding-top:.75rem}.resumen-item.utilidad.negative{color:#ef4444;color:var(--error-color)}.presupuesto-categorias h5{color:#000;color:var(--text-dark);font-size:1rem;font-weight:600;margin:0 0 1rem}.categoria-item{align-items:center;background:#fff;background:var(--white);border-left:4px solid red;border-left:4px solid var(--finanzas-primary);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem}.categoria-nombre{font-weight:500}.categoria-montos{display:flex;font-size:.85rem;gap:1rem}.categoria-montos .presupuestado{color:#666;color:var(--text-light)}.categoria-montos .real{color:#000;color:var(--text-dark);font-weight:600}.categoria-montos .variacion{border-radius:12px;font-size:.8rem;font-weight:600;padding:.2rem .5rem}.categoria-montos .variacion.positive{background:#dcfce7;color:#166534}.categoria-montos .variacion.negative{background:#fef2f2;color:#dc2626}.presupuesto-form{max-height:90vh;max-width:600px;overflow-y:auto}.categorias-section{background:#f8fafc;border-radius:12px;margin:1.5rem 0;padding:1rem}.categorias-section h5{color:#000;color:var(--text-dark);font-size:1.1rem;font-weight:600;margin:0 0 1rem}.categoria-input{align-items:center;background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:.75rem}.categoria-tipo{flex:1 1;font-weight:500}.categoria-tipo.ingreso{color:#c00;color:var(--finanzas-secondary)}.categoria-tipo.gasto{color:#ef4444;color:var(--error-color)}.categoria-input input{border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem;margin:0;padding:.5rem;width:150px}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.no-data{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;color:#999;color:var(--text-muted);padding:3rem;text-align:center}.no-data p:first-child{font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.no-data p:last-child{font-size:1rem;margin:0}.rentabilidad-section{display:flex;flex-direction:column;gap:2rem}.periodo-selector{align-items:center;display:flex;gap:1rem}.periodo-select{background:#fff;background:var(--white);border:2px solid #e2e8f0;border-radius:8px;color:#000;color:var(--text-dark);cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:border-color .3s ease}.periodo-select:focus{border-color:red;border-color:var(--finanzas-primary);outline:none}.metricas-principales{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.metrica-card{box-shadow:0 4px 20px #00000014;overflow:hidden;padding:2rem;position:relative}.metrica-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-3px)}.metrica-card.ingresos{border-left:4px solid #c00;border-left:4px solid var(--finanzas-secondary)}.metrica-card.gastos{border-left:4px solid #ef4444;border-left:4px solid var(--error-color)}.metrica-card.utilidad{border-left:4px solid red;border-left:4px solid var(--finanzas-primary)}.metrica-card.margen{border-left:4px solid red;border-left:4px solid var(--primary-color)}.metrica-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.metrica-header h4{color:#666;color:var(--text-light);font-size:1rem;font-weight:600;margin:0}.metrica-valor{color:#000;font-size:2rem}.metrica-valor.positive{color:red;color:var(--finanzas-primary)}.metrica-valor.negative{color:#ef4444;color:var(--error-color)}.metrica-detalle{margin-top:.5rem}.metrica-label{color:#999;color:var(--text-muted);font-size:.85rem;letter-spacing:.5px;text-transform:uppercase}.analisis-grid{grid-gap:2rem;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.analisis-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:2rem}.analisis-card h4{color:#000;color:var(--text-dark);font-size:1.3rem;font-weight:700;margin:0 0 1.5rem}.comparativo-table{overflow-x:auto}.comparativo-table table{border-collapse:collapse;width:100%}.comparativo-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-align:left;text-transform:uppercase}.comparativo-table td,.comparativo-table th{color:#000;color:var(--text-dark);padding:1rem}.comparativo-table td{border-bottom:1px solid #e2e8f0}.comparativo-table tr:hover{background:#f8fafc}.categorias-rentabilidad{display:flex;flex-direction:column;gap:1rem}.categoria-rentabilidad{align-items:center;background:#f8fafc;border-left:4px solid red;border-left:4px solid var(--finanzas-primary);border-radius:12px;display:flex;justify-content:space-between;padding:1.5rem}.categoria-info{flex:1 1}.categoria-nombre{color:#000;color:var(--text-dark);display:block;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.categoria-metricas{display:flex;font-size:.9rem;gap:1rem}.categoria-metricas .ingreso{color:#c00;color:var(--finanzas-secondary);font-weight:500}.categoria-metricas .gasto{color:#ef4444;color:var(--error-color);font-weight:500}.categoria-metricas .utilidad{font-weight:600}.categoria-margen{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem;min-width:120px}.margen-badge{border-radius:20px;font-size:1.1rem;font-weight:700;padding:.25rem .75rem}.margen-badge.positive{background:#dcfce7;color:#166534}.margen-badge.negative{background:#fef2f2;color:#dc2626}.margen-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden;width:100px}.margen-fill{border-radius:4px;height:100%;transition:width .3s ease}.margen-fill.positive{background:linear-gradient(90deg,red,#c00);background:linear-gradient(90deg,var(--finanzas-primary),var(--finanzas-secondary))}.margen-fill.negative{background:linear-gradient(90deg,#ef4444,#f87171);background:linear-gradient(90deg,var(--error-color),#f87171)}.tendencias-section{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:2rem}.tendencias-section h4{color:#000;color:var(--text-dark);font-size:1.3rem;font-weight:700;margin:0 0 2rem}.tendencias-chart{align-items:flex-end;display:flex;height:300px;justify-content:center}.chart-container{padding:1rem 0}.chart-bars,.chart-container{align-items:flex-end;display:flex;height:100%;width:100%}.chart-bars{gap:1rem;justify-content:space-around}.chart-bar-group{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.5rem}.chart-bar{background:#f1f5f9;border-radius:4px;height:200px;overflow:hidden;width:40px}.bar-fill{border-radius:4px;transition:height .5s ease;width:100%}.bar-fill.utilidad{background:linear-gradient(180deg,red,#c00);background:linear-gradient(180deg,var(--finanzas-primary),var(--finanzas-secondary))}.bar-label{color:#000;color:var(--text-dark);font-size:.9rem;font-weight:600}.bar-value{color:#999;color:var(--text-muted);font-size:.8rem}.indicadores-section{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:2rem}.indicadores-section h4{color:#000;color:var(--text-dark);font-size:1.3rem;font-weight:700;margin:0 0 1.5rem}.indicadores-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.indicador-item{align-items:center;background:#f8fafc;border-left:4px solid red;border-left:4px solid var(--finanzas-primary);border-radius:12px;display:flex;justify-content:space-between;padding:1.5rem}.indicador-label{color:#666;color:var(--text-light);font-size:.95rem;font-weight:500}.indicador-valor{color:#000;color:var(--text-dark);font-size:1.2rem;font-weight:700}.indicador-valor.positive{color:red;color:var(--finanzas-primary)}.header-clock{align-items:flex-start;display:flex;flex-direction:column;gap:2px;margin-right:20px;padding:0}.clock-time{font-feature-settings:"tnum";color:red;font-size:18px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.5px;line-height:1}.clock-date{color:#6b7280;font-size:12px;font-weight:500;line-height:1;text-transform:capitalize}@media (max-width:768px){.header-clock{margin-right:12px}.clock-time{font-size:16px}.clock-date{font-size:11px}}@media (max-width:480px){.header-clock{display:none}}.qr-scanner-overlay{align-items:center;background:#000000f2;bottom:0;display:flex;justify-content:center;left:0;padding:0;position:fixed;right:0;top:0;z-index:2000}.qr-scanner-modal{background:linear-gradient(135deg,red,#c00);border-radius:0;box-shadow:none;display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100vw}.scanner-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#1e40af,#3b82f6);border-bottom:2px solid #fff3;color:#fff;display:flex;justify-content:space-between;padding:25px 40px}.header-content h3{font-size:28px;font-weight:800;margin:0 0 8px;text-shadow:2px 2px 4px #00000080}.header-subtitle{font-size:16px;font-style:italic;font-weight:500;margin:0;opacity:.9}.header-actions{gap:15px}.btn-logout{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:25px;font-size:14px;padding:10px 20px;transition:all .3s ease}.btn-logout:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 4px 15px #0003;transform:translateY(-2px)}.close-scanner{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background .3s ease;width:30px}.close-scanner:hover{background:#fff3}.scanner-content{flex:1 1;flex-direction:column;padding:40px}.camera-view,.scanner-content{align-items:center;display:flex;justify-content:center;position:relative}.camera-view{background:#000;border-radius:30px;box-shadow:0 20px 60px #00000080;height:60vh;margin-bottom:30px;max-height:600px;max-width:800px;overflow:hidden;width:80vw}.camera-container{height:100%;position:relative;width:100%}.camera-container video{border-radius:30px;height:100%!important;left:0!important;object-fit:cover!important;position:absolute!important;top:0!important;width:100%!important}.camera-container>div,.camera-container>div>div{height:100%!important;position:relative!important;width:100%!important}.camera-container canvas{display:none!important}.camera-container *{max-height:100%!important;max-width:100%!important}.camera-container [style*=width]{width:100%!important}.camera-container [style*=height]{height:100%!important}.camera-error{color:#fff;padding:20px;text-align:center}.error-icon{font-size:48px;margin-bottom:15px}.btn-retry-camera{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:15px;padding:12px 24px;transition:all .3s ease}.btn-retry-camera:hover{box-shadow:0 4px 8px #f59e0b66;transform:translateY(-2px)}.viewfinder-overlay{height:250px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:250px;z-index:100}.viewfinder-overlay:before{background:#0000004d;border-radius:15px;bottom:-30px;content:"";left:-30px;position:absolute;right:-30px;top:-30px;z-index:-1}.scan-instruction{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border-radius:25px;bottom:30px;box-shadow:0 4px 15px #0000004d;color:#fff;font-size:16px;font-weight:600;left:50%;padding:12px 24px;position:absolute;transform:translateX(-50%);z-index:100}.qr-corners{height:200px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .8s cubic-bezier(.25,.46,.45,.94);width:200px;z-index:150}.qr-corners.scanned{height:80px;transform:translate(-50%,-50%) scale(.8);width:80px}.corner{animation:cornerPulse 2s ease-in-out infinite;border:4px solid red;box-shadow:0 0 20px #f00c;height:25px;transition:all .8s cubic-bezier(.25,.46,.45,.94);width:25px}.qr-corners.scanned .corner{animation:scanSuccess .8s ease-out;border-color:#10b981;box-shadow:0 0 30px #10b981}.corner-top-left{border-bottom:none;border-right:none;border-top-left-radius:8px;left:0;top:0}.corner-top-right{border-bottom:none;border-left:none;border-top-right-radius:8px;right:0;top:0}.corner-bottom-left{border-bottom-left-radius:8px;border-right:none;border-top:none;bottom:0;left:0}.corner-bottom-right{border-bottom-right-radius:8px;border-left:none;border-top:none;bottom:0;right:0}.viewfinder{height:200px;margin:0 auto 15px;position:relative;width:200px}.btn-simulate-scan{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:15px;padding:12px 24px;transition:all .3s ease}.btn-simulate-scan:hover{box-shadow:0 4px 8px #10b98166;transform:translateY(-2px)}.scanning-animation{color:#fff;height:200px;width:200px}.scan-line{animation:scan 2s linear infinite;background:linear-gradient(90deg,#0000,red,#0000);height:3px;left:0;position:absolute;right:0;top:0}@keyframes scan{0%{top:0}to{top:197px}}@keyframes cornerPulse{0%{border-color:#3b82f6;box-shadow:0 0 20px #3b82f6cc;transform:scale(1)}50%{border-color:#60a5fa;box-shadow:0 0 30px #3b82f6;transform:scale(1.05)}to{border-color:#3b82f6;box-shadow:0 0 20px #3b82f6cc;transform:scale(1)}}@keyframes scanSuccess{0%{border-color:#3b82f6;box-shadow:0 0 20px #3b82f6cc;transform:scale(1)}25%{border-color:#10b981;box-shadow:0 0 40px #10b981;transform:scale(1.2)}50%{border-color:#10b981;box-shadow:0 0 50px #10b981;transform:scale(1.1)}to{border-color:#10b981;box-shadow:0 0 30px #10b981;transform:scale(1)}}.manual-entry{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;box-shadow:0 10px 30px #0003;margin-bottom:30px;max-width:600px;padding:30px;width:100%}.manual-entry h4{color:#1f2937;font-size:20px;font-weight:700;margin:0 0 20px;text-align:center}.manual-entry form{align-items:center;gap:15px;justify-content:center}.manual-input{border:3px solid #d1d5db;border-radius:15px;flex:1 1;font-size:18px;font-weight:500;min-width:300px;padding:15px 20px;text-align:center;transition:all .3s ease}.manual-input:focus{border-color:red;box-shadow:0 0 0 3px #ff00001a;outline:none}.btn-manual-submit{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:15px;box-shadow:0 4px 15px #10b9814d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:15px 30px;transition:all .3s ease;white-space:nowrap}.btn-manual-submit:hover:not(:disabled){box-shadow:0 4px 8px #3b82f666;transform:translateY(-2px)}.btn-manual-submit:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.scanner-instructions{background:#fef3c7;border:1px solid #f59e0b;border-radius:12px;padding:15px}.scanner-instructions h4{color:#92400e;font-size:14px;margin:0 0 10px}.scanner-instructions ul{color:#92400e;margin:0;padding-left:20px}.scanner-instructions li{font-size:13px;margin-bottom:5px}@media (max-width:600px){.qr-scanner-overlay{padding:10px}.camera-view{height:200px}.viewfinder{height:150px;width:150px}.manual-entry form{flex-direction:column}.manual-input{min-width:auto}}.entrenador-panel{background:linear-gradient(135deg,#f8fafc,#e2e8f0);background:linear-gradient(135deg,var(--background-light) 0,#e2e8f0 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.brand-name{color:#1f2937;color:var(--text-dark);font-size:20px;font-weight:700;letter-spacing:-.5px;margin:0}.brand-tagline{color:#9ca3af;color:var(--text-muted);font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.user-details h2{color:#1f2937;color:var(--text-dark);font-size:13px;font-weight:600;margin:0}.role-badge{color:#9ca3af;color:var(--text-muted)}.logout-btn,.role-badge{font-size:11px;letter-spacing:.5px;text-transform:uppercase}.logout-btn{align-items:center;background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border:none;border-radius:8px;color:#fff;color:var(--white);cursor:pointer;display:flex;font-weight:600;gap:6px;padding:8px 14px;transition:all .3s cubic-bezier(.4,0,.2,1)}.logout-btn:hover{box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.panel-nav{background:var(--white);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:30px;padding:8px}.nav-tab{align-items:center;background:#0000;border-radius:8px;color:#9ca3af;color:var(--text-muted);display:flex;font-size:14px;gap:10px;letter-spacing:.5px;overflow:hidden;padding:14px 20px;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-tab:before{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s cubic-bezier(.4,0,.2,1);z-index:-1}.nav-tab:hover{box-shadow:0 4px 12px #2563eb26;transform:translateY(-2px)}.nav-tab:hover:before{opacity:.05}.nav-tab.active{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);box-shadow:0 4px 16px #2563eb4d;color:#fff;color:var(--white);transform:translateY(-1px)}.nav-tab.active:before{opacity:0}.tab-icon{align-items:center;display:flex;height:20px;justify-content:center;transition:transform .3s cubic-bezier(.4,0,.2,1);width:20px}.nav-tab:hover .tab-icon{transform:scale(1.1)}.tab-name{font-weight:600;letter-spacing:.8px}.panel-content{background:#fff;background:var(--white);margin:0;min-height:calc(100vh - 140px);padding:40px}.panel-content,.tab-content{border-radius:0;box-shadow:none}.tab-content{background:#0000;border:none;padding:0}.tab-header{border-bottom:none;justify-content:space-between;margin-bottom:32px;padding-bottom:0}.tab-header,.tab-header h3{align-items:center;display:flex}.tab-header h3{color:#1f2937;color:var(--text-dark);font-size:24px;font-weight:700;gap:12px;letter-spacing:normal;margin:0;text-transform:none}.header-actions{gap:12px}.header-actions .btn-primary,.header-actions .btn-secondary{box-sizing:border-box!important;line-height:1;margin:0!important;padding:14px 28px!important;vertical-align:middle}.btn-primary{align-items:center;background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border-radius:8px;color:var(--white);display:inline-flex;font-size:14px;height:48px;justify-content:center;letter-spacing:.5px;min-width:160px;padding:12px 28px;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary:hover{box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.btn-secondary{align-items:center;background:linear-gradient(135deg,#6b7280,#9ca3af);background:linear-gradient(135deg,var(--text-light) 0,var(--text-muted) 100%);border:none;border-radius:8px;color:#fff;color:var(--white);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;height:48px;justify-content:center;letter-spacing:.5px;min-width:160px;padding:12px 28px;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-secondary:hover{box-shadow:0 4px 12px #6b72804d;transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);background:linear-gradient(135deg,var(--error-color) 0,#dc2626 100%);border:none;border-radius:6px;color:#fff;color:var(--white);cursor:pointer;font-size:12px;font-weight:500;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-danger:hover{box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,#00c851,#059669);background:linear-gradient(135deg,var(--success-color) 0,#059669 100%);border:none;border-radius:6px;color:#fff;color:var(--white);cursor:pointer;font-size:12px;font-weight:500;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-success:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.btn-small{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border:none;border-radius:6px;color:#fff;color:var(--white);cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 4px;padding:6px 12px;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-small:hover{box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.btn-small.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);background:linear-gradient(135deg,var(--error-color) 0,#dc2626 100%)}.btn-small.btn-danger:hover{box-shadow:0 4px 12px #ef44444d}.clases-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.clase-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #00000014;overflow:hidden;padding:24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.clase-card:hover{box-shadow:0 8px 25px #00000026;box-shadow:0 8px 25px var(--shadow-medium);transform:translateY(-2px)}.clase-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.clase-header h4{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0}.clase-horario{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border-radius:12px;color:#fff;color:var(--white);font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.clase-info{margin-bottom:20px}.clase-info p{margin:8px 0}.clase-actions{display:flex;flex-wrap:wrap;gap:8px}.miembros-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.miembro-card{align-items:center;border-radius:16px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;padding:24px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.miembro-card:hover{box-shadow:0 8px 25px #00000026;box-shadow:0 8px 25px var(--shadow-medium)}.miembro-avatar{align-items:center;background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border-radius:50%;color:#fff;color:var(--white);display:flex;font-size:20px;height:48px;justify-content:center;margin-bottom:16px;width:48px}.miembro-info h4{font-size:16px;font-weight:600}.miembro-info p{margin:4px 0}.plan-badge{background:linear-gradient(135deg,#00c851,#059669);background:linear-gradient(135deg,var(--success-color) 0,#059669 100%);border-radius:12px;color:#fff;color:var(--white);display:inline-block;font-size:11px;margin-top:8px;padding:4px 12px}.rutinas-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.rutina-card{box-shadow:0 2px 8px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1)}.rutina-card:hover{box-shadow:0 8px 25px #00000026;box-shadow:0 8px 25px var(--shadow-medium)}.rutina-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.rutina-header h4{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0}.nivel-badge{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border-radius:12px;color:#fff;color:var(--white);font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.rutina-info p{margin:8px 0}.rutina-actions{display:flex;gap:8px;margin-top:16px}.citas-table,.entrenamientos-table{overflow-x:auto;width:100%}.citas-table table,.entrenamientos-table table{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-collapse:collapse;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;width:100%}.citas-table td,.citas-table th,.entrenamientos-table td,.entrenamientos-table th{border-bottom:1px solid #e2e8f0;padding:16px;text-align:left}.citas-table th,.entrenamientos-table th{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);color:#fff;color:var(--white);font-size:12px}.citas-table th,.entrenamientos-table th,.estado{font-weight:600;letter-spacing:.5px;text-transform:uppercase}.estado{border-radius:12px;font-size:11px;padding:4px 12px}.estado.programado{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);color:#fff;color:var(--white)}.estado.completado{background:linear-gradient(135deg,#00c851,#059669);background:linear-gradient(135deg,var(--success-color) 0,#059669 100%);color:#fff;color:var(--white)}.loading-container{padding:60px}.loading-spinner{border:4px solid #2563eb4d;border-top-color:red;border-top:4px solid var(--primary-color);height:40px;width:40px}.asistencia-placeholder,.progreso-placeholder{color:#6b7280;color:var(--text-light);font-size:16px;padding:60px;text-align:center}@media (max-width:768px){.panel-header{flex-direction:column;gap:16px;padding:16px}.user-section{justify-content:space-between;width:100%}.panel-nav{gap:4px;padding:8px}.nav-tab{font-size:12px;padding:12px 16px}.tab-name{display:none}.panel-content{padding:20px}.tab-header{align-items:stretch;flex-direction:column;gap:16px}.clases-grid,.miembros-grid,.rutinas-grid{grid-template-columns:1fr}.citas-table,.entrenamientos-table{font-size:12px}}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000a6;padding:20px}.modal-content{animation:modalFadeIn .3s ease-out;background:var(--white);border:1px solid #e2e8f0;box-shadow:0 25px 80px #00000059;max-height:92vh;max-width:700px;width:95%}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{background:linear-gradient(180deg,#fff 0,#f8fafc);border-bottom:2px solid #e2e8f0;border-radius:20px 20px 0 0;padding:28px 32px}.modal-header h3{align-items:center;color:#1f2937;color:var(--text-dark);display:flex;font-size:22px;gap:10px}.modal-header-actions{align-items:center;display:flex;gap:12px}.btn-nuevo-ejercicio{align-items:center;background:#10b9811a;border:1px solid #10b98133;border-radius:8px;color:#059669;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.btn-nuevo-ejercicio:hover{background:#10b981;border-color:#10b981;color:#fff;transform:translateY(-1px)}.modal-close{align-items:center;color:#9ca3af;color:var(--text-muted);display:flex;font-size:24px;height:40px;justify-content:center;padding:8px;width:40px}.modal-close:hover{background:#ef444426;color:#ef4444;color:var(--error-color);transform:rotate(90deg)}.modal-body{max-height:calc(92vh - 180px);overflow-y:auto;padding:24px 50px}.modal-footer{background:#f8fafc;border-radius:0 0 20px 20px;border-top:2px solid #e2e8f0;gap:16px;padding:24px 32px}.modal-footer .btn-primary,.modal-footer .btn-secondary{align-items:center!important;border-radius:8px!important;display:inline-flex!important;font-size:14px!important;font-weight:600!important;height:48px!important;justify-content:center!important;padding:12px 20px!important;text-align:center!important;width:180px!important}.analisis-modal{max-width:900px}.composicion-section{background:#fff;background:var(--white);border-radius:20px;box-shadow:0 18px 45px #0f172a14;display:flex;flex-direction:column;gap:28px;margin-top:32px;padding:32px}.composicion-header{align-items:flex-start;display:flex;gap:18px;justify-content:space-between}.composicion-actions{align-items:center;display:flex;gap:12px}.actualizar-progreso-modal{max-width:500px;width:90%}.progreso-update-info{display:flex;flex-direction:column;gap:20px}.miembro-info h4{color:#1f2937;color:var(--text-dark);font-size:18px;margin:0 0 8px}.miembro-info p{margin:0}.progreso-actual,.progreso-nuevo,.progreso-preview{display:flex;flex-direction:column;gap:8px}.progreso-actual label,.progreso-nuevo label,.progreso-preview label{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600}.progreso-display{align-items:center;display:flex;gap:12px}.progreso-bar-small{background:#e5e7eb;border-radius:6px;flex:1 1;height:12px;overflow:hidden}.progreso-fill-small{background:linear-gradient(135deg,#00c851,#059669);background:linear-gradient(135deg,var(--success-color) 0,#059669 100%);border-radius:6px;height:100%;transition:width .3s ease}.progreso-fill-small.preview{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%)}.progreso-percentage{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600;min-width:40px;text-align:right}.input-group{align-items:center;display:flex;position:relative}.progreso-input{border:2px solid #e5e7eb;border-radius:8px;flex:1 1;font-size:16px;padding:12px 40px 12px 16px;transition:border-color .2s ease}.progreso-input:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a;outline:none}.input-suffix{color:#6b7280;color:var(--text-light);font-weight:600;pointer-events:none;position:absolute;right:16px}.progreso-preview{background:#f8fafc;background:var(--background-light);border:1px solid #e5e7eb;border-radius:8px;padding:16px}.progreso-preview label{color:#6b7280;color:var(--text-light);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.perfil-rutinas-asignadas{background:#f8fafc;background:var(--background-light);border:1px solid #e5e7eb;border-radius:8px;margin:16px 0;padding:12px}.rutinas-header{gap:8px;margin-bottom:10px}.rutinas-icon{font-size:16px}.rutinas-title{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600}.rutinas-list{display:flex;flex-direction:column;gap:6px}.rutina-chip{align-items:center;background:#fff;background:var(--white);border:1px solid #d1d5db;border-radius:6px;display:flex;justify-content:space-between;padding:6px 10px;transition:all .2s ease}.rutina-chip:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 2px 4px #ff00001a}.rutina-nombre{color:#1f2937;color:var(--text-dark);flex:1 1;font-size:13px;font-weight:500}.rutina-nivel{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border-radius:4px;color:#fff;color:var(--white);font-size:11px;font-weight:500;padding:2px 6px;text-transform:capitalize}.rutinas-mas{color:#6b7280;color:var(--text-light);font-size:12px;font-style:italic;padding:4px;text-align:center}.sin-rutinas{padding:8px;text-align:center}.sin-rutinas-text{color:#9ca3af;color:var(--text-muted);font-size:12px;font-style:italic}.inscribir-participante-modal{max-width:600px;width:90%}.participantes-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.participantes-actions{align-items:center;display:flex;gap:8px}.participantes-header h5{color:#1f2937;color:var(--text-dark);font-size:16px;margin:0}.no-inscritos-hint{color:#6b7280;color:var(--text-light);font-size:14px;font-style:italic;margin-top:8px}.inscripcion-info{background:#f8fafc;background:var(--background-light);border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;padding:16px}.inscripcion-info h4{color:#1f2937;color:var(--text-dark);font-size:18px;margin:0 0 8px}.inscripcion-info p{color:#6b7280;color:var(--text-light);font-size:14px;margin:4px 0}.tipo-inscripcion{margin-bottom:24px}.tipo-inscripcion label{color:#1f2937;color:var(--text-dark);display:block;font-size:14px;font-weight:600;margin-bottom:12px}.tipo-opciones{display:flex;flex-wrap:wrap;gap:16px}.tipo-opcion{align-items:center;background:#fff;background:var(--white);border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;flex:1 1;gap:8px;min-width:200px;padding:12px 16px;transition:all .2s ease}.tipo-opcion:hover{background:#ff00000d;border-color:red;border-color:var(--primary-color)}.tipo-opcion input[type=radio]{margin:0}.tipo-opcion input[type=radio]:checked+span{color:red;color:var(--primary-color);font-weight:600}.tipo-opcion span{color:#1f2937;color:var(--text-dark);font-size:14px}.inscripcion-externo,.inscripcion-miembro{background:#f8fafc;background:var(--background-light);border:1px solid #e5e7eb;border-radius:8px;padding:20px}.miembro-select{background:var(--white);border:2px solid #e5e7eb;border-radius:6px;color:#1f2937;color:var(--text-dark);font-size:14px;padding:12px}.miembro-select:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a}.form-grid{grid-gap:16px;gap:16px;grid-template-columns:1fr 1fr}.form-group{gap:6px}.form-group label{font-size:13px}.form-group input{border:2px solid #e5e7eb;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s ease}.form-group input:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a;outline:none}.form-group input:required{border-left:3px solid red;border-left:3px solid var(--primary-color)}.campos-requeridos{margin-top:16px;text-align:center}.campos-requeridos small{color:#6b7280;color:var(--text-light);font-style:italic}.participante-badge-externo{background:linear-gradient(135deg,#f59e0b,#d97706)}.participante-badge-externo,.participante-badge-local{border-radius:4px;color:#fff;display:inline-block;font-size:10px;font-weight:500;letter-spacing:.5px;margin-left:8px;padding:2px 6px;text-transform:uppercase}.participante-badge-local{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.participante-edad,.participante-rut{color:#6b7280;color:var(--text-light);font-size:12px;font-weight:400}.participante-nombre{gap:4px}@media (max-width:480px){.actualizar-progreso-modal{margin:10px;max-width:95%}.progreso-display{align-items:stretch;flex-direction:column;gap:8px}.progreso-percentage{min-width:auto;text-align:center}.rutina-chip{align-items:flex-start;flex-direction:column;gap:4px}.rutina-nivel{align-self:flex-end}.inscribir-participante-modal{margin:10px;max-width:95%}.tipo-opciones{flex-direction:column}.tipo-opcion{min-width:auto}.form-grid{grid-template-columns:1fr}.participantes-header{align-items:stretch;flex-direction:column;gap:12px}}.composicion-header h4{color:#1f2937;color:var(--text-dark);font-size:24px;font-weight:700;margin:0}.composicion-header .subtitle{color:#9ca3af;color:var(--text-muted);font-size:14px;margin:8px 0 0}.selector-panel{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:16px;display:flex;flex-wrap:wrap;gap:24px;padding:18px 24px}.selector-field{display:flex;flex-direction:column;gap:6px;min-width:220px}.selector-field label{color:#9ca3af;color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.selector-field select{background:#fff;background:var(--white);border:1px solid #d1d5db;border-radius:10px;font-size:14px;padding:10px 12px}.selector-value{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600}.analisis-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.control-panel,.metricas-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 10px 30px #0f172a0a;padding:24px}.control-panel h5,.metricas-panel h5{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:700;margin:0 0 18px}.metricas-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.metrica-card.compact{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 6px 18px #0f172a0d;display:flex;flex-direction:column;gap:8px;padding:16px}.metrica-card.compact .metrica-label{color:#9ca3af;color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase}.metrica-card.compact .metrica-valor{color:#1f2937;color:var(--text-dark);font-size:24px;font-weight:700}.metrica-valor-stack span{color:#1f2937;color:var(--text-dark);display:block;font-size:22px;font-weight:700}.metrica-valor-stack small{color:red;color:var(--primary-color);font-size:12px;font-weight:600}.control-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.control-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;display:flex;flex-direction:column;gap:8px;padding:18px}.control-card h6{color:#9ca3af;color:var(--text-muted);font-size:13px;font-weight:700;margin:0;text-transform:uppercase}.control-valor{color:#1f2937;color:var(--text-dark);font-size:22px;font-weight:700;margin:0}.control-detalle{color:#9ca3af;color:var(--text-muted);font-size:13px}.reporte-comparativo{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 10px 30px #0f172a0a;padding:24px}.reporte-comparativo h5{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:700;margin:0 0 20px}.comparativo-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.barra-comparativa{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;padding:18px 18px 32px;position:relative}.barra-label{color:#9ca3af;color:var(--text-muted);display:block;font-size:13px;font-weight:600;margin-bottom:12px;text-transform:uppercase}.barra-tramos{border:1px solid #e2e8f0;border-radius:12px;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}.barra-tramos .tramo{color:#1f2937;color:var(--text-dark);font-size:12px;font-weight:600;padding:12px 0;text-align:center}.barra-tramos .bajo{background:#10b9811f}.barra-tramos .estandar{background:#2563eb1f}.barra-tramos .alto{background:#ef44441f}.barra-comparativa .indicador{background:red;background:var(--primary-color);border-radius:50%;bottom:10px;box-shadow:0 0 0 6px #2563eb2e;height:12px;position:absolute;transform:translateX(-50%);width:12px}.segmentos-wrapper{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.segmentos-lienzo,.segmentos-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 10px 30px #0f172a0a;padding:24px}.segmentos-lienzo h5,.segmentos-panel h5{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:700;margin:0 0 18px}.silueta-container{align-items:center;display:flex;gap:24px}.silueta-gallery{display:flex;flex-direction:column;gap:16px}.silueta-wrapper.principal{width:240px}.silueta-wrapper.secundario{align-items:center;background:#fff;background:var(--white);display:flex;justify-content:center;padding:12px;position:relative;width:200px}.silueta-img.secundario{border-radius:12px;box-shadow:0 8px 24px #0f172a1f}.silueta-caption{background:#0f172acc;border-radius:999px;bottom:10px;color:#fff;color:var(--white);font-size:11px;font-weight:600;left:50%;letter-spacing:.5px;padding:4px 10px;position:absolute;transform:translateX(-50%)}.silueta-wrapper{border-radius:18px;box-shadow:0 12px 30px #0f172a1f;max-width:100%;overflow:hidden;position:relative;width:220px}.silueta-img{display:block;filter:saturate(1.05) contrast(1.05);height:auto;width:100%}.silueta-hotspot{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172abf;border-radius:12px;box-shadow:0 8px 20px #0f172a40;color:#fff;color:var(--white);display:flex;flex-direction:column;font-size:11px;font-weight:600;gap:4px;padding:6px 10px;position:absolute;transform:translate(-50%,-50%)}.hotspot-label{letter-spacing:.5px;text-transform:uppercase}.hotspot-value{font-size:14px;font-weight:700}.silueta-hotspot:after{background:#0f172abf;bottom:-6px;-webkit-clip-path:polygon(50% 100%,0 0,100% 0);clip-path:polygon(50% 100%,0 0,100% 0);content:"";height:10px;left:50%;position:absolute;transform:translateX(-50%);width:10px}.segmento-brazo-derecho{left:83%;top:28%}.segmento-brazo-izquierdo{left:17%;top:28%}.segmento-pierna-derecho{left:68%;top:78%}.segmento-pierna-izquierdo{left:32%;top:78%}.segmento-abdomen-centro,.segmento-torso-centro,.segmento-tronco-centro{left:50%;top:48%}.segmento-abdomen-derecho,.segmento-torso-derecho,.segmento-tronco-derecho{left:65%;top:48%}.segmento-abdomen-izquierdo,.segmento-torso-izquierdo,.segmento-tronco-izquierdo{left:35%;top:48%}.silueta-info{display:flex;flex-direction:column;gap:12px}.silueta-item{align-items:center;background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 6px 18px #0f172a0d;display:flex;justify-content:space-between;min-width:200px;padding:12px 16px}.silueta-tag{color:#9ca3af;color:var(--text-muted);font-size:13px;font-weight:600}.silueta-value{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:700}.segmentos-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.segmento-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 6px 16px #0f172a0d;display:flex;flex-direction:column;gap:12px;padding:18px}.segmento-header{align-items:center;color:#1f2937;color:var(--text-dark);display:flex;font-size:14px;font-weight:700;justify-content:space-between}.segmento-badge{background:#2563eb26;border-radius:999px;color:red;color:var(--primary-color);font-size:11px;font-weight:700;padding:4px 10px}.segmento-values{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.segmento-values small{color:#9ca3af;color:var(--text-muted);font-size:11px;letter-spacing:.5px;text-transform:uppercase}.segmento-values strong{color:#1f2937;color:var(--text-dark);display:block;font-size:18px;font-weight:700}.segmento-values span{color:#9ca3af;color:var(--text-muted);font-size:13px}.impedancia-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 10px 30px #0f172a0a;padding:24px}.impedancia-panel h5{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:700;margin:0 0 18px}.impedancia-table{background:#fff;background:var(--white);border-collapse:collapse;border-radius:16px;overflow:hidden;width:100%}.impedancia-table td,.impedancia-table th{font-size:14px;padding:14px 18px;text-align:left}.impedancia-table thead tr{background:#edf2fd;color:#1f2937;color:var(--text-dark);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.impedancia-table tbody tr:nth-child(2n){background:#2563eb0a}.historial-analisis{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 12px 35px #0f172a0f;padding:24px}.historial-header{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:18px}.historial-header h5{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:700;margin:0}.historial-detalle{color:#9ca3af;color:var(--text-muted);font-size:13px}.historial-table table{border-collapse:collapse;width:100%}.historial-table td,.historial-table th{border-bottom:1px solid #e2e8f0;font-size:14px;padding:12px 16px;text-align:left}.historial-table thead{background:#f1f5f9;color:#9ca3af;color:var(--text-muted);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.historial-table tbody tr:hover{background:#2563eb0f}.analisis-form{display:flex;flex-direction:column;gap:24px}.analisis-form .form-section>h4{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:600;margin:0 0 12px}.analisis-form .form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.analisis-form label{color:#9ca3af;color:var(--text-muted);display:flex;flex-direction:column;font-size:13px;font-weight:500;gap:6px}.analisis-form input,.analisis-form select,.analisis-form textarea{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease}.analisis-form input:focus,.analisis-form select:focus,.analisis-form textarea:focus{background:#fff;border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb26;outline:none}.analisis-form textarea{min-height:100px;resize:vertical}.impedancia-form,.segmentos-form{display:flex;flex-direction:column;gap:12px}.impedancia-form-row,.segmento-form-row{grid-gap:10px;background:#2563eb0a;border:1px dashed #d1d5db;border-radius:10px;display:grid;gap:10px;grid-template-columns:repeat(6,minmax(120px,1fr));padding:12px}.impedancia-form-row select,.segmento-form-row select{min-width:120px}.impedancia-form-row .btn-danger,.segmento-form-row .btn-danger{justify-self:end}.impedancia-form-row{grid-template-columns:repeat(5,minmax(120px,1fr))}.form-message{border-radius:8px;font-size:14px;font-weight:600;padding:12px 16px}.form-message.success{background:#10b9811a;color:#047857}.form-message.error{background:#ef44441a;color:#b91c1c}.modal-actions{gap:12px}.modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding-top:20px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-row-full{margin-bottom:12px;padding:0 20px;width:100%}.form-row-two-cols{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px;padding:0 20px}.form-group-compact{display:flex;flex-direction:column;gap:4px}.form-group-compact label{color:#64748b;font-size:10px;font-weight:700;letter-spacing:.6px;margin-bottom:2px;text-transform:uppercase}.form-group-compact input,.form-group-compact select,.form-group-compact textarea{background:#fff;background:var(--white);border:1.5px solid #e2e8f0;border-radius:6px;color:#1f2937;color:var(--text-dark);font-family:inherit;font-size:13px;height:36px;padding:8px 12px;transition:all .3s ease}.form-group-compact textarea{height:auto;line-height:1.4;min-height:50px}.form-group-compact input:focus,.form-group-compact select:focus,.form-group-compact textarea:focus{background:#fff;border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 2px #ff00000f;outline:none}.form-group-compact select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;cursor:pointer;padding-right:35px}.form-group{gap:10px;margin-bottom:4px}.form-group label{align-items:center;color:#1f2937;color:var(--text-dark);display:flex;font-size:14px;gap:6px;letter-spacing:.5px;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:#fff;background:var(--white);border-radius:10px;color:#1f2937;color:var(--text-dark);font-family:inherit;font-size:15px;padding:14px 18px;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;box-shadow:0 0 0 4px #ff00001a}.form-group textarea{line-height:1.6;min-height:100px;resize:vertical}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;cursor:pointer;padding-right:45px}.asistencia-info{background:#2563eb0d;border:1px solid #2563eb1a;border-radius:12px;margin:0 20px 24px;padding:20px}.asistencia-info h4{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:600;margin:0 0 12px}.asistencia-info p{color:#6b7280;color:var(--text-light);font-size:14px;margin:4px 0}.asistencia-lista{margin:24px 20px 0}.asistencia-lista h5{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.participante-item{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px;overflow:hidden;transition:all .3s ease}.participante-item:hover{background:#2563eb05;border-color:#2563eb33}.participante-main{align-items:center;display:flex;justify-content:space-between;padding:16px}.participante-info{flex:1 1}.participante-nombre{align-items:center;color:#1f2937;color:var(--text-dark);display:flex;font-size:16px;font-weight:600;gap:8px;margin-bottom:4px}.participante-email{align-items:center;color:#6b7280;color:var(--text-light);display:flex;flex-wrap:wrap;font-size:14px;gap:4px}.participante-asistencia{align-items:center;display:flex;flex-shrink:0;margin-left:16px;min-width:100px}.participante-notas{border-top:1px solid #f3f4f6;padding:0 16px 16px}.participante-item span{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:500}.checkbox-container{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:8px;position:relative;-webkit-user-select:none;user-select:none}.checkbox-container input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkmark{background-color:#fff;background-color:var(--white);border:2px solid #e2e8f0;border-radius:4px;flex-shrink:0;height:20px;position:relative;transition:all .3s ease;width:20px}.checkbox-container input:checked~.checkmark,.checkbox-container:hover input~.checkmark{border-color:red;border-color:var(--primary-color)}.checkbox-container input:checked~.checkmark{background-color:red;background-color:var(--primary-color)}.checkmark:after{content:"";display:none;position:absolute}.checkbox-container input:checked~.checkmark:after{display:block}.checkbox-container .checkmark:after{border:solid #fff;border-width:0 2px 2px 0;height:10px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:6px}.checkbox-label{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:500;white-space:nowrap}@media (max-width:768px){.modal-content{margin:20px;width:95%}.form-grid{grid-template-columns:1fr}.participante-main{align-items:stretch;flex-direction:column;gap:12px}.participante-asistencia{justify-content:center;margin-left:0}.participante-notas{padding:12px 16px 16px}.modal-body,.modal-footer,.modal-header{padding:16px}}.entrenamiento-actions{display:flex;flex-wrap:wrap;gap:8px}.entrenamiento-actions button{align-items:center;display:inline-flex;font-size:12px;justify-content:center;padding:6px 12px}.progreso-container{gap:8px}.progreso-bar{background:#e2e8f0;width:60px}.progreso-fill{background:linear-gradient(90deg,red,#10b981);background:linear-gradient(90deg,var(--primary-color),#10b981)}.progreso-text{color:#1f2937;color:var(--text-dark)}.entrenamiento-modal{max-width:800px}.full-width{grid-column:1/-1}.ejercicios-section{background:#2563eb05;border:1px solid #e2e8f0;border-radius:12px;margin:24px 20px 0;padding:20px}.ejercicios-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.ejercicios-header h4{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0}.ejercicios-disponibles select{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:6px;font-size:14px;min-width:200px;padding:8px 12px}.ejercicios-lista{display:flex;flex-direction:column;gap:12px}.ejercicio-item{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:8px;padding:16px;transition:all .3s ease}.ejercicio-item:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 2px 8px #2563eb1a}.ejercicio-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.ejercicio-info strong{color:#1f2937;color:var(--text-dark);font-size:14px}.ejercicio-categoria{background:#2563eb1a;color:#9ca3af;color:var(--text-muted);padding:2px 8px}.ejercicio-params{align-items:end;display:flex;gap:12px}.param-group{display:flex;flex:1 1;flex-direction:column;gap:4px}.param-group label{color:#9ca3af;color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.param-group input{border:1px solid #e2e8f0;border-radius:6px;font-size:14px;padding:8px 12px;text-align:center}.btn-remove-ejercicio{background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;color:#ef4444;cursor:pointer;flex-shrink:0;font-size:14px;padding:8px;transition:all .3s ease}.btn-remove-ejercicio:hover{background:#ef444433;border-color:#ef4444}.ejercicios-empty{color:#9ca3af;color:var(--text-muted);font-style:italic;padding:40px 20px;text-align:center}.progreso-modal{max-width:700px}.progreso-info{background:linear-gradient(135deg,#2563eb0d,#10b9810d);border:1px solid #2563eb1a;border-radius:12px;margin-bottom:24px;padding:24px}.progreso-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.progreso-header h4{color:#1f2937;color:var(--text-dark);font-size:20px;font-weight:600;margin:0}.progreso-badge{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:20px;padding:6px 12px}.progreso-detalles{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.detalle-item{color:#6b7280;color:var(--text-light);font-size:14px}.detalle-item strong{color:#1f2937;color:var(--text-dark);display:block;margin-bottom:4px}.progreso-visual{align-items:center;display:flex;gap:24px}.progreso-circle{align-items:center;background:conic-gradient(red 0deg,red 90deg,#e2e8f0 90deg);background:conic-gradient(var(--primary-color) 0deg,var(--primary-color) calc(var(--progreso, 25)*3.6deg),#e2e8f0 calc(var(--progreso, 25)*3.6deg));border-radius:50%;display:flex;height:80px;justify-content:center;position:relative;width:80px}.progreso-circle:before{background:#fff;background:var(--white);border-radius:50%;content:"";height:60px;position:absolute;width:60px}.progreso-number{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:700;z-index:1}.progreso-bar-large{background:#e2e8f0;border-radius:6px;flex:1 1;height:12px;overflow:hidden}.progreso-fill-large{background:linear-gradient(90deg,red,#10b981);background:linear-gradient(90deg,var(--primary-color),#10b981);border-radius:6px;height:100%;transition:width .5s ease}.ejercicios-progreso{margin-top:24px}.ejercicios-progreso h5{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0 0 16px}.ejercicios-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ejercicio-progreso-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:8px;padding:16px;text-align:center;transition:all .3s ease}.ejercicio-progreso-card:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb1a;transform:translateY(-2px)}.ejercicio-nombre{font-size:14px;font-weight:600;margin-bottom:8px}.ejercicio-specs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ejercicio-specs span{background:#2563eb1a;border-radius:8px;color:#9ca3af;color:var(--text-muted);font-size:12px;padding:2px 6px}.notas-progreso{background:#10b9810d;border:1px solid #10b9811a;border-radius:12px;margin-top:24px;padding:20px}.notas-progreso h5{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0 0 12px}.notas-progreso p{color:#6b7280;color:var(--text-light);font-size:14px;line-height:1.5;margin:0}.estado.activo{background:#10b9811a;color:#059669}.estado.pausado{background:#f59e0b1a;color:#d97706}.estado.completado{background:#2563eb1a;color:red;color:var(--primary-color)}.estado.cancelado{background:#ef44441a;color:#dc2626}@media (max-width:768px){.entrenamiento-actions{flex-direction:column}.entrenamiento-actions button{width:100%}.ejercicio-params{flex-direction:column;gap:8px}.progreso-visual{flex-direction:column;gap:16px}.ejercicios-grid{grid-template-columns:1fr}}.miembro-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:20px;transition:all .3s ease}.miembro-card:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 8px 25px #2563eb1a;transform:translateY(-2px)}.miembro-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.miembro-header h4{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:600;margin:0}.estado-badge.activo{background:#10b9811a;border:1px solid #10b9814d;color:#059669}.estado-badge.pausado{background:#f59e0b1a;border:1px solid #f59e0b4d;color:#d97706}.estado-badge.inactivo{background:#6b72801a;border:1px solid #6b72804d;color:#6b7280}.miembro-info p{align-items:center;color:#6b7280;color:var(--text-light);display:flex;font-size:14px;gap:8px;margin:8px 0}.miembro-stats{grid-gap:12px;border-top:1px solid #f1f5f9;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:16px;padding-top:16px}.stat-item{gap:4px}.plan-badge,.stat-label{font-size:12px;font-weight:600}.plan-badge{border-radius:8px;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.plan-badge.básico{background:#6b72801a;color:#6b7280}.plan-badge.premium{background:#2563eb1a;color:red;color:var(--primary-color)}.plan-badge.vip{background:#9333ea1a;color:#9333ea}.miembro-actions{border-top:1px solid #f1f5f9;margin-top:16px;padding-top:16px}.miembro-actions button{flex:1 1;font-size:13px;padding:8px 12px}.perfil-modal{max-height:90vh;max-width:800px;overflow-y:auto}.perfil-header{align-items:center;background:linear-gradient(135deg,#2563eb0d,#10b9810d);border:1px solid #2563eb1a;border-radius:12px;display:flex;gap:20px;margin-bottom:24px;padding:20px}.perfil-avatar{flex-shrink:0}.avatar-circle{align-items:center;background:linear-gradient(135deg,red,#10b981);background:linear-gradient(135deg,var(--primary-color),#10b981);border-radius:50%;color:#fff;display:flex;font-size:32px;font-weight:700;height:80px;justify-content:center;text-transform:uppercase;width:80px}.perfil-datos h4{color:#1f2937;color:var(--text-dark);font-size:24px;font-weight:600;margin:0 0 8px}.perfil-email,.perfil-telefono{color:#6b7280;color:var(--text-light);font-size:14px;margin:4px 0}.detalle-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.detalle-item{align-items:center;background:#2563eb05;border:1px solid #2563eb1a;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.detalle-item strong{color:#9ca3af;color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.objetivo-section{background:#10b9810d;border:1px solid #10b9811a;border-radius:12px;margin-top:20px;padding:16px}.objetivo-section h5{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0 0 8px}.objetivo-section p{color:#6b7280;color:var(--text-light);font-size:14px;line-height:1.5;margin:0}.historial-section{background:#2563eb05;border:1px solid #2563eb1a;border-radius:12px;margin-top:24px;padding:20px}.historial-section h5{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0 0 16px}.historial-lista{display:flex;flex-direction:column;gap:8px}.historial-item{align-items:center;background:#fff;background:var(--white);border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.historial-item:hover{box-shadow:0 2px 8px #2563eb1a}.historial-fecha{color:#9ca3af;color:var(--text-muted);font-size:12px;font-weight:600;min-width:80px}.historial-info{display:flex;flex:1 1;flex-direction:column;gap:2px;margin-left:16px}.historial-tipo{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600}.historial-duracion{color:#9ca3af;color:var(--text-muted);font-size:12px}.historial-estado{align-items:center;border-radius:50%;display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;width:24px}.historial-estado.completado{background:#10b9811a;border:2px solid #10b9814d;color:#059669}.historial-estado.incompleto{background:#ef44441a;border:2px solid #ef44444d;color:#dc2626}.notas-section{background:#10b98105;border:1px solid #10b9811a;border-radius:12px;margin-top:24px;padding:20px}.notas-section h5{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0 0 16px}.notas-lista{display:flex;flex-direction:column;gap:12px}.nota-item{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-left:4px solid red;border-left:4px solid var(--primary-color);border-radius:8px;padding:16px}.nota-fecha{color:#9ca3af;color:var(--text-muted);font-size:12px;font-weight:600;margin-bottom:8px}.nota-contenido{color:#6b7280;color:var(--text-light);font-size:14px;line-height:1.5}.notas-modal{max-width:500px}.notas-form textarea{border:1px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:14px;min-height:120px;padding:16px;resize:vertical;transition:all .3s ease;width:100%}.notas-form textarea:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}@media (max-width:768px){.miembro-actions{flex-direction:column}.miembro-stats{grid-template-columns:1fr}.perfil-header{flex-direction:column;gap:16px;text-align:center}.detalle-grid{grid-template-columns:1fr}.historial-item{align-items:flex-start;flex-direction:column;gap:8px}.historial-info{margin-left:0}}.seguimiento-content{padding:0}.seguimiento-header{align-items:center;background:linear-gradient(135deg,#2563eb0d,#10b9810d);border:1px solid #2563eb1a;border-radius:16px;display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.seguimiento-header h3{color:#1f2937;color:var(--text-dark);font-size:24px;font-weight:700;margin:0}.periodo-selector select{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:8px;color:#1f2937;color:var(--text-dark);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px}.metricas-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.metrica-card{align-items:center;background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 4px #0000000d;display:flex;gap:16px;padding:24px;transition:all .3s ease}.metrica-card:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 8px 25px #2563eb1a;transform:translateY(-2px)}.metrica-icon{align-items:center;background:#2563eb1a;border-radius:12px;display:flex;flex-shrink:0;font-size:32px;height:60px;justify-content:center;width:60px}.metrica-info h4{color:#9ca3af;color:var(--text-muted);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.metrica-valor{color:#1f2937;color:var(--text-dark);font-size:28px;font-weight:700;margin-bottom:4px}.metrica-cambio{border-radius:12px;font-size:12px;font-weight:600;padding:2px 8px}.metrica-cambio.positivo{background:#10b9811a;color:#059669}.metrica-cambio.negativo{background:#ef44441a;color:#dc2626}.metrica-cambio.neutral{background:#6b72801a;color:#6b7280}.graficos-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:32px}.grafico-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 4px #0000000d;padding:24px}.grafico-card h4{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:600;margin:0 0 20px}.grafico-placeholder{align-items:end;background:#2563eb05;border:1px solid #2563eb1a;border-radius:12px;display:flex;height:200px;justify-content:center;padding:20px}.barras-container{align-items:end;display:flex;gap:12px;height:100%}.barra{background:linear-gradient(180deg,red,#10b981);background:linear-gradient(180deg,var(--primary-color),#10b981);border-radius:4px 4px 0 0;cursor:pointer;position:relative;transition:all .3s ease;width:24px}.barra:hover{opacity:.8;transform:scale(1.05)}.barra:after{bottom:-20px;color:#9ca3af;color:var(--text-muted);content:attr(data-label);font-size:12px;font-weight:600;left:50%;position:absolute;transform:translateX(-50%)}.objetivos-chart{display:flex;flex-direction:column;gap:16px}.objetivo-item{align-items:center;display:flex;gap:12px}.objetivo-label{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:500;min-width:120px}.objetivo-barra{background:#e2e8f0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.objetivo-progreso{background:linear-gradient(90deg,red,#10b981);background:linear-gradient(90deg,var(--primary-color),#10b981);border-radius:4px;height:100%;transition:width .5s ease}.objetivo-porcentaje{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600;min-width:40px;text-align:right}.alertas-section{margin-bottom:32px}.alertas-section h4{color:#1f2937;color:var(--text-dark);font-size:20px;font-weight:600;margin:0 0 20px}.alertas-lista{display:flex;flex-direction:column;gap:16px}.alerta-item{align-items:center;border:1px solid;border-radius:12px;display:flex;gap:16px;padding:20px;transition:all .3s ease}.alerta-item.urgente{background:#ef44440d;border-color:#ef444433}.alerta-item.info{background:#2563eb0d;border-color:#2563eb33}.alerta-item.exito{background:#10b9810d;border-color:#10b98133}.alerta-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.alerta-icon{flex-shrink:0;font-size:24px}.alerta-contenido{flex:1 1}.alerta-contenido h5{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0 0 4px}.alerta-contenido p{color:#6b7280;color:var(--text-light);font-size:14px;margin:0 0 8px}.alerta-tiempo{color:#9ca3af;color:var(--text-muted);font-size:12px;font-weight:500}.btn-alerta{border:none;border-radius:8px;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;padding:8px 16px;transition:all .3s ease}.urgente .btn-alerta{background:#ef44441a;border:1px solid #ef44444d;color:#dc2626}.info .btn-alerta{background:#2563eb1a;border:1px solid #2563eb4d;color:red;color:var(--primary-color)}.exito .btn-alerta{background:#10b9811a;border:1px solid #10b9814d;color:#059669}.btn-alerta:hover{opacity:.8;transform:scale(1.05)}.ranking-section h4{color:#1f2937;color:var(--text-dark);font-size:20px;font-weight:600;margin:0 0 20px}.ranking-lista{display:flex;flex-direction:column;gap:12px}.ranking-item{align-items:center;background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:16px;padding:16px 20px;transition:all .3s ease}.ranking-item:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb1a;transform:translateY(-1px)}.ranking-posicion{align-items:center;background:#2563eb1a;border-radius:50%;color:red;color:var(--primary-color);display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.ranking-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.ranking-nombre{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600}.ranking-progreso{align-items:center;display:flex;gap:12px}.ranking-progreso .progreso-bar{background:#e2e8f0;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.ranking-progreso .progreso-fill{background:linear-gradient(90deg,red,#10b981);background:linear-gradient(90deg,var(--primary-color),#10b981);border-radius:3px;height:100%;transition:width .5s ease}.ranking-progreso .progreso-texto{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600;min-width:40px}.ranking-badge{flex-shrink:0;font-size:24px}.ranking-badge.oro{filter:drop-shadow(0 2px 4px rgba(255,215,0,.3))}.ranking-badge.plata{filter:drop-shadow(0 2px 4px rgba(192,192,192,.3))}.ranking-badge.bronce{filter:drop-shadow(0 2px 4px rgba(205,127,50,.3))}@media (max-width:768px){.seguimiento-header{flex-direction:column;gap:16px;text-align:center}.graficos-section,.metricas-grid{grid-template-columns:1fr}.alerta-item{align-items:flex-start;flex-direction:column;gap:12px}.btn-alerta{align-self:flex-end}.ranking-item{align-items:flex-start;flex-direction:column;gap:12px}.ranking-progreso{width:100%}}.asistencia-content{padding:0}.asistencia-header{background:linear-gradient(135deg,#2563eb0d,#10b9810d);border:1px solid #2563eb1a;border-radius:16px;margin-bottom:32px;padding:24px}.asistencia-header h3{color:#1f2937;color:var(--text-dark);font-size:24px;font-weight:700;margin:0}.fecha-selector{align-items:center;display:flex;gap:16px}.btn-fecha{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:8px;color:#1f2937;color:var(--text-dark);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.btn-fecha:hover{background:#2563eb0d;border-color:red;border-color:var(--primary-color)}.fecha-actual{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;min-width:120px;text-align:center}.asistencia-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.stat-card{background:var(--white);box-shadow:0 2px 4px #0000000d;gap:16px;transition:all .3s ease}.stat-card:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 8px 25px #2563eb1a;transform:translateY(-2px)}.stat-icon{background:#2563eb1a;flex-shrink:0;font-size:28px;height:50px;width:50px}.stat-info h4{color:#9ca3af;color:var(--text-muted);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.stat-valor{color:red;color:var(--primary-color);font-size:24px;font-weight:700;margin-bottom:4px}.stat-detalle{color:#6b7280;color:var(--text-light);font-size:12px}.calendario-section{margin-bottom:32px}.calendario-section h4{color:#1f2937;color:var(--text-dark);font-size:20px;font-weight:600;margin:0 0 20px}.calendario-container{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 4px #0000000d;padding:24px}.calendario-header{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin-bottom:16px}.dia-header{color:#9ca3af;color:var(--text-muted);font-size:14px;font-weight:600;letter-spacing:.5px;padding:12px 8px;text-align:center;text-transform:uppercase}.calendario-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin-bottom:20px}.dia-calendario{align-items:center;aspect-ratio:1;background:#fff;background:var(--white);border:1px solid #f1f5f9;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;position:relative;transition:all .3s ease}.dia-calendario:hover{background:#2563eb05;border-color:red;border-color:var(--primary-color)}.dia-calendario.vacio{background:#f8fafc;cursor:default}.dia-calendario.hoy{background:#2563eb1a;border-color:red;border-color:var(--primary-color);font-weight:700}.dia-calendario.futuro{background:#f8fafc;color:#9ca3af;color:var(--text-muted)}.numero-dia{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:500;margin-bottom:4px}.indicador-asistencia{border-radius:50%;bottom:6px;height:8px;position:absolute;width:8px}.indicador-asistencia.alta{background:#10b981}.indicador-asistencia.media{background:#f59e0b}.indicador-asistencia.baja{background:#ef4444}.calendario-leyenda{border-top:1px solid #f1f5f9;display:flex;gap:24px;justify-content:center;padding-top:16px}.leyenda-item{align-items:center;color:#6b7280;color:var(--text-light);display:flex;font-size:12px;gap:8px}.indicador-leyenda{border-radius:50%;height:12px;width:12px}.indicador-leyenda.alta{background:#10b981}.indicador-leyenda.media{background:#f59e0b}.indicador-leyenda.baja{background:#ef4444}.clases-dia-section{margin-bottom:32px}.clases-dia-section h4{color:#1f2937;color:var(--text-dark);font-size:20px;font-weight:600;margin:0 0 20px}.clases-dia-lista{display:flex;flex-direction:column;gap:16px}.clase-dia-item{align-items:center;background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:20px;padding:20px;transition:all .3s ease}.clase-dia-item:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb1a;transform:translateY(-1px)}.clase-info{flex:1 1}.clase-info h5{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0 0 4px}.clase-info p{color:#6b7280;color:var(--text-light);font-size:14px;margin:0}.asistencia-info{align-items:center;display:flex;gap:16px}.asistencia-circular{position:relative}.circular-progress{align-items:center;background:conic-gradient(red 0deg,red calc(var(--progreso)*3.6deg),#e2e8f0 calc(var(--progreso)*3.6deg));background:conic-gradient(var(--primary-color) 0deg,var(--primary-color) calc(var(--progreso)*3.6deg),#e2e8f0 calc(var(--progreso)*3.6deg));border-radius:50%;display:flex;height:60px;justify-content:center;position:relative;width:60px}.circular-progress:before{background:#fff;background:var(--white);border-radius:50%;content:"";height:44px;position:absolute;width:44px}.progreso-texto{color:#1f2937;color:var(--text-dark);font-size:12px;font-weight:700;z-index:1}.porcentaje-asistencia{color:#10b981;font-size:18px;font-weight:700}.btn-ver-asistencia{background:#2563eb1a;border:1px solid red;border:1px solid var(--primary-color);border-radius:8px;color:red;color:var(--primary-color);cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .3s ease}.btn-ver-asistencia:hover{background:red;background:var(--primary-color);color:#fff}.reporte-miembros-section h4{color:#1f2937;color:var(--text-dark);font-size:20px;font-weight:600;margin:0 0 20px}.miembros-asistencia-lista{display:flex;flex-direction:column;gap:16px}.miembro-asistencia-item{align-items:center;background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:16px;padding:20px;transition:all .3s ease}.miembro-asistencia-item:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb1a;transform:translateY(-1px)}.miembro-avatar .avatar-circle{align-items:center;background:linear-gradient(135deg,red,#10b981);background:linear-gradient(135deg,var(--primary-color),#10b981);border-radius:50%;color:#fff;display:flex;font-size:20px;font-weight:700;height:50px;justify-content:center;text-transform:uppercase;width:50px}.miembro-asistencia-info{flex:1 1}.miembro-asistencia-info h5{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0 0 4px}.miembro-asistencia-info p{color:#6b7280;color:var(--text-light);font-size:14px;margin:0}.asistencia-stats-miembro{gap:8px}.asistencia-stats-miembro,.stat-miembro{align-items:center;display:flex;flex-direction:column}.stat-miembro{gap:2px}.stat-miembro .stat-label{color:#9ca3af;color:var(--text-muted);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.stat-miembro .stat-valor{color:red;color:var(--primary-color);font-size:18px;font-weight:700}.racha-asistencia{align-items:center;display:flex;flex-direction:column;gap:2px}.racha-numero{color:#10b981;font-size:20px;font-weight:700}.racha-texto{color:#9ca3af;color:var(--text-muted);font-size:10px}.estado-miembro,.racha-texto{letter-spacing:.5px;text-transform:uppercase}.estado-miembro{border-radius:20px;font-size:12px;font-weight:600;padding:6px 12px}.estado-miembro.activo{background:#10b9811a;border:1px solid #10b9814d;color:#059669}.estado-miembro.alerta{background:#f59e0b1a;border:1px solid #f59e0b4d;color:#d97706}.estado-miembro.excelente{background:#9333ea1a;border:1px solid #9333ea4d;color:#9333ea}@media (max-width:768px){.asistencia-header{flex-direction:column;gap:16px;text-align:center}.fecha-selector{justify-content:center}.asistencia-stats{grid-template-columns:1fr}.calendario-grid{gap:4px}.dia-calendario{font-size:12px}.calendario-leyenda{flex-direction:column;gap:12px}.clase-dia-item{align-items:flex-start;flex-direction:column;gap:16px}.asistencia-info{align-self:stretch;justify-content:space-between}.miembro-asistencia-item{align-items:flex-start;flex-direction:column;gap:16px}.asistencia-stats-miembro{align-self:stretch;flex-direction:row;justify-content:space-between}}.citas-content{padding:0}.citas-header{align-items:center;background:linear-gradient(135deg,#9333ea0d,#2563eb0d);border:1px solid #9333ea1a;border-radius:16px;display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.citas-header h3{color:#1f2937;color:var(--text-dark);font-size:24px;font-weight:700;margin:0}.citas-actions{display:flex;gap:12px}.btn-nueva-cita{align-items:center;background:red;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease}.btn-nueva-cita:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.btn-disponibilidad{align-items:center;background:#10b9811a;border:1px solid #10b9814d;border-radius:8px;color:#059669;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease}.btn-disponibilidad:hover{background:#10b981;color:#fff}.citas-calendario-section{margin-bottom:32px}.calendario-nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.calendario-nav h4{color:#1f2937;color:var(--text-dark);font-size:20px;font-weight:600;margin:0}.vista-selector{display:flex;gap:8px}.btn-vista{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:6px;color:#1f2937;color:var(--text-dark);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.btn-vista.activo{background:red;background:var(--primary-color);color:#fff}.btn-vista.activo,.btn-vista:hover:not(.activo){border-color:red;border-color:var(--primary-color)}.btn-vista:hover:not(.activo){background:#2563eb0d}.calendario-citas-container{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 4px #0000000d;padding:24px}.vista-semanal{grid-gap:1px;background:#f1f5f9;border-radius:8px;display:grid;gap:1px;grid-template-columns:80px repeat(7,1fr);overflow:hidden}.hora-label{background:#fff;background:var(--white);border-right:1px solid #f1f5f9;color:#9ca3af;color:var(--text-muted);font-size:12px;font-weight:500}.dia-header-citas,.hora-label{padding:12px 8px;text-align:center}.dia-header-citas{background:#f8fafc;border-bottom:1px solid #f1f5f9;color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600}.celda-hora{background:#fff;background:var(--white);cursor:pointer;min-height:60px;position:relative;transition:all .2s ease}.celda-hora:hover{background:#2563eb05}.celda-hora.ocupada{background:#2563eb0d}.cita-item{background:red;background:var(--primary-color);border-radius:4px;color:#fff;cursor:pointer;font-size:11px;font-weight:500;left:2px;padding:4px 8px;position:absolute;right:2px;top:2px;transition:all .3s ease;z-index:2}.cita-item:hover{background:#1d4ed8;transform:scale(1.02)}.cita-item.confirmada{background:#10b981}.cita-item.pendiente{background:#f59e0b}.cita-item.cancelada{background:#ef4444;opacity:.7}.citas-lista-section{margin-bottom:32px}.citas-lista-section h4{color:#1f2937;color:var(--text-dark);font-size:20px;font-weight:600;margin:0 0 20px}.citas-filtros{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.filtro-estado{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:20px;color:#1f2937;color:var(--text-dark);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.filtro-estado.activo{background:red;background:var(--primary-color);border-color:red;border-color:var(--primary-color);color:#fff}.filtro-estado:hover:not(.activo){background:#2563eb0d;border-color:red;border-color:var(--primary-color)}.citas-lista{display:flex;flex-direction:column;gap:16px}.cita-card{align-items:center;background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;gap:20px;padding:20px;transition:all .3s ease}.cita-card:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb1a;transform:translateY(-1px)}.cita-fecha-hora{align-items:center;display:flex;flex-direction:column;gap:4px;min-width:80px}.cita-fecha{color:red;color:var(--primary-color);font-size:14px;font-weight:600}.cita-hora{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:700}.cita-info{flex:1 1}.cita-info h5{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0 0 4px}.cita-tipo{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.cita-tipo.evaluacion{background:#9333ea1a;color:#9333ea}.cita-tipo.seguimiento{background:#10b9811a;color:#059669}.cita-tipo.rehabilitacion{background:#f59e0b1a;color:#d97706}.cita-estado{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.cita-estado.confirmada{background:#10b9811a;border:1px solid #10b9814d;color:#059669}.cita-estado.pendiente{background:#f59e0b1a;border:1px solid #f59e0b4d;color:#d97706}.cita-estado.cancelada{background:#ef44441a;border:1px solid #ef44444d;color:#dc2626}.cita-acciones{display:flex;gap:8px}.btn-accion-cita{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;transition:all .3s ease}.btn-accion-cita.editar{border-color:red;border-color:var(--primary-color);color:red;color:var(--primary-color)}.btn-accion-cita.editar:hover{background:red;background:var(--primary-color);color:#fff}.btn-accion-cita.cancelar{border-color:#dc2626;color:#dc2626}.btn-accion-cita.cancelar:hover{background:#dc2626;color:#fff}.modal-nueva-cita .modal-content{max-height:90vh;max-width:600px;overflow-y:auto}.form-nueva-cita{gap:20px}.form-group-cita,.form-nueva-cita{display:flex;flex-direction:column}.form-group-cita{gap:8px}.form-group-cita label{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600}.form-group-cita input,.form-group-cita select,.form-group-cita textarea{border:1px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px;transition:all .3s ease}.form-group-cita input:focus,.form-group-cita select:focus,.form-group-cita textarea:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-group-cita textarea{min-height:80px;resize:vertical}.duracion-selector{display:flex;gap:8px}.duracion-opcion{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px;text-align:center;transition:all .3s ease}.duracion-opcion.seleccionada{background:red;background:var(--primary-color);border-color:red;border-color:var(--primary-color);color:#fff}.duracion-opcion:hover:not(.seleccionada){background:#2563eb0d;border-color:red;border-color:var(--primary-color)}.modal-disponibilidad .modal-content{max-width:800px}.disponibilidad-form{display:flex;flex-direction:column;gap:24px}.dias-semana{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(7,1fr)}.dia-disponibilidad{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:16px}.dia-disponibilidad.activo{background:#2563eb05;border-color:red;border-color:var(--primary-color)}.dia-header-disp{align-items:center;display:flex;gap:8px}.dia-checkbox{height:16px;width:16px}.dia-nombre{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600}.horarios-dia{display:flex;flex-direction:column;gap:8px}.horario-input{align-items:center;display:flex;gap:8px}.horario-input input{border:1px solid #e2e8f0;border-radius:4px;flex:1 1;font-size:12px;padding:8px}.btn-agregar-horario{background:#10b9811a;border:1px solid #10b9814d;border-radius:4px;color:#059669;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .3s ease}.btn-agregar-horario:hover{background:#10b981;color:#fff}@media (max-width:768px){.citas-header{flex-direction:column;gap:16px;text-align:center}.citas-actions{justify-content:center}.calendario-nav{align-items:stretch;flex-direction:column;gap:16px}.vista-selector{justify-content:center}.vista-semanal{font-size:12px;grid-template-columns:60px repeat(7,1fr)}.form-row{grid-template-columns:1fr}.duracion-selector{flex-direction:column}.dias-semana{grid-template-columns:1fr}.cita-card{align-items:flex-start;flex-direction:column;gap:16px}.cita-fecha-hora{flex-direction:row}.cita-acciones,.cita-fecha-hora{align-self:stretch;justify-content:space-between}}.rutinas-content{padding:0}.rutinas-header{align-items:center;background:linear-gradient(135deg,#10b9810d,#2563eb0d);border:1px solid #10b9811a;border-radius:16px;display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.rutinas-header h3{color:#1f2937;color:var(--text-dark);font-size:24px;font-weight:700;margin:0}.rutinas-actions{display:flex;gap:12px}.btn-nueva-rutina{align-items:center;background:red;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease}.btn-nueva-rutina:hover{background:#1d4ed8;box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.btn-biblioteca{align-items:center;background:#10b9811a;border:1px solid #10b9814d;border-radius:8px;color:#059669;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease}.btn-biblioteca:hover{background:#10b981;color:#fff}.rutinas-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:32px}.rutina-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 4px #0000000d;padding:24px;transition:all .3s ease}.rutina-card:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 8px 25px #2563eb1a;transform:translateY(-2px)}.rutina-header-card{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.rutina-info h4{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:700;margin:0 0 8px}.rutina-info p{color:#6b7280;color:var(--text-light);font-size:14px;line-height:1.5;margin:0}.rutina-stats{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.rutina-stat{color:#9ca3af;color:var(--text-muted);font-size:12px}.rutina-stat strong{color:red;color:var(--primary-color);font-weight:600}.rutina-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.rutina-tag{border-radius:12px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.rutina-tag.fuerza{background:#ef44441a;color:#dc2626}.rutina-tag.cardio{background:#f59e0b1a;color:#d97706}.rutina-tag.flexibilidad{background:#9333ea1a;color:#9333ea}.rutina-tag.resistencia{background:#10b9811a;color:#059669}.rutina-ejercicios{margin-bottom:20px}.rutina-ejercicios h5{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600;margin:0 0 12px}.ejercicios-preview{display:flex;flex-direction:column;gap:8px}.ejercicio-preview{align-items:center;background:#f8fafc;border-radius:6px;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px}.ejercicio-nombre{color:#1f2937;color:var(--text-dark);font-weight:500}.ejercicio-detalles{color:#9ca3af;color:var(--text-muted);font-size:12px}.rutina-acciones{display:flex;gap:8px}.btn-accion-rutina{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;padding:10px 16px;text-align:center;transition:all .3s ease}.btn-accion-rutina.asignar{border-color:red;border-color:var(--primary-color);color:red;color:var(--primary-color)}.btn-accion-rutina.asignar:hover{background:red;background:var(--primary-color);color:#fff}.btn-accion-rutina.editar{border-color:#059669;color:#059669}.btn-accion-rutina.editar:hover{background:#059669;color:#fff}.btn-accion-rutina.eliminar{border-color:#dc2626;color:#dc2626}.btn-accion-rutina.eliminar:hover{background:#dc2626;color:#fff}.btn-accion-rutina.descargar{border-color:#0891b2;color:#0891b2}.btn-accion-rutina.descargar:hover{background:#0891b2;color:#fff}.modal-nueva-rutina .modal-content{max-height:92vh;max-width:1000px;overflow-y:auto;width:95%}.form-nueva-rutina{display:flex;flex-direction:column;gap:24px}.rutina-form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.rutina-form-section h4{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0 0 16px}.form-group-rutina{display:flex;flex-direction:column;gap:8px}.form-group-rutina label{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600}.form-group-rutina input,.form-group-rutina select,.form-group-rutina textarea{border:1px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px;transition:all .3s ease}.form-group-rutina input:focus,.form-group-rutina select:focus,.form-group-rutina textarea:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-group-rutina textarea{min-height:80px;resize:vertical}.categorias-selector{display:flex;flex-wrap:wrap;gap:8px}.categoria-opcion{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:20px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.categoria-opcion.seleccionada{background:red;background:var(--primary-color);border-color:red;border-color:var(--primary-color);color:#fff}.categoria-opcion:hover:not(.seleccionada){background:#2563eb0d;border-color:red;border-color:var(--primary-color)}.ejercicios-rutina{display:flex;flex-direction:column;gap:16px}.calculadora-grid{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.calculadora-actions{align-items:center;display:flex;gap:10px}.btn-calcular,.btn-reset{border:1px solid #0000;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease}.btn-calcular{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;color:var(--white)}.btn-calcular:hover{filter:brightness(1.05)}.btn-reset{background:#0f172a0d;border-color:#0f172a1a;color:#1f2937;color:var(--text-dark)}.btn-reset:hover{background:#0f172a1a}.section-note{color:#9ca3af;color:var(--text-muted);font-size:13px;font-weight:500}.calculadora-resultado{align-items:center;border-radius:12px;display:inline-flex;font-size:14px;font-weight:600;gap:8px;margin-top:14px;padding:12px 16px}.calculadora-resultado.success{background:#10b9811f;border:1px solid #10b9814d;color:#047857}.calculadora-resultado.error{background:#ef44441f;border:1px solid #ef44444d;color:#b91c1c}.ejercicio-rutina-item{align-items:center;background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:16px;padding:16px}.ejercicio-rutina-info{flex:1 1}.ejercicio-rutina-info h5{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600;margin:0 0 4px}.ejercicio-rutina-info p{color:#6b7280;color:var(--text-light);font-size:12px;margin:0}.ejercicio-parametros{align-items:center;display:flex;gap:12px}.parametro-input{align-items:center;display:flex;flex-direction:column;gap:4px}.parametro-input label{color:#9ca3af;color:var(--text-muted);font-size:11px;letter-spacing:.5px;text-transform:uppercase}.parametro-input input{border:1px solid #e2e8f0;border-radius:4px;font-size:13px;padding:6px;text-align:center;width:60px}.btn-remover-ejercicio{background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;color:#dc2626;cursor:pointer;padding:8px;transition:all .3s ease}.btn-remover-ejercicio:hover{background:#dc2626;color:#fff}.btn-agregar-ejercicio{align-items:center;background:#10b9811a;border:1px solid #10b9814d;border-radius:8px;color:#059669;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .3s ease}.btn-agregar-ejercicio:hover{background:#10b981;color:#fff}.modal-biblioteca .modal-content{max-height:92vh;max-width:1200px;overflow-y:auto;width:95%}.biblioteca-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.biblioteca-filtros{display:flex;flex-wrap:wrap;gap:12px}.filtro-categoria{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:20px;color:#1f2937;color:var(--text-dark);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.filtro-categoria.activo{background:red;background:var(--primary-color);border-color:red;border-color:var(--primary-color);color:#fff}.filtro-categoria:hover:not(.activo){background:#2563eb0d;border-color:red;border-color:var(--primary-color)}.ejercicios-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.ejercicio-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;padding:20px;transition:all .3s ease}.ejercicio-card:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 4px 12px #2563eb1a;transform:translateY(-1px)}.ejercicio-card.seleccionado{background:#2563eb05;border-color:red;border-color:var(--primary-color)}.ejercicio-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.ejercicio-acciones{display:flex;gap:6px;opacity:0;transition:opacity .2s ease}.ejercicio-card:hover .ejercicio-acciones{opacity:1}.btn-ejercicio-accion{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;min-width:28px;padding:6px 8px;transition:all .2s ease}.btn-ejercicio-accion.editar{background:#3b82f61a;border:1px solid #3b82f633;color:#3b82f6}.btn-ejercicio-accion.editar:hover{background:#3b82f6;color:#fff;transform:scale(1.05)}.btn-ejercicio-accion.eliminar{background:#ef44441a;border:1px solid #ef444433;color:#ef4444}.btn-ejercicio-accion.eliminar:hover{background:#ef4444;color:#fff;transform:scale(1.05)}.ejercicio-content{cursor:pointer}.ejercicio-content h5{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0 0 8px}.ejercicio-content p{color:#6b7280;color:var(--text-light);font-size:14px;line-height:1.4;margin:0 0 12px}.ejercicio-detalles{display:flex;flex-direction:column;gap:4px;margin-top:8px}.ejercicio-detalles span{color:#9ca3af;color:var(--text-muted);font-size:12px}.ejercicio-categoria{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;padding:4px 12px;text-transform:uppercase}.ejercicio-categoria.fuerza{background:#ef44441a;color:#dc2626}.ejercicio-categoria.cardio{background:#f59e0b1a;color:#d97706}.ejercicio-categoria.flexibilidad{background:#9333ea1a;color:#9333ea}.ejercicio-categoria.resistencia{background:#10b9811a;color:#059669}.ejercicio-musculos{color:#9ca3af;color:var(--text-muted);font-size:12px}.modal-asignar .modal-content{max-width:600px}.miembros-asignar{background:#f8fafc;flex-direction:column;max-height:400px;overflow-y:auto;padding:16px}.miembro-asignar-item,.miembros-asignar{border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:12px}.miembro-asignar-item{align-items:center;background:#fff;background:var(--white);cursor:pointer;padding:12px;transition:all .3s ease}.miembro-asignar-item:hover{background:#2563eb05;border-color:red;border-color:var(--primary-color)}.miembro-asignar-item.seleccionado{background:#2563eb0d;border-color:red;border-color:var(--primary-color)}.miembro-checkbox{height:16px;width:16px}.miembro-asignar-info h5{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600;margin:0 0 4px}.miembro-asignar-info p{color:#6b7280;color:var(--text-light);font-size:12px;margin:0}@media (max-width:768px){.rutinas-header{flex-direction:column;gap:16px;text-align:center}.rutinas-actions{justify-content:center}.rutinas-grid{grid-template-columns:1fr}.biblioteca-header{align-items:stretch;flex-direction:column;gap:16px}.biblioteca-filtros{justify-content:center}.ejercicios-grid{grid-template-columns:1fr}.ejercicio-parametros{flex-wrap:wrap;gap:8px}.parametro-input input{width:50px}.ejercicio-rutina-item{align-items:flex-start;flex-direction:column;gap:12px}.ejercicio-parametros{align-self:stretch;justify-content:space-between}.ejercicio-acciones{opacity:1}.btn-ejercicio-accion{font-size:14px;height:32px;min-width:32px}.modal-header-actions{flex-direction:column;gap:8px}.btn-nuevo-ejercicio{font-size:12px;padding:6px 12px}}.no-miembros-message{background:#fef3cd;border:1px solid #fbbf24;border-radius:8px;padding:20px;text-align:center}.no-miembros-message p{color:#92400e;font-weight:500;margin:0 0 8px}.no-miembros-note{color:#a16207;font-size:14px;font-weight:400!important}.asistencia-actions{align-items:center;display:flex;gap:10px}.btn-escanear-qr{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;box-shadow:0 2px 4px #3b82f64d;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-escanear-qr:hover{box-shadow:0 4px 8px #3b82f666;transform:translateY(-2px)}.btn-registrar-asistencia{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;box-shadow:0 2px 4px #4caf504d;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-registrar-asistencia:hover{box-shadow:0 4px 8px #4caf5066;transform:translateY(-2px)}.asistencia-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.modal-overlay .modal-content .form-group small{color:#6b7280;display:block;font-size:12px;line-height:1.4;margin-top:5px}.btn-confirmar:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.btn-confirmar:disabled:hover{box-shadow:none;transform:none}.no-clases-hoy{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;padding:40px 20px;text-align:center}.no-clases-hoy p{color:#64748b;font-size:16px;margin-bottom:15px}.btn-crear-clase{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 4px #3b82f64d;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-crear-clase:hover{box-shadow:0 4px 8px #3b82f666;transform:translateY(-2px)}.asistencia-dia-modal{max-height:90vh;max-width:800px;overflow-y:auto;width:95%}.asistencias-stats{display:flex;gap:20px;justify-content:center;margin-bottom:25px}.stat-card{box-shadow:0 2px 4px #0000001a;min-width:120px;padding:20px;text-align:center}.stat-number{color:#1e40af;font-size:32px;font-weight:800;margin-bottom:5px}.stat-label{font-size:14px}.asistencias-detalle h4{color:#374151;font-size:18px;margin:0 0 15px}.asistencias-table{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.table-header{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:14px;font-weight:600}.table-header,.table-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:80px 1fr 100px 100px;padding:15px 20px}.table-row{align-items:center;border-bottom:1px solid #e5e7eb;transition:background-color .2s ease}.table-row:hover{background-color:#f8fafc}.table-row:last-child{border-bottom:none}.col-hora{color:#374151;font-family:Courier New,monospace;font-weight:600}.miembro-info strong{color:#374151;font-size:14px;margin-bottom:2px}.miembro-info small{color:#6b7280;font-size:12px}.badge{border-radius:20px;font-size:12px;font-weight:600;padding:4px 8px;text-align:center}.badge.entrada{background:#dcfce7;color:#166534}.badge.salida{background:#fee2e2;color:#991b1b}.badge-metodo{border-radius:20px;font-size:12px;font-weight:600;padding:4px 8px;text-align:center}.badge-metodo.qr{background:#dbeafe;color:#1e40af}.badge-metodo.codigo{background:#fef3c7;color:#92400e}.badge-metodo.manual{background:#f3e8ff;color:#7c3aed}.no-asistencias{color:#6b7280;padding:60px 20px;text-align:center}.no-data-icon{font-size:64px;margin-bottom:20px;opacity:.5}.no-asistencias h4{color:#374151;font-size:20px;margin:0 0 10px}.no-asistencias p{font-size:16px;margin:0}@media (max-width:768px){.asistencia-dia-modal{margin:10px;width:98%}.asistencias-stats{flex-direction:column;gap:15px}.stat-card{min-width:auto}.table-header,.table-row{font-size:12px;gap:10px;grid-template-columns:60px 1fr 80px 80px;padding:12px 15px}.miembro-info strong{font-size:13px}.miembro-info small{font-size:11px}}.nutricion-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 2fr;margin-top:20px}.nutricion-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000001a;box-shadow:0 2px 8px var(--shadow-light);padding:24px}.nutricion-card h4{align-items:center;color:#1f2937;color:var(--text-dark);display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 20px}.miembros-nutricion-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.miembro-nutricion-item{background:#fff;border:2px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:12px;height:-webkit-fit-content;height:fit-content;min-height:320px;overflow:visible;padding:20px;transition:all .3s ease}.miembro-nutricion-item:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 8px 24px #2563eb1f;transform:translateY(-2px)}.miembro-info{display:flex;flex:1 1;flex-direction:column;gap:6px}.miembro-nombre{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:700;letter-spacing:-.02em}.miembro-email{color:#9ca3af;color:var(--text-muted);font-size:13px}.btn-datos-fisicos{align-items:center;background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;justify-content:center;padding:10px 16px;transition:all .3s ease}.btn-datos-fisicos:hover{box-shadow:0 4px 12px #2563eb4d;transform:translateY(-2px)}.miembro-actions{align-items:stretch;display:flex;flex-direction:column;gap:8px;margin-top:auto;min-height:140px;padding-top:12px}.btn-descargar-pauta{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .3s;white-space:nowrap}.btn-descargar-pauta:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.btn-crear-pauta{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;justify-content:center;padding:10px 16px;transition:all .3s;white-space:nowrap}.btn-crear-pauta:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-2px)}.btn-ver-pautas{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;justify-content:center;padding:10px 16px;transition:all .3s;white-space:nowrap}.btn-ver-pautas:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.pautas-list{display:flex;flex-direction:column;gap:16px;max-height:500px;overflow-y:auto}.pauta-card{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:16px;transition:all .2s}.pauta-card:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 4px 12px #ff00001a}.pauta-info{flex:1 1}.pauta-info h4{color:#1f2937;color:var(--text-dark);font-size:16px;margin:0 0 8px}.pauta-info p{color:#9ca3af;color:var(--text-muted);font-size:13px;margin:4px 0}.badge-estado{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;margin-top:8px;padding:4px 12px}.badge-estado.activa{background:#dcfce7;color:#166534}.badge-estado.inactiva{background:#fee2e2;color:#991b1b}.pauta-actions{display:flex;gap:8px}.btn-icon-action{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;transition:all .2s;width:40px}.btn-icon-action.download{background:linear-gradient(135deg,#10b981,#059669)}.btn-icon-action.download:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.btn-icon-action.delete{background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-icon-action.delete:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef44444d;transform:translateY(-2px)}.btn-datos-fisicos.has-data{background:#00c851;background:var(--success-color)}.btn-datos-fisicos.has-data:hover{background:#059669}.miembro-datos-resumen{background:#10b9811a;border-left:3px solid #00c851;border-left:3px solid var(--success-color);border-radius:6px;margin-top:8px;padding:8px 12px;word-break:break-word}.miembro-datos-resumen small{color:#00c851;color:var(--success-color);display:block;font-size:12px;font-weight:600}.alimentos-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));max-height:500px;overflow-y:auto}.alimento-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;height:auto;min-height:280px;padding:20px;transition:all .3s ease}.alimento-card:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 8px 24px #2563eb1f;transform:translateY(-2px)}.alimento-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.alimento-header h5{color:#1f2937;color:var(--text-dark);font-size:15px;font-weight:700;letter-spacing:-.02em;line-height:1.3;margin:0;word-break:break-word}.alimento-categoria{background:#2563eb1a;border-radius:6px;color:red;color:var(--primary-color);font-size:10px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.alimento-macros{background:#f8fafc;border-radius:8px;flex-direction:column;gap:8px;margin:12px 0;padding:14px}.macro-item{align-items:center;display:flex;font-size:12px;justify-content:space-between;padding:4px 0}.macro-label{flex-shrink:0;font-size:11px;letter-spacing:.3px;text-transform:uppercase}.macro-value{color:#1f2937;color:var(--text-dark);font-size:14px;text-align:right;white-space:nowrap}.alimento-descripcion{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#9ca3af;color:var(--text-muted);display:-webkit-box;flex:1 1;font-size:11px;line-height:1.4;margin:8px 0;overflow:hidden;text-overflow:ellipsis}.alimento-footer{align-items:center;border-top:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-top:auto;padding-top:12px}.alimento-autor{color:#9ca3af;color:var(--text-muted);font-size:10px;font-style:italic}.alimento-actions{display:flex;gap:4px}.btn-delete-alimento,.btn-edit-alimento{background:none;border:none;border-radius:4px;cursor:pointer;font-size:12px;padding:4px;transition:all .2s ease}.btn-edit-alimento:hover{background:#f3f4f6}.btn-delete-alimento:hover{background:#fef2f2}.alimento-modal,.calculadora-modal,.datos-fisicos-modal{max-height:90vh;max-width:600px;overflow-y:auto}.alimento-form,.calculadora-form,.datos-fisicos-form{display:flex;flex-direction:column;gap:20px}.form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.form-section h4{color:#1f2937;color:var(--text-dark);font-size:16px;margin:0 0 16px}.resultado-calculadora{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;margin-top:20px;padding:20px}.resultado-calculadora h4{color:#0369a1;font-size:18px;font-weight:600;margin:0 0 16px}.resultado-grid{grid-gap:12px;display:grid;gap:12px;margin-bottom:20px}.resultado-item{align-items:center;background:#fff;border:1px solid #bae6fd;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.resultado-label{color:#1f2937;color:var(--text-dark);font-weight:500}.resultado-value{color:#0369a1;font-size:16px;font-weight:700}.macronutrientes{margin-top:20px}.macronutrientes h5{color:#0369a1;font-size:16px;font-weight:600;margin:0 0 16px}.macros-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.macro-card{background:#fff;border:2px solid;border-radius:8px;padding:16px;text-align:center}.macro-card.proteinas{background:#fef2f2;border-color:#ef4444}.macro-card.carbohidratos{background:#fffbeb;border-color:#f59e0b}.macro-card.grasas{background:#f0fdf4;border-color:#10b981}.macro-card h6{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600;margin:0 0 12px}.macro-values{display:flex;flex-direction:column;gap:4px}.macro-values span{color:#1f2937;color:var(--text-dark);font-size:12px;font-weight:500}.macro-values span:first-child{font-size:16px;font-weight:700}@media (max-width:1024px){.nutricion-grid{gap:20px;grid-template-columns:1fr}.alimentos-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.macros-grid{gap:8px;grid-template-columns:1fr}}@media (max-width:768px){.alimento-modal,.calculadora-modal,.datos-fisicos-modal{margin:20px auto;max-width:95%}.alimento-macros,.alimentos-grid{grid-template-columns:1fr}.alimento-macros{gap:6px}.miembro-nutricion-item{align-items:flex-start;flex-direction:column;gap:12px}.btn-datos-fisicos{align-self:flex-end}}.header-filters{align-items:center;display:flex;gap:12px}.search-input{border:1px solid #e2e8f0;border-radius:8px;font-size:14px;min-width:250px;padding:10px 16px;transition:all .2s}.search-input:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a;outline:none}.filter-select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 16px;transition:all .2s}.filter-select:focus{border-color:red;border-color:var(--primary-color);outline:none}.perfiles-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));padding:24px}.perfil-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000001a;box-shadow:0 2px 8px var(--shadow-light);overflow:hidden;transition:all .3s ease}.perfil-card:hover{box-shadow:0 8px 16px #00000026;box-shadow:0 8px 16px var(--shadow-medium);transform:translateY(-4px)}.perfil-card-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e2e8f0;display:flex;gap:16px;padding:20px}.perfil-avatar{border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;box-shadow:0 2px 8px var(--shadow-light);height:64px;overflow:hidden;width:64px}.perfil-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);color:#fff;display:flex;font-size:28px;font-weight:700;height:100%;justify-content:center;width:100%}.perfil-info h4{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:600;margin:0 0 4px}.perfil-email{color:#6b7280;color:var(--text-light);display:block;font-size:13px;margin-bottom:8px}.estado-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 12px;text-transform:capitalize}.estado-badge.activo{background:#d1fae5;color:#065f46}.estado-badge.inactivo{background:#fee2e2;color:#991b1b}.estado-badge.suspendido{background:#fef3c7;color:#92400e}.perfil-card-body{padding:20px}.perfil-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:16px}.stat-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:8px;padding:12px}.stat-icon{font-size:20px}.stat-label{font-size:11px}.stat-value{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600}.perfil-documentos-resumen{border-top:1px solid #e2e8f0;display:flex;gap:16px;padding-top:12px}.doc-count{align-items:center;color:#6b7280;color:var(--text-light);display:flex;font-size:13px;gap:6px}.doc-icon{font-size:16px}.perfil-card-footer{background:#f8fafc;border-top:1px solid #e2e8f0;padding:16px 20px}.btn-full{width:100%}.perfil-detalle{padding:0}.perfil-section{border-bottom:1px solid #e2e8f0;padding:24px}.perfil-section:last-child{border-bottom:none}.perfil-section h4{align-items:center;color:#1f2937;color:var(--text-dark);display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 16px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-header h4{margin:0}.btn-sm{font-size:13px;padding:8px 16px}.perfil-info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.info-item{gap:4px}.info-label{color:#9ca3af;color:var(--text-muted);font-size:12px;font-weight:500}.info-value{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:500}.perfil-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.stat-card{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #e2e8f0;border-radius:12px;gap:12px;padding:16px}.stat-card .stat-icon{font-size:32px}.stat-content{display:flex;flex-direction:column;gap:4px}.stat-content .stat-label{font-size:11px}.stat-content .stat-value{font-size:18px}.documentos-list{display:flex;flex-direction:column;gap:12px}.documento-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:12px;padding:16px;transition:all .2s}.documento-item:hover{background:#fff;box-shadow:0 2px 8px #0000001a;box-shadow:0 2px 8px var(--shadow-light)}.documento-icon{color:red;color:var(--primary-color);font-size:32px}.documento-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.documento-nombre{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600}.documento-tipo{color:#6b7280;color:var(--text-light);font-size:12px;text-transform:capitalize}.documento-fecha{color:#9ca3af;color:var(--text-muted);font-size:11px}.documento-descripcion{color:#6b7280;color:var(--text-light);font-size:12px;font-style:italic;margin-top:4px}.documento-actions{display:flex;gap:8px}.btn-icon{align-items:center;background:#0000;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:inline-flex;font-size:16px;justify-content:center;padding:8px 12px;text-decoration:none;transition:all .2s}.btn-icon:hover{background:#f8fafc;border-color:red;border-color:var(--primary-color)}.btn-icon.btn-danger:hover{background:#fee2e2;border-color:#ef4444;border-color:var(--error-color)}.fotos-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.foto-item{aspect-ratio:1;border-radius:12px;box-shadow:0 2px 8px #0000001a;box-shadow:0 2px 8px var(--shadow-light);overflow:hidden;position:relative;transition:all .3s}.foto-item:hover{box-shadow:0 8px 16px #00000026;box-shadow:0 8px 16px var(--shadow-medium);transform:scale(1.05)}.foto-item img{height:100%;object-fit:cover;width:100%}.foto-overlay{background:linear-gradient(0deg,#000c,#0000);bottom:0;display:flex;flex-direction:column;gap:4px;left:0;opacity:0;padding:16px;position:absolute;right:0;transition:opacity .3s}.foto-item:hover .foto-overlay{opacity:1}.foto-fecha{color:#fff;font-size:11px;font-weight:500}.foto-descripcion{color:#ffffffe6;font-size:12px}.btn-delete-foto{background:#ef4444e6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;opacity:0;padding:6px 10px;position:absolute;right:8px;top:8px;transition:all .3s}.foto-item:hover .btn-delete-foto{opacity:1}.btn-delete-foto:hover{background:#ef4444;background:var(--error-color);transform:scale(1.1)}.preview-container{border:2px solid #e2e8f0;border-radius:8px;margin-top:16px;overflow:hidden}.image-preview{background:#f8fafc;max-height:300px;object-fit:contain;width:100%}.empty-state{color:#9ca3af;color:var(--text-muted);padding:48px 24px;text-align:center}.empty-message{padding:24px}.modal-foto-ampliada{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000f2}.modal-foto-container{background:#fff;max-height:95vh;max-width:1200px}.foto-ampliada-body{display:flex;flex-direction:column;gap:20px;max-height:calc(95vh - 180px);overflow:hidden;padding:0}.foto-ampliada{background:#000;border-radius:8px;max-height:calc(95vh - 280px);object-fit:contain;width:100%}.foto-ampliada-info{background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:20px}.info-row{gap:12px}.info-row .info-label{color:#9ca3af;color:var(--text-muted);font-size:13px;font-weight:600;min-width:120px}.info-row .info-value{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:500}.foto-item{cursor:pointer}.foto-item:hover{cursor:zoom-in}.info-box{background:linear-gradient(135deg,#e0f2fe,#dbeafe);border-left:4px solid red;border-left:4px solid var(--primary-color);border-radius:8px;color:#1f2937;color:var(--text-dark);font-size:14px;margin-top:16px;padding:16px}.info-box strong{color:red;color:var(--primary-color)}.rutinas-asignadas-list{display:flex;flex-direction:column;gap:12px}.rutina-asignada-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:16px;transition:all .2s}.rutina-asignada-item:hover{background:#fff;box-shadow:0 2px 8px #0000001a;box-shadow:0 2px 8px var(--shadow-light)}.rutina-asignada-info{flex:1 1}.rutina-asignada-info h5{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0 0 4px}.rutina-asignada-info p{color:#6b7280;color:var(--text-light);font-size:13px;margin:0 0 8px}.rutina-asignada-meta{color:#9ca3af;color:var(--text-muted);display:flex;font-size:12px;gap:16px}.btn-descargar-rutina-perfil{background:linear-gradient(135deg,#0891b2,#0e7490);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:10px 20px;transition:all .3s;white-space:nowrap}.btn-descargar-rutina-perfil:hover{background:linear-gradient(135deg,#0e7490,#155e75);box-shadow:0 4px 12px #0891b24d;transform:translateY(-2px)}@media (max-width:768px){.perfil-stats,.perfiles-grid{grid-template-columns:1fr}.perfil-stats-grid{grid-template-columns:repeat(2,1fr)}.perfil-info-grid{grid-template-columns:1fr}.fotos-grid{grid-template-columns:repeat(2,1fr)}.header-filters{flex-direction:column;width:100%}.filter-select,.search-input{width:100%}.modal-foto-container{max-width:95vw}.foto-ampliada{max-height:60vh}.info-row{align-items:flex-start;flex-direction:column;gap:4px}.info-row .info-label{min-width:auto}}.modal-pauta-grande{max-height:90vh;max-width:1000px;overflow-y:auto}.pauta-seccion{background:#f8fafc;border-radius:8px;margin-bottom:24px;padding:20px}.pauta-seccion h4{color:#1f2937;color:var(--text-dark);font-size:16px;font-weight:600;margin:0 0 16px}.form-row{grid-gap:16px;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.comida-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:16px}.comida-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.comida-title-edit{align-items:center;display:flex;flex:1 1;gap:12px}.input-nombre-comida{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:red;color:var(--primary-color);flex:1 1;font-size:15px;font-weight:600;padding:8px 12px;transition:all .2s}.input-nombre-comida:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a;outline:none}.input-horario-comida{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:500;padding:8px 12px;transition:all .2s;width:120px}.input-horario-comida:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a;outline:none}.comida-header h5{color:red;color:var(--primary-color);font-size:15px;font-weight:600;margin:0}.comida-totales small{color:#9ca3af;color:var(--text-muted);font-size:12px;font-weight:500}.alimentos-comida-list{margin-bottom:12px}.alimento-comida-item{align-items:center;background:#f8fafc;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:10px}.alimento-info{align-items:center;display:flex;gap:12px}.alimento-info strong{color:#1f2937;color:var(--text-dark);font-size:14px}.alimento-info span{color:#9ca3af;color:var(--text-muted);font-size:13px;font-weight:500}.alimento-macros{color:#6b7280;color:var(--text-light);display:flex;font-size:12px;gap:12px}.btn-delete-small{align-items:center;background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;transition:all .2s;width:24px}.btn-delete-small:hover{background:#dc2626;transform:scale(1.1)}.agregar-alimento-comida{margin-top:12px}.select-alimento{background:#fff;border:2px dashed #cbd5e1;border-radius:6px;color:#1f2937;color:var(--text-dark);cursor:pointer;font-size:13px;padding:10px;transition:all .2s;width:100%}.select-alimento:hover{background:#f8fafc;border-color:red;border-color:var(--primary-color)}.pauta-resumen{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #10b981}.resumen-macros{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.macro-total{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:16px;text-align:center}.macro-label{color:#9ca3af;color:var(--text-muted);display:block;font-size:12px;font-weight:500;margin-bottom:8px}.macro-value{color:red;color:var(--primary-color);display:block;font-size:20px;font-weight:700}.section-header-flex{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-header-flex h4{margin:0}.btn-agregar-suplemento{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-agregar-suplemento:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-2px)}.suplementos-list{display:flex;flex-direction:column;gap:12px}.suplemento-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:12px;transition:all .2s}.suplemento-item:hover{border-color:#8b5cf6;box-shadow:0 2px 8px #8b5cf61a}.suplemento-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.suplemento-info strong{color:#1f2937;color:var(--text-dark);font-size:15px}.suplemento-info span{color:#9ca3af;color:var(--text-muted);font-size:13px}.suplemento-notas{color:#6b7280!important;color:var(--text-light)!important;font-style:italic}.empty-message{color:#9ca3af;color:var(--text-muted);font-style:italic;padding:20px;text-align:center}@media (max-width:768px){.modal-pauta-grande{max-width:95vw}.form-row{grid-template-columns:1fr}.resumen-macros{grid-template-columns:repeat(2,1fr)}.alimento-comida-item{align-items:flex-start;flex-direction:column;gap:8px}.alimento-macros{justify-content:space-between;width:100%}.comida-title-edit{align-items:stretch;flex-direction:column;gap:8px}.input-horario-comida{width:100%}.comida-header{align-items:stretch;flex-direction:column;gap:12px}}.vendedor-panel{background:linear-gradient(135deg,#f8fafc,#e2e8f0);background:linear-gradient(135deg,var(--background-light) 0,#e2e8f0 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.nav-tab:hover{background:#0596690d;color:#059669}.nav-tab.active{background:#0596691a;border-bottom-color:#059669;color:#059669}.sales-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.sales-item{align-items:flex-start;background:#f8fafc;border-left:4px solid #059669;border-radius:12px;display:flex;flex-direction:column;gap:.35rem;padding:1rem}.sales-label{color:#1e293b;font-size:.95rem;font-weight:600}.sales-item .amount{color:#059669;font-size:1.15rem;font-weight:700}.meta-container{gap:.75rem;justify-content:space-between;width:100%}.progress-bar{margin-bottom:.5rem}.progress-fill{background:linear-gradient(90deg,#059669,#10b981)}.progress-text{color:#64748b;font-size:.9rem}.alerts-list{display:flex;flex-direction:column;gap:1rem}.alert-item{align-items:center;border-left:4px solid;border-radius:12px;display:flex;gap:1rem;padding:1rem}.alert-item.urgent{background:#fef2f2;border-left-color:#ef4444}.alert-item.warning{background:#fffbeb;border-left-color:#f59e0b}.alert-item.info{background:#ff00000d;border-left-color:red;border-left-color:var(--primary-color)}.alert-icon{font-size:1.2rem}.alert-content{flex:1 1}.alert-title{display:block;font-weight:600;margin-bottom:.25rem}.alert-desc{color:#64748b;font-size:.9rem}.quick-actions{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.quick-action-btn{border:none;border-radius:12px;cursor:pointer;font-weight:600;padding:1rem;text-align:center;transition:all .3s ease}.quick-action-btn.primary{background:linear-gradient(135deg,#059669,#10b981);color:#fff}.quick-action-btn.secondary{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff}.quick-action-btn.success{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.quick-action-btn.info{background:linear-gradient(135deg,#8b5cf6,#a855f7);color:#fff}.quick-action-btn:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.recent-sales{display:flex;flex-direction:column;gap:1rem}.sale-item{align-items:center;background:#f8fafc;border-left:4px solid #059669;border-radius:12px;display:flex;justify-content:space-between;padding:1rem}.sale-info{display:flex;flex-direction:column;gap:.25rem}.sale-member{color:#1e293b;font-weight:600}.sale-concept{color:#64748b;font-size:.9rem}.sale-details{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.sale-amount{color:#059669;font-size:1.1rem;font-weight:700}.sale-date{color:#64748b;font-size:.9rem}.filter-select:focus,.search-input:focus{border-color:#059669}.btn-primary{background:linear-gradient(135deg,#059669,#10b981)}.btn-primary:hover{box-shadow:0 8px 25px #0596694d}.leads-grid,.miembros-grid,.promociones-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.lead-card,.miembro-card,.promocion-card{background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid #e2e8f0;border-radius:20px;box-shadow:0 4px 20px #00000014;overflow:hidden;padding:0;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.miembro-card:before{background:linear-gradient(90deg,red,#c00);background:linear-gradient(90deg,var(--primary-color) 0,var(--secondary-color) 100%);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.miembro-card:hover:before{opacity:1}.lead-card:hover,.miembro-card:hover,.promocion-card:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 12px 40px #ff000026;transform:translateY(-8px)}.lead-header,.miembro-header,.promocion-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem 1.5rem 1rem}.lead-header h4,.miembro-header h4,.promocion-header h4{color:#1e293b;font-size:1.25rem;font-weight:700;letter-spacing:-.5px;margin:0}.estado-badge{align-items:center;box-shadow:0 2px 8px #0000001a;display:inline-flex;font-size:.75rem;gap:.4rem;letter-spacing:.8px}.estado-badge.activa,.estado-badge.activo,.estado-badge.nuevo{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d;color:#fff}.estado-badge.contactado,.estado-badge.por_vencer{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d;color:#fff}.estado-badge.inactiva,.estado-badge.perdido,.estado-badge.vencido{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d;color:#fff}.estado-badge.interesado{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d;color:#fff}.estado-badge.convertido{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 4px 12px #8b5cf64d;color:#fff}.lead-info,.miembro-info{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.miembro-info .info-row{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:.75rem;padding:.75rem;transition:all .3s ease}.miembro-info .info-row:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 2px 8px #ff00001a;transform:translateX(4px)}.miembro-info .info-row svg{color:red;color:var(--primary-color);flex-shrink:0}.miembro-info .info-row span{color:#475569;flex:1 1;font-size:.9rem}.miembro-info .info-row strong{color:#1e293b;font-weight:600;margin-right:.5rem}.lead-info p,.miembro-info p{color:#64748b;font-size:.95rem;margin:.5rem 0}.lead-notes{background:#f8fafc;border-left:3px solid #059669;border-radius:8px;margin-bottom:1rem;padding:1rem}.lead-notes p{color:#475569;font-size:.9rem;margin:0}.lead-actions,.miembro-actions,.promocion-actions{grid-gap:.75rem;background:#f8fafc;border-top:2px solid #e2e8f0;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);padding:1.5rem}.btn-contactar,.btn-convertir,.btn-credencial,.btn-editar,.btn-eliminar,.btn-info,.btn-pago,.btn-renovar,.btn-toggle,.btn-ver-mas{align-items:center;border:none;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-credencial:hover{box-shadow:0 4px 16px #8b5cf666}.btn-renovar{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-renovar:hover{box-shadow:0 4px 16px #3b82f666;transform:translateY(-2px)}.btn-pago{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-pago:hover{box-shadow:0 4px 16px #10b98166;transform:translateY(-2px)}.btn-ver-mas{background:linear-gradient(135deg,#64748b,#475569);color:#fff}.btn-ver-mas:hover{box-shadow:0 4px 16px #64748b66;transform:translateY(-2px)}.btn-info{background:#fff;border:2px solid #e2e8f0;color:#374151}.btn-info:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-2px)}.btn-contactar{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.btn-contactar:hover{box-shadow:0 4px 16px #f59e0b66;transform:translateY(-2px)}.btn-convertir{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-convertir:hover{box-shadow:0 4px 16px #10b98166;transform:translateY(-2px)}.btn-editar{background:linear-gradient(135deg,#6366f1,#4f46e5)}.btn-editar:hover{box-shadow:0 4px 16px #6366f166;transform:translateY(-2px)}.btn-toggle.desactivar{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-toggle.desactivar:hover{box-shadow:0 4px 16px #ef444466;transform:translateY(-2px)}.btn-toggle.activar{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-toggle.activar:hover{box-shadow:0 4px 16px #10b98166;transform:translateY(-2px)}.btn-eliminar{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;color:#fff}.btn-eliminar:hover{box-shadow:0 4px 16px #ef444466;transform:translateY(-2px)}.promocion-desc{color:#475569;line-height:1.5;margin-bottom:1rem}.meta-container{align-items:center;display:flex;gap:.5rem}.btn-config-meta{background:#7c3aed1a;border:1px solid #7c3aed4d;border-radius:4px;color:#7c3aed;cursor:pointer;font-size:.8rem;padding:.25rem .5rem;transition:all .2s ease}.btn-config-meta:hover{background:#7c3aed33;border-color:#7c3aed;transform:scale(1.05)}.modal-small{max-width:400px;width:90%}.input-meta{border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.input-meta:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a;outline:none}.help-text{color:#64748b;display:block;font-size:.875rem;margin-top:.25rem}.preview-meta{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:1rem;padding:1rem}.preview-item{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:.5rem 0}.preview-item:last-child{border-bottom:none}.preview-item span:first-child{color:#64748b;font-weight:500}.preview-item span:last-child{color:#1e293b;font-weight:600}.progress-preview{color:#7c3aed!important;font-weight:700!important}.pagos-filters{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.filter-row{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:#374151;font-size:.875rem;font-weight:600}.filter-group input,.filter-group select{border:2px solid #e2e8f0;border-radius:6px;font-size:.875rem;padding:.5rem;transition:border-color .2s ease}.filter-group input:focus,.filter-group select:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a;outline:none}.btn-filter{background:linear-gradient(135deg,#7c3aed,#a855f7);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1rem;transition:all .2s ease}.btn-filter:hover{box-shadow:0 4px 12px #7c3aed4d;transform:translateY(-2px)}.btn-clear{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1rem;transition:all .2s ease}.btn-clear:hover{background:#4b5563;transform:translateY(-2px)}.pagination{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;padding:1rem}.btn-page{background:#7c3aed;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.btn-page:hover:not(:disabled){background:#6d28d9;transform:translateY(-1px)}.btn-page:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.page-info{color:#374151;font-size:.875rem;font-weight:600;min-width:200px;text-align:center}.btn-factura{background:linear-gradient(135deg,#10b981,#059669);border-radius:6px;color:#fff;font-size:.75rem;font-weight:600;padding:.5rem .75rem;transition:all .2s ease}.btn-factura:hover{box-shadow:0 4px 8px #10b9814d}.btn-guardar:disabled{background:#9ca3af!important;cursor:not-allowed!important;opacity:.7;transform:none!important}.btn-guardar:disabled:hover{box-shadow:none!important;transform:none!important}.miembro-search-container{display:flex;flex-direction:column;gap:.5rem}.miembro-search-input{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;padding:.75rem;transition:all .2s ease;width:100%}.miembro-search-input:focus{background:#fff;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a;outline:none}.miembro-search-input::placeholder{color:#9ca3af;font-style:italic}.miembro-select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;max-height:200px;overflow-y:auto;padding:.75rem;transition:border-color .2s ease;width:100%}.miembro-select:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a;outline:none}.miembro-select option{font-size:.875rem;padding:.5rem}.miembro-select option:disabled{color:#9ca3af;font-style:italic}.search-results{color:#6b7280;font-size:.75rem;font-style:italic;margin-top:.25rem}.form-pago .form-section{margin-bottom:1.5rem}.form-pago .form-group{margin-bottom:1rem}.form-pago .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.form-pago .form-row{grid-template-columns:1fr}}.promocion-details p{color:#64748b;font-size:.9rem;margin:.5rem 0}.pagos-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.pago-stat{background:#fff;border-left:4px solid #059669;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:1.5rem;text-align:center}.pago-stat .stat-value{color:#059669;display:block;font-size:2rem;font-weight:700;margin-bottom:.5rem}.pago-stat .stat-label{color:#64748b;font-size:.9rem}.pagos-table{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.pagos-table table{border-collapse:collapse;width:100%}.pagos-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#374151;font-weight:600;padding:1rem;text-align:left}.pagos-table td{border-bottom:1px solid #f1f5f9;padding:1rem}.metodo-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem 1rem}.metodo-badge.efectivo{background:#dcfce7;color:#166534}.metodo-badge.tarjeta{background:#dbeafe;color:#1e40af}.metodo-badge.transferencia{background:#e0e7ff;color:#3730a3}.btn-factura{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .3s ease}.btn-factura:hover{background:#e5e7eb;transform:translateY(-1px)}.btn-export{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;box-shadow:0 4px 12px #10b9814d;color:#fff;cursor:pointer;display:flex;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-export:hover{box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.reportes-resumen{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;gap:1rem;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.stat-icon{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-label{color:#64748b;font-size:.875rem;font-weight:500}.stat-value{color:#1e293b;font-size:1.75rem;font-weight:700}.reportes-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.reporte-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:2rem;transition:transform .3s ease}.reporte-card:hover{transform:translateY(-2px)}.reporte-card.full-width{grid-column:1/-1}.reporte-card h3{align-items:center;color:#1e293b;display:flex;font-size:1.2rem;font-weight:600;margin:0 0 1.5rem}.chart-placeholder{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-radius:12px;gap:.5rem;height:200px;justify-content:space-around;padding:1rem}.chart-bar,.chart-placeholder{align-items:flex-end;display:flex}.chart-bar{background:linear-gradient(0deg,#3b82f6,#60a5fa);border-radius:8px 8px 0 0;color:#fff;cursor:pointer;flex:1 1;font-size:.75rem;font-weight:600;justify-content:center;max-width:60px;min-width:30px;padding-bottom:.5rem;position:relative;transition:all .3s ease}.chart-bar:hover{background:linear-gradient(0deg,#2563eb,#3b82f6);transform:scaleY(1.05)}.chart-bar span{bottom:-25px;color:#64748b;font-size:.7rem;position:absolute}.membership-stats{display:flex;flex-direction:column;gap:1.25rem}.membership-item{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:1rem;padding:.75rem;transition:background .3s ease}.membership-item:hover{background:#f1f5f9}.membership-item span:first-child{color:#1e293b;font-weight:600;min-width:80px}.membership-item span:last-child{color:#3b82f6;font-weight:600;min-width:80px;text-align:right}.progress-bar.small{background:#e2e8f0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-bar.small .progress-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:4px;height:100%;transition:width .5s ease}.conversion-stats{display:flex;flex-direction:column;gap:1rem}.conversion-item{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-left:4px solid #3b82f6;border-radius:12px;display:flex;justify-content:space-between;padding:1rem;transition:all .3s ease}.conversion-item:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);transform:translateX(4px)}.conversion-item span:first-child{color:#64748b;font-weight:500}.conversion-number{color:#3b82f6;font-size:1.1rem;font-weight:700}.conversion-percentage{color:#10b981;font-size:1.1rem;font-weight:700}.mejores-dias-list{display:flex;flex-direction:column;gap:1rem}.mejor-dia-item{grid-gap:1rem;align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;display:grid;gap:1rem;grid-template-columns:50px 1fr auto auto;padding:1rem;transition:all .3s ease}.mejor-dia-item:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);transform:translateX(4px)}.mejor-dia-item .ranking{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;color:#fff;display:flex;font-size:1.1rem;font-weight:700;height:40px;justify-content:center;width:40px}.mejor-dia-item .fecha{color:#1e293b;font-weight:600;text-transform:capitalize}.mejor-dia-item .cantidad{background:#fff;border-radius:8px;color:#3b82f6;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.mejor-dia-item .total{background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;color:#fff;font-size:1.1rem;font-weight:700;min-width:120px;padding:.5rem 1rem;text-align:center}@media print{.btn-export,.header-actions,.nav-tabs,.sidebar{display:none!important}.reportes-content{padding:0}.reporte-card{page-break-inside:avoid}}.consultas-list{display:flex;flex-direction:column;gap:1.5rem}.consulta-item{background:#fff;border-left:4px solid;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:1.5rem}.consulta-item.pendiente{border-left-color:#f59e0b}.consulta-item.en_proceso{border-left-color:#3b82f6}.consulta-item.resuelto{border-left-color:#10b981}.consulta-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.consulta-header h4{color:#1e293b;font-size:1.2rem;font-weight:600;margin:0}.prioridad-badge{border-radius:20px;font-size:.85rem;font-weight:600;padding:.5rem 1rem}.prioridad-badge.alta{background:#fee2e2;color:#991b1b}.prioridad-badge.media{background:#fef3c7;color:#92400e}.prioridad-badge.baja{background:#dcfce7;color:#166534}.consulta-info{margin-bottom:1rem}.consulta-info p{color:#64748b;font-size:.9rem;margin:.25rem 0}.consulta-desc{background:#f8fafc;border-radius:8px;margin-bottom:1rem;padding:1rem}.consulta-desc p{color:#475569;line-height:1.5;margin:0}.consulta-actions{display:flex;gap:.5rem}.btn-resolver,.btn-responder{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.btn-responder{background:#dbeafe;color:#1e40af}.btn-resolver{background:#dcfce7;color:#166534}.btn-resolver:hover,.btn-responder:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.btn-credencial{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:6px;box-shadow:0 2px 4px #8b5cf64d;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 12px;transition:all .3s ease}.btn-credencial:hover{box-shadow:0 4px 8px #8b5cf666;transform:translateY(-2px)}.credencial-modal{max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.credencial-container{display:flex;justify-content:center;padding:20px}.credencial-card{background:linear-gradient(135deg,#ed1c24,#b71c1c);border-radius:20px;box-shadow:0 25px 70px #ed1c2466,0 10px 30px #0000004d;color:#fff;overflow:hidden;padding:0;position:relative;width:500px}.credencial-horizontal{border-radius:20px;height:380px;width:640px}.credencial-horizontal-layout{display:flex;gap:20px;height:100%;padding:24px;position:relative;z-index:2}.credencial-left-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;flex:0 0 140px;flex-direction:column;gap:12px;padding:16px}.credencial-left-section,.logo-grande{align-items:center;border-radius:12px;display:flex;justify-content:center}.logo-grande{background:#fff;border:2px solid #ffffff4d;box-shadow:0 6px 20px #0000004d;height:90px;padding:10px;width:90px}.credencial-logo-horizontal{height:100%;object-fit:contain;width:100%}.branding-horizontal{text-align:center}.branding-horizontal h2{font-size:15px;font-weight:900;letter-spacing:.5px;margin:0 0 2px;text-shadow:2px 2px 4px #0006}.branding-horizontal p{font-size:9px;font-weight:600;letter-spacing:.3px;margin:0;opacity:.9}.credencial-center-section{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;padding:4px 0}.nombre-grande{border-bottom:2px solid #ffffff4d;display:flex;flex-direction:column;gap:4px;padding-bottom:10px}.nombre-label{font-size:9px;font-weight:800;letter-spacing:1.5px;opacity:.9;text-transform:uppercase}.nombre-valor{font-size:28px;font-weight:900;letter-spacing:.5px;line-height:1.1;margin:0;text-shadow:3px 3px 6px #00000080;text-transform:uppercase}.info-compacta{display:flex;flex-direction:column;gap:8px;padding:10px 0}.info-row{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;display:flex;gap:10px;padding:8px 12px}.info-label-small{font-size:10px;font-weight:800;letter-spacing:.8px;min-width:75px;opacity:.9}.info-value-small{font-size:14px;font-weight:700;text-shadow:1px 1px 3px #0000004d}.vencimiento-row{background:#ffffff26;border:2px solid #ffffff4d}.vencimiento-destacado{color:gold;font-size:16px;font-weight:900;text-shadow:2px 2px 4px #00000080}.codigo-horizontal{background:#0003;border:2px solid #fff3;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:10px;text-align:center}.codigo-label-horizontal{font-size:8px;font-weight:800;letter-spacing:1.5px;opacity:.9}.codigo-numero-horizontal{font-family:Courier New,monospace;font-size:22px;font-weight:900;letter-spacing:5px;text-shadow:2px 2px 4px #00000080}.credencial-right-section{align-items:center;display:flex;flex:0 0 160px;justify-content:center}.qr-grande-container{align-items:center;background:#fff;border:3px solid #ffffff4d;border-radius:14px;box-shadow:0 8px 24px #0006;display:flex;flex-direction:column;gap:8px;padding:12px}.qr-grande-wrapper{background:#fff;border-radius:8px;padding:6px}.qr-label-horizontal{color:#333;font-size:18px;font-weight:900;letter-spacing:2px;margin:0;text-align:center}.credencial-pattern{background-image:repeating-linear-gradient(45deg,#0000,#0000 35px,#ffffff1a 0,#ffffff1a 70px),repeating-linear-gradient(-45deg,#0000,#0000 35px,#ffffff1a 0,#ffffff1a 70px);height:100%;left:0;opacity:.08;position:absolute;top:0;width:100%;z-index:1}.credencial-card:before{animation:shimmer 4s ease-in-out infinite;background:radial-gradient(circle,#ffffff26 0,#0000 60%);content:"";height:200%;position:absolute;right:-50%;top:-50%;width:200%;z-index:1}@keyframes shimmer{0%,to{transform:translate(0) rotate(0deg)}50%{transform:translate(-20%,-20%) rotate(180deg)}}.credencial-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;display:flex;gap:16px;padding:28px 32px;position:relative;z-index:2}.logo-section{flex-shrink:0}.credencial-logo{background:#fff;border:3px solid #ffffff4d;border-radius:14px;box-shadow:0 6px 20px #00000040;height:70px;object-fit:contain;padding:10px;width:70px}.branding-section{flex:1 1}.branding-section h2{font-size:32px;font-weight:900;letter-spacing:2px;margin:0 0 4px;text-shadow:3px 3px 6px #0006}.branding-section p{font-size:14px;font-weight:600;letter-spacing:.5px;margin:0;opacity:.95}.credencial-divider{background:linear-gradient(90deg,#0000,#fff6,#0000);height:2px;margin:0 32px;position:relative;z-index:2}.credencial-body{align-items:flex-start;display:flex;gap:28px;justify-content:space-between;padding:28px 32px;position:relative;z-index:2}.miembro-info-credencial{display:flex;flex:1 1;flex-direction:column;gap:14px}.info-item{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:10px;gap:12px;padding:12px 14px}.info-item:hover{background:#ffffff26;transform:translateX(4px)}.info-icon{align-items:center;background:#fff3;border-radius:8px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.info-icon svg{stroke:#fff;filter:drop-shadow(1px 1px 2px rgba(0,0,0,.3))}.info-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.info-label{font-size:10px;font-weight:700;letter-spacing:1px;opacity:.85;text-transform:uppercase}.info-value{font-size:15px;font-weight:700;text-shadow:1px 1px 3px #0000004d;word-break:break-word}.info-item.vencimiento{background:#ffffff26;border:2px solid #ffffff4d}.info-item.vencimiento .info-icon{background:#ffffff4d}.info-item.vencimiento .info-value{font-size:17px;font-weight:800}.qr-section{flex-shrink:0}.qr-code-container,.qr-section{align-items:center;display:flex;flex-direction:column}.qr-code-container{background:#fff;border:3px solid #ffffff4d;border-radius:16px;box-shadow:0 8px 24px #0006;gap:10px;padding:14px}.qr-wrapper{background:#fff;border-radius:8px;padding:4px}.qr-label{color:#333;font-size:11px;font-weight:700;letter-spacing:.5px;margin:0;text-align:center;text-transform:uppercase}.qr-code-real svg{height:100%!important;width:100%!important}.qr-text{color:#fff;font-size:10px;margin:0;opacity:.8}.credencial-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0003;padding:24px 32px;position:relative;z-index:2}.codigo-unico{background:#ffffff1a;border:2px solid #fff3;border-radius:12px;display:flex;flex-direction:column;gap:10px;padding:16px 24px;text-align:center}.codigo-label{font-size:11px;font-weight:800;letter-spacing:2px;opacity:.9;text-transform:uppercase}.codigo-numero{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#f0f0f0);-webkit-background-clip:text;background-clip:text;font-family:Courier New,monospace;font-size:32px;font-weight:900;letter-spacing:6px;text-shadow:3px 3px 6px #00000080}.btn-descargar,.btn-imprimir{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-right:10px;padding:10px 20px;transition:all .3s ease}.btn-descargar:hover,.btn-imprimir:hover{box-shadow:0 4px 8px #10b98166;transform:translateY(-2px)}.form-consulta,.form-lead,.form-nuevo-miembro,.form-pago,.form-promocion,.form-renovacion{padding:2rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#059669}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.checkbox-label input[type=checkbox]{width:auto}.btn-guardar{background:linear-gradient(135deg,#059669,#10b981)}.btn-guardar:hover{box-shadow:0 8px 25px #0596694d}.notifications-indicator{border-radius:50%;cursor:pointer;margin-right:15px;padding:8px;position:relative;transition:background-color .3s ease}.notifications-indicator:hover{background-color:#ffffff1a}.notification-badge{align-items:center;animation:pulse 2s infinite;background:#ef4444;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-2px;top:-2px;width:20px}.notifications-panel{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;max-height:500px;overflow:hidden;position:fixed;right:20px;top:80px;width:350px;z-index:1000}.notifications-header{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:flex;justify-content:space-between;padding:15px 20px}.notifications-header h3{font-size:16px;font-weight:700;margin:0}.notifications-header button{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;transition:background-color .3s ease;width:24px}.notifications-header button:hover{background-color:#fff3}.notifications-content{max-height:400px;overflow-y:auto;padding:10px}.notification-item{align-items:flex-start;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:10px;display:flex;gap:12px;margin-bottom:8px;padding:12px;transition:all .3s ease}.notification-item:hover{background:#fde68a;transform:translateX(2px)}.notification-icon{flex-shrink:0;font-size:20px}.notification-details{flex:1 1}.notification-message{color:#92400e;font-size:14px;font-weight:600;line-height:1.4;margin:0 0 5px}.notification-time{color:#a16207;font-size:12px;font-weight:500}.no-notifications{color:#6b7280;padding:30px 20px;text-align:center}.no-notifications p{font-size:14px;margin:0}@media (max-width:768px){.panel-header{flex-direction:column;gap:1rem;padding:12px 16px;text-align:center}.header-brand{justify-content:center}.header-logo{height:48px;width:48px}.brand-title{font-size:18px}.user-section{justify-content:center}.stats-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card-main{padding:1rem}.stat-icon{height:50px;width:50px}.stat-icon,.stat-info .stat-value{font-size:1.5rem}.panel-nav{padding:0 1rem}.panel-content{padding:1rem}.content-header{align-items:stretch;gap:1rem}.content-header,.header-actions{flex-direction:column}.dashboard-grid,.leads-grid,.miembros-grid,.promociones-grid,.reportes-grid{grid-template-columns:1fr}.modal-content{margin:20px;width:95%}.notifications-panel{max-width:350px;right:10px;width:calc(100vw - 20px)}}@media (max-width:480px){.header-content h1{font-size:2rem}.stat-card{min-width:120px;padding:1rem}.stat-value{font-size:1.5rem}.nav-tab{font-size:.9rem;padding:.75rem 1rem}.dashboard-card,.form-consulta,.form-lead,.form-nuevo-miembro,.form-pago,.form-promocion,.form-renovacion,.lead-card,.miembro-card,.modal-header,.promocion-card{padding:1rem}.modal-actions{flex-direction:column;padding:1rem}}.modal-large{background:linear-gradient(135deg,#fff,#f8fafc);max-width:900px}.modal-large .modal-header{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border-bottom:none;border-radius:20px 20px 0 0;color:#fff;padding:1.5rem 2rem}.modal-large .modal-header h3{align-items:center;color:#fff;display:flex;font-size:1.4rem;gap:.75rem}.modal-large .modal-header h3 svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.modal-large .modal-close{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:10px;color:#fff;display:flex;font-size:1.75rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.modal-large .modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-body{padding:0}.detalle-sections{display:flex;flex-direction:column;gap:0}.detalle-section{background:#fff;border-bottom:1px solid #e2e8f0;padding:2rem;transition:all .3s ease}.detalle-section:hover{background:#f8fafc}.detalle-section:last-child{border-bottom:none;border-radius:0 0 20px 20px}.detalle-section h4{align-items:center;border-bottom:2px solid #e2e8f0;color:#1e293b;display:flex;font-size:1.1rem;font-weight:700;gap:.75rem;margin:0 0 1.5rem;padding-bottom:.75rem}.detalle-section h4 svg{color:red;color:var(--primary-color);flex-shrink:0}.info-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.info-item{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:.5rem;padding:1rem;transition:all .3s ease}.info-item:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 4px 12px #ff00001a;transform:translateY(-2px)}.info-item label{color:#64748b;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item span{color:#1e293b;font-size:1rem;font-weight:600;word-break:break-word}.estado-badge{display:inline-block;font-size:.875rem;font-weight:700;text-align:center}.estado-badge.activa{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d;color:#fff}.estado-badge.vencida{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d;color:#fff}.estado-badge.suspendida{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d;color:#fff}.historial-list{display:flex;flex-direction:column;gap:1rem}.historial-item{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;transition:all .3s ease}.historial-item:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 4px 12px #ff00001a;transform:translateX(4px)}.historial-info{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:2fr 1.5fr 1fr .75fr}.historial-info span{color:#1e293b;font-size:.95rem;font-weight:500}.historial-descripcion{color:#1e293b!important;font-weight:600!important}.historial-fecha,.historial-periodo{color:#64748b!important;font-size:.875rem!important}.historial-monto,.historial-precio{color:red!important;color:var(--primary-color)!important;font-size:1.05rem!important;font-weight:700!important}.historial-metodo{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.historial-estado,.historial-metodo{border-radius:8px;font-size:.8rem;font-weight:600;padding:.4rem .8rem;text-align:center;text-transform:uppercase}.historial-estado.activa{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.historial-estado.vencida{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.historial-estado.suspendida{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.historial-observaciones{background:#f8fafc;border-left:3px solid red;border-left:3px solid var(--primary-color);border-radius:8px;color:#64748b;font-size:.875rem;font-style:italic;margin-top:.75rem;padding:.75rem}.observaciones-content{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-left:4px solid red;border-left:4px solid var(--primary-color);border-radius:12px;color:#1e293b;font-size:1rem;line-height:1.6;padding:1.5rem}.modal-large .modal-actions{background:#f8fafc;border-radius:0 0 20px 20px;border-top:1px solid #e2e8f0;padding:1.5rem 2rem}.modal-large .modal-actions button{align-items:center;border-radius:12px;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.875rem 1.75rem;transition:all .3s ease}.modal-large .modal-actions .btn-cancelar{background:#fff;border:2px solid #e2e8f0;color:#64748b}.modal-large .modal-actions .btn-cancelar:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.modal-large .modal-actions .btn-editar{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border:none;box-shadow:0 4px 12px #ff00004d;color:#fff}.modal-large .modal-actions .btn-editar:hover{box-shadow:0 6px 20px #f006;transform:translateY(-2px)}@media (max-width:768px){.modal-large{margin:10px;max-width:95%}.detalle-section{padding:1.5rem}.info-grid{gap:1rem;grid-template-columns:1fr}.historial-info{gap:.75rem;grid-template-columns:1fr}.historial-info span{border-bottom:1px solid #e2e8f0;padding:.5rem 0}.historial-info span:last-child{border-bottom:none}.modal-large .modal-header h3{font-size:1.1rem}.modal-large .modal-actions{flex-direction:column}.modal-large .modal-actions button{width:100%}}.kinesiologo-panel{background:linear-gradient(135deg,#f8fafc,#e2e8f0);background:linear-gradient(135deg,var(--background-light) 0,#e2e8f0 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.panel-nav{background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem;overflow-x:auto;padding:0 2rem}.nav-tab{background:none;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;font-size:1rem;font-weight:500;padding:1rem 1.5rem;transition:all .3s ease;white-space:nowrap}.nav-tab:hover{background:#2563eb0d}.nav-tab.active,.nav-tab:hover{color:red;color:var(--primary-color)}.nav-tab.active{background:#2563eb1a;border-bottom-color:red;border-bottom-color:var(--primary-color)}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card-main{align-items:center;background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:1rem;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.stat-card-main:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.stat-icon{align-items:center;background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border-radius:12px;color:#fff;color:var(--white);display:flex;font-size:2rem;height:60px;justify-content:center;width:60px}.stat-info{display:flex;flex-direction:column;gap:.25rem}.stat-info .stat-value{color:#1f2937;color:var(--text-dark);font-size:1.75rem;font-weight:700}.stat-info .stat-label{color:#9ca3af;color:var(--text-muted);font-size:.875rem;letter-spacing:.5px;text-transform:uppercase}.dashboard-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:2rem}.dashboard-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:2rem;transition:transform .3s ease,box-shadow .3s ease}.dashboard-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-5px)}.dashboard-card.full-width{grid-column:1/-1}.dashboard-card h3{color:#1e293b;font-size:1.3rem;font-weight:600;margin:0 0 1.5rem}.agenda-list{display:flex;flex-direction:column;gap:1rem}.agenda-item{align-items:center;background:#f8fafc;border-left:4px solid red;border-left:4px solid var(--primary-color);border-radius:12px;display:flex;gap:1rem;padding:1rem}.agenda-time{color:red;color:var(--primary-color);font-size:1.1rem;font-weight:700;min-width:60px}.agenda-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.agenda-paciente{color:#1f2937;color:var(--text-dark);font-weight:600}.agenda-tipo{color:#9ca3af;color:var(--text-muted);font-size:.9rem;text-transform:capitalize}.agenda-estado{font-size:1.2rem}.priority-list{display:flex;flex-direction:column;gap:1rem}.priority-item{align-items:center;background:#fef2f2;border-left:4px solid #ef4444;border-left:4px solid var(--error-color);border-radius:12px;display:flex;gap:1rem;padding:1rem}.priority-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.priority-name{color:#1f2937;color:var(--text-dark);font-weight:600}.priority-diagnosis{color:#9ca3af;color:var(--text-muted);font-size:.9rem}.priority-progress{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem;min-width:80px}.progress-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-bar.small{height:6px;width:80px}.progress-fill{background:linear-gradient(90deg,red,#000);background:linear-gradient(90deg,var(--primary-color),var(--accent-color));height:100%;transition:width .3s ease}.progress-text{color:#9ca3af;color:var(--text-muted);font-size:.8rem;font-weight:600}.terapias-recientes{display:flex;flex-direction:column;gap:1rem}.terapia-item{grid-gap:1rem;align-items:center;background:#f8fafc;border-left:4px solid #00c851;border-left:4px solid var(--success-color);border-radius:12px;display:grid;gap:1rem;grid-template-columns:1fr 1fr 2fr 1fr;padding:1rem}.terapia-info{display:flex;flex-direction:column;gap:.25rem}.terapia-paciente{color:#1f2937;color:var(--text-dark);font-weight:600}.terapia-tipo{color:#9ca3af;color:var(--text-muted);font-size:.9rem}.terapia-details{display:flex;flex-direction:column;gap:.25rem}.terapia-duracion,.terapia-fecha{color:#9ca3af;color:var(--text-muted);font-size:.9rem}.terapia-progreso p{color:#1f2937;color:var(--text-dark);font-size:.9rem;margin:0}.terapia-proxima{text-align:right}.terapia-proxima span{color:red;color:var(--primary-color);font-size:.9rem;font-weight:600}.content-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.content-header h2{color:#1e293b;font-size:2rem;font-weight:700;margin:0}.header-actions{align-items:center;display:flex;gap:1rem}.filter-select,.search-input{border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;padding:.75rem 1rem;transition:border-color .3s ease}.filter-select:focus,.search-input:focus{border-color:red;border-color:var(--primary-color);outline:none}.btn-primary{background:linear-gradient(135deg,red,#000);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-primary:hover{box-shadow:0 8px 25px #2563eb4d;transform:translateY(-2px)}.pacientes-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.paciente-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:1.5rem;transition:all .3s ease}.paciente-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-5px)}.paciente-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.paciente-header h4{color:#1e293b;font-size:1.2rem;font-weight:600;margin:0}.estado-badge{border-radius:20px;font-size:.85rem;padding:.5rem 1rem}.estado-badge.en_tratamiento{background:#dcfce7;color:#166534}.estado-badge.evaluacion{background:#fef3c7;color:#92400e}.estado-badge.alta{background:#dbeafe;color:#1e40af}.paciente-info{margin-bottom:1rem}.paciente-info p{color:#64748b;font-size:.95rem;margin:.5rem 0}.paciente-progreso{margin-bottom:1rem}.paciente-progreso span{color:#9ca3af;color:var(--text-muted);display:block;font-size:.9rem;margin-bottom:.5rem}.paciente-actions{display:flex;flex-wrap:wrap;gap:.5rem}.btn-evaluar,.btn-historial,.btn-terapia{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.btn-evaluar{background:#fef3c7;color:#92400e}.btn-terapia{background:#dcfce7;color:#166534}.btn-historial{background:#ff00001a;color:red;color:var(--primary-color)}.btn-evaluar:hover,.btn-historial:hover,.btn-terapia:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.coming-soon{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;justify-content:center;min-height:300px}.coming-soon p{color:#9ca3af;color:var(--text-muted);font-size:1.2rem;text-align:center}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:2rem 2rem 1rem}.modal-header h3{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.modal-close{background:none;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-size:1.5rem;padding:.5rem;transition:all .3s ease}.modal-close:hover{background:#f1f5f9;color:#374151}.form-paciente{padding:2rem}.form-section{margin-bottom:2rem}.form-section h4{align-items:center;color:#1e293b;display:flex;font-size:1.2rem;font-weight:600;gap:.5rem;margin:0 0 1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#374151;font-size:.9rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:red;border-color:var(--primary-color);outline:none}.modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;padding:1rem 2rem 2rem}.btn-cancelar,.btn-guardar{border:none;border-radius:12px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-cancelar{background:#f1f5f9;color:#64748b}.btn-cancelar:hover{background:#e2e8f0}.btn-guardar{background:linear-gradient(135deg,red,#000);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff}.btn-guardar:hover{box-shadow:0 8px 25px #2563eb4d;transform:translateY(-2px)}@media (max-width:768px){.panel-header{flex-direction:column;gap:1rem;padding:12px 16px;text-align:center}.header-brand{justify-content:center}.header-logo{height:48px;width:48px}.brand-title{font-size:18px}.user-section{justify-content:center}.stats-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card-main{padding:1rem}.stat-icon{height:50px;width:50px}.stat-icon,.stat-info .stat-value{font-size:1.5rem}.panel-nav{padding:0 1rem}.panel-content{padding:1rem}.content-header{align-items:stretch;gap:1rem}.content-header,.header-actions{flex-direction:column}.dashboard-grid,.pacientes-grid,.terapia-item{grid-template-columns:1fr}.terapia-item{gap:.5rem}.form-row{grid-template-columns:1fr}.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}.modal-actions{flex-direction:column;padding:1rem}}@media (max-width:480px){.brand-title{font-size:16px}.stat-card-main{flex-direction:column;gap:.5rem;text-align:center}.nav-tab{font-size:.9rem;padding:.75rem 1rem}.dashboard-card,.form-paciente,.modal-header,.paciente-card{padding:1rem}}.evaluaciones-content{padding:0 32px}.evaluaciones-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-top:24px}.evaluacion-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #0000001a;box-shadow:0 4px 12px var(--shadow-light);overflow:hidden;padding:24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.evaluacion-card:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 8px 25px #00000026;box-shadow:0 8px 25px var(--shadow-medium);transform:translateY(-4px)}.evaluacion-card.inicial{border-left:4px solid #00c851;border-left:4px solid var(--success-color)}.evaluacion-card.seguimiento{border-left:4px solid #f59e0b;border-left:4px solid var(--warning-color)}.evaluacion-card.final{border-left:4px solid red;border-left:4px solid var(--primary-color)}.evaluacion-header{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.evaluacion-info h4{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:600;margin:0 0 4px}.evaluacion-fecha{color:#9ca3af;color:var(--text-muted);font-size:14px;font-weight:500}.evaluacion-badges{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.tipo-badge{border-radius:20px;color:#fff;color:var(--white);font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.tipo-badge.inicial{background:linear-gradient(135deg,#00c851,#059669);background:linear-gradient(135deg,var(--success-color) 0,#059669 100%)}.tipo-badge.seguimiento{background:linear-gradient(135deg,#f59e0b,#d97706);background:linear-gradient(135deg,var(--warning-color) 0,#d97706 100%)}.tipo-badge.final{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%)}.estado-badge{border-radius:16px;font-size:10px;font-weight:600;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.estado-badge.completada{background:#dcfce7;color:#166534}.estado-badge.pendiente{background:#fef3c7;color:#92400e}.evaluacion-body{margin-bottom:20px}.evaluacion-section{margin-bottom:16px}.evaluacion-section h5{align-items:center;color:#1f2937;color:var(--text-dark);display:flex;font-size:14px;font-weight:600;gap:6px;margin:0 0 8px}.evaluacion-section p{background:#f8fafc;border-left:3px solid red;border-left:3px solid var(--primary-color);border-radius:8px;color:#6b7280;color:var(--text-light);font-size:13px;line-height:1.5;margin:0;padding:12px}.evaluacion-footer{align-items:center;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;padding-top:16px}.evaluacion-kinesiologo{color:#9ca3af;color:var(--text-muted);font-size:13px;font-weight:500}.evaluacion-actions{display:flex;gap:8px}.btn-editar,.btn-imprimir,.btn-ver{border:none;border-radius:6px;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:all .2s ease}.btn-ver{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;color:var(--white)}.btn-ver:hover{box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.btn-editar{background:linear-gradient(135deg,#f59e0b,#d97706);background:linear-gradient(135deg,var(--warning-color) 0,#d97706 100%);color:#fff;color:var(--white)}.btn-editar:hover{box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}.btn-imprimir{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;color:var(--white)}.btn-imprimir:hover{box-shadow:0 4px 12px #6b72804d;transform:translateY(-1px)}.empty-state-evaluaciones{align-items:center;background:#fff;background:var(--white);border:2px dashed #e2e8f0;border-radius:16px;display:flex;flex-direction:column;justify-content:center;margin-top:24px;padding:80px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state-evaluaciones h3{color:#1f2937;color:var(--text-dark);font-size:20px;font-weight:600;margin:0 0 8px}.empty-state-evaluaciones p{color:#9ca3af;color:var(--text-muted);font-size:16px;margin:0 0 24px;max-width:400px}.modal-large{max-height:90vh;max-width:800px;overflow-y:auto}.form-evaluacion{padding:24px}.form-evaluacion .form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:32px;padding:20px}.form-evaluacion .form-section h4{align-items:center;color:#1f2937;color:var(--text-dark);display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 16px}.form-evaluacion .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-evaluacion .form-group{display:flex;flex-direction:column;gap:6px}.form-evaluacion label{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600}.form-evaluacion input,.form-evaluacion select,.form-evaluacion textarea{background:#fff;background:var(--white);border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:12px;transition:all .2s ease}.form-evaluacion input:focus,.form-evaluacion select:focus,.form-evaluacion textarea:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-evaluacion textarea{font-family:inherit;min-height:80px;resize:vertical}@media (max-width:768px){.evaluaciones-content{padding:0 16px}.evaluaciones-grid{gap:16px;grid-template-columns:1fr}.evaluacion-card{padding:16px}.evaluacion-header{align-items:flex-start;flex-direction:column;gap:12px}.evaluacion-badges{align-items:center;flex-direction:row}.evaluacion-footer{align-items:flex-start;flex-direction:column;gap:12px}.evaluacion-actions{justify-content:space-between;width:100%}.modal-large{margin:20px;max-width:95vw}.form-evaluacion .form-row{grid-template-columns:1fr}}.planes-content{padding:0 32px}.planes-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));margin-top:24px}.plan-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #0000001a;box-shadow:0 4px 12px var(--shadow-light);overflow:hidden;padding:24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.plan-card:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 8px 25px #00000026;box-shadow:0 8px 25px var(--shadow-medium);transform:translateY(-4px)}.plan-card.activo{border-left:4px solid #00c851;border-left:4px solid var(--success-color)}.plan-card.completado{border-left:4px solid red;border-left:4px solid var(--primary-color)}.plan-card.suspendido{border-left:4px solid #ef4444;border-left:4px solid var(--error-color)}.plan-header{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.plan-info h4{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:600;margin:0 0 4px}.plan-fechas{color:#9ca3af;color:var(--text-muted);font-size:13px;font-weight:500}.plan-badges{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.estado-badge-plan{border-radius:20px;color:#fff;color:var(--white);font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.estado-badge-plan.activo{background:linear-gradient(135deg,#00c851,#059669);background:linear-gradient(135deg,var(--success-color) 0,#059669 100%)}.estado-badge-plan.completado{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%)}.estado-badge-plan.suspendido{background:linear-gradient(135deg,#ef4444,#dc2626);background:linear-gradient(135deg,var(--error-color) 0,#dc2626 100%)}.duracion-badge{background:#f3f4f6;border-radius:16px;color:#1f2937;color:var(--text-dark);font-size:10px;font-weight:600;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.plan-body{margin-bottom:20px}.plan-section{margin-bottom:16px}.plan-section h5{align-items:center;color:#1f2937;color:var(--text-dark);display:flex;font-size:14px;font-weight:600;gap:6px;margin:0 0 8px}.plan-section p{background:#f8fafc;border-left:3px solid red;border-left:3px solid var(--primary-color);border-radius:8px;color:#6b7280;color:var(--text-light);font-size:13px;line-height:1.5;margin:0;padding:12px}.ejercicios-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.ejercicio-tag{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border:1px solid #7dd3fc;border-radius:12px;color:#0369a1;font-size:11px;font-weight:600;padding:4px 10px}.progreso-container{align-items:center;display:flex;gap:12px;margin-top:8px}.progreso-bar{background:#e5e7eb;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progreso-fill{background:linear-gradient(135deg,#00c851,#059669);background:linear-gradient(135deg,var(--success-color) 0,#059669 100%);border-radius:4px;height:100%;transition:width .3s ease}.progreso-text{color:#00c851;color:var(--success-color);font-size:12px;font-weight:600;min-width:35px}.plan-footer{align-items:center;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;padding-top:16px}.plan-kinesiologo{color:#9ca3af;color:var(--text-muted);font-size:13px;font-weight:500}.plan-actions{display:flex;gap:8px}.btn-editar-plan,.btn-imprimir-plan,.btn-ver-plan{border:none;border-radius:6px;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:all .2s ease}.btn-ver-plan{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;color:var(--white)}.btn-ver-plan:hover{box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.btn-editar-plan{background:linear-gradient(135deg,#f59e0b,#d97706);background:linear-gradient(135deg,var(--warning-color) 0,#d97706 100%);color:#fff;color:var(--white)}.btn-editar-plan:hover{box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}.btn-imprimir-plan{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;color:var(--white)}.btn-imprimir-plan:hover{box-shadow:0 4px 12px #6b72804d;transform:translateY(-1px)}.empty-state-planes{align-items:center;background:#fff;background:var(--white);border:2px dashed #e2e8f0;border-radius:16px;display:flex;flex-direction:column;justify-content:center;margin-top:24px;padding:80px 20px;text-align:center}.empty-state-planes h3{color:#1f2937;color:var(--text-dark);font-size:20px;font-weight:600;margin:0 0 8px}.empty-state-planes p{color:#9ca3af;color:var(--text-muted);font-size:16px;margin:0 0 24px;max-width:400px}.form-plan{padding:24px}.form-plan .form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:32px;padding:20px}.form-plan .form-section h4{align-items:center;color:#1f2937;color:var(--text-dark);display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 16px}.form-plan .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-plan .form-group{display:flex;flex-direction:column;gap:6px}.form-plan label{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600}.form-plan input,.form-plan select,.form-plan textarea{background:#fff;background:var(--white);border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:12px;transition:all .2s ease}.form-plan input:focus,.form-plan select:focus,.form-plan textarea:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-plan textarea{font-family:inherit;min-height:80px;resize:vertical}.ejercicios-input-container{position:relative}.form-help{color:#9ca3af;color:var(--text-muted);font-size:12px;font-style:italic;margin-top:4px}@media (max-width:768px){.planes-content{padding:0 16px}.planes-grid{gap:16px;grid-template-columns:1fr}.plan-card{padding:16px}.plan-header{align-items:flex-start;flex-direction:column;gap:12px}.plan-badges{align-items:center;flex-direction:row}.plan-footer{align-items:flex-start;flex-direction:column;gap:12px}.plan-actions{justify-content:space-between;width:100%}.ejercicios-list{flex-direction:column}.ejercicio-tag{text-align:center}.form-plan .form-row{grid-template-columns:1fr}}.terapias-content{padding:0 32px}.terapias-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));margin-top:24px}.terapia-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #0000001a;box-shadow:0 4px 12px var(--shadow-light);overflow:hidden;padding:24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.terapia-card:hover{border-color:red;border-color:var(--primary-color);box-shadow:0 8px 25px #00000026;box-shadow:0 8px 25px var(--shadow-medium);transform:translateY(-4px)}.terapia-card.completada{border-left:4px solid #00c851;border-left:4px solid var(--success-color)}.terapia-card.programada{border-left:4px solid #f59e0b;border-left:4px solid var(--warning-color)}.terapia-card.cancelada{border-left:4px solid #ef4444;border-left:4px solid var(--error-color)}.terapia-header{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.terapia-info h4{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:600;margin:0 0 4px}.terapia-fecha-hora{color:#9ca3af;color:var(--text-muted);font-size:13px;font-weight:500}.terapia-badges{align-items:flex-end;display:flex;flex-direction:column;gap:6px}.estado-badge-terapia{border-radius:20px;color:#fff;color:var(--white);font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.estado-badge-terapia.completada{background:linear-gradient(135deg,#00c851,#059669);background:linear-gradient(135deg,var(--success-color) 0,#059669 100%)}.estado-badge-terapia.programada{background:linear-gradient(135deg,#f59e0b,#d97706);background:linear-gradient(135deg,var(--warning-color) 0,#d97706 100%)}.estado-badge-terapia.cancelada{background:linear-gradient(135deg,#ef4444,#dc2626);background:linear-gradient(135deg,var(--error-color) 0,#dc2626 100%)}.tipo-badge-terapia{background:#e0f2fe;border:1px solid #7dd3fc;border-radius:16px;color:#0369a1}.duracion-badge-terapia,.tipo-badge-terapia{font-size:10px;font-weight:600;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.duracion-badge-terapia{background:#f3f4f6;border-radius:16px;color:#1f2937;color:var(--text-dark)}.terapia-body{margin-bottom:20px}.terapia-section{margin-bottom:16px}.terapia-section h5{align-items:center;color:#1f2937;color:var(--text-dark);display:flex;font-size:14px;font-weight:600;gap:6px;margin:0 0 8px}.terapia-section p{background:#f8fafc;border-left:3px solid red;border-left:3px solid var(--primary-color);border-radius:8px;color:#6b7280;color:var(--text-light);font-size:13px;line-height:1.5;margin:0;padding:12px}.terapia-programada{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;padding:16px}.terapia-programada .terapia-section p{background:#fffc;border-left:3px solid #f59e0b;border-left:3px solid var(--warning-color)}.terapia-footer{align-items:center;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;padding-top:16px}.terapia-kinesiologo{color:#9ca3af;color:var(--text-muted);font-size:13px;font-weight:500}.terapia-actions{display:flex;flex-wrap:wrap;gap:6px}.btn-cancelar-terapia,.btn-editar-terapia,.btn-imprimir-terapia,.btn-iniciar-terapia,.btn-reprogramar-terapia,.btn-ver-terapia{border:none;border-radius:6px;cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.5px;padding:6px 10px;text-transform:uppercase;transition:all .2s ease}.btn-ver-terapia{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;color:var(--white)}.btn-ver-terapia:hover{box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.btn-editar-terapia{background:linear-gradient(135deg,#f59e0b,#d97706);background:linear-gradient(135deg,var(--warning-color) 0,#d97706 100%);color:#fff;color:var(--white)}.btn-editar-terapia:hover{box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}.btn-imprimir-terapia{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;color:var(--white)}.btn-imprimir-terapia:hover{box-shadow:0 4px 12px #6b72804d;transform:translateY(-1px)}.btn-iniciar-terapia{background:linear-gradient(135deg,#00c851,#059669);background:linear-gradient(135deg,var(--success-color) 0,#059669 100%);color:#fff;color:var(--white)}.btn-iniciar-terapia:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.btn-reprogramar-terapia{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);color:#fff;color:var(--white)}.btn-reprogramar-terapia:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-cancelar-terapia{background:linear-gradient(135deg,#ef4444,#dc2626);background:linear-gradient(135deg,var(--error-color) 0,#dc2626 100%);color:#fff;color:var(--white)}.btn-cancelar-terapia:hover{box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.empty-state-terapias{align-items:center;background:#fff;background:var(--white);border:2px dashed #e2e8f0;border-radius:16px;display:flex;flex-direction:column;justify-content:center;margin-top:24px;padding:80px 20px;text-align:center}.empty-state-terapias h3{color:#1f2937;color:var(--text-dark);font-size:20px;font-weight:600;margin:0 0 8px}.empty-state-terapias p{color:#9ca3af;color:var(--text-muted);font-size:16px;margin:0 0 24px;max-width:400px}.form-terapia{padding:24px}.form-terapia .form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:32px;padding:20px}.form-terapia .form-section h4{align-items:center;color:#1f2937;color:var(--text-dark);display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 16px}.form-terapia .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-terapia .form-group{display:flex;flex-direction:column;gap:6px}.form-terapia label{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600}.form-terapia input,.form-terapia select,.form-terapia textarea{background:#fff;background:var(--white);border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:12px;transition:all .2s ease}.form-terapia input:focus,.form-terapia select:focus,.form-terapia textarea:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-terapia textarea{font-family:inherit;min-height:80px;resize:vertical}@media (max-width:768px){.terapias-content{padding:0 16px}.terapias-grid{gap:16px;grid-template-columns:1fr}.terapia-card{padding:16px}.terapia-header{align-items:flex-start;flex-direction:column;gap:12px}.terapia-badges{align-items:center;flex-direction:row;flex-wrap:wrap}.terapia-footer{align-items:flex-start;flex-direction:column;gap:12px}.terapia-actions{justify-content:space-between;width:100%}.form-terapia .form-row{grid-template-columns:1fr}}.agenda-content{padding:0 32px}.date-filter{background:#fff;background:var(--white);border:1px solid #d1d5db;border-radius:8px;color:#1f2937;color:var(--text-dark);font-size:14px;padding:8px 12px}.agenda-timeline{margin-top:24px}.agenda-day{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #0000001a;box-shadow:0 2px 8px var(--shadow-light);margin-bottom:32px;overflow:hidden}.day-header{align-items:center;background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);color:#fff;color:var(--white);display:flex;justify-content:space-between;padding:16px 24px}.day-header h3{font-size:18px;font-weight:600;margin:0;text-transform:capitalize}.citas-count{background:#fff3;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.citas-timeline{padding:0}.cita-card{border-bottom:1px solid #f1f5f9;display:flex;position:relative;transition:all .2s ease}.cita-card:last-child{border-bottom:none}.cita-card:hover{background:#f8fafc}.cita-card.confirmada{border-left:4px solid #00c851;border-left:4px solid var(--success-color)}.cita-card.pendiente{border-left:4px solid #f59e0b;border-left:4px solid var(--warning-color)}.cita-card.cancelada{background:#fef2f2;border-left:4px solid #ef4444;border-left:4px solid var(--error-color)}.cita-card.reprogramada{background:#ff00000d;border-left:4px solid red;border-left:4px solid var(--primary-color)}.cita-time{align-items:center;background:#f8fafc;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;justify-content:center;min-width:100px;padding:20px 16px}.cita-time .hora{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:700;margin-bottom:4px}.cita-time .duracion{background:#e2e8f0;border-radius:12px;color:#9ca3af;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.cita-content{flex:1 1;padding:20px 24px}.cita-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.cita-header h4{color:#1f2937;color:var(--text-dark);font-size:18px;font-weight:600;margin:0}.cita-badges{display:flex;flex-wrap:wrap;gap:8px}.estado-badge-cita{border-radius:20px;color:#fff;color:var(--white);font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.estado-badge-cita.confirmada{background:linear-gradient(135deg,#00c851,#059669);background:linear-gradient(135deg,var(--success-color) 0,#059669 100%)}.estado-badge-cita.pendiente{background:linear-gradient(135deg,#f59e0b,#d97706);background:linear-gradient(135deg,var(--warning-color) 0,#d97706 100%)}.estado-badge-cita.cancelada{background:linear-gradient(135deg,#ef4444,#dc2626);background:linear-gradient(135deg,var(--error-color) 0,#dc2626 100%)}.estado-badge-cita.reprogramada{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%)}.tipo-badge-cita{background:#e0f2fe;border:1px solid #7dd3fc;border-radius:20px;color:#0369a1;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.cita-details{margin-bottom:16px}.cita-info p{color:#6b7280;color:var(--text-light);font-size:14px;margin:0 0 8px}.cita-info strong{color:#1f2937;color:var(--text-dark);font-weight:600}.cancelacion-motivo{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:8px;padding:12px}.reprogramacion-info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-top:8px;padding:12px}.cita-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-cancelar-cita,.btn-confirmar-cita,.btn-eliminar-cita,.btn-iniciar-cita,.btn-reprogramar-cita,.btn-ver-cita{border:none;border-radius:6px;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:all .2s ease}.btn-confirmar-cita{background:linear-gradient(135deg,#00c851,#059669);background:linear-gradient(135deg,var(--success-color) 0,#059669 100%);color:#fff;color:var(--white)}.btn-confirmar-cita:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.btn-reprogramar-cita{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);color:#fff;color:var(--white)}.btn-reprogramar-cita:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-cancelar-cita{background:linear-gradient(135deg,#ef4444,#dc2626);background:linear-gradient(135deg,var(--error-color) 0,#dc2626 100%);color:#fff;color:var(--white)}.btn-cancelar-cita:hover{box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.btn-iniciar-cita{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);color:#fff;color:var(--white)}.btn-iniciar-cita:hover{box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.btn-ver-cita{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;color:var(--white)}.btn-ver-cita:hover{box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.btn-eliminar-cita{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;color:var(--white)}.btn-eliminar-cita:hover{box-shadow:0 4px 12px #6b72804d;transform:translateY(-1px)}.empty-state-agenda{align-items:center;background:#fff;background:var(--white);border:2px dashed #e2e8f0;border-radius:16px;display:flex;flex-direction:column;justify-content:center;margin-top:24px;padding:80px 20px;text-align:center}.empty-state-agenda h3{color:#1f2937;color:var(--text-dark);font-size:20px;font-weight:600;margin:0 0 8px}.empty-state-agenda p{color:#9ca3af;color:var(--text-muted);font-size:16px;margin:0 0 24px;max-width:400px}.form-cita{padding:24px}.form-cita .form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:32px;padding:20px}.form-cita .form-section h4{align-items:center;color:#1f2937;color:var(--text-dark);display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 16px}.form-cita .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-cita .form-group{display:flex;flex-direction:column;gap:6px}.form-cita label{color:#1f2937;color:var(--text-dark);font-size:14px;font-weight:600}.form-cita input,.form-cita select,.form-cita textarea{background:#fff;background:var(--white);border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:12px;transition:all .2s ease}.form-cita input:focus,.form-cita select:focus,.form-cita textarea:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-cita textarea{font-family:inherit;min-height:80px;resize:vertical}@media (max-width:768px){.agenda-content{padding:0 16px}.cita-card{flex-direction:column}.cita-time{border-bottom:1px solid #e2e8f0;border-right:none;flex-direction:row;justify-content:space-between;min-width:auto}.cita-header{align-items:flex-start;flex-direction:column;gap:12px}.cita-badges{width:100%}.cita-actions{justify-content:space-between}.day-header{align-items:flex-start;flex-direction:column;gap:8px}.form-cita .form-row{grid-template-columns:1fr}}:root{--primary-color:red;--secondary-color:#c00;--accent-color:#000;--success-color:#00c851;--warning-color:#f59e0b;--error-color:#ef4444;--white:#fff;--background-light:#f8fafc;--text-dark:#1f2937;--text-light:#6b7280;--text-muted:#9ca3af;--shadow-light:#0000001a;--shadow-medium:#00000026;--shadow-strong:#00000040}.cliente-panel{background:linear-gradient(135deg,#f8fafc,#e2e8f0);background:linear-gradient(135deg,var(--background-light) 0,#e2e8f0 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.loading-message{color:#64748b;font-size:1.1rem;justify-content:center;min-height:50vh}.loading-message,.panel-header{align-items:center;display:flex}.panel-header{background:#fff;background:var(--white);border-bottom:1px solid #e2e8f0;justify-content:space-between;margin-bottom:20px;padding:16px 32px}.header-brand{align-items:center;display:flex;gap:12px}.header-logo{height:64px;object-fit:contain;width:64px}.brand-info{display:flex;flex-direction:column;gap:2px}.brand-title{color:#1f2937;color:var(--text-dark);font-size:20px;font-weight:700;letter-spacing:-.5px;margin:0}.brand-subtitle{color:#9ca3af;color:var(--text-muted);font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.user-section{gap:12px}.user-avatar,.user-section{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border-radius:50%;color:#fff;color:var(--white);height:36px;justify-content:center;width:36px}.user-info{flex-direction:column;gap:1px;text-align:right}.user-name{color:#1f2937;color:var(--text-dark);font-size:13px;font-weight:600}.user-role{color:#9ca3af;color:var(--text-muted)}.btn-logout,.user-role{font-size:11px;letter-spacing:.5px;text-transform:uppercase}.btn-logout{align-items:center;background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);border:none;border-radius:8px;color:#fff;color:var(--white);cursor:pointer;display:flex;font-weight:600;gap:6px;padding:8px 14px;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-logout:hover{box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.panel-content{margin:0 auto;max-width:1200px;padding:2rem}.welcome-section{margin-bottom:3rem;text-align:center}.welcome-section h2{color:#1f2937;color:var(--text-dark);font-size:2.5rem;font-weight:700;margin:0 0 1rem}.welcome-section p{color:#6b7280;color:var(--text-light);font-size:1.2rem;margin-bottom:2rem}.quick-stats{display:flex;gap:3rem;justify-content:center;margin-top:2rem}.stat-item{align-items:center;display:flex;flex-direction:column;gap:.5rem}.stat-number{color:red;color:var(--primary-color);font-size:2.5rem;font-weight:700}.stat-label{color:#9ca3af;color:var(--text-muted);font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.scan-section{display:flex;justify-content:center;margin-bottom:3rem}.qr-scanner-container{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 8px 32px #0000001a;max-width:500px;padding:2rem;width:100%}.qr-scanner{margin-bottom:2rem}.scanner-frame{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:16px;height:300px;margin:0 auto;overflow:hidden;position:relative;width:300px}.scanner-overlay{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:2rem}.scanner-corners,.scanner-overlay{bottom:0;left:0;position:absolute;right:0;top:0}.corner{border:3px solid red;border:3px solid var(--primary-color);height:40px;position:absolute;width:40px}.corner.top-left{border-bottom:none;border-right:none;border-top-left-radius:8px;left:20px;top:20px}.corner.top-right{border-bottom:none;border-left:none;border-top-right-radius:8px;right:20px;top:20px}.corner.bottom-left{border-bottom-left-radius:8px;border-right:none;border-top:none;bottom:20px;left:20px}.corner.bottom-right{border-bottom-right-radius:8px;border-left:none;border-top:none;bottom:20px;right:20px}.scanner-instructions{color:#9ca3af;color:var(--text-muted);text-align:center}.qr-icon{color:red;color:var(--primary-color);margin-bottom:1rem;opacity:.7}.scanner-instructions p{font-size:1rem;font-weight:500;margin:0}.scanning-animation{align-items:center;color:red;color:var(--primary-color);display:flex;flex-direction:column;height:100%;justify-content:center;position:relative;text-align:center;width:100%}.scanning-line{animation:scanning 2s ease-in-out infinite;background:linear-gradient(90deg,#0000,red,#0000);background:linear-gradient(90deg,#0000,var(--primary-color),#0000);height:3px;left:0;position:absolute;right:0;top:0}@keyframes scanning{0%{transform:translateY(0)}50%{transform:translateY(280px)}to{transform:translateY(0)}}.scanning-animation p{font-size:1.1rem;font-weight:600;margin:2rem 0 0}.scan-result{border-radius:12px;padding:1rem;text-align:center;width:100%}.scan-result.success{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.scan-result.error{background:linear-gradient(135deg,#fef2f2,#fecaca);color:#dc2626}.result-icon{margin-bottom:1rem}.scan-result h3{font-size:1.3rem;font-weight:700;margin:0 0 1rem}.cliente-info{background:#fffc;border-radius:8px;margin-top:1rem;padding:1rem}.cliente-info p{font-size:.95rem;margin:.25rem 0}.scanner-controls{display:flex;flex-direction:column;gap:1rem}.btn-scan{background:linear-gradient(135deg,red,#000);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border:none;border-radius:12px;color:#fff;color:var(--white);cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.btn-scan:hover:not(:disabled){box-shadow:0 8px 25px #2563eb4d;transform:translateY(-2px)}.btn-scan:disabled{cursor:not-allowed;opacity:.6}.manual-entry{border-top:1px solid #e2e8f0;padding-top:1rem}.manual-entry form{display:flex;gap:.5rem}.manual-entry input{border:2px solid #e2e8f0;border-radius:8px;flex:1 1;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.manual-entry input:focus{border-color:red;border-color:var(--primary-color);outline:none}.manual-entry button{background:#00c851;background:var(--success-color);border:none;border-radius:8px;color:#fff;color:var(--white);cursor:pointer;font-weight:600;padding:.75rem 1rem;transition:all .3s ease}.manual-entry button:hover:not(:disabled){background:#059669}.manual-entry button:disabled{cursor:not-allowed;opacity:.6}.recent-visits{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:2rem;padding:2rem}.recent-visits h3{color:#1f2937;color:var(--text-dark);font-size:1.3rem;font-weight:600;margin:0 0 1.5rem}.visits-list{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto}.visit-item{align-items:center;background:#f8fafc;border-left:4px solid red;border-left:4px solid var(--primary-color);border-radius:12px;display:flex;justify-content:space-between;padding:1rem}.visit-info{display:flex;flex-direction:column;gap:.25rem}.visit-name{color:#1f2937;color:var(--text-dark);font-weight:600}.visit-time{color:#9ca3af;color:var(--text-muted);font-size:.9rem}.method-badge{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.method-badge.qr{background:#dcfce7;color:#166534}.method-badge.manual{background:#fef3c7;color:#92400e}.no-visits{color:#9ca3af;color:var(--text-muted);padding:2rem;text-align:center}.info-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.info-card{background:#fff;background:var(--white);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:2rem}.info-card h4{color:#1f2937;color:var(--text-dark);font-size:1.2rem;font-weight:600;margin:0 0 1rem}.info-card ul{color:#6b7280;color:var(--text-light);margin:0;padding-left:1.5rem}.info-card li{margin-bottom:.5rem}.info-card p{color:#6b7280;color:var(--text-light);margin:.5rem 0}@media (max-width:768px){.panel-header{flex-direction:column;gap:1rem;padding:12px 16px;text-align:center}.header-brand{justify-content:center}.header-logo{height:48px;width:48px}.brand-title{font-size:18px}.user-section{justify-content:center}.panel-content{padding:1rem}.welcome-section h2{font-size:2rem}.quick-stats{gap:2rem}.stat-number{font-size:2rem}.scanner-frame{height:250px;width:250px}.qr-scanner-container{padding:1.5rem}.corner{height:30px;width:30px}.corner.top-left,.corner.top-right{top:15px}.corner.bottom-left,.corner.bottom-right{bottom:15px}.corner.bottom-left,.corner.top-left{left:15px}.corner.bottom-right,.corner.top-right{right:15px}.info-section{grid-template-columns:1fr}.manual-entry form{flex-direction:column}}@media (max-width:480px){.welcome-section h2{font-size:1.8rem}.quick-stats{flex-direction:column;gap:1rem}.scanner-frame{height:200px;width:200px}.qr-scanner-container{padding:1rem}.visit-item{align-items:flex-start;flex-direction:column;gap:.5rem}.info-card{padding:1.5rem}}.last-update{margin-top:10px;opacity:.8;text-align:center}.last-update small{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:20px;color:#ffffffe6;font-size:12px;padding:4px 12px}.scanner-instructions-main{padding:2rem;text-align:center}.instruction-card{background:#fffffff2;border-radius:20px;box-shadow:0 10px 30px #0003;margin-bottom:2rem;padding:2rem}.qr-icon-large{color:red;color:var(--primary-color);margin-bottom:1rem}.instruction-card h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin:1rem 0}.instruction-card p{color:#6b7280;font-size:1.1rem;margin-bottom:1rem}.status-indicator{align-items:center;color:#10b981;display:flex;font-weight:600;gap:.5rem;justify-content:center}.status-dot{background:#ef4444;border-radius:50%;height:12px;width:12px}.status-dot.active{animation:pulse 2s infinite;background:#10b981}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.manual-entry-alt{background:#ffffffe6;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:1.5rem}.manual-entry-alt h4{color:#374151;font-size:1rem;margin-bottom:1rem}.manual-entry-alt form{align-items:center;display:flex;gap:1rem}.manual-entry-alt input{border:2px solid #d1d5db;border-radius:10px;flex:1 1;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.manual-entry-alt input:focus{border-color:red;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff00001a;outline:none}.manual-entry-alt button{background:#10b981;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.manual-entry-alt button:hover:not(:disabled){background:#059669;transform:translateY(-2px)}.manual-entry-alt button:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.welcome-spam-overlay{align-items:center;animation:fadeIn .3s ease-in;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.welcome-spam-message{animation:bounceIn .6s ease-out;background:linear-gradient(135deg,#10b981,#059669);border-radius:30px;box-shadow:0 20px 60px #00000080;color:#fff;max-width:600px;padding:3rem;text-align:center;width:90%}.welcome-spam-overlay:has(.salida) .welcome-spam-message{background:linear-gradient(135deg,#ef4444,#dc2626)}.welcome-title.salida{color:#fef2f2!important}.welcome-spam-overlay:has(.error) .welcome-spam-message{background:linear-gradient(135deg,#dc2626,#991b1b)}.welcome-title.error{color:#fee2e2!important;font-size:2.5rem}.success-icon-large.error-icon{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.status-badge.salida{background:#ef444433;border:2px solid #ef444480}.status-badge.entrada{background:#10b98133;border:2px solid #10b98180}.welcome-animation{animation:scaleUp .8s ease-out}.success-icon-large{animation:checkmark 1s ease-in-out;color:#fff;margin-bottom:1rem}.welcome-title{animation:glow 2s ease-in-out infinite alternate;font-size:3rem;font-weight:900;margin:.5rem 0;text-shadow:2px 2px 4px #0000004d}.welcome-name{color:#f0fdf4;font-size:2rem;font-weight:700;letter-spacing:2px;margin:1rem 0;text-transform:uppercase}.welcome-message{font-size:1.3rem;font-style:italic;font-weight:600;margin:1rem 0;opacity:.95}.welcome-time{font-size:1.2rem;margin:1rem 0;opacity:.9}.status-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:25px;font-size:1.1rem;font-weight:700;letter-spacing:1px;padding:.75rem 2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateY(-50px)}50%{transform:scale(1.05) translateY(0)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleUp{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes checkmark{0%{transform:scale(0) rotate(0deg)}50%{transform:scale(1.2) rotate(180deg)}to{transform:scale(1) rotate(1turn)}}@keyframes glow{0%{text-shadow:2px 2px 4px #0000004d}to{text-shadow:2px 2px 20px #ffffff80,2px 2px 4px #0000004d}}@media (max-width:768px){.welcome-spam-message{margin:1rem;padding:2rem}.welcome-title{font-size:2rem}.welcome-name{font-size:1.5rem}.instruction-card{padding:1.5rem}.manual-entry-alt form{flex-direction:column;gap:1rem}}.App{text-align:center}.App-header{background-color:#282c34;color:#fff;min-height:100vh;padding:20px}.header-top{align-items:center;border-bottom:1px solid #444;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.App-header h1{color:red;font-size:28px;margin:0}.user-info{align-items:center;display:flex;gap:15px}.user-info span{color:#fff;font-weight:500}.logout-button{background:linear-gradient(135deg,#ff6b6b,#ee5a52);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .3s ease}.logout-button:hover{box-shadow:0 4px 12px #ff6b6b4d;transform:translateY(-1px)}.usuarios-section{margin:0 auto;max-width:800px}.usuarios-section h2{color:#fff;margin-bottom:20px}.usuarios-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:20px 0}.usuario-card{background-color:#3a3f47;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:transform .2s}.usuario-card:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.usuario-card h3{color:red;margin:0 0 10px}.usuario-card p{color:#ccc;margin:5px 0}.loading-container{align-items:center;background:linear-gradient(135deg,red,#c00 50%,#000);color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;margin-bottom:20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container p{font-size:18px;font-weight:500;margin:0}@media (max-width:768px){.header-top{flex-direction:column;gap:15px;text-align:center}.user-info{flex-direction:column;gap:10px}}
/*# sourceMappingURL=main.8393602b.css.map*/