:root{--bg-dark: #050505;--text-main: #ffffff;--text-muted: rgba(255, 255, 255, .6);--glass-bg: rgba(255, 255, 255, .12);--glass-border: rgba(255, 255, 255, .25)}.landing-page{background-color:var(--bg-dark);color:var(--text-main);font-family:Inter,sans-serif;overflow-x:hidden;overflow-y:auto;width:100%;min-height:100vh}.landing-page::-webkit-scrollbar{display:none}.landing-page{-ms-overflow-style:none;scrollbar-width:none}.landing-page h1,.landing-page h2,.landing-page h3{font-family:Playfair Display,serif;font-weight:400}.landing-page a{text-decoration:none;color:#fff;transition:.3s}.landing-page a:hover{opacity:.8}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 4px 30px #0000004d;transition:transform .3s ease,border-color .3s ease}.glass-panel:hover{border-color:#ffffff26}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn-primary{background:#fff;color:#000;padding:12px 28px;border-radius:50px;font-weight:600;font-size:.9rem;border:none;cursor:pointer;transition:transform .2s,opacity .2s;display:inline-block}.btn-primary:hover{transform:scale(1.05);color:#000}.btn-outline{background:transparent;color:#fff;padding:12px 28px;border-radius:50px;font-weight:500;font-size:.9rem;border:1px solid rgba(255,255,255,.3);cursor:pointer;transition:all .2s;display:inline-block}.btn-outline:hover{background:#ffffff1a;border-color:#ffffff80;color:#fff}.section-padding{padding:120px 0}.text-center{text-align:center}.nav-bar{position:fixed;top:20px;left:50%;transform:translate(-50%);width:90%;max-width:900px;height:60px;display:flex;justify-content:space-between;align-items:center;padding:0 24px;z-index:100;border-radius:50px}.logo-diatta{font-family:Inter,sans-serif;font-size:1.3rem;font-weight:500;letter-spacing:-.02em;color:#fff}.logo sup{font-size:.5em;opacity:.7}.nav-links{display:flex;gap:30px;font-size:.9rem;color:#000000b3}.nav-buttons{display:flex;gap:12px;align-items:center}.nav-bar .btn-outline{background:#fff;color:#000;border-color:transparent}.nav-bar .btn-outline:hover{background:#fff;color:#000;transform:scale(1.05)}.btn-login{background:transparent;color:#fff;padding:10px 20px;border-radius:50px;font-weight:500;font-size:.85rem;border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:all .2s}.btn-login:hover{background:#ffffff1a;border-color:#fff6;color:#fff}.hero{position:relative;height:100vh;min-height:700px;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;background:transparent}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;mask-image:linear-gradient(to bottom,#000 60%,#0000);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 60%,rgba(0,0,0,0) 100%);z-index:0;opacity:.7;transition:transform .1s ease-out}.hero-content{max-width:800px;padding:0 20px;position:relative;z-index:1}.hero-label{letter-spacing:3px;text-transform:uppercase;font-size:.75rem;margin-bottom:24px;opacity:.8;color:#ffffffe6}.hero-content h1{font-size:clamp(3rem,7vw,5rem);margin-bottom:20px;line-height:1.1;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.4)}.hero-content h1 em{font-style:italic}.hero-subtitle{font-size:1.1rem;color:#ffffffd9;margin-bottom:40px;max-width:600px;margin-left:auto;margin-right:auto;text-shadow:0 2px 10px rgba(0,0,0,.3)}.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.hero-buttons .btn-primary{padding:14px 36px;font-size:.95rem;border-radius:50px}.hero-stats{display:flex;justify-content:center;gap:40px;margin-top:50px;flex-wrap:wrap}.hero-stat{text-align:center}.hero-stat-value{font-size:1.5rem;font-weight:600;display:block;color:#fff}.hero-stat-label{font-size:.8rem;opacity:.7;margin-top:4px;display:block;color:#fffc}.showcase{position:relative;display:flex;flex-direction:column;align-items:center}.showcase h2{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:20px;color:#fff}.showcase h2 em{font-style:italic}.showcase-subtitle{color:var(--text-muted);font-size:1rem;max-width:600px;text-align:center;margin-bottom:60px}.showcase-visual{position:relative;width:100%;max-width:400px}.phone-mockup{width:280px;height:560px;background:#111;border-radius:36px;border:3px solid #222;box-shadow:0 0 60px #000c;position:relative;z-index:2;overflow:hidden;margin:0 auto;padding:12px}.phone-screen{width:100%;height:100%;background:linear-gradient(180deg,#1a1a1a,#0d0d0d);border-radius:28px;padding:20px 16px;display:flex;flex-direction:column}.chat-header{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:16px}.chat-avatar{width:36px;height:36px;background:linear-gradient(135deg,#333,#555);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600}.chat-name{font-size:.85rem;font-weight:500}.chat-status{font-size:.7rem;opacity:.5}.chat-messages{flex:1;display:flex;flex-direction:column;gap:12px}.chat-bubble{max-width:85%;padding:10px 14px;border-radius:16px;font-size:.8rem;line-height:1.4}.chat-bubble.incoming{background:#ffffff1a;align-self:flex-start;border-bottom-left-radius:4px}.chat-bubble.outgoing{background:#fff3;align-self:flex-end;border-bottom-right-radius:4px}.chat-time{font-size:.65rem;opacity:.4;text-align:right;margin-top:8px}.float-card{position:absolute;padding:20px;width:200px;z-index:3}.card-left{top:15%;left:50%;transform:translate(-280px)}.card-right{bottom:20%;left:50%;transform:translate(80px)}.float-card-label{font-size:.75rem;opacity:.6;margin-bottom:6px}.float-card-value{font-size:1.4rem;font-weight:600}.float-card-bar{height:4px;width:100%;background:#ffffff1a;margin-top:12px;border-radius:2px;overflow:hidden}.float-card-bar-fill{height:100%;background:#ffffff80}.forget-section h2{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:16px;color:#fff}.forget-section h2 em{font-style:italic}.forget-subtitle{color:var(--text-muted);font-size:1rem;margin-bottom:60px}.forget-visual{width:100%;max-width:900px;height:400px;background:linear-gradient(180deg,#ffffff05,#ffffff0d);border-radius:24px;border:1px solid var(--glass-border);margin:0 auto 40px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem}.forget-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:900px;margin:0 auto}.forget-card{padding:28px}.forget-card h3{font-family:Inter,sans-serif;font-size:1rem;font-weight:500;margin-bottom:8px}.forget-card p{font-size:.85rem;color:var(--text-muted);line-height:1.5}.team-section{position:relative;overflow:hidden}.team-section h2{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:16px;color:#fff}.team-section h2 em{font-style:italic}.team-subtitle{color:var(--text-muted);font-size:1rem;margin-bottom:60px}.agents-slider-wrapper{width:100%;overflow:hidden;padding:40px 0;position:relative}.agents-slider{display:flex;gap:16px;padding:20px 40px;overflow-x:scroll;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:auto}.agents-slider::-webkit-scrollbar{display:none}.agent-card{--card-size: 140px;width:var(--card-size);height:var(--card-size);border-radius:28px;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;flex-shrink:0;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.agent-card-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.agent-card-icon img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.agent-card-icon svg{width:48px;height:48px;stroke:#fffc}.agent-card-name{font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;color:#ffffffe6;text-align:center;transition:all .3s ease}.agent-card-content{opacity:0;max-height:0;overflow:hidden;transition:all .4s cubic-bezier(.175,.885,.32,1.275);text-align:center;padding:0 12px;margin-top:0}.agent-card-content p{font-size:.78rem;color:#ffffffb3;line-height:1.4;margin:0}.agent-card:hover,.agent-card:focus,.agent-card.active{width:260px;height:200px;background:#ffffff1a;border-color:#fff3;z-index:10}.agent-card:hover .agent-card-icon,.agent-card:focus .agent-card-icon,.agent-card.active .agent-card-icon{width:44px;height:44px;margin-bottom:8px}.agent-card:hover .agent-card-icon svg,.agent-card:focus .agent-card-icon svg,.agent-card.active .agent-card-icon svg{width:36px;height:36px}.agent-card:hover .agent-card-name,.agent-card:focus .agent-card-name,.agent-card.active .agent-card-name{margin-bottom:8px}.agent-card:hover .agent-card-content,.agent-card:focus .agent-card-content,.agent-card.active .agent-card-content{opacity:1;max-height:100px;margin-top:4px}.team-icon,.team-grid,.team-card{display:none}.pricing-section h2{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:16px;color:#fff}.pricing-section h2 em{font-style:italic}.pricing-subtitle{color:var(--text-muted);font-size:1rem;margin-bottom:40px}.billing-toggle{display:inline-flex;background:#ffffff0d;border-radius:50px;padding:6px;margin-bottom:50px;border:1px solid rgba(255,255,255,.1)}.toggle-btn{padding:12px 28px;border:none;border-radius:50px;background:transparent;color:#fff9;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;position:relative;display:flex;align-items:center;gap:8px}.toggle-btn.active{background:#fff;color:#050505}.discount-badge{background:#10b981;color:#fff;padding:2px 8px;border-radius:20px;font-size:.7rem;font-weight:600}.pricing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1000px;margin:0 auto}.pricing-card{padding:32px 28px;text-align:center;position:relative;transition:transform .3s ease,border-color .3s ease}.pricing-card:hover{transform:translateY(-8px);border-color:#ffffff4d}.pricing-card.featured{border-color:#8b5cf680;background:#8b5cf61a}.pricing-card.founder{border-color:#f59e0b80;background:#f59e0b14}.popular-badge,.founder-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:6px 16px;border-radius:20px;font-size:.75rem;font-weight:600}.popular-badge{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.founder-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.pricing-icon{font-size:2.5rem;margin-bottom:16px}.pricing-card h3{font-family:Inter,sans-serif;font-size:1.4rem;font-weight:600;margin-bottom:8px}.pricing-desc{color:var(--text-muted);font-size:.85rem;margin-bottom:24px}.pricing-price{display:flex;align-items:baseline;justify-content:center;gap:4px;margin-bottom:8px}.pricing-price .currency{font-size:1.2rem;font-weight:500;opacity:.8}.pricing-price .amount{font-size:3rem;font-weight:700;line-height:1}.pricing-price .period{font-size:.9rem;opacity:.6}.pricing-billed{font-size:.8rem;color:var(--text-muted);margin-bottom:24px}.pricing-features{list-style:none;padding:0;margin:0 0 28px;text-align:left}.pricing-features li{padding:10px 0;font-size:.9rem;color:#fffc;border-bottom:1px solid rgba(255,255,255,.05)}.pricing-features li:last-child{border-bottom:none}.pricing-features li.highlight{color:#f59e0b;font-weight:500}.pricing-cta{width:100%;padding:14px 24px;text-align:center;font-size:.95rem}.spots-left{margin-top:16px;font-size:.8rem;color:#f59e0b;font-weight:500}.cases-section h2{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:16px;color:#fff}.cases-section h2 em{font-style:italic}.cases-subtitle{color:var(--text-muted);font-size:1rem;margin-bottom:60px}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;max-width:1000px;margin:0 auto}.testimonial-card{padding:28px;text-align:left}.testimonial-quote{font-size:1rem;line-height:1.6;color:#ffffffe6;margin-bottom:24px;font-style:italic}.testimonial-quote:before{content:'"';font-size:2rem;color:#ffffff4d;font-family:Playfair Display,serif}.testimonial-author{display:flex;align-items:center;gap:14px;margin-bottom:20px}.testimonial-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#8b5cf64d,#6366f14d);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.testimonial-name{font-weight:600;font-size:.95rem;margin-bottom:2px}.testimonial-role{font-size:.8rem;color:var(--text-muted)}.testimonial-stats{display:flex;gap:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.testimonial-stats .stat{font-size:.8rem;color:var(--text-muted)}.testimonial-stats .stat span{color:#10b981;font-weight:600;margin-right:4px}.footer-cta{position:relative;min-height:80vh;display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:80px}.footer-bg{position:absolute;bottom:0;left:0;width:100%;height:100%;mask-image:linear-gradient(to top,#000c 20%,#0000 80%);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.8) 20%,rgba(0,0,0,0) 80%);z-index:-1;opacity:.5}.footer-content{z-index:10;padding:40px 20px 100px}.footer-content h2{font-size:clamp(2.5rem,6vw,4rem);margin-bottom:20px;color:#fff}.footer-subtitle{font-size:1.1rem;opacity:.8;margin-bottom:40px}.footer-links{margin-top:60px;display:flex;gap:30px;font-size:.85rem;opacity:.5;justify-content:center}.fade-in{opacity:0;transform:translateY(40px);transition:opacity 1s ease-out,transform 1s ease-out}.visible{opacity:1;transform:translateY(0)}@media (max-width: 768px){.hero-content h1{font-size:2.5rem}.hero-stats{gap:20px}.card-left,.card-right{position:relative;transform:none;top:auto;left:auto;margin:10px auto;width:90%}.nav-links{display:none}.hero-buttons{flex-direction:column;align-items:center}.nav-buttons{gap:8px}.btn-login,.nav-bar .btn-primary{padding:8px 14px;font-size:.8rem}.agents-slider{justify-content:flex-start;padding:20px}.agent-card{--card-size: 110px}.agent-card-icon{width:44px;height:44px;margin-bottom:8px}.agent-card-icon svg{width:36px;height:36px}.agent-card-name{font-size:.75rem}.agent-card:hover{width:var(--card-size);height:var(--card-size);background:#ffffff0f}.agent-card:hover .agent-card-icon{width:44px;height:44px;margin-bottom:8px}.agent-card:hover .agent-card-content{opacity:0;max-height:0}.agent-card:active,.agent-card:focus{width:220px;height:180px;background:#ffffff1a}.agent-card:active .agent-card-icon,.agent-card:focus .agent-card-icon{width:36px;height:36px;margin-bottom:6px}.agent-card:active .agent-card-content,.agent-card:focus .agent-card-content{opacity:1;max-height:100px}.agent-card-content p{font-size:.72rem}.billing-toggle{flex-direction:column;width:100%;max-width:280px}.toggle-btn{width:100%;justify-content:center}.pricing-cards{grid-template-columns:1fr;gap:20px}.pricing-card.featured{order:-1}.pricing-price .amount{font-size:2.5rem}.testimonials-grid{grid-template-columns:1fr}.testimonial-stats{flex-direction:column;gap:8px}}.login-page{height:100vh;width:100vw;overflow:hidden;font-family:Inter,sans-serif;background-color:#050505;display:flex;justify-content:center;align-items:center;position:relative}.login-page .bg-image{position:absolute;top:0;left:0;width:100%;height:100%;filter:brightness(.6) contrast(1.1);z-index:0;transition:transform .2s ease-out,filter .5s ease}.login-page .ui-container{perspective:1000px;z-index:1;position:relative;width:90%;max-width:500px}.login-page .conversation-bar{position:relative;width:100%;min-height:64px;max-height:80vh;background:#141414b3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:32px;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;padding:24px;box-shadow:0 15px 35px #00000080,0 0 0 1px #0003;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.login-page .conversation-bar:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60%;height:100%;background:radial-gradient(circle at center,rgba(255,100,0,.15) 0%,transparent 70%);pointer-events:none;opacity:.8}.login-page .brand-header{display:flex;align-items:flex-start;justify-content:center;margin-bottom:20px}.login-page .brand{font-family:Inter,sans-serif;font-weight:500;font-size:1.3rem;color:#fff;letter-spacing:-.02em;text-shadow:0 2px 4px rgba(0,0,0,.5);cursor:default}.login-page .brand sup{font-size:.5em;margin-left:2px;opacity:.7}.login-page .messages-container{flex:1;overflow-y:auto;overflow-x:hidden;margin-bottom:20px;padding-right:8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.login-page .messages-container::-webkit-scrollbar{width:4px}.login-page .messages-container::-webkit-scrollbar-track{background:transparent}.login-page .messages-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.login-page .message{margin-bottom:16px;opacity:0;animation:loginFadeInUp .5s ease forwards}@keyframes loginFadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-page .message-content{color:#fffffff2;font-size:.95rem;line-height:1.6;font-weight:300}.login-page .message-content strong{font-weight:500;color:#fff}.login-page .typing-indicator{display:inline-flex;align-items:center;gap:4px;padding:8px 0}.login-page .typing-dot{width:6px;height:6px;background:#fff9;border-radius:50%;animation:loginTypingPulse 1.4s infinite}.login-page .typing-dot:nth-child(2){animation-delay:.2s}.login-page .typing-dot:nth-child(3){animation-delay:.4s}@keyframes loginTypingPulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.login-page .options-container{display:flex;flex-direction:column;gap:10px;margin-top:12px}.login-page .option-btn{padding:14px 20px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:16px;color:#fff;font-family:Inter,sans-serif;font-size:.9rem;font-weight:400;cursor:pointer;transition:all .3s ease;text-align:left;display:flex;align-items:center;gap:12px}.login-page .option-btn:hover{background:#ffffff26;border-color:#ff643266;transform:translate(4px)}.login-page .option-btn .icon{font-size:1.1rem;opacity:.8}.login-page .input-group{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff0d;border-radius:20px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.login-page .input-group:focus-within{background:#ffffff14;border-color:#ff643266;box-shadow:0 0 20px #ff64001a}.login-page .input-field{flex:1;background:transparent;border:none;outline:none;color:#fffffff2;font-size:.95rem;font-family:Inter,sans-serif;font-weight:300;caret-color:#ff7b00}.login-page .input-field::-moz-placeholder{color:#ffffff4d}.login-page .input-field::placeholder{color:#ffffff4d}.login-page .send-btn{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.6;transition:all .3s ease;color:#fff;padding:4px}.login-page .send-btn:hover{opacity:1;transform:scale(1.1) rotate(45deg)}.login-page .back-link{position:absolute;top:30px;left:50%;transform:translate(-50%);color:#ffffff80;font-size:.85rem;text-decoration:none;transition:color .3s}.login-page .back-link:hover{color:#fffc}.login-page .footer-badge{position:absolute;bottom:80px;display:flex;align-items:center;gap:15px;opacity:.8;animation:loginFadeInBadge 2s ease-in-out}@keyframes loginFadeInBadge{0%{opacity:0;transform:translateY(20px)}to{opacity:.8;transform:translateY(0)}}.login-page .laurel{width:24px;height:auto;fill:#fff}.login-page .badge-content{text-align:center;color:#fff;line-height:1}.login-page .badge-number{display:block;font-family:Cinzel,serif;font-size:.9rem;margin-bottom:4px;letter-spacing:.1em}.login-page .badge-desc{display:block;font-family:Inter,sans-serif;font-size:.55rem;font-weight:400;letter-spacing:.2em;opacity:.7}.login-page .success-msg{text-align:center;padding:20px 0}.login-page .success-icon{font-size:2.5rem;margin-bottom:16px}@keyframes loginShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-page .shake{animation:loginShake .3s ease}.onboarding-page-new{height:100vh;width:100vw;overflow:hidden;font-family:Inter,sans-serif;background-color:#050505;display:flex;justify-content:center;align-items:center;position:relative}.onboarding-page-new .bg-image{position:absolute;top:0;left:0;width:100%;height:100%;filter:brightness(.6) contrast(1.1);z-index:0;transition:transform .2s ease-out,filter .5s ease}.onboarding-page-new .bg-image.active{filter:brightness(.7) contrast(1.2)}.onboarding-page-new .ui-container{perspective:1000px;z-index:1;position:relative;width:90%;max-width:600px}.onboarding-page-new .conversation-bar{position:relative;width:100%;min-height:64px;max-height:75vh;background:#141414b3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:32px;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;padding:24px;box-shadow:0 15px 35px #00000080,0 0 0 1px #0003;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.onboarding-page-new .conversation-bar:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60%;height:100%;background:radial-gradient(circle at center,rgba(255,100,0,.15) 0%,transparent 70%);pointer-events:none;opacity:.8}.onboarding-page-new .progress-bar{position:absolute;top:0;left:0;height:3px;background:linear-gradient(90deg,#ff6b35,#ff8c42);width:0%;transition:width .5s ease;border-radius:2px 0 0}.onboarding-page-new .brand-header{display:flex;align-items:flex-start;justify-content:center;margin-bottom:20px}.onboarding-page-new .brand{font-family:Inter,sans-serif;font-weight:500;font-size:1.3rem;color:#fff;letter-spacing:-.02em;text-shadow:0 2px 4px rgba(0,0,0,.5);cursor:default}.onboarding-page-new .brand sup{font-size:.5em;margin-left:2px;opacity:.7}.onboarding-page-new .messages-container{flex:1;overflow-y:auto;overflow-x:hidden;margin-bottom:20px;padding-right:8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.onboarding-page-new .messages-container::-webkit-scrollbar{width:4px}.onboarding-page-new .messages-container::-webkit-scrollbar-track{background:transparent}.onboarding-page-new .messages-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.onboarding-page-new .message{margin-bottom:16px;opacity:0;animation:onbFadeInUp .5s ease forwards}@keyframes onbFadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.onboarding-page-new .message-content{color:#fffffff2;font-size:.95rem;line-height:1.6;font-weight:300}.onboarding-page-new .message-content strong{font-weight:500;color:#fff}.onboarding-page-new .typing-indicator{display:inline-flex;align-items:center;gap:4px;padding:8px 0}.onboarding-page-new .typing-dot{width:6px;height:6px;background:#fff9;border-radius:50%;animation:onbTypingPulse 1.4s infinite}.onboarding-page-new .typing-dot:nth-child(2){animation-delay:.2s}.onboarding-page-new .typing-dot:nth-child(3){animation-delay:.4s}@keyframes onbTypingPulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.onboarding-page-new .options-container{display:flex;flex-direction:column;gap:10px;margin-top:12px}.onboarding-page-new .option-btn{padding:14px 20px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:16px;color:#fff;font-family:Inter,sans-serif;font-size:.9rem;font-weight:400;cursor:pointer;transition:all .3s ease;text-align:left;display:flex;align-items:center;gap:12px}.onboarding-page-new .option-btn:hover{background:#ffffff26;border-color:#ff643266;transform:translate(4px)}.onboarding-page-new .option-btn .icon{font-size:1.1rem;opacity:.8}.onboarding-page-new .schedule-editor-container{margin-top:8px}.onboarding-page-new .schedule-editor{margin-bottom:8px}.onboarding-page-new .day-row{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05)}.onboarding-page-new .day-row:last-of-type{border-bottom:none}.onboarding-page-new .day-row input[type=checkbox]{width:14px;height:14px;accent-color:#ff6432;flex-shrink:0}.onboarding-page-new .day-row .day-name{color:#fff;font-size:.7rem;font-weight:500;width:24px;flex-shrink:0}.onboarding-page-new .day-row .time-inputs{display:flex;align-items:center;gap:3px;flex:1;flex-wrap:wrap}.onboarding-page-new .day-row .time-block{display:inline-flex;align-items:center;gap:3px}.onboarding-page-new .day-row select{padding:3px 4px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff;font-size:.65rem;cursor:pointer}.onboarding-page-new .day-row select option{background:#1a1a1a}.onboarding-page-new .day-row .time-sep{color:#fff6;font-size:.6rem}.onboarding-page-new .day-row .add-btn{padding:2px 5px;background:#ff643233;border:none;border-radius:3px;color:#ffffffb3;font-size:.6rem;cursor:pointer}.onboarding-page-new .day-row .remove-btn{padding:1px 4px;background:none;border:none;color:#ff646499;font-size:.6rem;cursor:pointer}.onboarding-page-new .schedule-note{margin-top:8px;padding:6px 8px;background:#ffc86414;border-left:2px solid rgba(255,200,100,.4);border-radius:0 4px 4px 0;color:#fff9;font-size:.65rem;line-height:1.3}.onboarding-page-new .specialty-selector-container{margin-top:8px}.onboarding-page-new .specialty-select{width:100%;padding:14px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:16px;color:#fff;font-family:Inter,sans-serif;font-size:.9rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.onboarding-page-new .specialty-select option{background:#1a1a1a;color:#fff}.onboarding-page-new .input-group{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff0d;border-radius:20px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.onboarding-page-new .input-group:focus-within{background:#ffffff14;border-color:#ff643266;box-shadow:0 0 20px #ff64001a}.onboarding-page-new .input-field{flex:1;background:transparent;border:none;outline:none;color:#fffffff2;font-size:.95rem;font-family:Inter,sans-serif;font-weight:300;caret-color:#ff7b00}.onboarding-page-new .input-field::-moz-placeholder{color:#ffffff4d}.onboarding-page-new .input-field::placeholder{color:#ffffff4d}.onboarding-page-new .send-btn{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.6;transition:all .3s ease;color:#fff;padding:4px}.onboarding-page-new .send-btn:hover{opacity:1;transform:scale(1.1) rotate(45deg)}.onboarding-page-new .continue-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#ff6b35,#ff8c42);border:none;border-radius:16px;color:#fff;font-family:Inter,sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;margin-top:16px}.onboarding-page-new .continue-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3566}.onboarding-page-new .continue-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.onboarding-page-new .loading-container{color:#fffffff2;font-size:.95rem;line-height:1.6}.onboarding-page-new .loading-item{display:flex;align-items:center;gap:8px;padding:8px 0;color:#ffffffb3;font-size:.9rem}.onboarding-page-new .loading-item .checkmark{color:#4ade80;opacity:0;transition:opacity .3s}.onboarding-page-new .loading-item .checkmark.visible{opacity:1}.onboarding-page-new .success-content{text-align:center;padding:20px 0;color:#fffffff2;font-size:.95rem;line-height:1.6}.onboarding-page-new .success-icon{font-size:3rem;margin-bottom:16px;animation:onbScaleIn .5s cubic-bezier(.34,1.56,.64,1)}@keyframes onbScaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.onboarding-page-new .cta-button{margin-top:24px;padding:14px 32px;background:linear-gradient(135deg,#ff6b35,#ff8c42);border:none;border-radius:12px;color:#fff;font-family:Inter,sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #ff6b354d;display:block;width:100%}.onboarding-page-new .cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3566}.onboarding-page-new .invite-btn{margin-top:12px;padding:12px 24px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-family:Inter,sans-serif;font-size:.85rem;font-weight:400;cursor:pointer;transition:all .3s ease;display:block;width:100%}.onboarding-page-new .invite-btn:hover{background:#ffffff26;border-color:#ffffff4d}.onboarding-page-new .footer-badge{position:absolute;bottom:40px;display:flex;align-items:center;gap:15px;opacity:.8;animation:onbFadeInBadge 2s ease-in-out}@keyframes onbFadeInBadge{0%{opacity:0;transform:translateY(20px)}to{opacity:.8;transform:translateY(0)}}.onboarding-page-new .laurel{width:24px;height:auto;fill:#fff}.onboarding-page-new .badge-content{text-align:center;color:#fff;line-height:1}.onboarding-page-new .badge-number{display:block;font-family:Cinzel,serif;font-size:.9rem;margin-bottom:4px;letter-spacing:.1em}.onboarding-page-new .badge-desc{display:block;font-family:Inter,sans-serif;font-size:.55rem;font-weight:400;letter-spacing:.2em;opacity:.7}@keyframes onbShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.onboarding-page-new .shake{animation:onbShake .3s ease}.time-slot-selector{width:100%;margin-top:8px}.slot-message{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:8px;font-size:14px}.slot-message.info{background:#f3f4f6;color:#6b7280;border:1px dashed #D1D5DB}.slot-message.loading{background:#f9fafb;color:#6b7280}.slot-message.blocked{background:#fef2f2;color:#dc2626;border:1px solid #FECACA}.slot-message.warning{background:#fffbeb;color:#b45309;border:1px solid #FDE68A}.slot-message.full{background:#fef2f2;color:#b91c1c;border:1px solid #FECACA;margin-bottom:12px}.slot-icon{font-size:18px;flex-shrink:0}.slot-spinner{width:18px;height:18px;border:2px solid #E5E7EB;border-top-color:#8b7355;border-radius:50%;animation:slot-spin .8s linear infinite}@keyframes slot-spin{to{transform:rotate(360deg)}}.slot-legend{display:flex;gap:16px;margin-bottom:12px;font-size:12px;color:#6b7280}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-item.available .legend-dot{background:#10b981}.legend-item.occupied .legend-dot{background:#ef4444}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.slot-grid.occupied-only{opacity:.6}.time-slot{padding:10px 8px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:2px solid transparent;text-align:center}.time-slot.available{background:#ecfdf5;color:#059669;border-color:#a7f3d0}.time-slot.available:hover{background:#d1fae5;border-color:#10b981;transform:translateY(-1px)}.time-slot.available:active{transform:translateY(0)}.time-slot.available.selected{background:#10b981;color:#fff;border-color:#059669;box-shadow:0 2px 8px #10b98159}.time-slot.occupied{background:#fef2f2;color:#b91c1c;border-color:#fecaca;cursor:not-allowed;opacity:.7;text-decoration:line-through}.time-slot.occupied:hover{background:#fee2e2}.selected-time-display{margin-top:12px;padding:10px 14px;background:#ecfdf5;border:1px solid #A7F3D0;border-radius:8px;font-size:14px;color:#047857;display:flex;align-items:center;gap:6px}.selected-time-display strong{color:#059669;font-weight:600}@media (max-width: 480px){.slot-grid{grid-template-columns:repeat(3,1fr);gap:6px}.time-slot{padding:8px 6px;font-size:13px}.slot-legend{flex-wrap:wrap;gap:10px}}@media (prefers-color-scheme: dark){.time-slot.available{background:#10b9811a;border-color:#10b9814d}.time-slot.occupied{background:#ef44441a;border-color:#ef44444d}}.dashboard-container{max-width:1400px;margin:0 auto}.page-header .page-title h1{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:32px;color:var(--gray-900);margin:0}.page-header .header-actions{display:flex;align-items:center;gap:.75rem}.quick-action-header-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem}.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}.welcome-text h2{font-family:Inter,sans-serif;font-weight:600;font-size:28px;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}.quick-action-icon-svg{width:20px;height:20px;color:var(--text-light);transition:color .2s ease,transform .2s ease}.quick-action-btn:hover .quick-action-icon-svg{color:var(--text-dark);transform:scale(1.1)}.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-icon-svg{width:24px;height:24px;color:var(--text-light);flex-shrink:0;transition:color .2s ease}.appointments-alert .alert-icon-svg{color:#f59e0b}.payments-alert .alert-icon-svg{color:#10b981}.packages-alert .alert-icon-svg{color:#ef4444}.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%}}.bulk-upload-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.bulk-upload-modal{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:24px;width:95%;max-width:1200px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #0006}.bulk-upload-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff0d}.bulk-upload-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#fff}.close-btn{width:40px;height:40px;border-radius:12px;border:none;background:#ffffff1a;color:#fff;font-size:24px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#ff63634d;transform:scale(1.05)}.bulk-upload-content{padding:32px;display:flex;flex-direction:column;gap:24px}.template-section{text-align:center}.template-section p{color:#ffffffb3;margin-bottom:16px}.template-btn{padding:12px 24px;border-radius:12px;border:1px solid rgba(99,102,241,.5);background:#6366f133;color:#a5b4fc;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.template-btn:hover{background:#6366f14d;border-color:#6366f1b3;transform:translateY(-2px)}.drop-zone{border:2px dashed rgba(255,255,255,.3);border-radius:16px;padding:48px 32px;text-align:center;cursor:pointer;transition:all .3s;background:#ffffff08}.drop-zone:hover,.drop-zone.dragover{border-color:#6366f1b3;background:#6366f11a}.drop-icon{width:48px;height:48px;margin:0 auto 16px;color:#fff9}.drop-zone p{color:#fff;font-size:1.1rem;margin:0}.drop-hint{color:#ffffff80!important;font-size:.9rem!important;margin-top:8px!important}.format-info{background:#ffffff0d;border-radius:12px;padding:20px;border:1px solid rgba(255,255,255,.1)}.format-info h4{margin:0 0 12px;color:#fff;font-size:1rem}.format-info ul{margin:0;padding-left:24px;color:#ffffffb3}.format-info li{margin:6px 0;font-size:.9rem}.bulk-upload-preview{display:flex;flex-direction:column;height:calc(90vh - 100px);overflow:hidden}.preview-header{padding:16px 24px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.preview-stats{display:flex;gap:16px}.preview-stats .stat{padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:500}.stat.valid{background:#22c55e33;color:#4ade80}.stat.duplicate{background:#f59e0b33;color:#fbbf24}.stat.error{background:#ef444433;color:#f87171}.drag-hint{color:#ffffff80;font-size:.85rem}.icon-xs{width:16px;height:16px;display:inline-block;vertical-align:middle;margin-right:4px}.icon-sm{width:20px;height:20px;display:inline-block;vertical-align:middle;margin-right:6px}.icon-lg{width:64px;height:64px}.inline-icon{display:inline-block;vertical-align:middle;width:14px;height:14px}.header-icon{width:24px;height:24px;display:inline-block;vertical-align:middle;margin-right:8px}.close-btn .icon-sm{margin:0}.error-icon{width:16px;height:16px;color:#f87171;flex-shrink:0}.auto-icon{color:#60a5fa}.manual-icon{color:#a78bfa}.create-icon{color:#4ade80}.skip-icon{color:#9ca3af}.success-icon{color:#4ade80}.no-errors-message{text-align:center;padding:48px 24px;color:#fff}.no-errors-message .icon-lg{margin-bottom:16px}.no-errors-message h3{margin:0 0 8px;font-size:1.3rem}.no-errors-message p{margin:0;color:#ffffffb3}.error-only-table{margin:0 24px}.error-only-table .editable-cell.can-edit{cursor:pointer}.error-only-table .editable-cell.can-edit:hover{background:#ef444426}.error-only-table .editable-cell:not(.can-edit){cursor:default;background:transparent}.csv-details svg{width:14px;height:14px;margin-right:4px;vertical-align:middle}.preview-table-container{flex:1;overflow:auto;padding:16px 24px}.preview-table{width:100%;border-collapse:collapse;font-size:.85rem}.preview-table th,.preview-table td{padding:12px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap}.preview-table th{background:#ffffff14;color:#fffc;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:10}.preview-table td{color:#fff}.preview-row{transition:all .2s;cursor:grab}.preview-row:hover{background:#ffffff0d}.preview-row.drag-over{background:#6366f133!important;box-shadow:inset 0 0 0 2px #6366f180}.preview-row.valid{background:#22c55e0d}.preview-row.duplicate{background:#f59e0b1a}.preview-row.error{background:#ef44441a}.preview-row.error.has-errors{background:#ef444426}.preview-row.merged{background:#6366f11a}.editable-table{border-collapse:separate;border-spacing:0}.editable-table th{position:sticky;top:0;background:#ffffff14;z-index:10;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffffb3;padding:12px 8px;border-bottom:2px solid rgba(255,255,255,.15);white-space:nowrap}.required-indicator{color:#f87171;margin-left:2px}.editable-cell{position:relative;padding:4px!important;cursor:pointer;transition:background-color .15s ease;min-width:60px}.editable-cell:hover{background:#ffffff14}.editable-cell.cell-error{background:#ef444433!important;border:1px solid rgba(239,68,68,.4)}.editable-cell.cell-error:hover{background:#ef444440!important}.cell-content{display:flex;align-items:center;justify-content:space-between;padding:8px;min-height:2rem}.cell-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.empty-value{color:#fff6;font-size:.75rem;font-style:italic}.error-indicator{color:#f87171;font-size:.875rem;margin-left:4px;cursor:help;flex-shrink:0}.cell-editor{position:relative;width:100%}.cell-editor input,.cell-editor select{width:100%;padding:8px 10px;border:2px solid #6366f1;border-radius:6px;font-size:.85rem;background:#00000080;color:#fff;outline:none;box-sizing:border-box}.cell-editor input:focus,.cell-editor select:focus{box-shadow:0 0 0 3px #6366f140}.cell-editor input[type=date]{min-height:2.25rem}.cell-editor select option{background:#1f2937;color:#fff}.edit-hint{position:absolute;bottom:-18px;left:0;right:0;font-size:.6rem;color:#ffffff80;text-align:center;background:#000000b3;padding:2px 4px;border-radius:4px;white-space:nowrap;z-index:20}.error-summary{margin:16px 24px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px}.error-summary h4{margin:0 0 8px;color:#f87171;font-size:.9rem}.error-summary p{margin:0 0 8px;font-size:.8rem;color:#ffffffb3}.error-count{font-weight:600;color:#f87171;font-size:.85rem}.row-status{width:60px;text-align:center!important}.row-actions{width:80px;text-align:center!important}.cell-error{background:#ef444433;border-radius:4px}.reference-select{width:100%;padding:6px 10px;border-radius:6px;border:1px solid rgba(99,102,241,.5);background:#0000004d;color:#fff;font-size:.8rem;cursor:pointer}.reference-select option{background:#1f2937;color:#fff}.action-btn{width:32px;height:32px;border-radius:8px;border:none;cursor:pointer;transition:all .2s;font-size:14px}.action-btn.delete{background:#ef444433}.action-btn.delete:hover{background:#ef444466;transform:scale(1.1)}.error-log{margin:0 24px;padding:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;max-height:150px;overflow-y:auto}.error-log h4{margin:0 0 12px;color:#f87171;font-size:.95rem}.error-log ul{margin:0;padding-left:20px;color:#ffffffb3;font-size:.85rem}.error-log li{margin:4px 0}.preview-actions{padding:20px 24px;border-top:1px solid rgba(255,255,255,.1);background:#ffffff0d;display:flex;justify-content:space-between;gap:16px}.btn-secondary,.btn-primary{padding:12px 24px;border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-secondary{background:#ffffff1a;color:#fff}.btn-secondary:hover{background:#ffffff26}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #6366f14d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.bulk-upload-processing{padding:64px;text-align:center}.processing-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.1);border-top-color:#6366f1;border-radius:50%;margin:0 auto 24px;animation:spin 1s linear infinite}.bulk-upload-processing p{color:#fff;font-size:1.1rem}.merge-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1100;border-radius:24px}.merge-modal{background:linear-gradient(135deg,#1e293bf2,#0f172af2);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:24px;width:90%;max-width:800px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.merge-modal h3{margin:0 0 8px;color:#fff;font-size:1.3rem}.merge-modal>p{color:#fff9;margin:0 0 20px;font-size:.9rem}.merge-table-container{flex:1;overflow:auto;margin-bottom:20px}.merge-table{width:100%;border-collapse:collapse;font-size:.85rem}.merge-table th,.merge-table td{padding:12px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}.merge-table th{background:#ffffff14;color:#fffc;font-weight:600;font-size:.75rem;text-transform:uppercase}.merge-table .field-name{color:#fff9;font-weight:500}.source-val,.target-val{cursor:pointer;padding:10px 14px;border-radius:8px;transition:all .2s;color:#fff}.source-val:hover,.target-val:hover{background:#ffffff1a}.source-val.selected{background:#6366f14d;box-shadow:inset 0 0 0 2px #6366f199}.target-val.selected{background:#22c55e4d;box-shadow:inset 0 0 0 2px #22c55e99}.empty{color:#ffffff4d;font-style:italic}.use-col{width:100px}.use-col select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#0000004d;color:#fff;font-size:.8rem;cursor:pointer}.use-col select option{background:#1f2937}.merge-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.bulk-upload-matching{padding:24px 32px;display:flex;flex-direction:column;gap:20px;max-height:calc(90vh - 100px);overflow:hidden}.matching-header{text-align:center}.matching-header h3{margin:0 0 8px;font-size:1.3rem;color:#fff}.matching-subtitle{color:#ffffffb3;margin:0 0 16px;font-size:.95rem}.matching-stats{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.matching-stats .stat{padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.matching-stats .stat.auto{background:#3b82f633;color:#60a5fa}.matching-stats .stat.manual{background:#8b5cf633;color:#a78bfa}.matching-stats .stat.create{background:#22c55e33;color:#4ade80}.matching-stats .stat.skip{background:#9ca3af33;color:#9ca3af}.matching-stats .stat.error{background:#ef444433;color:#f87171}.matching-table-container{flex:1;overflow-y:auto;background:#0003;border-radius:16px;padding:16px}.matching-table{width:100%;border-collapse:collapse}.matching-table th{text-align:left;padding:12px;color:#ffffffb3;font-weight:500;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.1)}.matching-table td{padding:12px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:top}.matching-row{transition:background .2s}.matching-row:hover{background:#ffffff0d}.matching-row.auto_matched{background:#3b82f61a}.matching-row.manual_matched{background:#8b5cf61a}.matching-row.to_create,.matching-row.no_match{background:#22c55e0d}.matching-row.to_skip{background:#9ca3af1a;opacity:.6}.matching-row.error{background:#ef44441a}.csv-data .csv-name{font-weight:500;color:#fff;margin-bottom:4px}.csv-data .csv-details{display:flex;gap:12px;flex-wrap:wrap;font-size:.8rem;color:#fff9}.match-info .matched-record{display:flex;flex-direction:column;gap:4px}.match-info .match-name{font-weight:500;color:#fff}.match-info .match-details{display:flex;gap:8px;font-size:.8rem;color:#fff9}.match-info .match-field{font-size:.75rem;color:#ffffff80;font-style:italic}.match-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500;margin-top:4px;width:-moz-fit-content;width:fit-content}.match-badge.auto{background:#3b82f64d;color:#60a5fa}.match-badge.manual{background:#8b5cf64d;color:#a78bfa}.no-match-badge{color:#4ade80;font-size:.85rem}.skip-badge{color:#9ca3af;font-size:.85rem;font-style:italic}.error-text{color:#f87171;font-size:.85rem}.matching-row .row-actions{display:flex;gap:8px}.action-btn{width:32px;height:32px;border-radius:8px;border:none;background:#ffffff1a;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn:hover{background:#fff3;transform:scale(1.05)}.search-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000}.search-modal{background:linear-gradient(135deg,#1e1e28f2,#14141ef2);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:24px;width:90%;max-width:500px;max-height:70vh;display:flex;flex-direction:column;gap:16px}.search-modal h4{margin:0;color:#fff;font-size:1.1rem}.search-input{padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:1rem;outline:none}.search-input:focus{border-color:#6366f180}.search-input::-moz-placeholder{color:#fff6}.search-input::placeholder{color:#fff6}.search-results{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;max-height:300px}.no-results{color:#ffffff80;text-align:center;padding:20px;font-size:.9rem}.search-result-item{padding:12px;background:#ffffff0d;border-radius:10px;cursor:pointer;transition:all .2s}.search-result-item:hover{background:#6366f133}.search-result-item .result-name{font-weight:500;color:#fff;margin-bottom:4px}.search-result-item .result-details{display:flex;gap:12px;font-size:.8rem;color:#fff9}.matching-actions{display:flex;justify-content:space-between;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.matching-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.bulk-upload-modal{width:100%;height:100%;max-height:100vh;border-radius:0}.bulk-upload-header{padding:16px 20px}.bulk-upload-header h2{font-size:1.2rem}.bulk-upload-content{padding:20px}.drop-zone{padding:32px 20px}.preview-header{flex-direction:column;align-items:flex-start}.preview-stats{flex-wrap:wrap}.preview-table-container{padding:12px}.preview-actions{flex-direction:column}.merge-modal{width:100%;height:100%;max-height:100%;border-radius:0}.bulk-upload-matching{padding:16px 20px}.matching-stats{font-size:.8rem}.matching-table-container{padding:12px}.matching-table th,.matching-table td{padding:8px}.csv-data .csv-details{flex-direction:column;gap:4px}}.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::-moz-placeholder{color:var(--text-light)}.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}}.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::-moz-placeholder{color:var(--gray-400);font-size:.8rem}.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}.funnel-view-container{background:var(--bg-card);border-radius:var(--radius-md);padding:2rem;box-shadow:var(--shadow-sm)}.funnel-selected-banner{background:linear-gradient(135deg,#8b7355,#a0896d);color:#fff;padding:16px 24px;border-radius:10px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px #8b735540}.funnel-selected-banner .banner-content{display:flex;align-items:center;gap:14px}.funnel-selected-banner .banner-icon{font-size:28px}.funnel-selected-banner .banner-text{display:flex;flex-direction:column;gap:4px}.funnel-selected-banner .banner-text strong{font-size:16px;font-weight:600}.funnel-selected-banner .banner-stage{font-size:14px;opacity:.9}.funnel-selected-banner .banner-clear-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s ease}.funnel-selected-banner .banner-clear-btn:hover{background:#ffffff4d}.funnel-view-container .funnel-header{text-align:center;margin-bottom:32px}.funnel-view-container .funnel-header h2{font-family:Bricolage Grotesque,sans-serif;font-size:28px;font-weight:700;color:var(--gray-900);margin-bottom:8px}.funnel-view-container .funnel-subtitle{font-size:14px;color:var(--gray-600)}.funnel-stages-vertical{display:flex;flex-direction:column;gap:20px;margin-bottom:40px}.funnel-stage-row{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:center}.funnel-stage-info{display:flex;align-items:center}.funnel-stage-header{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--bg-light);border-radius:10px;border:2px solid transparent;transition:all .3s ease;width:100%}.funnel-stage-header.stage-highlighted{border-color:#8b7355;background:#fff9f0;box-shadow:0 4px 16px #8b735533}.funnel-stage-emoji{font-size:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.funnel-stage-emoji svg{width:24px;height:24px}.funnel-stage-text{flex:1}.funnel-stage-title{font-size:15px;font-weight:600;color:var(--gray-900);margin-bottom:3px}.funnel-stage-desc{font-size:12px;color:var(--gray-600);margin:0}.funnel-stage-bar-section{display:flex;flex-direction:column;gap:8px}.funnel-bar-wrapper{display:flex;align-items:center;gap:14px}.funnel-bar{height:44px;background:#c4b5a0;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .4s ease;min-width:50px;position:relative;overflow:hidden}.funnel-bar:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);animation:funnel-shimmer 2.5s infinite}@keyframes funnel-shimmer{to{left:100%}}.funnel-bar.bar-selected{background:linear-gradient(135deg,#8b7355,#a0896d);box-shadow:0 4px 16px #8b735559}.funnel-bar-count{font-size:16px;font-weight:700;color:var(--gray-800);z-index:1}.funnel-bar.bar-selected .funnel-bar-count{color:#fff}.funnel-bar-label{font-size:13px;color:var(--gray-600);min-width:110px}.funnel-conversion-badge{display:flex;align-items:center;gap:8px;padding-left:10px;font-size:13px;color:#8b7355}.funnel-conversion-badge .conversion-arrow{font-size:16px}.funnel-conversion-badge .conversion-value{font-weight:700;color:#6b5a45}.funnel-conversion-badge .conversion-label{color:var(--gray-500);font-size:12px}.funnel-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:32px;padding-top:32px;border-top:2px solid var(--gray-200)}.funnel-summary-card{background:var(--bg-light);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .2s ease;border:1px solid var(--gray-200)}.funnel-summary-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.funnel-summary-card.warning{background:#fff8e6;border-color:#f59e0b}.funnel-summary-card .summary-card-icon{font-size:32px;flex-shrink:0}.funnel-summary-card .summary-card-content{display:flex;flex-direction:column;gap:3px}.funnel-summary-card .summary-card-label{font-size:11px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.funnel-summary-card .summary-card-value{font-size:26px;font-weight:700;color:var(--gray-900)}.funnel-summary-card .summary-card-detail{font-size:12px;color:#8b7355}.funnel-contact-selector{background:var(--bg-light);border-radius:12px;padding:20px;border:1px solid var(--gray-200)}.funnel-contact-selector h3{font-size:16px;font-weight:600;color:var(--gray-800);margin-bottom:16px}.funnel-contact-list{display:flex;flex-wrap:wrap;gap:8px}.funnel-contact-item{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#fff;border:1px solid var(--gray-200);border-radius:20px;font-size:13px;cursor:pointer;transition:all .2s ease}.funnel-contact-item:hover{border-color:#8b7355;background:#fff9f0}.funnel-contact-item.selected{background:linear-gradient(135deg,#8b7355,#a0896d);border-color:#8b7355;color:#fff}.funnel-contact-estado{font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px}.funnel-contact-estado svg{width:14px;height:14px}.funnel-contact-name{font-weight:500}.funnel-contact-more{padding:8px 14px;font-size:13px;color:var(--gray-500);font-style:italic}@media (max-width: 768px){.funnel-view-container{padding:1rem}.funnel-stage-row{grid-template-columns:1fr;gap:12px}.funnel-selected-banner{flex-direction:column;gap:12px;text-align:center}.funnel-summary-grid{grid-template-columns:1fr 1fr}.funnel-contact-selector h3{font-size:14px}}.kanban-board{display:flex;gap:20px;padding:16px 4px;overflow-x:auto;min-height:500px;-webkit-overflow-scrolling:touch}.kanban-column{flex:0 0 280px;min-width:280px;background:transparent;display:flex;flex-direction:column}.kanban-column.drag-over{background:#8b5cf60d;border-radius:12px}.kanban-column-header{padding:12px 4px;display:flex;align-items:center;gap:8px;background:transparent;position:sticky;top:0;z-index:1}.kanban-column-emoji{font-size:18px;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.kanban-column-emoji svg{width:16px;height:16px}.kanban-column-title{font-weight:700;font-size:15px;color:var(--text-dark);flex:1;letter-spacing:-.2px}.kanban-column-count{color:var(--text-light);font-size:13px;font-weight:500}.kanban-column-content{padding:8px 0;display:flex;flex-direction:column;gap:10px}.kanban-card{background:#fff;border-radius:10px;padding:14px;box-shadow:0 1px 3px #00000014;cursor:pointer;transition:all .2s ease;border:1px solid var(--gray-100)}.kanban-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.kanban-card.draggable{cursor:grab}.kanban-card.draggable:active{cursor:grabbing}.kanban-card.dragging{opacity:.5;transform:rotate(3deg);box-shadow:0 8px 24px #0003}.kanban-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.kanban-card-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.kanban-card-name{font-weight:600;font-size:14px;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-card-info{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.kanban-card-whatsapp{font-size:12px;color:var(--primary);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.kanban-card-whatsapp:hover{text-decoration:underline}.kanban-card-motivo{font-size:12px;color:var(--text-light);font-style:italic}.kanban-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--gray-100)}.kanban-card-payment{font-size:11px;padding:4px 8px;border-radius:6px;font-weight:500}.kanban-card-payment.pago-sin_facturas{background:var(--gray-100);color:var(--gray-500)}.kanban-card-payment.pago-al_dia,.kanban-card-payment.pago-adelantado{background:#10b9811a;color:#10b981}.kanban-card-payment.pago-atrasado{background:#f59e0b1a;color:#f59e0b}.kanban-card-payment.pago-verificando{background:#3b82f61a;color:#3b82f6}.kanban-card-payment.pago-vencido{background:#ef44441a;color:#ef4444}.kanban-card-monto{font-size:11px;color:var(--text-light);font-weight:500}.kanban-card-risk-indicator{margin-top:8px;padding:6px 8px;background:#f59e0b1a;border-radius:6px;font-size:11px;color:#f59e0b;font-weight:500}.kanban-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--gray-400);font-size:13px;gap:8px}.kanban-empty-icon{font-size:32px;opacity:.5;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.kanban-empty-icon svg{width:32px;height:32px;opacity:.5}.kanban-ver-mas-btn{width:100%;padding:10px 16px;background:transparent;border:1px dashed var(--gray-300);border-radius:8px;color:var(--gray-600);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:4px}.kanban-ver-mas-btn:hover{background:var(--gray-100);border-color:var(--gray-400);color:var(--gray-800)}.estado-icon-svg,.payment-icon-svg{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.kanban-card-payment{display:inline-flex;align-items:center;gap:4px}.kanban-card-payment svg{width:14px;height:14px;flex-shrink:0}.banner-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.banner-stage{display:inline-flex;align-items:center;gap:6px}.banner-stage svg{width:16px;height:16px}.summary-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px}.summary-card-icon svg{width:24px;height:24px}.kanban-column-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.kanban-column-icon svg{width:16px;height:16px}@media (max-width: 768px){.kanban-board{padding:12px 0;gap:12px}.kanban-column{flex:0 0 260px;min-width:260px}.kanban-card{padding:12px}.kanban-card-name{font-size:13px}}.mobile-search{width:100%;padding:12px 16px 12px 44px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.875rem;color:#1a1a2e;transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center}.contacts-mobile-container{padding:16px;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));min-height:100%}.contacts-mobile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.contacts-mobile-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.contacts-mobile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.contacts-stat-card{background:#fff;border-radius:14px;padding:14px 8px;text-align:center;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8}.contacts-stat-value{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#1a1a2e;margin-bottom:2px}.contacts-stat-label{font-size:.625rem;color:#888;text-transform:uppercase;letter-spacing:.5px}.contacts-mobile-search-wrapper{margin-bottom:12px}.contacts-mobile-search{width:100%;padding:12px 16px 12px 44px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.9375rem;color:#1a1a2e;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center}.contacts-mobile-search:focus{outline:none;border-color:#c8e600;box-shadow:0 0 0 3px #c8e60026}.contacts-mobile-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.contacts-mobile-filters::-webkit-scrollbar{display:none}.contacts-filter-pill{flex-shrink:0;padding:8px 14px;background:#fff;border:1.5px solid #e8e6dc;border-radius:20px;font-size:.8125rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;white-space:nowrap}.contacts-filter-pill.active{background:#1a1a2e;border-color:#1a1a2e;color:#fff}.contacts-mobile-list{display:flex;flex-direction:column;gap:10px}.contact-mobile-card{background:#fff;border-radius:16px;padding:14px;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8;cursor:pointer;transition:all .2s ease}.contact-mobile-card:hover{box-shadow:0 4px 12px #00000014}.contact-mobile-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.contact-mobile-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#c8e600,#b8d600);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:#1a1a2e;flex-shrink:0}.contact-mobile-info{flex:1;min-width:0}.contact-mobile-name{font-weight:600;font-size:.9375rem;color:#1a1a2e;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-mobile-code{font-size:.75rem;color:#888}.contact-mobile-status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:12px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.contact-mobile-status.prospecto{background:#dbeafe;color:#1e40af}.contact-mobile-status.paciente_activo{background:#d4f8d4;color:#166534}.contact-mobile-status.en_riesgo{background:#fef3c7;color:#92400e}.contact-mobile-status.abandono{background:#fee2e2;color:#991b1b}.contact-mobile-status.dado_de_alta{background:#e0e7ff;color:#3730a3}.contact-mobile-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:10px;border-top:1px solid #f0f0e8}.contact-mobile-stat{text-align:center}.contact-mobile-stat-value{font-weight:700;font-size:.875rem;color:#1a1a2e;margin-bottom:2px}.contact-mobile-stat-label{font-size:.625rem;color:#888;text-transform:uppercase}.contact-mobile-actions{display:flex;gap:8px;margin-top:10px}.contact-mobile-btn{flex:1;padding:8px 12px;border-radius:10px;font-size:.75rem;font-weight:600;text-align:center;cursor:pointer;transition:all .2s ease;border:none}.contact-mobile-btn-primary{background:linear-gradient(135deg,#c8e600,#b8d600);color:#1a1a2e}.contact-mobile-btn-secondary{background:#f5f5f0;color:#666}.contacts-mobile-fab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#c8e600,#b8d600);border:none;box-shadow:0 4px 16px #c8e60066;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:100;font-size:1.5rem;color:#1a1a2e}.contacts-mobile-fab:hover{transform:scale(1.05)}.contacts-mobile-empty{text-align:center;padding:48px 24px}.contacts-empty-icon{width:72px;height:72px;margin:0 auto 16px;background:#f5f5f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.contacts-empty-title{font-weight:600;font-size:1.0625rem;color:#1a1a2e;margin-bottom:6px}.contacts-empty-text{font-size:.875rem;color:#888;margin-bottom:20px}.contacts-mobile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end;justify-content:center}.contacts-mobile-modal{width:100%;max-height:90vh;background:#faf9f5;border-radius:24px 24px 0 0;padding:20px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;animation:modal-slide-up .3s ease}.contacts-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.contacts-modal-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#1a1a2e}.contacts-modal-close{width:36px;height:36px;border-radius:50%;background:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;color:#666;box-shadow:0 2px 6px #00000014}.contacts-form-group{margin-bottom:16px}.contacts-form-label{display:block;font-size:.8125rem;font-weight:600;color:#444;margin-bottom:6px}.contacts-form-input,.contacts-form-textarea,.contacts-form-select{width:100%;padding:14px 16px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.9375rem;color:#1a1a2e;transition:all .2s ease}.contacts-form-input:focus,.contacts-form-textarea:focus,.contacts-form-select:focus{outline:none;border-color:#c8e600;box-shadow:0 0 0 3px #c8e60026}.contacts-form-textarea{min-height:80px;resize:vertical}.contacts-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contacts-form-grid .contacts-form-group.full-width{grid-column:span 2}.contacts-modal-actions{display:flex;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #e8e6dc}.contacts-btn-primary{flex:1;padding:14px 20px;background:linear-gradient(135deg,#c8e600,#b8d600);border:none;border-radius:12px;font-size:.9375rem;font-weight:600;color:#1a1a2e;cursor:pointer;transition:all .2s ease}.contacts-btn-secondary{flex:1;padding:14px 20px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.9375rem;font-weight:600;color:#666;cursor:pointer;transition:all .2s ease}.contacts-mobile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px}.contacts-loading-spinner{width:40px;height:40px;border:3px solid #f0f0e8;border-top-color:#c8e600;border-radius:50%;animation:spin .8s linear infinite}.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:-moz-fit-content;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}.patients-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.patients-header .page-title h1{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:32px;color:var(--gray-900);margin:0}.patients-header .header-actions{display:flex;align-items:center;gap:1rem}.patients-header .header-search{width:280px;padding:.625rem 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}.patients-header .header-search:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a}.patients-header .header-search::-moz-placeholder{color:var(--text-light)}.patients-header .header-search::placeholder{color:var(--text-light)}.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-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:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.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-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)}.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}.mobile-search{width:100%;padding:12px 16px 12px 44px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.875rem;color:#1a1a2e;transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center}.patients-mobile-container{padding:16px;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));min-height:100%}.patients-mobile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.patients-mobile-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.patients-mobile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.patients-stat-card{background:#fff;border-radius:14px;padding:14px 8px;text-align:center;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8}.patients-stat-value{font-family:Bricolage Grotesque,sans-serif;font-size:1.375rem;font-weight:700;color:#1a1a2e;margin-bottom:2px}.patients-stat-label{font-size:.625rem;color:#888;text-transform:uppercase;letter-spacing:.5px}.patients-mobile-search-wrapper{margin-bottom:12px}.patients-mobile-search{width:100%;padding:12px 16px 12px 44px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.9375rem;color:#1a1a2e;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center}.patients-mobile-search:focus{outline:none;border-color:#c8e600;box-shadow:0 0 0 3px #c8e60026}.patients-mobile-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.patients-mobile-filters::-webkit-scrollbar{display:none}.patients-filter-pill{flex-shrink:0;padding:8px 14px;background:#fff;border:1.5px solid #e8e6dc;border-radius:20px;font-size:.8125rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;white-space:nowrap}.patients-filter-pill.active{background:#1a1a2e;border-color:#1a1a2e;color:#fff}.patients-mobile-list{display:flex;flex-direction:column;gap:10px}.patient-mobile-card{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#fff;border-radius:16px;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8;cursor:pointer;transition:all .2s ease}.patient-mobile-card:hover{box-shadow:0 4px 12px #00000014}.patient-mobile-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#c8e600,#b8d600);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:#1a1a2e;flex-shrink:0}.patient-mobile-content{flex:1;min-width:0}.patient-mobile-name{font-weight:600;font-size:.9375rem;color:#1a1a2e;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-mobile-code{font-size:.75rem;color:#888;margin-bottom:8px}.patient-mobile-meta{display:flex;align-items:center;gap:12px}.patient-mobile-status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:12px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.patient-mobile-status.active{background:#d4f8d4;color:#166534}.patient-mobile-status.at-risk{background:#fef3c7;color:#92400e}.patient-mobile-status.abandoned{background:#fee2e2;color:#991b1b}.patient-mobile-status.discharged{background:#dbeafe;color:#1e40af}.patient-mobile-attendance{font-size:.75rem;color:#666;font-weight:500}.patient-mobile-actions{display:flex;flex-direction:column;gap:6px}.patient-mobile-action{width:32px;height:32px;border-radius:8px;background:#f5f5f0;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:.875rem}.patient-mobile-action:hover{background:#e8e8e0}.patients-mobile-empty{text-align:center;padding:48px 24px}.patients-empty-icon{width:72px;height:72px;margin:0 auto 16px;background:#f5f5f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.patients-empty-title{font-weight:600;font-size:1.0625rem;color:#1a1a2e;margin-bottom:6px}.patients-empty-text{font-size:.875rem;color:#888;margin-bottom:20px}.patients-mobile-fab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#c8e600,#b8d600);border:none;box-shadow:0 4px 16px #c8e60066;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:100;font-size:1.5rem;color:#1a1a2e}.patients-mobile-fab:hover{transform:scale(1.05);box-shadow:0 6px 20px #c8e60080}.patients-mobile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end;justify-content:center}.patients-mobile-modal{width:100%;max-height:90vh;background:#faf9f5;border-radius:24px 24px 0 0;padding:20px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;animation:modal-slide-up .3s ease}.patients-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.patients-modal-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#1a1a2e}.patients-modal-close{width:36px;height:36px;border-radius:50%;background:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;color:#666;box-shadow:0 2px 6px #00000014}.patients-form-group{margin-bottom:16px}.patients-form-label{display:block;font-size:.8125rem;font-weight:600;color:#444;margin-bottom:6px}.patients-form-input,.patients-form-textarea{width:100%;padding:14px 16px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.9375rem;color:#1a1a2e;transition:all .2s ease}.patients-form-input:focus,.patients-form-textarea:focus{outline:none;border-color:#c8e600;box-shadow:0 0 0 3px #c8e60026}.patients-form-textarea{min-height:100px;resize:vertical}.patients-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.patients-form-grid .patients-form-group.full-width{grid-column:span 2}.patients-modal-actions{display:flex;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #e8e6dc}.patients-btn-primary{flex:1;padding:14px 20px;background:linear-gradient(135deg,#c8e600,#b8d600);border:none;border-radius:12px;font-size:.9375rem;font-weight:600;color:#1a1a2e;cursor:pointer;transition:all .2s ease}.patients-btn-secondary{flex:1;padding:14px 20px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.9375rem;font-weight:600;color:#666;cursor:pointer;transition:all .2s ease}.patients-mobile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px}.patients-loading-spinner{width:40px;height:40px;border:3px solid #f0f0e8;border-top-color:#c8e600;border-radius:50%;animation:spin .8s linear infinite}/*!
 * 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;-o-tab-size:4;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;gap: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-inline{display:flex;align-items:baseline;gap:6px;margin-left:auto;margin-right:8px}.stat-value-inline .stat-number{font-size:24px;font-weight:700;color:var(--gray-900);line-height:1}.stat-value-inline .stat-separator{font-size:18px;color:var(--gray-500);font-weight:500}.stat-value-inline .stat-max{font-size:18px;color:var(--gray-600);font-weight:600}.stat-value-inline .stat-percentage{font-size:16px;font-weight:700;color:var(--gray-700);background:var(--gray-200);padding:4px 10px;border-radius:var(--radius-sm)}.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;-webkit-transition:all .2s;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;-moz-transition:all .2s;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%}.rpg-metrics-grid{display:grid;grid-template-columns:1fr;gap:16px}.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{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%;-o-object-fit:cover;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;display:flex;align-items:center;justify-content:center}.tab-heroicon{width:20px;height:20px;stroke-width:2}.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-evaluaciones{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::-moz-placeholder{color:var(--gray-400)}.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}.estado-container{display:flex;flex-direction:column;gap:8px}.estado-actions{display:flex;gap:8px;flex-wrap:wrap}.estado-btn{padding:6px 12px;font-size:12px;font-weight:500;border-radius:6px;border:1px solid;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.estado-btn-abandono{background:#fff5f5;border-color:#feb2b2;color:#c53030}.estado-btn-abandono:hover{background:#fed7d7;border-color:#fc8181}.estado-btn-alta{background:#f0fff4;border-color:#9ae6b4;color:#276749}.estado-btn-alta:hover{background:#c6f6d5;border-color:#68d391}.estado-modal{max-width:480px}.confirm-message{font-size:16px;color:var(--text-dark);margin-bottom:8px}.confirm-subtitle{font-size:14px;color:var(--text-light);margin-bottom:16px}.estado-modal .form-group{margin-bottom:16px}.estado-modal .form-group label{display:block;font-size:14px;font-weight:500;color:var(--text-dark);margin-bottom:6px}.estado-modal textarea{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--gray-200);border-radius:8px;resize:vertical;font-family:inherit}.estado-modal textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #8b5cf61a}.modal-footer .btn-success{background:#38a169;border-color:#38a169}.modal-footer .btn-success:hover{background:#2f855a}.modal-footer .btn-danger{background:#e53e3e;border-color:#e53e3e}.modal-footer .btn-danger:hover{background:#c53030}.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:var(--gray-900);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600}.header-filter-select{width:160px;padding:.625rem 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;cursor:pointer}.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:-moz-fit-content;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:36px;height:36px;border:none;border-radius:8px;background:transparent;color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.nav-btn:hover{color:var(--gray-900);background:var(--gray-100)}.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 .day-number{background:var(--gray-900);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.calendar-day.selected{background:var(--gray-100);box-shadow:inset 0 0 0 2px var(--gray-900)}.day-number{font-weight:600;color:var(--gray-900);font-size:14px}.day-indicator{position:absolute;bottom:4px;right:4px;background:var(--gray-900);color:#fff;font-size:9px;font-weight:600;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}.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:#00000080;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:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026;animation:slideUp .3s ease}.modal-content.pending-panel{max-width:1000px}@keyframes slideUp{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;background:#f9fafb;border-radius:16px 16px 0 0}.modal-close{width:36px;height:36px;border-radius:8px;border:none;background:#e5e7eb;color:#4b5563;font-size:20px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#d1d5db;color:#111827}.modal-form{padding:24px;background:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.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;background:#fff;color:#111827}.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{max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.header-search{width:240px;padding:.625rem 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}.header-filter-select{width:180px;padding:.625rem 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;cursor:pointer}.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}}.mobile-search{width:100%;padding:12px 16px 12px 44px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.875rem;color:#1a1a2e;transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center}.appointments-mobile-container{padding:16px;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));min-height:100%}.appointments-mobile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.appointments-mobile-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.appointments-mobile-subtitle{font-size:.8125rem;color:#888;margin-top:2px}.appointments-date-nav{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:14px;padding:12px 16px;margin-bottom:16px;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8}.appointments-date-nav-btn{width:36px;height:36px;border-radius:10px;background:#f5f5f0;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.125rem;color:#666;transition:all .2s ease}.appointments-date-nav-btn:hover{background:#e8e8e0}.appointments-date-current{font-weight:600;font-size:.9375rem;color:#1a1a2e;text-transform:capitalize}.appointments-quick-dates{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.appointments-quick-dates::-webkit-scrollbar{display:none}.appointments-date-pill{flex-shrink:0;padding:10px 16px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.8125rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;text-align:center;min-width:60px}.appointments-date-pill.active{background:#1a1a2e;border-color:#1a1a2e;color:#fff}.appointments-date-pill .day-name{font-size:.625rem;text-transform:uppercase;opacity:.7;display:block}.appointments-date-pill .day-number{font-size:1rem;font-weight:700;display:block}.appointments-mobile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.appointments-stat-card{background:#fff;border-radius:14px;padding:14px 8px;text-align:center;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8}.appointments-stat-value{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#1a1a2e;margin-bottom:2px}.appointments-stat-label{font-size:.625rem;color:#888;text-transform:uppercase;letter-spacing:.5px}.appointments-mobile-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.appointments-mobile-filters::-webkit-scrollbar{display:none}.appointments-filter-pill{flex-shrink:0;padding:8px 14px;background:#fff;border:1.5px solid #e8e6dc;border-radius:20px;font-size:.8125rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;white-space:nowrap}.appointments-filter-pill.active{background:#1a1a2e;border-color:#1a1a2e;color:#fff}.appointments-mobile-list{display:flex;flex-direction:column;gap:10px}.appointment-mobile-card{background:#fff;border-radius:16px;padding:14px;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.appointment-mobile-card:hover{box-shadow:0 4px 12px #00000014}.appointment-mobile-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--appointment-color, #c8e600)}.appointment-mobile-card.cancelled:before{background:#ef4444}.appointment-mobile-card.completed:before{background:#10b981}.appointment-mobile-time{display:flex;align-items:center;gap:8px;margin-bottom:10px}.appointment-mobile-time-badge{background:#f5f5f0;padding:6px 10px;border-radius:8px;font-weight:600;font-size:.875rem;color:#1a1a2e}.appointment-mobile-duration{font-size:.75rem;color:#888}.appointment-mobile-status{margin-left:auto;padding:4px 10px;border-radius:20px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.appointment-mobile-status.scheduled{background:#dbeafe;color:#1e40af}.appointment-mobile-status.completed{background:#d4f8d4;color:#166534}.appointment-mobile-status.cancelled{background:#fee2e2;color:#991b1b}.appointment-mobile-patient{font-weight:600;font-size:1rem;color:#1a1a2e;margin-bottom:6px}.appointment-mobile-details{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.appointment-mobile-detail{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#666;background:#f9f9f7;padding:4px 8px;border-radius:6px}.appointment-mobile-actions{display:flex;gap:8px;padding-top:10px;border-top:1px solid #f0f0e8}.appointment-mobile-btn{flex:1;padding:8px 12px;border-radius:10px;font-size:.75rem;font-weight:600;text-align:center;cursor:pointer;transition:all .2s ease;border:none}.appointment-mobile-btn-primary{background:linear-gradient(135deg,#c8e600,#b8d600);color:#1a1a2e}.appointment-mobile-btn-secondary{background:#f5f5f0;color:#666}.appointment-mobile-btn-danger{background:#fee2e2;color:#991b1b}.appointments-mobile-fab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#c8e600,#b8d600);border:none;box-shadow:0 4px 16px #c8e60066;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:100;font-size:1.5rem;color:#1a1a2e}.appointments-mobile-fab:hover{transform:scale(1.05)}.appointments-mobile-empty{text-align:center;padding:48px 24px}.appointments-empty-icon{width:72px;height:72px;margin:0 auto 16px;background:#f5f5f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.appointments-empty-title{font-weight:600;font-size:1.0625rem;color:#1a1a2e;margin-bottom:6px}.appointments-empty-text{font-size:.875rem;color:#888;margin-bottom:20px}.appointments-mobile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;display:flex;align-items:flex-end;justify-content:center}.appointments-mobile-modal{width:100%;max-height:90vh;background:#fff;border-radius:24px 24px 0 0;padding:20px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;animation:modal-slide-up .3s ease}.appointments-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.appointments-modal-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#111827}.appointments-modal-close{width:36px;height:36px;border-radius:50%;background:#f3f4f6;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;color:#4b5563;box-shadow:0 2px 6px #00000014}.appointments-form-group{margin-bottom:16px}.appointments-form-label{display:block;font-size:.8125rem;font-weight:600;color:#374151;margin-bottom:6px}.appointments-form-input,.appointments-form-select,.appointments-form-textarea{width:100%;padding:14px 16px;background:#fff;border:1.5px solid #d1d5db;border-radius:12px;font-size:.9375rem;color:#111827;transition:all .2s ease}.appointments-form-input:focus,.appointments-form-select:focus,.appointments-form-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.appointments-form-textarea{min-height:80px;resize:vertical}.appointments-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.appointments-form-grid .appointments-form-group.full-width{grid-column:span 2}.appointments-modal-actions{display:flex;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb}.appointments-btn-primary{flex:1;padding:14px 20px;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:12px;font-size:.9375rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.appointments-btn-secondary{flex:1;padding:14px 20px;background:#fff;border:1.5px solid #d1d5db;border-radius:12px;font-size:.9375rem;font-weight:600;color:#4b5563;cursor:pointer;transition:all .2s ease}.appointments-mobile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px}.appointments-loading-spinner{width:40px;height:40px;border:3px solid #f0f0e8;border-top-color:#c8e600;border-radius:50%;animation:spin .8s linear infinite}.time-slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.time-slot{padding:10px 4px;background:#fff;border:1.5px solid #e8e6dc;border-radius:10px;font-size:.8125rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;text-align:center}.time-slot:hover{border-color:#c8e600}.time-slot.selected{background:#1a1a2e;border-color:#1a1a2e;color:#fff}.time-slot.disabled{opacity:.4;cursor:not-allowed}.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}}.mobile-search{width:100%;padding:12px 16px 12px 44px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.875rem;color:#1a1a2e;transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center}.therapists-mobile-container{padding:16px;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));min-height:100%}.therapists-mobile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.therapists-mobile-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.therapists-mobile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.therapists-stat-card{background:#fff;border-radius:14px;padding:14px 8px;text-align:center;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8}.therapists-stat-value{font-family:Bricolage Grotesque,sans-serif;font-size:1.375rem;font-weight:700;color:#1a1a2e;margin-bottom:2px}.therapists-stat-label{font-size:.625rem;color:#888;text-transform:uppercase;letter-spacing:.5px}.therapists-mobile-search-wrapper{margin-bottom:12px}.therapists-mobile-search{width:100%;padding:12px 16px 12px 44px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.9375rem;color:#1a1a2e;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center}.therapists-mobile-search:focus{outline:none;border-color:#c8e600;box-shadow:0 0 0 3px #c8e60026}.therapists-mobile-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.therapists-mobile-filters::-webkit-scrollbar{display:none}.therapists-filter-pill{flex-shrink:0;padding:8px 14px;background:#fff;border:1.5px solid #e8e6dc;border-radius:20px;font-size:.8125rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;white-space:nowrap}.therapists-filter-pill.active{background:#1a1a2e;border-color:#1a1a2e;color:#fff}.therapists-mobile-list{display:flex;flex-direction:column;gap:10px}.therapist-mobile-card{background:#fff;border-radius:16px;padding:14px;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8;cursor:pointer;transition:all .2s ease}.therapist-mobile-card:hover{box-shadow:0 4px 12px #00000014}.therapist-mobile-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.therapist-mobile-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#c8e600,#b8d600);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;color:#1a1a2e;flex-shrink:0}.therapist-mobile-info{flex:1;min-width:0}.therapist-mobile-name{font-weight:600;font-size:1rem;color:#1a1a2e;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.therapist-mobile-specialty{display:inline-flex;align-items:center;gap:4px;font-size:.8125rem;color:#666;background:#f9f9f7;padding:4px 10px;border-radius:20px}.therapist-mobile-license{font-size:.75rem;color:#888;margin-top:4px}.therapist-mobile-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:12px;border-top:1px solid #f0f0e8;margin-bottom:12px}.therapist-mobile-stat{text-align:center}.therapist-mobile-stat-value{font-weight:700;font-size:.9375rem;color:#1a1a2e;margin-bottom:2px}.therapist-mobile-stat-label{font-size:.625rem;color:#888;text-transform:uppercase}.therapist-mobile-actions{display:flex;gap:8px}.therapist-mobile-btn{flex:1;padding:10px 12px;border-radius:10px;font-size:.8125rem;font-weight:600;text-align:center;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;justify-content:center;gap:6px}.therapist-mobile-btn-primary{background:linear-gradient(135deg,#c8e600,#b8d600);color:#1a1a2e}.therapist-mobile-btn-secondary{background:#f5f5f0;color:#666}.therapists-mobile-fab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#c8e600,#b8d600);border:none;box-shadow:0 4px 16px #c8e60066;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:100;font-size:1.5rem;color:#1a1a2e}.therapists-mobile-fab:hover{transform:scale(1.05)}.therapists-mobile-empty{text-align:center;padding:48px 24px}.therapists-empty-icon{width:72px;height:72px;margin:0 auto 16px;background:#f5f5f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.therapists-empty-title{font-weight:600;font-size:1.0625rem;color:#1a1a2e;margin-bottom:6px}.therapists-empty-text{font-size:.875rem;color:#888;margin-bottom:20px}.therapists-mobile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end;justify-content:center}.therapists-mobile-modal{width:100%;max-height:90vh;background:#faf9f5;border-radius:24px 24px 0 0;padding:20px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;animation:modal-slide-up .3s ease}.therapists-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.therapists-modal-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#1a1a2e}.therapists-modal-close{width:36px;height:36px;border-radius:50%;background:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;color:#666;box-shadow:0 2px 6px #00000014}.therapists-form-group{margin-bottom:16px}.therapists-form-label{display:block;font-size:.8125rem;font-weight:600;color:#444;margin-bottom:6px}.therapists-form-input,.therapists-form-select,.therapists-form-textarea{width:100%;padding:14px 16px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.9375rem;color:#1a1a2e;transition:all .2s ease}.therapists-form-input:focus,.therapists-form-select:focus,.therapists-form-textarea:focus{outline:none;border-color:#c8e600;box-shadow:0 0 0 3px #c8e60026}.therapists-form-textarea{min-height:80px;resize:vertical}.therapists-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.therapists-form-grid .therapists-form-group.full-width{grid-column:span 2}.therapists-specialty-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.therapists-specialty-option{padding:12px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.8125rem;text-align:center;cursor:pointer;transition:all .2s ease}.therapists-specialty-option.selected{background:#1a1a2e;border-color:#1a1a2e;color:#fff}.therapists-modal-actions{display:flex;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #e8e6dc}.therapists-btn-primary{flex:1;padding:14px 20px;background:linear-gradient(135deg,#c8e600,#b8d600);border:none;border-radius:12px;font-size:.9375rem;font-weight:600;color:#1a1a2e;cursor:pointer;transition:all .2s ease}.therapists-btn-secondary{flex:1;padding:14px 20px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.9375rem;font-weight:600;color:#666;cursor:pointer;transition:all .2s ease}.therapists-mobile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px}.therapists-loading-spinner{width:40px;height:40px;border:3px solid #f0f0e8;border-top-color:#c8e600;border-radius:50%;animation:spin .8s linear infinite}.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-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%}}.icon-xs{width:14px;height:14px;display:inline-block;vertical-align:middle;margin-right:4px}.icon-small{width:18px;height:18px;display:inline-block;vertical-align:middle;margin-right:6px}.icon-inline{width:20px;height:20px;display:inline-block;vertical-align:middle;margin-right:8px}.loading-icon,.error-icon{width:48px;height:48px;margin-bottom:1rem;color:var(--gray-400)}.error-icon{color:var(--danger)}.reason-icon{width:16px;height:16px;display:inline-block;vertical-align:middle;margin-right:6px}.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-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{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}.header-actions{display:flex;align-items:center;gap:1rem}.header-search{width:280px;padding:.625rem 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}.header-search:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a}.header-search::-moz-placeholder{color:var(--text-light)}.header-search::placeholder{color:var(--text-light)}.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}.btn-heroicon{width:18px;height:18px;stroke-width:2}.tab-heroicon{width:16px;height:16px;stroke-width:2;margin-right:6px}.tabs-container{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:hidden;display:flex;flex-direction:column}.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;display:flex;align-items:center;justify-content:center;gap:6px}.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;flex:1;overflow:visible}.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::-moz-placeholder,.form-textarea::-moz-placeholder{color:#999}.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;-o-border-image:linear-gradient(90deg,#6366f1 0%,#4f46e5 100%) 1;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{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}}.metrics-section{margin-bottom:32px}.metrics-section-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}.metrics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}@media (max-width: 1400px){.metrics-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1100px){.metrics-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.metrics-grid{grid-template-columns:1fr}}.metric-card{background:var(--white);border-radius:var(--radius-lg);padding:20px;border:2px solid var(--gray-200);transition:all var(--transition-base);position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--metric-color, #6366f1)}.metric-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--metric-color, #6366f1)}.metric-card.green{--metric-color: #10B981}.metric-card.blue{--metric-color: #3B82F6}.metric-card.purple{--metric-color: #8B5CF6}.metric-card.orange{--metric-color: #F59E0B}.metric-card.red{--metric-color: #EF4444}.metric-card.pink{--metric-color: #EC4899}.metric-card.cyan{--metric-color: #06B6D4}.metric-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.metric-icon{font-size:20px}.metric-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:#6366f11a;color:#6366f1}.metric-value{font-family:var(--font-display);font-weight:800;font-size:28px;color:var(--text-dark);margin-bottom:4px}.metric-label{font-size:13px;color:var(--gray-600);font-weight:500}.stat-number{font-family:var(--font-display);font-weight:800;font-size:28px;color:var(--text-dark);margin-bottom:4px}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.chart-filters{display:flex;gap:8px}.chart-filter-btn{padding:6px 12px;border:1.5px solid var(--gray-300);border-radius:6px;background:var(--white);color:var(--gray-600);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.chart-filter-btn.active{background:var(--text-dark);border-color:var(--text-dark);color:#fff}.chart-filter-btn:hover:not(.active){border-color:var(--gray-400);background:var(--gray-50)}.heatmap-container{padding:10px 0}.heatmap-grid{display:grid;grid-template-columns:60px repeat(7,1fr);gap:4px}.heatmap-header{display:contents}.heatmap-corner{min-width:60px}.heatmap-day-label{text-align:center;font-size:12px;font-weight:600;color:var(--gray-600);padding:8px 4px}.heatmap-row{display:contents}.heatmap-hour-label{font-size:11px;font-weight:500;color:var(--gray-500);display:flex;align-items:center;padding-right:8px;justify-content:flex-end}.heatmap-cell{aspect-ratio:1;min-height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:transparent;transition:all .2s ease;cursor:default;position:relative}.heatmap-cell:hover{transform:scale(1.1);z-index:10;color:var(--text-dark);box-shadow:var(--shadow-md)}.heatmap-cell.level-0{background:var(--gray-100)}.heatmap-cell.level-1{background:#dcfce7}.heatmap-cell.level-2{background:#86efac}.heatmap-cell.level-3{background:#4ade80}.heatmap-cell.level-4{background:#22c55e}.heatmap-cell.level-5{background:#16a34a}.heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px;font-size:12px;color:var(--gray-500)}.heatmap-legend-scale{display:flex;gap:3px}.heatmap-legend-cell{width:16px;height:16px;border-radius:3px}.stat-card.ticket{--stat-gradient: linear-gradient(90deg, #3B82F6 0%, #2563EB 100%)}.stat-card.ocupacion{--stat-gradient: linear-gradient(90deg, #8B5CF6 0%, #7C3AED 100%)}.stat-card.cancelaciones{--stat-gradient: linear-gradient(90deg, #F59E0B 0%, #D97706 100%)}.stat-card.sesiones-prom{--stat-gradient: linear-gradient(90deg, #06B6D4 0%, #0891B2 100%)}.stat-card.retencion{--stat-gradient: linear-gradient(90deg, #10B981 0%, #059669 100%)}.stat-card.tiempo-tratamiento{--stat-gradient: linear-gradient(90deg, #EC4899 0%, #DB2777 100%)}.stat-card.en-riesgo{--stat-gradient: linear-gradient(90deg, #EF4444 0%, #DC2626 100%)}.stat-card.overdue-count{--stat-gradient: linear-gradient(90deg, #F97316 0%, #EA580C 100%)}.stat-card.overdue-amount{--stat-gradient: linear-gradient(90deg, #EF4444 0%, #B91C1C 100%)}.mobile-search{width:100%;padding:12px 16px 12px 44px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.875rem;color:#1a1a2e;transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center}.analytics-mobile-container{padding:16px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));min-height:100%}.analytics-mobile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.analytics-mobile-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.analytics-period-selector{display:flex;gap:8px;margin-bottom:16px}.analytics-period-btn{flex:1;padding:10px 16px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.8125rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease}.analytics-period-btn.active{background:#1a1a2e;border-color:#1a1a2e;color:#fff}.analytics-mobile-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.analytics-stat-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8}.analytics-stat-card.highlight{background:linear-gradient(135deg,#c8e600,#b8d600);border-color:#c8e600}.analytics-stat-icon{width:40px;height:40px;border-radius:10px;background:#f5f5f0;display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:10px}.analytics-stat-card.highlight .analytics-stat-icon{background:#0000001a}.analytics-stat-value{font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#1a1a2e;margin-bottom:4px}.analytics-stat-label{font-size:.75rem;color:#888}.analytics-section-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.125rem;font-weight:700;color:#1a1a2e;margin-bottom:12px;margin-top:24px}.analytics-chart-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8;margin-bottom:16px}.analytics-chart-title{font-weight:600;font-size:.9375rem;color:#1a1a2e;margin-bottom:16px}.analytics-chart-placeholder{height:200px;background:linear-gradient(180deg,#f9f9f7,#f5f5f0);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#888;font-size:.875rem}.analytics-top-list{display:flex;flex-direction:column;gap:8px}.analytics-top-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border-radius:12px;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8}.analytics-top-rank{width:28px;height:28px;border-radius:50%;background:#f5f5f0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;color:#666}.analytics-top-rank.top{background:linear-gradient(135deg,#c8e600,#b8d600);color:#1a1a2e}.analytics-top-info{flex:1}.analytics-top-name{font-weight:600;font-size:.875rem;color:#1a1a2e}.analytics-top-value{font-size:.75rem;color:#888}.analytics-top-bar{width:60px;height:6px;background:#f0f0e8;border-radius:3px;overflow:hidden}.analytics-top-bar-fill{height:100%;background:linear-gradient(90deg,#c8e600,#b8d600);border-radius:3px}.billing-page{min-height:100vh;background:var(--bg-app)}.billing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1.5rem}.billing-header .header-actions{display:flex;align-items:center;gap:1rem}.header-filter-select{width:140px;padding:.625rem 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;cursor:pointer}.header-filter-select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a}.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-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}.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::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--text-light)}.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}.mobile-search{width:100%;padding:12px 16px 12px 44px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.875rem;color:#1a1a2e;transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center}.billing-mobile-container{padding:16px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));min-height:100%}.billing-mobile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.billing-mobile-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.billing-mobile-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.billing-stat-card{background:#fff;border-radius:14px;padding:16px 12px;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8}.billing-stat-card.pending{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.billing-stat-card.paid{background:linear-gradient(135deg,#d4f8d4,#a7f3a7);border-color:#10b981}.billing-stat-label{font-size:.6875rem;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.billing-stat-value{font-family:Bricolage Grotesque,sans-serif;font-size:1.375rem;font-weight:700;color:#1a1a2e}.billing-mobile-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.billing-mobile-filters::-webkit-scrollbar{display:none}.billing-filter-pill{flex-shrink:0;padding:8px 16px;background:#fff;border:1.5px solid #e8e6dc;border-radius:20px;font-size:.8125rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;white-space:nowrap}.billing-filter-pill.active{background:#1a1a2e;border-color:#1a1a2e;color:#fff}.billing-mobile-list{display:flex;flex-direction:column;gap:10px}.invoice-mobile-card{background:#fff;border-radius:16px;padding:14px;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8}.invoice-mobile-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.invoice-mobile-patient{font-weight:600;font-size:.9375rem;color:#1a1a2e}.invoice-mobile-code{font-size:.75rem;color:#888;margin-top:2px}.invoice-mobile-status{padding:4px 10px;border-radius:20px;font-size:.625rem;font-weight:600;text-transform:uppercase}.invoice-mobile-status.pending{background:#fef3c7;color:#92400e}.invoice-mobile-status.paid{background:#d4f8d4;color:#166534}.invoice-mobile-status.overdue{background:#fee2e2;color:#991b1b}.invoice-mobile-amount{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#1a1a2e;margin-bottom:10px}.invoice-mobile-meta{display:flex;align-items:center;gap:12px;font-size:.75rem;color:#888;padding-top:10px;border-top:1px solid #f0f0e8}.invoice-mobile-actions{display:flex;gap:8px;margin-top:12px}.invoice-mobile-btn{flex:1;padding:10px 12px;border-radius:10px;font-size:.8125rem;font-weight:600;text-align:center;cursor:pointer;transition:all .2s ease;border:none}.invoice-mobile-btn-primary{background:linear-gradient(135deg,#c8e600,#b8d600);color:#1a1a2e}.invoice-mobile-btn-secondary{background:#f5f5f0;color:#666}.billing-mobile-fab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#c8e600,#b8d600);border:none;box-shadow:0 4px 16px #c8e60066;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:100;font-size:1.5rem;color:#1a1a2e}.invoice-detail{padding:2rem;max-width:1400px;margin:0 auto;animation:fadeIn .4s ease}.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}.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}}.api-key-manager{padding:1.5rem}.api-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.api-title-section h3{margin:0;font-size:1.25rem;color:var(--text-primary, #fff)}.api-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--text-secondary, rgba(255,255,255,.6))}.api-docs-link a{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:8px;color:var(--primary, #8b5cf6);text-decoration:none;font-size:.875rem;transition:all .2s ease}.api-docs-link a:hover{background:#8b5cf640;transform:translateY(-1px)}.api-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem}.api-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:none;color:var(--text-secondary, rgba(255,255,255,.6));font-size:.9rem;cursor:pointer;border-radius:8px;transition:all .2s ease}.api-tab:hover{background:#ffffff0d;color:var(--text-primary, #fff)}.api-tab.active{background:#8b5cf633;color:var(--primary, #8b5cf6)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-description{margin:0;font-size:.875rem;color:var(--text-secondary, rgba(255,255,255,.6));max-width:500px}.create-key-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary, #8b5cf6),var(--secondary, #6366f1));border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.create-key-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #8b5cf666}.api-loading,.api-empty{text-align:center;padding:3rem;color:var(--text-secondary, rgba(255,255,255,.6))}.api-empty .icon{font-size:3rem;display:block;margin-bottom:1rem}.api-empty button{margin-top:1rem;padding:.75rem 1.5rem;background:#8b5cf633;border:1px solid rgba(139,92,246,.3);border-radius:8px;color:var(--primary, #8b5cf6);cursor:pointer;transition:all .2s ease}.api-empty button:hover{background:#8b5cf64d}.new-key-alert{background:linear-gradient(135deg,#22c55e26,#10b98126);border:1px solid rgba(34,197,94,.3);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.new-key-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:#22c55e;font-size:1rem}.new-key-warning{margin:0 0 1rem;font-size:.875rem;color:#fffc}.new-key-value{display:flex;align-items:center;gap:1rem;background:#0000004d;padding:1rem;border-radius:8px;margin-bottom:1rem}.new-key-value code{flex:1;font-family:Fira Code,monospace;font-size:.875rem;color:#22c55e;word-break:break-all}.copy-btn{padding:.5rem 1rem;background:#22c55e33;border:1px solid rgba(34,197,94,.3);border-radius:6px;color:#22c55e;cursor:pointer;white-space:nowrap;transition:all .2s ease}.copy-btn:hover{background:#22c55e4d}.dismiss-btn{width:100%;padding:.75rem;background:#22c55e33;border:1px solid rgba(34,197,94,.3);border-radius:8px;color:#22c55e;cursor:pointer;transition:all .2s ease}.dismiss-btn:hover{background:#22c55e4d}.api-keys-list{display:flex;flex-direction:column;gap:.75rem}.api-key-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;transition:all .2s ease}.api-key-card:hover{background:#ffffff0d;border-color:#8b5cf64d}.api-key-card.revoked{opacity:.5}.key-main{display:flex;flex-direction:column;gap:.5rem}.key-info{display:flex;flex-direction:column;gap:.25rem}.key-name{font-weight:600;color:var(--text-primary, #fff)}.key-desc{font-size:.8rem;color:var(--text-secondary, rgba(255,255,255,.6))}.key-prefix{font-family:Fira Code,monospace;font-size:.8rem;color:#8b5cf6cc;background:#8b5cf61a;padding:.25rem .5rem;border-radius:4px;width:-moz-fit-content;width:fit-content}.key-meta{display:flex;gap:1rem;font-size:.75rem;color:var(--text-secondary, rgba(255,255,255,.5))}.key-permissions{background:#3b82f626;padding:.125rem .5rem;border-radius:4px;color:#60a5fa}.key-actions{display:flex;gap:.5rem}.revoke-btn{padding:.5rem 1rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:.8rem;cursor:pointer;transition:all .2s ease}.revoke-btn:hover{background:#ef444440}.revoked-badge{padding:.5rem 1rem;background:#6b728033;border-radius:6px;color:#fff6;font-size:.8rem}.webhooks-list{display:flex;flex-direction:column;gap:.75rem}.webhook-card{padding:1rem 1.5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;transition:all .2s ease}.webhook-card:hover{background:#ffffff0d;border-color:#8b5cf64d}.webhook-card.inactive{opacity:.6}.webhook-main{display:flex;flex-direction:column;gap:.75rem}.webhook-info{display:flex;flex-direction:column;gap:.25rem}.webhook-name{font-weight:600;color:var(--text-primary, #fff)}.webhook-url{font-family:Fira Code,monospace;font-size:.75rem;color:#ffffff80;word-break:break-all}.webhook-events{display:flex;flex-wrap:wrap;gap:.5rem}.event-tag{padding:.25rem .5rem;background:#8b5cf626;border-radius:4px;font-size:.7rem;color:#8b5cf6e6}.webhook-stats{display:flex;gap:1rem;font-size:.75rem}.webhook-stats .success{color:#22c55e}.webhook-stats .failures{color:#ef4444}.webhook-actions{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}.test-btn{padding:.5rem 1rem;background:#3b82f626;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#60a5fa;font-size:.8rem;cursor:pointer;transition:all .2s ease}.test-btn:hover{background:#3b82f640}.toggle-btn{padding:.5rem 1rem;background:#6b728026;border:1px solid rgba(107,114,128,.3);border-radius:6px;color:#fff9;font-size:.8rem;cursor:pointer;transition:all .2s ease}.toggle-btn.active{background:#22c55e26;border-color:#22c55e4d;color:#22c55e}.delete-btn{padding:.5rem .75rem;background:transparent;border:none;color:#fff6;cursor:pointer;transition:all .2s ease}.delete-btn:hover{color:#ef4444}.api-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.api-modal{background:linear-gradient(135deg,#1e1e32f2,#141428fa);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:90%;max-width:500px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 50px #00000080}.close-btn{width:32px;height:32px;background:#ffffff0d;border:none;border-radius:8px;color:#fff9;font-size:1.25rem;cursor:pointer;transition:all .2s ease}.form-group input[type=text],.form-group input[type=url],.form-group input[type=number]{padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--text-primary, #fff);font-size:.9rem;transition:all .2s ease}.form-group input:focus{outline:none;border-color:var(--primary, #8b5cf6);background:#ffffff14}.permissions-grid,.events-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.permission-checkbox,.event-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:all .2s ease}.permission-checkbox:hover,.event-checkbox:hover{background:#ffffff0f}.permission-checkbox input,.event-checkbox input{accent-color:var(--primary, #8b5cf6)}.permission-checkbox span,.event-checkbox span{font-size:.8rem;color:var(--text-secondary, rgba(255,255,255,.7))}.create-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary, #8b5cf6),var(--secondary, #6366f1));border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease}.create-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #8b5cf666}.create-btn:disabled{opacity:.5;cursor:not-allowed}.api-quickstart{margin-top:2rem;padding:1.5rem;background:#0003;border:1px solid rgba(255,255,255,.08);border-radius:12px}.api-quickstart h4{margin:0 0 1rem;font-size:.9rem;color:var(--text-secondary, rgba(255,255,255,.6))}.code-example{background:#0000004d;padding:1rem;border-radius:8px;overflow-x:auto}.code-example code{font-family:Fira Code,monospace;font-size:.8rem;color:#fffc;line-height:1.6}.code-example .comment{color:#fff6}.api-access-denied{text-align:center;padding:3rem;color:var(--text-secondary, rgba(255,255,255,.6))}.api-access-denied .icon{font-size:3rem;display:block;margin-bottom:1rem}@media (max-width: 768px){.api-header{flex-direction:column;gap:1rem}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.create-key-btn{width:100%}.api-key-card{flex-direction:column;align-items:flex-start;gap:1rem}.key-actions{width:100%}.key-actions button{flex:1}.permissions-grid,.events-grid{grid-template-columns:1fr}.api-modal{width:95%;max-height:90vh}}.cronjob-manager{padding:1.5rem}.cronjob-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.cronjob-title-section h3{margin:0;font-size:1.25rem;color:var(--text-primary, #fff)}.cronjob-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--text-secondary, rgba(255,255,255,.6))}.cronjob-actions{display:flex;gap:.75rem}.run-all-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.run-all-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #22c55e66}.run-all-btn:disabled{opacity:.6;cursor:not-allowed}.cronjob-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem}.cronjob-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:none;color:var(--text-secondary, rgba(255,255,255,.6));font-size:.9rem;cursor:pointer;border-radius:8px;transition:all .2s ease}.cronjob-tab:hover{background:#ffffff0d;color:var(--text-primary, #fff)}.cronjob-tab.active{background:#8b5cf633;color:var(--primary, #8b5cf6)}.agent-filter{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.agent-filter label{font-size:.875rem;color:var(--text-secondary, rgba(255,255,255,.7))}.agent-filter select{padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text-primary, #fff);font-size:.875rem;cursor:pointer}.agent-filter select:focus{outline:none;border-color:var(--primary, #8b5cf6)}.cronjob-loading,.cronjob-empty{text-align:center;padding:3rem;color:var(--text-secondary, rgba(255,255,255,.6))}.spinner{width:40px;height:40px;border:3px solid rgba(139,92,246,.2);border-top-color:var(--primary, #8b5cf6);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.cronjob-empty .icon{font-size:3rem;display:block;margin-bottom:1rem}.cronjob-empty .hint{font-size:.8rem;color:#fff6;margin-top:.5rem}.configs-list{display:flex;flex-direction:column;gap:1rem}.config-card{display:flex;justify-content:space-between;padding:1.25rem 1.5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;transition:all .2s ease}.config-card:hover{background:#ffffff0d;border-color:#8b5cf64d}.config-card.disabled{opacity:.6}.config-main{flex:1}.config-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.agent-badge{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:1.25rem}.config-info{flex:1}.config-info h4{margin:0;font-size:1rem;color:var(--text-primary, #fff)}.task-code{font-size:.75rem;color:#8b5cf6cc;font-family:Fira Code,monospace}.config-description{margin:0 0 .75rem;font-size:.85rem;color:var(--text-secondary, rgba(255,255,255,.6))}.config-details{display:flex;flex-wrap:wrap;gap:1.5rem}.detail-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.detail-item .label{color:#ffffff80}.detail-item .value{color:var(--text-secondary, rgba(255,255,255,.8));display:flex;align-items:center;gap:.5rem}.status-indicator{font-size:.75rem}.status-indicator.success{color:#22c55e}.status-indicator.failed{color:#ef4444}.toggle-switch{position:relative;width:48px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#ffffff1a;border-radius:26px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,#22c55e,#16a34a)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.config-actions{display:flex;flex-direction:column;gap:.5rem;margin-left:1.5rem}.run-btn{padding:.5rem 1rem;background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:6px;color:#22c55e;font-size:.8rem;cursor:pointer;transition:all .2s ease}.run-btn:hover{background:#22c55e40}.edit-btn{padding:.5rem 1rem;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:6px;color:#8b5cf6;font-size:.8rem;cursor:pointer;transition:all .2s ease}.edit-btn:hover{background:#8b5cf640}.executions-table{overflow-x:auto}.executions-table table{width:100%;border-collapse:collapse}.executions-table th{text-align:left;padding:.75rem 1rem;font-size:.8rem;font-weight:500;color:var(--text-secondary, rgba(255,255,255,.6));border-bottom:1px solid rgba(255,255,255,.1)}.executions-table td{padding:.75rem 1rem;font-size:.85rem;color:var(--text-secondary, rgba(255,255,255,.8));border-bottom:1px solid rgba(255,255,255,.05)}.exec-row:hover{background:#ffffff05}.exec-row.running{background:#3b82f60d}.exec-row.failed{background:#ef44440d}.task-cell{display:flex;flex-direction:column;gap:.25rem}.task-name{font-weight:500;color:var(--text-primary, #fff)}.trigger-type{font-size:.7rem;color:#ffffff80}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.badge-success{background:#22c55e26;color:#22c55e}.badge-error{background:#ef444426;color:#ef4444}.badge-running{background:#3b82f626;color:#60a5fa}.badge-warning{background:#f59e0b26;color:#f59e0b}.badge-default{background:#6b728026;color:#fff9}.items-cell{display:flex;gap:.5rem}.items-cell .processed{color:#fff9}.items-cell .succeeded{color:#22c55e}.items-cell .failed{color:#ef4444}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:linear-gradient(135deg,#1e1e32f2,#141428fa);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:90%;max-width:500px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 50px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h4{margin:0;font-size:1.1rem;color:var(--text-primary, #fff)}.close-btn{width:32px;height:32px;background:#ffffff0d;border:none;border-radius:8px;color:#fff9;font-size:1.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#ffffff1a;color:#fff}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;color:var(--text-secondary, rgba(255,255,255,.7));font-weight:500}.form-group input,.form-group select{padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--text-primary, #fff);font-size:.9rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary, #8b5cf6);background:#ffffff14}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.days-selector{display:flex;gap:.5rem}.day-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--text-secondary, rgba(255,255,255,.6));font-size:.8rem;cursor:pointer;transition:all .2s ease}.day-btn:hover{background:#ffffff1a}.day-btn.active{background:#8b5cf633;border-color:#8b5cf680;color:#8b5cf6}.custom-times{display:flex;flex-direction:column;gap:.5rem}.custom-time-row{display:flex;gap:.5rem}.custom-time-row input{flex:1}.remove-time-btn{width:40px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:#ef4444;font-size:1.25rem;cursor:pointer;transition:all .2s ease}.remove-time-btn:hover{background:#ef444440}.add-time-btn{padding:.5rem;background:#8b5cf626;border:1px dashed rgba(139,92,246,.3);border-radius:6px;color:#8b5cf6;font-size:.85rem;cursor:pointer;transition:all .2s ease}.add-time-btn:hover{background:#8b5cf640}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1)}.cancel-btn{padding:.75rem 1.25rem;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#ffffffb3;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:#ffffff0d;color:#fff}.save-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary, #8b5cf6),var(--secondary, #6366f1));border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease}.save-btn:hover{transform:translateY(-1px);box-shadow:0 4px 15px #8b5cf666}@media (max-width: 768px){.cronjob-header{flex-direction:column;gap:1rem}.cronjob-actions,.run-all-btn{width:100%}.config-card{flex-direction:column}.config-actions{flex-direction:row;margin-left:0;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.config-actions button{flex:1}.form-row{grid-template-columns:1fr}.days-selector{flex-wrap:wrap}.executions-table{font-size:.8rem}.executions-table th,.executions-table td{padding:.5rem}}.push-manager{padding:1.5rem}.push-header{margin-bottom:1.5rem}.push-title-section h3{margin:0;font-size:1.25rem;color:var(--text-primary, #fff)}.push-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--text-secondary, rgba(255,255,255,.6))}.push-loading{text-align:center;padding:2rem;color:var(--text-secondary, rgba(255,255,255,.6))}.push-loading .spinner{width:32px;height:32px;border:3px solid rgba(139,92,246,.2);border-top-color:var(--primary, #8b5cf6);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.push-unsupported{text-align:center;padding:2rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:12px}.push-unsupported .icon{font-size:2.5rem;display:block;margin-bottom:.75rem}.push-unsupported h4{margin:0 0 .5rem;color:#f59e0b}.push-unsupported p{margin:0;font-size:.875rem;color:var(--text-secondary, rgba(255,255,255,.6))}.push-status-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;border-radius:12px;margin-bottom:1.5rem;transition:all .2s ease}.push-status-card.granted{background:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.push-status-card.denied{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.push-status-card.default{background:#8b5cf61a;border:1px solid rgba(139,92,246,.3)}.status-icon{font-size:1.5rem;flex-shrink:0}.status-info h4{margin:0 0 .25rem;font-size:1rem;color:var(--text-primary, #fff)}.status-info p{margin:0;font-size:.85rem;color:var(--text-secondary, rgba(255,255,255,.6))}.ios-hint{margin-top:.5rem!important;font-size:.8rem!important;color:#f59e0b!important}.push-actions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.enable-btn,.subscribe-btn{padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--primary, #8b5cf6),var(--secondary, #6366f1));border:none;border-radius:10px;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.enable-btn:hover,.subscribe-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #8b5cf666}.test-btn{padding:.875rem 1.5rem;background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:10px;color:#22c55e;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.test-btn:hover:not(:disabled){background:#22c55e40}.test-btn:disabled{opacity:.6;cursor:not-allowed}.unsubscribe-btn{padding:.75rem 1rem;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:var(--text-secondary, rgba(255,255,255,.6));font-size:.85rem;cursor:pointer;transition:all .2s ease}.unsubscribe-btn:hover{border-color:#ef444480;color:#ef4444}.denied-help{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:10px;padding:1rem}.denied-help p{margin:0 0 .5rem;font-size:.875rem;color:var(--text-secondary, rgba(255,255,255,.7))}.denied-help ol{margin:0;padding-left:1.25rem;font-size:.8rem;color:var(--text-secondary, rgba(255,255,255,.6))}.denied-help li{margin-bottom:.25rem}.push-devices{margin-bottom:1.5rem}.push-devices h4{margin:0 0 .75rem;font-size:.95rem;color:var(--text-primary, #fff)}.devices-list{display:flex;flex-direction:column;gap:.5rem}.device-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px}.device-icon{font-size:1.25rem}.device-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.device-name{font-size:.875rem;color:var(--text-primary, #fff)}.device-date{font-size:.75rem;color:var(--text-secondary, rgba(255,255,255,.5))}.remove-device-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ef444426;border:none;border-radius:6px;color:#ef4444;font-size:1.25rem;cursor:pointer;transition:all .2s ease}.remove-device-btn:hover{background:#ef444440}.push-info{background:#0003;border-radius:10px;padding:1rem}.push-info h5{margin:0 0 .5rem;font-size:.875rem;color:var(--text-secondary, rgba(255,255,255,.7))}.push-info ul{margin:0;padding-left:1.25rem;font-size:.8rem;color:var(--text-secondary, rgba(255,255,255,.6))}.push-info li{margin-bottom:.25rem}.ios-note{color:#f59e0b!important}.ios-instructions-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.ios-instructions-content{background:linear-gradient(135deg,#1e1e32fa,#141428fc);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:2rem;max-width:400px;width:100%;position:relative}.ios-instructions-content .close-btn{position:absolute;top:1rem;right:1rem;width:32px;height:32px;background:#ffffff1a;border:none;border-radius:8px;color:#fff9;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.ios-instructions-content .close-btn:hover{background:#fff3;color:#fff}.ios-icon{font-size:3rem;text-align:center;margin-bottom:1rem}.ios-instructions-content h4{margin:0 0 1rem;text-align:center;color:var(--text-primary, #fff)}.ios-instructions-content>p{text-align:center;margin:0 0 1.5rem;font-size:.9rem;color:var(--text-secondary, rgba(255,255,255,.7))}.ios-instructions-content ol{margin:0;padding-left:1.25rem}.ios-instructions-content li{margin-bottom:1rem;font-size:.875rem;color:var(--text-secondary, rgba(255,255,255,.8))}.ios-instructions-content li strong{color:var(--text-primary, #fff)}.ios-instructions-content .hint{margin:.25rem 0 0;font-size:.75rem;color:#ffffff80}.share-icon{display:inline-block;font-size:1rem}.got-it-btn{width:100%;padding:.875rem;margin-top:1.5rem;background:linear-gradient(135deg,var(--primary, #8b5cf6),var(--secondary, #6366f1));border:none;border-radius:10px;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.got-it-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #8b5cf666}@media (max-width: 768px){.push-manager{padding:1rem}.ios-instructions-content{padding:1.5rem}.push-status-card{flex-direction:column;align-items:flex-start}}.badge-panel{padding:20px;max-width:800px;margin:0 auto}.badge-panel.mobile{padding:16px;max-width:100%}.badge-panel-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:#ffffffb3}.badge-loading-spinner{width:40px;height:40px;border:3px solid rgba(200,230,0,.2);border-top-color:#c8e600;border-radius:50%;animation:spin 1s linear infinite}.badge-panel-header{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.badge-stats-card{display:flex;align-items:center;justify-content:space-between;padding:20px;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.2);border-radius:20px}.badge-stat-main{display:flex;align-items:center;gap:16px}.badge-stat-icon{width:48px;height:48px;color:#c8e600;filter:drop-shadow(0 0 10px rgba(200,230,0,.5))}.badge-stat-info{display:flex;flex-direction:column}.badge-stat-value{font-family:Bricolage Grotesque,sans-serif;font-size:32px;font-weight:800;color:#fff;line-height:1}.badge-stat-label{font-size:14px;color:#fff9}.badge-progress-ring{position:relative;width:80px;height:80px}.badge-progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.badge-ring-bg{fill:none;stroke:#ffffff1a;stroke-width:3}.badge-ring-progress{fill:none;stroke:#c8e600;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(200,230,0,.5));transition:stroke-dasharray .5s ease}.badge-ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Bricolage Grotesque,sans-serif;font-size:16px;font-weight:700;color:#fff}.badge-points-card{display:flex;flex-direction:column;align-items:center;padding:16px;background:linear-gradient(135deg,#c8e60026,#c8e6000d);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(200,230,0,.3);border-radius:16px}.badge-points-value{font-family:Bricolage Grotesque,sans-serif;font-size:28px;font-weight:800;color:#c8e600;text-shadow:0 0 20px rgba(200,230,0,.5)}.badge-points-label{font-size:12px;color:#fff9;text-transform:uppercase;letter-spacing:1px}.badge-tier-filter{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.badge-tier-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .2s ease}.badge-tier-btn:hover{background:#ffffff1a}.badge-tier-btn.active{background:rgba(var(--tier-color-rgb, 200, 230, 0),.2);border-color:var(--tier-color, #c8e600);box-shadow:0 0 20px rgba(var(--tier-color-rgb, 200, 230, 0),.3)}.tier-dot{width:12px;height:12px;border-radius:50%;background:var(--tier-color, #c8e600);box-shadow:0 0 10px var(--tier-color, #c8e600)}.tier-count{font-size:11px;color:#ffffffb3;font-weight:600}.badge-categories{display:flex;flex-direction:column;gap:12px}.badge-category{background:linear-gradient(135deg,#ffffff14,#ffffff08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;transition:all .3s ease}.badge-category.expanded{border-color:#c8e6004d}.badge-category-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;background:transparent;border:none;cursor:pointer;color:#fff}.badge-category-info{display:flex;align-items:center;gap:12px}.badge-category-icon{width:24px;height:24px;color:#c8e600}.badge-category-name{font-family:Bricolage Grotesque,sans-serif;font-size:16px;font-weight:600}.badge-category-count{font-size:13px;color:#ffffff80;background:#ffffff1a;padding:4px 10px;border-radius:20px}.badge-category-arrow{font-size:24px;color:#ffffff80;transition:transform .3s ease}.badge-category-arrow.rotated{transform:rotate(90deg);color:#c8e600}.badge-category-content{padding:0 16px 16px}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.badge-panel.mobile .badge-grid{grid-template-columns:1fr}.badge-item{display:flex;align-items:center;gap:12px;padding:14px;background:linear-gradient(135deg,#14142899,#1e1e3c66);border:1px solid rgba(255,255,255,.1);border-radius:14px;position:relative;overflow:hidden;transition:all .2s ease}.badge-item:hover{border-color:#fff3;transform:translateY(-2px)}.badge-item.unlocked{border-color:rgba(var(--badge-tier-color-rgb, 200, 230, 0),.4);background:linear-gradient(135deg,rgba(var(--badge-tier-color-rgb, 200, 230, 0),.15),rgba(var(--badge-tier-color-rgb, 200, 230, 0),.05))}.badge-item.locked{opacity:.7}.badge-item.secret.locked{background:linear-gradient(135deg,#64649633,#3232501a)}.badge-item-icon{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:24px;background:#ffffff0d;border-radius:12px;flex-shrink:0}.badge-item.unlocked .badge-item-icon{background:rgba(var(--badge-tier-color-rgb, 200, 230, 0),.2);box-shadow:0 0 20px rgba(var(--badge-tier-color-rgb, 200, 230, 0),.3)}.badge-unlocked-check{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;color:#22c55e;background:#1a1a2e;border-radius:50%}.badge-locked-icon{position:absolute;bottom:-4px;right:-4px;width:18px;height:18px;color:#fff6;background:#1a1a2e;border-radius:50%;padding:2px}.badge-item-info{flex:1;min-width:0}.badge-item-name{display:block;font-family:Bricolage Grotesque,sans-serif;font-size:14px;font-weight:600;color:#fff;margin-bottom:2px}.badge-item.locked .badge-item-name{color:#ffffffb3}.badge-item-desc{display:block;font-size:12px;color:#ffffff80;line-height:1.3}.badge-item-progress{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:60px}.badge-progress-bar-bg{width:50px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.badge-progress-bar-fill{height:100%;border-radius:2px;transition:width .5s ease}.badge-progress-text{font-size:11px;color:#fff9;font-weight:500}.badge-item.unlocked .badge-progress-text{color:#c8e600;font-weight:700}.badge-tier-indicator{position:absolute;top:0;left:0;width:4px;height:100%}.badge-refresh-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:20px;padding:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#ffffffb3;font-size:14px;cursor:pointer;transition:all .2s ease}.badge-refresh-btn:hover{background:#ffffff1a;border-color:#ffffff40;color:#fff}.badge-refresh-btn span{font-size:16px}@media (max-width: 640px){.badge-stats-card{padding:16px}.badge-stat-value{font-size:28px}.badge-progress-ring{width:70px;height:70px}.badge-tier-btn{padding:8px 12px}.tier-count{font-size:10px}}.badge-toast{position:fixed;top:20px;left:50%;transform:translate(-50%) translateY(-150%);z-index:9999;min-width:320px;max-width:90vw;padding:2px;border-radius:20px;background:linear-gradient(135deg,#fff3,#ffffff0d);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.25);box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff1a inset,0 0 100px rgba(var(--tier-color-rgb, 200, 230, 0),.3);opacity:0;transition:all .6s cubic-bezier(.34,1.56,.64,1)}.badge-toast.visible{transform:translate(-50%) translateY(0);opacity:1}.badge-toast.exiting{transform:translate(-50%) translateY(-150%);opacity:0}.badge-toast-glow{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:22px;background:linear-gradient(135deg,var(--tier-color, #c8e600) 0%,transparent 50%,var(--tier-color, #c8e600) 100%);opacity:.5;filter:blur(15px);z-index:-1;animation:glow-pulse 2s ease-in-out infinite}@keyframes glow-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.02)}}.badge-toast-content{display:flex;align-items:center;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#141428e6,#1e1e3cf2);border-radius:18px;position:relative;overflow:hidden}.badge-toast-icon{position:relative;width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:32px;background:linear-gradient(135deg,rgba(var(--tier-color-rgb, 200, 230, 0),.2),rgba(var(--tier-color-rgb, 200, 230, 0),.1));border-radius:16px;border:2px solid rgba(var(--tier-color-rgb, 200, 230, 0),.5);box-shadow:0 0 30px rgba(var(--tier-color-rgb, 200, 230, 0),.3),inset 0 1px #ffffff1a;flex-shrink:0}.badge-icon-glow{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:20px;background:var(--tier-color, #c8e600);opacity:.2;filter:blur(10px);animation:icon-glow 1.5s ease-in-out infinite alternate}@keyframes icon-glow{0%{opacity:.1}to{opacity:.4}}.badge-toast-info{flex:1;min-width:0}.badge-toast-tier{display:inline-block;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--tier-color, #c8e600);text-shadow:0 0 10px rgba(var(--tier-color-rgb, 200, 230, 0),.5);margin-bottom:4px}.badge-toast-title{font-family:Bricolage Grotesque,sans-serif;font-size:16px;font-weight:700;color:#fff;margin:0 0 4px;line-height:1.2}.badge-toast-description{font-size:13px;color:#ffffffb3;margin:0;line-height:1.4}.badge-toast-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff9;font-size:18px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.badge-toast-close:hover{background:#fff3;color:#fff;transform:scale(1.1)}.badge-toast-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff1a;border-radius:0 0 18px 18px;overflow:hidden}.badge-progress-bar{height:100%;background:linear-gradient(90deg,var(--tier-color, #c8e600) 0%,rgba(255,255,255,.8) 100%);border-radius:0 0 0 18px;animation:progress-shrink 5s linear forwards;box-shadow:0 0 10px var(--tier-color, #c8e600)}@keyframes progress-shrink{0%{width:100%}to{width:0%}}@media (max-width: 480px){.badge-toast{min-width:auto;width:calc(100vw - 32px);top:max(20px,env(safe-area-inset-top))}.badge-toast-content{padding:14px 16px}.badge-toast-icon{width:50px;height:50px;font-size:28px}.badge-toast-title{font-size:15px}.badge-toast-description{font-size:12px}}.badge-toast-content:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.1) 50%,transparent 60%);animation:shine 3s infinite;pointer-events:none}@keyframes shine{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.settings-container{min-height:100vh;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}.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{width:100%;padding:0 2rem}.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:#000;background:#fff}.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::-moz-placeholder{color:var(--text-light)}.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}.subscription-card{background:linear-gradient(135deg,var(--bg-card) 0%,rgba(139,92,246,.05) 100%);border:1px solid rgba(139,92,246,.2)!important}.subscription-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.subscription-header h2{margin-bottom:.25rem!important}.subscription-plan-name{font-size:1.1rem;font-weight:600;color:var(--primary);margin:0}.subscription-badge{padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:600}.subscription-badge.active{background:#10b9811a;color:#10b981}.subscription-badge.expired{background:#ef44441a;color:#ef4444}.subscription-badge.pending_payment{background:#f59e0b1a;color:#f59e0b}.subscription-details{margin-bottom:1.5rem}.subscription-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.subscription-info-item{display:flex;flex-direction:column;gap:4px}.subscription-info-item .label{font-size:.8rem;color:var(--text-light)}.subscription-info-item .value{font-size:.95rem;font-weight:500;color:var(--text-dark)}.subscription-team{background:var(--gray-50);border-radius:12px;padding:1rem}.team-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.team-header .label{font-size:.9rem;font-weight:500;color:var(--text-dark)}.team-header .count{font-size:.85rem;color:var(--text-light)}.team-progress-bar{height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden}.team-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),#8b5cf6);border-radius:4px;transition:width .3s ease}.team-limit-warning{margin:.75rem 0 0;font-size:.85rem;color:#f59e0b;display:flex;align-items:center;gap:4px}.subscription-actions{display:flex;gap:1rem;flex-wrap:wrap}.subscription-actions .btn{flex:1;min-width:150px;text-align:center;text-decoration:none}.settings-accordion{background:linear-gradient(135deg,#ffffffe6,#ffffffb3);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .3s ease}.settings-accordion:hover{border-color:#c8e60080;box-shadow:0 4px 20px #00000014}.settings-accordion.expanded{border-color:#c8e6004d}.settings-accordion-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px}.settings-accordion-title{display:flex;align-items:center;gap:16px}.accordion-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:24px;background:linear-gradient(135deg,#c8e60033,#c8e6001a);border-radius:12px;border:1px solid rgba(200,230,0,.3)}.settings-accordion-title h3{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--text-dark);margin:0 0 4px}.settings-accordion-title p{font-size:14px;color:var(--text-light);margin:0}.accordion-arrow{font-size:24px;color:var(--text-light);transition:transform .3s ease}.accordion-arrow.rotated{transform:rotate(90deg);color:#c8e600}.settings-accordion-content{padding:0 24px 24px;animation:accordion-slide .3s ease}@keyframes accordion-slide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-search{width:100%;padding:12px 16px 12px 44px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.875rem;color:#1a1a2e;transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center}.settings-mobile-container{padding:16px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));min-height:100%}.settings-mobile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.settings-mobile-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.settings-user-card{background:linear-gradient(135deg,#c8e600,#b8d600);border-radius:20px;padding:24px;margin-bottom:20px;text-align:center}.settings-user-avatar{width:80px;height:80px;border-radius:50%;background:#ffffff4d;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.settings-user-name{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#1a1a2e;margin-bottom:4px}.settings-user-email{font-size:.875rem;color:#1a1a2eb3}.settings-section-title{font-weight:600;font-size:.8125rem;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;margin-top:24px}.settings-menu{display:flex;flex-direction:column;gap:8px}.settings-menu-item{display:flex;align-items:center;gap:14px;padding:16px;background:#fff;border-radius:14px;box-shadow:0 2px 6px #0000000a;border:1px solid #f0f0e8;cursor:pointer;transition:all .2s ease}.settings-menu-item:hover{box-shadow:0 4px 12px #00000014}.settings-menu-icon{width:40px;height:40px;border-radius:10px;background:#f5f5f0;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.settings-menu-content{flex:1}.settings-menu-label{font-weight:600;font-size:.9375rem;color:#1a1a2e;margin-bottom:2px}.settings-menu-desc{font-size:.75rem;color:#888}.settings-menu-arrow{font-size:1.25rem;color:#ccc}.settings-toggle{width:50px;height:28px;background:#e8e6dc;border-radius:14px;position:relative;cursor:pointer;transition:all .2s ease}.settings-toggle.active{background:linear-gradient(135deg,#c8e600,#b8d600)}.settings-toggle-knob{width:24px;height:24px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.settings-toggle.active .settings-toggle-knob{left:24px}.settings-logout-btn{width:100%;padding:16px;background:#fee2e2;border:none;border-radius:14px;font-size:.9375rem;font-weight:600;color:#dc2626;cursor:pointer;transition:all .2s ease;margin-top:24px}.settings-logout-btn:hover{background:#fecaca}.settings-mobile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end;justify-content:center}.settings-mobile-modal{width:100%;max-height:90vh;background:#faf9f5;border-radius:24px 24px 0 0;padding:20px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;animation:modal-slide-up .3s ease}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.settings-modal-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#1a1a2e}.settings-modal-close{width:36px;height:36px;border-radius:50%;background:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;color:#666;box-shadow:0 2px 6px #00000014}.settings-form-group{margin-bottom:16px}.settings-form-label{display:block;font-size:.8125rem;font-weight:600;color:#444;margin-bottom:6px}.settings-form-input{width:100%;padding:14px 16px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.9375rem;color:#1a1a2e;transition:all .2s ease}.settings-form-input:focus{outline:none;border-color:#c8e600;box-shadow:0 0 0 3px #c8e60026}.settings-btn-primary{width:100%;padding:14px 20px;background:linear-gradient(135deg,#c8e600,#b8d600);border:none;border-radius:12px;font-size:.9375rem;font-weight:600;color:#1a1a2e;cursor:pointer;transition:all .2s ease;margin-top:8px}.help-center{padding:2rem;max-width:1400px;margin:0 auto}.help-header{text-align:left;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.help-header h1{font-size:2.5rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.help-header p{color:#6b7280;font-size:1.1rem}.help-search{max-width:500px;margin:1.5rem auto 0}.help-search input{width:100%;padding:.875rem 1.25rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.help-search input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.help-layout{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:stretch}.help-sidebar{position:sticky;top:2rem;height:-moz-fit-content;height:fit-content;max-height:none;overflow-y:visible}.help-nav{display:flex;flex-direction:column;gap:.25rem;background:#f9fafb;border-radius:.75rem;padding:.75rem}.help-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:transparent;border-radius:.5rem;cursor:pointer;transition:all .2s;text-align:left}.help-nav-item:hover{background:#e5e7eb}.help-nav-item.active{background:#3b82f6;color:#fff}.help-nav-icon{font-size:1.25rem;width:1.5rem;text-align:center}.help-nav-title{font-size:.875rem;font-weight:500}.help-content{min-height:600px}.help-section{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.help-section>h2{font-size:1.875rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.section-intro{font-size:1.1rem;color:#6b7280;margin-bottom:2rem;line-height:1.6}.help-article{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem}.help-article h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:1rem}.help-article h4{font-size:1rem;font-weight:600;color:#374151;margin:1.25rem 0 .75rem}.help-article p{color:#4b5563;line-height:1.7;margin-bottom:.75rem}.help-article ul,.help-article ol{color:#4b5563;margin:.75rem 0;padding-left:1.5rem}.help-article li{margin-bottom:.5rem;line-height:1.6}.help-article li strong{color:#1f2937}.help-card{background:#f9fafb;border-radius:.5rem;padding:1.25rem;margin:1rem 0;border-left:4px solid #3b82f6}.help-card h4{margin-top:0;color:#1f2937}.help-card p{margin-bottom:.5rem}.help-card ul{margin-bottom:0}.help-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9rem}.help-table th,.help-table td{padding:.75rem 1rem;text-align:left;border:1px solid #e5e7eb}.help-table th{background:#f9fafb;font-weight:600;color:#374151}.help-table td{color:#4b5563}.help-table tbody tr:hover{background:#f9fafb}.help-checklist{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.help-checklist label{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f9fafb;border-radius:.5rem;cursor:pointer;transition:background .2s}.help-checklist label:hover{background:#f3f4f6}.help-checklist input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:#3b82f6}.help-tip,.help-warning{padding:1rem 1.25rem;border-radius:.5rem;margin:1rem 0}.help-tip{background:#ecfdf5;border-left:4px solid #10b981;color:#065f46}.help-warning{background:#fef3c7;border-left:4px solid #f59e0b;color:#92400e}.help-tip ul,.help-warning ul{margin:.5rem 0 0;padding-left:1.25rem}.help-steps{counter-reset:step-counter;list-style:none;padding-left:0}.help-steps li{position:relative;padding-left:2.5rem;margin-bottom:1rem}.help-steps li:before{content:counter(step-counter);counter-increment:step-counter;position:absolute;left:0;top:0;width:1.75rem;height:1.75rem;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600}.help-steps li ul{margin-top:.5rem;list-style:disc;padding-left:1.25rem}.btn-example{display:inline-block;background:#3b82f6;color:#fff;padding:.25rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500}.status-list{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.status-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:.5rem;background:#f9fafb}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500;white-space:nowrap}.status-item p{margin:0;color:#4b5563;flex:1}.status-active .status-badge{background:#dcfce7;color:#166534}.status-pending .status-badge{background:#fef3c7;color:#92400e}.status-inactive .status-badge{background:#f3f4f6;color:#6b7280}.status-scheduled .status-badge{background:#dbeafe;color:#1e40af}.status-confirmed .status-badge{background:#e0e7ff;color:#3730a3}.status-completed .status-badge{background:#dcfce7;color:#166534}.status-cancelled .status-badge{background:#fee2e2;color:#991b1b}.status-noshow .status-badge{background:#fce7f3;color:#9d174d}.status-partial .status-badge{background:#fed7aa;color:#c2410c}.status-paid .status-badge{background:#dcfce7;color:#166534}.status-overdue .status-badge{background:#fee2e2;color:#991b1b}.status-verified .status-badge{background:#cffafe;color:#0e7490}.status-rejected .status-badge{background:#fee2e2;color:#991b1b}.status-paused .status-badge{background:#fef3c7;color:#92400e}.status-discharged .status-badge{background:#e0e7ff;color:#3730a3}.status-abandoned .status-badge{background:#f3f4f6;color:#6b7280}.help-comparison{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1rem 0}.comparison-card{background:#f9fafb;border-radius:.5rem;padding:1.25rem}.comparison-card h4{margin-top:0;color:#1f2937;font-size:1rem}.funnel-stages{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.funnel-stage{flex:1;min-width:150px;padding:1rem;background:#f9fafb;border-radius:.5rem;text-align:center}.stage-badge{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:600;margin-bottom:.5rem}.stage-perdido{background:#f3f4f6;color:#6b7280}.funnel-stage p{margin:0;font-size:.875rem;color:#6b7280}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin:1rem 0}.metric-card{background:#f9fafb;border-radius:.5rem;padding:1rem}.metric-card h4{margin:0 0 .5rem;font-size:.875rem;color:#1f2937}.metric-card p{margin:0;font-size:.813rem;color:#6b7280}.faq-item h3{color:#3b82f6;cursor:pointer}.faq-item h3:before{content:"Q: ";font-weight:700}@media (max-width: 1024px){.help-layout{grid-template-columns:1fr}.help-sidebar{position:static}.help-nav{flex-direction:row;overflow-x:auto;padding-bottom:.5rem}.help-nav-item{white-space:nowrap;flex-shrink:0}.help-nav-title{display:none}.help-comparison{grid-template-columns:1fr}}@media (max-width: 640px){.help-center{padding:1rem}.help-header h1{font-size:1.75rem}.help-section>h2{font-size:1.5rem}.help-article{padding:1rem}.funnel-stages{flex-direction:column}.funnel-stage{min-width:auto}}.mobile-page-container{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));min-height:100%}.mobile-card{background:#fff;border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #f0f0e8}.mobile-card.beige{background:#faf9f5;border:1px solid #e8e6dc}.mobile-card.cream{background:#fdfcfa;border:1px solid #f0ede4}.mobile-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #f0f0e8}.mobile-page-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.mobile-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#c8e600,#b8d600);border:none;border-radius:12px;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;color:#1a1a2e;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #c8e6004d}.mobile-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #c8e60066}.mobile-btn-primary:active{transform:translateY(0)}.mobile-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:#1a1a2e;border:none;border-radius:12px;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.mobile-btn-secondary:hover{background:#2a2a3e;transform:translateY(-1px)}.mobile-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:transparent;border:1.5px solid #1a1a2e;border-radius:12px;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;color:#1a1a2e;cursor:pointer;transition:all .2s ease}.mobile-btn-outline:hover{background:#f5f5f0}.mobile-btn-sm{padding:8px 14px;font-size:.75rem}.mobile-btn-lg{padding:14px 24px;font-size:1rem}.mobile-btn-full{width:100%}.mobile-search{width:100%;padding:12px 16px 12px 44px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.875rem;color:#1a1a2e;transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center}.mobile-search:focus{outline:none;border-color:#c8e600;box-shadow:0 0 0 3px #c8e60026}.mobile-search::-moz-placeholder{color:#999}.mobile-search::placeholder{color:#999}.mobile-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.mobile-filters::-webkit-scrollbar{display:none}.mobile-filter-pill{flex-shrink:0;padding:8px 16px;background:#fff;border:1.5px solid #e8e6dc;border-radius:20px;font-size:.8125rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease}.mobile-filter-pill.active{background:#1a1a2e;border-color:#1a1a2e;color:#fff}.mobile-list-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fff;border-radius:16px;margin-bottom:8px;box-shadow:0 2px 8px #0000000a;border:1px solid #f0f0e8;cursor:pointer;transition:all .2s ease}.mobile-list-item:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.mobile-list-item-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#c8e600,#b8d600);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#1a1a2e;flex-shrink:0}.mobile-list-item-content{flex:1;min-width:0}.mobile-list-item-title{font-weight:600;font-size:.9375rem;color:#1a1a2e;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-list-item-subtitle{font-size:.8125rem;color:#888;margin-bottom:6px}.mobile-list-item-meta{display:flex;align-items:center;gap:12px;font-size:.75rem;color:#999}.mobile-list-item-actions{display:flex;flex-direction:column;gap:8px}.mobile-list-item-action{width:32px;height:32px;border-radius:8px;background:#f5f5f0;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#666}.mobile-list-item-action:hover{background:#e8e8e0}.mobile-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.mobile-badge-success{background:#d4f8d4;color:#166534}.mobile-badge-warning{background:#fef3c7;color:#92400e}.mobile-badge-danger{background:#fee2e2;color:#991b1b}.mobile-badge-info{background:#dbeafe;color:#1e40af}.mobile-badge-neutral{background:#f3f4f6;color:#4b5563}.mobile-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.mobile-stat-card{background:#fff;border-radius:16px;padding:16px 12px;text-align:center;box-shadow:0 2px 8px #0000000a;border:1px solid #f0f0e8}.mobile-stat-value{font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#1a1a2e;margin-bottom:4px}.mobile-stat-label{font-size:.6875rem;color:#888;text-transform:uppercase;letter-spacing:.5px}.mobile-empty-state{text-align:center;padding:48px 24px}.mobile-empty-icon{width:80px;height:80px;margin:0 auto 16px;background:#f5f5f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.mobile-empty-title{font-weight:600;font-size:1.125rem;color:#1a1a2e;margin-bottom:8px}.mobile-empty-text{font-size:.875rem;color:#888;margin-bottom:20px}.mobile-skeleton{background:linear-gradient(90deg,#f0f0e8 25%,#f8f8f4,#f0f0e8 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:8px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.mobile-fab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#c8e600,#b8d600);border:none;box-shadow:0 4px 16px #c8e60066;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:100}.mobile-fab:hover{transform:scale(1.05);box-shadow:0 6px 20px #c8e60080}.mobile-section-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.125rem;font-weight:700;color:#1a1a2e;margin-bottom:12px;margin-top:24px}.mobile-input{width:100%;padding:14px 16px;background:#fff;border:1.5px solid #e8e6dc;border-radius:12px;font-size:.9375rem;color:#1a1a2e;transition:all .2s ease}.mobile-input:focus{outline:none;border-color:#c8e600;box-shadow:0 0 0 3px #c8e60026}.mobile-label{display:block;font-size:.8125rem;font-weight:600;color:#444;margin-bottom:6px}.mobile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end;justify-content:center}.mobile-modal{width:100%;max-height:90vh;background:#fff;border-radius:24px 24px 0 0;padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;animation:modal-slide-up .3s ease}@keyframes modal-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.mobile-modal-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#1a1a2e}.mobile-modal-close{width:36px;height:36px;border-radius:50%;background:#f5f5f0;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666}.help-mobile-container{padding:16px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));min-height:100%;background:#faf9f5}.help-mobile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.help-mobile-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.help-mobile-subtitle{font-size:.875rem;color:#666;margin-top:4px}.help-mobile-nav{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;margin-bottom:20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.help-mobile-nav::-webkit-scrollbar{display:none}.help-mobile-nav-item{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;background:#fff;border:1.5px solid #e8e6dc;border-radius:14px;cursor:pointer;transition:all .2s ease;min-width:70px}.help-mobile-nav-item.active{background:linear-gradient(135deg,#c8e600,#b8d600);border-color:#c8e600}.help-mobile-nav-icon{font-size:1.5rem}.help-mobile-nav-label{font-size:.625rem;font-weight:600;color:#1a1a2e;text-align:center;white-space:nowrap}.help-mobile-content{background:#fff;border-radius:20px;padding:20px;box-shadow:0 2px 8px #0000000a;border:1px solid #f0f0e8}.help-mobile-section-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#1a1a2e;margin-bottom:8px}.help-mobile-section-intro{font-size:.875rem;color:#666;margin-bottom:20px;line-height:1.5}.help-mobile-article{background:#faf9f5;border-radius:16px;padding:16px;margin-bottom:12px;border:1px solid #f0f0e8}.help-mobile-article:last-child{margin-bottom:0}.help-mobile-article h3{font-size:1rem;font-weight:700;color:#1a1a2e;margin-bottom:12px}.help-mobile-article h4{font-size:.9375rem;font-weight:600;color:#1a1a2e;margin:16px 0 8px}.help-mobile-article p{font-size:.875rem;color:#444;line-height:1.6;margin-bottom:12px}.help-mobile-article ul,.help-mobile-article ol{margin:12px 0;padding-left:20px}.help-mobile-article li{font-size:.875rem;color:#444;margin-bottom:8px;line-height:1.5}.help-mobile-article li strong{color:#1a1a2e}.help-mobile-card{background:#fff;border-radius:12px;padding:14px;margin:12px 0;border-left:3px solid #c8e600}.help-mobile-card h4{margin-top:0;font-size:.9375rem}.help-mobile-steps{counter-reset:step-counter;list-style:none;padding-left:0}.help-mobile-steps li{position:relative;padding-left:36px;margin-bottom:16px;font-size:.875rem;color:#444;line-height:1.5}.help-mobile-steps li:before{content:counter(step-counter);counter-increment:step-counter;position:absolute;left:0;top:0;width:24px;height:24px;background:linear-gradient(135deg,#c8e600,#b8d600);color:#1a1a2e;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.help-mobile-status-list{display:flex;flex-direction:column;gap:10px}.help-mobile-status-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:12px}.help-mobile-status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.6875rem;font-weight:600;white-space:nowrap}.help-mobile-status-item p{margin:0;font-size:.8125rem;color:#666;flex:1}.help-mobile-status-item.status-active .help-mobile-status-badge{background:#dcfce7;color:#166534}.help-mobile-status-item.status-pending .help-mobile-status-badge{background:#fef3c7;color:#92400e}.help-mobile-status-item.status-inactive .help-mobile-status-badge{background:#f3f4f6;color:#6b7280}.help-mobile-status-item.status-scheduled .help-mobile-status-badge{background:#dbeafe;color:#1e40af}.help-mobile-status-item.status-completed .help-mobile-status-badge{background:#dcfce7;color:#166534}.help-mobile-status-item.status-cancelled .help-mobile-status-badge{background:#fee2e2;color:#991b1b}.help-mobile-status-item.status-noshow .help-mobile-status-badge{background:#fce7f3;color:#9d174d}.help-mobile-status-item.status-partial .help-mobile-status-badge{background:#fed7aa;color:#c2410c}.help-mobile-status-item.status-paid .help-mobile-status-badge{background:#dcfce7;color:#166534}.help-mobile-status-item.status-overdue .help-mobile-status-badge{background:#fee2e2;color:#991b1b}.help-mobile-status-item.status-paused .help-mobile-status-badge{background:#fef3c7;color:#92400e}.help-mobile-status-item.status-discharged .help-mobile-status-badge{background:#e0e7ff;color:#3730a3}.help-mobile-comparison{display:flex;flex-direction:column;gap:10px}.help-mobile-comparison-card{background:#fff;border-radius:12px;padding:14px}.help-mobile-comparison-card h4{margin-top:0;margin-bottom:8px;font-size:.9375rem}.help-mobile-comparison-card p{margin:0;font-size:.8125rem}.help-mobile-funnel{display:flex;flex-direction:column;gap:8px}.help-mobile-funnel-stage{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:12px}.help-mobile-funnel-badge{display:inline-block;padding:4px 10px;border-radius:8px;font-size:.6875rem;font-weight:600}.help-mobile-funnel-stage p{margin:0;font-size:.8125rem;color:#666}.stage-nuevo{background:#dbeafe;color:#1e40af}.stage-contactado{background:#fef3c7;color:#92400e}.stage-interesado{background:#e0e7ff;color:#3730a3}.stage-cita{background:#cffafe;color:#0e7490}.stage-convertido{background:#dcfce7;color:#166534}.help-mobile-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.help-mobile-metric-card{background:#fff;border-radius:12px;padding:14px;text-align:center}.help-mobile-metric-card h4{margin:0 0 6px;font-size:.75rem;color:#666;font-weight:600}.help-mobile-metric-card p{margin:0;font-size:.6875rem;color:#888}.help-mobile-btn-example{display:inline-block;background:linear-gradient(135deg,#c8e600,#b8d600);color:#1a1a2e;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600}.help-mobile-faq-item{background:#fff;border-radius:12px;padding:16px;margin-bottom:10px}.help-mobile-faq-item h3{font-size:.9375rem;font-weight:600;color:#1a1a2e;margin-bottom:8px}.help-mobile-faq-item p{margin:0;font-size:.875rem;color:#666;line-height:1.5}.agent-detail-panel{display:flex;flex-direction:column;min-height:100%;background:var(--white);color:var(--gray-900);overflow:visible}.agent-detail-panel::-webkit-scrollbar{display:none}.agent-detail-panel{-ms-overflow-style:none;scrollbar-width:none}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--gray-200);flex-shrink:0}.panel-header-info{display:flex;align-items:center;gap:14px}.panel-agent-avatar{width:56px;height:56px;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.panel-agent-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-fallback{font-size:22px;font-weight:700;color:#fff}.panel-agent-info{display:flex;flex-direction:column;gap:4px}.panel-agent-name{font-family:Bricolage Grotesque,sans-serif;font-size:1.125rem;font-weight:700;margin:0;color:var(--gray-900)}.panel-agent-name.editable{cursor:pointer;display:flex;align-items:center;gap:6px;transition:color .2s}.panel-agent-name.editable:hover{color:var(--primary-600)}.edit-name-icon{width:14px;height:14px;opacity:0;transition:opacity .2s}.panel-agent-name.editable:hover .edit-name-icon{opacity:1}.edit-name-form{display:flex;flex-direction:column;gap:8px}.edit-name-input,.edit-role-input{padding:8px 12px;border:1px solid var(--gray-300);border-radius:8px;font-size:.875rem;background:var(--white);color:var(--gray-900);transition:border-color .2s,box-shadow .2s}.edit-name-input{font-weight:600;font-size:1rem}.edit-name-input:focus,.edit-role-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a}.edit-name-actions{display:flex;gap:8px;margin-top:4px}.edit-name-btn{padding:6px 12px;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.edit-name-btn.cancel{background:var(--gray-100);color:var(--gray-600)}.edit-name-btn.cancel:hover{background:var(--gray-200)}.edit-name-btn.save{background:var(--primary-600);color:#fff}.edit-name-btn.save:hover:not(:disabled){background:var(--primary-700)}.edit-name-btn:disabled{opacity:.5;cursor:not-allowed}.panel-agent-role{font-size:.875rem;color:var(--gray-500);margin:0}.panel-close-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--gray-200);background:var(--gray-50);color:var(--gray-500);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.panel-close-btn:hover{background:var(--gray-100);color:var(--gray-700)}.panel-close-btn svg{width:18px;height:18px}.panel-actions{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;gap:12px;flex-shrink:0;border-bottom:1px solid var(--gray-100)}.panel-status{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;padding:8px 14px;border-radius:20px;background:var(--gray-100);color:var(--gray-600)}.panel-status.idle{background:#d1fae5;color:#065f46}.panel-status.working{background:#fef3c7;color:#92400e}.panel-status.inactive{background:var(--gray-100);color:var(--gray-500)}.panel-status .status-icon{width:14px;height:14px}.panel-chat-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;border:none;background:var(--gray-900);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.panel-chat-btn:hover{background:var(--gray-800);transform:translateY(-1px)}.panel-chat-btn:disabled{background:var(--gray-300);cursor:not-allowed;transform:none}.panel-chat-btn svg{width:18px;height:18px}.panel-stats{display:flex;flex-direction:column;gap:14px;padding:16px 20px;flex-shrink:0;border-bottom:1px solid var(--gray-100)}.panel-stat{display:flex;flex-direction:column;gap:8px}.stat-header{display:flex;justify-content:space-between;font-size:.8125rem;color:var(--gray-600)}.stat-value{font-weight:700;color:var(--gray-900)}.stat-bar{height:8px;background:var(--gray-100);border-radius:4px;overflow:hidden}.stat-fill{height:100%;border-radius:4px;transition:width .3s ease}.stat-fill.memory{background:linear-gradient(90deg,#6366f1,#8b5cf6)}.panel-tabs{display:flex;border-bottom:1px solid var(--gray-200);padding:0 16px;flex-shrink:0;background:var(--gray-50)}.panel-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 8px;border:none;background:none;color:var(--gray-500);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.panel-tab:hover{color:var(--gray-700)}.panel-tab.active{color:var(--gray-900);border-bottom-color:var(--accent-lime-dark);background:#fff}.panel-tab svg{width:16px;height:16px}.tab-count{background:var(--gray-200);color:var(--gray-600);padding:2px 8px;border-radius:10px;font-size:.6875rem}.panel-tab.active .tab-count{background:var(--accent-lime-dark);color:var(--gray-900)}.panel-items{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px 0;overflow:visible}.panel-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 4px;aspect-ratio:1;min-height:80px;border-radius:12px;border:1px solid var(--gray-200);background:var(--gray-50);color:var(--gray-600);cursor:pointer;transition:all .2s;position:relative;text-align:center}.panel-item:hover{background:var(--gray-100);border-color:var(--gray-300);color:var(--gray-900);transform:translateY(-2px)}.panel-item.enabled{background:var(--accent-lime-light);border-color:var(--accent-lime-dark)}.panel-item.selected{background:var(--accent-lime);border-color:var(--accent-lime-dark);box-shadow:0 2px 8px #c8e6004d}.item-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.item-icon svg{width:24px;height:24px}.panel-item.enabled .item-icon{color:var(--gray-900)}.item-name{font-size:.625rem;font-weight:500;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-item.enabled .item-name{color:var(--gray-900)}.item-dot{display:none}.panel-item-detail{border-top:1px solid var(--gray-200);padding:20px;background:var(--gray-50);flex-shrink:0;max-height:320px;overflow-y:auto}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.detail-info{display:flex;align-items:center;gap:12px}.detail-icon{width:28px;height:28px;color:var(--accent-lime-dark)}.detail-info h4{font-family:Bricolage Grotesque,sans-serif;font-size:1rem;font-weight:700;margin:0;color:var(--gray-900)}.detail-meta{font-size:.75rem;color:var(--gray-500);margin:4px 0 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tier-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:.625rem;font-weight:700;text-transform:uppercase}.tier-badge.tier-daily{background:#fef3c7;color:#92400e}.tier-badge.tier-checking{background:#dbeafe;color:#1e40af}.tier-badge.tier-closing{background:#fce7f3;color:#9d174d}.tier-badge.tier-weekly{background:#e0e7ff;color:#3730a3}.tier-badge.tier-monthly{background:#f3e8ff;color:#6b21a8}.tier-badge.tier-live{background:#d1fae5;color:#065f46;animation:pulse-live 2s infinite}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.7}}.schedule-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:4px;font-size:.625rem;font-weight:600;background:var(--gray-100);color:var(--gray-600)}.channel-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:.625rem;font-weight:600}.channel-badge.channel-telegram{background:#e0f2fe;color:#0369a1}.channel-badge.channel-whatsapp{background:#dcfce7;color:#15803d}.target-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:.625rem;font-weight:600}.target-badge.target-terapeuta{background:#fef3c7;color:#92400e}.target-badge.target-paciente{background:#e0e7ff;color:#3730a3}.executor-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:.625rem;font-weight:600;margin-left:6px}.executor-badge.supabase,.executor-badge.supabase\+rpc{background:#dbeafe;color:#1e40af}.executor-badge.supabase\+cal{background:#fef3c7;color:#92400e}.executor-badge.direct{background:#d1fae5;color:#065f46}.executor-badge.n8n{background:#fce7f3;color:#9d174d}.executor-badge.ai{background:#f3e8ff;color:#6b21a8}.executor-badge.api{background:#e0e7ff;color:#3730a3}.detail-desc{font-size:.875rem;color:var(--gray-600);line-height:1.5;margin:0 0 16px}.detail-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--gray-200);font-size:.875rem;color:var(--gray-600)}.toggle-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--gray-300);background:#fff;color:var(--gray-600);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s}.toggle-btn:hover{border-color:var(--gray-400)}.toggle-btn.enabled{border-color:#10b981;background:#d1fae5;color:#065f46}.toggle-btn svg{width:16px;height:16px}.detail-config{margin-top:16px;padding-top:16px;border-top:1px solid var(--gray-200)}.detail-config h5{font-size:.75rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.config-field{margin-bottom:14px}.config-field label{display:block;font-size:.8125rem;font-weight:600;color:var(--gray-700);margin-bottom:6px}.config-field input,.config-field select,.config-field textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--gray-300);background:#fff;color:var(--gray-900);font-size:.875rem}.config-field input:focus,.config-field select:focus,.config-field textarea:focus{outline:none;border-color:var(--accent-lime-dark);box-shadow:0 0 0 3px #c0eb4633}.config-field input::-moz-placeholder{color:var(--gray-400)}.config-field input::placeholder{color:var(--gray-400)}.save-config-btn{width:100%;padding:12px;margin-top:12px;border-radius:8px;border:none;background:var(--gray-900);color:#fff;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .2s}.save-config-btn:hover{background:var(--gray-800)}.save-config-btn:disabled{background:var(--gray-300);cursor:not-allowed}.accordion-section{border-bottom:1px solid var(--gray-200)}.accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:none;border:none;cursor:pointer;transition:background .2s}.accordion-header:hover{background:var(--gray-50)}.accordion-title{display:flex;align-items:center;gap:10px;font-size:.875rem;font-weight:600;color:var(--gray-700)}.accordion-title svg{width:18px;height:18px;color:var(--gray-500)}.accordion-count{background:var(--accent-lime);color:var(--gray-900);padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.accordion-arrow{width:20px;height:20px;color:var(--gray-400);transition:transform .2s}.accordion-header.expanded .accordion-arrow{transform:rotate(180deg)}.accordion-content{padding:0 12px 16px;overflow:visible}.accordion-content .panel-items{padding:0;grid-template-columns:repeat(3,1fr)}.config-tab-content{flex:1;overflow-y:auto;padding:16px}.config-tab-content .api-key-section{padding:0;border-bottom:none}.api-key-section{padding:20px;border-bottom:1px solid var(--gray-200)}.api-key-section h5{font-family:Bricolage Grotesque,sans-serif;font-size:.9375rem;font-weight:700;color:var(--gray-900);margin:0 0 16px;display:flex;align-items:center;gap:8px}.api-key-section h5 svg{width:18px;height:18px;color:var(--gray-500)}.api-config-grid{display:flex;flex-direction:column;gap:14px}.api-config-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.api-config-row.full{grid-template-columns:1fr}@media (max-width: 480px){.panel-items{grid-template-columns:repeat(2,1fr);gap:8px}.panel-item{padding:12px 8px}.item-name{font-size:.6875rem}.panel-tab span:not(.tab-count){display:none}.api-config-row{grid-template-columns:1fr}}.tool-active-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--primary-500);border-radius:50%;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.tool-tooltip{position:fixed;transform:translate(-50%) translateY(-100%);background:var(--gray-900);color:#fff;padding:10px 14px;border-radius:8px;font-size:.8125rem;max-width:220px;z-index:10000;box-shadow:0 4px 16px #00000040;pointer-events:none;animation:tooltip-fade-in .15s ease}@keyframes tooltip-fade-in{0%{opacity:0;transform:translate(-50%) translateY(-100%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(-100%)}}.tool-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--gray-900)}.tool-tooltip strong{display:block;font-weight:600;margin-bottom:4px}.tool-tooltip p{margin:0;opacity:.85;line-height:1.4}.tool-tooltip .tooltip-hint{display:block;margin-top:6px;font-size:.6875rem;color:var(--primary-300);font-weight:500}.panel-item{position:relative}.panel-item.enabled{cursor:pointer}.panel-item.enabled:hover{background:var(--primary-50);border-color:var(--primary-200)}.panel-item.enabled:active{transform:scale(.97)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.agent-notification-bubble{box-shadow:0 2px 8px #ef444480}.office-2d-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:0}.office-2d-loading{display:flex;align-items:center;justify-content:center;width:100%;height:300px;color:var(--gray-500);font-size:.875rem}.office-2d-container{position:relative;border-radius:0;overflow:visible;transition:width .1s ease,height .1s ease}@media (min-width: 768px){.office-2d-wrapper{border-radius:12px}.office-2d-container{border-radius:12px;overflow:hidden}}.office-background{position:absolute;top:0;right:0;bottom:0;left:0;image-rendering:pixelated;image-rendering:crisp-edges}.agent-sprite-wrapper{position:absolute;width:0;height:0;cursor:pointer;z-index:10}.agent-sprite-wrapper:hover{z-index:15}.agent-sprite-wrapper:hover .agent-sprite{filter:brightness(1.2)}.agent-sprite-wrapper.selected{z-index:20}.agent-sprite{position:absolute;width:48px;height:64px;transform:translate(-50%,-50%);transition:filter .2s}.agent-shadow{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:32px;height:8px;background:#00000040;border-radius:50%;z-index:-1;transition:transform .15s}.agent-sprite-wrapper:has(.walking) .agent-shadow{transform:translate(-50%) scaleX(1.2)}.sprite-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;mix-blend-mode:screen}.sprite-image.direction-left{transform:scaleX(-1)}.sprite-image.direction-right{transform:scaleX(1)}.sprite-image.direction-up{filter:brightness(.95)}.agent-sprite.walking .sprite-image{animation:walk-bob .25s steps(2) infinite}@keyframes walk-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.agent-sprite.walking .sprite-image.direction-left{animation:walk-bob-left .25s steps(2) infinite}@keyframes walk-bob-left{0%,to{transform:scaleX(-1) translateY(0)}50%{transform:scaleX(-1) translateY(-3px)}}.sprite-image.walk-frame-1{transform:scaleY(.97)}.sprite-image.walk-frame-1.direction-left{transform:scaleX(-1) scaleY(.97)}.agent-sprite.idle .sprite-image{animation:idle-breathe 2s ease-in-out infinite}@keyframes idle-breathe{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-1px) scaleY(1.01)}}.agent-sprite.idle .sprite-image.direction-left{animation:idle-breathe-left 2s ease-in-out infinite}@keyframes idle-breathe-left{0%,to{transform:scaleX(-1) translateY(0) scaleY(1)}50%{transform:scaleX(-1) translateY(-1px) scaleY(1.01)}}.agent-name-tag{position:absolute;top:-20px;left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:3px 10px;border-radius:6px;font-size:10px;font-weight:600;white-space:nowrap;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}.agent-sprite-wrapper:hover .agent-name-tag,.agent-sprite-wrapper.selected .agent-name-tag{opacity:1;transform:translate(-50%) translateY(-2px)}.speech-bubble{position:absolute;top:-50px;left:50%;transform:translate(-50%);background:#fff;color:#1f2937;padding:8px 14px;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap;box-shadow:0 4px 12px #00000026;animation:bubble-pop-in .3s cubic-bezier(.34,1.56,.64,1);z-index:30;max-width:150px;text-align:center}.speech-bubble:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid white}@keyframes bubble-pop-in{0%{opacity:0;transform:translate(-50%) scale(.7) translateY(10px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}.selection-ring{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border:3px solid;border-radius:50%;animation:selection-pulse 1.5s ease-in-out infinite;pointer-events:none}@keyframes selection-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.6}}.controls-hint-2d{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:20px;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:10px 20px;border-radius:20px;font-size:.8125rem;color:#fff;z-index:100}.controls-hint-2d span{white-space:nowrap;display:flex;align-items:center;gap:6px}.mobile-agent-panel{position:fixed;bottom:0;left:0;right:0;z-index:500;width:100%;background:#faf9f5;border-top:1px solid #e8e6dc;border-radius:24px 24px 0 0;max-height:60vh;overflow-y:auto;box-shadow:0 -4px 20px #00000026;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-agent-panel .agent-detail-panel{background:#faf9f5;border-radius:24px 24px 0 0}.mobile-agent-panel .panel-header{background:#fff;border-radius:24px 24px 0 0;border-bottom:1px solid #e8e6dc;padding:16px 20px}.mobile-agent-panel .panel-agent-avatar{width:48px;height:48px;border-radius:12px}.mobile-agent-panel .panel-agent-name{font-size:1rem}.mobile-agent-panel .panel-agent-role{font-size:.8125rem}.mobile-agent-panel .panel-actions{background:#fff;border-bottom:1px solid #e8e6dc;padding:12px 20px}.mobile-agent-panel .panel-chat-btn{background:linear-gradient(135deg,#c8e600,#b8d600);color:#1a1a2e}.mobile-agent-panel .panel-stats{background:#fff;padding:12px 20px}.mobile-agent-panel .accordion-section{background:#fff;border-bottom:1px solid #e8e6dc}.mobile-agent-panel .accordion-header{padding:14px 20px}.mobile-agent-panel .accordion-content{padding:0 16px 16px}.mobile-agent-panel .panel-items{grid-template-columns:repeat(3,1fr);gap:8px}.mobile-agent-panel .panel-item{background:#faf9f5;border-color:#e8e6dc}.mobile-agent-panel .panel-item.enabled{background:#c8e60026;border-color:#c8e600}.mobile-agent-panel .panel-item.selected{background:#c8e600;border-color:#b8d600}.mobile-agent-panel .panel-item-detail{background:#f5f5f0;border-top:1px solid #e8e6dc}@media (max-width: 380px){.mobile-agent-panel .panel-items{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.controls-hint-2d{padding:8px 16px;gap:16px;font-size:.75rem}}@media (max-width: 600px){.controls-hint-2d{flex-direction:column;gap:6px;font-size:.75rem;padding:10px 16px}.agent-name-tag{font-size:9px;padding:2px 6px}.speech-bubble{font-size:10px;padding:6px 10px;max-width:120px}}.office-2d-wrapper{display:flex;justify-content:center;align-items:center;background:transparent;border-radius:0;flex:1;min-height:0;width:100%;height:100%}@media (min-width: 768px){.office-2d-wrapper{border-radius:var(--radius-lg)}}.detail-avatar-img{width:64px;height:64px;border-radius:12px;-o-object-fit:cover;object-fit:cover;border:3px solid white;box-shadow:0 2px 8px #0003;image-rendering:pixelated;image-rendering:crisp-edges}.chat-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chat-modal{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,var(--gray-900),var(--gray-800));color:#fff}.chat-avatar{width:48px;height:48px;border-radius:10px;-o-object-fit:cover;object-fit:cover;border:2px solid white;image-rendering:pixelated}.chat-header h3{font-family:Bricolage Grotesque,sans-serif;font-size:1.125rem;font-weight:700;margin:0}.chat-header p{font-size:.875rem;color:var(--gray-400);margin:4px 0 0}.chat-close{margin-left:auto;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:4px;line-height:1}.chat-close:hover{color:var(--gray-300)}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;background:var(--gray-50)}.chat-message{max-width:80%;padding:12px 16px;border-radius:16px;font-size:.9375rem;line-height:1.4}.chat-message.user{align-self:flex-end;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-bottom-right-radius:4px}.chat-message.agent{align-self:flex-start;background:#fff;color:var(--gray-900);border:1px solid var(--gray-200);border-bottom-left-radius:4px}.message-time{font-size:.6875rem;color:inherit;opacity:.7;margin-top:4px}.chat-input-area{display:flex;gap:12px;padding:16px 20px;background:#fff;border-top:1px solid var(--gray-200)}.chat-input{flex:1;padding:12px 16px;border:1px solid var(--gray-300);border-radius:24px;font-size:.9375rem;outline:none;transition:border-color .2s}.chat-input:focus{border-color:var(--accent-lime-dark)}.chat-send-btn{padding:12px 24px;background:linear-gradient(135deg,var(--accent-lime-dark),var(--accent-lime));color:var(--gray-900);border:none;border-radius:24px;font-weight:600;cursor:pointer;transition:transform .2s}.chat-send-btn:hover{transform:scale(1.05)}.agent-simulator-page{padding:0;max-width:none;margin:0;min-height:100vh;display:flex;flex-direction:column;gap:0}@media (min-width: 768px){.agent-simulator-page{padding:24px;max-width:1600px;margin:0 auto;min-height:calc(100vh - 48px);gap:20px}}.simulator-header{display:none}@media (min-width: 768px){.simulator-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.header-title h1{font-family:Bricolage Grotesque,sans-serif;font-size:1.75rem;font-weight:800;color:var(--gray-900);margin:0}.header-title p{font-size:.875rem;color:var(--gray-600);margin:4px 0 0}}.header-actions{display:flex;gap:12px}.btn-toggle-panel{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:8px;font-size:.875rem;font-weight:500;color:var(--gray-700);cursor:pointer;transition:all .2s}.btn-toggle-panel:hover{background:var(--gray-200)}.btn-toggle-panel.active{background:var(--gray-900);color:#fff;border-color:var(--gray-900)}.btn-toggle-panel svg{width:16px;height:16px}.simulator-layout{display:flex;flex-direction:column;gap:0;flex:1;min-height:auto;overflow:visible}.simulator-layout.with-panel{display:grid;grid-template-columns:1fr 480px;gap:24px;align-items:start}@media (min-width: 768px){.simulator-layout{display:grid;grid-template-columns:1fr;gap:24px;overflow:visible;align-items:start}.simulator-layout.with-panel{grid-template-columns:1fr 480px;align-items:stretch}}.office-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:auto;background:var(--gray-100);border-radius:0;overflow:visible;padding:0;flex:1}@media (min-width: 768px){.office-container{border-radius:var(--radius-lg);padding:16px 0}}.office-map{position:relative;width:100%;aspect-ratio:16 / 10;background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.office-zone{position:absolute;border:2px solid transparent;border-radius:var(--radius-md);transition:all .3s ease;overflow:hidden}.office-zone.hovered{border-color:var(--gray-400);box-shadow:inset 0 0 20px #0000000d}.zone-border{position:absolute;top:0;right:0;bottom:0;left:0;border:1px dashed var(--gray-300);border-radius:var(--radius-md);pointer-events:none}.zone-label{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:2px}.zone-label strong{font-family:Bricolage Grotesque,sans-serif;font-size:.875rem;font-weight:700;color:var(--gray-800)}.zone-label small{font-size:.6875rem;color:var(--gray-600);max-width:120px}.zone-agent-count{position:absolute;bottom:8px;right:8px;background:var(--gray-900);color:#fff;padding:4px 8px;border-radius:12px;font-size:.6875rem;font-weight:600}.furniture{position:absolute;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600;transition:all .2s}.furniture.desk{background:linear-gradient(145deg,#e5e7eb,#d1d5db);border:1px solid #9ca3af}.furniture.chair{background:#6b7280;border-radius:50%}.furniture.computer{background:#1f2937;border-radius:2px}.furniture.printer{background:#374151;border:1px solid #4b5563}.furniture.cabinet{background:linear-gradient(145deg,#d1d5db,#9ca3af);border:1px solid #6b7280}.furniture.shelf{background:linear-gradient(145deg,#c4b5a0,#a89f91);border:1px solid #8b7355}.furniture.bookshelf{background:linear-gradient(145deg,#a8a29e,#78716c);border:1px solid #57534e}.furniture.sofa{background:#fca5a5;border-radius:8px;border:1px solid #f87171}.furniture.couch{background:#93c5fd;border-radius:8px;border:1px solid #60a5fa}.furniture.plant{background:radial-gradient(circle,#86efac,#22c55e);border-radius:50%}.furniture.water{background:linear-gradient(145deg,#93c5fd,#3b82f6);border-radius:4px}.furniture.filing{background:#9ca3af;border:1px solid #6b7280}.furniture-label{font-size:.5rem;color:var(--gray-700);text-align:center;padding:2px;background:#ffffffe6;border-radius:2px;white-space:nowrap}.collision-wall{position:absolute;background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(239,68,68,.1) 4px,rgba(239,68,68,.1) 8px);border:1px dashed rgba(239,68,68,.3);pointer-events:none}.office-agent{position:absolute;transform:translate(-50%,-50%);z-index:10;cursor:pointer;transition:all .2s}.office-agent:hover{z-index:20;transform:translate(-50%,-50%) scale(1.1)}.office-agent.selected{z-index:20}.agent-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Bricolage Grotesque,sans-serif;font-size:1rem;font-weight:700;color:#fff;border:3px solid white;box-shadow:0 2px 8px #0003;transition:all .2s}.office-agent.selected .agent-avatar{box-shadow:0 0 0 4px var(--accent-lime),0 2px 8px #0003}.agent-name-tag{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:4px;background:var(--gray-900);color:#fff;padding:4px 8px;border-radius:4px;font-size:.6875rem;white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:2px;opacity:0;transition:opacity .2s}.office-agent:hover .agent-name-tag,.office-agent.selected .agent-name-tag{opacity:1}.agent-name-tag strong{font-weight:600}.agent-name-tag small{font-size:.625rem;color:var(--gray-400)}.agent-status-indicator{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;border:2px solid white;background:#10b981}.agent-status-indicator.working{background:#f59e0b;animation:pulse 1.5s infinite}.agent-status-indicator.busy{background:#ef4444}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.office-legend{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:16px}.office-legend h4{font-family:Bricolage Grotesque,sans-serif;font-size:.875rem;font-weight:700;color:var(--gray-900);margin:0 0 12px}.legend-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.legend-item:hover{background:var(--gray-100)}.legend-item.selected{background:var(--gray-200)}.legend-color{width:16px;height:16px;border-radius:50%;border:2px solid white;box-shadow:0 1px 3px #0003}.legend-name{font-size:.875rem;font-weight:600;color:var(--gray-900);flex:1}.legend-role{font-size:.75rem;color:var(--gray-500)}.simulator-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;background:var(--white);overflow:hidden;animation:slideUpMobile .3s ease}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.mobile-panel-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:none;background:var(--gray-100);color:var(--gray-600);font-size:20px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center}.mobile-panel-close:hover{background:var(--gray-200)}@media (min-width: 768px){.simulator-panel{position:relative;inset:auto;z-index:auto;border:1px solid var(--gray-200);border-radius:var(--radius-lg);animation:slideInRight .3s ease}.mobile-panel-close{display:none}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}}.panel-tab-nav{display:flex;background:var(--gray-50);border-bottom:1px solid var(--gray-200);flex-shrink:0}.tab-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 12px;background:none;border:none;color:var(--gray-500);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;margin-bottom:-1px}.tab-nav-btn:hover{color:var(--gray-700);background:var(--gray-100)}.tab-nav-btn.active{color:var(--gray-900);border-bottom-color:var(--accent-lime-dark);background:#fff}.tab-nav-btn svg{width:16px;height:16px}.tab-badge{background:var(--gray-200);color:var(--gray-600);padding:2px 8px;border-radius:10px;font-size:.6875rem;font-weight:600}.tab-nav-btn.active .tab-badge{background:var(--accent-lime-dark);color:var(--gray-900)}.panel-tab-content{flex:1;overflow:visible;display:flex;flex-direction:column}.panel-tab-content>*{min-height:-moz-min-content;min-height:min-content;height:auto}.config-tab-panel{padding:20px}.config-tab-panel h4{margin:0 0 8px;font-family:Bricolage Grotesque,sans-serif;font-size:1rem;font-weight:700;color:var(--gray-900)}.config-tab-panel .config-description{margin:0 0 20px;font-size:.875rem;color:var(--gray-500)}.panel-tab-content .tasks-module{display:flex;flex-direction:column;gap:12px;padding:20px;height:100%;overflow:hidden}.panel-tab-content .tasks-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.panel-tab-content .tasks-header h4{margin:0;font-family:Bricolage Grotesque,sans-serif;font-size:1rem;font-weight:700;color:var(--gray-900)}.panel-tab-content .activity-log{flex:1;display:flex;flex-direction:column;padding:20px;overflow:hidden}.panel-tab-content .activity-log h4{font-family:Bricolage Grotesque,sans-serif;font-size:1rem;font-weight:700;color:var(--gray-900);margin:0 0 12px}.panel-tab-content .log-entries{flex:1;overflow-y:auto}.panel-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:20px}.panel-section h4{font-family:Bricolage Grotesque,sans-serif;font-size:.9375rem;font-weight:700;color:var(--gray-900);margin:0 0 16px}.agent-detail .detail-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.detail-avatar{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#fff;border:4px solid white;box-shadow:0 2px 8px #00000026}.detail-header h3{font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:var(--gray-900);margin:0}.detail-header p{font-size:.875rem;color:var(--gray-600);margin:4px 0 0}.detail-info{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.info-row{display:flex;flex-direction:column;gap:6px}.info-row span:first-child{font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.info-row strong{font-size:.9375rem;color:var(--gray-900)}.zone-tags{display:flex;flex-wrap:wrap;gap:6px}.zone-tag{background:var(--gray-100);color:var(--gray-700);padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500}.detail-workflows{margin-bottom:20px}.workflow-btn{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-align:left;margin-bottom:8px}.workflow-btn:hover:not(:disabled){border-color:var(--gray-400);background:var(--gray-50)}.workflow-btn.active{border-color:var(--accent-lime-dark);background:linear-gradient(145deg,#c0eb461a,#c0eb460d)}.workflow-btn:disabled{opacity:.6;cursor:not-allowed}.wf-name{font-size:.875rem;font-weight:600;color:var(--gray-900)}.wf-desc{font-size:.75rem;color:var(--gray-500)}.wf-progress{font-size:.6875rem;font-weight:600;color:var(--accent-lime-dark);margin-top:4px}.tools-list{display:flex;flex-wrap:wrap;gap:6px}.tool-tag{background:var(--gray-100);color:var(--gray-700);padding:4px 10px;border-radius:4px;font-size:.6875rem;font-family:var(--font-mono, monospace)}.activity-log{flex:1;min-height:200px;display:flex;flex-direction:column}.log-entries{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.log-entry{display:flex;gap:10px;font-size:.8125rem;padding:8px;background:var(--gray-50);border-radius:var(--radius-sm)}.log-time{color:var(--gray-400);font-family:var(--font-mono, monospace);font-size:.6875rem;white-space:nowrap}.log-message{color:var(--gray-700);line-height:1.4}.empty-log{text-align:center;color:var(--gray-400);font-size:.875rem;padding:20px}.empty-state{text-align:center;color:var(--gray-500);padding:40px 20px}.tasks-module{display:flex;flex-direction:column;gap:12px}.tasks-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.tasks-header h4{margin:0;font-family:Bricolage Grotesque,sans-serif;font-size:1rem;font-weight:700;color:var(--gray-900)}.task-stats{display:flex;gap:8px;font-size:.75rem}.task-stats .stat{padding:4px 10px;border-radius:12px;font-weight:600}.task-stats .stat.todo{background:#fef3c7;color:#92400e}.task-stats .stat.done{background:#d1fae5;color:#065f46}.task-input-row{display:flex;gap:8px}.task-input{flex:1;padding:10px 14px;border:1px solid var(--gray-300);border-radius:8px;font-size:.875rem;outline:none;transition:border-color .2s}.task-input:focus{border-color:var(--accent-lime-dark)}.task-add-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-lime-dark),var(--accent-lime));color:var(--gray-900);border:none;border-radius:8px;font-size:1.5rem;font-weight:600;cursor:pointer;transition:all .2s}.task-add-btn:hover:not(:disabled){transform:scale(1.05)}.task-add-btn:disabled{opacity:.5;cursor:not-allowed}.task-filters{display:flex;gap:4px;padding:4px;background:var(--gray-100);border-radius:8px}.task-filters button{flex:1;padding:6px 12px;border:none;background:transparent;border-radius:6px;font-size:.75rem;font-weight:600;color:var(--gray-600);cursor:pointer;transition:all .2s}.task-filters button:hover{color:var(--gray-900)}.task-filters button.active{background:#fff;color:var(--gray-900);box-shadow:0 1px 3px #0000001a}.task-list{display:flex;flex-direction:column;gap:16px;max-height:400px;overflow-y:auto;padding-right:4px}.empty-tasks{text-align:center;padding:24px 16px;color:var(--gray-500);font-size:.875rem}.empty-tasks p{margin:0}.task-date-group{display:flex;flex-direction:column;gap:8px}.task-date-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--gray-100);border-radius:8px;margin-bottom:4px}.task-date-header .date-label{font-size:.8125rem;font-weight:700;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px}.task-date-header .date-count{font-size:.75rem;font-weight:600;color:var(--gray-500);background:#fff;padding:2px 8px;border-radius:12px}.task-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--gray-50);border-radius:8px;transition:all .2s}.task-item:hover{background:var(--gray-100)}.task-item.done{opacity:.6}.task-item.done .task-title{text-decoration:line-through;color:var(--gray-500)}.task-checkbox{position:relative;width:20px;height:20px;cursor:pointer;flex-shrink:0}.task-checkbox input{position:absolute;opacity:0;cursor:pointer;width:0;height:0}.checkmark{position:absolute;top:0;left:0;width:20px;height:20px;background:#fff;border:2px solid var(--gray-300);border-radius:4px;transition:all .2s}.task-checkbox:hover input~.checkmark{border-color:var(--accent-lime-dark)}.task-checkbox input:checked~.checkmark{background:var(--accent-lime-dark);border-color:var(--accent-lime-dark)}.checkmark:after{content:"";position:absolute;display:none;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.task-checkbox input:checked~.checkmark:after{display:block}.task-content{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.task-title{font-size:.875rem;color:var(--gray-900);line-height:1.3;word-break:break-word}.task-meta{display:flex;gap:8px;align-items:center}.task-source{font-size:.6875rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.task-time{font-size:.6875rem;color:var(--gray-400)}.task-delete-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--gray-400);font-size:1.25rem;line-height:1;cursor:pointer;opacity:0;transition:all .2s}.task-item:hover .task-delete-btn{opacity:1}.task-delete-btn:hover{background:#fee2e2;color:#dc2626}.task-list::-webkit-scrollbar{width:4px}.task-list::-webkit-scrollbar-track{background:transparent}.task-list::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:2px}.task-list::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@media (max-width: 1280px){.simulator-layout.with-panel{grid-template-columns:1fr 380px}}@media (max-width: 1100px){.simulator-layout.with-panel{grid-template-columns:1fr}.tab-nav-btn span:not(.tab-badge){display:none}.tab-nav-btn{padding:12px}}@media (max-width: 768px){.agent-simulator-page{padding:12px;gap:12px}.simulator-header{flex-direction:column;align-items:flex-start;gap:12px}.header-title h1{font-size:1.375rem}.btn-toggle-panel{padding:8px 12px;font-size:.8125rem}.btn-toggle-panel span{display:none}}@media (max-width: 480px){.agent-simulator-page{padding:8px}.header-title h1{font-size:1.25rem}.header-title p{font-size:.75rem}}.activity-feed{display:flex;flex-direction:column;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;overflow:hidden}.activity-feed-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--white);border-bottom:1px solid var(--gray-200)}.activity-header-icon{width:18px;height:18px;color:var(--primary-500)}.activity-header-title{font-size:.875rem;font-weight:600;color:var(--gray-900);flex:1}.activity-clear-btn{font-size:.75rem;color:var(--gray-500);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.activity-clear-btn:hover{background:var(--gray-100);color:var(--gray-700)}.activity-feed-list{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.activity-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--gray-400);font-size:.8125rem}.activity-empty-icon{width:16px;height:16px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.activity-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--white);border-radius:8px;border:1px solid var(--gray-100);animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.activity-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;flex-shrink:0}.activity-icon svg{width:16px;height:16px}.activity-item.tool_start .activity-icon{background:#3b82f61a}.activity-item.tool_start .activity-icon svg{color:#3b82f6}.activity-item.tool_success .activity-icon{background:#22c55e1a}.activity-item.tool_success .activity-icon svg{color:#22c55e}.activity-item.tool_error .activity-icon{background:#ef44441a}.activity-item.tool_error .activity-icon svg{color:#ef4444}.activity-item.agent_thinking .activity-icon{background:#a855f71a}.activity-item.agent_thinking .activity-icon svg{color:#a855f7;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.activity-item.agent_response .activity-icon{background:#06b6d41a}.activity-item.agent_response .activity-icon svg{color:#06b6d4}.activity-item.system .activity-icon{background:#eab3081a}.activity-item.system .activity-icon svg{color:#eab308}.activity-content{flex:1;min-width:0}.activity-message{font-size:.8125rem;color:var(--gray-700);line-height:1.4;word-break:break-word}.activity-agent{font-weight:600;color:var(--primary-600);margin-right:6px}.activity-details{font-size:.75rem;color:var(--gray-500);margin-top:4px;font-family:SF Mono,Monaco,Consolas,monospace;background:var(--gray-50);padding:4px 8px;border-radius:4px;white-space:pre-wrap;word-break:break-all}.activity-time{font-size:.6875rem;color:var(--gray-400);font-family:SF Mono,Monaco,Consolas,monospace;flex-shrink:0}.activity-legend{display:flex;flex-wrap:wrap;gap:12px;padding:10px 16px;background:var(--white);border-top:1px solid var(--gray-200)}.legend-item{display:flex;align-items:center;gap:6px;font-size:.6875rem;color:var(--gray-500)}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.working{background:#3b82f6;box-shadow:0 0 6px #3b82f680}.legend-dot.success{background:#22c55e;box-shadow:0 0 6px #22c55e80}.legend-dot.error{background:#ef4444;box-shadow:0 0 6px #ef444480}.legend-dot.thinking{background:#a855f7;box-shadow:0 0 6px #a855f780;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.activity-feed-list::-webkit-scrollbar{width:6px}.activity-feed-list::-webkit-scrollbar-track{background:transparent}.activity-feed-list::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.activity-feed-list::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@media (max-width: 640px){.activity-feed-header{padding:10px 12px}.activity-item{padding:8px 10px}.activity-legend{padding:8px 12px;gap:8px}}.agent-message-popup{position:fixed;bottom:100px;right:24px;width:320px;background:#1e1e1efa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:16px;box-shadow:0 12px 40px #00000080,0 0 0 1px #ffffff1a,0 0 0 3px var(--agent-color, #6366f1);cursor:pointer;animation:popupSlideIn .35s cubic-bezier(.34,1.56,.64,1);z-index:10001;transform-origin:bottom right}.agent-message-popup:after{content:"";position:absolute;bottom:-10px;right:20px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--agent-color, #6366f1)}.agent-message-popup:before{content:"";position:absolute;bottom:-7px;right:22px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid rgba(30,30,30,.98);z-index:1}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.popup-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.popup-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;box-shadow:0 2px 8px #0000004d}.popup-info{flex:1;display:flex;flex-direction:column;gap:2px}.popup-name{font-size:14px;font-weight:600;color:#fff}.popup-role{font-size:11px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.popup-close{width:24px;height:24px;border-radius:50%;border:none;background:#ffffff14;color:#ffffff80;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.popup-close:hover{background:#ffffff26;color:#fff}.popup-message{font-size:14px;color:#ffffffd9;line-height:1.5;margin:0;white-space:pre-wrap;padding-left:48px}.agent-orb-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:Inter,system-ui,sans-serif}.diatta-orb{width:60px;height:60px;border-radius:50%;border:none;background:#141414e6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 4px 24px #0000004d,0 0 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1);animation:orbFloat 3s ease-in-out infinite}@keyframes orbFloat{0%,to{transform:translateY(0);box-shadow:0 4px 24px #0000004d,0 0 0 1px #ffffff1a}50%{transform:translateY(-4px);box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff26}}.diatta-orb:hover{transform:scale(1.08);box-shadow:0 8px 32px #0006,0 0 0 1px #fff3;animation:none}.diatta-orb.orb-active{transform:scale(1.05) rotate(45deg);animation:none}.diatta-orb.has-unread{animation:orbAttention 2s ease-in-out infinite}@keyframes orbAttention{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.diatta-orb-icon{width:28px;height:28px;color:#ffffffd9;transition:all .3s}.diatta-orb:hover .diatta-orb-icon{color:#fff}.diatta-orb.orb-active .diatta-orb-icon{color:#fff9}.orb-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;border-radius:11px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ef444480;animation:badgePop .3s ease-out}.agent-menu{position:absolute;bottom:72px;right:0;width:280px;background:#141414f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 48px #0006,0 0 0 1px #0003;overflow:hidden;animation:menuSlideUp .25s cubic-bezier(.4,0,.2,1)}@keyframes menuSlideUp{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.agent-menu-header{padding:16px 18px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.agent-menu-title{font-size:13px;font-weight:500;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em}.agent-menu-list{padding:8px;max-height:320px;overflow-y:auto}.agent-menu-list::-webkit-scrollbar{width:4px}.agent-menu-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.agent-menu-item{width:100%;padding:10px 12px;border:none;background:transparent;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .2s;text-align:left}.agent-menu-item:hover{background:#ffffff14}.agent-menu-avatar{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;box-shadow:0 2px 8px #0003}.agent-menu-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.agent-menu-name{font-size:14px;font-weight:500;color:#fffffff2}.agent-menu-role{font-size:12px;color:#ffffff73}.agent-menu-badge{min-width:20px;height:20px;padding:0 6px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;border-radius:10px;display:flex;align-items:center;justify-content:center}.chat-heads{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.chat-head{width:56px;height:56px;border-radius:50%;border:none;background:#1e1e1ee6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 4px 20px #00000040,0 0 0 1px #ffffff14;transition:all .3s cubic-bezier(.4,0,.2,1);animation:chatHeadAppear .3s ease-out backwards;animation-delay:calc(var(--head-index, 0) * .05s)}@keyframes chatHeadAppear{0%{opacity:0;transform:scale(.5) translate(20px)}to{opacity:1;transform:scale(1) translate(0)}}.chat-head:hover{transform:scale(1.1);box-shadow:0 6px 24px #00000059,0 0 0 1px #ffffff26}.chat-head:active{transform:scale(.95)}.chat-head-icon{font-size:24px;line-height:1}.chat-head-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ef444480;animation:badgePop .3s ease-out}@keyframes badgePop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.chat-window{position:absolute;bottom:72px;right:0;width:360px;max-height:500px;background:#141414eb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 50px #0006,0 0 0 1px #0003;display:flex;flex-direction:column;overflow:hidden;animation:windowSlideUp .3s cubic-bezier(.4,0,.2,1);transform-origin:bottom right}@keyframes windowSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-header{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.chat-header-info{display:flex;align-items:center;gap:12px}.chat-header-avatar{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 8px #0003}.chat-header-text{display:flex;flex-direction:column;gap:2px}.chat-header-name{font-size:15px;font-weight:500;color:#fffffff2}.chat-header-role{font-size:12px;color:#ffffff80;font-weight:400}.chat-header-actions{display:flex;gap:4px}.chat-header-btn{width:32px;height:32px;border:none;background:#ffffff0f;border-radius:8px;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.chat-header-btn:hover{background:#ffffff1f;color:#ffffffe6}.chat-header-icon{width:16px;height:16px}.chat-body{flex:1;overflow-y:auto;overflow-x:hidden;min-height:280px;max-height:340px;background:#1f2937}.chat-body::-webkit-scrollbar{width:4px}.chat-body::-webkit-scrollbar-track{background:transparent}.chat-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.chat-welcome{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px;gap:12px;background:#1f2937}.chat-welcome-avatar{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:0 4px 16px #0003;margin-bottom:8px}.chat-welcome-text{font-size:15px;color:#ffffffe6;margin:0;font-weight:300}.chat-welcome-text strong{font-weight:500;color:#fff}.chat-welcome-desc{font-size:13px;color:#ffffff80;margin:0;max-width:240px;line-height:1.5}.chat-messages{padding:16px;display:flex;flex-direction:column;gap:12px;background:#1f2937;min-height:100%}.chat-msg{display:flex;gap:8px;max-width:85%;animation:msgAppear .3s ease-out}@keyframes msgAppear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-msg-user{align-self:flex-end;flex-direction:row-reverse}.chat-msg-agent{align-self:flex-start}.chat-msg-avatar{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.chat-msg-content{display:flex;flex-direction:column;gap:4px}.chat-msg-text{padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;margin:0;white-space:pre-wrap;word-break:break-word}.chat-msg-user .chat-msg-text{background:#3b82f6;color:#fff;border-bottom-right-radius:4px;border:1px solid #2563eb}.chat-msg-agent .chat-msg-text{background:#374151;color:#f9fafb;border-bottom-left-radius:4px;border:1px solid #4b5563}.chat-msg-time{font-size:10px;color:#ffffff59;padding:0 4px}.chat-msg-user .chat-msg-time{text-align:right}.chat-typing{display:flex;align-items:center;gap:4px;padding:12px 16px;background:#ffffff0d;border-radius:16px 16px 16px 4px}.typing-dot{width:6px;height:6px;background:#ffffff80;border-radius:50%;animation:typingPulse 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingPulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.chat-footer{padding:12px 16px 16px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.chat-input-wrapper{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#ffffff0d;border-radius:20px;border:1px solid rgba(255,255,255,.08);transition:all .2s}.chat-input-wrapper:focus-within{background:#ffffff14;border-color:#ffffff26}.chat-input{flex:1;background:transparent;border:none;outline:none;color:#fffffff2;font-size:14px;font-family:inherit;font-weight:300}.chat-input::-moz-placeholder{color:#ffffff59}.chat-input::placeholder{color:#ffffff59}.chat-input:disabled{opacity:.5;cursor:not-allowed}.chat-send-btn{width:36px;height:36px;border:none;border-radius:50%;background:#ffffff1a;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.chat-send-btn:hover:not(:disabled){background:#ffffff26;color:#fffffff2;transform:scale(1.05)}.chat-send-btn:disabled{opacity:.3;cursor:not-allowed}.chat-send-btn svg{width:18px;height:18px}.chat-load-more{display:flex;justify-content:center;padding:12px 0;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.05)}.chat-load-more-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:#fff9;font-size:12px;cursor:pointer;transition:all .2s ease}.chat-load-more-btn:hover:not(:disabled){background:#ffffff1a;border-color:#fff3;color:#ffffffe6}.chat-load-more-btn:disabled{opacity:.5;cursor:not-allowed}.chat-load-more-btn svg{width:14px;height:14px}.chat-loading-spinner{display:flex;align-items:center;gap:6px}.chat-loading-spinner:before{content:"";width:12px;height:12px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff9;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 480px){.agent-orb-container{bottom:16px;right:16px}.agent-message-popup{right:16px;left:16px;width:auto;max-width:none;bottom:90px}.agent-message-popup:after{right:18px}.agent-message-popup:before{right:20px}.popup-message{padding-left:0;margin-top:8px}.chat-head{width:50px;height:50px}.chat-head-icon{font-size:22px}.chat-window{position:fixed;bottom:80px;right:16px;left:16px;width:auto;max-height:calc(100vh - 100px);border-radius:24px}.chat-body{max-height:calc(100vh - 220px)}}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200}.mobile-menu-panel{position:fixed;bottom:0;left:0;right:0;max-height:85vh;background:#faf9f5;border-radius:24px 24px 0 0;z-index:201;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom));overflow-y:auto;box-shadow:0 -10px 40px #0000004d,0 0 0 1px #0000000d}.mobile-menu-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:#f0f0e8;border:none;color:#1a1a2e;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.mobile-menu-close:hover{background:#e8e6dc}.mobile-menu-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e6dc}.menu-logo{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--accent-lime) 0%,#a8d900 100%);display:flex;align-items:center;justify-content:center;font-family:Bricolage Grotesque,sans-serif;font-size:1.5rem;font-weight:700;color:#1a1a2e}.menu-user-info{flex:1}.menu-user-name{display:block;font-weight:600;color:#1a1a2e;font-size:1rem;text-transform:capitalize}.menu-user-email{display:block;font-size:.75rem;color:#666;margin-top:2px}.mobile-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.mobile-menu-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 8px;background:#fff;border:1px solid #e8e6dc;border-radius:16px;cursor:pointer;transition:all .2s}.mobile-menu-item:hover{background:#f5f5f0;border-color:#d0d0c8}.mobile-menu-item.active{background:linear-gradient(135deg,var(--accent-lime) 0%,#a8d900 100%);border-color:var(--accent-lime)}.mobile-menu-item.active .menu-item-icon,.mobile-menu-item.active .menu-item-label{color:#1a1a2e}.menu-item-icon{width:48px;height:48px;border-radius:12px;background:#f5f5f0;display:flex;align-items:center;justify-content:center;color:#1a1a2e;transition:all .2s}.mobile-menu-item.active .menu-item-icon{background:#00000026;color:#1a1a2e}.menu-item-label{font-size:.75rem;font-weight:600;color:#1a1a2e;text-align:center;line-height:1.2}.menu-item-active-indicator{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:#1a1a2e}.mobile-menu-footer{padding-top:16px;border-top:1px solid #e8e6dc}.mobile-menu-logout{width:100%;padding:14px;background:#fee2e2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.mobile-menu-logout:hover{background:#fecaca;border-color:#fca5a5}.mobile-content-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;flex-direction:column;background:var(--bg-app);border-radius:0}.mobile-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:var(--white);border-bottom:1px solid var(--gray-200);flex-shrink:0}.mobile-panel-back{display:flex;align-items:center;gap:6px;padding:8px 12px;margin-left:-8px;background:transparent;border:none;border-radius:8px;color:var(--text-dark);font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s}.mobile-panel-back:hover{background:var(--gray-100)}.mobile-panel-title{font-family:Bricolage Grotesque,sans-serif;font-size:1.125rem;font-weight:700;color:var(--text-dark);margin:0}.mobile-panel-close{width:36px;height:36px;border-radius:8px;background:transparent;border:none;color:var(--text-light);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.mobile-panel-close:hover{background:var(--gray-100);color:var(--text-dark)}.mobile-panel-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.mobile-panel-safe-area{height:env(safe-area-inset-bottom,0);flex-shrink:0;background:var(--bg-app)}.mobile-panel-content .dashboard-container{padding:16px;max-width:100%}.mobile-panel-content .page-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:24px}.mobile-panel-content .header-actions{width:100%;flex-wrap:wrap;gap:8px}.mobile-panel-content .quick-action-header-btn{flex:1;min-width:calc(50% - 4px);padding:10px 12px;font-size:.75rem}.mobile-panel-content .welcome-section{margin-bottom:24px}.mobile-panel-content .welcome-text h2{font-size:1.25rem}.mobile-panel-content .alerts-section{margin-bottom:24px}.mobile-panel-content .alerts-grid{grid-template-columns:1fr}.mobile-panel-content .alert-card{padding:16px}.mobile-panel-content .modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.mobile-panel-content .modal-content{max-width:100%;max-height:90%;margin:16px;border-radius:16px}.mobile-panel-content .modal-form{padding:16px}.mobile-panel-content .form-grid{grid-template-columns:1fr}.mobile-panel-content .form-group.full-width{grid-column:span 1}.mobile-layout{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;background:var(--bg-app)}.mobile-office-container{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.mobile-top-bar{position:absolute;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,transparent 100%)}.mobile-center-name{font-family:Bricolage Grotesque,sans-serif;font-size:1.125rem;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3)}.mobile-logout-btn{width:40px;height:40px;border-radius:50%;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.mobile-logout-btn:hover{background:#ffffff40;transform:scale(1.05)}.mobile-start-btn{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:100;padding:16px 48px;background:linear-gradient(135deg,var(--accent-lime) 0%,#a8d900 100%);border:none;border-radius:50px;font-family:Bricolage Grotesque,sans-serif;font-size:1.25rem;font-weight:700;color:#1a1a2e;cursor:pointer;box-shadow:0 4px 20px #c8e60066,0 0 40px #c8e60033;transition:all .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.mobile-start-btn:hover{transform:translate(-50%) scale(1.05);box-shadow:0 6px 30px #c8e60080,0 0 60px #c8e6004d}.mobile-start-btn:active{transform:translate(-50%) scale(.98)}.start-btn-text{position:relative;z-index:2;letter-spacing:2px}.start-btn-glow{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:start-btn-shine 2s ease-in-out infinite;border-radius:inherit}@keyframes start-btn-shine{0%,to{transform:translate(-100%) rotate(45deg)}50%{transform:translate(100%) rotate(45deg)}}.mobile-start-btn:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit;background:var(--accent-lime);opacity:0;animation:start-btn-pulse 2s ease-in-out infinite;z-index:-1}@keyframes start-btn-pulse{0%,to{transform:scale(1);opacity:0}50%{transform:scale(1.1);opacity:.3}}.mobile-panel-portal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;pointer-events:none}.mobile-panel-portal>*{pointer-events:auto}.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));background:var(--bg-app)}.sidebar{width:260px;margin:16px 0 16px 16px;background:var(--white);border-radius:var(--radius-lg);border:2px solid var(--gray-200);display:flex;flex-direction:column;overflow-y:hidden;transition:all .3s ease;box-shadow:var(--shadow-sm);height:calc(100vh / var(--ui-scale) - 32px);position:relative}.sidebar:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.sidebar:hover{box-shadow:var(--shadow-md)}.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-sm) var(--spacing-lg);border-bottom:1px solid var(--gray-100);background:transparent;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:0 0 auto;padding:var(--spacing-sm) 0;overflow-y:visible;overflow-x:hidden}.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;margin:2px var(--spacing-md);border-radius:var(--radius-md);background-color:transparent;border:1px solid transparent}.sidebar.collapsed .nav-item{justify-content:center;padding:.625rem;margin:2px 8px}.nav-item:hover{background-color:var(--bg-card);color:var(--text-dark);border-color:var(--gray-200);transform:translate(2px);box-shadow:var(--shadow-sm)}.nav-item.active{background:linear-gradient(135deg,var(--accent-lime) 0%,#d4f574 100%);color:var(--text-dark);border-color:var(--accent-lime-dark);font-weight:600;box-shadow:0 2px 8px #c0eb464d}.nav-icon{font-size:1.25rem;width:1.5rem;text-align:center;flex-shrink:0}.nav-icon-svg{width:1.25rem;height:1.25rem;flex-shrink:0;stroke-width:1.5;color:var(--text-light);transition:color .2s ease,transform .2s ease}.nav-item:hover .nav-icon-svg{color:var(--text-dark);transform:scale(1.1)}.nav-item.active .nav-icon-svg{color:var(--text-dark);stroke-width:2}.nav-label{font-size:.875rem;transition:opacity .3s ease,width .3s ease;white-space:nowrap}.sidebar-footer{padding:var(--spacing-sm);border-top:1px solid var(--gray-100);background:transparent;display:flex;flex-direction:column;gap:var(--spacing-xs);flex-shrink:0}.user-info{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:0;padding:8px 12px;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.sidebar.collapsed .user-info{justify-content:center;padding:8px}.sidebar.collapsed .user-avatar{margin:0}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-500) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;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}.user-dropdown-container{position:relative}.user-dropdown-trigger{width:100%;display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-card);border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-align:left}.user-dropdown-trigger:hover{background:var(--gray-100);border-color:var(--gray-300)}.user-dropdown-trigger.active{background:var(--primary);border-color:var(--primary);color:var(--white)}.user-dropdown-trigger.active .user-avatar{background:#fff3;color:var(--white)}.user-dropdown-trigger.active .user-name,.user-dropdown-trigger.active .user-email,.user-dropdown-trigger.active .dropdown-chevron{color:var(--white)}.dropdown-chevron{width:16px;height:16px;color:var(--text-light);transition:transform .2s ease;flex-shrink:0}.dropdown-chevron.open{transform:rotate(180deg)}.user-dropdown-menu{position:absolute;bottom:100%;left:0;right:0;margin-bottom:8px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;padding:4px;z-index:100;animation:dropdownSlideUp .2s ease}@keyframes dropdownSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .875rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-dark);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;font-family:inherit}.dropdown-item:hover{background:var(--gray-100)}.dropdown-item-icon{width:18px;height:18px;stroke-width:2;color:var(--text-light)}.dropdown-item-danger{color:#dc2626}.dropdown-item-danger:hover{background:linear-gradient(135deg,#fee2e2,#fecaca)}.dropdown-item-danger .dropdown-item-icon{color:#dc2626}.main-content{flex:1;overflow-y:auto;background-color:var(--bg-app);scrollbar-width:none;-ms-overflow-style:none;padding:24px}.main-content::-webkit-scrollbar{display:none}.sidebar-toggle-btn{width:100%;padding:.5rem;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:var(--text-light);font-size:1rem;flex-shrink:0;margin-bottom:var(--spacing-xs);box-shadow:var(--shadow-sm)}.sidebar-toggle-btn:hover{background:linear-gradient(135deg,var(--accent-lime) 0%,#d4f574 100%);color:var(--text-dark);border-color:var(--accent-lime-dark);box-shadow:0 2px 8px #c0eb464d}.toggle-icon{display:inline-block;transition:transform .3s ease;width:1.25rem;text-align:center}.toggle-icon-svg{width:1rem;height:1rem;color:var(--text-light);transition:color .2s ease}.sidebar-toggle-btn:hover .toggle-icon-svg{color:var(--text-dark)}: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)}.bulk-upload-btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:500}.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)}
