body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text-dark)}:root{--primary-color: #5b5fc7;--primary-dark: #3b3f9f;--primary-light: #7b7ff9;--secondary-color: #00b4a6;--accent-color: #06d6a0;--success-color: #00c896;--warning-color: #ffc107;--text-dark: #1a1f36;--text-medium: #4a5568;--text-light: #8792a8;--bg-white: #ffffff;--bg-light: #f7f9fc;--bg-lighter: #eef2f7;--border-color: #dce4f0;--shadow-sm: 0 2px 4px 0 rgba(91, 95, 199, .08);--shadow-md: 0 6px 12px -2px rgba(91, 95, 199, .15);--shadow-lg: 0 12px 24px -4px rgba(91, 95, 199, .18);--shadow-xl: 0 24px 40px -8px rgba(91, 95, 199, .22);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px}*{margin:0;padding:0;box-sizing:border-box}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--bg-light);border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-radius:10px;border:2px solid var(--bg-light);transition:all .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--primary-dark) 0%,var(--accent-color) 100%);border-color:var(--bg-lighter)}::-webkit-scrollbar-thumb:active{background:var(--primary-dark)}*{scrollbar-width:thin;scrollbar-color:var(--primary-color) var(--bg-light)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:var(--text-dark);line-height:1.6;overflow-x:hidden;scroll-behavior:smooth}.home-page{min-height:100vh;background:var(--bg-white)}.container{max-width:1200px;margin:0 auto;padding:0 24px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);padding:16px 0;position:sticky;top:0;z-index:1000;transition:all .3s ease}.header .container{display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:800;color:var(--primary-color);letter-spacing:-.5px}.logo-icon{font-size:28px}.nav{display:flex;align-items:center;gap:8px}.nav-link{text-decoration:none;color:var(--text-medium);font-weight:500;padding:8px 16px;border-radius:var(--radius-sm);transition:all .3s ease;font-size:15px}.nav-link:hover{color:var(--primary-color);background:var(--bg-lighter)}.nav-link{display:flex;align-items:center;gap:6px}.nav-icon{font-size:16px;line-height:1}.btn-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;padding:10px 24px;border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease;box-shadow:var(--shadow-md);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-header:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hero{padding:120px 0 80px;background:linear-gradient(135deg,#e8eeff,#d4f1f4 40%,#b8f5ec,#fef5e7);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(91,95,199,.15) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(0,180,166,.15) 0%,transparent 50%);pointer-events:none}.hero-content{text-align:center;max-width:900px;margin:0 auto;position:relative;animation:fadeInUp .8s ease}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;padding:8px 20px;border-radius:100px;font-size:14px;font-weight:600;color:var(--primary-color);box-shadow:var(--shadow-md);margin-bottom:24px;animation:float 3s ease-in-out infinite}.hero-title{font-size:64px;font-weight:900;color:var(--text-dark);line-height:1.1;margin-bottom:24px;letter-spacing:-2px;background:linear-gradient(135deg,var(--text-dark) 0%,var(--primary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:20px;color:var(--text-medium);line-height:1.8;margin-bottom:40px;max-width:700px;margin-left:auto;margin-right:auto}.hero-buttons{display:flex;gap:16px;justify-content:center;margin-bottom:60px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;text-decoration:none}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:before{width:300px;height:300px}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow-lg)}.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl)}.btn-arrow{transition:transform .3s ease}.btn-primary:hover .btn-arrow{transform:translate(4px)}.btn-with-subtitle{padding:20px 32px;min-width:280px}.btn-content{display:flex;flex-direction:column;gap:4px;text-align:center;align-items:center;position:relative;z-index:1}.btn-title{font-size:18px;font-weight:700;display:block}.btn-subtitle{font-size:12px;font-weight:400;opacity:.9;display:block;line-height:1.4}.btn-secondary .btn-subtitle{opacity:.8}.btn-secondary:hover .btn-subtitle{opacity:1}.hero-stats{display:flex;gap:60px;justify-content:center;flex-wrap:wrap}.stat-item{text-align:center}.stat-number{font-size:40px;font-weight:800;color:var(--primary-color);margin-bottom:4px}.stat-label{font-size:14px;color:var(--text-medium);font-weight:600}.section-badge{display:inline-block;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-color) 100%);color:#fff;padding:6px 16px;border-radius:100px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.section-header{text-align:center;margin-bottom:60px}.section-title{font-size:48px;font-weight:800;color:var(--text-dark);margin-bottom:16px;letter-spacing:-1px}.section-subtitle{font-size:18px;color:var(--text-medium);max-width:600px;margin:0 auto}.features-section{padding:100px 0;background:var(--bg-white)}.features-container{max-width:1100px;margin:0 auto}.feature-tabs{display:flex;gap:12px;justify-content:center;margin-bottom:50px;flex-wrap:wrap}.feature-tab{display:flex;align-items:center;gap:8px;padding:14px 24px;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;font-size:15px;font-weight:600;color:var(--text-medium)}.feature-tab:hover{border-color:var(--primary-light);background:var(--bg-lighter);transform:translateY(-2px)}.feature-tab.active{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border-color:var(--primary-color);color:#fff;box-shadow:var(--shadow-lg)}.tab-icon{font-size:20px}.feature-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;animation:fadeIn .5s ease}.feature-benefits{animation:slideInLeft .6s ease}.feature-title{font-size:36px;font-weight:800;color:var(--text-dark);margin-bottom:30px;letter-spacing:-1px}.benefits-list{list-style:none;display:flex;flex-direction:column;gap:16px}.benefit-item{display:flex;align-items:flex-start;gap:12px;animation:slideInLeft .5s ease both}.benefit-check{background:linear-gradient(135deg,var(--success-color) 0%,var(--accent-color) 100%);color:#fff;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;box-shadow:0 2px 8px #00c8964d}.benefit-text{font-size:16px;color:var(--text-medium);line-height:1.6}.feature-image{animation:slideInRight .6s ease}.image-placeholder{background:linear-gradient(135deg,var(--bg-lighter) 0%,var(--bg-light) 100%);border:3px dashed var(--border-color);border-radius:var(--radius-xl);padding:80px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:400px;transition:all .3s ease}.image-placeholder:hover{border-color:var(--primary-color);background:linear-gradient(135deg,#d4f1f4,#b8f5ec)}.placeholder-icon{font-size:120px;animation:float 3s ease-in-out infinite}.placeholder-text{font-size:18px;font-weight:600;color:var(--text-medium);text-align:center}.benefits-section{padding:100px 0;background:linear-gradient(135deg,var(--bg-light) 0%,var(--bg-lighter) 100%)}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px}.benefit-card{background:#fff;padding:40px 30px;border-radius:var(--radius-lg);transition:all .3s ease;border:2px solid transparent;box-shadow:var(--shadow-sm)}.benefit-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #5b5fc740;border-color:var(--primary-color);background:linear-gradient(135deg,#fff,#fafbff)}.benefit-icon{font-size:48px;margin-bottom:20px;display:block;transition:transform .3s ease}.benefit-card:hover .benefit-icon{transform:scale(1.1) rotate(5deg)}.benefit-card h3{font-size:22px;color:var(--text-dark);margin-bottom:12px;font-weight:700}.benefit-card p{color:var(--text-medium);line-height:1.7;font-size:15px}.plans-section{padding:100px 0;background:var(--bg-white)}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px;max-width:1100px;margin:0 auto}.plan-card{background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-xl);padding:40px 30px;transition:all .3s ease;position:relative;overflow:hidden}.plan-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color) 0%,var(--secondary-color) 100%);transform:scaleX(0);transition:transform .3s ease}.plan-card:hover:before{transform:scaleX(1)}.plan-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--primary-color)}.plan-card.featured{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:scale(1.05)}.plan-card.featured:hover{transform:scale(1.05) translateY(-8px)}.plan-badge{position:absolute;top:20px;right:20px;background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%);color:#fff;padding:6px 16px;border-radius:100px;font-size:12px;font-weight:700}.plan-header{margin-bottom:24px}.plan-name{font-size:28px;font-weight:800;color:var(--text-dark);margin-bottom:8px}.plan-description{font-size:14px;color:var(--text-medium)}.plan-price{margin-bottom:30px;display:flex;align-items:baseline;gap:4px}.price-currency{font-size:20px;font-weight:600;color:var(--text-medium)}.price-value{font-size:56px;font-weight:800;color:var(--primary-color)}.price-period{font-size:16px;color:var(--text-medium)}.price-custom{font-size:32px;font-weight:800;color:var(--primary-color)}.plan-features{list-style:none;margin-bottom:30px;display:flex;flex-direction:column;gap:12px}.plan-features li{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--text-medium)}.plan-features .feature-check{color:var(--success-color);font-weight:700}.btn-plan{width:100%;padding:14px 24px;border:2px solid var(--primary-color);background:#fff;color:var(--primary-color);border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-plan:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-plan.primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none}.btn-plan.primary:hover{box-shadow:var(--shadow-lg)}.about-section{padding:100px 0;background:linear-gradient(135deg,#e8eeff,#d4f1f4)}.about-content{max-width:800px;margin:0 auto}.about-text{text-align:center}.about-text p{font-size:18px;color:var(--text-medium);line-height:1.8;margin-bottom:20px}.about-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:50px}.value-item{display:flex;align-items:flex-start;gap:20px;padding:30px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all .3s ease}.value-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.value-icon{font-size:40px}.value-item h4{font-size:20px;color:var(--text-dark);margin-bottom:8px;font-weight:700}.value-item p{font-size:15px;color:var(--text-medium);line-height:1.6;text-align:left}.contact-section{padding:100px 0;background:var(--bg-white)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.contact-info h2{font-size:40px;font-weight:800;color:var(--text-dark);margin-bottom:16px;letter-spacing:-1px}.contact-info>p{font-size:18px;color:var(--text-medium);margin-bottom:40px}.contact-methods{display:flex;flex-direction:column;gap:24px}.contact-method{display:flex;align-items:flex-start;gap:16px;padding:20px;background:var(--bg-light);border-radius:var(--radius-md);transition:all .3s ease}.contact-method:hover{background:var(--bg-lighter);transform:translate(5px)}.method-icon{font-size:32px}.contact-method h4{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:4px}.contact-method p{font-size:14px;color:var(--text-medium)}.contact-form{background:#fff;padding:40px;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.contact-form h3{font-size:24px;font-weight:700;color:var(--text-dark);margin-bottom:24px}.form-input,.form-textarea{width:100%;padding:14px 16px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:15px;margin-bottom:16px;transition:all .3s ease;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.form-textarea{resize:vertical;min-height:120px}.full-width{width:100%}.footer{background:var(--text-dark);color:var(--text-light);padding:60px 0 30px}.footer-content{display:grid;grid-template-columns:2fr 3fr;gap:60px;margin-bottom:40px}.footer-logo{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:800;color:#fff;margin-bottom:16px}.footer-tagline{color:var(--text-light);line-height:1.7;margin-bottom:24px;font-size:14px}.social-links{display:flex;gap:16px}.social-link{color:var(--text-light);text-decoration:none;font-size:14px;font-weight:500;transition:color .3s ease}.social-link:hover{color:var(--primary-light)}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.footer-column h4{color:#fff;font-size:16px;font-weight:700;margin-bottom:16px}.footer-column a{display:block;color:var(--text-light);text-decoration:none;font-size:14px;margin-bottom:12px;transition:color .3s ease}.footer-column a:hover{color:var(--primary-light)}.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid rgba(255,255,255,.1);color:var(--text-light);font-size:14px}.scroll-to-top{position:fixed;bottom:40px;right:40px;width:56px;height:56px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:var(--shadow-xl);transition:all .4s cubic-bezier(.68,-.55,.265,1.55);z-index:999;opacity:0;visibility:hidden;transform:scale(0) rotate(0)}.scroll-to-top.visible{opacity:1;visibility:visible;transform:scale(1) rotate(360deg)}.scroll-to-top:hover{transform:scale(1.15) translateY(-5px);box-shadow:0 20px 40px #5b5fc766;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--accent-color) 100%)}.scroll-to-top:active{transform:scale(.95)}.scroll-to-top:before{content:"";position:absolute;inset:-5px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);opacity:0;z-index:-1;transition:opacity .3s ease}.scroll-to-top:hover:before{opacity:.3;animation:pulse-ring 1.5s infinite}@keyframes pulse-ring{0%{transform:scale(1);opacity:.3}50%{transform:scale(1.2);opacity:0}to{transform:scale(1);opacity:0}}@media(max-width:1024px){.hero-title{font-size:48px}.section-title{font-size:36px}.feature-content{grid-template-columns:1fr;gap:40px}.contact-content{grid-template-columns:1fr}}.header-actions{display:flex;align-items:center;gap:16px}.mobile-menu-button{display:none;background:none;border:none;cursor:pointer;padding:8px;z-index:1001}.hamburger-icon{display:flex;flex-direction:column;gap:5px;width:28px}.hamburger-icon span{display:block;width:100%;height:3px;background:var(--primary-color);border-radius:2px;transition:all .3s ease}.mobile-menu-button:hover .hamburger-icon span{background:var(--primary-dark)}.mobile-menu-overlay{position:fixed;inset:0;background:#00000080;z-index:1100;animation:fadeIn .3s ease}.mobile-menu{position:fixed;top:0;right:-100%;width:300px;max-width:85vw;height:100vh;background:#fff;box-shadow:-4px 0 20px #0000001a;z-index:1200;display:flex;flex-direction:column;transition:right .4s cubic-bezier(.68,-.55,.265,1.55);overflow-y:auto}.mobile-menu.open{right:0}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:2px solid var(--border-color);background:linear-gradient(135deg,var(--bg-lighter) 0%,white 100%)}.mobile-menu-logo{display:flex;align-items:center;gap:8px;font-size:22px;font-weight:800;color:var(--primary-color);letter-spacing:-.5px}.mobile-menu-close{background:var(--bg-lighter);border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:22px;color:var(--text-medium);transition:all .3s ease}.mobile-menu-close:hover{background:var(--primary-color);color:#fff;transform:rotate(90deg)}.mobile-menu-nav{flex:1;padding:24px 0}.mobile-nav-link{display:flex;align-items:center;gap:16px;padding:16px 24px;text-decoration:none;color:var(--text-dark);font-size:16px;font-weight:600;transition:all .3s ease;border-left:4px solid transparent}.mobile-nav-link:hover{background:linear-gradient(90deg,var(--bg-lighter) 0%,transparent 100%);border-left-color:var(--primary-color);color:var(--primary-color);transform:translate(4px)}.mobile-nav-link:active{background:var(--bg-lighter)}.mobile-nav-icon{font-size:22px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-light);border-radius:var(--radius-sm);transition:all .3s ease}.mobile-nav-link:hover .mobile-nav-icon{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);transform:scale(1.1)}.mobile-menu-footer{padding:20px;border-top:2px solid var(--border-color);background:linear-gradient(135deg,white 0%,var(--bg-lighter) 100%)}.mobile-login-button{display:block;width:100%;padding:14px 24px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;text-align:center;text-decoration:none;font-weight:700;font-size:16px;border-radius:var(--radius-md);transition:all .3s ease;box-shadow:var(--shadow-md)}.mobile-login-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.mobile-login-button:active{transform:translateY(0)}@media(max-width:768px){.nav,.btn-header{display:none}.mobile-menu-button{display:block}.hero{padding:80px 0 60px}.hero-title{font-size:36px}.hero-subtitle{font-size:18px}.hero-buttons{flex-direction:column;align-items:stretch}.btn-with-subtitle{min-width:auto;width:100%}.btn-title{font-size:16px}.btn-subtitle{font-size:11px}.hero-stats{gap:30px}.feature-tabs{flex-direction:column}.feature-tab{width:100%;justify-content:center}.section-title{font-size:32px}.plans-grid,.benefits-grid{grid-template-columns:1fr}.plan-card.featured{transform:scale(1)}.footer-content,.footer-links{grid-template-columns:1fr}.scroll-to-top{bottom:24px;right:24px;width:48px;height:48px;font-size:20px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border:none;border-radius:10px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .3s ease;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}.btn-secondary{background:#fff;color:#6366f1;border:2px solid #6366f1}.btn-secondary:hover:not(:disabled){background:#6366f1;color:#fff}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef44444d}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #ef444466}.btn-full-width{width:100%}.input-wrapper{display:flex;flex-direction:column;gap:8px;width:100%}.input-label{display:block;font-size:14px;font-weight:600;color:#374151}.input{width:100%;padding:14px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;font-family:inherit;transition:all .3s ease;background:#fff;color:#1f2937}.input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.input::placeholder{color:#9ca3af}.input.error{border-color:#ef4444}.input.error:focus{box-shadow:0 0 0 3px #ef44441a}.input-error{display:block;color:#ef4444;font-size:13px;font-weight:500}.select-wrapper{display:flex;flex-direction:column;gap:8px;width:100%}.select-label{display:block;font-size:14px;font-weight:600;color:#374151}.select{width:100%;padding:14px 40px 14px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;font-family:inherit;transition:all .3s ease;background:#fff;color:#1f2937;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.select.error{border-color:#ef4444}.select.error:focus{box-shadow:0 0 0 3px #ef44441a}.select-error{display:block;color:#ef4444;font-size:13px;font-weight:500}.auth-page{min-height:100vh;background:linear-gradient(135deg,#f0f9ff,#e0f2fe,#fef3c7);display:flex;align-items:center;justify-content:center;padding:20px}.auth-container{display:grid;grid-template-columns:1fr 1fr;max-width:1200px;width:100%;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 20px 60px #0000001a;min-height:700px}.auth-brand{background:linear-gradient(135deg,#6366f1,#4f46e5);padding:60px 50px;display:flex;flex-direction:column;justify-content:center;color:#fff;position:relative;overflow:hidden}.auth-brand:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.brand-content{position:relative;z-index:1}.brand-logo{display:flex;align-items:center;gap:12px;margin-bottom:40px}.brand-icon{font-size:40px}.brand-name{font-size:32px;font-weight:800}.brand-title{font-size:32px;font-weight:800;line-height:1.3;margin-bottom:20px}.brand-description{font-size:16px;line-height:1.7;opacity:.9;margin-bottom:40px}.brand-features{display:flex;flex-direction:column;gap:16px}.brand-feature{display:flex;align-items:center;gap:12px;font-size:15px}.feature-icon{width:24px;height:24px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.auth-forms{padding:60px 50px;display:flex;flex-direction:column;position:relative}.back-button{position:absolute;top:10px;left:20px;width:42px;height:42px;background:linear-gradient(135deg,#6366f1,#00b4a6);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 12px 24px -4px #6366f138;transition:all .4s cubic-bezier(.68,-.55,.265,1.55);z-index:999;padding:0}.back-button:hover{transform:scale(1.15) translate(-5px);box-shadow:0 20px 40px #6366f166;background:linear-gradient(135deg,#4f46e5,#06d6a0)}.back-button:active{transform:scale(.95)}.back-button:before{content:"";position:absolute;inset:-5px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#00b4a6);opacity:0;z-index:-1;transition:opacity .3s ease}.back-button:hover:before{opacity:.3;animation:pulse-ring-auth 1.5s infinite}@keyframes pulse-ring-auth{0%{transform:scale(1);opacity:.3}50%{transform:scale(1.2);opacity:0}to{transform:scale(1);opacity:0}}.auth-tabs{display:flex;gap:8px;margin-bottom:40px;background:#f3f4f6;padding:4px;border-radius:12px}.btn-register{margin-top:16px}.auth-tab{flex:1;padding:12px 24px;border:none;background:transparent;color:#6b7280;font-size:15px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease}.auth-tab.active{background:#fff;color:#6366f1;box-shadow:0 2px 8px #0000000d}.auth-form{display:flex;flex-direction:column;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-title{font-size:28px;font-weight:800;color:#1f2937;margin-bottom:8px}.form-subtitle{font-size:15px;color:#6b7280;margin-bottom:32px}.form-footer{display:flex;justify-content:flex-end;margin-bottom:24px}.forgot-password{background:none;border:none;color:#6366f1;font-size:14px;font-weight:600;cursor:pointer;transition:color .3s ease;padding:0}.forgot-password:hover{color:#4f46e5;text-decoration:underline}.error-message{color:#ef4444;font-size:14px;font-weight:500;text-align:center;margin-top:8px}.terms-text{text-align:center;font-size:12px;color:#6b7280;margin-top:20px;line-height:1.6}.terms-link{color:#6366f1;text-decoration:none;font-weight:600;transition:color .3s ease}.terms-link:hover{color:#4f46e5;text-decoration:underline}@media(max-width:1024px){.auth-container{grid-template-columns:1fr;max-width:500px}.auth-brand{display:none}.auth-forms{padding:80px 30px 40px}.auth-tabs{margin-top:0}}@media(max-width:640px){.auth-page{padding:10px}.auth-forms{padding:75px 20px 30px}.form-title{font-size:24px}.back-button{width:44px;height:44px;font-size:18px;top:18px;left:18px}}.professional-layout{display:flex;min-height:100vh;background:var(--bg-light)}.professional-sidebar{width:280px;background:linear-gradient(180deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:1000;transition:width .3s ease,transform .3s ease;overflow:hidden}.professional-sidebar.collapsed{width:80px}.professional-sidebar.collapsed .logo-text{opacity:0;width:0;overflow:hidden}.professional-sidebar.collapsed .sidebar-label{opacity:0;width:0;overflow:hidden;white-space:nowrap}.professional-sidebar.collapsed .sidebar-arrow{opacity:0;width:0}.professional-sidebar.collapsed .sidebar-submenu{display:none}.professional-sidebar.collapsed .sidebar-link{padding:14px}.professional-sidebar.collapsed .sidebar-icon{margin:0}.professional-sidebar.collapsed .user-details{opacity:0;width:0;overflow:hidden}.professional-sidebar.collapsed .sidebar-user-info{justify-content:center}.professional-sidebar.collapsed .sidebar-header{justify-content:center;padding:24px 10px}.professional-sidebar.collapsed .sidebar-logo{justify-content:center}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}.sidebar-logo .logo-icon{font-size:28px;flex-shrink:0}.sidebar-logo .logo-text{font-size:22px;font-weight:800;letter-spacing:-.5px;transition:opacity .3s ease,width .3s ease}.sidebar-close{display:none;background:#ffffff1a;border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:18px;cursor:pointer;transition:all .3s ease}.sidebar-close:hover{background:#fff3;transform:rotate(90deg)}.sidebar-nav{flex:1;padding:20px 12px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-link{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-md);text-decoration:none;color:#fffc;font-weight:500;font-size:15px;transition:all .3s ease}.sidebar-link:hover{background:#ffffff1a;color:#fff;transform:translate(4px)}.professional-sidebar.collapsed .sidebar-link:hover{transform:none}.sidebar-link.active{background:#fff3;color:#fff;box-shadow:0 4px 12px #00000026}.sidebar-icon{font-size:20px;width:28px;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-label{transition:opacity .3s ease,width .3s ease}.sidebar-menu-item{display:flex;flex-direction:column}.sidebar-link-expandable{justify-content:flex-start;background:none;border:none;width:100%;text-align:left;cursor:pointer}.sidebar-arrow{margin-left:auto;font-size:10px;transition:transform .3s ease,opacity .3s ease;opacity:.7}.sidebar-arrow.expanded{transform:rotate(180deg)}.sidebar-submenu{display:flex;flex-direction:column;gap:2px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding-left:42px}.sidebar-submenu.open{max-height:200px;padding-top:4px;padding-bottom:4px}.sidebar-sublink{padding:10px 14px;border-radius:var(--radius-sm);text-decoration:none;color:#ffffffb3;font-weight:500;font-size:14px;transition:all .3s ease;position:relative}.sidebar-sublink:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:#ffffff4d;transition:all .3s ease}.sidebar-sublink:hover{color:#fff;background:#ffffff1a}.sidebar-sublink:hover:before{background:#fff9}.sidebar-sublink.active{color:#fff;background:#ffffff26}.sidebar-sublink.active:before{background:var(--secondary-color);box-shadow:0 0 8px var(--secondary-color)}.sidebar-footer{padding:20px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-user-info{display:flex;align-items:center;gap:12px;transition:all .3s ease}.user-avatar{width:44px;height:44px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.user-details{display:flex;flex-direction:column;transition:opacity .3s ease,width .3s ease}.user-name{font-weight:600;font-size:14px}.user-specialty{font-size:12px;opacity:.8}.collapse-toggle{position:absolute;bottom:100px;right:-14px;width:28px;height:28px;background:#fff;border:2px solid var(--primary-color);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:var(--shadow-md);z-index:100}.collapse-toggle:hover{background:var(--primary-color);color:#fff;transform:scale(1.1)}.collapse-icon{font-size:14px;font-weight:700;color:var(--primary-color);transition:transform .3s ease;line-height:1}.collapse-toggle:hover .collapse-icon{color:#fff}.collapse-icon.collapsed{transform:rotate(180deg)}.collapse-toggle-header{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #5b5fc74d}.collapse-toggle-header:hover{transform:scale(1.05);box-shadow:0 4px 12px #5b5fc766}.collapse-toggle-header .collapse-icon{font-size:18px;font-weight:700;color:#fff}.professional-main{flex:1;margin-left:280px;display:flex;flex-direction:column;min-height:100vh;transition:margin-left .3s ease}.sidebar-collapsed .professional-main{margin-left:80px}.professional-header{background:#fff;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:16px}.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}.menu-toggle span{display:block;width:24px;height:3px;background:var(--primary-color);border-radius:2px;transition:all .3s ease}.header-title{font-size:20px;font-weight:700;color:var(--text-dark)}.header-right{display:flex;align-items:center;gap:16px}.notification-btn{position:relative;background:var(--bg-lighter);border:none;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.notification-btn:hover{background:var(--bg-light);transform:scale(1.05)}.notification-icon{font-size:20px}.notification-badge{position:absolute;top:4px;right:4px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.profile-menu-container{position:relative}.profile-btn{display:flex;align-items:center;gap:10px;background:none;border:2px solid var(--border-color);padding:6px 12px 6px 6px;border-radius:100px;cursor:pointer;transition:all .3s ease}.profile-btn:hover{border-color:var(--primary-color);background:var(--bg-lighter)}.profile-avatar{width:36px;height:36px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.profile-name{font-weight:600;font-size:14px;color:var(--text-dark)}.profile-arrow{font-size:10px;color:var(--text-medium);transition:transform .3s ease}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;padding:8px;animation:fadeInDown .2s ease;z-index:1000}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-sm);text-decoration:none;color:var(--text-dark);font-size:14px;font-weight:500;transition:all .2s ease;background:none;border:none;width:100%;cursor:pointer}.dropdown-item:hover{background:var(--bg-lighter);color:var(--primary-color)}.dropdown-item.logout{color:#ef4444}.dropdown-item.logout:hover{background:#fef2f2;color:#dc2626}.dropdown-icon{font-size:16px}.dropdown-divider{height:1px;background:var(--border-color);margin:8px 0}.professional-content{flex:1;padding:32px}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:999}@media(max-width:1024px){.professional-sidebar{transform:translate(-100%);width:280px!important}.professional-sidebar.collapsed{width:280px!important}.professional-sidebar.open{transform:translate(0)}.professional-sidebar.open .logo-text,.professional-sidebar.open .sidebar-label,.professional-sidebar.open .sidebar-arrow,.professional-sidebar.open .user-details{opacity:1;width:auto}.professional-sidebar.open .sidebar-submenu{display:flex}.professional-sidebar.open .sidebar-link{justify-content:flex-start;padding:14px 16px}.professional-sidebar.open .sidebar-header{justify-content:space-between;padding:24px 20px}.professional-sidebar.open .sidebar-user-info{justify-content:flex-start}.sidebar-close{display:flex;align-items:center;justify-content:center}.sidebar-overlay{display:block}.professional-main{margin-left:0!important}.menu-toggle{display:flex}.collapse-toggle,.collapse-toggle-header{display:none}.professional-header{padding:16px 20px}.professional-content{padding:20px}}@media(max-width:768px){.header-title{font-size:16px}.profile-name{display:none}.profile-btn{padding:4px;border:none}.profile-arrow{display:none}.professional-content{padding:16px}}.dashboard-page{display:flex;flex-direction:column;gap:24px}.welcome-section{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.welcome-title{font-size:32px;font-weight:800;color:var(--text-dark);margin-bottom:4px;letter-spacing:-.5px}.welcome-subtitle{font-size:16px;color:var(--text-medium)}.welcome-date{display:flex;align-items:center;gap:8px;background:#fff;padding:12px 20px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.date-icon{font-size:20px}.date-text{font-size:14px;font-weight:500;color:var(--text-dark);text-transform:capitalize}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat-card{background:#fff;border-radius:var(--radius-lg);padding:24px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-sm);transition:all .3s ease;border:2px solid transparent}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-card.stat-primary{border-left:4px solid var(--primary-color)}.stat-card.stat-primary:hover{border-color:var(--primary-color)}.stat-card.stat-success{border-left:4px solid var(--success-color)}.stat-card.stat-success:hover{border-color:var(--success-color)}.stat-card.stat-warning{border-left:4px solid var(--warning-color)}.stat-card.stat-warning:hover{border-color:var(--warning-color)}.stat-card.stat-info{border-left:4px solid var(--secondary-color)}.stat-card.stat-info:hover{border-color:var(--secondary-color)}.stat-icon{font-size:40px;line-height:1}.stat-value{font-size:28px;font-weight:800;color:var(--text-dark);line-height:1.2}.stat-label{font-size:14px;color:var(--text-medium);font-weight:500}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}.right-column{display:flex;flex-direction:column;gap:24px}.dashboard-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.card-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:var(--text-dark)}.card-icon{font-size:22px}.card-link{font-size:14px;font-weight:600;color:var(--primary-color);text-decoration:none;transition:all .2s ease}.card-link:hover{color:var(--primary-dark);text-decoration:underline}.appointments-list{padding:8px}.appointment-item{display:flex;align-items:center;gap:16px;padding:16px;border-radius:var(--radius-md);transition:all .2s ease}.appointment-item:hover{background:var(--bg-lighter)}.appointment-time{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;padding:10px 14px;border-radius:var(--radius-sm);min-width:70px;text-align:center}.time-value{font-size:16px;font-weight:700}.appointment-info{flex:1;display:flex;flex-direction:column;gap:2px}.appointment-type{font-size:13px;color:var(--text-medium)}.appointment-status{padding:6px 12px;border-radius:100px;font-size:12px;font-weight:600}.status-confirmed{background:#dcfce7;color:#16a34a}.status-scheduled{background:#dbeafe;color:#2563eb}.status-completed{background:#f3e8ff;color:#9333ea}.status-cancelled{background:#fee2e2;color:#dc2626}.status-in-progress{background:#fef3c7;color:#d97706}.status-no-show{background:#ffedd5;color:#ea580c}.empty-card-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--text-medium);font-size:14px;text-align:center}.empty-card-state span{font-size:32px}.count-badge-small{background:var(--bg-lighter);color:var(--text-medium);font-size:12px;font-weight:700;padding:2px 8px;border-radius:100px}.birthdays-list{padding:8px}.birthday-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);transition:background .2s ease}.birthday-item:hover{background:var(--bg-lighter)}.birthday-item.birthday-today{background:#fef9c3}.birthday-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.birthday-info{flex:1;display:flex;flex-direction:column;gap:2px}.birthday-name{font-size:14px;font-weight:600;color:var(--text-dark)}.birthday-date{font-size:12px;color:var(--text-medium);text-transform:capitalize}.birthday-today-badge{font-size:11px;font-weight:700;color:#ca8a04;background:#fef08a;padding:2px 8px;border-radius:100px;white-space:nowrap}.quick-actions{padding:8px}.action-item{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--radius-md);text-decoration:none;transition:all .3s ease}.action-item:hover{background:var(--bg-lighter);transform:translate(4px)}.action-icon{font-size:32px;width:56px;height:56px;background:linear-gradient(135deg,var(--bg-lighter) 0%,var(--bg-light) 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.action-item:hover .action-icon{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);transform:scale(1.05)}.action-content{flex:1;display:flex;flex-direction:column;gap:2px}.action-title{font-size:15px;font-weight:600;color:var(--text-dark)}.action-description{font-size:13px;color:var(--text-medium)}.action-arrow{font-size:18px;color:var(--text-light);transition:all .3s ease}.action-item:hover .action-arrow{color:var(--primary-color);transform:translate(4px)}.activity-card{grid-column:1 / -1}.activity-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-color)}.activity-item{background:#fff;padding:24px;text-align:center}.activity-number{font-size:32px;font-weight:800;color:var(--text-dark);margin-bottom:4px}.activity-label{font-size:14px;color:var(--text-medium);margin-bottom:8px}.activity-change{font-size:12px;font-weight:600}.activity-change.positive{color:var(--success-color)}.activity-change.negative{color:#ef4444}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.activity-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.welcome-section{flex-direction:column;align-items:flex-start}.welcome-title{font-size:24px}.stats-grid{grid-template-columns:1fr}.stat-card{padding:20px}.stat-value{font-size:24px}.activity-stats{grid-template-columns:1fr}.activity-number{font-size:28px}}.appointments-page{display:flex;flex-direction:column;gap:24px}.btn-new-appointment{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md)}.btn-new-appointment:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-icon{font-size:18px;font-weight:700}.dados-gerais-section{display:flex;flex-direction:column;gap:12px}.section-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-medium)}.stats-row{display:flex;gap:12px;flex-wrap:wrap}.stat-badge{display:flex;align-items:center;gap:8px;background:#fff;padding:12px 20px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border-left:4px solid}.stat-badge.stat-primary{border-left-color:var(--primary-color)}.stat-badge.stat-info{border-left-color:#3b82f6}.stat-badge.stat-success{border-left-color:var(--success-color)}.stat-badge.stat-warning{border-left-color:#f59e0b}.stat-badge.stat-purple{border-left-color:#9333ea}.stat-badge.stat-danger{border-left-color:#ef4444}.stat-badge.stat-orange{border-left-color:#f97316}.stat-badge .stat-value{font-size:20px;font-weight:800;color:var(--text-dark)}.stat-badge .stat-label{font-size:13px;color:var(--text-medium)}.filter-bar{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.view-toggle{display:flex;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);padding:4px;gap:2px;flex-shrink:0}.view-toggle-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:calc(var(--radius-md) - 2px);background:transparent;font-size:13px;font-weight:600;color:var(--text-medium);cursor:pointer;transition:all .2s ease;font-family:inherit;white-space:nowrap}.view-toggle-btn:hover:not(.active){background:var(--bg-lighter);color:var(--text-dark)}.view-toggle-btn.active{background:var(--primary-color);color:#fff;box-shadow:0 2px 8px #5b5fc74d}.vtb-icon{width:15px;height:15px;flex-shrink:0}.search-box{flex:1;min-width:240px;display:flex;align-items:center;gap:12px;background:#fff;padding:10px 16px;border-radius:var(--radius-md);border:2px solid var(--border-color);transition:all .3s ease}.search-icon{font-size:17px}.search-input::placeholder{color:var(--text-light)}.search-clear{background:var(--bg-lighter);border:none;width:22px;height:22px;border-radius:50%;font-size:11px;color:var(--text-medium);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.search-clear:hover{background:#fee2e2;color:#dc2626}.date-picker-bar{display:flex;align-items:center;gap:12px;flex:1;flex-wrap:wrap}.date-quick-btns{display:flex;gap:6px}.date-quick-btn{padding:8px 16px;background:#fff;border:2px solid var(--border-color);border-radius:100px;font-size:13px;font-weight:600;color:var(--text-medium);cursor:pointer;transition:all .2s ease;font-family:inherit;white-space:nowrap}.date-quick-btn:hover:not(.active){border-color:var(--primary-color);color:var(--primary-color)}.date-quick-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.date-filter-input{margin:0;width:auto!important;padding:10px 14px!important;font-size:14px!important}.month-picker-bar{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.month-nav-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:16px;cursor:pointer;color:var(--text-dark);transition:all .2s ease;font-family:inherit;flex-shrink:0}.month-nav-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);background:#5b5fc70d}.month-nav-btn:disabled{opacity:.35;cursor:not-allowed}.month-label-wrapper{position:relative;display:inline-flex;align-items:center;cursor:pointer}.month-label-text{font-size:16px;font-weight:700;color:var(--text-dark);padding:8px 20px;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);white-space:nowrap;transition:border-color .2s ease}.month-label-wrapper:hover .month-label-text{border-color:var(--primary-color);color:var(--primary-color)}.month-label-input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;border:none;padding:0}.results-banner{display:flex;align-items:center;gap:10px;padding:12px 20px;background:linear-gradient(135deg,#5b5fc70f,#5b5fc705);border:1px solid rgba(91,95,199,.15);border-radius:var(--radius-md)}.results-count{font-size:22px;font-weight:800;color:var(--primary-color);line-height:1;flex-shrink:0}.results-label{font-size:14px;color:var(--text-medium);line-height:1.4}.results-label strong{color:var(--text-dark)}.filter-mode-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px 20px;background:#fff;border-radius:var(--radius-lg);font-size:15px;color:var(--text-medium);font-weight:500}.filter-loading-spinner{display:inline-block;width:20px;height:20px;border:2.5px solid rgba(91,95,199,.2);border-top-color:var(--primary-color);border-radius:50%;animation:status-spin .7s linear infinite;flex-shrink:0}.appointments-timeline{display:flex;flex-direction:column;gap:28px}.timeline-day-section{display:flex;flex-direction:column;gap:12px}.timeline-day-header{display:flex;align-items:center;gap:14px}.timeline-day-line{flex:1;height:1px;background:var(--border-color)}.timeline-day-badge{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--border-color);border-radius:100px;padding:6px 16px;white-space:nowrap;flex-shrink:0}.timeline-day-label{font-size:13px;font-weight:700;color:var(--text-dark);text-transform:capitalize}.timeline-day-count{font-size:11px;font-weight:600;color:var(--primary-color);background:#5b5fc71a;padding:2px 9px;border-radius:100px}.filter-group{display:flex;gap:12px;align-items:center}.filter-select{background:#fff;border:2px solid var(--border-color);padding:12px 16px;border-radius:var(--radius-md);font-size:14px;color:var(--text-dark);cursor:pointer;transition:all .3s ease}.appointments-list{display:flex;flex-direction:column;gap:12px;transition:opacity .2s ease}.appointments-list.list-fading{opacity:.5;pointer-events:none}.appointment-card{background:#fff;border-radius:var(--radius-lg);padding:20px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow-sm);transition:all .3s ease}.appointment-card:hover{box-shadow:var(--shadow-md);transform:translate(4px);position:relative;z-index:2}.card-edit-action{display:flex;align-items:center;gap:5px;padding:6px 13px;background:none;border:1.5px solid var(--primary-color);border-radius:100px;color:var(--primary-color);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;opacity:1;transition:background .15s ease,color .15s ease}.card-edit-action:hover{background:var(--primary-color);color:#fff}.card-left{display:flex;align-items:center;gap:14px;min-width:210px}.patient-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.patient-info{display:flex;flex-direction:column;gap:4px}.patient-name{font-size:15px;font-weight:600;color:var(--text-dark)}.appointment-mode-badge{display:inline-block;font-size:11px;font-weight:600;color:var(--primary-color);background:#5b5fc714;padding:2px 8px;border-radius:100px;width:fit-content}.card-center{flex:1;display:flex;align-items:center;gap:20px}.appointment-datetime{display:flex;flex-direction:column;align-items:center;background:var(--bg-lighter);padding:10px 16px;border-radius:var(--radius-sm);min-width:110px}.datetime-date{font-size:12px;color:var(--text-medium);text-transform:capitalize}.datetime-timerange{display:flex;align-items:center;gap:6px}.datetime-time{font-size:17px;font-weight:700;color:var(--primary-color);line-height:1}.datetime-arrow{font-size:13px;color:var(--text-light);font-weight:400}.datetime-duration{font-size:15px;font-weight:600;color:#fff;background:var(--primary-color);padding:2px 8px;border-radius:100px;opacity:.75}.appointment-type{font-size:14px;color:var(--text-medium)}.card-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:130px}.status-selector-trigger{display:flex;align-items:center;gap:6px;padding:7px 14px 7px 10px;border:none;border-radius:100px;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s ease;white-space:nowrap;font-family:inherit}.status-selector-trigger:hover:not(:disabled){filter:brightness(.93)}.status-selector-trigger:disabled{cursor:not-allowed}.status-dot-mini{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-chevron{font-size:8px;opacity:.65;margin-left:1px}.status-loading-spinner{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:status-spin .55s linear infinite}@keyframes status-spin{to{transform:rotate(360deg)}}.status-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 8px 28px #00000021;z-index:200;min-width:196px;overflow:hidden;animation:status-dropdown-in .14s ease}@keyframes status-dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.status-dropdown-title{padding:11px 14px 9px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-medium);border-bottom:1px solid var(--border-color);background:var(--bg-lighter)}.status-dropdown-error{margin:8px 10px;padding:7px 10px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);color:#dc2626;font-size:12px;line-height:1.4}.status-modal-overlay{position:fixed;inset:0;background:#00000073;z-index:1000}.status-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;background:#fff;border-radius:14px;box-shadow:0 20px 60px #0003;width:min(340px,90vw);overflow:hidden;animation:status-modal-in .17s ease}@keyframes status-modal-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.status-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--border-color);background:var(--bg-lighter)}.status-modal-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-medium)}.status-modal-close{background:none;border:none;cursor:pointer;color:var(--text-medium);font-size:15px;padding:2px 6px;border-radius:4px;line-height:1;font-family:inherit}.status-modal-close:hover{background:var(--border-color);color:var(--text-dark)}.status-modal-options{padding:8px 0}.status-option{display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;background:none;border:none;border-bottom:1px solid transparent;cursor:pointer;transition:background .12s ease;font-family:inherit}.status-option:last-child{border-bottom:none}.status-option:hover:not(:disabled):not(.status-option-current){background:var(--s-bg, var(--bg-lighter))}.status-option:hover:not(:disabled):not(.status-option-current) .status-option-label{color:var(--s-color)}.status-option:disabled{cursor:not-allowed;opacity:.55}.status-option-current{background:#f8fafc;cursor:default}.status-dot-option{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-option-label{flex:1;font-size:13px;font-weight:500;color:var(--text-dark);text-align:left}.status-option-check{font-size:11px;font-weight:700;color:#16a34a;flex-shrink:0}.card-fee{font-size:15px;font-weight:700;color:var(--text-dark)}.card-fee.fee-free{font-size:12px;font-weight:500;color:var(--text-light)}.appointment-notes{font-size:16px;cursor:help}.appointment-card.card-completed{opacity:.75;background:#f8fafc}.appointment-card.card-cancelled{opacity:.6;background:#fef2f2}.form-error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);padding:12px 16px;color:#dc2626;font-size:14px}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}.pagination-btn{background:#fff;border:2px solid var(--border-color);padding:8px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .2s ease}.pagination-pages{display:flex;gap:4px;align-items:center}.pagination-page{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:#fff;font-size:14px;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .2s ease}.pagination-page:hover:not(.active){border-color:var(--primary-color);color:var(--primary-color)}.pagination-page.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.pagination-ellipsis{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-medium)}.modal-content{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease}.modal-content.modal-wide{max-width:640px}.modal-header-info{display:flex;align-items:center;gap:10px}.modal-header-id{font-size:13px;font-weight:600;color:var(--text-medium);background:var(--bg-lighter);padding:3px 10px;border-radius:100px}.form-divider{display:flex;align-items:center;gap:12px;color:var(--text-medium);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.form-input,.form-select,.form-textarea{padding:12px 14px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:15px;transition:all .3s ease;font-family:inherit;width:100%;box-sizing:border-box}.form-currency-field{position:relative}.form-currency-symbol{position:absolute;left:14px;top:38%;transform:translateY(-50%);font-size:14px;font-weight:700;color:var(--text-medium);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1}.form-currency-input{padding-left:40px!important}.form-currency-input::-webkit-outer-spin-button,.form-currency-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-currency-input[type=number]{-moz-appearance:textfield}.btn-save:disabled{opacity:.6;cursor:not-allowed}.cal-root{display:flex;gap:16px;align-items:flex-start}.cal-panel{flex:1;min-width:0;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--border-color)}.cal-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border-color);gap:12px;flex-wrap:wrap}.cal-nav-left{display:flex;align-items:center;gap:12px}.cal-month-title{font-size:18px;font-weight:800;color:var(--text-dark);margin:0;white-space:nowrap}.cal-today-btn{padding:5px 14px;background:var(--bg-lighter);border:1.5px solid var(--border-color);border-radius:100px;font-size:12px;font-weight:600;color:var(--text-medium);cursor:pointer;transition:all .15s ease;font-family:inherit;white-space:nowrap}.cal-today-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.cal-nav-right{display:flex;align-items:center;gap:14px}.cal-month-count{font-size:13px;color:var(--text-medium);font-weight:500;white-space:nowrap}.cal-nav-arrows{display:flex;gap:4px}.cal-nav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-lighter);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);font-size:20px;font-weight:400;color:var(--text-dark);cursor:pointer;transition:all .15s ease;font-family:inherit;line-height:1}.cal-nav-btn:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);color:#fff}.cal-nav-btn:disabled{opacity:.35;cursor:not-allowed}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg-lighter);border-bottom:1px solid var(--border-color)}.cal-weekday{padding:10px 6px;text-align:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-medium)}.cal-weeks{display:flex;flex-direction:column}.cal-week{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border-color)}.cal-week:last-child{border-bottom:none}.cal-day{position:relative;min-height:76px;padding:8px 6px;background:#fff;border:none;border-right:1px solid var(--border-color);text-align:left;cursor:pointer;transition:background .12s ease;display:flex;flex-direction:column;gap:6px;font-family:inherit}.cal-day:last-child{border-right:none}.cal-day:hover{background:#5b5fc709}.cal-day--other{background:var(--bg-lighter);opacity:.5}.cal-day--other:hover{background:var(--bg-lighter)}.cal-day--today .cal-day-num{background:var(--primary-color);color:#fff;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-weight:700}.cal-day--selected{background:#5b5fc70f!important;box-shadow:inset 0 0 0 2px var(--primary-color)}.cal-day-num{font-size:13px;font-weight:600;color:var(--text-dark);width:26px;height:26px;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.cal-day--other .cal-day-num{color:var(--text-light);font-weight:400}.cal-day-header{display:flex;align-items:center;justify-content:space-between;gap:4px}.cal-day-count-badge{font-size:10px;font-weight:700;color:var(--primary-color);background:#5b5fc71a;border-radius:10px;padding:1px 6px;line-height:1.4;flex-shrink:0}.cal-day-indicator{display:flex;align-items:center;justify-content:flex-start}.cal-day-dots{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.cal-day-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block}.cal-day-dot-more{font-size:9px;font-weight:700;color:var(--text-muted, #94a3b8);line-height:1}.cal-loading-state{display:flex;align-items:center;justify-content:center;gap:12px;padding:80px 20px;color:var(--text-medium);font-size:15px;font-weight:500}.cal-spinner{display:inline-block;width:22px;height:22px;border:2.5px solid rgba(91,95,199,.2);border-top-color:var(--primary-color);border-radius:50%;animation:status-spin .7s linear infinite;flex-shrink:0}.cal-legend-bar{display:flex;flex-wrap:wrap;gap:12px;padding:12px 20px;border-top:1px solid var(--border-color);background:var(--bg-lighter)}.cal-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:500;color:var(--text-medium);white-space:nowrap}.cal-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cal-detail{width:340px;flex-shrink:0;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);position:sticky;top:20px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;overflow:hidden;animation:cal-detail-slide .2s ease}@keyframes cal-detail-slide{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.cal-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--border-color);flex-shrink:0}.cal-detail-title-wrap{display:flex;flex-direction:column;gap:3px;min-width:0}.cal-detail-date{font-size:14px;font-weight:700;color:var(--text-dark);line-height:1.3;text-transform:capitalize}.cal-detail-count{font-size:12px;color:var(--text-medium);font-weight:500}.cal-detail-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.cal-detail-add-btn{padding:6px 12px;background:var(--primary-color);color:#fff;border:none;border-radius:100px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;transition:filter .15s ease}.cal-detail-add-btn:hover{filter:brightness(1.1)}.cal-detail-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-lighter);border:1px solid var(--border-color);border-radius:50%;font-size:12px;color:var(--text-medium);cursor:pointer;font-family:inherit;flex-shrink:0;transition:all .15s ease}.cal-detail-close:hover{background:#fee2e2;color:#dc2626;border-color:#fecaca}.cal-detail-body{flex:1;overflow-y:auto}.cal-detail-empty{display:flex;flex-direction:column;align-items:center;padding:40px 20px;gap:10px;text-align:center}.cal-detail-empty-icon{font-size:40px}.cal-detail-empty p{font-size:13px;color:var(--text-medium);margin:0}.cal-detail-empty-btn{margin-top:4px;padding:8px 18px;background:none;border:1.5px solid var(--primary-color);border-radius:var(--radius-md);font-size:13px;font-weight:600;color:var(--primary-color);cursor:pointer;font-family:inherit;transition:all .15s ease}.cal-detail-empty-btn:hover{background:var(--primary-color);color:#fff}.cal-detail-list{display:flex;flex-direction:column;padding:8px;gap:6px}.cal-apt-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg-lighter);border-left:4px solid #94a3b8;border-radius:0 var(--radius-md) var(--radius-md) 0;transition:box-shadow .15s ease}.cal-apt-item:hover{box-shadow:var(--shadow-sm)}.cal-apt-time-col{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;min-width:46px}.cal-apt-time{font-size:14px;font-weight:700;color:var(--primary-color);white-space:nowrap}.cal-apt-dur{font-size:10px;font-weight:600;color:var(--text-light);white-space:nowrap}.cal-apt-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cal-apt-patient{font-size:13px;font-weight:700;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-apt-sub{font-size:11px;color:var(--text-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-apt-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:2px}.cal-apt-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:100px;font-size:10px;font-weight:600}.cal-apt-badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.cal-apt-fee{font-size:11px;font-weight:600;color:var(--text-dark)}.cal-apt-notes-icon{font-size:12px;cursor:help}.cal-apt-edit-btn{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff;border:1.5px solid var(--border-color);border-radius:var(--radius-sm);font-size:12px;color:var(--primary-color);cursor:pointer;font-family:inherit;transition:all .15s ease;align-self:flex-start}.cal-apt-edit-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}@media(max-width:680px){.cal-day{min-height:52px;padding:6px 4px}.cal-day-count-badge{display:none}.cal-day-dot{width:6px;height:6px}.cal-day-dot-more{font-size:8px}}@media(max-width:500px){.cal-day-num{font-size:11px;width:22px;height:22px}.cal-day--today .cal-day-num{width:22px;height:22px}}@media(max-width:960px){.cal-root{flex-direction:column}.cal-detail{width:100%;position:static;max-height:none;animation:cal-detail-slide-up .2s ease}@keyframes cal-detail-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:640px){.cal-nav{flex-wrap:wrap;gap:10px}.cal-legend-bar{gap:8px 14px}.cal-legend-item{font-size:10px}}@media(max-width:1024px){.appointment-card{flex-wrap:wrap}.card-left{min-width:180px}.card-center{order:3;flex-basis:100%;justify-content:flex-start;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start}.btn-new-appointment{width:100%;justify-content:center}.stats-row{display:grid;grid-template-columns:repeat(2,1fr)}.filter-bar{flex-direction:column;align-items:stretch}.view-toggle{width:100%;justify-content:center}.view-toggle-btn{flex:1;justify-content:center}.search-box{min-width:auto}.date-picker-bar{flex-direction:column;align-items:stretch}.date-quick-btns{justify-content:center}.date-filter-input{width:100%!important}.month-picker-bar{justify-content:center}.filter-group{flex-wrap:wrap}.appointment-card{padding:16px;flex-direction:column;align-items:flex-start}.card-left,.card-center,.card-right{width:100%;min-width:auto}.card-center{order:0;border-top:none;margin-top:0;padding-top:0}.card-right{flex-direction:row;justify-content:space-between;align-items:center}.form-row{grid-template-columns:1fr}.timeline-day-badge{flex-direction:column;align-items:center;gap:4px;border-radius:var(--radius-md);padding:8px 16px}}.patients-page{display:flex;flex-direction:column;gap:24px}.patient-card{background:#fff;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);transition:all .3s ease;display:flex;flex-direction:column;gap:16px}.patient-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-header{display:flex;align-items:center;gap:14px}.patient-avatar{width:56px;height:56px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}.patient-main-info{display:flex;flex-direction:column;gap:4px}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:100px;font-size:11px;font-weight:600;width:fit-content}.status-active{background:#dcfce7;color:#16a34a}.status-inactive{background:#fef3c7;color:#d97706}.card-body{display:flex;flex-direction:column;gap:8px}.info-row{display:flex;align-items:center;gap:10px}.info-icon{font-size:16px;width:20px;text-align:center}.info-text{font-size:14px;color:var(--text-medium)}.mini-stat{flex:1;text-align:center}.mini-value{display:block;font-size:20px;font-weight:800;color:var(--primary-color)}.mini-label{font-size:11px;color:var(--text-medium);text-transform:uppercase}.card-dates{display:flex;flex-direction:column;gap:6px}.date-item{display:flex;justify-content:space-between;font-size:13px}.date-label{color:var(--text-medium)}.date-value{font-weight:600;color:var(--text-dark)}.date-value.next{color:var(--primary-color)}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.action-btn{flex:1;min-width:100px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:10px 12px;background:var(--bg-lighter);border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .3s ease;text-decoration:none;white-space:nowrap}.patient-profile-header{display:flex;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.profile-avatar{width:80px;height:80px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px}.profile-info h3{font-size:24px;font-weight:800;color:var(--text-dark);margin-bottom:8px}.profile-sections{display:flex;flex-direction:column;gap:24px}.profile-section h4{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--bg-lighter)}.section-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:12px;font-weight:600;color:var(--text-medium);text-transform:uppercase}.field span{font-size:15px;color:var(--text-dark)}.appointments-summary{display:flex;gap:16px}.summary-item{flex:1;background:var(--bg-lighter);padding:16px;border-radius:var(--radius-md);text-align:center}.summary-value{display:block;font-size:28px;font-weight:800;color:var(--primary-color)}.summary-label{font-size:12px;color:var(--text-medium)}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-error-message{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:500;border:1px solid #fecaca;margin-bottom:8px}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start}.header-actions{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center}.stats-grid{grid-template-columns:1fr}.filters-section{flex-direction:column}.search-box{min-width:auto;width:100%}.status-filters{width:100%}.filter-btn{flex:1;text-align:center}.form-row,.section-grid{grid-template-columns:1fr}.appointments-summary{flex-direction:column}}.patient-profile-page{display:flex;flex-direction:column;gap:24px}.profile-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px;background:#fff;padding:24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.profile-main{display:flex;gap:20px;align-items:center}.profile-avatar{width:80px;height:80px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:28px;flex-shrink:0}.profile-info h1{font-size:26px;font-weight:800;color:var(--text-dark);margin-bottom:10px}.profile-meta{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.status-badge{padding:6px 14px;border-radius:100px;font-size:13px;font-weight:600}.meta-item{font-size:14px;color:var(--text-medium)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;background:#dc2626;color:#fff;border:none}.btn-danger:hover:not(:disabled){background:#b91c1c;transform:translateY(-2px)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.toast-icon{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.toast-close{margin-left:auto;background:none;border:none;font-size:16px;cursor:pointer;opacity:.6;color:inherit}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-cards{display:flex;flex-direction:column;gap:24px}.profile-card .card-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color);background:var(--bg-lighter)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{margin-top:20px}.form-group.span-2{grid-column:span 2}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;color:var(--text-dark);background:#fff;transition:border-color .3s ease;font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color)}.form-textarea{resize:vertical}.contact-link{color:var(--primary-color);text-decoration:none;font-weight:500}.contact-link:hover{text-decoration:underline}.whatsapp-link{color:#25d366;text-decoration:none;font-weight:500}.whatsapp-link:hover{text-decoration:underline}.contact-actions{display:flex;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.contact-btn{flex:1;padding:12px;background:var(--bg-lighter);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .3s ease}.contact-btn:hover{background:var(--primary-color);color:#fff}.contact-btn.whatsapp:hover{background:#25d366}.quick-links{display:flex;flex-direction:column;gap:8px}.quick-link{display:flex;align-items:center;gap:14px;padding:16px;background:var(--bg-lighter);border-radius:var(--radius-md);text-decoration:none;transition:all .3s ease}.quick-link:hover{background:var(--primary-color)}.quick-link:hover .link-text,.quick-link:hover .link-arrow{color:#fff}.link-icon{font-size:24px}.link-text{flex:1;font-size:15px;font-weight:600;color:var(--text-dark)}.link-arrow{font-size:18px;color:var(--text-medium)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:500px;box-shadow:var(--shadow-lg);overflow:hidden}.modal-content.modal-small{max-width:420px}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-medium);padding:4px}.modal-close:hover{color:var(--text-dark)}.modal-body{padding:24px}.modal-body p{font-size:15px;color:var(--text-medium);margin-bottom:8px;line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}@media(max-width:768px){.profile-header{flex-direction:column}.header-left{flex-direction:column;width:100%}.profile-main{flex-direction:column;text-align:center}.profile-meta{justify-content:center}.header-actions{flex-wrap:wrap}.header-actions>*{flex:1;justify-content:center}.form-grid{grid-template-columns:1fr}.form-group.span-2{grid-column:span 1}.contact-actions{flex-direction:column}}.laudos-page{display:flex;flex-direction:column;gap:24px}.filters-container{background:#fff;border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px}.filters-row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.search-box{flex:1;min-width:300px;display:flex;align-items:center;gap:12px;background:var(--bg-lighter);padding:12px 16px;border-radius:var(--radius-md);border:2px solid var(--border-color);transition:all .3s ease}.search-box:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #5b5fc71a;background:#fff}.search-input{flex:1;border:none;outline:none;font-size:15px;color:var(--text-dark);background:transparent}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-label{font-size:12px;font-weight:600;color:var(--text-medium);text-transform:uppercase}.filter-select{padding:12px 14px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;color:var(--text-dark);background:#fff;cursor:pointer;min-width:160px;transition:all .3s ease}.filter-select:focus{border-color:var(--primary-color);outline:none}.custom-date-filters{display:flex;gap:16px;padding:16px;background:var(--bg-lighter);border-radius:var(--radius-md)}.date-input-group{display:flex;align-items:center;gap:8px}.date-input-group label{font-size:14px;font-weight:500;color:var(--text-medium)}.date-input{padding:10px 12px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;color:var(--text-dark);transition:all .3s ease}.date-input:focus{border-color:var(--primary-color);outline:none}.status-filters{display:flex;background:var(--bg-lighter);border-radius:var(--radius-md);overflow:hidden;border:2px solid var(--border-color)}.filter-btn:hover{background:#fff}.results-info{font-size:14px;color:var(--text-medium);padding-left:4px}.laudos-list{display:flex;flex-direction:column;gap:16px}.laudo-card{background:#fff;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);transition:all .3s ease;display:flex;flex-direction:column;gap:16px}.laudo-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.laudo-header{display:flex;justify-content:space-between;align-items:center}.patient-info{display:flex;align-items:center;gap:14px}.patient-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.patient-details{display:flex;flex-direction:column;gap:4px}.patient-name{font-size:16px;font-weight:700;color:var(--text-dark)}.laudo-type{display:inline-flex;padding:4px 10px;border-radius:100px;font-size:11px;font-weight:600;width:fit-content}.laudo-status{display:inline-flex;align-items:center;padding:6px 14px;border-radius:100px;font-size:12px;font-weight:600}.laudo-body{display:flex;flex-direction:column;gap:8px}.laudo-title{font-size:18px;font-weight:700;color:var(--text-dark)}.laudo-summary{font-size:14px;color:var(--text-medium);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.laudo-cid{display:flex;align-items:center;gap:8px;margin-top:4px}.cid-label{font-size:12px;font-weight:600;color:var(--text-medium)}.cid-value{background:var(--bg-lighter);padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:700;color:var(--primary-color)}.laudo-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--border-color);flex-wrap:wrap;gap:12px}.laudo-dates{display:flex;gap:20px}.date-item{display:flex;align-items:center;gap:6px}.date-text{font-size:13px;color:var(--text-medium)}.laudo-actions{display:flex;gap:8px}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:10px 14px;background:var(--bg-lighter);border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .3s ease;text-decoration:none;white-space:nowrap}.action-btn:hover{background:var(--primary-color);color:#fff}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:var(--radius-lg)}.modal-content.modal-large{max-width:700px}.modal-body{padding:24px;display:flex;flex-direction:column;gap:24px}.laudo-detail-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.patient-info-large{display:flex;align-items:center;gap:16px}.patient-avatar-large{width:64px;height:64px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px}.patient-info-large h3{font-size:20px;font-weight:700;color:var(--text-dark);margin-bottom:6px}.laudo-detail-section h4{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--bg-lighter)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item label{font-size:12px;font-weight:600;color:var(--text-medium);text-transform:uppercase}.detail-item span{font-size:15px;color:var(--text-dark)}.cid-badge{display:inline-flex;background:var(--bg-lighter);padding:4px 12px;border-radius:var(--radius-sm);font-weight:700;color:var(--primary-color)!important}.summary-box,.observations-box{background:var(--bg-lighter);padding:16px;border-radius:var(--radius-md);font-size:14px;line-height:1.7;color:var(--text-dark)}.observations-box{background:#fef3c7;border-left:4px solid #f59e0b}.signature-box{background:var(--bg-lighter);padding:20px;border-radius:var(--radius-md);border:2px dashed var(--border-color)}.signature-info{display:flex;align-items:center;gap:16px}.signature-icon{font-size:40px}.signature-details{display:flex;flex-direction:column;gap:4px}.signature-name{font-size:16px;font-weight:700;color:var(--text-dark)}.signature-crp{font-size:14px;color:var(--text-medium)}.signature-date{font-size:13px;color:var(--success-color);font-weight:500}.form-group label{font-size:14px;font-weight:600;color:var(--text-dark)}.form-input,.form-select,.form-textarea{padding:12px 14px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:15px;transition:all .3s ease;font-family:inherit}.btn-save{background:linear-gradient(135deg,var(--success-color) 0%,#059669 100%);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}@media(max-width:1024px){.filters-row{flex-direction:column}.search-box{min-width:auto;width:100%}.filter-group,.filter-select{width:100%}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start}.header-actions{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center}.stats-grid{grid-template-columns:1fr}.status-filters{width:100%;flex-wrap:wrap}.filter-btn{flex:1;text-align:center;min-width:80px}.laudo-header{flex-direction:column;align-items:flex-start;gap:12px}.laudo-footer{flex-direction:column}.laudo-dates{flex-direction:column;gap:8px}.laudo-actions{width:100%;flex-wrap:wrap}.action-btn{flex:1;min-width:100px;text-align:center}.form-row,.detail-grid{grid-template-columns:1fr}.custom-date-filters,.modal-footer{flex-direction:column}.modal-footer button{width:100%;justify-content:center}}.laudo-detalhes-page{display:flex;flex-direction:column;gap:24px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px;background:#fff;padding:24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.header-left{display:flex;gap:20px;align-items:flex-start}.btn-back{padding:10px 16px;background:var(--bg-lighter);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--text-medium);cursor:pointer;transition:all .3s ease;white-space:nowrap}.header-info{display:flex;flex-direction:column;gap:12px}.page-title{font-size:24px;font-weight:800;color:var(--text-dark)}.header-meta{display:flex;gap:12px;align-items:center}.laudo-type{display:inline-flex;padding:6px 14px;border-radius:100px;font-size:12px;font-weight:600}.type-psico{background:#e0e7ff;color:#4338ca}.type-psiq{background:#fce7f3;color:#be185d}.type-neuro{background:#dbeafe;color:#1d4ed8}.type-aval{background:#fef3c7;color:#d97706}.laudo-status{display:inline-flex;padding:6px 14px;border-radius:100px;font-size:12px;font-weight:600}.status-success{background:#dcfce7;color:#16a34a}.status-warning{background:#fef3c7;color:#d97706}.status-pending{background:#e0e7ff;color:#4f46e5}.laudo-content{display:flex;flex-direction:column;gap:24px}.info-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.info-card .card-header{padding:16px 24px;background:var(--bg-lighter);border-bottom:1px solid var(--border-color)}.info-card .card-header h3{font-size:16px;font-weight:700;color:var(--text-dark)}.info-card .card-body{padding:24px}.patient-info-row{display:flex;align-items:center;gap:20px}.patient-avatar{width:64px;height:64px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;flex-shrink:0}.patient-details{flex:1;display:flex;flex-direction:column;gap:6px}.patient-name{font-size:18px;font-weight:700;color:var(--text-dark)}.patient-contact{font-size:14px;color:var(--text-medium)}.btn-link{color:var(--primary-color);text-decoration:none;font-size:14px;font-weight:600;transition:all .3s ease}.btn-link:hover{text-decoration:underline}.dates-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.date-item{display:flex;flex-direction:column;gap:8px}.date-item label{font-size:12px;font-weight:600;color:var(--text-medium);text-transform:uppercase}.date-item span{font-size:16px;font-weight:600;color:var(--text-dark)}.cid-badge{display:inline-flex;background:var(--primary-color);color:#fff!important;padding:4px 12px;border-radius:var(--radius-sm);font-size:14px!important;width:fit-content}.status-badge{display:inline-flex;padding:4px 12px;border-radius:100px;font-size:13px!important;width:fit-content}.laudo-sections{display:flex;flex-direction:column;gap:20px}.laudo-section{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.section-header{padding:16px 24px;background:var(--bg-lighter);border-bottom:1px solid var(--border-color)}.section-header h3{font-size:16px;font-weight:700;color:var(--text-dark)}.section-content{padding:24px}.section-content p{font-size:15px;line-height:1.8;color:var(--text-dark)}.section-content pre{font-family:inherit;font-size:15px;line-height:1.8;color:var(--text-dark);white-space:pre-wrap;margin:0}.results-content{background:#f0fdf4;border-left:4px solid var(--success-color)}.recommendations-content{background:#eff6ff;border-left:4px solid var(--primary-color)}.observations-section .section-content{background:#fffbeb;border-left:4px solid #f59e0b}.signature-section{margin-top:20px}.signature-box{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:32px;display:flex;align-items:center;gap:24px;border:2px dashed var(--border-color)}.signature-icon{font-size:56px}.signature-info{display:flex;flex-direction:column;gap:4px;flex:1}.signature-name{font-size:20px;font-weight:700;color:var(--text-dark)}.signature-crp{font-size:15px;color:var(--text-medium)}.signature-specialty{font-size:14px;color:var(--text-medium)}.signature-status .signed{color:var(--success-color);font-size:14px;font-weight:600}.signature-status .pending{color:#f59e0b;font-size:14px;font-weight:600}@media(max-width:1024px){.dates-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.page-header{flex-direction:column}.header-left{flex-direction:column;width:100%}.btn-back{width:fit-content}.header-actions{flex-wrap:wrap}.header-actions button{flex:1;justify-content:center}.patient-info-row{flex-direction:column;text-align:center}.dates-grid{grid-template-columns:1fr}.signature-box{flex-direction:column;text-align:center}}.evolucao-page{display:flex;flex-direction:column;gap:24px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{background:#fff;border-radius:var(--radius-lg);padding:20px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-sm);border-left:4px solid;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card.stat-primary{border-left-color:var(--primary-color)}.stat-card.stat-success{border-left-color:var(--success-color)}.stat-card.stat-warning{border-left-color:#f59e0b}.stat-card.stat-info{border-left-color:var(--secondary-color)}.stat-icon{font-size:32px}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:24px;font-weight:800;color:var(--text-dark)}.stat-label{font-size:13px;color:var(--text-medium)}.filters-section{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.search-box{flex:1;min-width:300px;display:flex;align-items:center;gap:12px;background:#fff;padding:12px 16px;border-radius:var(--radius-md);border:2px solid var(--border-color);transition:all .3s ease}.search-box:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #5b5fc71a}.search-icon{font-size:18px}.search-input{flex:1;border:none;outline:none;font-size:15px;color:var(--text-dark)}.status-filters{display:flex;background:#fff;border-radius:var(--radius-md);overflow:hidden;border:2px solid var(--border-color)}.filter-btn{padding:12px 20px;background:none;border:none;font-size:14px;font-weight:500;color:var(--text-medium);cursor:pointer;transition:all .3s ease}.filter-btn:hover{background:var(--bg-lighter)}.filter-btn.active{background:var(--primary-color);color:#fff}.patients-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.patient-evolution-card{background:#fff;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);text-decoration:none;transition:all .3s ease;display:flex;flex-direction:column;gap:16px;border:2px solid transparent}.patient-evolution-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--primary-color)}.patient-evolution-card .card-header{display:flex;align-items:center;gap:14px}.patient-evolution-card .patient-avatar{width:56px;height:56px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0}.patient-evolution-card .patient-info{flex:1;display:flex;flex-direction:column;gap:6px}.patient-evolution-card .patient-name{font-size:18px;font-weight:700;color:var(--text-dark)}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:100px;font-size:12px;font-weight:600;width:fit-content}.card-arrow{font-size:24px;color:var(--text-light);transition:all .3s ease}.patient-evolution-card:hover .card-arrow{color:var(--primary-color);transform:translate(4px)}.card-complaint{background:var(--bg-lighter);padding:12px 16px;border-radius:var(--radius-md);border-left:4px solid var(--primary-color)}.complaint-label{display:block;font-size:11px;font-weight:600;color:var(--text-medium);text-transform:uppercase;margin-bottom:4px}.complaint-text{font-size:14px;color:var(--text-dark);line-height:1.5}.card-stats{display:flex;gap:12px;padding:16px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.mini-stat{flex:1;display:flex;align-items:center;gap:10px;padding:10px;background:var(--bg-lighter);border-radius:var(--radius-md)}.mini-icon{font-size:20px}.mini-info{display:flex;flex-direction:column}.mini-value{font-size:16px;font-weight:800;color:var(--primary-color)}.mini-label{font-size:11px;color:var(--text-medium)}.card-footer{display:flex;justify-content:space-between;align-items:center}.last-session{font-size:13px;color:var(--text-medium)}.view-details{font-size:14px;font-weight:600;color:var(--primary-color)}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;background:#fff;border-radius:var(--radius-lg)}.empty-icon{font-size:64px;display:block;margin-bottom:16px}.empty-state h3{font-size:20px;font-weight:700;color:var(--text-dark);margin-bottom:8px}.empty-state p{font-size:15px;color:var(--text-medium)}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1024px){.patients-grid{grid-template-columns:1fr}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start}.stats-grid{grid-template-columns:1fr}.filters-section{flex-direction:column}.search-box{min-width:auto;width:100%}.status-filters{width:100%}.filter-btn{flex:1;text-align:center}.card-stats{flex-direction:column}}.pagination{display:flex;justify-content:center;align-items:center;gap:8px}.pagination-btn{padding:10px 18px;background:#fff;color:var(--text-dark);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.pagination-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-pages{display:flex;align-items:center;gap:4px}.pagination-page{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--text-dark);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.pagination-page:hover:not(:disabled):not(.active){border-color:var(--primary-color);color:var(--primary-color)}.pagination-page.active{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border-color:var(--primary-color)}.pagination-page:disabled{opacity:.4;cursor:not-allowed}.pagination-ellipsis{width:40px;text-align:center;font-size:14px;color:var(--text-medium)}.pagination-info{text-align:center;font-size:13px;color:var(--text-medium)}.evolucao-detalhes-page{display:flex;flex-direction:column;gap:24px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px}.breadcrumb a{color:var(--primary-color);text-decoration:none;font-weight:500}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .separator,.breadcrumb .current{color:var(--text-medium)}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.not-found-icon{font-size:80px;margin-bottom:24px}.not-found h2{font-size:24px;font-weight:700;color:var(--text-dark);margin-bottom:12px}.not-found p{font-size:16px;color:var(--text-medium);margin-bottom:24px}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;background:#fff;padding:20px 24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.header-left{display:flex;gap:20px;align-items:center}.btn-back{padding:10px 16px;background:var(--bg-lighter);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--text-medium);cursor:pointer;transition:all .3s ease}.btn-back:hover{background:var(--bg-light);color:var(--text-dark)}.patient-header-info{display:flex;gap:16px;align-items:center}.patient-avatar{width:60px;height:60px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;flex-shrink:0}.patient-details h1{font-size:22px;font-weight:800;color:var(--text-dark);margin-bottom:8px}.patient-meta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--text-medium)}.status-badge{padding:4px 12px;border-radius:100px;font-size:12px;font-weight:600}.status-badge.active{background:#dcfce7;color:#16a34a}.status-badge.inactive{background:#fef3c7;color:#d97706}.btn-primary,.btn-secondary{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none}.btn-secondary{background:#fff;color:var(--text-dark);border:2px solid var(--border-color)}.btn-secondary:hover{border-color:var(--primary-color);color:var(--primary-color)}.evolucao-content{display:grid;grid-template-columns:3fr 3fr;gap:20px;align-items:start}.content-column{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 260px)}.column-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;position:sticky;top:0;z-index:10}.column-header h2{font-size:16px;font-weight:700}.count-badge{background:#fff3;padding:4px 12px;border-radius:100px;font-size:13px;font-weight:600}.btn-add{background:#fff3;border:none;padding:6px 14px;border-radius:var(--radius-sm);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-add:hover{background:#ffffff4d}.column-body{flex:1;overflow-y:auto;padding:16px}.data-section{background:var(--bg-lighter);border-radius:var(--radius-md);padding:16px;margin-bottom:12px}.data-section:last-child{margin-bottom:0}.data-section h3{font-size:14px;font-weight:700;color:var(--text-dark);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--border-color)}.data-section.highlight{background:linear-gradient(to right,#eff6ff,#f8fafc);border-left:4px solid var(--primary-color)}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.data-item{display:flex;flex-direction:column;gap:2px}.data-item.full{grid-column:1 / -1}.data-item label{font-size:10px;font-weight:600;color:var(--text-medium);text-transform:uppercase;letter-spacing:.5px}.data-item span{font-size:13px;color:var(--text-dark);word-break:break-word}.text-content{font-size:13px;line-height:1.6;color:var(--text-dark)}.sessions-column{display:flex;flex-direction:column;gap:12px}.session-card{background:var(--bg-lighter);border-radius:var(--radius-md);padding:16px;border-left:4px solid var(--primary-color)}.session-card.status-cancelled{border-left-color:#ef4444;opacity:.8}.session-card.status-no-show{border-left-color:#f59e0b;opacity:.8}.session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.session-number{font-size:12px;font-weight:700;color:var(--primary-color);background:#5b5fc71a;padding:4px 10px;border-radius:100px}.session-status{font-size:11px;font-weight:600;padding:4px 10px;border-radius:100px}.session-status.status-completed{background:#dcfce7;color:#16a34a}.session-status.status-cancelled{background:#fee2e2;color:#dc2626}.session-status.status-no-show{background:#fef3c7;color:#d97706}.session-date{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--text-dark);margin-bottom:8px}.date-icon{font-size:14px}.session-info{display:flex;gap:16px;font-size:12px;color:var(--text-medium);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.session-notes{font-size:13px;margin-bottom:10px}.session-notes strong{display:block;color:var(--text-dark);margin-bottom:4px;font-size:11px;text-transform:uppercase}.session-notes p{color:var(--text-medium);line-height:1.5}.session-professional{font-size:12px;color:var(--text-medium);padding-top:8px;border-top:1px solid var(--border-color)}.session-card--editing{border-left-color:var(--primary-color);box-shadow:0 0 0 2px #5b5fc726}.btn-edit-notes{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:5px 12px;background:transparent;color:var(--text-medium);border:1px dashed var(--border-color);border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;justify-content:center}.btn-edit-notes:hover{color:var(--primary-color);border-color:var(--primary-color);background:#5b5fc70d}.session-edit-form{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.edit-field{display:flex;flex-direction:column;gap:6px}.edit-field label{font-size:11px;font-weight:700;color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px}.edit-textarea{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;color:var(--text-dark);background:#fff;resize:vertical;font-family:inherit;line-height:1.5;transition:border-color .2s ease;box-sizing:border-box}.edit-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #5b5fc71a}.edit-textarea::placeholder{color:var(--text-light)}.edit-error{font-size:12px;color:#ef4444;margin:0}.edit-actions{display:flex;gap:8px;justify-content:flex-end}.btn-edit-cancel{padding:7px 14px;background:transparent;color:var(--text-medium);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-edit-cancel:hover:not(:disabled){border-color:var(--text-medium);color:var(--text-dark)}.btn-edit-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-edit-save{padding:7px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-edit-save:hover:not(:disabled){background:var(--primary-dark)}.btn-edit-save:disabled{opacity:.6;cursor:not-allowed}.evolution-column{display:flex;flex-direction:column;gap:12px}.add-note-form{background:#eff6ff;border:2px solid var(--primary-color);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.form-select,.form-textarea{padding:10px 12px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:13px;font-family:inherit;background:#fff}.form-select:focus,.form-textarea:focus{border-color:var(--primary-color);outline:none}.form-textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:8px;justify-content:flex-end}.btn-cancel,.btn-save{padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#fff;border:2px solid var(--border-color);color:var(--text-medium)}.btn-save{background:var(--success-color);color:#fff;border:none}.btn-save:hover{background:#059669}.evolution-note{background:#fff;border-radius:var(--radius-md);padding:16px;border-left:4px solid;box-shadow:0 1px 3px #00000014}.note-evolucao_clinica{border-left-color:var(--primary-color)}.note-evolucao_pessoal{border-left-color:var(--success-color)}.note-observacao_geral{border-left-color:var(--secondary-color)}.note-meta_atingida{border-left-color:#f59e0b;background:linear-gradient(to right,#fffbeb,#fff)}.first-div{grid-column:1 / -1}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.note-category{font-size:12px;font-weight:600;color:var(--text-dark)}.note-date{font-size:12px;color:var(--text-medium)}.note-content{font-size:13px;line-height:1.6;color:var(--text-dark);margin-bottom:10px}.note-footer{font-size:12px;color:var(--text-medium);padding-top:10px;border-top:1px solid var(--border-color)}.empty-sessions,.empty-notes{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--text-medium)}.empty-sessions span,.empty-notes span{font-size:48px;margin-bottom:16px;opacity:.5}.empty-sessions p,.empty-notes p{font-size:14px;margin:0}.empty-sessions .hint{font-size:12px;color:var(--text-light);margin-top:8px}.btn-add-note{margin-top:16px;padding:10px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-add-note:hover{background:var(--primary-dark);transform:translateY(-2px)}@media(max-width:1400px){.evolucao-content{grid-template-columns:1fr 1fr}.content-column:first-child{grid-column:1 / -1}}@media(max-width:1024px){.evolucao-content{grid-template-columns:1fr}.content-column{max-height:none}}@media(max-width:768px){.page-header,.header-left{flex-direction:column;align-items:flex-start}.patient-header-info{flex-direction:column;text-align:center;align-items:center}.patient-meta{justify-content:center}.header-actions{flex-direction:column}.header-actions>*{justify-content:center}.data-grid{grid-template-columns:1fr}}.modal-content{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease}.modal-body .form-group{display:flex;flex-direction:column;gap:8px}.modal-body .form-group label{font-size:14px;font-weight:600;color:var(--text-dark)}.form-input{padding:12px 14px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:15px;transition:all .3s ease;font-family:inherit}.form-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #5b5fc71a}.form-input:disabled{background:var(--bg-lighter);color:var(--text-dark);cursor:not-allowed}.modal-body .form-select,.modal-body .form-textarea{padding:12px 14px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:15px;transition:all .3s ease;font-family:inherit}.modal-body .form-select:focus,.modal-body .form-textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #5b5fc71a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-body .form-textarea{resize:vertical;min-height:80px}.modal-footer .btn-cancel{background:#fff;border:2px solid var(--border-color);padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;color:var(--text-medium);cursor:pointer;transition:all .3s ease}.modal-footer .btn-cancel:hover{border-color:var(--text-medium);color:var(--text-dark)}.btn-save-appointment{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-save-appointment:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.profile-page{display:flex;flex-direction:column;gap:24px}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.page-title{font-size:28px;font-weight:800;color:var(--text-dark);margin-bottom:4px}.page-subtitle{font-size:15px;color:var(--text-medium)}.header-actions{display:flex;gap:12px}.btn-primary,.btn-secondary{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:#fff;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-secondary:hover{background:var(--primary-color);color:#fff}.save-toast{display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;animation:toastSlideIn .3s ease}.save-toast.success{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.save-toast.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0}.save-toast.success .toast-icon{background:#15803d;color:#fff}.save-toast.error .toast-icon{background:#dc2626;color:#fff}.toast-close{margin-left:auto;background:none;border:none;font-size:16px;cursor:pointer;opacity:.6;transition:opacity .2s;color:inherit}.toast-close:hover{opacity:1}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.profile-content{display:flex;flex-direction:column;gap:24px}.profile-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.profile-card .card-header{display:flex;align-items:center;gap:12px;padding:20px 24px;background:linear-gradient(135deg,var(--bg-lighter) 0%,white 100%);border-bottom:1px solid var(--border-color)}.profile-card .card-icon{font-size:24px}.profile-card .card-header h2{font-size:18px;font-weight:700;color:var(--text-dark)}.profile-card .card-body{padding:24px}.profile-card .card-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--border-color);background:var(--bg-lighter)}.btn-card-save{display:flex;align-items:center;gap:8px;padding:10px 24px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-card-save:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-card-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-card-cancel{padding:10px 24px;background:#fff;color:var(--text-medium);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-card-cancel:hover{border-color:var(--text-medium);color:var(--text-dark)}.btn-card-cancel:disabled{opacity:.6;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width,.form-group.span-2{grid-column:1 / -1}.form-group label{font-size:12px;font-weight:600;color:var(--text-medium);text-transform:uppercase;letter-spacing:.5px}.form-value{font-size:15px;color:var(--text-dark);padding:12px 0}.form-value.text-block{white-space:pre-line;line-height:1.6}.form-value.price{font-size:20px;font-weight:700;color:var(--primary-color)}.form-input,.form-select,.form-textarea{padding:12px 14px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:15px;transition:all .3s ease;font-family:inherit;background:#fff}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #5b5fc71a}.form-textarea{resize:vertical;min-height:100px}.form-hint{font-size:12px;color:var(--text-light)}.form-group-inline{display:flex;gap:16px}.inline-field{flex:1;display:flex;flex-direction:column;gap:8px}.price-input{display:flex;align-items:center;gap:8px}.price-input .currency{font-size:16px;font-weight:600;color:var(--text-medium)}.price-input .form-input{flex:1}.plan-info{display:flex;flex-direction:column;gap:20px}.plan-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.plan-name-badge{display:flex;align-items:center;gap:12px}.plan-name{font-size:24px;font-weight:800;color:var(--text-dark)}.plan-badge{padding:6px 14px;border-radius:100px;font-size:12px;font-weight:600}.plan-badge.active{background:#dcfce7;color:#16a34a}.plan-price{display:flex;align-items:baseline;gap:2px}.plan-price .currency{font-size:16px;font-weight:600;color:var(--text-medium)}.plan-price .amount{font-size:40px;font-weight:800;color:var(--primary-color)}.plan-price .period{font-size:14px;color:var(--text-medium)}.plan-details{display:flex;flex-direction:column;gap:16px}.plan-start{display:flex;gap:8px;font-size:14px}.plan-start .label{color:var(--text-medium)}.plan-start .value{font-weight:600;color:var(--text-dark)}.plan-features{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:20px;background:var(--bg-lighter);border-radius:var(--radius-md)}.plan-features li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-dark)}.plan-features .check{color:var(--success-color);font-weight:700}.btn-upgrade{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-upgrade:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.specialties-section{margin-top:8px;padding-top:20px;border-top:1px solid var(--border-color)}.specialties-view{padding:4px 0}.specialties-chips{display:flex;flex-wrap:wrap;gap:10px}.specialty-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:100px;font-size:13px;font-weight:500;background:var(--bg-lighter);color:var(--text-dark);border:1px solid var(--border-color);transition:all .3s ease}.specialty-chip.chip-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border-color:transparent;font-weight:600;box-shadow:0 2px 8px #5b5fc740}.chip-star{font-size:14px;line-height:1}.chip-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:#ffffff40;padding:2px 8px;border-radius:100px}.specialties-edit{display:flex;flex-direction:column;gap:16px}.specialties-hint{font-size:13px;color:var(--text-medium);margin:0;padding:10px 14px;background:var(--bg-lighter);border-radius:var(--radius-md);border-left:3px solid var(--primary-color)}.specialties-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.specialty-card{display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-md);border:2px solid var(--border-color);background:#fff;transition:all .25s ease;overflow:hidden}.specialty-card.active{border-color:var(--primary-color);background:linear-gradient(135deg,#5b5fc70a,#5b5fc714)}.specialty-card.primary{border-color:var(--primary-color);box-shadow:0 2px 12px #5b5fc733}.specialty-card.inactive{opacity:.6}.specialty-card.inactive:hover{opacity:.85}.specialty-toggle{display:flex;align-items:center;gap:10px;flex:1;padding:12px 14px;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left}.specialty-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;transition:all .25s ease}.specialty-status-dot.on{background:var(--success-color, #16a34a);box-shadow:0 0 0 3px #16a34a33}.specialty-status-dot.off{background:#d1d5db;box-shadow:0 0 0 3px #d1d5db4d}.specialty-name{font-size:14px;font-weight:500;color:var(--text-dark)}.specialty-star{display:flex;align-items:center;justify-content:center;width:40px;height:100%;min-height:42px;background:none;border:none;border-left:1px solid var(--border-color);cursor:pointer;font-size:18px;color:#d1d5db;transition:all .25s ease}.specialty-star:hover{color:#f59e0b;background:#f59e0b0f}.specialty-star.is-primary{color:#f59e0b;background:#f59e0b14}.specialties-summary{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-lighter);border-radius:var(--radius-md);font-size:13px}.summary-label{color:var(--text-medium);font-weight:500}.summary-count{font-weight:700;color:var(--primary-color)}.summary-divider{color:var(--border-color);font-size:18px;line-height:1}.summary-primary{font-weight:600;color:var(--primary-color)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal-content{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:450px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease}@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:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:20px;font-weight:700;color:var(--text-dark)}.modal-close{background:var(--bg-lighter);border:none;width:36px;height:36px;border-radius:50%;font-size:18px;cursor:pointer;transition:all .3s ease}.modal-close:hover{background:#fee2e2;color:#dc2626}.modal-body{padding:24px;display:flex;flex-direction:column;gap:20px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--border-color)}.btn-cancel{background:#fff;border:2px solid var(--border-color);padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;color:var(--text-medium);cursor:pointer;transition:all .3s ease}.btn-cancel:hover{border-color:var(--text-medium);color:var(--text-dark)}.btn-save{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-save:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start}.header-actions{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center}.form-grid{grid-template-columns:1fr}.form-group-inline{flex-direction:column}.plan-header{flex-direction:column;align-items:flex-start}.plan-features,.specialties-grid{grid-template-columns:1fr}.specialties-summary{flex-wrap:wrap}}
