body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;color:#1a1a2e;background-color:#fff;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 24px}.header{background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:16px 0;position:fixed;top:0;left:0;right:0;z-index:1000;border-bottom:1px solid rgba(0,0,0,.06)}.nav{display:flex;justify-content:space-between;align-items:center}.logo{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:28px;color:#6366f1;text-decoration:none;display:flex;align-items:center;gap:8px}.logo-icon{font-size:24px}.nav-links{display:flex;list-style:none;gap:8px}.nav-links a{text-decoration:none;color:#4b5563;font-weight:500;font-size:14px;padding:10px 16px;border-radius:8px;transition:all .2s ease}.nav-links a:hover{color:#6366f1;background:#6366f114}.header-buttons{display:flex;gap:12px;align-items:center}.login-button{color:#4b5563;padding:10px 20px;border:1.5px solid #e5e7eb;border-radius:10px;font-weight:500;text-decoration:none;font-size:14px;transition:all .2s ease}.login-button:hover{border-color:#6366f1;color:#6366f1}.cta-button{background:#6366f1;color:#fff;padding:10px 20px;border:none;border-radius:10px;font-weight:600;text-decoration:none;font-size:14px;transition:all .2s ease}.cta-button:hover{background:#4f46e5;transform:translateY(-1px)}.mobile-menu-btn{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:8px;gap:5px}.mobile-menu-btn span{width:24px;height:2px;background:#374151;transition:all .3s ease}.mobile-menu-btn.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{display:none;flex-direction:column;gap:12px;padding:24px 0}.mobile-menu.active{display:flex}.mobile-menu a{color:#374151;text-decoration:none;padding:12px 0;font-weight:500;border-bottom:1px solid #f3f4f6}.hero{padding:160px 0 100px;background:linear-gradient(180deg,#fafaff,#fff);position:relative;overflow:hidden}.hero-gradient{position:absolute;top:0;right:0;width:60%;height:100%;background:radial-gradient(ellipse at top right,rgba(99,102,241,.08) 0%,transparent 60%);pointer-events:none}.hero-content{max-width:800px;text-align:center;margin:0 auto;position:relative;z-index:2}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#6366f11a;color:#6366f1;padding:8px 16px;border-radius:100px;font-size:13px;font-weight:600;margin-bottom:24px}.badge-dot{width:8px;height:8px;background:#6366f1;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.hero h1{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:56px;line-height:1.1;color:#1a1a2e;margin-bottom:24px}.hero h1 .highlight{background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:20px;color:#6b7280;margin-bottom:40px;line-height:1.7}.hero-subtitle strong{color:#374151}.hero-buttons{display:flex;gap:16px;justify-content:center;margin-bottom:60px}.hero-cta{display:inline-flex;align-items:center;gap:10px;background:#6366f1;color:#fff;padding:16px 32px;border-radius:12px;font-weight:600;text-decoration:none;font-size:16px;transition:all .2s ease}.hero-cta:hover{background:#4f46e5;transform:translateY(-2px);box-shadow:0 12px 24px #6366f14d}.hero-secondary{display:inline-flex;align-items:center;color:#6b7280;padding:16px 24px;font-weight:500;text-decoration:none;font-size:16px;transition:all .2s ease}.hero-secondary:hover{color:#6366f1}.hero-proof{display:flex;justify-content:center;align-items:center;gap:32px;padding-top:40px;border-top:1px solid #f3f4f6}.proof-item{display:flex;flex-direction:column;align-items:center;gap:4px}.proof-number{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:32px;color:#6366f1}.proof-label{font-size:13px;color:#9ca3af;font-weight:500}.proof-divider{width:1px;height:40px;background:#e5e7eb}.pain-points{padding:100px 0;background:#fff}.section-header{text-align:center;margin-bottom:60px}.section-tag{display:inline-block;background:#6366f11a;color:#6366f1;padding:6px 14px;border-radius:100px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.section-tag.light{background:#ffffff26;color:#fff}.section-header h2{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:44px;color:#1a1a2e;margin-bottom:16px}.section-header p{font-size:18px;color:#6b7280}.pain-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:60px}.pain-card{background:#fafaff;border:1px solid #f3f4f6;border-radius:16px;padding:32px 24px;text-align:center;transition:all .3s ease}.pain-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000000f;border-color:#e5e7eb}.pain-icon{font-size:40px;margin-bottom:16px}.pain-stat{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:48px;color:#ef4444;margin-bottom:8px}.pain-label{font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.pain-detail{font-size:13px;color:#9ca3af}.pain-quote{max-width:700px;margin:0 auto;text-align:center;padding:40px;background:#fafaff;border-radius:20px;border-left:4px solid #6366f1}.pain-quote blockquote{font-size:20px;font-style:italic;color:#374151;line-height:1.7;margin-bottom:16px}.pain-quote cite{font-size:14px;color:#9ca3af;font-style:normal}.solution-intro{padding:80px 0;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.solution-content{max-width:800px;margin:0 auto;text-align:center}.solution-content h2{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:44px;margin-bottom:20px}.solution-content p{font-size:18px;opacity:.9;line-height:1.7;margin-bottom:40px}.solution-content p strong{color:#fff;opacity:1}.solution-highlight{display:flex;justify-content:center;gap:40px}.highlight-item{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500}.highlight-emoji{font-size:24px}.agents-section{padding:100px 0;background:#fafaff}.agents-showcase{display:grid;grid-template-columns:280px 1fr;gap:40px;margin-top:40px}.agents-selector{display:flex;flex-direction:column;gap:12px}.agent-tab{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.agent-tab:hover{border-color:var(--agent-color, #6366f1)}.agent-tab.active{background:var(--agent-color, #6366f1);border-color:var(--agent-color, #6366f1);color:#fff}.agent-tab-emoji{font-size:24px}.agent-tab-name{font-weight:600;font-size:15px}.agent-detail{background:#fff;border-radius:20px;padding:40px;border:1px solid #e5e7eb}.agent-header{display:flex;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #f3f4f6}.agent-avatar{width:72px;height:72px;background:var(--agent-color, #6366f1);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:32px}.agent-info h3{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:28px;color:#1a1a2e;margin-bottom:4px}.agent-role{font-size:14px;color:var(--agent-color, #6366f1);font-weight:600}.agent-status{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;color:#10b981;font-weight:500}.status-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse 2s infinite}.agent-description{font-size:17px;color:#6b7280;line-height:1.7;margin-bottom:32px}.agent-tasks h4{font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;margin-bottom:16px}.agent-tasks ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}.agent-tasks li{display:flex;align-items:center;gap:10px;font-size:15px;color:#374151;font-weight:500}.agent-tasks li svg{color:var(--agent-color, #6366f1);flex-shrink:0}.how-it-works{padding:100px 0;background:#1a1a2e;color:#fff}.how-it-works .section-header h2{color:#fff}.how-it-works .section-header p{color:#ffffffb3}.flow-visualization{display:flex;align-items:flex-start;justify-content:center;gap:12px;margin-top:60px;flex-wrap:wrap}.flow-step{flex:1;min-width:160px;max-width:200px;text-align:center;padding:24px 16px}.flow-number{width:32px;height:32px;background:#6366f133;color:#a5b4fc;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;margin:0 auto 16px}.flow-icon{font-size:40px;margin-bottom:16px}.flow-step h3{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:18px;margin-bottom:8px}.flow-step p{font-size:13px;color:#fff9;line-height:1.5}.flow-arrow{color:#6366f1;font-size:24px;margin-top:60px;opacity:.5}.flow-note{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:60px;padding:20px 32px;background:#6366f11a;border-radius:12px;max-width:600px;margin-left:auto;margin-right:auto}.flow-note .note-emoji{font-size:24px}.flow-note span{font-size:15px;color:#fffc}.flow-note strong{color:#fff}.platform-preview{padding:100px 0;background:#fff}.platform-features{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:40px}.platform-feature{padding:40px;background:#fafaff;border-radius:20px;border:1px solid #f3f4f6;transition:all .3s ease}.platform-feature:hover{transform:translateY(-4px);box-shadow:0 16px 32px #0000000f}.platform-feature .feature-icon{font-size:48px;margin-bottom:20px}.platform-feature h3{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:24px;color:#1a1a2e;margin-bottom:12px}.platform-feature p{font-size:15px;color:#6b7280;line-height:1.6}.demo-section{padding:100px 0;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.demo-content{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.demo-info{color:#fff}.demo-info h2{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:44px;margin-bottom:20px}.demo-info>p{font-size:18px;opacity:.9;line-height:1.7;margin-bottom:32px}.demo-benefits{display:flex;flex-direction:column;gap:16px;margin-bottom:40px}.demo-benefit{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:500}.benefit-check{width:24px;height:24px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px}.demo-whatsapp{display:flex;align-items:center;gap:16px;padding-top:32px;border-top:1px solid rgba(255,255,255,.2)}.demo-whatsapp>span{font-size:14px;opacity:.8}.whatsapp-btn{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;padding:12px 24px;border-radius:10px;text-decoration:none;font-weight:600;font-size:14px;transition:all .2s ease}.whatsapp-btn:hover{background:#20b559;transform:translateY(-2px)}.demo-form{background:#fff;padding:40px;border-radius:20px}.form-group label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.form-group input{width:100%;padding:14px 16px;border:2px solid #f3f4f6;border-radius:10px;font-size:15px;font-family:inherit;transition:all .2s ease;background:#fafaff}.form-group input:focus{outline:none;border-color:#6366f1;background:#fff}.phone-input{display:flex;gap:8px}.phone-input select{width:100px;padding:14px 12px;border:2px solid #f3f4f6;border-radius:10px;font-size:14px;font-family:inherit;background:#fafaff;cursor:pointer}.phone-input select:focus{outline:none;border-color:#6366f1}.phone-input input{flex:1}.submit-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:#6366f1;color:#fff;padding:16px 32px;border:none;border-radius:12px;font-weight:600;font-size:16px;font-family:inherit;cursor:pointer;transition:all .2s ease}.submit-btn:hover{background:#4f46e5;transform:translateY(-2px)}.form-note{text-align:center;font-size:13px;color:#9ca3af;margin-top:16px}.footer{padding:60px 0 32px;background:#1a1a2e;color:#fff}.footer-content{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}.footer-brand .logo{color:#fff;margin-bottom:12px}.footer-brand p{font-size:14px;color:#fff9}.footer-links{display:flex;gap:80px}.footer-column h4{font-size:14px;font-weight:700;margin-bottom:16px;color:#fff}.footer-column a{display:block;color:#fff9;text-decoration:none;font-size:14px;margin-bottom:10px;transition:color .2s ease}.footer-column a:hover{color:#fff}.footer-bottom{padding-top:32px;text-align:center}.footer-bottom p{font-size:14px;color:#ffffff80}@media (max-width: 1024px){.agents-showcase{grid-template-columns:1fr}.agents-selector{flex-direction:row;overflow-x:auto;padding-bottom:16px}.agent-tab{flex-shrink:0}.demo-content{grid-template-columns:1fr;gap:40px}}@media (max-width: 768px){.nav-links,.header-buttons{display:none}.mobile-menu-btn{display:flex}.hero{padding:120px 0 60px}.hero h1{font-size:36px}.hero-subtitle{font-size:16px}.hero-buttons{flex-direction:column;align-items:center}.hero-proof{flex-direction:column;gap:24px}.proof-divider{display:none}.pain-grid{grid-template-columns:repeat(2,1fr);gap:16px}.pain-stat{font-size:36px}.section-header h2{font-size:32px}.solution-highlight{flex-direction:column;gap:20px}.agent-tasks ul{grid-template-columns:1fr}.flow-visualization{flex-direction:column;align-items:center}.flow-arrow{transform:rotate(90deg);margin:0}.flow-step{max-width:100%}.platform-features{grid-template-columns:1fr}.footer-content{flex-direction:column;gap:40px}.footer-links{gap:40px}}@media (max-width: 480px){.pain-grid{grid-template-columns:1fr}.hero h1{font-size:28px}.demo-info h2{font-size:32px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#e8e8e3,#f2f2f0)}.login-background{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:0}.login-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3;animation:float 20s ease-in-out infinite}.blob-1{width:500px;height:500px;background:var(--accent-lime);top:-10%;left:-10%;animation-delay:0s}.blob-2{width:400px;height:400px;background:#10b981;bottom:-10%;right:-10%;animation-delay:5s}.blob-3{width:300px;height:300px;background:#6366f1;top:50%;left:50%;animation-delay:10s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.login-container{position:relative;z-index:1;width:100%;max-width:1200px;padding:2rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.login-card{background:var(--white);border-radius:var(--radius-xl);padding:3rem;box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5)}.login-header{text-align:center;margin-bottom:2.5rem}.login-logo-wrapper{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.5rem}.logo-icon{font-size:3rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.login-logo{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--text-dark);margin:0}.login-subtitle{font-size:.9375rem;color:var(--text-light);margin:0;font-weight:400}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-label{font-weight:600;font-size:.875rem;color:var(--gray-700);display:flex;align-items:center;gap:.5rem}.label-icon{font-size:1.125rem}.form-input{width:100%;padding:.875rem 1rem;border:2px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9375rem;transition:all var(--transition-base);background:var(--white);font-family:var(--font-primary)}.form-input:focus{outline:none;border-color:var(--text-dark);box-shadow:0 0 0 4px #1a1a1a1a}.form-input:disabled{background:var(--gray-100);cursor:not-allowed;opacity:.6}.btn-login{width:100%;padding:1rem 2rem;background:var(--text-dark);color:var(--white);border:none;border-radius:var(--radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.5rem}.btn-login:hover:not(:disabled){background:var(--accent-lime);color:var(--text-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{opacity:.6;cursor:not-allowed}.btn-arrow{font-size:1.25rem;transition:transform var(--transition-base)}.btn-login:hover:not(:disabled) .btn-arrow{transform:translate(4px)}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--white);border-radius:50%;animation:spin .8s linear infinite}.login-footer{margin-top:2rem;text-align:center;padding-top:2rem;border-top:1px solid var(--gray-200)}.footer-text{font-size:.875rem;color:var(--text-light);margin-bottom:.5rem}.footer-link{font-size:.875rem;color:var(--text-dark);font-weight:600;text-decoration:none;transition:color var(--transition-fast)}.footer-link:hover{color:var(--accent-lime)}.login-info{display:flex;flex-direction:column;gap:1.5rem}.info-card{background:var(--white);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm);transition:all var(--transition-base);border:1px solid rgba(255,255,255,.5)}.info-card:hover{transform:translate(8px);box-shadow:var(--shadow-md)}.info-icon{font-size:2.5rem;margin-bottom:1rem}.info-card h3{font-size:1.25rem;font-weight:600;color:var(--text-dark);margin-bottom:.5rem}.info-card p{font-size:.875rem;color:var(--text-light);line-height:1.5;margin:0}.alert{padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem;font-size:.875rem;line-height:1.5}.alert-warning{background:#fef3c7;color:#92400e;border:1px solid #fbbf24}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.alert code{background:#0000001a;padding:.125rem .5rem;border-radius:4px;font-family:Courier New,monospace}@media (max-width: 1024px){.login-container{grid-template-columns:1fr;max-width:500px;gap:2rem}.login-info{display:none}}@media (max-width: 640px){.login-page{padding:1rem}.login-card{padding:2rem 1.5rem}.login-logo{font-size:2rem}.logo-icon{font-size:2.5rem}.blob-1,.blob-2,.blob-3{display:none}}.onboarding-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}.onboarding-bg-shapes{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.onboarding-shape{position:absolute;border-radius:50%;opacity:.1;animation:float 20s ease-in-out infinite}.onboarding-shape-1{width:400px;height:400px;background:#fff;top:-100px;right:-100px}.onboarding-shape-2{width:300px;height:300px;background:#fff;bottom:-50px;left:-50px;animation-delay:-5s}.onboarding-shape-3{width:200px;height:200px;background:#fff;top:50%;left:10%;animation-delay:-10s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-30px) rotate(10deg)}}.onboarding-container{width:100%;max-width:540px;position:relative;z-index:1}.onboarding-card{background:#fff;border-radius:24px;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;animation:slideUp .5s ease-out}.onboarding-progress{padding:24px 32px 0}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-steps{display:flex;gap:8px;font-size:14px;color:var(--gray-500)}.progress-steps .current{color:var(--primary);font-weight:600}.progress-percentage{font-size:14px;font-weight:700;color:var(--primary)}.progress-bar-container{height:8px;background:var(--gray-100);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),#8b5cf6);border-radius:4px;transition:width .5s cubic-bezier(.4,0,.2,1)}.onboarding-content{padding:32px;min-height:400px;display:flex;flex-direction:column}.step-header{text-align:center;margin-bottom:32px}.step-icon{font-size:56px;margin-bottom:16px;animation:bounce 1s ease-in-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.step-title{font-size:24px;font-weight:700;color:var(--gray-900);margin-bottom:8px}.step-subtitle{font-size:15px;color:var(--gray-500)}.onboarding-form{flex:1;display:flex;flex-direction:column}.form-fields{flex:1}.onboarding-form .form-group{margin-bottom:20px}.onboarding-form .form-label{display:block;font-size:14px;font-weight:600;color:var(--gray-700);margin-bottom:8px}.onboarding-form .form-input,.onboarding-form .form-select{width:100%;padding:14px 16px;border:2px solid var(--gray-200);border-radius:12px;font-size:16px;transition:all .2s;background:#fff}.onboarding-form .form-input:focus,.onboarding-form .form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #6366f11a}.onboarding-form .form-input::placeholder{color:var(--gray-400)}.role-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.role-option{padding:24px 20px;border:2px solid var(--gray-200);border-radius:16px;text-align:center;cursor:pointer;transition:all .2s;background:#fff}.role-option:hover{border-color:var(--gray-300);transform:translateY(-2px)}.role-option.selected{border-color:var(--primary);background:#6366f10d}.role-option .role-icon{font-size:40px;margin-bottom:12px}.role-option .role-title{font-size:16px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.role-option .role-desc{font-size:13px;color:var(--gray-500)}.also-therapist-check{display:flex;align-items:center;gap:12px;padding:16px;background:var(--gray-50);border-radius:12px;cursor:pointer;transition:background .2s}.also-therapist-check:hover{background:var(--gray-100)}.also-therapist-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary)}.also-therapist-check span{font-size:15px;color:var(--gray-700)}.days-selector{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.day-btn{width:52px;height:52px;border:2px solid var(--gray-200);border-radius:12px;background:#fff;font-size:13px;font-weight:600;color:var(--gray-600);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.day-btn:hover{border-color:var(--primary)}.day-btn.selected{background:var(--primary);border-color:var(--primary);color:#fff;transform:scale(1.05)}.day-btn.selected:hover{background:var(--primary-dark)}.time-selectors{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin-bottom:24px}.time-selectors .separator{color:var(--gray-400);font-weight:600}.time-select{padding:14px 16px;border:2px solid var(--gray-200);border-radius:12px;font-size:16px;text-align:center;cursor:pointer;transition:all .2s}.time-select:focus{outline:none;border-color:var(--primary)}.hint-text{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#6366f114;border-radius:10px;font-size:14px;color:var(--primary);margin-bottom:24px}.onboarding-actions{display:flex;gap:12px;margin-top:auto;padding-top:24px}.btn-back{padding:14px 24px;border:2px solid var(--gray-200);border-radius:12px;background:#fff;font-size:15px;font-weight:600;color:var(--gray-600);cursor:pointer;transition:all .2s}.btn-back:hover{border-color:var(--gray-300);background:var(--gray-50)}.btn-next{flex:1;padding:14px 24px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--primary),#8b5cf6);font-size:15px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s}.btn-next:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #6366f14d}.btn-next:disabled{opacity:.6;cursor:not-allowed}.celebration-step{text-align:center;padding:20px 0}.celebration-icon{font-size:80px;animation:celebrate 1s ease-in-out infinite}@keyframes celebrate{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(-5deg)}75%{transform:scale(1.1) rotate(5deg)}}.celebration-title{font-size:28px;font-weight:700;color:var(--gray-900);margin:24px 0 12px}.celebration-subtitle{font-size:16px;color:var(--gray-500);margin-bottom:32px}.completion-list{text-align:left;background:var(--gray-50);border-radius:16px;padding:20px 24px;margin-bottom:32px}.completion-item{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:15px;color:var(--gray-700)}.completion-item .check{width:24px;height:24px;background:#10b981;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;animation:checkPop .3s ease-out}@keyframes checkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.invite-section{padding:24px;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border-radius:16px;margin-bottom:24px}.invite-section h3{font-size:17px;font-weight:600;color:var(--gray-900);margin-bottom:8px}.invite-section p{font-size:14px;color:var(--gray-600);margin-bottom:16px}.btn-invite{width:100%;padding:14px;border:none;border-radius:12px;background:#fff;font-size:15px;font-weight:600;color:var(--primary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-invite:hover{background:var(--gray-50)}.btn-dashboard{width:100%;padding:16px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--primary),#8b5cf6);font-size:16px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s}.btn-dashboard:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f14d}.welcome-banner{text-align:center;padding:24px;background:linear-gradient(135deg,#10b9811a,#06b6d41a);border-radius:16px;margin-bottom:24px}.welcome-banner .center-logo{width:64px;height:64px;background:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 16px;box-shadow:0 4px 12px #0000001a}.welcome-banner h3{font-size:18px;font-weight:600;color:var(--gray-900);margin-bottom:4px}.welcome-banner p{font-size:14px;color:var(--gray-600)}.confetti-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000;overflow:hidden}.confetti{position:absolute;width:10px;height:10px;animation:confetti-fall 3s linear forwards}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@media (max-width: 600px){.onboarding-page{padding:16px}.onboarding-card{border-radius:20px}.onboarding-content{padding:24px}.step-icon{font-size:48px}.step-title{font-size:22px}.role-options{grid-template-columns:1fr}.days-selector{flex-wrap:wrap}.day-btn{width:44px;height:44px;font-size:12px}.celebration-icon{font-size:64px}}.dashboard-container{padding:20px;max-width:1400px;margin:0 auto}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.welcome-section{margin-bottom:40px}.welcome-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.welcome-text h1{font-family:Inter,sans-serif;font-weight:600;font-size:36px;color:var(--text-dark);margin-bottom:8px}.welcome-text p{color:var(--text-light);font-size:16px;font-weight:400}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:40px}.stat-card:hover{transform:scale(1.05);box-shadow:0 8px 24px #0000001f}.stat-card.featured{background:var(--text-dark);color:#fff}.stat-card.featured .stat-label{color:var(--gray-300)}.stat-card.featured .stat-number{color:#fff}.stat-card.featured .stat-arrow-icon{background:#fff;color:var(--text-dark)}.stat-card.featured .stat-trend.positive{color:var(--accent-lime)}.stat-blur-orb{position:absolute;top:-40px;right:-40px;width:128px;height:128px;border-radius:50%;background:#fff;opacity:.05;filter:blur(40px);pointer-events:none}.stat-top{display:flex;justify-content:space-between;align-items:flex-start;z-index:10;position:relative}.stat-label{color:var(--gray-500);font-weight:500;font-size:14px}.stat-arrow-icon{background:var(--gray-50);color:var(--gray-400);padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;width:28px;height:28px;transition:all .2s ease}.stat-card:hover .stat-arrow-icon{transform:translateY(-2px)}.stat-arrow-icon svg{width:12px;height:12px}.stat-bottom{z-index:10;position:relative}.stat-number{font-weight:700;font-size:32px;color:var(--gray-900);margin-bottom:8px;line-height:1}.stat-trend{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.stat-trend svg{width:12px;height:12px;transition:transform .3s ease}.stat-trend.positive{color:#10b981}.stat-trend.negative{color:#ef4444}.stat-trend svg.rotate-180{transform:rotate(180deg)}.modules-section{margin-bottom:40px}.section-title{font-family:Inter,sans-serif;font-weight:600;font-size:24px;color:var(--text-dark);margin-bottom:24px;display:flex;align-items:center;gap:12px}.modules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.module-card{background:var(--bg-card);border-radius:var(--radius-md);padding:32px;border:none;transition:all .3s ease;text-decoration:none;color:inherit;position:relative;overflow:hidden;display:block;box-shadow:var(--shadow-sm)}.module-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.module-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--accent-lime);opacity:0;transition:opacity .3s ease}.module-card:hover:before{opacity:1}.module-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.module-arrow-btn{width:40px;height:40px;border-radius:50%;background:var(--gray-100);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.module-card:hover .module-arrow-btn{background:var(--gray-200);transform:translateY(-2px)}.module-arrow-icon{width:20px;height:20px;color:var(--gray-600)}.module-icon{font-size:38px;margin-bottom:16px}.module-title{font-weight:600;font-size:15px;margin-bottom:2px}.module-description{color:var(--text-light);font-size:14px;line-height:1.5;margin-bottom:20px}.module-stats{display:flex;gap:16px;margin-bottom:20px}.module-stat{text-align:center}.module-stat-number{font-weight:700;font-size:18px;color:var(--text-dark)}.module-stat-label{font-size:11px;color:var(--text-light);text-transform:uppercase;font-weight:500}.module-action{display:flex;align-items:center;gap:8px;color:var(--text-dark);font-weight:600;font-size:14px}.quick-actions-section{margin-bottom:40px}.quick-actions-grid{display:flex;flex-wrap:nowrap;gap:12px;width:100%}.quick-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;border-radius:var(--radius-sm);text-decoration:none;color:var(--text-dark);font-weight:500;font-size:14px;transition:all .2s ease;background:var(--white);box-shadow:var(--shadow-sm);flex:1;white-space:nowrap}.quick-action-btn:hover{background:var(--accent-lime);color:var(--text-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-action-icon{font-size:18px}.alerts-section{margin-bottom:40px}.alerts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.alert-card{background:var(--white);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm);border-left:4px solid var(--gray-300);transition:all .2s ease}.alert-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.alert-card.appointments-alert{border-left-color:#3b82f6}.alert-card.payments-alert{border-left-color:#f59e0b}.alert-card.packages-alert{border-left-color:#ef4444}.alert-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.alert-icon{font-size:24px}.alert-header h3{flex:1;font-size:16px;font-weight:600;color:var(--text-dark);margin:0}.alert-count{background:var(--gray-100);color:var(--gray-700);padding:4px 10px;border-radius:12px;font-size:13px;font-weight:600}.alert-count.warning{background:#fef3c7;color:#d97706}.alert-count.danger{background:#fee2e2;color:#dc2626}.alert-content{min-height:120px;max-height:200px;overflow-y:auto}.alert-empty{color:var(--text-light);text-align:center;padding:30px 0;font-size:14px}.alert-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.alert-item{padding:10px 12px;background:var(--gray-50);border-radius:var(--radius-sm);transition:background .2s ease}.alert-item:hover{background:var(--gray-100)}.alert-item-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.alert-item-name{font-weight:500;color:var(--text-dark);font-size:14px}.alert-badge{font-size:11px;padding:3px 8px;border-radius:10px;font-weight:500}.alert-badge.virtual{background:#dbeafe;color:#1d4ed8}.alert-badge.presencial{background:#d1fae5;color:#059669}.alert-badge.pending{background:#fef3c7;color:#b45309}.alert-badge.expiring{background:#fee2e2;color:#dc2626}.alert-item-detail{font-size:12px;color:var(--text-light)}.alert-action{display:block;text-align:center;margin-top:16px;padding-top:12px;border-top:1px solid var(--gray-200);color:var(--primary);text-decoration:none;font-size:13px;font-weight:500;transition:color .2s ease}.alert-action:hover{color:var(--primary-dark)}.module-card:nth-child(1){animation-delay:.1s}.module-card:nth-child(2){animation-delay:.2s}.module-card:nth-child(3){animation-delay:.3s}.module-card:nth-child(4){animation-delay:.4s}.module-card:nth-child(5){animation-delay:.5s}.module-card:nth-child(6){animation-delay:.6s}.module-card:nth-child(7){animation-delay:.7s}.module-card:nth-child(8){animation-delay:.8s}@media (max-width: 768px){.welcome-header{flex-direction:column;align-items:flex-start;gap:16px}.welcome-text h1{font-size:28px}.stats-overview,.modules-grid{grid-template-columns:1fr}.module-card{padding:24px}}@media (max-width: 480px){.quick-action-btn{flex:1 1 100%;min-width:100%}}.confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .2s ease-out;padding:20px}.confirm-dialog{background:#fff;border-radius:20px;width:100%;max-width:450px;padding:2rem;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out;text-align:center}.confirm-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;margin:0 auto 1.5rem}.confirm-icon.danger{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:3px solid #ef4444}.confirm-icon.warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:3px solid #f59e0b}.confirm-icon.info{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:3px solid #3b82f6}.confirm-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0 0 1rem}.confirm-message{font-family:Inter,sans-serif;font-size:1rem;color:#666;line-height:1.6;margin:0 0 2rem}.confirm-actions{display:flex;gap:1rem;justify-content:center}.confirm-actions .btn{padding:.75rem 2rem;border-radius:10px;font-family:Inter,sans-serif;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;border:none;min-width:120px}.confirm-actions .btn-secondary{background:#f3f4f6;color:#374151}.confirm-actions .btn-secondary:hover{background:#e5e7eb}.confirm-actions .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.confirm-actions .btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 4px 15px #ef44444d}.confirm-actions .btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.confirm-actions .btn-warning:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-2px);box-shadow:0 4px 15px #f59e0b4d}.confirm-actions .btn-info{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.confirm-actions .btn-info:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 4px 15px #3b82f64d}@media (max-width: 480px){.confirm-dialog{padding:1.5rem}.confirm-icon{width:64px;height:64px;font-size:2.5rem}.confirm-title{font-size:1.25rem}.confirm-actions{flex-direction:column}.confirm-actions .btn{width:100%}}.contacts-container{padding:0}.stats-overview{display:grid;grid-template-columns:repeat(6,1fr);gap:.625rem;margin-bottom:1.25rem}.stat-card{position:relative;background:var(--bg-card);border-radius:var(--radius-sm);padding:.75rem .875rem;border:none;overflow:hidden;box-shadow:var(--shadow-sm);transition:all .3s ease;display:flex;flex-direction:column;gap:2px}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-lime)}.stat-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;background:var(--white);color:var(--text-dark);margin-bottom:.5rem;box-shadow:var(--shadow-sm)}.stat-value{font-family:Inter,sans-serif;font-weight:700;font-size:1.125rem;color:var(--text-dark);margin-bottom:0;line-height:1.2}.stat-label{color:var(--text-light);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.3px;line-height:1.2}.contacts-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600}.add-contact-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}.status-legend{background:#fff;border-radius:var(--radius-lg);padding:20px;margin-bottom:24px;border:1px solid var(--gray-200)}.status-legend h3{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:18px;color:var(--gray-900);margin-bottom:16px;display:flex;align-items:center;gap:8px}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.status-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;background:var(--gray-50);transition:all .2s ease;cursor:pointer}.status-item:hover{background:var(--gray-100);transform:translate(4px)}.status-emoji{font-size:20px}.status-info{flex:1}.status-name{font-weight:600;color:var(--gray-700);font-size:14px}.status-description{color:var(--gray-600);font-size:12px;margin-top:2px}.status-count{background:var(--primary);color:#fff;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600}.contacts-table-container{background:var(--bg-card);border-radius:var(--radius-md);border:none;overflow:hidden;padding:1.5rem;box-shadow:var(--shadow-sm)}.table-header{padding:0 0 1.5rem;border-bottom:none;display:flex;justify-content:space-between;align-items:center}.table-title{font-family:Inter,sans-serif;font-weight:600;font-size:1.25rem;color:var(--text-dark);margin:0;display:flex;align-items:center;gap:.5rem}.table-actions{display:flex;gap:.5rem;align-items:center}.table-action-btn{width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:.875rem;box-shadow:var(--shadow-sm)}.table-action-btn:hover{background:var(--accent-lime);transform:scale(1.1)}.filters-section{padding:0 0 1.5rem;border-bottom:none;background:transparent}.filters-title{font-weight:600;color:var(--text-dark);margin-bottom:1rem;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.search-bar{margin-bottom:1rem}.search-input{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;background:var(--white);transition:all .2s ease;color:var(--text-dark);font-family:Inter,sans-serif}.search-input:focus{outline:none;border-color:var(--text-dark);box-shadow:0 0 0 3px #1a1a1a1a}.search-input::placeholder{color:var(--text-light)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-label{font-size:.875rem;font-weight:500;color:var(--text-dark)}.filter-select,.filter-input{padding:.625rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;background:var(--white);transition:all .2s ease;color:var(--text-dark);font-family:Inter,sans-serif}.filter-actions{display:flex;gap:.5rem;align-items:center}.filter-btn{padding:.625rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;font-family:Inter,sans-serif}.filter-btn.apply{background:var(--text-dark);color:#fff;box-shadow:var(--shadow-sm)}.filter-btn.apply:hover{background:var(--accent-lime);color:var(--text-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.filter-btn.clear{background:var(--bg-card);color:var(--text-dark);box-shadow:var(--shadow-sm)}.filter-btn.clear:hover{background:var(--white);box-shadow:var(--shadow-md)}.contacts-table{width:100%;border-collapse:collapse;table-layout:fixed}.contacts-table tr{display:table-row}.contacts-table th,.contacts-table td{display:table-cell;vertical-align:middle;padding:1rem .75rem;text-align:left;border-bottom:1px solid var(--gray-200)}.contacts-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contacts-table th:nth-child(1),.contacts-table td:nth-child(1){width:22%}.contacts-table th:nth-child(2),.contacts-table td:nth-child(2){width:13%}.contacts-table th:nth-child(3),.contacts-table td:nth-child(3){width:14%}.contacts-table th:nth-child(4),.contacts-table td:nth-child(4){width:13%}.contacts-table th:nth-child(5),.contacts-table td:nth-child(5){width:12%}.contacts-table th:nth-child(6),.contacts-table td:nth-child(6){width:13%}.contacts-table th:nth-child(7),.contacts-table td:nth-child(7){width:13%}.contacts-table th{background:var(--white);font-weight:600;color:var(--text-dark);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;font-family:Inter,sans-serif}.contacts-table tbody tr{transition:all .2s ease;animation:slideIn .3s ease forwards;opacity:0}.contacts-table tbody tr:hover{background:var(--white)}.contacts-table td{color:var(--text-light);font-size:.875rem;font-family:Inter,sans-serif}.table-row{cursor:pointer;transition:all .2s ease}.contact-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;flex-shrink:0}.contact-info{display:flex;align-items:center;gap:12px}.contact-details h4{font-weight:500;color:var(--text-dark);margin-bottom:2px;font-size:.875rem;font-family:Inter,sans-serif}.contact-details p{color:var(--text-light);font-size:.8125rem;margin:0;font-family:Inter,sans-serif}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:none!important}.status-badge.status-confirmado{background:#d1fae5;color:#065f46}.status-badge.status-pendiente{background:#fef3c7;color:#92400e}.status-badge.status-aprobado{background:#dbeafe;color:#1e40af}.status-badge.status-caliente{background:#dcfce7;color:#166534}.status-badge.status-frio{background:#f3f4f6;color:#4b5563}.status-badge.status-tibio{background:#fef3c7;color:#92400e}.status-badge.status-pre-reservado{background:#ede9fe;color:#6b21a8}.status-badge.status-rechazado{background:#fee2e2;color:#991b1b}.status-badge.status-no-contactado{background:#f3f4f6;color:#4b5563}.amount-badge{font-family:Inter,sans-serif;font-weight:700;color:var(--text-dark);font-size:1rem}.approval-buttons{display:flex;gap:.5rem}.approval-btn{width:28px;height:28px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.approval-btn.approve{background:#10b981;color:#fff}.approval-btn.approve:hover{background:#059669;transform:scale(1.1)}.approval-btn.reject{background:#ef4444;color:#fff}.approval-btn.reject:hover{background:#dc2626;transform:scale(1.1)}.transaction-code{font-family:Monaco,Consolas,monospace;background:var(--bg-card);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;color:var(--text-dark);font-weight:600;box-shadow:var(--shadow-sm)}.pagination-section{padding:1rem 0 0;border-top:none;display:flex;justify-content:space-between;align-items:center;background:transparent}.pagination-info{display:flex;align-items:center;gap:16px;flex:1}.page-size-selector{display:flex;align-items:center;gap:8px}.page-size-selector label{font-size:14px;color:var(--gray-600);font-weight:500}.page-size-selector select{padding:6px 8px;border:1px solid var(--gray-300);border-radius:4px;font-size:14px;background:#fff}.results-info{font-size:14px;color:var(--gray-600)}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-btn{padding:.375rem .75rem;border:1px solid var(--gray-300);background:var(--white);border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;transition:all .2s ease;color:var(--text-dark);font-weight:500;font-family:Inter,sans-serif;box-shadow:var(--shadow-sm)}.pagination-btn:hover:not(:disabled){background:var(--bg-card);box-shadow:var(--shadow-md)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn.active{background:var(--text-dark);color:#fff;border-color:var(--text-dark)}.pagination-btn.active:hover{background:var(--accent-lime);color:var(--text-dark);border-color:var(--accent-lime)}.mobile-contacts-container{display:none}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.page-title h1{font-size:24px}.stats-overview{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:1rem}.stat-value{font-size:1.25rem}.stat-label{font-size:.6875rem}.status-grid{grid-template-columns:1fr}.filters-grid{grid-template-columns:1fr;gap:12px}.filters-section{padding:16px}.contacts-table{display:none}.mobile-contacts-container{display:block!important;padding:16px}.mobile-contact-card{background:#fff;border-radius:var(--radius-lg);padding:20px;margin-bottom:16px;border:1px solid var(--gray-200);box-shadow:0 2px 8px #0000000d;transition:all .2s ease;cursor:pointer}.mobile-contact-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.mobile-contact-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mobile-contact-info{display:flex;align-items:center;gap:12px;flex:1}.mobile-contact-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;flex-shrink:0}.mobile-contact-details h4{font-weight:700;color:var(--gray-900);margin-bottom:4px;font-size:16px}.mobile-contact-details p{color:var(--gray-600);font-size:14px;margin:0}.mobile-status-row{display:flex;justify-content:space-between;align-items:center;margin:12px 0;gap:12px}.mobile-status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-align:center;display:inline-block;flex-shrink:0;text-transform:capitalize}.mobile-status-badge.status-confirmado{background:#10b98126;color:#047857}.mobile-status-badge.status-pendiente{background:#f59e0b26;color:#92400e}.mobile-status-badge.status-aprobado{background:#6366f126;color:#4338ca}.mobile-status-badge.status-caliente{background:#22c55e26;color:#166534}.mobile-status-badge.status-frio{background:#9ca3af26;color:#374151}.mobile-status-badge.status-tibio{background:#fbbf2426;color:#92400e}.mobile-status-badge.status-pre-reservado{background:#8b5cf626;color:#6b21a8}.mobile-status-badge.status-rechazado{background:#ef444426;color:#b91c1c}.mobile-status-badge.status-no-contactado{background:#6b728026;color:#374151}.mobile-payment-info{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:12px}.mobile-amount{font-weight:700;color:#059669;background:#10b9811a;padding:4px 8px;border-radius:6px}.mobile-transaction{color:var(--gray-600);font-weight:500}.mobile-actions{display:flex;justify-content:center;gap:12px;margin-top:16px}.mobile-action-btn{width:44px;height:44px;border-radius:12px;border:none;cursor:pointer;font-size:18px;font-weight:600;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.mobile-action-btn.approve{background:#10b981;color:#fff}.mobile-action-btn.approve:hover{background:#059669;transform:translateY(-2px)}.mobile-action-btn.reject{background:#ef4444;color:#fff}.mobile-action-btn.reject:hover{background:#dc2626;transform:translateY(-2px)}.pagination-section{flex-direction:column;gap:12px;align-items:stretch}.pagination-info{flex-direction:column;gap:8px;align-items:stretch}.pagination-controls{justify-content:center}}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.modal-actions .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.modal-actions .btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}@media (max-width: 768px){.modal-content{max-height:95vh;border-radius:16px 16px 0 0;margin-top:auto}.modal-header{padding:20px 20px 16px}.modal-header h2{font-size:20px}.modal-form{padding:20px}.form-grid{grid-template-columns:1fr;gap:16px}.modal-actions{padding:16px 20px;flex-direction:column-reverse}.modal-actions .btn{width:100%;padding:12px}}.search-bar-standalone{margin-bottom:1rem}.search-bar-standalone .search-input{width:100%;max-width:400px;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;background:var(--white);transition:all .2s ease;color:var(--text-dark);font-family:Inter,sans-serif}.table-header-with-filters{padding:0 0 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.inline-filters{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.inline-filter-select{padding:.5rem 2rem .5rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.8125rem;background:var(--white);color:var(--text-dark);font-family:Inter,sans-serif;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;transition:all .2s ease}.inline-filter-select:hover{border-color:var(--text-dark)}.inline-filter-select:focus{outline:none;border-color:var(--text-dark);box-shadow:0 0 0 3px #1a1a1a1a}.clear-filters-btn{padding:.5rem .75rem;border:none;border-radius:var(--radius-sm);background:var(--gray-100);color:var(--text-light);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif}.clear-filters-btn:hover{background:var(--gray-200);color:var(--text-dark)}.clickable{cursor:pointer;transition:all .2s ease}.clickable:hover{opacity:.8}.contact-info.clickable:hover .patient-name.link-style{color:#3b82f6;text-decoration:underline}.patient-name.link-style{transition:all .2s ease}.whatsapp-link{color:var(--text-light);font-size:.8125rem;transition:all .2s ease;padding:.25rem .5rem;border-radius:var(--radius-sm)}.whatsapp-link:hover{background:#25d36620;color:#25d366}.mobile-whatsapp-link{color:#25d366;cursor:pointer}.mobile-whatsapp-link:hover{text-decoration:underline}.estado-dropdown,.pago-dropdown{padding:.375rem 2rem .375rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;border:1px solid transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right .4rem center;background-size:8px;background-image:url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L4 4L7 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");transition:all .2s ease;font-family:Inter,sans-serif;min-width:120px}.estado-dropdown:disabled,.pago-dropdown:disabled{cursor:default;opacity:.9;background-image:none;padding-right:.5rem}.estado-dropdown:not(:disabled):hover,.pago-dropdown:not(:disabled):hover{border-color:var(--gray-400)}.estado-dropdown.estado-prospecto,.estado-dropdown-mobile.estado-prospecto{background:#3b82f620;color:#3b82f6}.estado-dropdown.estado-paciente_activo,.estado-dropdown-mobile.estado-paciente_activo{background:#10b98120;color:#10b981}.estado-dropdown.estado-en_riesgo,.estado-dropdown-mobile.estado-en_riesgo{background:#f59e0b20;color:#d97706}.estado-dropdown.estado-abandono,.estado-dropdown-mobile.estado-abandono{background:#ef444420;color:#ef4444}.estado-dropdown.estado-dado_de_alta,.estado-dropdown-mobile.estado-dado_de_alta{background:#6b728020;color:#6b7280}.pago-dropdown.pago-sin_facturas,.pago-dropdown-mobile.pago-sin_facturas{background:#9ca3af20;color:#6b7280}.pago-dropdown.pago-adelantado,.pago-dropdown-mobile.pago-adelantado{background:#10b98120;color:#059669}.pago-dropdown.pago-al_dia,.pago-dropdown-mobile.pago-al_dia{background:#22c55e20;color:#16a34a}.pago-dropdown.pago-atrasado,.pago-dropdown-mobile.pago-atrasado{background:#f59e0b20;color:#d97706}.pago-dropdown.pago-verificando,.pago-dropdown-mobile.pago-verificando{background:#3b82f620;color:#3b82f6}.pago-dropdown.pago-vencido,.pago-dropdown-mobile.pago-vencido{background:#ef444420;color:#ef4444}.estado-dropdown-mobile,.pago-dropdown-mobile{padding:.5rem 2rem .5rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;border:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right .5rem center;background-size:8px;background-image:url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L4 4L7 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");transition:all .2s ease;font-family:Inter,sans-serif}.estado-dropdown-mobile:disabled,.pago-dropdown-mobile:disabled{background-image:none;padding-right:.75rem}.confirm-dialog{max-width:480px}.confirm-dialog-body{padding:1.5rem}.confirm-dialog-body p{margin:0 0 1rem;font-family:Inter,sans-serif;font-size:.9375rem;line-height:1.5;color:var(--text-dark)}.confirm-dialog-body p:last-child{margin-bottom:0}.confirm-warning{background:#fef3c720;border-left:3px solid #F59E0B;padding:1rem!important;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.confirm-success{background:#dcfce720;border-left:3px solid #10B981;padding:1rem!important;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.confirm-info{background:#eff6ff;padding:.75rem 1rem!important;border-radius:var(--radius-sm);font-size:.875rem!important}.confirm-note{color:var(--text-light)!important;font-size:.8125rem!important}.confirm-question{font-weight:500}.modal-actions .btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.modal-actions .btn-success:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.modal-actions .btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.modal-actions .btn-warning:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.contacts-table th:nth-child(1),.contacts-table td:nth-child(1){width:24%}.contacts-table th:nth-child(2),.contacts-table td:nth-child(2){width:14%}.contacts-table th:nth-child(3),.contacts-table td:nth-child(3){width:16%}.contacts-table th:nth-child(4),.contacts-table td:nth-child(4){width:16%}.contacts-table th:nth-child(5),.contacts-table td:nth-child(5){width:14%}.contacts-table th:nth-child(6),.contacts-table td:nth-child(6){width:16%}@media (max-width: 768px){.table-header-with-filters{flex-direction:column;align-items:flex-start}.inline-filters{width:100%}.inline-filter-select{flex:1;min-width:0}.search-bar-standalone .search-input{max-width:100%}.mobile-status-row{gap:8px}.estado-dropdown-mobile,.pago-dropdown-mobile{flex:1;text-align:center}}.header-actions{display:flex;align-items:center;gap:1rem}.view-switcher{display:flex;background:var(--gray-100);border-radius:var(--radius-sm);padding:4px;gap:2px}.view-btn{padding:8px 10px;border:none;background:transparent;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--text-light)}.view-btn:hover{background:#ffffff80;color:var(--text-dark)}.view-btn.active{background:#fff;color:var(--text-dark);box-shadow:var(--shadow-sm)}.view-btn svg{width:18px;height:18px}.contacts-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;padding:0}.contact-card{background:#fff;border-radius:24px;padding:20px;border:1px solid var(--gray-200);transition:all .3s ease;position:relative;cursor:default;display:flex;flex-direction:column;gap:16px;box-shadow:0 4px 12px #0000000d;overflow:hidden;animation:cardFadeIn .3s ease forwards;opacity:0}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.contact-card:before{content:"";position:absolute;top:0;left:0;right:0;height:0;background:var(--accent-lime);transition:height .3s ease;border-radius:24px 24px 0 0}.contact-card:hover:before{height:5px}.contact-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0000001f}.contact-card-header{display:flex;justify-content:space-between;align-items:flex-start}.contact-avatar-circle{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px;flex-shrink:0;border:2px solid white;box-shadow:0 2px 8px #0000001a}.contact-link-btn{width:36px;height:36px;background:var(--gray-100);border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;transition:all .2s ease;cursor:pointer}.contact-link-btn:hover{background:var(--gray-200)}.contact-link-btn .link-icon{width:18px;height:18px;color:var(--gray-600)}.contact-card-details{margin-bottom:0}.contact-card-name{font-size:15px;font-weight:600;color:var(--gray-900);margin-bottom:4px;text-align:left}.contact-card-subtitle{color:var(--gray-400);font-size:13px;font-weight:400}.contact-card-status-row{display:flex;gap:8px}.estado-dropdown-card,.pago-dropdown-card{flex:1;padding:.5rem 1.5rem .5rem .75rem;border-radius:16px;font-size:.75rem;font-weight:600;border:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right .5rem center;background-size:8px;background-image:url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L4 4L7 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");transition:all .2s ease;font-family:Inter,sans-serif;text-align:left}.estado-dropdown-card:disabled,.pago-dropdown-card:disabled{background-image:none;padding-right:.75rem}.estado-dropdown-card.estado-prospecto{background-color:#3b82f620;color:#3b82f6}.estado-dropdown-card.estado-paciente_activo{background-color:#10b98120;color:#10b981}.estado-dropdown-card.estado-en_riesgo{background-color:#f59e0b20;color:#d97706}.estado-dropdown-card.estado-abandono{background-color:#ef444420;color:#ef4444}.estado-dropdown-card.estado-dado_de_alta{background-color:#6b728020;color:#6b7280}.pago-dropdown-card.pago-sin_facturas{background-color:#9ca3af20;color:#6b7280}.pago-dropdown-card.pago-adelantado{background-color:#10b98120;color:#059669}.pago-dropdown-card.pago-al_dia{background-color:#22c55e20;color:#16a34a}.pago-dropdown-card.pago-atrasado{background-color:#f59e0b20;color:#d97706}.pago-dropdown-card.pago-verificando{background-color:#3b82f620;color:#3b82f6}.pago-dropdown-card.pago-vencido{background-color:#ef444420;color:#ef4444}.contact-card-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto}.contact-card-contact-section{display:flex;flex-direction:column;gap:8px}.contact-card-dates-section{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.contact-dates-info{display:flex;flex-direction:column;gap:2px}.date-item{display:flex;gap:4px;font-size:12px}.date-label{color:var(--gray-400)}.date-value{color:var(--gray-700);font-weight:500}.contact-pill{padding:6px 14px;background:#9ca3af26;border-radius:16px;border:none;color:var(--gray-500);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.contact-pill:hover{background:#9ca3af40;color:var(--gray-700)}.section-label{color:var(--gray-400);font-size:11px;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.header-actions{width:100%;justify-content:space-between}.contacts-cards-grid{grid-template-columns:1fr}.contact-card{border-radius:20px}.contact-card-status-row{flex-direction:column}.estado-dropdown-card,.pago-dropdown-card{width:100%}}.monto-value{font-weight:600;color:var(--gray-700);font-size:.875rem}.transaction-codes{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.transaction-code-pill{display:inline-flex;padding:4px 10px;background:linear-gradient(135deg,var(--gray-100) 0%,var(--gray-200) 100%);border-radius:12px;font-size:.75rem;font-weight:600;color:var(--gray-700);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-code-more{display:inline-flex;padding:4px 8px;background:var(--gray-100);border-radius:12px;font-size:.7rem;font-weight:600;color:var(--gray-500);cursor:help}.no-codes{color:var(--gray-400);font-size:.875rem}.contact-card-billing-section{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.contact-billing-info{display:flex;flex-direction:column;gap:4px}.billing-item{display:flex;gap:6px;font-size:12px;align-items:center}.billing-label{color:var(--gray-400)}.billing-value{color:var(--gray-700);font-weight:500}.billing-value.monto{color:var(--gray-800);font-weight:700}.billing-codes{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.code-pill-card{display:inline-flex;padding:2px 8px;background:#9ca3af33;border-radius:10px;font-size:10px;font-weight:600;color:var(--gray-600);max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-more-card{display:inline-flex;padding:2px 6px;background:#9ca3af26;border-radius:10px;font-size:10px;font-weight:600;color:var(--gray-400);cursor:help}.no-code{color:var(--gray-400);font-size:12px}.transaction-code-value{font-weight:500;color:var(--gray-700);font-size:.875rem;padding:4px 8px;border-radius:6px;transition:all .2s ease}.transaction-code-value.editable{cursor:pointer;position:relative}.transaction-code-value.editable:hover{background:#6366f11a}.transaction-code-value.editable:hover:after{content:"✏️";margin-left:6px;font-size:.7rem;opacity:.7}.inline-edit-input{width:100%;max-width:140px;padding:6px 10px;border:2px solid var(--primary);border-radius:8px;font-size:.875rem;font-family:Inter,sans-serif;outline:none;background:#fff;transition:all .2s ease}.inline-edit-input:focus{box-shadow:0 0 0 3px #6366f133}.inline-edit-input::placeholder{color:var(--gray-400);font-size:.8rem}.billing-value.code{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:11px;background:var(--gray-100);padding:2px 6px;border-radius:4px}.table-row.row-needs-attention{background:#3b82f60a;border-left:3px solid #3B82F6}.table-row.row-needs-attention:hover{background:#3b82f614}.codigo-cell{position:relative}.transaction-code-value.codigo-empty{background:#ef444414;border:1px dashed #EF4444;animation:pulse-attention 2s ease-in-out infinite}.transaction-code-value.codigo-empty:hover{background:#ef444426;border-color:#dc2626}@keyframes pulse-attention{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 4px #ef444400}}.codigo-placeholder{color:#ef4444;font-weight:600;font-size:.8rem}.transaction-code-value.codigo-empty:before{content:"⚠️";margin-right:4px;font-size:.9rem}.contact-card.card-needs-attention{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.contact-card.card-needs-attention:before{height:5px;background:#3b82f6}.billing-value.code.code-empty{color:#ef4444;background:#ef44441a;border:1px dashed #EF4444;font-weight:600;animation:pulse-attention 2s ease-in-out infinite}.billing-value.code.code-empty:before{content:"⚠️ ";font-size:.85rem}.commercial-interaction-timeline{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f3f4f6}.timeline-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.add-interaction-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;font-size:.9rem}.add-interaction-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.timeline-empty{text-align:center;padding:48px 24px;color:#6b7280}.timeline-empty p{font-size:1.1rem;margin-bottom:16px}.timeline-container{position:relative;padding-left:8px}.timeline-item{display:flex;gap:20px;margin-bottom:24px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-marker{display:flex;flex-direction:column;align-items:center;position:relative}.timeline-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 8px #00000026;z-index:2;flex-shrink:0}.timeline-line{width:2px;flex:1;background:linear-gradient(to bottom,var(--item-color, #e5e7eb) 0%,transparent 100%);margin-top:4px;min-height:40px}.timeline-content{flex:1;padding-bottom:16px}.timeline-badge{display:inline-block;padding:6px 12px;border-radius:6px;font-weight:600;font-size:.9rem;margin-bottom:8px}.timeline-date{font-size:.85rem;color:#6b7280;margin-bottom:8px;font-weight:500}.timeline-notes{background:#f9fafb;padding:12px 16px;border-radius:8px;border-left:3px solid var(--item-color, #e5e7eb);color:#374151;line-height:1.5;margin-top:8px}.timeline-data{background:#f0f9ff;padding:12px 16px;border-radius:8px;border-left:3px solid #3b82f6;margin-top:12px}.timeline-data strong{display:block;margin-bottom:8px;color:#1e40af;font-size:.9rem}.timeline-data ul{margin:0;padding-left:20px;list-style:none}.timeline-data li{padding:4px 0;font-size:.9rem;color:#374151}.data-key{font-weight:600;color:#1e40af}@media (max-width: 768px){.commercial-interaction-timeline{padding:16px}.timeline-header{flex-direction:column;gap:12px;align-items:stretch}.timeline-header h3{text-align:center}.add-interaction-btn{width:100%}.timeline-item{gap:12px}.timeline-icon{width:40px;height:40px;font-size:16px}.timeline-badge{font-size:.85rem}}.data-collection-progress{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.data-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.data-title-section{display:flex;align-items:center;gap:16px}.data-title-section h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.completion-badge{padding:6px 14px;border-radius:20px;color:#fff;font-weight:600;font-size:.85rem}.edit-data-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;font-size:.9rem}.edit-data-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.completion-bar-container{height:8px;background:#e5e7eb;border-radius:10px;overflow:hidden;margin-bottom:24px}.completion-bar-fill{height:100%;transition:width .3s ease;border-radius:10px}.data-categories{display:grid;gap:20px}.data-category{background:#f9fafb;border-radius:10px;padding:20px;border:1px solid #e5e7eb}.category-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #e5e7eb}.category-icon{font-size:1.5rem}.category-header h4{margin:0;flex:1;font-size:1.1rem;font-weight:600;color:#374151}.category-count{background:#6366f1;color:#fff;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.category-fields{display:grid;gap:12px}.field-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#fff;border-radius:8px;border:1px solid #e5e7eb;transition:all .2s}.field-item:hover{border-color:#6366f1;box-shadow:0 2px 8px #6366f11a}.field-status{flex-shrink:0}.status-icon{font-size:1.2rem;display:inline-block}.field-info{flex:1}.field-label{font-weight:600;color:#374151;font-size:.9rem;margin-bottom:4px}.field-value{color:#6b7280;font-size:.9rem;line-height:1.4}.modal-content.large{max-width:800px;max-height:90vh;overflow-y:auto}@media (max-width: 768px){.data-collection-progress{padding:16px}.data-header{flex-direction:column;gap:12px;align-items:stretch}.data-title-section{flex-direction:column;align-items:flex-start}.edit-data-btn{width:100%}.data-category{padding:16px}.modal-content.large{max-width:95%;max-height:95vh}}.recurring-appointment-generator{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:24px;color:#fff;margin-bottom:24px}.generator-header h3{margin:0 0 8px;font-size:1.25rem;font-weight:600}.generator-description{margin:0 0 20px;opacity:.9;font-size:.95rem}.generate-btn{background:#fff;color:#667eea;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem;width:100%}.generate-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.preview-section{background:#f9fafb;padding:20px;border-radius:10px;margin-top:20px}.preview-section h4{margin:0 0 16px;color:#374151;font-size:1rem}.preview-dates{display:grid;gap:10px}.preview-date-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.preview-number{background:#6366f1;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;flex-shrink:0}.preview-date{flex:1;color:#374151;font-weight:500;text-transform:capitalize}.preview-time{color:#6b7280;font-weight:600;background:#f3f4f6;padding:4px 12px;border-radius:6px}.preview-more{text-align:center;color:#6b7280;font-style:italic;padding:12px}@media (max-width: 768px){.recurring-appointment-generator{padding:16px}}.sales-funnel-container{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.funnel-header{margin-bottom:24px;text-align:center}.funnel-header h3{margin:0 0 8px;font-size:1.25rem;font-weight:600;color:#111827}.funnel-subtitle{margin:0;color:#6b7280;font-size:.9rem}.funnel-stages{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.funnel-stage{width:var(--stage-width);margin:0 auto;transition:all .3s ease}.funnel-bar{padding:16px 24px;border-radius:8px;transition:all .3s ease}.funnel-content{display:flex;align-items:center;gap:12px;color:#fff}.funnel-stage:not(.active) .funnel-content{color:#6b7280}.funnel-icon{font-size:1.3rem}.funnel-label{font-weight:600;font-size:1rem}.current-indicator{margin-left:auto;font-size:.85rem;font-weight:500;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.funnel-stage.current .funnel-bar{box-shadow:0 4px 12px #00000026;transform:scale(1.02)}.recurring-loop{background:linear-gradient(135deg,#f0f9ff,#e0e7ff);border-radius:12px;padding:24px;border:2px solid #8b5cf6}.loop-header{text-align:center;margin-bottom:20px}.loop-header h4{margin:0 0 8px;color:#6366f1;font-size:1.1rem}.loop-header p{margin:0;color:#6b7280;font-size:.9rem}.loop-diagram{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.loop-step{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;min-width:120px}.loop-icon{font-size:2rem}.loop-text{font-weight:600;color:#374151;text-align:center;font-size:.9rem}.loop-arrow{font-size:1.5rem;color:#8b5cf6;font-weight:700}.loop-stats{display:flex;gap:16px;justify-content:center}.loop-stat{display:flex;flex-direction:column;align-items:center;padding:12px 24px;background:#fff;border-radius:8px}.stat-value{font-size:1.5rem;font-weight:700;color:#8b5cf6}.stat-label{font-size:.85rem;color:#6b7280;margin-top:4px}@media (max-width: 768px){.sales-funnel-container{padding:16px}.funnel-stage{width:100%!important}.funnel-bar{padding:12px 16px}.loop-diagram{flex-direction:column}.loop-arrow{transform:rotate(90deg)}.loop-arrow:last-of-type{transform:rotate(180deg)}.loop-stats{flex-direction:column}.loop-stat{width:100%}}.contact-detail-container{padding:2rem;max-width:1400px;margin:0 auto;font-family:Inter,sans-serif}.contact-detail-loading,.contact-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.contact-detail-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.header-actions{display:flex;gap:.75rem;align-items:center}.action-btn{padding:.6rem 1.2rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.action-btn:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.action-btn.primary:hover{background:linear-gradient(135deg,#5568d3,#6a4292);transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.back-btn{background:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius-sm);padding:.5rem 1rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.back-btn:hover{background:var(--bg-card);box-shadow:var(--shadow-md)}.page-title{font-size:1.5rem;font-weight:600;color:var(--text-dark);margin:0}.contact-detail-grid{display:grid;grid-template-columns:380px 1fr;gap:2rem}.patient-card{background:#fffefc;border-radius:35px;box-shadow:0 10px 30px #00000014;overflow:hidden;height:fit-content;position:sticky;top:2rem;border:1px solid #f3f4f6;padding-bottom:2rem}.patient-hero-banner:before{content:"";position:absolute;top:0;right:0;width:256px;height:256px;background:#fbbf24;border-radius:50%;mix-blend-mode:overlay;filter:blur(48px);opacity:.5;transform:translate(40px,-40px)}.patient-avatar-container{display:flex;justify-content:center;margin-top:-48px;margin-bottom:.5rem}.patient-avatar{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:4px solid var(--white);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:var(--white);box-shadow:0 2px 8px #0000001a;padding:4px;background-clip:content-box}.patient-header{text-align:center;padding:0 1.5rem 1.5rem}.patient-name{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0 0 .125rem}.patient-role{font-size:.875rem;color:#9ca3af;margin:0;font-weight:300}.patient-info-section{padding:0 1.75rem 1.5rem}.section-title{font-size:.9375rem;font-weight:500;color:#1f2937;margin:0 0 1rem}.info-item{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:.75rem;font-size:.8125rem}.info-item:last-child{margin-bottom:0}.info-icon{width:16px;height:16px;margin-right:.5rem;flex-shrink:0;opacity:.7}.info-content{display:flex;align-items:flex-end;width:100%}.info-label{display:flex;align-items:center;color:#4b5563;font-weight:500;flex-shrink:0}.info-dot-leader{flex-grow:1;border-bottom:2px dotted #cbd5e1;margin:0 .5rem 4px;min-width:8px}.info-value{color:#6b7280;flex-shrink:0;text-align:right;max-width:60%;overflow-wrap:break-word}.info-value.small{font-size:.75rem}.patient-documents-section{padding:0 1.75rem 1.5rem}.documents-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.document-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:1rem;transition:all .2s ease;cursor:pointer}.document-item.word{background:#0ea5e90d;border:1px solid rgba(14,165,233,.1)}.document-item.pdf{background:#fb923c0d;border:1px solid rgba(251,146,60,.1)}.document-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.document-icon{width:40px;height:40px;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:#fff;flex-shrink:0}.document-icon.word{background:#1d5fa3}.document-icon.pdf{background:#e44e34}.document-info{display:flex;flex-direction:column;gap:.125rem}.document-name{font-size:.875rem;font-weight:500;color:#1f2937;line-height:1.2}.document-size{font-size:.75rem;color:#9ca3af}.patient-stats-section{padding:0 1.75rem .5rem}.stat-bar{margin-bottom:1rem}.stat-bar:last-child{margin-bottom:0}.stat-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem;font-size:.875rem}.stat-bar-label{color:#4b5563;font-weight:500}.stat-bar-value{color:#6b7280}.stat-bar-progress{height:10px;background-image:repeating-linear-gradient(-45deg,#e5e7eb,#e5e7eb 4px,#f3f4f6 4px,#f3f4f6 8px);border-radius:10px;overflow:hidden;position:relative}.stat-bar-fill{height:100%;border-radius:10px;transition:width .3s ease}.stat-bar-fill.yellow{background:#fcd34d}.stat-bar-fill.dark{background:#333}.contact-modules{display:flex;flex-direction:column;gap:1.5rem}.module-card{background:var(--white);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.module-header{margin-bottom:1.5rem}.module-title{font-size:1.125rem;font-weight:600;color:var(--text-dark);margin:0}.chart-container{margin-bottom:1.5rem;background:var(--bg-card);padding:1rem;border-radius:var(--radius-md)}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:.5rem;top:0;bottom:0;width:2px;background:var(--gray-300)}.timeline-item{position:relative;padding-bottom:1.5rem}.timeline-item:last-child{padding-bottom:0}.timeline-marker{position:absolute;left:-1.625rem;top:.25rem;width:12px;height:12px;border-radius:50%;background:var(--accent-lime);border:2px solid var(--white);box-shadow:0 0 0 2px var(--gray-300)}.timeline-content{background:var(--bg-card);border-radius:var(--radius-sm);padding:1rem}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.timeline-date{font-size:.875rem;font-weight:600;color:var(--text-dark)}.timeline-status{font-size:.875rem}.timeline-description{font-size:.875rem;color:var(--text-light);margin:0}.empty-state{text-align:center;padding:2rem;color:var(--text-light);font-size:.875rem}.stats-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.stat-mini-card{display:flex;align-items:center;gap:.75rem;background:var(--bg-card);border-radius:var(--radius-md);padding:1rem}.stat-mini-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.stat-mini-icon.green{background:#10b98120}.stat-mini-icon.orange{background:#f59e0b20}.stat-mini-icon.red{background:#ef444420}.stat-mini-content{flex:1}.stat-mini-value{font-size:1rem;font-weight:700;color:var(--text-dark)}.stat-mini-label{font-size:.75rem;color:var(--text-light)}.payment-table-container{overflow-x:auto}.payment-mini-table{width:100%;border-collapse:collapse}.payment-mini-table th,.payment-mini-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--gray-200)}.payment-mini-table th{font-size:.75rem;font-weight:600;color:var(--text-dark);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-card)}.payment-mini-table td{font-size:.875rem;color:var(--text-dark)}.payment-status-mini{font-size:1rem}.therapy-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.therapy-info-item{display:flex;flex-direction:column;gap:.5rem}.therapy-info-item.full-width{grid-column:1 / -1}.therapy-info-item label{font-size:.75rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em}.therapy-info-item p{font-size:.875rem;color:var(--text-dark);margin:0}.quick-actions{display:flex;gap:.75rem;margin-bottom:1.5rem}.quick-actions .quick-action-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:none;border-radius:var(--radius-md);font-family:Inter,sans-serif;font-weight:600;font-size:.75rem;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.quick-action-btn.whatsapp{background:#25d366;color:#fff}.quick-action-btn.whatsapp:hover:not(:disabled){background:#20ba5a;transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-action-btn.email{background:#0ea5e9;color:#fff}.quick-action-btn.email:hover:not(:disabled){background:#0284c7;transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-action-btn.phone{background:var(--text-dark);color:#fff}.quick-action-btn.phone:hover:not(:disabled){background:var(--accent-lime);color:var(--text-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-action-btn:disabled{opacity:.5;cursor:not-allowed}.action-icon{font-size:1.5rem}.action-label{font-size:.75rem}.communication-placeholder{text-align:center;padding:2rem 1rem;background:var(--bg-card);border-radius:var(--radius-md);color:var(--text-light);font-size:.875rem}.communications-timeline{padding:1rem 0}.communication-item{display:flex;gap:1rem;padding:1rem;border-left:2px solid #e5e7eb;margin-left:1rem;transition:all .2s;border-radius:0 8px 8px 0}.communication-item:hover{border-left-color:#667eea;background:#f9fafb}.comm-icon{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem}.comm-content{flex:1}.comm-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.comm-action{font-weight:600;color:#374151;font-size:.875rem}.comm-date{font-size:.75rem;color:#9ca3af}.comm-note{color:#6b7280;font-size:.875rem;line-height:1.5;padding:.75rem;background:#fff;border-radius:6px;border:1px solid #e5e7eb}@media (max-width: 1024px){.contact-detail-grid{grid-template-columns:1fr}.patient-card{position:relative;top:0}}@media (max-width: 768px){.contact-detail-container{padding:1rem}.stats-mini-grid,.therapy-info-grid{grid-template-columns:1fr}.quick-actions{flex-direction:column}.documents-grid{grid-template-columns:1fr}}.patients-container{padding:0}.records-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600}.add-record-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:12px 24px;border:none;border-radius:12px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;text-decoration:none;display:flex;align-items:center;gap:8px}.add-record-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #10b98166}.filters-section{background:#fff;border-radius:var(--radius-lg);padding:24px;margin-bottom:24px;border:1px solid var(--gray-200)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:end}.filter-select,.filter-input{padding:10px 12px;border:1.5px solid var(--gray-300);border-radius:8px;font-size:14px;transition:all .2s ease}.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.patients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.patient-card{background:#fff;border-radius:30px;padding:24px;border:1px solid var(--gray-200);transition:all .3s ease;position:relative;cursor:default;display:flex;flex-direction:column;gap:24px;box-shadow:0 4px 12px #0000000d;overflow:hidden}.patient-card:before{content:"";position:absolute;top:0;left:0;right:0;height:0;background:var(--accent-lime);transition:height .3s ease;border-radius:30px 30px 0 0}.patient-card:hover:before{height:6px}.patient-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0000001f}.patient-card-header{display:flex;justify-content:space-between;align-items:flex-start}.patient-avatar-circle{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:18px;flex-shrink:0;border:2px solid white;box-shadow:0 2px 8px #0000001a}.patient-link-btn{width:40px;height:40px;background:var(--gray-100);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;text-decoration:none}.patient-link-btn:hover{background:var(--gray-200)}.patient-card-details{margin-bottom:0}.patient-card-details .patient-card-name{font-size:15px!important;font-weight:600!important;color:var(--gray-900)!important;margin-bottom:4px;text-align:left}.patient-subtitle{color:var(--gray-400);font-size:14px;font-weight:300;margin-top:4px}.status-badge{padding:6px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:8px;display:inline-block}.status-badge.status-active{background:#10b98126;color:#059669}.status-badge.status-paused{background:#f59e0b26;color:#d97706}.status-badge.status-completed{background:#6366f126;color:#6366f1}.patient-footer{display:flex;justify-content:space-between;align-items:flex-end}.patient-contact-section{display:flex;flex-direction:column;gap:8px}.section-label{color:var(--gray-400);font-size:12px;margin-left:4px}.contact-pill{padding:8px 16px;background:#9ca3af26;border-radius:20px;border:none;color:var(--gray-500);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.contact-pill:hover{background:#9ca3af40}.patient-attendance-section{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.attendance-dots{background:var(--gray-100);border-radius:20px;padding:6px;display:flex;gap:6px;align-items:center}.dot{width:12px;height:12px;border-radius:50%;background:var(--gray-300);transition:all .3s ease}.dot.active{transform:scale(1.1)}.attendance-value{font-size:18px;font-weight:600;color:var(--gray-800)}.patient-hover-actions{position:absolute;top:50%;right:24px;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;opacity:0;transition:opacity .3s ease}.patient-card:hover .patient-hover-actions{opacity:1}.progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#10b981);border-radius:4px;transition:width .5s ease;position:relative}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s infinite}.progress-value{font-size:12px;font-weight:600;color:var(--gray-700);min-width:35px;text-align:right}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.patient-actions{display:flex;gap:8px}.action-btn{flex:1;padding:10px 8px;border:1.5px solid var(--gray-300);border-radius:8px;background:#fff;color:var(--gray-700);font-weight:500;font-size:12px;cursor:pointer;transition:all .2s ease;text-align:center;text-decoration:none;display:block}.action-btn:hover{border-color:var(--primary);color:var(--primary);background:#6366f10d}.action-btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.action-btn.primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.action-btn.danger{background:#ef4444;color:#fff;border-color:#ef4444}.action-btn.danger:hover{background:#dc2626;border-color:#dc2626;transform:translateY(-1px)}.empty-state-card{background:#fff;border-radius:var(--radius-lg);padding:60px 40px;text-align:center;border:2px dashed var(--gray-300)}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state-card h3{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:24px;color:var(--gray-900);margin-bottom:8px}.empty-state-card p{color:var(--gray-600);margin-bottom:24px}.patient-card:nth-child(1){animation-delay:.1s}.patient-card:nth-child(2){animation-delay:.2s}.patient-card:nth-child(3){animation-delay:.3s}.patient-card:nth-child(4){animation-delay:.4s}.patient-card:nth-child(5){animation-delay:.5s}.patient-card:nth-child(6){animation-delay:.6s}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.page-title h1{font-size:24px}.filters-grid,.patients-grid{grid-template-columns:1fr}.patient-card{padding:20px}.patient-avatar{width:70px;height:70px;font-size:20px}.patient-name{font-size:16px}.patient-therapy{font-size:13px}.stat-value{font-size:20px}.progress-label{font-size:12px;min-width:80px}.action-btn{font-size:11px;padding:8px 6px}}@media (max-width: 480px){.patient-stats{grid-template-columns:1fr;gap:12px}.progress-item{flex-direction:column;align-items:flex-start;gap:6px}.progress-bar,.progress-label,.progress-value{width:100%}.progress-value{text-align:left}}.modal-content{background:#fff;border-radius:16px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.form-section-title{font-family:Bricolage Grotesque,sans-serif;font-size:16px;font-weight:700;color:var(--gray-900);margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid var(--gray-200)}/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.session-evaluations{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.evaluations-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f3f4f6}.evaluations-header h3{margin:0 0 8px;font-size:1.25rem;font-weight:600;color:#111827}.evaluations-subtitle{margin:0;font-size:.9rem;color:#6b7280}.sessions-timeline{display:flex;flex-direction:column;gap:16px}.session-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:20px;transition:all .2s;animation:slideIn .3s ease-out forwards;opacity:0}.session-card:hover{border-color:#6366f1;box-shadow:0 4px 12px #6366f11a}.session-card-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.session-number{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.session-title{margin:0 0 4px;font-size:1.1rem;font-weight:600;color:#111827}.session-date{margin:2px 0;font-size:.85rem;color:#6b7280}.session-therapist{margin:4px 0 0;font-size:.85rem;color:#6366f1;font-weight:500}.session-status{flex-shrink:0}.status-badge{display:inline-block;padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:600}.status-badge.completed{background:#d1fae5;color:#065f46}.status-badge.scheduled{background:#fef3c7;color:#92400e}.session-evaluation-summary{background:#fff;border-radius:8px;padding:16px;border:2px solid #e5e7eb}.eval-rating{display:flex;align-items:center;gap:12px;margin-bottom:16px}.rating-label{font-weight:600;color:#374151;font-size:.9rem}.rating-stars{display:flex;gap:4px}.star{font-size:1.2rem;opacity:.3}.star.filled{opacity:1}.eval-areas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.area-pill{background:#f3f4f6;padding:10px 12px;border-radius:6px}.area-label{display:block;font-size:.8rem;font-weight:600;color:#374151;margin-bottom:6px}.area-bar{width:100%;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:4px}.area-fill{height:100%;transition:width .3s ease;border-radius:3px}.area-value{font-size:.75rem;color:#6b7280;font-weight:600}.eval-note{background:#f0f9ff;border-left:3px solid #3B82F6;padding:12px;border-radius:6px;margin-bottom:12px;font-size:.9rem;color:#1e40af}.btn-edit-eval{background:#6366f1;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;font-size:.85rem;transition:all .2s}.btn-edit-eval:hover{background:#4f46e5;transform:translateY(-1px)}.session-no-evaluation{text-align:center;padding:24px;background:#fef3c7;border-radius:8px;border:2px dashed #f59e0b}.session-no-evaluation p{margin:0 0 12px;color:#92400e;font-weight:500}.btn-add-eval{background:#f59e0b;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s}.btn-add-eval:hover{background:#d97706;transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.eval-modal{max-width:800px;max-height:90vh;overflow-y:auto}.eval-form{display:flex;flex-direction:column;gap:24px}.form-section{border-bottom:1px solid #e5e7eb;padding-bottom:20px}.form-section h3{margin:0 0 16px;font-size:1rem;font-weight:600;color:#111827}.rating-selector{display:flex;gap:8px;justify-content:center}.star-btn{background:none;border:none;font-size:2rem;cursor:pointer;opacity:.3;transition:all .2s}.star-btn.filled{opacity:1;transform:scale(1.1)}.star-btn:hover{transform:scale(1.2)}.areas-sliders{display:flex;flex-direction:column;gap:16px}.slider-group{display:flex;flex-direction:column;gap:8px}.slider-label{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;font-weight:500;color:#374151}.slider-value{font-weight:700;color:#6366f1}.range-slider{width:100%;height:8px;border-radius:4px;outline:none;-webkit-appearance:none;cursor:pointer}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid #6366F1;cursor:pointer;box-shadow:0 2px 4px #0000001a}.range-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid #6366F1;cursor:pointer;box-shadow:0 2px 4px #0000001a}@media (max-width: 768px){.session-evaluations,.session-card{padding:16px}.session-card-header{flex-direction:column;gap:12px}.eval-areas-grid{grid-template-columns:1fr}.eval-modal{max-width:95vw}}.rpg-stats-editor{background:var(--white);border-radius:var(--radius-lg);padding:24px;border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);color:var(--gray-900);margin-bottom:24px}.metrics-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.header-actions{display:flex;gap:12px;align-items:center}.btn-save{background:#10b981;color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s;font-size:14px}.btn-save:hover{background:#059669;transform:translateY(-2px)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-add-metric{background:var(--accent-lime);color:var(--gray-900);border:none;padding:10px 20px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s;font-size:14px}.btn-add-metric:hover{background:var(--accent-lime-dark);transform:translateY(-2px)}.btn-add-metric:disabled{opacity:.5;cursor:not-allowed}.main-stats-section{margin-bottom:24px}.main-stats-section h4{margin:0 0 16px;font-size:1.1rem;font-weight:600}.metrics-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.stats-grid{display:grid;grid-template-columns:1fr;gap:16px}.stat-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:16px;transition:all .2s;position:relative}.stat-card:hover{background:var(--white);box-shadow:0 2px 8px #00000014}.stat-card.editing{background:var(--white);border-color:var(--accent-lime);box-shadow:0 4px 12px #bef26433}.stat-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.stat-label{font-size:16px;font-weight:600;color:var(--gray-900)}.stat-label-input{font-size:16px;font-weight:600;color:var(--gray-900);border:2px solid var(--accent-lime);border-radius:var(--radius-sm);padding:6px 12px;background:var(--white);width:100%;max-width:300px}.stat-label-input:focus{outline:none;box-shadow:0 0 0 3px #bef2644d}.stat-value-display{display:flex;align-items:baseline;gap:6px;margin-bottom:12px}.stat-number{font-size:28px;font-weight:700;color:var(--gray-900);line-height:1}.stat-separator{font-size:20px;color:var(--gray-500);font-weight:500}.stat-max{font-size:20px;color:var(--gray-600);font-weight:600}.stat-percentage{margin-left:auto;font-size:18px;font-weight:700;color:var(--gray-700);background:var(--gray-200);padding:4px 12px;border-radius:var(--radius-sm)}.stat-bar{width:100%;height:10px;background:var(--gray-200);border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:stretch}.stat-fill{height:10px;transition:width .3s ease,background .3s ease;border-radius:var(--radius-sm)}.stat-slider{width:100%;height:8px;border-radius:var(--radius-sm);background:var(--gray-300);outline:none;cursor:pointer}.stat-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent-lime);cursor:pointer;box-shadow:0 2px 6px #0003;transition:all .2s}.stat-slider::-webkit-slider-thumb:hover{transform:scale(1.2);background:var(--accent-lime-dark)}.stat-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent-lime);cursor:pointer;box-shadow:0 2px 6px #0003;border:none;transition:all .2s}.stat-slider::-moz-range-thumb:hover{transform:scale(1.2);background:var(--accent-lime-dark)}.empty-metrics{text-align:center;padding:40px 20px;color:var(--gray-500)}.empty-metrics p{margin-bottom:16px;font-size:16px}.abilities-section,.achievements-section{margin-bottom:24px}.abilities-section h4,.achievements-section h4{margin:0 0 16px;font-size:1.1rem;font-weight:600}.abilities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.ability-card{background:#0000004d;border:2px solid rgba(255,255,255,.2);border-radius:10px;padding:16px;text-align:center;transition:all .2s;position:relative}.ability-card.locked{opacity:.5;filter:grayscale(1)}.ability-card.unlocked{background:#ffffff26;border-color:#ffd70099;box-shadow:0 0 20px #ffd7004d}.ability-card.editable{cursor:pointer}.ability-card.editable:hover{transform:translateY(-4px);box-shadow:0 4px 12px #fff3}.ability-icon{font-size:2.5rem;margin-bottom:8px}.ability-name{font-weight:700;font-size:.9rem;margin-bottom:4px}.ability-description{font-size:.75rem;opacity:.8}.ability-check{position:absolute;top:8px;right:8px;font-size:1.2rem}.achievements-grid{display:grid;gap:12px}.achievement-card{background:#0000004d;border:2px solid rgba(255,255,255,.2);border-radius:10px;padding:16px;display:flex;align-items:center;gap:16px;transition:all .2s;position:relative}.achievement-card.locked{opacity:.5;filter:grayscale(1)}.achievement-card.achieved{background:#ffffff26;border-color:#10b98199;box-shadow:0 0 20px #10b9814d}.achievement-card.editable{cursor:pointer}.achievement-card.editable:hover{transform:translate(4px);box-shadow:0 4px 12px #fff3}.achievement-icon{font-size:2.5rem;flex-shrink:0}.achievement-info{flex:1}.achievement-name{font-weight:700;font-size:1rem;margin-bottom:4px}.achievement-description{font-size:.85rem;opacity:.8}.achievement-check{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:28px;height:28px;background:#10b981;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800}.streak-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.streak-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:20px;display:flex;align-items:center;gap:16px}.streak-icon{font-size:3rem}.streak-info{flex:1}.streak-label{font-size:.85rem;opacity:.9;margin-bottom:4px}.streak-value{font-size:1.8rem;font-weight:800}.streak-input{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;padding:8px 12px;border-radius:6px;font-size:1rem;font-weight:700;text-align:center;width:80px}@media (max-width: 768px){.rpg-stats-editor{padding:20px}.stats-header{flex-direction:column;gap:16px}.btn-edit,.btn-save{width:100%}.stats-grid{grid-template-columns:1fr}.abilities-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.streak-section{grid-template-columns:1fr}}.patient-history{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f3f4f6}.history-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.add-interaction-btn{background:#1a1a1a;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s;box-shadow:0 2px 8px #dfff00}.add-interaction-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #dfff00}.history-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{background:#f3f4f6;border:2px solid #e5e7eb;color:#6b7280;padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:500;font-size:.85rem;transition:all .2s}.filter-btn:hover{background:#e5e7eb;border-color:#d1d5db}.filter-btn.active{background:#1a1a1a;color:#fff;border-color:#dfff00}.spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top-color:#dfff00;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.history-timeline{position:relative;padding-left:0}.timeline-event{display:flex;gap:20px;margin-bottom:24px;animation:slideIn .3s ease-out forwards;opacity:0}.event-connector{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.event-dot{width:16px;height:16px;border-radius:50%;border:3px solid white;box-shadow:0 0 0 2px currentColor,0 2px 6px #00000026;flex-shrink:0}.event-line{width:2px;flex:1;min-height:40px;background:linear-gradient(to bottom,#e5e7eb,#e5e7eb00)}.event-card{flex:1;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:16px;transition:all .2s}.event-card:hover{border-color:#dfff00;box-shadow:0 4px 12px #6366f11a;transform:translate(4px)}.event-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.event-icon{font-size:1.5rem;flex-shrink:0}.event-info{flex:1}.event-title{margin:0 0 4px;font-size:1rem;font-weight:600;color:#111827}.event-date{margin:0;font-size:.8rem;color:#6b7280}.event-type-badge{padding:4px 12px;border-radius:6px;font-size:.75rem;font-weight:600;color:#fff;flex-shrink:0}.event-body{padding-left:44px}.event-description{margin:0 0 8px;font-size:.9rem;color:#374151;line-height:1.5}.event-therapist{margin:0;font-size:.85rem;color:#6366f1;font-weight:500}.event-metadata{margin:4px 0;font-size:.85rem;color:#6b7280;font-weight:500}.event-amount{margin:4px 0;font-size:.9rem;color:#059669;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.modal-header{padding:24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:500;color:#374151;font-size:.9rem}.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;transition:border-color .2s;font-family:inherit}.form-select:focus,.form-textarea:focus{outline:none;border-color:#dfff00;box-shadow:0 0 0 3px #6366f11a}.form-textarea{resize:vertical;min-height:100px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid #e5e7eb}.btn{padding:10px 24px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;border:none}.btn-secondary{background:#f3f4f6;color:#374151}.btn-primary{background:#1a1a1a;color:#fff;box-shadow:0 2px 8px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}@media (max-width: 768px){.patient-history{padding:16px}.history-filters{flex-direction:column}.filter-btn{width:100%;text-align:center}.timeline-event{gap:12px}.event-body{padding-left:0}.event-metadata,.event-amount{font-size:.8rem}.event-header{flex-wrap:wrap}}.patient-documents{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.documents-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f3f4f6}.documents-header h3{margin:0 0 8px;font-size:1.25rem;font-weight:600;color:#111827}.documents-subtitle{margin:0;font-size:.9rem;color:#6b7280}.btn-add-document{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.9rem}.btn-add-document:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.btn-add-inline{background:#6366f1;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:12px}.btn-add-inline:hover{background:#4f46e5;transform:translateY(-2px)}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.document-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s;animation:slideIn .3s ease-out forwards;opacity:0;display:flex;flex-direction:column;gap:16px}.document-card:hover{border-color:#6366f1;box-shadow:0 4px 12px #6366f11a;transform:translateY(-4px)}.document-icon-large{font-size:3rem;text-align:center;margin-bottom:8px}.document-info{flex:1}.document-title{margin:0 0 8px;font-size:1rem;font-weight:600;color:#111827;line-height:1.3}.document-type{margin:0 0 8px;font-size:.85rem;color:#6366f1;font-weight:500}.document-description{margin:0 0 12px;font-size:.85rem;color:#6b7280;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.document-date{margin:0;font-size:.8rem;color:#9ca3af}.document-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #e5e7eb}.doc-btn{flex:1;background:#f3f4f6;border:2px solid #e5e7eb;color:#374151;padding:8px;border-radius:6px;cursor:pointer;font-size:1.1rem;transition:all .2s;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center}.doc-btn:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.doc-btn-view{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:#3b82f6}.doc-btn-view:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.doc-btn-delete{background:#fee2e2;color:#ef4444;border-color:#fecaca}.doc-btn-delete:hover{background:#fecaca;border-color:#fca5a5}.form-hint{margin:8px 0 0;font-size:.8rem;color:#6b7280}@media (max-width: 768px){.patient-documents{padding:16px}.documents-header{flex-direction:column;gap:12px}.btn-add-document{width:100%}.documents-grid{grid-template-columns:1fr}.document-card{padding:16px}}.patient-detail-container{padding:0}.patient-detail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.patient-detail-error{text-align:center;padding:60px 20px}.patient-detail-error h2{color:var(--gray-900);margin-bottom:16px}.back-link{color:var(--primary);text-decoration:none;font-weight:600}.back-link:hover{text-decoration:underline}.patient-header{background:#fff;border-radius:var(--radius-xl);padding:32px;margin-bottom:24px;border:1px solid var(--gray-200);position:relative;overflow:hidden}.patient-header:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#6366f1,#8b5cf6)}.patient-info{display:flex;align-items:flex-start;gap:32px;margin-bottom:24px}.patient-avatar-section{display:flex;align-items:flex-start;gap:24px}.patient-avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:36px;flex-shrink:0;box-shadow:0 8px 24px #6366f14d}.stats-panel{flex:1;max-width:400px}.stat-bar{display:flex;align-items:center;margin-bottom:16px;padding:8px 0}.stat-icon{width:32px;height:32px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;margin-right:12px;box-shadow:0 2px 8px #6366f133;flex-shrink:0}.stat-info{flex:1}.stat-name{font-size:14px;font-weight:600;color:var(--gray-700);margin-bottom:4px}.stat-bar-container{position:relative;width:100%;height:12px;background:var(--gray-200);border-radius:6px;overflow:hidden;box-shadow:inset 0 1px 3px #0000001a}.stat-bar-fill{height:100%;border-radius:6px;transition:width .8s ease-out;position:relative;overflow:hidden}.stat-bar-fill:after{content:"";position:absolute;top:0;left:-50%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.stat-value{font-size:12px;font-weight:700;color:var(--gray-900);margin-left:8px;min-width:35px;text-align:right;flex-shrink:0}.stat-coordination .stat-bar-fill{background:linear-gradient(90deg,#10b981,#059669)}.stat-concentration .stat-bar-fill{background:linear-gradient(90deg,#6366f1,#4f46e5)}.stat-motor .stat-bar-fill{background:linear-gradient(90deg,#f59e0b,#d97706)}.stat-social .stat-bar-fill{background:linear-gradient(90deg,#ec4899,#db2777)}.stat-cognitive .stat-bar-fill{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.stat-sensory .stat-bar-fill{background:linear-gradient(90deg,#14b8a6,#0d9488)}@keyframes shimmer{0%{left:-50%}to{left:100%}}.patient-details{flex:1}.patient-details h1{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:32px;color:var(--gray-900);margin-bottom:8px}.patient-therapy{color:var(--primary);font-size:18px;font-weight:600;margin-bottom:16px}.patient-meta{display:flex;gap:16px;flex-wrap:wrap}.meta-item{background:var(--gray-100);padding:8px 12px;border-radius:8px;font-size:14px;color:var(--gray-700)}.status-badge{background:var(--success);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;box-shadow:0 4px 12px #10b9814d;align-self:flex-start}.status-badge.status-inactive{background:var(--gray-500)}.status-badge.status-completed{background:var(--primary)}.status-badge.status-paused{background:var(--warning)}.stats-config{margin-top:20px;padding:16px;background:var(--gray-50);border-radius:12px;border:1px solid var(--gray-200)}.config-title{font-size:14px;font-weight:600;color:var(--gray-700);margin-bottom:12px;display:flex;align-items:center;gap:8px}.config-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.config-item{display:flex;flex-direction:column;gap:4px}.config-label{font-size:12px;color:var(--gray-600);font-weight:500}.config-input{padding:6px 8px;border:1px solid var(--gray-300);border-radius:6px;font-size:12px;background:#fff;cursor:pointer}.config-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #6366f11a}.toggle-stats-btn{margin-top:16px;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.toggle-stats-btn:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.patient-header-mobile,.patient-stats-mobile{display:none}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.main-panel,.sidebar{display:flex;flex-direction:column;gap:24px}.card{background:#fff;border-radius:var(--radius-lg);padding:24px;border:1px solid var(--gray-200)}.card-title{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:20px;color:var(--gray-900);margin-bottom:20px;display:flex;align-items:center;gap:8px}.session-tracking{background:#fff;border-radius:var(--radius-lg);padding:24px;border:1px solid var(--gray-200)}.session-tracking-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.session-tracking-icon{width:48px;height:48px;background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff}.session-tracking-title{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:20px;color:var(--gray-900)}.session-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.session-metric{text-align:center;padding:20px 16px;background:var(--gray-50);border-radius:12px;border:1px solid var(--gray-200);position:relative;overflow:hidden}.session-metric:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--metric-color)}.session-metric.assigned{--metric-color: #3b82f6}.session-metric.completed{--metric-color: #10b981}.session-metric.attendance{--metric-color: #f59e0b}.session-metric-icon{font-size:24px;margin-bottom:8px;display:block}.session-metric-value{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:28px;color:var(--gray-900);margin-bottom:4px}.session-metric-label{color:var(--gray-600);font-size:14px;font-weight:500}.session-progress-bar{width:100%;height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden;margin-top:12px;position:relative}.session-progress-fill{height:100%;background:var(--metric-color);border-radius:4px;transition:width .8s ease-out;position:relative}.session-progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s infinite}.progress-info-box{background:#eff6ff;padding:16px;border-radius:8px;border-left:4px solid #3b82f6}.progress-info-title{color:#1e40af;font-weight:600;margin-bottom:4px}.progress-info-text{color:#1e3a8a;font-size:14px;line-height:1.5}.attendance-chart{background:#fff;border-radius:var(--radius-lg);padding:24px;border:1px solid var(--gray-200)}.chart-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.chart-icon{width:48px;height:48px;background:linear-gradient(135deg,#ec4899,#8b5cf6);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff}.chart-title{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:20px;color:var(--gray-900)}.chart-container{position:relative;height:250px;background:linear-gradient(135deg,var(--gray-50) 0%,var(--gray-100) 100%);border-radius:12px;padding:20px;overflow:hidden;margin-bottom:20px}.chart-placeholder{height:200px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px dashed #3b82f6;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#1e40af;font-size:14px;text-align:center;position:relative;padding:20px}.chart-placeholder:before{content:"📈";font-size:32px;display:block;margin-bottom:8px}.attendance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.attendance-stat{text-align:center;padding:12px;background:#10b9811a;border-radius:8px;border:1px solid rgba(16,185,129,.2)}.attendance-stat-value{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:18px;color:#059669;margin-bottom:4px}.attendance-stat-label{font-size:12px;color:#047857;font-weight:500}.tabs{display:flex;background:var(--gray-100);border-radius:12px;padding:4px;margin-bottom:24px}.tab{flex:1;padding:12px;text-align:center;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;color:var(--gray-600);border:none;background:transparent;font-size:14px}.tab.active{background:#fff;color:var(--primary);box-shadow:0 2px 8px #0000001a}.tab-content{display:none}.tab-content.active{display:block}.session-list{display:flex;flex-direction:column;gap:16px}.session-item{background:var(--gray-50);border-radius:12px;padding:20px;border-left:4px solid var(--primary);transition:all .2s ease}.session-item:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001a}.session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.session-date{font-weight:600;color:var(--gray-900);font-size:16px}.session-type{background:var(--primary);color:#fff;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600}.session-notes{color:var(--gray-700);line-height:1.5;margin-bottom:12px}.session-progress{display:flex;gap:16px;font-size:14px;flex-wrap:wrap}.progress-item{display:flex;align-items:center;gap:8px;flex:1;min-width:150px}.progress-bar{width:60px;height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#10b981);border-radius:3px}.empty-state{text-align:center;padding:40px 20px;color:var(--gray-600)}.empty-state p{margin-bottom:16px;font-size:16px}.placeholder-text{color:var(--gray-600);margin-bottom:20px}.evaluation-list{display:flex;flex-direction:column;gap:12px}.evaluation-item{background:var(--gray-50);padding:16px;border-radius:8px;border-left:4px solid var(--primary)}.evaluation-item h4{color:var(--gray-900);margin-bottom:4px}.evaluation-item p{color:var(--gray-600);font-size:14px;margin-bottom:8px}.view-link{color:var(--primary);text-decoration:none;font-weight:600;font-size:14px}.view-link:hover{text-decoration:underline}.notes-textarea{width:100%;padding:12px;border:1px solid var(--gray-300);border-radius:8px;font-family:Inter,sans-serif;font-size:14px;resize:vertical;margin-bottom:12px}.notes-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #6366f11a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.stat-item{text-align:center;padding:16px;background:var(--gray-50);border-radius:12px}.stat-item .stat-value{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:24px;color:var(--gray-900);margin-bottom:4px;margin-left:0;min-width:unset;text-align:center}.stat-item .stat-label{color:var(--gray-600);font-size:12px;font-weight:500}.action-buttons{display:flex;flex-direction:column;gap:12px}.action-btn{padding:12px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;text-align:center;font-size:14px;display:block}.action-btn.primary{background:var(--primary);color:#fff}.action-btn.primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.action-btn.secondary{background:#fff;color:var(--gray-700);border:1.5px solid var(--gray-300)}.action-btn.secondary:hover{border-color:var(--primary);color:var(--primary)}@media (max-width: 768px){.patient-header{display:none}.patient-header-mobile{display:block!important;background:#fff;border-radius:var(--radius-xl);padding:24px;margin-bottom:24px;border:1px solid var(--gray-200);position:relative;overflow:hidden}.patient-header-mobile:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#6366f1,#8b5cf6)}.mobile-patient-info{display:flex;align-items:center;gap:16px;margin-bottom:20px}.mobile-patient-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:28px;flex-shrink:0}.mobile-patient-details{flex:1}.mobile-patient-details h1{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:24px;color:var(--gray-900);margin-bottom:4px}.mobile-patient-therapy{color:var(--primary);font-size:16px;font-weight:600;margin-bottom:12px}.mobile-patient-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-meta-item{background:var(--gray-100);padding:6px 10px;border-radius:6px;font-size:13px;color:var(--gray-700);text-align:center}.mobile-status-badge{background:var(--success);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;box-shadow:0 4px 12px #10b9814d;text-align:center}.patient-stats-mobile{display:block!important;background:#fff;border-radius:var(--radius-lg);padding:20px;margin-bottom:24px;border:1px solid var(--gray-200)}.mobile-stats-title{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:18px;color:var(--gray-900);margin-bottom:16px;display:flex;align-items:center;gap:8px}.mobile-stat-bar{display:flex;align-items:center;margin-bottom:12px;padding:8px 0}.mobile-stat-icon{width:28px;height:28px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;margin-right:10px;box-shadow:0 2px 6px #6366f133}.mobile-stat-info{flex:1}.mobile-stat-name{font-size:13px;font-weight:600;color:var(--gray-700);margin-bottom:4px}.mobile-stat-bar-container{position:relative;width:100%;height:10px;background:var(--gray-200);border-radius:5px;overflow:hidden;box-shadow:inset 0 1px 2px #0000001a}.mobile-stat-bar-fill{height:100%;border-radius:5px;transition:width .8s ease-out;position:relative;overflow:hidden}.mobile-stat-bar-fill:after{content:"";position:absolute;top:0;left:-50%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.mobile-stat-value{font-size:12px;font-weight:700;color:var(--gray-900);margin-left:8px;min-width:32px;text-align:right}.mobile-stat-coordination .mobile-stat-bar-fill{background:linear-gradient(90deg,#10b981,#059669)}.mobile-stat-concentration .mobile-stat-bar-fill{background:linear-gradient(90deg,#6366f1,#4f46e5)}.mobile-stat-motor .mobile-stat-bar-fill{background:linear-gradient(90deg,#f59e0b,#d97706)}.mobile-stat-social .mobile-stat-bar-fill{background:linear-gradient(90deg,#ec4899,#db2777)}.mobile-stat-cognitive .mobile-stat-bar-fill{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.mobile-stat-sensory .mobile-stat-bar-fill{background:linear-gradient(90deg,#14b8a6,#0d9488)}.content-grid{grid-template-columns:1fr;gap:16px}.session-tracking{padding:20px}.session-tracking-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px}.session-tracking-icon{width:40px;height:40px;font-size:18px}.session-tracking-title{font-size:18px}.session-metrics{grid-template-columns:1fr;gap:16px;margin-bottom:20px}.session-metric{padding:16px}.session-metric-value{font-size:24px}.attendance-chart{padding:20px}.chart-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px}.chart-icon{width:40px;height:40px;font-size:18px}.chart-title{font-size:18px}.chart-container{height:200px;padding:16px}.chart-placeholder{height:150px;font-size:12px}.chart-placeholder:before{font-size:24px}.attendance-summary{grid-template-columns:repeat(2,1fr);gap:12px}.attendance-stat{padding:10px}.attendance-stat-value{font-size:16px}.attendance-stat-label{font-size:11px}.card{padding:20px}.card-title{font-size:18px;margin-bottom:16px}.tabs{margin-bottom:20px}.tab{padding:10px 8px;font-size:13px}.session-item{padding:16px}.session-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:10px}.session-date{font-size:14px}.session-notes{font-size:14px;margin-bottom:10px}.session-progress{flex-direction:column;gap:12px}.progress-item{font-size:13px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-item{padding:12px}.stat-item .stat-value{font-size:20px}.stat-item .stat-label{font-size:11px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:600}.estado-prospecto{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.estado-activo{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.estado-riesgo{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.estado-alta{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.pago-al-dia{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.pago-pendiente{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.pago-moroso{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}}.next-appointment-card{border-top:4px solid #3b82f6}.next-appointment-info{display:flex;flex-direction:column;gap:12px}.appointment-date{display:flex;flex-direction:column;gap:4px}.date-day{font-size:16px;font-weight:600;color:var(--gray-900);text-transform:capitalize}.date-time{font-size:24px;font-weight:700;color:var(--primary)}.appointment-details{display:flex;flex-wrap:wrap;gap:8px}.modalidad-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.modalidad-badge.virtual{background:#dbeafe;color:#1d4ed8}.modalidad-badge.presencial{background:#d1fae5;color:#059669}.therapist-name{font-size:13px;color:var(--gray-600)}.no-appointment{text-align:center;padding:16px 0}.no-appointment p{color:var(--gray-500);margin-bottom:12px}.action-btn.small{padding:8px 16px;font-size:13px}.package-card{border-top:4px solid #10b981}.package-progress{display:flex;flex-direction:column;gap:12px}.package-numbers{text-align:center}.sessions-remaining{display:block;font-family:Bricolage Grotesque,sans-serif;font-size:48px;font-weight:800;color:var(--gray-900);line-height:1}.sessions-label{font-size:14px;color:var(--gray-500)}.package-bar-container{width:100%;height:12px;background:var(--gray-200);border-radius:6px;overflow:hidden}.package-bar-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:6px;transition:width .5s ease}.package-bar-fill.warning{background:linear-gradient(90deg,#f59e0b,#d97706)}.package-stats{display:flex;justify-content:space-between;font-size:12px;color:var(--gray-600)}.package-alert{margin-top:12px;padding:10px 12px;background:#fef3c7;border-radius:8px;font-size:12px;color:#92400e;text-align:center}.profile-detail{padding:24px;max-width:1400px;margin:0 auto}.profile-detail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px}.profile-detail-loading p{color:var(--gray-600);font-size:16px;font-weight:500}.profile-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px}.profile-detail-error h2{color:var(--gray-900);font-size:24px}.profile-header{background:var(--white);border-radius:var(--radius-lg);padding:32px;margin-bottom:24px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.btn-back-header{background:var(--gray-100);color:var(--gray-700);border:none;padding:10px 20px;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:24px;display:inline-flex;align-items:center;gap:8px}.btn-back-header:hover{background:var(--gray-200);transform:translate(-2px)}.profile-header-info{display:flex;gap:24px;align-items:flex-start}.profile-avatar{width:120px;height:120px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:var(--shadow-md)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:48px;font-weight:700}.profile-header-details{flex:1}.profile-name{font-size:32px;font-weight:700;color:var(--gray-900);margin:0 0 12px}.profile-meta{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.profile-code,.profile-email,.profile-whatsapp{background:var(--gray-100);padding:8px 16px;border-radius:var(--radius-sm);font-size:14px;color:var(--gray-700);font-weight:500}.profile-tabs{display:flex;gap:8px;background:var(--white);padding:12px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);margin-bottom:24px;overflow-x:auto;scrollbar-width:thin}.profile-tab{flex:1;min-width:140px;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;background:transparent;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-size:15px;font-weight:500;color:var(--gray-600);white-space:nowrap}.profile-tab:hover{background:var(--gray-100);color:var(--gray-900)}.profile-tab.active{background:var(--accent-lime);color:var(--gray-900);border-color:var(--accent-lime);font-weight:600}.tab-icon{font-size:20px}.tab-label{font-size:15px}.profile-tab-content{background:var(--white);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);min-height:500px}.tab-comercial,.tab-clinico,.tab-citas,.tab-facturacion,.tab-documentos{animation:fadeIn .3s ease}@media (max-width: 768px){.profile-detail{padding:16px}.profile-header{padding:20px}.profile-header-info{flex-direction:column;align-items:center;text-align:center}.profile-avatar{width:100px;height:100px}.profile-avatar-placeholder{font-size:40px}.profile-name{font-size:24px}.profile-meta{justify-content:center}.profile-tabs{flex-wrap:nowrap;overflow-x:auto}.profile-tab{flex:0 0 auto;min-width:120px}.tab-label{display:none}.profile-tab.active .tab-label{display:inline}.profile-tab-content{padding:20px}}.btn-back{background:var(--gray-200);color:var(--gray-900);border:none;padding:12px 24px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:var(--gray-300);transform:translateY(-2px)}.comercial-grid{display:grid;grid-template-columns:300px 1fr;gap:24px}.comercial-sidebar{display:flex;flex-direction:column;gap:20px}.sidebar-section{background:var(--gray-50);padding:20px;border-radius:var(--radius-md);border:1px solid var(--gray-200);text-align:left}.sidebar-title{font-size:18px;font-weight:600;color:var(--gray-900);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--gray-200);text-align:left}.info-group{margin-bottom:16px;text-align:left}.info-group:last-child{margin-bottom:0}.info-label{display:block;font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;text-align:left}.info-value{font-size:15px;color:var(--gray-900);font-weight:500;word-break:break-word;text-align:left}.comercial-content{display:flex;flex-direction:column;gap:20px}@media (max-width: 1024px){.comercial-grid{grid-template-columns:1fr}.comercial-sidebar{order:2}.comercial-content{order:1}}.clinico-grid{display:grid;grid-template-columns:350px 1fr;gap:24px}.clinico-sidebar{display:flex;flex-direction:column;gap:20px}.clinical-info-section{background:var(--gray-50);padding:20px;border-radius:var(--radius-md);border:1px solid var(--gray-200);text-align:left}.clinico-content{display:flex;flex-direction:column;gap:20px}.clinical-summary-card{background:var(--white);padding:24px;border-radius:var(--radius-md);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}.clinical-summary-card .card-title{font-size:20px;font-weight:700;color:var(--gray-900);margin-bottom:20px}.summary-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.summary-stat{text-align:center;padding:16px;background:var(--gray-50);border-radius:var(--radius-sm)}.summary-stat-value{font-size:32px;font-weight:700;color:var(--primary);margin-bottom:8px}.summary-stat-label{font-size:13px;color:var(--gray-600);font-weight:500}@media (max-width: 1024px){.clinico-grid{grid-template-columns:1fr}.clinico-sidebar{order:2}.clinico-content{order:1}.summary-stats{grid-template-columns:repeat(2,1fr)}}.citas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.citas-header h3{font-size:18px;font-weight:600;color:var(--gray-900);margin:0}.citas-list{display:flex;flex-direction:column;gap:12px}.cita-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:20px;transition:all .2s ease}.cita-card:hover{border-color:var(--accent-lime);box-shadow:0 2px 8px #0000000d}.cita-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.cita-date-time{display:flex;align-items:center;gap:16px}.cita-date{font-size:16px;font-weight:600;color:var(--gray-900)}.cita-time{font-size:14px;color:var(--gray-600);background:var(--gray-100);padding:4px 12px;border-radius:var(--radius-md)}.cita-status{padding:4px 12px;border-radius:var(--radius-md);font-size:13px;font-weight:500}.cita-status.scheduled{background:var(--accent-lime-light);color:var(--accent-lime-dark)}.cita-status.completed{background:#d4edda;color:#155724}.cita-status.cancelled{background:#f8d7da;color:#721c24}.cita-details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.cita-detail-item{display:flex;flex-direction:column;gap:4px}.cita-detail-label{font-size:12px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.cita-detail-value{font-size:14px;color:var(--gray-900)}.cita-notes{margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-100);font-size:14px;color:var(--gray-700);line-height:1.5}.no-appointments{text-align:center;padding:60px 20px;color:var(--gray-500)}.no-appointments-icon{font-size:48px;margin-bottom:16px;opacity:.5}.no-appointments-text{font-size:16px}.facturacion-header,.citas-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.facturacion-title,.citas-title{font-size:24px;font-weight:700;color:var(--gray-900);margin:0 0 8px}.facturacion-count,.citas-count{font-size:14px;color:var(--gray-600)}.btn-new-invoice{display:inline-flex;align-items:center;gap:8px;background:var(--accent-lime);color:var(--gray-900);border:none;padding:12px 24px;border-radius:var(--radius-md);font-weight:600;font-size:15px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.btn-new-invoice:hover{background:var(--accent-lime-dark);transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.btn-new-invoice .btn-icon{font-size:20px;font-weight:700}.financial-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.financial-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:24px;display:flex;align-items:center;gap:16px}.financial-icon{font-size:36px;flex-shrink:0}.financial-info{flex:1}.financial-label{font-size:13px;color:var(--gray-600);margin-bottom:8px;font-weight:500}.financial-value{font-size:32px;font-weight:700;color:var(--gray-900)}.financial-card.total{border-color:var(--accent-lime);background:linear-gradient(135deg,var(--white) 0%,var(--accent-lime-light) 100%)}.financial-card.paid .financial-value{color:#28a745}.financial-card.pending .financial-value{color:#ffc107}.date-scope-filter{display:flex;gap:8px;background:var(--gray-100);padding:4px;border-radius:var(--radius-md)}.scope-btn{padding:8px 16px;background:transparent;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--gray-600);cursor:pointer;transition:all .2s ease}.scope-btn:hover{background:var(--gray-200);color:var(--gray-900)}.scope-btn.active{background:var(--white);color:var(--gray-900);font-weight:600;box-shadow:0 1px 3px #0000001a}.invoices-section h3,.appointments-section h3{font-size:18px;font-weight:600;color:var(--gray-900);margin-bottom:16px}.invoices-table,.appointments-table{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.invoices-table table,.appointments-table table{width:100%;border-collapse:collapse}.invoices-table th,.appointments-table th{background:var(--gray-50);padding:16px;text-align:left;font-size:13px;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--gray-200)}.invoices-table td,.appointments-table td{padding:16px;border-bottom:1px solid var(--gray-100);font-size:14px;color:var(--gray-900)}.invoices-table tr:last-child td,.appointments-table tr:last-child td{border-bottom:none}.invoices-table tr:hover,.appointments-table tr:hover{background:var(--gray-50)}.invoice-status,.appointment-status{display:inline-block;padding:4px 12px;border-radius:var(--radius-md);font-size:12px;font-weight:500}.invoice-status.pagada,.invoice-status.status-pagada{background:#d4edda;color:#155724}.invoice-status.pendiente,.invoice-status.status-pendiente{background:#fff3cd;color:#856404}.invoice-status.vencida,.invoice-status.status-vencida{background:#f8d7da;color:#721c24}.invoice-status.status-parcialmente_pagada{background:#fff3cd;color:#856404}.appointment-status.status-completada{background:#d4edda;color:#155724}.appointment-status.status-programada{background:#d1ecf1;color:#0c5460}.appointment-status.status-cancelada{background:#f8d7da;color:#721c24}.appointment-status.status-en_curso{background:#fff3cd;color:#856404}.cal-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;width:20px;height:20px;border-radius:50%;font-size:10px;cursor:help;vertical-align:middle}.cal-badge.cal-connected{background:linear-gradient(135deg,#292929,#1a1a1a)}.cal-badge.cal-disconnected{background:#f3f4f6;border:1px dashed #d1d5db}.meeting-link{display:inline-flex;align-items:center;gap:4px;color:#6366f1;font-weight:500;text-decoration:none;font-size:13px;transition:all .2s ease}.invoice-amount{font-weight:600}.no-invoices{text-align:center;padding:60px 20px;color:var(--gray-500)}.invoices-section,.appointments-section,.payments-timeline-section{margin-bottom:32px}.section-title{font-size:20px;font-weight:700;color:var(--gray-900);margin-bottom:16px}.clickable-row{cursor:pointer;transition:all .2s ease}.clickable-row:hover{background:var(--accent-lime-light)!important;transform:translate(2px)}.empty-state-citas{background:var(--white);border:2px dashed var(--gray-300);border-radius:var(--radius-lg);padding:60px 20px;text-align:center}.empty-state-citas .empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state-citas .empty-text{font-size:16px;color:var(--gray-500);margin:0}.session-notes{margin-top:24px}.session-notes .section-title{font-size:20px;font-weight:700;color:var(--gray-900);margin-bottom:16px}.session-notes-list{display:flex;flex-direction:column;gap:12px}.session-note-item{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 1px 2px #0000000d;transition:box-shadow .2s ease,transform .2s ease}.session-note-item.open{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px);border-color:var(--accent-lime)}.note-header{width:100%;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--gray-50);border:none;cursor:pointer;transition:background .2s ease;text-align:left}.note-header:hover{background:var(--gray-100)}.session-note-item.open .note-header{background:var(--accent-lime-light)}.note-header-main{display:flex;flex-direction:column;gap:4px;flex:1}.note-title{font-size:14px;font-weight:600;color:var(--gray-900)}.note-subtitle{font-size:13px;color:var(--gray-600)}.note-header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.note-status{font-size:12px;padding:4px 10px;border-radius:var(--radius-md);background:var(--gray-200);color:var(--gray-800);white-space:nowrap;font-weight:500}.note-toggle-icon{font-size:18px;color:var(--gray-500);transition:transform .2s ease}.session-note-item.open .note-toggle-icon{transform:rotate(0)}.note-body{padding:16px;background:var(--white);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.note-textarea{width:100%;border-radius:var(--radius-md);border:1px solid var(--gray-300);padding:12px;font-size:14px;font-family:inherit;resize:vertical;min-height:100px;line-height:1.5;transition:border-color .2s ease,box-shadow .2s ease}.note-textarea:focus{outline:none;border-color:var(--accent-lime);box-shadow:0 0 0 3px #bef2644d}.note-textarea::placeholder{color:var(--gray-400)}.note-actions{margin-top:12px;display:flex;justify-content:flex-end}.note-save-btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:var(--radius-md);padding:10px 20px;background:var(--gray-900);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.note-save-btn:hover{background:#000;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.note-save-btn:active{transform:translateY(0)}.empty-state-notes{background:var(--white);border:2px dashed var(--gray-300);border-radius:var(--radius-lg);padding:60px 20px;text-align:center}.empty-state-notes .empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state-notes .empty-text{font-size:16px;color:var(--gray-500);margin:0}.payments-timeline{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.payments-timeline table{width:100%;border-collapse:collapse}.payments-timeline th{background:var(--gray-50);padding:16px;text-align:left;font-size:13px;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--gray-200)}.payments-timeline td{padding:16px;border-bottom:1px solid var(--gray-100);font-size:14px;color:var(--gray-900)}.payments-timeline tr:last-child td{border-bottom:none}.payments-timeline tr:hover{background:var(--gray-50)}.payment-amount{font-weight:600;color:var(--primary)}.payment-status{display:inline-block;padding:4px 12px;border-radius:var(--radius-md);font-size:12px;font-weight:500}.payment-status.verified{background:#d4edda;color:#155724}.payment-status.pending{background:#fff3cd;color:#856404}.verification-select{padding:6px 10px;border-radius:var(--radius-md);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;border:1.5px solid;transition:all .2s ease;background:#fff;min-width:130px}.empty-payments{text-align:center;padding:60px 20px;color:var(--gray-500)}.empty-payments .empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-payments .empty-text{font-size:16px}.documentos-container{min-height:400px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--white);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease}.modal-header h2{font-size:24px;font-weight:700;color:var(--gray-900);margin:0}.modal-close{background:none;border:none;font-size:32px;color:var(--gray-500);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background:var(--gray-100);color:var(--gray-900)}.form-section:last-of-type{margin-bottom:0}.form-section-title{font-size:16px;font-weight:600;color:var(--gray-900);margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--gray-200)}.patient-info-display{background:var(--gray-50);padding:16px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:12px}.patient-info-item{display:flex;gap:8px}.patient-info-label{font-weight:600;color:var(--gray-700)}.patient-info-value{color:var(--gray-900)}.form-label{font-size:14px;font-weight:600;color:var(--gray-700)}.required{color:#ef4444}.form-input,.form-select,.form-textarea{padding:12px;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:14px;color:var(--gray-900);transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent-lime);box-shadow:0 0 0 3px #a3e6351a}.form-textarea{resize:vertical;min-height:80px;font-family:inherit}.total-preview{display:flex;justify-content:space-between;align-items:center;background:var(--accent-lime-light);padding:16px;border-radius:var(--radius-md);border:2px solid var(--accent-lime)}.total-label{font-size:16px;font-weight:600;color:var(--gray-700)}.total-amount{font-size:24px;font-weight:700;color:var(--gray-900)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:1px solid var(--gray-200)}.btn{padding:12px 24px;border-radius:var(--radius-md);font-weight:600;font-size:15px;cursor:pointer;transition:all .2s ease;border:none}.btn-secondary{background:var(--gray-200);color:var(--gray-900)}.btn-secondary:hover{background:var(--gray-300)}.btn-primary:hover{background:var(--accent-lime-dark);transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.btn-primary:disabled{background:var(--gray-300);cursor:not-allowed;transform:none}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}.modal-content{max-height:95vh}.facturacion-header{flex-direction:column;gap:16px}.btn-new-invoice{width:100%;justify-content:center}}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;white-space:nowrap}.estado-prospecto{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.estado-activo{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.estado-riesgo{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.estado-alta{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.pago-al-dia{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.pago-pendiente{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.pago-moroso{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.sidebar-section{position:relative}.card-edit-button{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:#fff;border:1.5px solid var(--gray-300);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:14px;opacity:0;z-index:10}.sidebar-section:hover .card-edit-button{opacity:1}.card-edit-button:hover{background:var(--accent-lime);border-color:var(--accent-lime);transform:scale(1.1)}.card-edit-button.editing{opacity:1;background:var(--success);border-color:var(--success);color:#fff}.card-edit-button.editing:hover{background:#059669;border-color:#059669}.editable-input,.editable-select{width:100%;padding:8px 12px;border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-primary);transition:border-color .2s ease;background:var(--white)}.editable-input:focus,.editable-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a1a1a1a}.editable-input:disabled,.editable-select:disabled{background:var(--gray-100);cursor:not-allowed}.editable-input[rows]{resize:vertical;min-height:60px;font-family:var(--font-primary);line-height:1.5}.clinical-info-section{position:relative}.clinical-info-section:hover .card-edit-button{opacity:1}.reschedule-modal{max-width:700px;max-height:90vh;overflow-y:auto}.current-appointment-info{background:#f0f9ff;border:2px solid #3B82F6;border-radius:10px;padding:16px;margin-bottom:24px}.current-appointment-info h3{margin:0 0 12px;font-size:1rem;font-weight:600;color:#1e40af}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{font-size:.8rem;color:#6b7280;font-weight:500}.info-value{font-size:1rem;font-weight:600;color:#111827}.info-value.warning{color:#f59e0b}.form-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e5e7eb}.form-section:last-of-type{border-bottom:none}.form-section h3{margin:0 0 16px;font-size:1rem;font-weight:600;color:#374151}.available-slots-section{margin-top:16px;padding:16px;background:#f9fafb;border-radius:8px}.no-slots-message{text-align:center;padding:24px;color:#ef4444;font-weight:500;background:#fee2e2;border-radius:6px}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:12px}.slot-button{background:#fff;border:2px solid #d1d5db;color:#374151;padding:12px;border-radius:8px;cursor:pointer;font-weight:500;font-size:.9rem;transition:all .2s}.slot-button:hover{border-color:#6366f1;background:#f0f9ff;transform:translateY(-2px)}.slot-button.selected{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:#6366f1;box-shadow:0 4px 12px #6366f14d}@media (max-width: 768px){.reschedule-modal{max-width:95vw;margin:20px}.info-grid{grid-template-columns:1fr}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}.pending-scheduling{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.pending-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f3f4f6}.pending-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.pending-count{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:6px 16px;border-radius:20px;font-weight:600;font-size:.85rem}.loading-state,.empty-state{text-align:center;padding:48px 24px;color:#6b7280}.spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top-color:#f59e0b;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.empty-icon{font-size:3rem;margin-bottom:16px}.pending-list{display:flex;flex-direction:column;gap:16px}.pending-card{background:#fefce8;border:2px solid #fde047;border-radius:12px;padding:20px;transition:all .2s;animation:slideIn .3s ease-out forwards;opacity:0}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.pending-card:hover{border-color:#facc15;box-shadow:0 4px 12px #facc1533;transform:translateY(-2px)}.pending-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.patient-info h4{margin:0 0 4px;font-size:1.1rem;font-weight:600;color:#111827}.patient-code{margin:0;font-size:.85rem;color:#6b7280}.time-badge{background:#fde047;color:#854d0e;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.pending-card-body{margin-bottom:16px}.appointment-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}.detail-item{display:flex;align-items:center;gap:8px}.detail-icon{font-size:1.2rem}.detail-text{font-size:.9rem;color:#374151;font-weight:500}.pending-notes{background:#fff;padding:12px;border-radius:8px;font-size:.85rem;color:#6b7280;border:1px solid #e5e7eb}.pending-notes strong{color:#111827}.pending-card-actions{display:flex;gap:12px;padding-top:16px;border-top:1px solid #fde047}.btn-schedule{flex:1;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-schedule:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.btn-delete{background:#fee2e2;color:#ef4444;border:2px solid #FECACA;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s;font-size:1.1rem}.btn-delete:hover{background:#fecaca;border-color:#fca5a5;transform:translateY(-2px)}.schedule-patient-info{background:#f0f9ff;border:2px solid #3B82F6;border-radius:10px;padding:16px;margin-bottom:20px;text-align:center}.schedule-patient-info h3{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:#111827}.schedule-patient-info p{margin:0;font-size:.9rem;color:#6b7280}@media (max-width: 768px){.pending-scheduling{padding:16px}.pending-header{flex-direction:column;gap:12px;align-items:flex-start}.appointment-details{grid-template-columns:1fr}.pending-card-actions{flex-direction:column}.btn-schedule{width:100%}}.appointments-container{padding:0}.page-title h1{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:32px;color:var(--gray-900)}.appointments-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600}.add-appointment-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:12px 24px;border:none;border-radius:12px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;text-decoration:none;display:flex;align-items:center;gap:8px}.add-appointment-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}.appointments-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.summary-card{background:#fff;border-radius:12px;padding:20px;border:1px solid var(--gray-200);text-align:center;transition:all .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.summary-icon{font-size:32px;margin-bottom:12px}.summary-value{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:24px;color:var(--gray-900);margin-bottom:4px}.summary-label{color:var(--gray-600);font-size:14px;font-weight:500}.filters-bar{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:200px;flex:1}.filter-label{font-weight:600;color:var(--gray-700);font-size:13px}.filter-select{padding:10px 14px;border:1.5px solid var(--gray-300);border-radius:8px;font-size:14px;transition:all .2s ease;background:#fff;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.appointments-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;margin-bottom:24px;height:auto;align-items:start}.calendar-card{background:#fff;border-radius:16px;border:1px solid var(--gray-200);padding:24px;height:fit-content;position:sticky;top:0;min-height:0}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-month{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:20px;color:var(--gray-900);text-transform:capitalize}.calendar-nav{display:flex;gap:8px}.nav-btn{width:40px;height:40px;border:1.5px solid var(--gray-300);border-radius:8px;background:#fff;color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease;font-weight:600}.nav-btn:hover{border-color:var(--primary);color:var(--primary);background:#6366f10d}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--gray-200);border-radius:8px;overflow:hidden}.calendar-weekday{padding:12px 8px;text-align:center;font-weight:700;color:var(--gray-600);font-size:11px;text-transform:uppercase;letter-spacing:.5px;background:var(--gray-50)}.calendar-day{aspect-ratio:1;padding:8px;position:relative;cursor:pointer;transition:all .2s ease;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.calendar-day.empty{background:var(--gray-50);cursor:default}.calendar-day:not(.empty):hover{background:var(--gray-50)}.calendar-day.today{background:#6366f114}.calendar-day.today .day-number{background:var(--primary);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}.calendar-day.selected{background:#8b5cf61f;box-shadow:inset 0 0 0 2px #8b5cf6}.day-number{font-weight:600;color:var(--gray-900);font-size:14px}.day-indicator{position:absolute;bottom:4px;right:4px;background:var(--primary);color:#fff;font-size:9px;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}.calendar-day.availability-free{background:#10b98114;border:1px solid rgba(16,185,129,.2)}.calendar-day.availability-available{background:#3b82f614;border:1px solid rgba(59,130,246,.2)}.calendar-day.availability-busy{background:#fb923c14;border:1px solid rgba(251,146,60,.2)}.calendar-day.availability-full{background:#ef444414;border:1px solid rgba(239,68,68,.2)}.calendar-day.availability-free:hover{background:#10b98126;border-color:#10b98166}.calendar-day.availability-available:hover{background:#3b82f626;border-color:#3b82f666}.calendar-day.availability-busy:hover{background:#fb923c26;border-color:#fb923c66}.calendar-day.availability-full:hover{background:#ef444426;border-color:#ef444466}.appointments-list-card{background:#fff;border-radius:16px;border:1px solid var(--gray-200);padding:24px;display:flex;flex-direction:column;min-height:500px}.appointments-list-section{display:flex;flex-direction:column;min-height:0;gap:20px}.appointments-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding-bottom:0;border-bottom:none}.appointments-list-title{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:22px;color:var(--gray-900)}.appointments-count{background:var(--gray-900);color:#fff;padding:6px 14px;border-radius:12px;font-size:13px;font-weight:600}.appointments-list{flex:1;display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.appointments-list::-webkit-scrollbar{width:6px}.appointments-list::-webkit-scrollbar-track{background:transparent}.appointments-list::-webkit-scrollbar-thumb{background-color:var(--gray-300);border-radius:10px}.appointments-list::-webkit-scrollbar-thumb:hover{background-color:var(--gray-400)}.appointment-card-patient-style{background:#fff;border-radius:30px;padding:24px;border:1px solid var(--gray-200);transition:all .3s ease;position:relative;cursor:grab;display:flex;flex-direction:column;gap:20px;animation:slideInAppointment .4s ease-out;box-shadow:0 4px 12px #0000000d;overflow:hidden}.appointment-card-patient-style:before{content:"";position:absolute;top:0;left:0;right:0;height:0;background:var(--accent-lime);transition:height .3s ease;border-radius:30px 30px 0 0}.appointment-card-patient-style:hover:before{height:6px}.appointment-card-patient-style:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0000001f;cursor:grab}.appointment-card-patient-style:active{cursor:grabbing}@keyframes slideInAppointment{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.appointment-card-header{display:flex;justify-content:space-between;align-items:flex-start}.appointment-avatar-circle{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:18px;flex-shrink:0;border:2px solid white;box-shadow:0 4px 12px #00000026}.appointment-time-info{font-size:13px;color:var(--gray-500);font-weight:500;margin-top:4px}.appointment-link-btn{width:44px;height:44px;border-radius:50%;background:var(--gray-100);color:var(--gray-700);display:flex;align-items:center;justify-content:center;font-size:20px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;border:1px solid transparent}.appointment-link-btn:hover{background:var(--accent-lime);color:var(--gray-900);transform:scale(1.1) rotate(45deg);border-color:var(--gray-900);box-shadow:0 4px 12px #00000026}.appointment-actions{display:flex;gap:8px;align-items:center}.appointment-action-btn{width:36px;height:36px;border-radius:50%;background:var(--gray-100);border:1px solid var(--gray-300);color:var(--gray-700);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.appointment-action-btn:hover{background:var(--gray-900);color:#fff;border-color:var(--gray-900);transform:scale(1.1)}.appointment-action-btn.danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.appointment-card-details{text-align:left}.appointment-patient-name{font-size:15px!important;font-weight:600!important;color:var(--gray-900)!important;margin-bottom:4px;text-align:left;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:600;letter-spacing:.3px;cursor:help;transition:all .2s ease}.cal-badge.cal-connected{background:linear-gradient(135deg,#292929,#1a1a1a);color:#fff}.cal-badge.cal-disconnected{background:#f3f4f6;color:#6b7280;border:1px dashed #d1d5db}.cal-badge:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.meeting-link{display:inline-flex;align-items:center;gap:4px;color:#6366f1;font-weight:500;text-decoration:none;transition:all .2s ease}.meeting-link:hover{color:#4f46e5;text-decoration:underline}.appointment-therapy-type{font-size:14px;color:var(--gray-400);font-weight:300;text-align:left}.appointment-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.appointment-modality-section{display:flex;gap:10px;align-items:center;flex:1}.appointment-modality-pill{padding:8px 16px;background:#d1d5db99;border-radius:9999px;color:var(--gray-500);font-size:12px;font-weight:500}.appointment-status-indicator{display:flex;align-items:center}.status-dot{width:12px;height:12px;border-radius:50%;transition:all .2s ease}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.3}.empty-text{font-size:16px;color:var(--gray-500);margin-bottom:20px}.btn-add-inline{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:10px 20px;border:none;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease}.btn-add-inline:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.appointment-card{background:#fff;border:1.5px solid var(--gray-200);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease}.appointment-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;border-color:var(--appointment-accent)}.appointment-card.fisica{--appointment-accent: #10b981;border-left:4px solid var(--appointment-accent)}.appointment-card.ocupacional{--appointment-accent: #6366f1;border-left:4px solid var(--appointment-accent)}.appointment-card.lenguaje{--appointment-accent: #f59e0b;border-left:4px solid var(--appointment-accent)}.appointment-card.psicologia{--appointment-accent: #ec4899;border-left:4px solid var(--appointment-accent)}.appointment-card.evaluacion{--appointment-accent: #8b5cf6;border-left:4px solid var(--appointment-accent)}.appointment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.appointment-time{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--gray-900);font-size:14px}.time-dot{width:8px;height:8px;border-radius:50%;background:var(--appointment-accent)}.appointment-menu{width:28px;height:28px;border:none;background:transparent;color:var(--gray-400);cursor:pointer;border-radius:6px;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.appointment-menu:hover{background:var(--gray-100);color:var(--gray-700)}.appointment-patient{font-weight:600;font-size:15px;color:var(--gray-900);margin:0 0 8px}.appointment-details{display:flex;gap:12px;flex-wrap:wrap}.appointment-type,.appointment-modality{font-size:13px;color:var(--gray-600);display:flex;align-items:center;gap:4px}@media (max-width: 1024px){.appointments-layout{grid-template-columns:1fr;height:auto}.calendar-card{position:static;order:2}.appointments-list-section{height:600px}.appointments-list-card{order:1}}.legend{background:#fff;border-radius:12px;padding:20px;border:1px solid var(--gray-200)}.legend h3{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:16px;color:var(--gray-900);margin-bottom:16px}.legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.legend-item{display:flex;align-items:center;gap:8px}.legend-color{width:16px;height:16px;border-radius:4px;flex-shrink:0}.legend-color.fisica{background:#10b981}.legend-color.ocupacional{background:#6366f1}.legend-color.lenguaje{background:#f59e0b}.legend-color.psicologia{background:#ec4899}.legend-text{font-size:14px;color:var(--gray-700);font-weight:500}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.page-title h1{font-size:24px}.appointments-summary{grid-template-columns:repeat(2,1fr)}.filters-grid{grid-template-columns:1fr}.calendar-header{flex-direction:column;gap:12px;align-items:flex-start}.calendar-title{font-size:18px}.calendar-day{min-height:80px;padding:4px}.calendar-day-header{padding:12px 4px;font-size:12px}.day-number{font-size:12px}.appointment-item{font-size:9px;padding:3px 4px}.legend-grid{grid-template-columns:1fr}}@media (max-width: 480px){.appointments-summary{grid-template-columns:1fr}.calendar-day{min-height:60px;padding:2px}.calendar-day-header{padding:8px 2px;font-size:10px}.day-number{font-size:11px}.appointment-item{font-size:8px;padding:2px 3px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:16px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.modal-content.pending-panel{max-width:900px}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header h2{font-family:Bricolage Grotesque,sans-serif;font-size:24px;font-weight:700;color:var(--gray-900);margin:0}.modal-close{width:36px;height:36px;border-radius:8px;border:none;background:var(--gray-100);color:var(--gray-600);font-size:20px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--gray-200);color:var(--gray-900)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.form-label{font-weight:600;color:var(--gray-700);font-size:14px}.form-input,.form-select,.form-textarea{padding:12px 14px;border:1.5px solid var(--gray-300);border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.btn-secondary{background:#fff;color:var(--gray-700);border:1.5px solid var(--gray-300)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}@media (max-width: 768px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-height:95vh;border-bottom-left-radius:0;border-bottom-right-radius:0}.form-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.btn{width:100%}}.week-view{padding:0}.week-header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:2px solid var(--gray-200);background:var(--gray-50)}.week-day-header{padding:16px;text-align:center;border-right:1px solid var(--gray-200)}.week-day-header:last-child{border-right:none}.week-day-name{font-size:12px;color:var(--gray-600);font-weight:600;text-transform:uppercase;margin-bottom:4px}.week-day-number{font-size:20px;font-weight:700;color:var(--text-dark)}.week-day-number.today{background:var(--accent-lime);color:var(--text-dark);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;margin:0 auto}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);min-height:400px}.week-day-column{border-right:1px solid var(--gray-200);padding:12px;display:flex;flex-direction:column;gap:8px}.week-day-column:last-child{border-right:none}.no-appointments{color:var(--gray-400);font-size:13px;text-align:center;padding:20px}.week-appointment{background:var(--white);border-left:3px solid #6366f1;border-radius:var(--radius-sm);padding:8px;font-size:13px;transition:all var(--transition-base);cursor:pointer;box-shadow:var(--shadow-sm)}.week-appointment:hover{transform:translate(2px);box-shadow:var(--shadow-md)}.week-appointment.fisica{border-left-color:#10b981}.week-appointment.ocupacional{border-left-color:#6366f1}.week-appointment.lenguaje{border-left-color:#f59e0b}.week-appointment.psicologia{border-left-color:#ec4899}.week-appointment .apt-time{font-weight:700;color:var(--text-dark);margin-bottom:4px}.week-appointment .apt-patient{color:var(--gray-700);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-appointment .apt-therapy{font-size:16px}.day-view{padding:0;max-height:600px;overflow-y:auto}.time-slots{display:flex;flex-direction:column}.time-slot{display:grid;grid-template-columns:80px 1fr;border-bottom:1px solid var(--gray-200);min-height:80px}.time-label{padding:16px;font-weight:600;color:var(--gray-600);font-size:14px;border-right:2px solid var(--gray-200);display:flex;align-items:flex-start;background:var(--gray-50)}.time-slot-content{padding:12px;display:flex;flex-direction:column;gap:8px;position:relative}.empty-slot{display:flex;align-items:center;justify-content:center;height:100%;opacity:0;transition:opacity var(--transition-base)}.time-slot:hover .empty-slot{opacity:1}.quick-add-btn{padding:6px 12px;background:var(--gray-100);border:1px dashed var(--gray-400);border-radius:var(--radius-sm);color:var(--gray-600);font-size:13px;cursor:pointer;transition:all var(--transition-base)}.quick-add-btn:hover{background:var(--accent-lime);border-color:var(--text-dark);color:var(--text-dark)}.day-appointment{background:var(--white);border-left:4px solid #6366f1;border-radius:var(--radius-sm);padding:12px;box-shadow:var(--shadow-sm);transition:all var(--transition-base);cursor:pointer}.day-appointment:hover{transform:translate(4px);box-shadow:var(--shadow-md)}.day-appointment.fisica{border-left-color:#10b981;background:linear-gradient(90deg,#f0fdf4,#fff)}.day-appointment.ocupacional{border-left-color:#6366f1;background:linear-gradient(90deg,#eef2ff,#fff)}.day-appointment.lenguaje{border-left-color:#f59e0b;background:linear-gradient(90deg,#fffbeb,#fff)}.day-appointment.psicologia{border-left-color:#ec4899;background:linear-gradient(90deg,#fdf2f8,#fff)}.day-appointment .apt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.day-appointment .apt-time{font-weight:700;color:var(--text-dark);font-size:14px}.day-appointment .apt-status{padding:4px 8px;background:var(--gray-100);border-radius:var(--radius-sm);font-size:11px;font-weight:600;color:var(--gray-700);text-transform:uppercase}.day-appointment .apt-patient-name{font-weight:600;color:var(--text-dark);font-size:15px;margin-bottom:4px}.day-appointment .apt-details{font-size:13px;color:var(--gray-600)}.drag-handle{opacity:0;margin-right:6px;cursor:grab;font-size:14px;color:var(--gray-400);transition:opacity var(--transition-base)}.appointment-item:hover .drag-handle,.week-appointment:hover .drag-handle,.day-appointment:hover .drag-handle{opacity:1}.appointment-item[draggable=true],.week-appointment[draggable=true],.day-appointment[draggable=true]{cursor:grab}.appointment-item[draggable=true]:active,.week-appointment[draggable=true]:active,.day-appointment[draggable=true]:active{cursor:grabbing}.calendar-day.droppable,.week-day-column.droppable{background:#dfff001a;border:2px dashed var(--accent-lime);transition:all var(--transition-base)}.calendar-day.droppable:hover,.week-day-column.droppable:hover{background:#dfff0033;transform:scale(1.02)}.appointment-item.dragging,.week-appointment.dragging,.day-appointment.dragging{opacity:.5;transform:rotate(2deg)}.appointment-subtitle{font-size:14px;color:var(--gray-400);font-weight:400;margin-top:4px;margin-bottom:6px}.appointment-location{margin-top:8px;font-size:13px;color:var(--gray-500);word-break:break-word}.appointment-location a{color:var(--primary);text-decoration:none;transition:color .2s ease}.appointment-location a:hover{color:var(--primary-dark);text-decoration:underline}.appointment-hover-actions{position:absolute;top:50%;right:24px;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;opacity:0;transition:opacity .3s ease}.appointment-card-patient-style:hover .appointment-hover-actions{opacity:1}.link-icon{width:16px;height:16px}.therapists-container{padding:20px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-title{display:flex;align-items:center;gap:16px}.page-title h1{font-family:var(--font-display);font-weight:700;font-size:32px;color:var(--text-dark);margin:0}.therapists-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:8px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:600}.add-therapist-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:12px 24px;border:none;border-radius:var(--radius-md);font-weight:600;font-size:14px;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:8px}.add-therapist-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.filters-section{background:var(--white);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px;box-shadow:var(--shadow-sm)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-label{font-weight:600;color:var(--gray-700);font-size:14px}.filter-select,.filter-input{padding:10px 12px;border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);font-size:14px;transition:all var(--transition-base);background:var(--white)}.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--text-dark);box-shadow:0 0 0 3px #1a1a1a1a}.therapists-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.therapist-card{background:#fff;border-radius:30px;padding:24px;border:1px solid var(--gray-200);transition:all .3s ease;position:relative;cursor:default;display:flex;flex-direction:column;gap:24px;box-shadow:0 4px 12px #0000000d;overflow:hidden}.therapist-card:before{content:"";position:absolute;top:0;left:0;right:0;height:0;background:var(--accent-lime);transition:height .3s ease;border-radius:30px 30px 0 0}.therapist-card:hover:before{height:6px}.therapist-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0000001f}.therapist-card-header{display:flex;justify-content:space-between;align-items:flex-start}.therapist-avatar-circle{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:18px;flex-shrink:0;border:2px solid white;box-shadow:0 4px 12px #00000026}.therapist-link-btn{width:40px;height:40px;background:var(--gray-100);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;text-decoration:none}.therapist-link-btn:hover{background:var(--gray-200);transform:translateY(-2px)}.link-icon{width:20px;height:20px;color:var(--gray-600)}.therapist-details{text-align:left}.therapist-name{font-size:24px;font-weight:500;color:var(--gray-900);margin-bottom:4px;text-align:left}.therapist-specialty{font-size:14px;color:var(--gray-400);font-weight:300;text-align:left}.therapist-footer{display:flex;justify-content:space-between;align-items:flex-end}.contact-section{display:flex;flex-direction:column;gap:8px}.section-label{font-size:12px;color:var(--gray-400);margin-left:4px}.contact-pills{display:flex;gap:8px}.contact-pill{padding:8px 16px;background:#d1d5db99;border-radius:9999px;color:var(--gray-500);font-size:12px;font-weight:500;text-decoration:none;transition:all .2s ease;cursor:pointer}.contact-pill:hover{background:var(--gray-300)}.availability-section{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.availability-indicator{background:var(--gray-100);border-radius:9999px;padding:6px;display:flex;gap:6px;align-items:center}.availability-dot{width:12px;height:12px;border-radius:50%;transition:all .2s ease}.therapist-hover-actions{position:absolute;top:50%;right:24px;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;opacity:0;transition:opacity .3s ease}.therapist-card:hover .therapist-hover-actions{opacity:1}.hover-action-btn{width:40px;height:40px;border-radius:50%;background:#fff;border:1.5px solid var(--gray-300);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:18px}.hover-action-btn:hover{background:var(--accent-lime);border-color:var(--accent-lime);transform:scale(1.1)}.hover-action-btn.danger:hover{background:#fee2e2;color:#dc2626;border-color:#dc2626}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:20px}.loading-spinner{width:60px;height:60px;border:4px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.loading-state p{color:var(--gray-600);font-size:16px;font-weight:500}.empty-state-card{background:var(--white);border-radius:var(--radius-lg);padding:60px 40px;text-align:center;box-shadow:var(--shadow-sm)}.empty-icon{font-size:80px;margin-bottom:20px;opacity:.5}.empty-state-card h3{font-size:24px;color:var(--text-dark);margin-bottom:8px}.empty-state-card p{color:var(--text-light);margin-bottom:24px;font-size:16px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--white);border-radius:var(--radius-xl);width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--gray-200)}.modal-header h2{font-size:24px;font-weight:700;color:var(--text-dark);margin:0}.modal-close{background:none;border:none;font-size:32px;color:var(--text-light);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition-fast)}.modal-close:hover{background:var(--gray-200);color:var(--text-dark)}.form-section{margin-bottom:32px}.form-section:last-of-type{margin-bottom:24px}.form-section-title{font-size:16px;font-weight:600;color:var(--text-dark);margin-bottom:16px;display:flex;align-items:center;gap:8px}.form-label{font-weight:600;font-size:14px;color:var(--gray-700)}.form-input,.form-select,.form-textarea{padding:10px 12px;border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);font-size:14px;transition:all var(--transition-base);background:var(--white);font-family:var(--font-primary)}.form-textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid var(--gray-200)}.btn{padding:10px 20px;border-radius:var(--radius-md);font-weight:600;font-size:14px;cursor:pointer;transition:all var(--transition-base);border:none}.btn-primary:hover:not(:disabled){background:var(--accent-lime);color:var(--text-dark);transform:translateY(-2px)}.btn-secondary{background:var(--bg-card);color:var(--text-dark);border:1.5px solid var(--gray-300)}.btn-secondary:hover{background:var(--white);border-color:var(--text-dark)}.btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.therapists-grid,.form-grid{grid-template-columns:1fr}.therapist-stats{grid-template-columns:repeat(3,1fr)}.modal-content{width:95%}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.add-therapist-btn{width:100%;justify-content:center}}.appointment-detail{padding:2rem;max-width:1400px;margin:0 auto;animation:fadeIn .4s ease}.appointment-header{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;animation:slideIn .5s ease}.header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.header-left{display:flex;align-items:flex-start;gap:1.5rem;flex:1}.appointment-icon-large{width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:2.5rem;flex-shrink:0}.appointment-patient{font-size:1.125rem;color:#1a1a1a;font-weight:600;margin-bottom:1rem}.appointment-meta{display:flex;gap:1rem;flex-wrap:wrap}.status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;align-self:flex-start}.status-badge.status-scheduled{background:#1a1a1a;color:#fff;box-shadow:0 4px 12px #10b9814d}.status-badge.status-in-progress{background:#f59e0b;color:#fff;box-shadow:0 4px 12px #f59e0b4d}.status-badge.status-completed{background:#1a1a1a;color:#fff;box-shadow:0 4px 12px #6366f14d}.status-badge.status-cancelled{background:#ef4444;color:#fff;box-shadow:0 4px 12px #ef44444d}.appointment-content{display:grid;grid-template-columns:2fr 1fr;gap:2rem;animation:slideIn .5s ease .1s backwards}.appointment-main-panel,.appointment-sidebar{display:flex;flex-direction:column;gap:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.section-header h2{margin:0}.edit-btn{padding:.5rem 1rem;background:#6366f11a;color:#1a1a1a;border:1px solid rgba(99,102,241,.2);border-radius:6px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.375rem}.edit-btn:hover{background:#6366f126;border-color:#6366f14d}.session-plan-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.plan-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px;transition:all .2s ease}.plan-item:hover{background:#f3f4f6;transform:translate(2px)}.plan-time{background:#1a1a1a;color:#fff;padding:.375rem .625rem;border-radius:6px;font-size:.8125rem;font-weight:700;min-width:60px;text-align:center;flex-shrink:0}.plan-activity{flex:1;font-weight:500;color:#374151;font-size:.9375rem}.add-item-btn{width:100%;padding:.75rem;background:#f9fafb;border:2px dashed #e5e7eb;border-radius:8px;font-size:.875rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.add-item-btn:hover{border-color:#1a1a1a;color:#1a1a1a;background:#6366f10d}.equipment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1rem}.equipment-item{background:#f9fafb;padding:1.25rem;border-radius:12px;text-align:center;border:1px solid #e5e7eb;transition:all .2s ease}.equipment-item:hover{background:#f3f4f6;border-color:#1a1a1a;transform:translateY(-2px)}.equipment-icon{font-size:2rem;display:block;margin-bottom:.5rem}.equipment-name{font-weight:600;color:#374151;font-size:.875rem}.notes-textarea{width:100%;min-height:150px;border:1.5px solid #e5e7eb;border-radius:8px;padding:.875rem;font-family:inherit;font-size:.9375rem;resize:vertical;transition:all .2s ease}.notes-textarea:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 3px #6366f11a}.save-notes-btn{margin-top:1rem;width:100%;padding:.75rem;background:#1a1a1a;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.save-notes-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.reminders-list{display:flex;flex-direction:column;gap:.75rem}.reminder-item{background:#fef3c7;border-left:4px solid #f59e0b;padding:1rem;border-radius:8px}.reminder-title{font-weight:600;color:#92400e;margin-bottom:.25rem;font-size:.875rem}.reminder-text{color:#a16207;font-size:.875rem;line-height:1.5}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-success:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-secondary{background:#fff;color:#374151;border:1.5px solid #e5e7eb}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}@media (max-width: 1024px){.appointment-content{grid-template-columns:1fr}.sidebar{order:-1}}@media (max-width: 768px){.appointment-detail{padding:1rem}.appointment-header{padding:1.5rem}.header-top{flex-direction:column;align-items:flex-start}.header-left{flex-direction:column;align-items:center;text-align:center;width:100%}.appointment-icon-large{width:70px;height:70px;font-size:2rem}.header-info h1{font-size:1.5rem}.appointment-meta{flex-direction:column;gap:.5rem;width:100%}.meta-item{width:100%;text-align:center}.status-badge{align-self:center}.appointment-content{gap:1rem}.card{padding:1rem}.equipment-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:1fr}}@media (max-width: 480px){.appointment-header{padding:1rem}.appointment-icon-large{width:60px;height:60px;font-size:1.75rem}.header-info h1{font-size:1.25rem}.equipment-grid{grid-template-columns:1fr}.plan-item{flex-direction:column;align-items:flex-start}.plan-time{width:100%;text-align:center}}.availability-editor{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.availability-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f3f4f6}.availability-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.save-schedule-btn{background:#1a1a1a;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.9rem}.save-schedule-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #1a1a1a}.save-schedule-btn:disabled{opacity:.6;cursor:not-allowed}.weekly-schedule-section{margin-bottom:32px}.weekly-schedule-section h4{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:#374151}.days-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.day-card{background:#f9fafb;border-radius:10px;padding:16px;border:2px solid #e5e7eb;transition:all .2s}.day-card.available{border-color:#1a1a1a;background:#f0fdf4}.day-card.unavailable{border-color:#e5e7eb;background:#f9fafb}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.day-name{font-weight:600;color:#374151;font-size:1rem}.toggle-switch{position:relative;display:inline-block;width:48px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e5e7eb;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.toggle-slider{background-color:#1a1a1a}input:checked+.toggle-slider:before{transform:translate(24px)}.time-slots{display:flex;flex-direction:column;gap:8px}.time-slot{display:flex;align-items:center;gap:8px}.time-input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;font-family:monospace}.time-slot span{color:#6b7280;font-weight:600}.remove-slot-btn{background:#ef4444;color:#fff;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-slot-btn:hover{background:#dc2626;transform:scale(1.1)}.add-slot-btn{background:#1a1a1a;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s;margin-top:4px}.add-slot-btn:hover{background:#1a1a1a}.overrides-section,.vacation-section{margin-bottom:32px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h4{margin:0;font-size:1.1rem;font-weight:600;color:#374151}.add-btn{background:#1a1a1a;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;font-size:.85rem}.add-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1a1a1a}.empty-message{text-align:center;color:#6b7280;padding:24px;background:#f9fafb;border-radius:8px;font-style:italic}.overrides-list,.vacation-list{display:flex;flex-direction:column;gap:12px}.override-item,.vacation-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;transition:all .2s}.override-item:hover,.vacation-item:hover{border-color:#1a1a1a;box-shadow:0 2px 8px #6366f11a}.override-info,.vacation-info{display:flex;flex-direction:column;gap:6px;flex:1}.override-date,.vacation-dates{font-weight:600;color:#374151;text-transform:capitalize}.override-status{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:500}.override-status.available{color:#10b981}.override-status.blocked{color:#ef4444}.override-reason,.vacation-reason{color:#6b7280;font-size:.85rem}.delete-btn{background:#fee2e2;color:#ef4444;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s;font-size:1rem}.delete-btn:hover{background:#fee2e2;transform:scale(1.1)}@media (max-width: 768px){.availability-editor{padding:16px}.availability-header{flex-direction:column;gap:12px;align-items:stretch}.save-schedule-btn{width:100%}.days-grid{grid-template-columns:1fr}.section-header{flex-direction:column;gap:12px;align-items:stretch}.add-btn{width:100%}.override-item,.vacation-item{flex-direction:column;align-items:flex-start;gap:12px}.delete-btn{width:100%}}.therapist-detail{padding:2rem;max-width:1400px;margin:0 auto;animation:fadeIn .4s ease}.therapist-header{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;border-top:6px solid transparent;animation:slideIn .5s ease}.header-content{display:flex;align-items:flex-start;gap:2rem}.therapist-avatar-section{display:flex;flex-direction:column;align-items:center;gap:1rem}.therapist-avatar-large{width:120px;height:120px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:2.5rem;font-weight:700;color:#fff;flex-shrink:0;position:relative;cursor:pointer;transition:all .3s ease}.therapist-avatar-large:hover{transform:scale(1.05);box-shadow:0 8px 25px #1a1a1a}.avatar-upload-btn{position:absolute;bottom:0;right:0;width:36px;height:36px;background:#1a1a1a;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid white;font-size:1rem;cursor:pointer;transition:all .2s ease}.avatar-upload-btn:hover{background:#1a1a1a;transform:scale(1.1)}.therapist-info h1{font-family:Bricolage Grotesque,sans-serif;font-size:2rem;font-weight:700;color:#111827;margin:0 0 .5rem}.therapist-specialization{font-size:1.125rem;color:#1a1a1a;font-weight:600;margin-bottom:1rem}.therapist-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.meta-item{background:#f3f4f6;padding:.5rem .75rem;border-radius:8px;font-size:.875rem;color:#374151;font-weight:500}.status-badge.status-active{background:#1a1a1a;color:#fff;box-shadow:0 4px 12px #10b9814d}.status-badge.status-inactive{background:#ef4444;color:#fff;box-shadow:0 4px 12px #ef44444d}.therapist-content{display:grid;grid-template-columns:3fr 1fr;gap:2rem;animation:slideIn .5s ease .1s backwards}.therapist-main-panel,.therapist-sidebar{display:flex;flex-direction:column;gap:1.5rem}.card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.card h2,.card h3{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#111827;margin:0 0 1.25rem;display:flex;align-items:center;gap:.5rem}.card h3{font-size:1rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem;margin-bottom:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:600;color:#374151;font-size:.875rem}.form-input,.form-select{padding:.75rem 1rem;border:1.5px solid #d1d5db;border-radius:8px;font-size:.9375rem;transition:all .2s ease;background:#fff;font-family:inherit}.form-input:focus,.form-select:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a}.form-textarea{min-height:100px;resize:vertical;padding:.75rem 1rem;border:1.5px solid #d1d5db;border-radius:8px;font-size:.9375rem;font-family:inherit;transition:all .2s ease}.form-textarea:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 3px #10b9811a}.btn-group{display:flex;gap:.75rem;margin-top:1.25rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1a1a1a}.btn-secondary{background:#fff;color:#1a1a1a;border:1.5px solid #e5e7eb}.btn-secondary:hover{border-color:#1a1a1a;color:#1a1a1a;background:#f9fafb}.schedule-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.schedule-day{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px}.day-info{display:flex;align-items:center;gap:.75rem;min-width:140px}.day-checkbox{width:18px;height:18px;accent-color:rgb(26,26,26);cursor:pointer}.day-label{font-weight:600;color:#374151;font-size:.9375rem}.time-inputs{display:flex;gap:.5rem;align-items:center}.time-input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-family:inherit}.time-input:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 2px #10b9811a}.time-inputs span{color:#6b7280;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stat-value{font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#1a1a1a;margin-bottom:.25rem}.performance-metrics{display:flex;flex-direction:column;gap:1rem}.metric-item{display:flex;flex-direction:column;gap:.5rem}.metric-label{font-size:.875rem;color:#6b7280;font-weight:500}.metric-value{font-size:1.25rem;color:#111827;font-weight:700}.metric-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.metric-fill{height:100%;transition:width .3s ease;border-radius:4px}.metric-fill.green,.metric-fill.red{background:#1a1a1a}.action-buttons{display:flex;flex-direction:column;gap:.75rem}.action-btn{padding:.75rem 1rem;border:none;border-radius:8px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.action-btn.btn-primary{background:#1a1a1a;color:#fff}.action-btn.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1a1a1a}.action-btn.btn-secondary{background:#fff;color:#374151;border:1.5px solid #e5e7eb}.action-btn.btn-secondary:hover{border-color:#1a1a1a;color:#1a1a1a;background:#f9fafb}.action-btn.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.action-btn.btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}@media (max-width: 1024px){.therapist-content{grid-template-columns:1fr}.therapist-sidebar{order:-1}}@media (max-width: 768px){.therapist-detail{padding:1rem}.therapist-header{padding:1.5rem}.header-content{flex-direction:column;align-items:center;text-align:center}.therapist-avatar-large{width:100px;height:100px;font-size:2rem}.avatar-upload-btn{width:32px;height:32px;font-size:.875rem}.therapist-info h1{font-size:1.5rem}.therapist-meta{flex-direction:column;gap:.5rem;width:100%}.meta-item{width:100%;text-align:center}.status-badge{align-self:center}.therapist-content{gap:1rem}.card{padding:1rem}.form-grid{grid-template-columns:1fr}.btn-group{flex-direction:column}.btn{width:100%}.stats-grid{grid-template-columns:1fr}.schedule-day{flex-direction:column;align-items:flex-start;gap:.75rem}.day-info,.time-inputs{width:100%}.time-input{flex:1}}@media (max-width: 480px){.therapist-header{padding:1rem}.therapist-avatar-large{width:80px;height:80px;font-size:1.75rem}.therapist-info h1{font-size:1.25rem}.card h2{font-size:1.125rem}.therapist-content{display:grid;grid-template-columns:3fr 1fr!important;gap:2rem;animation:slideIn .5s ease .1s backwards}.therapist-detail .therapist-content .therapist-main-panel,.therapist-detail .therapist-content .therapist-sidebar{display:flex;flex-direction:column;gap:1.5rem}}.schedule-blocks-card{border-top:4px solid #f59e0b}.card-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-header-with-action h3{margin:0}.btn-small{padding:.5rem 1rem;font-size:.8125rem}.btn-primary{background:#1a1a1a;color:#fff}.empty-blocks{text-align:center;padding:1.5rem;color:#6b7280}.empty-blocks p{font-size:1rem;margin-bottom:.5rem}.empty-blocks span{font-size:.75rem;color:#9ca3af}.blocks-list{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto}.block-item{padding:.75rem;border-radius:8px;background:#f9fafb;border-left:4px solid #d1d5db}.block-item.block-vacation{border-left-color:#3b82f6;background:#eff6ff}.block-item.block-holiday{border-left-color:#10b981;background:#ecfdf5}.block-item.block-personal{border-left-color:#8b5cf6;background:#f5f3ff}.block-item.block-conference{border-left-color:#f59e0b;background:#fffbeb}.block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.block-reason{font-size:.8125rem;font-weight:600;color:#374151}.block-delete{background:none;border:none;color:#9ca3af;cursor:pointer;padding:.25rem;font-size:.875rem;transition:color .2s ease}.block-delete:hover{color:#ef4444}.block-dates{font-size:.875rem;font-weight:500;color:#111827;margin-bottom:.25rem}.block-description{font-size:.75rem;color:#6b7280}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:1.25rem;font-weight:700;color:#111827;margin:0}.modal-close{background:none;border:none;font-size:1.25rem;color:#6b7280;cursor:pointer;padding:.25rem}.modal-close:hover{color:#111827}.modal-form{padding:1.5rem}.modal-form .form-grid{gap:1rem}.modal-form .form-group.full-width{grid-column:1 / -1}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb;margin-top:1rem}.evaluations-page{padding:20px;max-width:1400px;margin:0 auto}.evaluations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-title-group{flex:1}.btn-create-eval{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:12px 24px;border:none;border-radius:var(--radius-md);font-weight:600;font-size:14px;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:8px}.btn-create-eval:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-icon{font-size:18px}.tabs-container{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.tabs-header{display:flex;background:var(--bg-card);border-bottom:2px solid var(--gray-200)}.tab-btn{flex:1;padding:16px 24px;border:none;background:transparent;color:var(--gray-600);font-weight:600;font-size:14px;cursor:pointer;transition:all var(--transition-base);border-bottom:3px solid transparent;position:relative}.tab-btn:hover{background:#00000005;color:var(--text-dark)}.tab-btn.active{color:var(--text-dark);background:var(--white);border-bottom-color:var(--accent-lime)}.tab-content{padding:24px;animation:fadeIn .3s ease}.evaluations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;width:100%;min-height:200px}.evaluation-card{background:var(--white, #ffffff);border-radius:var(--radius-lg, 12px);padding:24px;border:2px solid var(--gray-200, #e5e7eb);transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden;cursor:pointer;box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05));opacity:1!important;animation:none!important;transform:translateY(0)}.evaluation-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .1));border-color:var(--accent-lime, #84cc16)}.evaluation-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var( --eval-gradient, linear-gradient(90deg, #6366f1 0%, #8b5cf6 100%) )}.evaluation-card.fisica{--eval-gradient: linear-gradient(90deg, #10b981 0%, #059669 100%)}.evaluation-card.ocupacional{--eval-gradient: linear-gradient(90deg, #6366f1 0%, #4f46e5 100%)}.evaluation-card.lenguaje{--eval-gradient: linear-gradient(90deg, #f59e0b 0%, #d97706 100%)}.evaluation-card.psicologia{--eval-gradient: linear-gradient(90deg, #ec4899 0%, #db2777 100%)}.eval-header{display:flex;justify-content:flex-end;margin-bottom:1rem}.eval-status{background:#10b981;color:#fff;padding:.375rem .75rem;border-radius:6px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.eval-status.draft{background:#6b7280}.eval-status.pending{background:#f59e0b}.eval-status.completed,.eval-status.active{background:#10b981}.eval-icon{font-size:2rem;margin-bottom:.75rem}.eval-title{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:1.125rem;color:#111827;margin-bottom:.5rem}.eval-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin-bottom:1rem}.eval-stats{display:flex;gap:1rem;margin-bottom:1rem;padding:.75rem;background:#f9fafb;border-radius:8px}.eval-stat{flex:1;text-align:center}.eval-stat-number{font-weight:700;font-size:1rem;color:#111827;margin-bottom:.25rem}.eval-stat-label{font-size:.6875rem;color:#9ca3af;text-transform:uppercase;font-weight:500;letter-spacing:.5px}.progress-bar-container{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:1rem}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#10b981);border-radius:4px;transition:width .5s ease}.eval-actions{display:flex;gap:.5rem}.eval-action-btn{flex:1;padding:.625rem;border:1.5px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-weight:500;font-size:.75rem;cursor:pointer;transition:all .2s ease;text-align:center;text-decoration:none;font-family:Inter,sans-serif;display:flex;align-items:center;justify-content:center;gap:.25rem}.eval-action-btn:hover{border-color:#6366f1;color:#6366f1;background:#6366f10d}.eval-action-btn.primary{background:#6366f1;color:#fff;border-color:#6366f1}.eval-action-btn.primary:hover{background:#4f46e5;border-color:#4f46e5}.form-builder{background:#fff;border-radius:12px;padding:1.5rem}.builder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.builder-title{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:1.25rem;color:#111827;margin:0}.btn-save{padding:.625rem 1.25rem;background:#6366f1;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif}.btn-save:hover{background:#4f46e5}.field-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-bottom:1.5rem}.field-type-btn{padding:.875rem;border:1.5px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-weight:500;font-size:.75rem;cursor:pointer;transition:all .2s ease;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.375rem;font-family:Inter,sans-serif}.field-type-btn:hover{border-color:#6366f1;color:#6366f1;background:#6366f10d;transform:translateY(-2px)}.field-type-icon{font-size:1.25rem}.form-preview{border:2px dashed #e5e7eb;border-radius:12px;padding:1.5rem;min-height:200px;background:#fafafa}.form-preview h3{color:#6b7280;text-align:center;margin:0 0 1rem;font-size:1rem;font-weight:600}.form-preview-content{display:flex;align-items:center;justify-content:center;min-height:150px}.empty-message{text-align:center;color:#9ca3af;font-style:italic;font-size:.875rem;margin:0}@media (max-width: 1024px){.evaluations-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width: 768px){.evaluations-page{padding:1.5rem 1rem}.evaluations-header{flex-direction:column;align-items:stretch}.page-title{font-size:1.5rem}.btn-create-eval{width:100%;justify-content:center}.tabs-header{flex-direction:column}.tab-btn{border-bottom:none;border-left:3px solid transparent}.tab-btn.active{border-bottom:none;border-left-color:#6366f1}.tab-content{padding:1.25rem}.evaluations-grid{grid-template-columns:1fr;gap:1rem}.evaluation-card{padding:1.25rem}.eval-title{font-size:1rem}.eval-actions{flex-direction:column}.eval-action-btn{width:100%}.field-types{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.page-title{font-size:1.25rem}.evaluation-card{padding:1rem}.eval-icon{font-size:1.5rem}.eval-stats{gap:.5rem;padding:.5rem}.eval-stat-number{font-size:.875rem}.field-types{grid-template-columns:1fr}}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.modal-content.large{max-width:800px}.modal-header{padding:24px 24px 16px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-family:Bricolage Grotesque,sans-serif;font-size:24px;font-weight:600;color:#1a1a1a;margin:0}.modal-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s}.modal-close:hover{color:#1a1a1a}.form-section-title{font-family:Bricolage Grotesque,sans-serif;font-size:14px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.form-helper-text{font-family:Inter,sans-serif;font-size:14px;color:#666;margin:0;padding:12px;background:#f9fafb;border-radius:8px;border-left:3px solid #6366f1}.form-label{font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#1a1a1a}.form-input,.form-select,.form-textarea{font-family:Inter,sans-serif;font-size:14px;padding:10px 12px;border:1.5px solid #e5e5e5;border-radius:8px;transition:all .2s;background:#fff;color:#1a1a1a}.form-input::placeholder,.form-textarea::placeholder{color:#999}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.evaluation-info-card{display:flex;gap:16px;padding:16px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:12px;border:1px solid #d1d5db}.eval-info-icon{font-size:48px;line-height:1}.eval-info-title{font-family:Bricolage Grotesque,sans-serif;font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.eval-info-description{font-family:Inter,sans-serif;font-size:14px;color:#666;margin:0;line-height:1.5}.modal-actions{padding:16px 24px;border-top:1px solid #f0f0f0;display:flex;gap:12px;justify-content:flex-end}.modal-actions .btn{padding:10px 20px;border-radius:8px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.modal-actions .btn-secondary{background:#f5f5f5;color:#666}.modal-actions .btn-secondary:hover{background:#e5e5e5;color:#1a1a1a}.modal-actions .btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.modal-actions .btn-primary:hover{background:linear-gradient(135deg,#8b5cf6,#6366f1);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.modal-actions .btn-primary:disabled{background:#d1d5db;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.modal-content{max-height:95vh;border-radius:16px 16px 0 0;margin-top:auto}.modal-header{padding:20px 20px 16px}.modal-header h2{font-size:20px}.modal-form{padding:20px}.form-grid{grid-template-columns:1fr;gap:16px}.modal-actions{padding:16px 20px;flex-direction:column-reverse}.modal-actions .btn{width:100%;padding:12px}.evaluation-info-card{flex-direction:column;text-align:center}}.question-card{background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px;transition:all var(--transition-base)}.question-card:hover{border-color:var(--accent-lime);box-shadow:var(--shadow-md)}.question-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.question-number{background:var(--accent-lime);color:var(--text-dark);padding:8px 16px;border-radius:var(--radius-md);font-weight:700;font-size:14px;box-shadow:var(--shadow-sm)}.question-text{flex:1;font-size:16px;font-weight:600;color:var(--text-dark);margin:0}.question-score{background:var(--bg-card);padding:8px 16px;border-radius:var(--radius-md);font-weight:600;color:var(--gray-700);font-size:14px}.question-options{display:flex;flex-direction:column;gap:12px}.option-label{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg-card);border:2px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.option-label:hover{background:#dfff001a;border-color:var(--accent-lime);transform:translate(4px)}.option-label.selected{background:#dfff0033;border-color:var(--accent-lime);border-width:3px;box-shadow:0 0 0 4px #dfff001a}.option-radio{width:20px;height:20px;cursor:pointer;accent-color:var(--accent-lime)}.option-text{flex:1;font-size:15px;font-weight:500;color:var(--text-dark)}.option-value{background:var(--white);padding:4px 12px;border-radius:var(--radius-sm);font-weight:700;color:var(--gray-600);font-size:13px}.score-preview-card{background:linear-gradient(135deg,var(--text-dark) 0%,#3a3a3a 100%);border-radius:var(--radius-lg);padding:32px;text-align:center;box-shadow:var(--shadow-lg);animation:scoreAppear .5s cubic-bezier(.34,1.56,.64,1)}@keyframes scoreAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.score-title{font-size:20px;font-weight:700;color:var(--accent-lime);margin:0 0 24px}.score-details{display:flex;justify-content:center;align-items:center;gap:32px;margin-bottom:24px}.score-number{font-size:32px;font-weight:800;color:var(--white)}.score-percentage{font-size:48px;font-weight:900;color:var(--accent-lime);text-shadow:0 0 20px rgba(223,255,0,.5)}.score-level{font-size:18px;font-weight:700;padding:12px 24px;background:#ffffff1a;border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.score-progress-bar{height:12px;background:#ffffff1a;border-radius:var(--radius-sm);overflow:hidden}.score-progress-fill{height:100%;border-radius:var(--radius-sm);transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 20px currentColor}.builder-fields-list{display:flex;flex-direction:column;gap:12px;padding:16px}.builder-field-item{background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius-md);padding:16px;transition:all var(--transition-base);cursor:grab}.builder-field-item:hover{border-color:var(--accent-lime);box-shadow:var(--shadow-md);transform:translate(4px)}.builder-field-item:active{cursor:grabbing;opacity:.7}.field-item-header{display:flex;align-items:center;gap:12px}.field-drag-handle{font-size:18px;color:var(--gray-400);cursor:grab}.field-type-badge{background:var(--bg-card);color:var(--gray-700);padding:4px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;text-transform:uppercase}.field-label{flex:1;font-size:15px;font-weight:600;color:var(--text-dark)}.field-remove-btn{background:#ef4444;color:#fff;border:none;width:28px;height:28px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.field-remove-btn:hover{background:#dc2626;transform:scale(1.1)}.field-options-preview{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.option-tag{background:#dfff0033;border:1px solid var(--accent-lime);color:var(--text-dark);padding:4px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:500}.evaluation-detail{padding:2rem;max-width:1400px;margin:0 auto;animation:fadeIn .4s ease}.evaluation-header{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;border-top:4px solid transparent;border-image:linear-gradient(90deg,#6366f1,#4f46e5) 1;animation:slideIn .5s ease}.header-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}.header-left{display:flex;align-items:flex-start;gap:1rem;flex:1}.evaluation-icon-large{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:12px;font-size:2rem;flex-shrink:0}.header-info{flex:1}.header-info h1{font-family:Bricolage Grotesque,sans-serif;font-size:1.75rem;font-weight:700;color:#111827;margin:0 0 .5rem}.evaluation-category{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6366f1;font-weight:500}.status-badge{padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#d1fae5;color:#059669}.status-badge.draft{background:#fef3c7;color:#d97706}.status-badge.archived{background:#f3f4f6;color:#6b7280}.header-meta{display:flex;gap:2rem;padding-top:1.5rem;border-top:1px solid #f3f4f6}.meta-item{display:flex;flex-direction:column;gap:.25rem}.meta-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.meta-value{font-size:1rem;color:#111827;font-weight:600}.header-actions{display:flex;gap:.75rem}.btn-primary,.btn-secondary,.btn-outline{padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-secondary{background:#f3f4f6;color:#111827}.btn-secondary:hover{background:#e5e7eb}.btn-outline{background:#fff;color:#6366f1;border:1px solid #6366f1}.btn-outline:hover{background:#eef2ff}.evaluation-content{display:grid;grid-template-columns:2fr 1fr;gap:2rem;animation:slideIn .5s ease .1s backwards}.questions-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a}.questions-section h2{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#111827;margin:0 0 1.5rem}.questions-list{display:flex;flex-direction:column;gap:1.5rem}.question-item{padding:1.5rem;background:#f9fafb;border-radius:8px;border-left:3px solid #6366f1}.question-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.question-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-radius:8px;font-weight:700;font-size:.875rem;flex-shrink:0}.question-content{flex:1}.question-text{font-size:.9375rem;color:#111827;font-weight:500;margin:0 0 .75rem}.question-type{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:#6366f1;background:#fff;padding:.25rem .625rem;border-radius:4px;font-weight:600}.question-options{margin-top:1rem;padding-left:1rem}.question-options h4{font-size:.75rem;color:#6b7280;margin:0 0 .5rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.question-options ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.question-options li{font-size:.875rem;color:#4b5563;padding-left:1rem;position:relative}.question-options li:before{content:"•";position:absolute;left:0;color:#6366f1;font-weight:700}.question-description{font-size:.875rem;color:#6b7280;font-style:italic;margin-top:.5rem}.evaluation-sidebar{display:flex;flex-direction:column;gap:1.5rem}.sidebar-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.sidebar-card h3{font-family:Bricolage Grotesque,sans-serif;font-size:1rem;font-weight:700;color:#111827;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.objectives-content h4{font-size:.875rem;color:#6b7280;margin:0 0 .5rem;font-weight:600}.objectives-content p{font-size:.875rem;color:#111827;line-height:1.6;margin:0 0 1.25rem}.objectives-content ul{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;flex-direction:column;gap:.5rem}.objectives-content li{font-size:.875rem;color:#4b5563;padding-left:1.25rem;position:relative;line-height:1.5}.objectives-content li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700}.usage-note{background:#eef2ff;border-left:3px solid #6366f1;padding:.75rem;border-radius:4px;font-size:.8125rem;color:#4b5563;line-height:1.5}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stat-box{text-align:center;padding:1rem;background:#f9fafb;border-radius:8px}.stat-value{font-size:1.75rem;font-weight:700;color:#6366f1;margin:0 0 .25rem;font-family:Bricolage Grotesque,sans-serif}.stat-label{font-size:.75rem;color:#6b7280;font-weight:500}.evaluation-detail .quick-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.action-btn{padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:.8125rem;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.action-btn:hover{background:#f3f4f6;border-color:#6366f1;color:#6366f1;transform:translateY(-1px)}@media (max-width: 1024px){.evaluation-content{grid-template-columns:1fr}.evaluation-sidebar{order:-1}}@media (max-width: 768px){.evaluation-detail{padding:1rem}.evaluation-header{padding:1.5rem}.header-top{flex-direction:column}.header-actions{width:100%;flex-direction:column}.btn-primary,.btn-secondary,.btn-outline{width:100%;justify-content:center}.header-meta{flex-direction:column;gap:1rem}.questions-section,.sidebar-card{padding:1.5rem}.evaluation-content{gap:1rem}.stats-grid,.evaluation-detail .quick-actions-grid{grid-template-columns:1fr}}@media (max-width: 480px){.evaluation-header{padding:1rem}.header-left{flex-direction:column;align-items:center;text-align:center}.evaluation-icon-large{width:50px;height:50px;font-size:1.5rem}.header-info h1{font-size:1.5rem}.questions-section,.sidebar-card,.question-item{padding:1rem}}.analytics-page{padding:20px;max-width:1600px;margin:0 auto}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:16px}.page-title-group{display:flex;align-items:center;gap:16px}.page-title{font-family:var(--font-display);font-weight:700;font-size:32px;color:var(--text-dark);margin:0}.analytics-badge{background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;padding:8px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:600}.time-filters{display:flex;gap:12px;align-items:center}.filter-btn{padding:8px 16px;border:2px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--white);color:var(--gray-700);font-weight:600;cursor:pointer;transition:all var(--transition-base);font-size:14px}.filter-btn.active{border-color:var(--text-dark);background:var(--text-dark);color:#fff}.filter-btn:hover{border-color:var(--text-dark);background:#1a1a1a0d}.filter-btn.active:hover{background:#000}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:32px}.stat-card{position:relative;background:var(--white);border-radius:var(--radius-lg);padding:24px;border:2px solid var(--gray-200);overflow:hidden;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.stat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--accent-lime)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--stat-gradient)}.stat-card.revenue{--stat-gradient: linear-gradient(90deg, #10b981 0%, #059669 100%)}.stat-card.patients{--stat-gradient: linear-gradient(90deg, #6366f1 0%, #4f46e5 100%)}.stat-card.sessions{--stat-gradient: linear-gradient(90deg, #f59e0b 0%, #d97706 100%)}.stat-card.conversion{--stat-gradient: linear-gradient(90deg, #ec4899 0%, #db2777 100%)}.stat-card.pending{--stat-gradient: linear-gradient(90deg, #f59e0b 0%, #d97706 100%)}.stat-card.churn{--stat-gradient: linear-gradient(90deg, #ef4444 0%, #dc2626 100%)}.stat-icon{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:28px;background:var(--stat-gradient);color:#fff;margin-bottom:16px;box-shadow:var(--shadow-sm)}.stat-value{font-family:var(--font-display);font-weight:700;font-size:32px;color:var(--text-dark);margin-bottom:8px;line-height:1}.stat-label{color:var(--gray-600);font-size:14px;font-weight:500;margin-bottom:8px}.stat-change{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600}.financial-alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;margin-bottom:2rem}.alert-card{background:#fff;border-radius:16px;padding:1.5rem;border:1px solid #e5e7eb;position:relative;overflow:hidden}.alert-card.warning{border-left:4px solid #f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.alert-card.danger{border-left:4px solid #ef4444;background:linear-gradient(135deg,#fef2f2,#fecaca)}.alert-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.alert-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.125rem;background:#fffc}.alert-title{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:1rem;color:#111827}.alert-content{margin-bottom:1rem}.alert-amount{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:1.5rem;color:#111827;margin-bottom:.5rem}.alert-details{color:#6b7280;font-size:.875rem;line-height:1.5}.alert-actions{display:flex;gap:.5rem}.alert-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif}.alert-btn.primary{background:#6366f1;color:#fff}.alert-btn.secondary{background:#0000001a;color:#374151}.alert-btn:hover{transform:translateY(-1px)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:24px}.chart-card{background:var(--white);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.chart-card.full-width{grid-column:1 / -1}.chart-title{font-family:var(--font-display);font-weight:700;font-size:20px;color:var(--text-dark);margin-bottom:20px;display:flex;align-items:center;gap:8px}.chart-placeholder{height:300px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6b7280;font-size:.875rem;text-align:center;border:2px dashed #e5e7eb;gap:.5rem}.chart-placeholder small{font-size:.75rem;color:#9ca3af}.funnel-container{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 0}.funnel-stage{position:relative;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb;transition:all .3s ease}.funnel-stage:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.funnel-stage:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--stage-color)}.funnel-stage.contacto{--stage-color: #3b82f6}.funnel-stage.interesado{--stage-color: #8b5cf6}.funnel-stage.evaluación{--stage-color: #f59e0b}.funnel-stage.propuesta{--stage-color: #ec4899}.funnel-stage.cliente{--stage-color: #10b981}.funnel-stage.perdido{--stage-color: #ef4444}.funnel-content{padding:1.25rem;display:flex;align-items:center;justify-content:space-between}.funnel-info{display:flex;align-items:center;gap:1rem}.funnel-icon{width:48px;height:48px;border-radius:12px;background:var(--stage-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;flex-shrink:0}.funnel-details{display:flex;flex-direction:column;gap:.25rem}.funnel-stage-name{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:1.125rem;color:#111827}.funnel-description{color:#6b7280;font-size:.875rem}.funnel-metrics{display:flex;align-items:center;gap:1.5rem}.funnel-count{text-align:center}.funnel-number{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:2rem;color:#111827;line-height:1}.funnel-label{color:#6b7280;font-size:.75rem;font-weight:500}.funnel-conversion{text-align:center;padding:.5rem .75rem;background:#10b9811a;border-radius:8px;border:1px solid rgba(16,185,129,.2)}.conversion-rate{font-weight:700;color:#10b981;font-size:1rem}.conversion-label{color:#059669;font-size:.6875rem;font-weight:500}.funnel-progress{position:absolute;bottom:0;left:0;height:3px;background:var(--stage-color);opacity:.3;transition:width .5s ease}.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;margin-bottom:2rem}.performance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}.performance-card{background:#fff;border-radius:16px;padding:1.5rem;border:1px solid #e5e7eb}.therapist-list{display:flex;flex-direction:column;gap:1rem}.therapist-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:12px;transition:all .2s ease}.therapist-item:hover{background:#f3f4f6;transform:translate(4px)}.therapist-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem;flex-shrink:0}.therapist-info{flex:1}.therapist-name{font-weight:600;color:#111827;margin-bottom:.25rem;font-size:.9375rem}.therapist-specialty{color:#6b7280;font-size:.875rem}.therapist-score{background:#10b981;color:#fff;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600}.progress-list{display:flex;flex-direction:column;gap:1rem}.progress-item{padding:1rem;background:#f9fafb;border-radius:12px}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-patient{font-weight:600;color:#111827;font-size:.9375rem}.progress-therapy{background:#6366f1;color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600}.progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#10b981);border-radius:4px;transition:width .3s ease}.progress-text{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#6b7280}.export-section{background:#fff;border-radius:16px;padding:1.5rem;border:1px solid #e5e7eb}.export-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.export-btn{padding:.75rem 1.25rem;border:1.5px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-family:Inter,sans-serif}.export-btn:hover{border-color:#6366f1;background:#6366f10d;color:#6366f1;transform:translateY(-2px)}@media (max-width: 1024px){.stats-overview{grid-template-columns:repeat(2,1fr)}.charts-grid,.performance-grid{grid-template-columns:1fr}}@media (max-width: 768px){.analytics-page{padding:1.5rem 1rem}.analytics-header{flex-direction:column;align-items:stretch}.page-title{font-size:1.5rem}.time-filters{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;width:100%}.filter-btn{padding:.625rem .75rem;font-size:.8125rem;text-align:center;white-space:nowrap}.stats-overview{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1.25rem}.stat-value{font-size:1.5rem}.funnel-container{padding:1rem 0}.funnel-content{padding:1rem;flex-direction:column;align-items:flex-start;gap:1rem}.funnel-info{width:100%;gap:.75rem}.funnel-icon{width:40px;height:40px;font-size:1rem}.funnel-stage-name{font-size:1rem}.funnel-description{font-size:.8125rem}.funnel-metrics{width:100%;justify-content:space-between;gap:1rem}.funnel-number{font-size:1.5rem}.conversion-rate{font-size:.875rem}.financial-alerts{grid-template-columns:1fr;gap:1rem}.alert-card{padding:1.25rem}.alert-actions{flex-direction:column;gap:.5rem}.alert-btn{width:100%;padding:.75rem 1rem;font-size:.8125rem}.chart-card{padding:1.25rem}.chart-title{font-size:1rem}.chart-placeholder{height:200px;font-size:.8125rem}.export-buttons{flex-direction:column}.export-btn{width:100%;justify-content:center}}@media (max-width: 480px){.page-title{font-size:1.25rem}.analytics-badge{font-size:.75rem;padding:.375rem .75rem}.stat-value{font-size:1.25rem}.stat-label{font-size:.75rem}.funnel-number,.alert-amount{font-size:1.25rem}}.billing-page{min-height:100vh;background:var(--bg-app);padding:20px}.billing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1.5rem}.header-content{flex:1}.page-title-group{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.page-title{font-family:Inter,sans-serif;font-size:2rem;font-weight:600;color:var(--text-dark);margin:0}.billing-badge{background:var(--accent-lime);color:var(--text-dark);padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;box-shadow:var(--shadow-sm)}.btn-new-invoice{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:var(--text-dark);color:#fff;border:none;border-radius:var(--radius-sm);font-family:Inter,sans-serif;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.btn-new-invoice:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--accent-lime);color:var(--text-dark)}.btn-icon{font-size:1.25rem;font-weight:600}.stats-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:2rem}.stat-card{position:relative;background:var(--bg-card);border-radius:var(--radius-md);padding:1.5rem;border:none;overflow:hidden;box-shadow:var(--shadow-sm);transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent-lime)}.stat-icon{width:48px;height:48px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:var(--white);color:var(--text-dark);margin-bottom:1rem;box-shadow:var(--shadow-sm)}.stat-value{font-family:Inter,sans-serif;font-weight:700;font-size:1.75rem;color:var(--text-dark);margin-bottom:.5rem}.stat-label{color:var(--text-light);font-size:.875rem;font-weight:500}.stat-change{font-size:.8125rem;font-weight:500;margin-top:.5rem}.stat-change.positive{color:#10b981}.stat-change.negative{color:#ef4444}.content-grid{display:grid;grid-template-columns:3fr 1fr;gap:24px}.main-panel{grid-column:1 / 4;display:flex;flex-direction:column;gap:1.5rem}.billing-sidebar{grid-column:4 / 5;display:flex;flex-direction:column;gap:1.5rem}.card{background:var(--bg-card);border-radius:var(--radius-md);padding:1.5rem;border:none;box-shadow:var(--shadow-sm);overflow:visible}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.card-title{font-family:Inter,sans-serif;font-weight:600;font-size:1.25rem;color:var(--text-dark);margin:0;display:flex;align-items:center;gap:.5rem}.filter-tabs{display:flex;gap:.5rem;background:var(--white);padding:.375rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.filter-tab{padding:.5rem 1rem;background:transparent;border:none;border-radius:var(--radius-sm);font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;color:var(--text-light);cursor:pointer;transition:all .2s ease}.filter-tab:hover{background:var(--bg-card);color:var(--text-dark)}.filter-tab.active{background:var(--accent-lime);color:var(--text-dark)}.invoices-table-container{overflow-x:auto}.invoices-table{width:100%;border-collapse:collapse}.invoices-table th,.invoices-table td{padding:1rem .75rem;text-align:left;border-bottom:1px solid var(--gray-200)}.invoices-table th{background:var(--white);font-weight:600;color:var(--text-dark);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.invoices-table tbody tr{transition:all .2s ease;animation:slideIn .3s ease forwards;opacity:0}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.invoices-table tbody tr:hover{background:var(--white)}.invoices-table td{color:var(--text-light);font-size:.875rem}.invoice-number{font-weight:600;color:var(--text-dark)}.patient-name{font-weight:500;color:var(--text-dark)}.therapy-name{color:var(--text-light);font-size:.8125rem}.invoice-amount{font-family:Inter,sans-serif;font-weight:700;color:var(--text-dark);font-size:1rem}.invoice-date{color:var(--text-light);font-size:.8125rem}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.paid{background:#d1fae5;color:#065f46}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.overdue{background:#fee2e2;color:#991b1b}.status-cell,.mobile-status-wrapper{display:flex;align-items:center;gap:6px}.reminder-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:11px;cursor:help}.reminder-badge.reminder-sent{background:linear-gradient(135deg,#6366f1,#8b5cf6);animation:pulse 2s infinite}.reminder-badge.reminder-pending{background:#f3f4f6;border:1px dashed #d1d5db}@keyframes pulse{0%{box-shadow:0 0 #6366f166}70%{box-shadow:0 0 0 6px #6366f100}to{box-shadow:0 0 #6366f100}}.invoice-actions{display:flex;gap:.5rem}.action-icon{width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:.875rem;box-shadow:var(--shadow-sm)}.action-icon:hover{background:var(--accent-lime);transform:scale(1.1)}.mobile-invoices-list{display:none}.mobile-invoice-card{position:relative;background:var(--bg-card);border-radius:var(--radius-md);padding:1rem;margin-bottom:.75rem;border:none;overflow:hidden;animation:slideIn .3s ease forwards;opacity:0;box-shadow:var(--shadow-sm)}.mobile-invoice-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent-lime)}.mobile-invoice-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.mobile-invoice-number{font-family:Inter,sans-serif;font-weight:700;font-size:1rem;color:var(--text-dark)}.mobile-invoice-amount{font-family:Inter,sans-serif;font-weight:800;font-size:1.125rem;color:var(--text-dark)}.mobile-invoice-client{font-weight:600;color:var(--text-dark);margin-bottom:.5rem;font-size:.9375rem}.mobile-invoice-therapy{color:var(--text-light);font-size:.875rem;margin-bottom:.5rem}.mobile-invoice-date{color:var(--text-light);font-size:.875rem;margin-bottom:.75rem}.mobile-invoice-footer{display:flex;justify-content:space-between;align-items:center}.mobile-status-badge{padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.mobile-status-badge.paid{background:#d1fae5;color:#065f46}.mobile-status-badge.pending{background:#fef3c7;color:#92400e}.mobile-status-badge.overdue{background:#fee2e2;color:#991b1b}.mobile-invoice-actions{display:flex;gap:.5rem}.mobile-action-icon{width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:.875rem;box-shadow:var(--shadow-sm)}.mobile-action-icon:hover{background:var(--accent-lime)}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem}.payment-method{padding:1rem;border:2px solid var(--gray-200);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;background:var(--white)}.payment-method.active{border-color:var(--accent-lime);background:var(--accent-lime)}.payment-method:hover{border-color:var(--accent-lime);transform:translateY(-2px)}.payment-icon{font-size:1.5rem;display:block}.payment-name{font-weight:600;color:var(--text-dark);font-size:.875rem}.quick-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.quick-stat{text-align:center;padding:1rem;background:var(--white);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.quick-stat-value{font-family:Inter,sans-serif;font-weight:800;font-size:1.25rem;color:var(--text-dark);margin-bottom:.25rem}.quick-stat-label{color:var(--text-light);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 1024px){.stats-overview{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.billing-page{padding:1.5rem 1rem}.billing-header{flex-direction:column;align-items:stretch}.page-title{font-size:1.5rem}.btn-new-invoice{width:100%;justify-content:center}.stats-overview{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1.25rem}.stat-value{font-size:1.5rem}.card{padding:1.25rem}.card-title{font-size:1.125rem}.card-header{flex-direction:column;align-items:stretch}.filter-tabs{width:100%;justify-content:space-between}.filter-tab{flex:1;padding:.5rem;font-size:.75rem}.invoices-table-container{display:none}.mobile-invoices-list{display:block!important}.payment-methods{grid-template-columns:1fr!important;gap:.75rem}.payment-method{padding:.875rem;flex-direction:row;text-align:left;gap:.75rem}.payment-icon{font-size:1.25rem}.payment-name{font-size:.9375rem}.quick-stats{grid-template-columns:1fr!important;gap:.75rem}.quick-stat{padding:.875rem}.quick-stat-value{font-size:1.125rem}.quick-stat-label{font-size:.6875rem}}@media (max-width: 480px){.page-title{font-size:1.25rem}.billing-badge{font-size:.75rem;padding:.375rem .75rem}.stat-value{font-size:1.25rem}.stat-label{font-size:.75rem}.mobile-invoice-card{padding:.875rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;padding:20px}.modal-content{background:var(--white);border-radius:var(--radius-md);width:100%;max-width:650px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:24px 24px 16px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-family:Inter,sans-serif;font-size:24px;font-weight:600;color:var(--text-dark);margin:0}.modal-close{background:none;border:none;font-size:24px;color:var(--text-light);cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s}.modal-close:hover{color:var(--text-dark)}.form-section{margin-bottom:24px}.form-section:last-child{margin-bottom:0}.form-section-title{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--gray-200)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid .form-group.full-width{grid-column:1 / -1}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:var(--text-dark)}.form-label .required{color:#ef4444;margin-left:2px}.form-input,.form-select,.form-textarea{font-family:Inter,sans-serif;font-size:14px;padding:10px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);transition:all .2s;background:var(--white);color:var(--text-dark)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--text-dark);box-shadow:0 0 0 3px #1a1a1a1a}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-light)}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-textarea{min-height:80px;resize:vertical;font-family:Inter,sans-serif}.total-preview{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--accent-lime);border-radius:var(--radius-sm);border:2px solid var(--text-dark)}.total-label{font-family:Inter,sans-serif;font-size:16px;font-weight:600;color:var(--text-dark)}.total-amount{font-family:Inter,sans-serif;font-size:24px;font-weight:700;color:var(--text-dark)}.modal-actions{padding:16px 24px;border-top:1px solid var(--gray-200);display:flex;gap:12px;justify-content:flex-end}.modal-actions .btn{padding:10px 20px;border-radius:var(--radius-sm);font-family:Inter,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.modal-actions .btn-secondary{background:var(--bg-card);color:var(--text-dark);box-shadow:var(--shadow-sm)}.modal-actions .btn-secondary:hover{background:var(--white);box-shadow:var(--shadow-md)}.modal-actions .btn-primary{background:var(--text-dark);color:#fff}.modal-actions .btn-primary:hover{background:var(--accent-lime);color:var(--text-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.modal-actions .btn-primary:disabled{background:var(--gray-300);cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.modal-content{max-height:95vh;border-radius:var(--radius-md) var(--radius-md) 0 0;margin-top:auto}.modal-header{padding:20px 20px 16px}.modal-header h2{font-size:20px}.modal-form{padding:20px}.form-grid{grid-template-columns:1fr;gap:16px}.modal-actions{padding:16px 20px;flex-direction:column-reverse}.modal-actions .btn{width:100%;padding:12px}.total-preview{flex-direction:column;gap:8px;text-align:center}}.period-filters{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.period-btn{padding:10px 16px;border:1.5px solid var(--gray-300);background:#fff;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .2s ease}.period-btn:hover{border-color:var(--text-dark);background:var(--gray-50)}.period-btn.active{background:var(--text-dark);color:#fff;border-color:var(--text-dark)}.payment-method-metrics{display:flex;flex-direction:column;gap:12px}.payment-metric-item{padding:12px;background:var(--gray-50);border-radius:var(--radius-sm);border:1px solid var(--gray-200);transition:all .2s ease}.payment-metric-item:hover{background:#fff;box-shadow:var(--shadow-sm)}.payment-metric-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.payment-metric-icon{font-size:18px}.payment-metric-label{font-size:13px;font-weight:600;color:var(--text-dark)}.payment-metric-value{font-size:20px;font-weight:700;color:var(--text-dark);margin-bottom:4px}.payment-metric-count{font-size:12px;color:var(--text-light)}.advanced-stats{display:flex;flex-direction:column;gap:16px}.advanced-stat-item{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--gray-50);border-radius:var(--radius-sm)}.advanced-stat-label{font-size:12px;font-weight:500;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.advanced-stat-value{font-size:24px;font-weight:700;color:var(--text-dark)}.overdue-patients-list{display:flex;flex-direction:column;gap:12px}.overdue-patient-item{padding:12px;background:var(--gray-50);border:1px solid var(--gray-200);border-left:3px solid #EF4444;border-radius:var(--radius-sm);transition:all .2s ease}.overdue-patient-item:hover{background:#fff;box-shadow:var(--shadow-sm);border-left-color:#dc2626}.overdue-patient-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.overdue-patient-name{font-size:14px;font-weight:600;color:var(--text-dark)}.overdue-patient-amount{font-size:16px;font-weight:700;color:#dc2626}.overdue-patient-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px}.overdue-patient-invoices{color:var(--text-light)}.overdue-patient-link{color:var(--text-dark);font-weight:600;text-decoration:none;transition:all .2s ease}.overdue-patient-link:hover{color:#dc2626}.verification-summary{display:flex;flex-direction:column;gap:12px}.verification-item{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:var(--radius-sm);background:var(--gray-50);border:1px solid var(--gray-200);transition:all .2s ease}.verification-item:hover{background:#fff;box-shadow:var(--shadow-sm)}.verification-item.verified{border-left:3px solid #10B981}.verification-item.pending{border-left:3px solid #F59E0B}.verification-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:16px;border-radius:50%;flex-shrink:0}.verification-item.verified .verification-icon{background:#d1fae5;color:#10b981}.verification-item.pending .verification-icon{background:#fef3c7;color:#f59e0b}.verification-details{flex:1}.verification-label{font-size:13px;font-weight:500;color:var(--text-light);margin-bottom:4px}.verification-amount{font-size:18px;font-weight:700;color:var(--text-dark)}.verification-count{font-size:12px;color:var(--text-muted);margin-top:2px}.verification-alert{margin-top:12px;padding:10px 14px;background:#fef3c7;border:1px solid #F59E0B;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:#92400e}.invoice-detail{padding:2rem;max-width:1400px;margin:0 auto;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:#6b7280;text-decoration:none;font-size:.875rem;margin-bottom:1.5rem;transition:color .2s ease}.back-link:hover{color:#111827}.invoice-header{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;animation:slideIn .5s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.invoice-header-content{margin-bottom:1.5rem}.invoice-title-group{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.invoice-title-group h1{font-family:Bricolage Grotesque,sans-serif;font-size:2rem;font-weight:700;color:#111827;margin:0}.invoice-status{padding:.5rem 1rem;border-radius:20px;color:#fff;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.invoice-meta{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.9375rem;color:#6b7280}.invoice-actions{display:flex;gap:.75rem;flex-wrap:wrap}.action-btn{padding:.75rem 1.25rem;border:1.5px solid #e5e7eb;background:#fff;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;color:#374151}.action-btn:hover{border-color:#1a1a1a;color:#1a1a1a;background:#6366f10d}.action-btn.primary{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.action-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.invoice-content{display:grid;grid-template-columns:2fr 1fr;gap:2rem;animation:slideIn .5s ease .1s backwards}.invoice-content>.billing-main-panel{grid-column:1 / 2}.invoice-content>.billing-sidebar{grid-column:2 / 3}.billing-main-panel,.billing-sidebar{display:flex;flex-direction:column;gap:1.5rem}.info-card,.items-card,.payments-card,.balance-card,.actions-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.info-card h2,.items-card h2,.payments-card h2{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#111827;margin:0 0 1.25rem;display:flex;align-items:center;gap:.5rem}.balance-card h3,.actions-card h3{font-family:Bricolage Grotesque,sans-serif;font-size:1rem;font-weight:700;color:#111827;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.info-item{display:flex;flex-direction:column;gap:.25rem;text-align:left}.info-label{font-size:.8125rem;color:#6b7280;font-weight:600}.info-value{font-size:.9375rem;color:#111827;font-weight:500}.items-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.items-table thead{background:#f9fafb}.items-table th{padding:.75rem;text-align:left;font-weight:600;color:#374151;font-size:.875rem;border-bottom:2px solid #e5e7eb}.items-table td{padding:.875rem .75rem;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.9375rem}.items-table tr:last-child td{border-bottom:none}.totals-section{border-top:2px solid #e5e7eb;padding-top:1rem}.total-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9375rem;color:#6b7280}.total-row.total{font-size:1.25rem;font-weight:700;color:#111827;margin-top:.5rem;padding-top:.75rem;border-top:2px solid #e5e7eb}.payments-list{display:flex;flex-direction:column;gap:.75rem}.payment-item{background:#f9fafb;padding:1rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-left:4px solid rgb(26,26,26)}.payment-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.payment-date,.payment-method,.payment-code{font-size:.8125rem;color:#6b7280}.payment-amount{font-weight:700;color:#111827;font-size:1.125rem}.payment-status{padding:.375rem .75rem;border-radius:6px;font-size:.8125rem;font-weight:600}.payment-status.verified{background:#d1fae5;color:#1a1a1a}.payment-verification{flex-shrink:0}.verification-select{padding:.5rem .75rem;border-radius:8px;font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;border:1.5px solid;transition:all .2s ease;background:#fff;min-width:140px}.verification-select:focus{outline:none;box-shadow:0 0 0 3px #6366f126}.verification-select.status-pendiente{border-color:#f59e0b;background:#fef3c7;color:#92400e}.verification-select.status-verificando{border-color:#3b82f6;background:#dbeafe;color:#1e40af}.verification-select.status-aprobado{border-color:#10b981;background:#d1fae5;color:#065f46}.verification-select.status-rechazado{border-color:#ef4444;background:#fee2e2;color:#991b1b}.payment-receipt-link{color:#3b82f6;text-decoration:none;font-size:.8125rem;font-weight:500;transition:color .2s ease}.payment-receipt-link:hover{color:#1d4ed8;text-decoration:underline}.form-hint{color:#6b7280;font-size:.75rem;margin-top:4px}.empty-payments{text-align:center;padding:2rem;color:#6b7280}.balance-info{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.balance-row{display:flex;justify-content:space-between;align-items:center;font-size:.9375rem}.balance-row.balance{padding-top:.75rem;border-top:2px solid #e5e7eb;margin-top:.5rem}.balance-row .amount{font-weight:700;color:#111827}.balance-row .amount.paid{color:#10b981}.balance-row .amount.pending{color:#f59e0b;font-size:1.25rem}.btn-pay-balance{width:100%;padding:.875rem;background:#1a1a1a;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease}.btn-pay-balance:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.actions-list{display:flex;flex-direction:column;gap:.5rem}.quick-action-btn{padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;color:#374151;text-align:left}.quick-action-btn:hover{background:#f3f4f6;border-color:#1a1a1a;color:#1a1a1a}.quick-action-btn.danger:hover{border-color:#ef4444;color:#ef4444;background:#fef2f2}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeInOverlay .3s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUpModal .3s ease}@keyframes slideUpModal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}.modal-header h2{font-family:Bricolage Grotesque,sans-serif;font-size:24px;font-weight:700;color:#111827;margin:0}.modal-close{width:36px;height:36px;border-radius:8px;border:none;background:#f3f4f6;color:#6b7280;font-size:20px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#e5e7eb;color:#111827}.modal-form{padding:24px}.form-grid{display:grid;gap:16px;margin-bottom:24px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1 / -1}.form-label{font-weight:600;color:#374151;font-size:14px}.form-input,.form-select,.form-textarea{padding:12px 14px;border:1.5px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-textarea{resize:vertical}.form-select{cursor:pointer;background:#fff}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid #e5e7eb}.btn{padding:12px 24px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;border:none}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.btn-secondary{background:#fff;color:#374151;border:1.5px solid #d1d5db}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width: 1024px){.invoice-content{grid-template-columns:1fr}.billing-sidebar{order:-1}}@media (max-width: 768px){.invoice-detail{padding:1rem}.invoice-header{padding:1.5rem}.invoice-title-group{flex-direction:column;align-items:flex-start;gap:.75rem}.invoice-title-group h1{font-size:1.5rem}.invoice-actions{flex-direction:column;width:100%}.action-btn{width:100%;justify-content:center}.info-grid{grid-template-columns:1fr}.items-table{font-size:.8125rem}.items-table th,.items-table td{padding:.5rem .25rem}.payment-item{flex-direction:column;align-items:flex-start}.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-height:95vh;border-bottom-left-radius:0;border-bottom-right-radius:0}.modal-actions{flex-direction:column-reverse}.btn{width:100%}}.patient-portal{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.portal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1.5rem;flex-wrap:wrap}.patient-welcome{display:flex;align-items:center;gap:1.5rem}.patient-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;font-family:Bricolage Grotesque,sans-serif;font-size:2rem;font-weight:700;color:#fff;box-shadow:0 8px 24px #00000026}.welcome-text{flex:1}.welcome-title{font-family:Bricolage Grotesque,sans-serif;font-size:2rem;font-weight:700;color:#fff;margin:0 0 .5rem;text-shadow:0 2px 10px rgba(0,0,0,.1)}.welcome-subtitle{font-family:Inter,sans-serif;font-size:1rem;color:#ffffffe6;margin:0}.header-actions{display:flex;gap:1rem}.btn-portal-action{padding:.75rem 1.5rem;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:12px;color:#fff;font-family:Inter,sans-serif;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-portal-action:hover{background:#ffffff4d;transform:translateY(-2px)}.btn-portal-action.primary{background:#fff;color:#667eea;border-color:#fff}.btn-portal-action.primary:hover{background:#f8f9fa}.quick-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}.quick-stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 20px #0000001a;transition:all .3s}.quick-stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000026}.quick-stat-card .stat-icon{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:1.75rem;flex-shrink:0}.quick-stat-card .stat-content{flex:1}.quick-stat-card .stat-value{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#1a1a1a;margin-bottom:.25rem}.quick-stat-card .stat-label{font-family:Inter,sans-serif;font-size:.875rem;color:#666}.portal-tabs{display:flex;gap:1rem;margin-bottom:2rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:.5rem;border:1px solid rgba(255,255,255,.2)}.portal-tab{flex:1;padding:1rem 1.5rem;background:transparent;border:none;border-radius:12px;color:#fffc;font-family:Inter,sans-serif;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.portal-tab:hover{background:#ffffff1a;color:#fff}.portal-tab.active{background:#fff;color:#667eea;box-shadow:0 4px 15px #0000001a}.portal-content{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 8px 40px #0000001f;min-height:500px}.tab-panel{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.portal-card{background:#f8f9fa;border-radius:16px;padding:1.5rem;border:1px solid #e5e7eb}.portal-card.full-width{grid-column:1 / -1}.card-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0 0 1.5rem}.next-appointment{display:flex;gap:1.5rem;padding:1.5rem;background:#fff;border-radius:12px;margin-bottom:1rem}.appointment-date-large{width:80px;height:80px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.date-day{font-family:Bricolage Grotesque,sans-serif;font-size:2rem;font-weight:700;line-height:1}.date-month{font-family:Inter,sans-serif;font-size:.875rem;text-transform:uppercase;opacity:.9}.appointment-details-large{flex:1}.appointment-type{font-family:Bricolage Grotesque,sans-serif;font-size:1.125rem;font-weight:600;color:#1a1a1a;margin-bottom:.5rem}.appointment-time,.appointment-therapist{font-family:Inter,sans-serif;font-size:.9375rem;color:#666;margin-bottom:.25rem}.btn-card-action{width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-family:Inter,sans-serif;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-card-action:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea4d}.pending-evals-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.pending-eval-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-radius:10px;gap:1rem}.eval-info{flex:1}.eval-name{font-family:Inter,sans-serif;font-size:.9375rem;font-weight:600;color:#1a1a1a;margin-bottom:.25rem}.eval-due{font-family:Inter,sans-serif;font-size:.875rem;color:#666}.eval-progress-mini{flex-shrink:0}.progress-circle{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;font-family:Inter,sans-serif;font-size:.875rem;font-weight:700;color:#fff}.sessions-list{display:flex;flex-direction:column;gap:1rem}.session-item{display:flex;gap:1rem;padding:1.25rem;background:#fff;border-radius:12px;align-items:flex-start}.session-icon{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.session-info{flex:1}.session-type{font-family:Bricolage Grotesque,sans-serif;font-size:1rem;font-weight:600;color:#1a1a1a;margin-bottom:.25rem}.session-date{font-family:Inter,sans-serif;font-size:.875rem;color:#666;margin-bottom:.5rem}.session-notes{font-family:Inter,sans-serif;font-size:.9375rem;color:#333;line-height:1.5}.session-rating{font-size:1rem;flex-shrink:0}.appointments-list{display:flex;flex-direction:column;gap:1.5rem}.appointment-card{display:flex;gap:1.5rem;padding:1.5rem;background:#fff;border-radius:16px;border:2px solid #e5e7eb;transition:all .3s;align-items:center}.appointment-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000001a;border-color:#667eea}.appointment-card.confirmed{border-color:#10b981}.appointment-date-badge{width:70px;height:70px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.badge-day{font-family:Bricolage Grotesque,sans-serif;font-size:1.75rem;font-weight:700;line-height:1}.badge-month{font-family:Inter,sans-serif;font-size:.75rem;text-transform:uppercase}.appointment-info{flex:1}.appointment-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.125rem;font-weight:600;color:#1a1a1a;margin:0 0 .5rem}.appointment-meta{display:flex;gap:1.5rem;font-family:Inter,sans-serif;font-size:.9375rem;color:#666;margin-bottom:.5rem}.appointment-status{display:inline-block;padding:.375rem .75rem;border-radius:6px;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600}.appointment-status.confirmed{background:#d1fae5;color:#065f46}.appointment-status.pending{background:#fed7aa;color:#92400e}.appointment-actions{display:flex;gap:.75rem;flex-shrink:0}.btn-appointment{padding:.625rem 1.25rem;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-appointment:hover{background:#e5e7eb}.btn-appointment.primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-appointment.primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #10b9814d}.evaluations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.evaluation-card{background:#fff;border-radius:16px;padding:1.5rem;border:2px solid #e5e7eb;transition:all .3s}.evaluation-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001a}.evaluation-card.in_progress{border-color:#f59e0b}.evaluation-card.pending{border-color:#6366f1}.eval-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.eval-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.125rem;font-weight:600;color:#1a1a1a;margin:0;flex:1}.eval-status{padding:.375rem .75rem;border-radius:6px;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;white-space:nowrap}.eval-status.in_progress{background:#fed7aa;color:#92400e}.eval-status.pending{background:#ddd6fe;color:#5b21b6}.eval-description{font-family:Inter,sans-serif;font-size:.9375rem;color:#666;line-height:1.5;margin-bottom:1rem}.eval-due-date{font-family:Inter,sans-serif;font-size:.875rem;color:#666;margin-bottom:1rem}.eval-progress-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);transition:width .3s ease}.eval-progress-text{font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;color:#059669;margin-bottom:1rem}.btn-eval-action{width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-family:Inter,sans-serif;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-eval-action:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea4d}.progress-overview{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.metrics-list{display:flex;flex-direction:column;gap:1.5rem}.metric-item{background:#fff;padding:1.5rem;border-radius:12px}.metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.metric-name{font-family:Inter,sans-serif;font-size:1rem;font-weight:600;color:#1a1a1a}.metric-value{font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#667eea}.metric-bar-container{height:10px;background:#e5e7eb;border-radius:5px;overflow:hidden;margin-bottom:.5rem}.metric-bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .5s ease}.metric-improvement{font-family:Inter,sans-serif;font-size:.875rem}.improvement-positive{color:#059669;font-weight:600}.progress-summary{display:flex;flex-direction:column;gap:1.5rem}.summary-stat{background:#fff;padding:1.5rem;border-radius:12px;text-align:center}.summary-label{font-family:Inter,sans-serif;font-size:.875rem;color:#666;margin-bottom:.5rem}.summary-value{font-family:Bricolage Grotesque,sans-serif;font-size:2.5rem;font-weight:700;color:#1a1a1a}.summary-value.positive{color:#059669}@media (max-width: 1024px){.quick-stats-grid{grid-template-columns:repeat(2,1fr)}.content-grid,.evaluations-grid,.progress-overview{grid-template-columns:1fr}}@media (max-width: 768px){.patient-portal{padding:1rem}.portal-header{flex-direction:column;align-items:flex-start}.patient-welcome,.header-actions{width:100%}.btn-portal-action{flex:1}.quick-stats-grid{grid-template-columns:1fr}.portal-tabs{overflow-x:auto;flex-wrap:nowrap}.portal-tab{white-space:nowrap}.portal-content{padding:1.5rem}.next-appointment{flex-direction:column}.appointment-card{flex-direction:column;align-items:flex-start}.appointment-actions{width:100%}.btn-appointment{flex:1}}.settings-container{min-height:100vh;padding:2rem;background-color:var(--bg-app)}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.spinner{width:40px;height:40px;border:4px solid var(--gray-200);border-top-color:var(--text-dark);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.settings-header{margin-bottom:2rem}.settings-header h1{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--text-dark);margin:0 0 .5rem}.settings-header p{color:var(--text-light);font-size:.9375rem;margin:0}.settings-content{max-width:900px;margin:0 auto}.settings-section{margin-bottom:1.5rem}.settings-section .card{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:none}.settings-section h2{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0 0 1.5rem;display:flex;align-items:center;gap:.5rem}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.settings-grid .form-group.full-width{grid-column:1 / -1}.form-group{margin-bottom:0}.form-group label{display:block;font-weight:600;color:var(--text-dark);margin-bottom:.5rem;font-size:.875rem}.form-group input,.form-group select,.form-input,.form-select{width:100%;padding:.625rem .75rem;border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;transition:all .2s ease;font-family:var(--font-primary);color:var(--text-dark);background:var(--white)}.form-group input:focus,.form-group select:focus,.form-input:focus,.form-select:focus{outline:none;border-color:var(--text-dark);box-shadow:0 0 0 3px #1a1a1a1a}.form-group input::placeholder{color:var(--text-light)}.settings-toggles{display:flex;flex-direction:column;gap:1.5rem}.toggle-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-200)}.toggle-item:last-child{border-bottom:none;padding-bottom:0}.toggle-info{flex:1}.toggle-info h3{font-weight:600;color:var(--text-dark);font-size:.9375rem;margin:0 0 .25rem}.toggle-info p{color:var(--text-light);font-size:.8125rem;margin:0}.reminder-time-group{margin-top:1rem;padding:1rem;background:var(--bg-app);border-radius:var(--radius-sm);border:1px solid var(--gray-200)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--gray-300);transition:all .3s ease;border-radius:12px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--white);transition:all .3s ease;border-radius:50%;box-shadow:0 2px 4px #0000001a}.toggle-switch input:checked+.toggle-slider{background-color:var(--text-dark)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.settings-actions{display:flex;justify-content:center;padding-top:1rem}.save-settings-btn{min-width:200px;padding:.875rem 2rem;font-size:.9375rem;font-weight:600;border-radius:var(--radius-md);transition:all .2s ease}.save-settings-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #1a1a1a33}.save-settings-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.settings-container{padding:1rem}.settings-header h1{font-size:1.5rem}.settings-grid{grid-template-columns:1fr}.settings-section .card{padding:1rem}.toggle-item{flex-direction:column;align-items:flex-start;gap:.75rem}.toggle-switch{align-self:flex-end}}.section-description{color:var(--text-light);font-size:.875rem;margin:-.5rem 0 1.5rem}.integrations-list{display:flex;flex-direction:column;gap:1rem}.integration-card{background:var(--bg-app);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1.25rem;transition:all .2s ease}.integration-card:hover{border-color:var(--gray-300)}.integration-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.therapist-info{display:flex;align-items:center;gap:.75rem}.therapist-avatar{width:40px;height:40px;border-radius:50%;background:var(--text-dark);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.therapist-info h3{font-size:.9375rem;font-weight:600;color:var(--text-dark);margin:0}.therapist-email{font-size:.8125rem;color:var(--text-light)}.integration-status{display:flex;gap:.5rem;flex-wrap:wrap}.status-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-weight:500}.status-connected{background:var(--green-50);color:var(--green-600)}.status-disconnected{background:var(--gray-100);color:var(--text-light)}.integration-form{padding-top:1rem;border-top:1px solid var(--gray-200)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.integration-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-200)}.integration-summary{padding-top:.75rem;border-top:1px solid var(--gray-200)}.summary-row{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.875rem}.summary-label{color:var(--text-light);min-width:100px}.summary-value{color:var(--text-dark);flex:1}.edit-integration-btn{margin-top:1rem;width:100%}.btn-outline{background:transparent;border:1.5px solid var(--gray-300);color:var(--text-dark)}.btn-outline:hover{background:var(--gray-100);border-color:var(--gray-400)}.empty-state{text-align:center;padding:2rem;color:var(--text-light)}@media (max-width: 768px){.integration-header{flex-direction:column;align-items:flex-start}.integration-status{margin-top:.5rem}.form-row{grid-template-columns:1fr}}.therapist-profile-summary{display:flex;align-items:center;gap:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--gray-200)}.therapist-avatar-section{flex-shrink:0}.therapist-avatar-large{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:var(--white);box-shadow:0 4px 12px #0000001a}.therapist-info-section h3{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0 0 .5rem}.therapist-meta{display:flex;flex-direction:column;gap:.25rem}.meta-item{font-size:.875rem;color:var(--text-light)}.stats-grid .stat-card{background:var(--bg-app);padding:1rem;border-radius:var(--radius-md);border:1px solid var(--gray-200);text-align:center;transition:all .2s ease}.stats-grid .stat-card:hover{border-color:var(--gray-300);box-shadow:0 2px 8px #0000000d}.stat-icon{font-size:2rem;margin-bottom:.5rem}.stat-number{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin-bottom:.25rem}.stat-label{font-size:.75rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.layout{display:flex;height:100vh;overflow:hidden;transform:scale(var(--ui-scale));transform-origin:top left;width:calc(100% / var(--ui-scale));height:calc(100vh / var(--ui-scale))}.sidebar{width:280px;background:var(--bg-app);border-right:none;display:flex;flex-direction:column;overflow-y:hidden;transition:width .3s ease,transform .3s ease;box-shadow:var(--shadow-sm);height:calc(100vh / var(--ui-scale))}.sidebar.collapsed{width:80px}.sidebar.collapsed .nav-label{opacity:0;width:0;overflow:hidden}.sidebar.collapsed .logo{font-size:1.25rem}.sidebar-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:none;background:var(--bg-app);text-align:center;flex-shrink:0}.logo{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text-dark);margin:0}.center-name{font-size:.75rem;color:var(--text-light);margin-top:.25rem}.sidebar-nav{flex:1;padding:var(--spacing-sm) 0;overflow-y:auto;overflow-x:hidden;min-height:0}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:.625rem var(--spacing-lg);color:var(--text-light);text-decoration:none;transition:all .2s ease;border-left:3px solid transparent;margin:1px var(--spacing-sm);border-radius:var(--radius-sm);background-color:transparent}.sidebar.collapsed .nav-item{justify-content:center;padding:.625rem}.nav-item:hover{background-color:var(--bg-card);color:var(--text-dark);border-left-color:transparent;transform:translate(2px)}.nav-item.active{background-color:var(--accent-lime);color:var(--text-dark);border-left-color:transparent;font-weight:600;box-shadow:0 2px 4px #0000000d}.nav-icon{font-size:1.25rem;width:1.5rem;text-align:center;flex-shrink:0}.nav-label{font-size:.875rem;transition:opacity .3s ease,width .3s ease;white-space:nowrap}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--border-color);background:var(--bg-app);display:flex;flex-direction:column;gap:var(--spacing-sm);flex-shrink:0}.user-info{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:0}.sidebar.collapsed .user-info{justify-content:center}.sidebar.collapsed .user-avatar{margin:0}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--text-dark);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.user-details{flex:1;min-width:0;transition:opacity .3s ease}.user-name{font-weight:600;font-size:.8125rem;color:var(--text-dark);margin:0;text-transform:capitalize}.user-email{font-size:.6875rem;color:var(--text-light);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{width:100%;justify-content:center;font-size:.8125rem;padding:.5rem}.main-content{flex:1;overflow-y:auto;background-color:var(--bg-app);scrollbar-width:none;-ms-overflow-style:none}.main-content::-webkit-scrollbar{display:none}.sidebar-toggle-btn{width:100%;padding:.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:var(--text-light);font-size:1.125rem;flex-shrink:0}.sidebar-toggle-btn:hover{background:var(--accent-lime);color:var(--text-dark);border-color:var(--accent-lime)}.toggle-icon{display:inline-block;transition:transform .3s ease;width:1.25rem;text-align:center}:root{--ui-scale: .8;--bg-app: #E8E8E3;--bg-card: #F2F2F0;--white: #FFFFFF;--text-dark: #1A1A1A;--text-light: #888888;--accent-lime: #DFFF00;--primary: #1A1A1A;--primary-dark: #000000;--secondary: #DFFF00;--accent: #DFFF00;--danger: #ef4444;--warning: #f59e0b;--success: #10b981;--info: #3b82f6;--gray-50: #F9FAFB;--gray-100: #F2F2F0;--gray-200: #E8E8E3;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #888888;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #1A1A1A;--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Inter", sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 12px;--radius-md: 20px;--radius-lg: 30px;--radius-xl: 40px;--shadow-sm: 0 10px 25px rgba(0, 0, 0, .03);--shadow-md: 0 10px 30px rgba(0, 0, 0, .05);--shadow-lg: 0 15px 40px rgba(0, 0, 0, .08);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-modal-backdrop: 1040;--z-modal: 1050;--z-toast: 1060;--accent-lime-dark: #C8E600;--accent-lime-light: rgba(223, 255, 0, .1);--accent-lime-lighter: rgba(223, 255, 0, .05);--background: var(--bg-app);--success-bg: #e8f5e9;--success-text: #2e7d32;--warning-bg: #fff3e0;--warning-text: #e65100;--danger-bg: #ffebee;--danger-text: #c62828;--info-bg: var(--accent-lime-light);--info-text: var(--gray-900);--font-page-title: 28px;--font-page-title-weight: 600;--font-section-title: 20px;--font-section-title-weight: 600;--font-card-title: 16px;--font-card-title-weight: 600;--font-body: 15px;--font-body-weight: 400;--font-small: 14px;--font-small-weight: 400;--font-tiny: 12px;--font-tiny-weight: 500;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 48px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-primary);color:var(--text-dark);background-color:var(--bg-app);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--gray-900)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}button{font-family:var(--font-primary);cursor:pointer;border:none;outline:none;transition:all .2s ease}input,textarea,select{font-family:var(--font-primary);outline:none}a{color:var(--primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-dark)}.container{max-width:1280px;margin:0 auto;padding:0 var(--spacing-lg)}.btn{padding:.875rem 1.5rem;border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;font-family:var(--font-primary);transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background-color:var(--text-dark);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background-color:var(--accent-lime);color:var(--text-dark)}.btn-secondary{background-color:var(--bg-card);color:var(--text-dark);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background-color:var(--white);box-shadow:var(--shadow-md)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.card{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:none}.input{width:100%;padding:.625rem .875rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;transition:border-color .2s ease;background:var(--white)}.input:focus{border-color:var(--text-dark);box-shadow:0 0 0 3px #1a1a1a1a}.label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem;color:var(--gray-700)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.badge-success{background-color:#d1fae5;color:#065f46}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-danger{background-color:#fee2e2;color:#991b1b}.badge-info{background-color:#dbeafe;color:#1e40af}.skeleton{background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1rem;margin-bottom:.5rem}.skeleton-title{height:1.5rem;width:60%;margin-bottom:.75rem}.skeleton-avatar{width:3rem;height:3rem;border-radius:50%}.skeleton-card{height:200px;width:100%}.toast-container{position:fixed;top:20px;right:20px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:12px;max-width:400px}.toast{background:var(--white);border-radius:var(--radius-md);padding:16px 20px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:12px;min-width:300px;animation:slideInRight .3s ease;border-left:4px solid var(--primary)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--danger)}.toast.warning{border-left-color:var(--warning)}.toast.info{border-left-color:var(--info)}.toast-icon{font-size:1.5rem;flex-shrink:0}.toast-content{flex:1}.toast-title{font-weight:600;font-size:.875rem;color:var(--text-dark);margin-bottom:2px}.toast-message{font-size:.8125rem;color:var(--text-light)}.toast-close{background:none;border:none;cursor:pointer;font-size:1.25rem;color:var(--gray-500);padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition-fast)}.toast-close:hover{background:var(--gray-200);color:var(--text-dark)}.card:hover,.btn:hover{transition:var(--transition-base)}*:focus-visible{outline:2px solid var(--accent-lime);outline-offset:2px}html{scroll-behavior:smooth}.form-checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;padding:12px;background:var(--gray-50);border-radius:var(--radius-sm);border:1.5px solid var(--gray-300);transition:all .2s ease}.form-checkbox-label:hover{background:var(--white);border-color:var(--text-dark)}.form-checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--text-dark)}.form-checkbox-label span{font-size:14px;font-weight:600;color:var(--text-dark)}
