*{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:light}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{height:100%}ul,ol{list-style:none}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:inherit}img{max-width:100%;height:auto}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.layout{display:flex;height:100vh;background-color:#f5f5f5;position:relative}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.content{flex:1;padding:20px;overflow-y:auto;background-color:#f5f5f5}.sidebar-backdrop{display:none}@media(max-width:1024px){.content{padding:16px}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#00000059;border:0;padding:0;margin:0;z-index:900;cursor:pointer}}.sidebar{width:250px;min-width:250px;background-color:#fff;box-shadow:2px 0 5px #0000001a;display:flex;flex-direction:column;padding:0;z-index:1000}.sidebar-close-button{display:none}.logo{display:flex;align-items:center;position:relative;padding:20px;border-bottom:1px solid #e0e0e0;margin-bottom:10px}.logo-image{width:100%;max-width:185px;height:auto;display:block}.logo-icon{font-size:24px;margin-right:10px;color:#4285f4}.logo-text{font-size:18px;font-weight:700;color:#333}.nav-menu{flex:1;padding:0 10px}.nav-item{display:flex;align-items:center;padding:12px 15px;color:#666;text-decoration:none;border-radius:8px;margin-bottom:4px;transition:all .2s ease}.nav-item:hover{background-color:#f0f2f5;color:#333}.nav-item.active{background-color:#e3f2fd;color:#1976d2;font-weight:500}.nav-item.active .nav-icon{background-color:#1976d2;color:#fff;border-radius:6px;padding:4px}.nav-icon{font-size:20px;margin-right:12px;margin-top:5px;width:20px;text-align:center}.nav-label{font-size:14px}@media(max-width:1024px){.sidebar{position:fixed;top:0;left:0;height:100vh;transform:translate(-100%);transition:transform .25s ease;box-shadow:6px 0 24px #0000002e}.sidebar.open{transform:translate(0)}.sidebar-close-button{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:50%;right:12px;transform:translateY(-50%);width:34px;height:34px;border:1px solid #d1d5db;border-radius:999px;background-color:#f8fafc;color:#4b5563;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 2px 8px #00000014}.sidebar-close-button:hover{background-color:#eef2f7}.sidebar-close-button:active{transform:translateY(-50%) scale(.96)}.sidebar-close-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.logo{padding:14px 16px;margin-bottom:6px}.logo-image{max-width:165px}}@media(max-width:480px){.sidebar{width:220px;min-width:220px}.logo{padding:12px}.logo-image{max-width:145px}.nav-item{padding:10px 12px}.nav-icon{margin-right:10px;font-size:18px}.nav-label{font-size:13px}}.topbar{background-color:#fff;box-shadow:0 2px 5px #0000001a;padding:0 30px;display:flex;align-items:center;justify-content:space-between;height:70px;z-index:999}.topbar-left{flex:1;display:flex;align-items:center;gap:12px}.sidebar-toggle-button{display:none;border:1px solid #e5e7eb;border-radius:8px;width:36px;height:36px;background-color:#fff;color:#374151;align-items:center;justify-content:center;font-size:22px;cursor:pointer}.sidebar-toggle-button:hover{background-color:#f9fafb}.page-title{font-size:24px;font-weight:600;color:#333;margin:0}.topbar-right{display:flex;align-items:center;gap:10px}.search-input{padding:8px 40px 8px 15px;border:1px solid #e0e0e0;border-radius:20px;background-color:#f8f9fa;font-size:14px;width:300px;outline:none;transition:all .2s ease}.search-input:focus{border-color:#4285f4;background-color:#fff;box-shadow:0 0 0 3px #4285f41a}.search-icon{position:absolute;right:15px;color:#666;font-size:16px}.notification-badge{position:absolute;top:2px;right:2px;background-color:#f44;color:#fff;font-size:10px;padding:2px 5px;border-radius:10px;min-width:16px;text-align:center}.user-profile{position:relative;cursor:pointer}.user-avatar{width:40px;height:40px;background-color:#e0e0e0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .2s ease;position:relative;border:2px solid transparent}.user-avatar:hover{background-color:#d0d0d0;border-color:#4285f4}.avatar-photo{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar-placeholder{font-size:20px}.dropdown-arrow{position:absolute;bottom:-2px;right:-2px;background:#4285f4;color:#fff;border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:8px;border:2px solid white}.user-dropdown{position:absolute;top:100%;right:0;width:260px;background:#fff;border-radius:12px;box-shadow:0 10px 30px #00000026;border:1px solid #e5e7eb;z-index:1000;margin-top:8px;overflow:hidden}.user-dropdown-header{padding:1rem 1.25rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.user-info{display:flex;flex-direction:column;gap:.25rem}.user-name{font-weight:600;color:#1f2937;font-size:.95rem}.user-email{color:#6b7280;font-size:.8rem}.user-dropdown-divider{height:1px;background:#e5e7eb;margin:0}.user-dropdown-menu{padding:.5rem 0}.dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1.25rem;background:none;border:none;cursor:pointer;transition:all .2s ease;font-size:.9rem;color:#374151;text-align:left}.dropdown-item:hover{background:#f3f4f6}.dropdown-item.logout{color:#dc2626}.dropdown-item.logout:hover{background:#fef2f2;color:#b91c1c}.dropdown-icon{font-size:1rem;width:16px;text-align:center}.dropdown-divider{height:1px;background:#e5e7eb;margin:.5rem 0}.notification-container{position:relative}.notification-icon{position:relative;cursor:pointer;padding:8px;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;font-size:20px;margin-top:5px}.notification-icon:hover{background-color:#f5f5f5}.notification-badge{position:absolute;top:-2px;right:-2px;background-color:#f44;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;border:2px solid white}.notifications-modal{position:absolute;top:100%;right:0;width:380px;max-height:500px;background:#fff;border-radius:12px;box-shadow:0 10px 30px #00000026;border:1px solid #e5e7eb;z-index:1000;margin-top:8px;overflow:hidden}.notifications-header{padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;background:#f9fafb}.notifications-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#1f2937}.mark-all-read{background:none;border:none;color:#3b82f6;font-size:.85rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:.25rem;transition:all .2s ease}.mark-all-read:hover{background:#eff6ff;color:#2563eb}.notifications-list{max-height:380px;overflow-y:auto}.notification-item{display:flex;padding:1rem 1.5rem;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:all .2s ease;gap:.75rem}.notification-item:hover{background:#f9fafb}.notification-item.unread{background:#eff6ff;border-left:4px solid #3b82f6}.notification-item.unread:hover{background:#dbeafe}.notification-icon-wrapper{position:relative;flex-shrink:0}.notification-type-icon{font-size:1.5rem;display:block}.unread-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:#3b82f6;border-radius:50%;border:2px solid white}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;color:#1f2937;font-size:.9rem;margin-bottom:.25rem;line-height:1.3}.notification-message{color:#6b7280;font-size:.85rem;line-height:1.4;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-time{color:#9ca3af;font-size:.75rem;font-weight:500}.no-notifications{text-align:center;padding:3rem 1.5rem;color:#9ca3af}.no-notifications-icon{font-size:3rem;display:block;margin-bottom:.5rem}.no-notifications p{margin:0;font-size:.9rem}.loading-notifications{text-align:center;padding:3rem 1.5rem;color:#9ca3af}.loading-notifications span{font-size:3rem;display:block;margin-bottom:.5rem;animation:pulse 1.5s ease-in-out infinite}.loading-notifications p{margin:0;font-size:.9rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:1024px){.topbar{padding:0 16px}.sidebar-toggle-button{display:inline-flex}.page-title{font-size:20px}.notifications-modal{width:min(360px,calc(100vw - 24px))}}@media(max-width:640px){.topbar{height:64px}.page-title{font-size:18px}.notifications-modal{right:-8px;width:min(340px,calc(100vw - 16px))}}@media(max-width:768px){.notifications-modal{right:-8px;width:min(340px,calc(100vw - 16px))}.notification-item,.notifications-header{padding:.75rem 1rem}}@media(max-width:480px){.notifications-modal{right:-6px;width:min(320px,calc(100vw - 12px))}.topbar{padding:0 10px}.topbar-right{gap:6px}.notification-message{-webkit-line-clamp:1}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden;padding:20px}.login-background{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.login-background-shape{position:absolute;border-radius:50%;background:#ffffff1a;animation:login-float 20s infinite ease-in-out}.login-shape-1{width:300px;height:300px;top:-100px;left:-100px;animation-delay:0s}.login-shape-2{width:200px;height:200px;bottom:-50px;right:-50px;animation-delay:5s}.login-shape-3{width:150px;height:150px;top:50%;right:10%;animation-delay:10s}@keyframes login-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-30px) scale(1.1)}}.login-box{background:#fff;border-radius:24px;padding:48px;width:100%;max-width:440px;box-shadow:0 20px 60px #0000004d;position:relative;z-index:2;animation:login-slideUp .5s ease-out}@keyframes login-slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:40px}.login-logo{margin-bottom:24px}.login-logo-icon{font-size:64px;display:inline-block}@keyframes login-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.login-header h1{font-size:28px;font-weight:700;color:#1a202c;margin-bottom:8px;margin-top:-20px}.login-header p{color:#718096;font-size:15px}.login-type-selector{display:flex;gap:12px;margin-bottom:24px}.type-btn{flex:1;padding:12px 20px;border:2px solid #e2e8f0;background:#fff;border-radius:12px;font-size:15px;font-weight:600;color:#718096;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.type-btn:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px)}.type-btn.active{border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.login-form{display:flex;flex-direction:column;gap:24px}.login-error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:12px 16px;border-radius:12px;font-size:14px;display:flex;align-items:center;gap:8px;animation:login-shake .5s}@keyframes login-shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-icon{font-size:18px}.login-form-group{display:flex;flex-direction:column;gap:8px}.login-form-group label{font-weight:600;color:#2d3748;font-size:14px}.login-form-group input{padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;transition:all .3s;background:#f7fafc}.login-form-group input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.form-options{display:flex;justify-content:space-between;align-items:center;font-size:14px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;color:#4a5568}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.forgot-password{color:#667eea;text-decoration:none;font-weight:600;transition:color .3s}.forgot-password:hover{color:#764ba2}.btn-login{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;margin-top:8px}.btn-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{opacity:.7;cursor:not-allowed}.login-footer{margin-top:32px;text-align:center}.login-footer p{color:#718096;font-size:14px}.register-link{color:#667eea;text-decoration:none;font-weight:600;transition:color .3s}.register-link:hover{color:#764ba2}@media(max-width:768px){.login-box{padding:32px 24px}.login-header h1{font-size:24px}.form-options{flex-direction:column;gap:12px;align-items:flex-start}}.register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden;padding:40px 20px}.register-background{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.register-background-shape{position:absolute;border-radius:50%;background:#ffffff1a;animation:register-float 20s infinite ease-in-out}.register-shape-1{width:300px;height:300px;top:-100px;left:-100px;animation-delay:0s}.register-shape-2{width:200px;height:200px;bottom:-50px;right:-50px;animation-delay:5s}.register-shape-3{width:150px;height:150px;top:50%;right:10%;animation-delay:10s}@keyframes register-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-30px) scale(1.1)}}.register-box{background:#fff;border-radius:24px;padding:48px;width:100%;max-width:600px;box-shadow:0 20px 60px #0000004d;position:relative;z-index:2;animation:register-slideUp .5s ease-out;max-height:90vh;overflow-y:auto}@keyframes register-slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.register-header{text-align:center;margin-bottom:32px}.register-logo{margin-bottom:16px}.register-logo-icon{display:inline-block;width:170px}@keyframes register-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.register-header h1{font-size:28px;font-weight:700;color:#1a202c;margin-bottom:8px;margin-top:-20px}.register-header p{color:#718096;font-size:15px}.progress-indicator{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;padding:0 20px}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto}.step-number{width:40px;height:40px;border-radius:50%;background:#e2e8f0;color:#a0aec0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;transition:all .3s}.progress-step.active .step-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea66}.progress-step.completed .step-number{background:#48bb78;color:#fff}.progress-step.completed .step-number:before{content:"✓"}.progress-step span{font-size:12px;color:#718096;font-weight:600}.progress-step.active span{color:#667eea}.progress-line{flex:1;height:2px;background:#e2e8f0;margin:0 12px;transition:all .3s}.progress-line.active{background:linear-gradient(90deg,#667eea,#764ba2)}.register-form{display:flex;flex-direction:column}.form-step{display:flex;flex-direction:column;gap:20px;animation:register-fadeIn .3s ease-out}@keyframes register-fadeIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.register-error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:12px 16px;border-radius:12px;font-size:14px;display:flex;align-items:center;gap:8px;animation:register-shake .5s;margin-bottom:16px}.register-success-message{background:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:12px 16px;border-radius:12px;font-size:14px;display:flex;align-items:center;gap:8px;animation:register-slideIn .5s;margin-bottom:16px}@keyframes register-shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@keyframes register-slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-icon,.success-icon{font-size:18px}.register-form-group{display:flex;flex-direction:column;gap:8px;flex:1}.register-form-group label{font-weight:600;color:#2d3748;font-size:14px}.register-form-group input,.register-form-group select{padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;transition:all .3s;background:#f7fafc}.register-form-group input:focus,.register-form-group select:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.select-wrapper{position:relative}.select-wrapper select{width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:40px;cursor:pointer}.select-wrapper:after{content:"▼";position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:#667eea;font-size:12px}.register-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.especialidades-input{display:flex;gap:8px}.especialidades-input input{flex:1}.btn-add-esp{padding:12px 20px;background:#667eea;color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-add-esp:hover{background:#764ba2;transform:translateY(-2px)}.especialidades-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.especialidade-tag{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 12px;border-radius:20px;font-size:14px;display:flex;align-items:center;gap:6px}.especialidade-tag button{background:#ffffff4d;border:none;color:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:16px;line-height:1;transition:all .2s}.especialidade-tag button:hover{background:#ffffff80}.form-info{background:#edf2f7;padding:12px 16px;border-radius:12px;margin-top:8px}.form-info p{margin:0;font-size:14px;color:#4a5568}.form-navigation{display:flex;gap:12px;margin-top:32px}.btn-prev{flex:1;padding:14px;background:#fff;color:#667eea;border:2px solid #667eea;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn-prev:hover{background:#f7fafc}.btn-next,.btn-submit{flex:1;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn-next:hover,.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.register-footer{margin-top:24px;text-align:center}.register-footer p{color:#718096;font-size:14px}.login-link{color:#667eea;text-decoration:none;font-weight:600;transition:color .3s}.login-link:hover{color:#764ba2}@media(max-width:768px){.register-box{padding:32px 24px}.register-header h1{font-size:24px}.progress-indicator{padding:0}.progress-step span{display:none}.step-number{width:36px;height:36px;font-size:14px}.progress-line{margin:0 8px}.register-form-row{grid-template-columns:1fr}.especialidades-input{flex-direction:column}}.verificar-codigo-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.verificar-codigo-card{background:#fff;border-radius:20px;padding:40px;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d;animation:slideUp .5s ease}.verificar-codigo-header{text-align:center;margin-bottom:40px}.verificar-codigo-icon{font-size:60px;margin-bottom:20px;animation:bounce 2s ease infinite}.verificar-codigo-header h1{font-size:28px;font-weight:700;color:#2c3e50;margin-bottom:10px}.verificar-codigo-header p{font-size:16px;color:#7f8c8d;line-height:1.6}.telefone-info{display:inline-block;margin-top:10px;padding:8px 16px;background:#ecf0f1;border-radius:20px;font-size:14px;color:#34495e;font-weight:600}.verificar-codigo-form{margin-bottom:30px}.codigo-inputs{display:flex;gap:12px;justify-content:center;margin-bottom:25px}.codigo-input{width:60px;height:70px;font-size:32px;font-weight:700;text-align:center;border:3px solid #e0e0e0;border-radius:12px;outline:none;transition:all .3s ease;background:#f8f9fa}.codigo-input:focus{border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a;transform:scale(1.05)}.codigo-input.error{border-color:#e74c3c;animation:shake .5s ease}.erro-message{background:#ffe5e5;border:2px solid #e74c3c;border-radius:10px;padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;gap:10px;color:#c0392b;font-size:14px;font-weight:600}.erro-icon{font-size:20px}.timer-info{background:#e3f2fd;border:2px solid #2196f3;border-radius:10px;padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;gap:10px;color:#1976d2;font-size:14px;justify-content:center}.timer-icon{font-size:20px}.timer-info strong{font-weight:700;font-size:16px}.btn-verificar{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.btn-verificar:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-verificar:disabled{opacity:.6;cursor:not-allowed;transform:none}.reenviar-section{text-align:center;margin-top:30px;padding-top:20px;border-top:2px solid #ecf0f1}.reenviar-section p{font-size:14px;color:#7f8c8d;margin-bottom:10px}.btn-reenviar{background:#fff;color:#667eea;border:2px solid #667eea;padding:12px 30px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-reenviar:hover:not(:disabled){background:#667eea;color:#fff;transform:translateY(-1px)}.btn-reenviar:disabled{opacity:.6;cursor:not-allowed}.verificar-codigo-footer{text-align:center;padding-top:20px;border-top:2px solid #ecf0f1}.verificar-codigo-footer p{font-size:14px;color:#95a5a6;margin-bottom:15px}.btn-voltar-link{background:transparent;border:none;color:#667eea;font-size:14px;font-weight:600;cursor:pointer;text-decoration:underline;transition:color .3s ease}.btn-voltar-link:hover{color:#764ba2}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@media(max-width:768px){.verificar-codigo-card{padding:30px 20px}.verificar-codigo-header h1{font-size:24px}.verificar-codigo-icon{font-size:50px}.codigo-inputs{gap:8px}.codigo-input{width:50px;height:60px;font-size:28px}}.dashboard{padding:0;max-width:1400px;margin:0 auto}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-bottom:25px}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px;min-height:350px}.charts-grid>*{min-width:0;overflow:hidden}.appointments-section{width:100%}@media(max-width:1200px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.charts-grid{grid-template-columns:1fr}}@media(max-width:768px){.dashboard{padding:10px}.metrics-grid,.charts-grid{grid-template-columns:1fr;gap:15px}}.metric-card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:15px;transition:transform .2s ease,box-shadow .2s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.metric-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.metric-card.blue .metric-icon{background-color:#e3f2fd;color:#1976d2}.metric-card.orange .metric-icon{background-color:#fff3e0;color:#f57c00}.metric-card.yellow .metric-icon{background-color:#fffde7;color:#f9a825}.metric-card.green .metric-icon{background-color:#e8f5e8;color:#388e3c}.metric-card.gray .metric-icon{background-color:#f5f5f5;color:#666}.metric-content{flex:1}.metric-title{font-size:14px;color:#666;margin-bottom:4px;font-weight:500}.metric-value{font-size:24px;font-weight:700;color:#333;margin-bottom:4px}.metric-trend{font-size:12px;color:#666}.age-chart{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;height:350px;overflow:hidden}.chart-with-axis{flex:1;display:flex;gap:5px;overflow:hidden}.y-axis-age{display:flex;flex-direction:column;justify-content:space-between;font-size:11px;color:#999;padding:5px 0;min-width:25px;text-align:right;font-weight:500}.chart-area{flex:1;display:flex;flex-direction:column;overflow:hidden}.chart-bars{flex:1;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:5px 5px 5px 0;height:100%}.bar-container{flex:1;display:flex;flex-direction:column-reverse;align-items:center;height:100%;max-width:50px}.bar{width:42px;background-color:#9e9e9e;border-radius:4px 4px 0 0;position:relative;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;min-height:25px;transition:all .3s ease;transform-origin:bottom;box-shadow:0 2px 4px #0000001a;cursor:pointer}.bar:hover{background-color:#4285f4;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.bar-value{color:#fff;font-size:12px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.4)}.x-axis-age{display:flex;justify-content:space-between;font-size:11px;color:#999;margin-top:8px;padding:0 5px 0 30px;font-weight:500}.x-label{flex:1;text-align:center;max-width:50px}@media(max-width:480px){.age-chart{padding:16px;height:320px}.chart-title{font-size:16px;margin-bottom:14px}.chart-container{height:calc(100% - 40px)}.chart-bars{gap:5px;padding-right:0}.bar{width:32px;min-height:20px;padding-top:4px}.bar-value{font-size:10px}.x-axis-age{font-size:10px;padding-left:26px}.x-label{max-width:36px}}@media(max-width:360px){.y-axis-age{min-width:20px;font-size:10px}.bar{width:28px}.x-axis-age{font-size:9px;margin-top:6px;padding-left:22px}.x-label{max-width:30px}}.revenue-chart{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;height:350px;overflow:visible;position:relative}.chart-title{font-size:18px;font-weight:600;color:#333;margin:0 0 20px}.chart-container{height:calc(100% - 50px);display:flex;flex-direction:column;overflow:hidden}.chart-with-y-axis{flex:1;display:flex;gap:10px;overflow:hidden}.y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:11px;color:#999;padding:5px 0;min-width:65px;text-align:right;font-weight:500;height:100%}.chart-area{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.line-chart{width:100%;height:100%;overflow:visible}.x-axis{display:flex;justify-content:space-between;font-size:11px;color:#999;margin-top:8px;padding:0 0 0 75px;font-weight:500}.x-label{text-align:center;flex:1;min-width:0}.chart-tooltip{position:absolute;background-color:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;pointer-events:none;z-index:1000;transform:translate(-50%) translateY(-100%);box-shadow:0 2px 8px #0003;white-space:nowrap}.chart-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000000e6}.tooltip-month{font-weight:600;color:#00bcd4;margin-bottom:2px}.tooltip-value{font-weight:500;font-size:13px}@media(max-width:480px){.revenue-chart{padding:16px;height:320px}.chart-title{font-size:16px;margin-bottom:14px}.chart-container{height:calc(100% - 40px)}.chart-with-y-axis{gap:6px}.y-axis{min-width:52px;font-size:10px}.x-axis{font-size:10px;padding-left:58px;margin-top:6px}}@media(max-width:360px){.y-axis{min-width:44px;font-size:9px}.x-axis{font-size:9px;padding-left:50px}.chart-tooltip{font-size:11px;padding:6px 8px}.tooltip-value{font-size:12px}}.appointments-table{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;margin-top:20px}.table-title{font-size:18px;font-weight:600;color:#333;margin:0 0 20px}.table-container{overflow-x:auto}thead{background-color:#f8f9fa}th{padding:12px 16px;text-align:left;font-weight:600;color:#666;font-size:14px;border-bottom:2px solid #e9ecef}td{padding:16px;border-bottom:1px solid #e9ecef;font-size:14px}tr:hover{background-color:#f8f9fa}.appointment-patient-info{display:flex;align-items:center;gap:10px}.patient-avatar-table{width:32px;height:32px;background-color:#e0e0e0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px}.appointment-patient-name{font-weight:500;color:#333}.type-badge{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.type-badge.presencial{background-color:#e8f5e8;color:#388e3c}.type-badge.online{background-color:#e3f2fd;color:#1976d2}.status-badge{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.status-badge.pendente{background-color:#fff3e0;color:#f57c00}.status-badge.confirmado{background-color:#e8f5e8;color:#388e3c}.actions{display:flex;gap:8px}.action-btn{width:32px;height:32px;border:none;border-radius:6px;background-color:#f0f2f5;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s ease}.action-btn:hover{background-color:#e0e0e0}.action-btn.cancel{background-color:#ffebee;color:#d32f2f}.action-btn.cancel:hover{background-color:#ffcdd2}.dropdown-menu{position:fixed;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:140px;z-index:1000;padding:4px 0}.dropdown-item{width:100%;padding:10px 16px;border:none;background-color:transparent;text-align:left;cursor:pointer;font-size:14px;color:#333;display:flex;align-items:center;gap:8px;transition:background-color .2s ease}.dropdown-item:hover{background-color:#f5f5f5}.dropdown-item:first-child{border-radius:8px 8px 0 0}.dropdown-item:last-child{border-radius:0 0 8px 8px}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.modal-content{background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.modal-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease}.modal-close:hover{background-color:#f5f5f5}.modal-body{padding:24px}.detail-row{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:600;color:#666;min-width:150px;font-size:14px}.detail-value{color:#333;font-size:14px;flex:1}.modal-footer{padding:16px 24px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:12px}.btn-secondary{padding:10px 20px;border:1px solid #d0d0d0;background-color:#fff;color:#333;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-secondary:hover{background-color:#f5f5f5;border-color:#b0b0b0}.cancel-warning{color:#333;font-size:15px;line-height:1.6;margin-bottom:20px;padding:12px;background-color:#fff3cd;border-left:4px solid #ff9800;border-radius:4px}.cancel-warning strong{color:#d32f2f;font-weight:600}.form-group{margin-top:20px}.form-group label{display:block;margin-bottom:8px}.cancel-reason-input{width:100%;padding:12px;border:1px solid #d0d0d0;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .2s ease}.cancel-reason-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.cancel-reason-input::placeholder{color:#999}.btn-danger{padding:10px 20px;border:none;background:linear-gradient(135deg,#e53935,#d32f2f);color:#fff;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;box-shadow:0 2px 4px #d32f2f33}.btn-danger:hover{background:linear-gradient(135deg,#d32f2f,#c62828);box-shadow:0 4px 8px #d32f2f4d;transform:translateY(-1px)}.btn-danger:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.reschedule-info{color:#333;font-size:15px;line-height:1.6;margin-bottom:20px;padding:12px;background-color:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px}.reschedule-info strong{color:#1976d2;font-weight:600}.date-input,.time-input{width:100%;padding:12px;border:1px solid #d0d0d0;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s ease}.date-input:focus,.time-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.btn-primary{padding:10px 20px;border:none;background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;box-shadow:0 2px 4px #2196f333}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1565c0);box-shadow:0 4px 8px #2196f34d;transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.checkbox-label{display:flex;align-items:center;cursor:pointer;margin-bottom:8px}.checkbox-input{width:18px;height:18px;margin-right:10px;cursor:pointer;accent-color:#2196f3}.checkbox-text{font-size:14px;color:#333;font-weight:500}.checkbox-hint{font-size:13px;color:#666;margin:8px 0 0 28px;padding:8px 12px;background-color:#f5f5f5;border-radius:4px;border-left:3px solid #2196f3}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid #e9ecef}.pagination-btn{padding:8px 16px;background-color:#2196f3;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.pagination-btn:hover:not(:disabled){background-color:#1976d2;transform:translateY(-1px);box-shadow:0 2px 8px #2196f34d}.pagination-btn:disabled{background-color:#e0e0e0;color:#999;cursor:not-allowed;transform:none}.pagination-info{font-size:14px;color:#666;font-weight:500}@media(max-width:768px){.appointments-table{padding:16px}th,td{padding:10px;font-size:13px}.actions{flex-wrap:wrap}.detail-row{flex-direction:column;align-items:flex-start;gap:6px}.detail-label{min-width:0}.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}}@media(max-width:480px){.appointments-table{padding:12px}.table-container{overflow-x:visible}table{width:100%;table-layout:auto}.table-title{font-size:16px;margin-bottom:14px}th,td{padding:8px;font-size:12px;white-space:nowrap}.hide-mobile{display:none}.col-name{width:54%}.col-date{width:24%}.col-actions{width:22%;min-width:68px;text-align:right}.appointment-patient-info{display:flex;gap:8px;min-width:0;align-items:center;justify-content:flex-start}.patient-avatar-table{width:26px;height:26px;font-size:13px;flex-shrink:0}.appointment-patient-name{font-size:12px;white-space:normal;line-height:1.3;text-align:left}.col-date{font-size:11px;white-space:normal;line-height:1.3}.action-btn{width:28px;height:28px;font-size:12px}.actions{justify-content:flex-end}.modal-content{width:94%;max-height:92vh}.modal-header h2{font-size:18px}.pagination-controls{gap:8px;flex-direction:column;align-items:stretch}.pagination-info{text-align:center;font-size:13px}.pagination-btn{width:100%}}.welcome-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .3s ease}.welcome-modal{background:#fff;border-radius:20px;max-width:700px;width:90%;max-height:90vh;overflow-y:auto;padding:40px;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease}.welcome-header{text-align:center;margin-bottom:30px}.welcome-icon{font-size:80px;margin-bottom:20px;animation:bounce 1s ease infinite}.welcome-header h2{font-size:32px;font-weight:700;color:#2c3e50;margin-bottom:10px}.welcome-subtitle{font-size:18px;color:#7f8c8d;line-height:1.6}.trial-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px 30px;border-radius:50px;display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:600;margin:20px auto;display:flex;justify-content:center;max-width:fit-content;box-shadow:0 4px 15px #667eea66}.trial-badge-icon{font-size:24px}.trial-benefits{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}.benefits-section{background:#f8f9fa;padding:25px;border-radius:15px;border:2px solid #e9ecef}.benefits-section.premium{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border-color:#fdcb6e}.benefits-section h3{font-size:16px;font-weight:600;margin-bottom:15px;color:#2c3e50}.benefits-list{list-style:none;padding:0;margin:0}.benefits-list li{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:15px;color:#34495e}.benefit-icon{font-size:20px;flex-shrink:0}.trial-warning{background:#fff3cd;border:2px solid #ffc107;border-radius:12px;padding:20px;display:flex;align-items:flex-start;gap:15px;margin:25px 0}.warning-icon{font-size:24px;flex-shrink:0}.trial-warning p{margin:0;color:#856404;font-size:14px;line-height:1.6}.trial-warning strong{font-weight:600}.welcome-actions{display:flex;gap:15px;margin-top:30px}.welcome-actions button{flex:1;padding:15px 30px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-explore{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.btn-explore:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-view-plans{background:#fff;color:#667eea;border:2px solid #667eea}.btn-view-plans:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.welcome-footer{text-align:center;margin-top:20px;font-size:14px;color:#7f8c8d}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(max-width:768px){.welcome-modal{padding:30px 20px;max-width:95%}.welcome-header h2{font-size:24px}.welcome-subtitle{font-size:16px}.welcome-icon{font-size:60px}.trial-benefits{grid-template-columns:1fr}.welcome-actions{flex-direction:column}.trial-badge{font-size:16px;padding:12px 25px}}@media(max-width:480px){.welcome-modal{width:94%;padding:16px 12px;border-radius:14px;max-height:94vh}.modal-close{top:8px;right:8px;width:32px;height:32px;font-size:24px}.welcome-header{margin-bottom:18px}.welcome-header h2{font-size:20px}.welcome-subtitle{font-size:14px}.welcome-icon{font-size:48px;margin-bottom:12px}.trial-badge{font-size:14px;padding:10px 14px;gap:8px}.benefits-section,.trial-warning{padding:14px}.welcome-actions button{padding:12px 14px;font-size:14px}}.subscription-alert{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;margin-bottom:2rem;border-radius:12px;border:2px solid;background:linear-gradient(135deg,#fffffff2,#ffffffe6);box-shadow:0 4px 12px #0000001a;animation:slideDown .3s ease-out;position:relative}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.alert-error{border-color:#ef4444;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.alert-warning{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.alert-icon{font-size:2rem;flex-shrink:0;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.alert-content{flex:1}.alert-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:#1f2937}.alert-error .alert-title{color:#dc2626}.alert-warning .alert-title{color:#d97706}.alert-message{margin:0 0 1rem;color:#4b5563;line-height:1.5;font-size:.95rem}.alert-actions{display:flex;gap:.75rem;flex-wrap:wrap}.alert-actions button{padding:.625rem 1.25rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-renovar{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 2px 8px #8b5cf64d}.btn-renovar:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf666}.btn-manutencao{background:#fff;color:#6b7280;border:2px solid #d1d5db}.btn-manutencao:hover{background:#f9fafb;border-color:#9ca3af;color:#374151;transform:translateY(-2px)}.alert-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:1.25rem;color:#9ca3af;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s ease}.alert-close:hover{color:#4b5563}@media(max-width:768px){.subscription-alert{flex-direction:column;padding:1.25rem}.alert-icon{font-size:1.75rem}.alert-title{font-size:1.1rem}.alert-message{font-size:.9rem}.alert-actions{flex-direction:column;width:100%}.alert-actions button{width:100%;justify-content:center}}.pacientes-page{padding:24px;background-color:#f8f9fa}.pacientes-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:24px}.search-container{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;font-size:16px;color:#666;pointer-events:none}.search-input{padding:12px 16px 12px 40px;border:1px solid #e0e0e0;border-radius:8px;background-color:#f5f5f5;font-size:14px;width:250px;outline:none;color:#666}.search-input:focus{border-color:#007bff;background-color:#fff}.search-input::placeholder{color:#999}.add-button{background-color:#007bff;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.add-button:hover{background-color:#0056b3}.filter-button{background-color:#f5f5f5;color:#666;border:1px solid #e0e0e0;padding:12px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease}.filter-button:hover{background-color:#e9ecef;border-color:#adb5bd}.filter-button.has-filters{background-color:#e3f2fd;border-color:#007bff;color:#007bff}.filter-button.has-filters:hover{background-color:#bbdefb;border-color:#0056b3}.filter-count{background-color:#007bff;color:#fff;border-radius:50%;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;margin-left:6px;position:relative;top:-1px}.pacientes-content{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.table-header{margin-bottom:24px}.table-header h2{font-size:18px;font-weight:600;color:#333;margin:0;display:flex;align-items:center;gap:8px}.pacientes-table{overflow-x:auto;overflow-y:visible;margin-bottom:24px}.pacientes-table table{width:100%;border-collapse:collapse}.pacientes-table thead{background-color:#f8f9fa}.pacientes-table th{padding:12px 16px;text-align:left;font-weight:600;color:#666;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e9ecef}.pacientes-table td{padding:16px;border-bottom:1px solid #e9ecef;font-size:14px;color:#333}.pacientes-table tr:hover{background-color:#f8f9fa}.pacientes-status-badge{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.pacientes-status-badge.ativo{background-color:#d4edda;color:#155724}.pacientes-status-badge.inativo{background-color:#f8d7da;color:#721c24}.pacientes-patient-name{font-weight:500;color:#333}.pacientes-format-badge{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.pacientes-format-badge.online{background-color:#e3f2fd;color:#1976d2}.pacientes-format-badge.presencial{background-color:#e8f5e8;color:#388e3c}.pacientes-format-badge.híbrido{background-color:#fff3e0;color:#f57c00}.pacientes-valor{font-weight:600;color:#15803d}.contact-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s ease}.contact-btn:hover{background-color:#f0f2f5}.dropdown-container{position:relative}.action-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:8px;border-radius:4px;color:#666;transition:all .2s ease}.action-btn:hover{background-color:#f0f2f5;color:#333}.pacientes-dropdown-menu{position:fixed;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:140px;z-index:1000;padding:4px 0}.pacientes-dropdown-item{width:100%;padding:10px 16px;border:none;background-color:transparent;text-align:left;cursor:pointer;font-size:14px;color:#333;display:flex;align-items:center;gap:8px;transition:background-color .2s ease}.pacientes-dropdown-item:hover{background-color:#f5f5f5}.pacientes-dropdown-item:first-child{border-radius:8px 8px 0 0}.pacientes-dropdown-item:last-child{border-radius:0 0 8px 8px}.pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;border-top:1px solid #e9ecef}.pacientes-pagination{display:flex;align-items:center;gap:8px}.pacientes-pagination-btn{padding:8px 12px;border:1px solid #e0e0e0;background-color:#fff;color:#666;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease;min-width:40px;text-align:center}.pacientes-pagination-btn:hover:not(.disabled):not(.active){background-color:#f8f9fa;border-color:#adb5bd}.pacientes-pagination-btn.active{background-color:#007bff;color:#fff;border-color:#007bff;font-weight:500}.pacientes-pagination-btn.disabled{opacity:.5;cursor:not-allowed}.pacientes-pagination-dots{padding:8px 4px;color:#999;font-size:14px;-webkit-user-select:none;user-select:none}.pacientes-pagination-current{min-width:40px;height:38px;padding:0 12px;border-radius:6px;border:1px solid #cfe0ff;background-color:#e8f0ff;color:#0d47a1;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.pacientes-pagination-info{display:flex;align-items:center;gap:8px;font-size:14px;color:#495057;font-weight:500}.pacientes-pagination-info select{padding:6px 10px;border:1px solid #dee2e6;border-radius:6px;background-color:#fff;color:#495057;font-size:14px;font-weight:500;cursor:pointer;outline:none;transition:border-color .2s ease}.pacientes-pagination-info select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}@media(max-width:900px){.header-actions{width:100%;display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,170px) minmax(150px,170px);gap:10px;align-items:stretch}.search-container,.search-input{width:100%;min-width:0}.add-button,.filter-button{width:100%}}@media(max-width:768px){.pacientes-page{padding:16px}.pacientes-header{margin-bottom:16px}.header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}.search-container{grid-column:1 / -1}.search-input,.add-button,.filter-button{width:100%}.add-button,.filter-button{padding:11px 12px;font-size:14px}.pacientes-content{padding:16px}.table-header{margin-bottom:14px}.table-header h2{font-size:16px}.pac-col-data,.pac-col-tipo,.pac-col-situacao,.pac-col-formato,.pac-col-valor{display:none}.pac-col-nome{width:75%;text-align:left}.pac-col-acoes{width:25%;min-width:70px;text-align:right}.pacientes-table th,.pacientes-table td{padding:10px 8px}.pacientes-patient-name{font-size:14px;font-weight:600}.pagination-container{flex-direction:column;gap:16px;align-items:flex-start}.pacientes-pagination{width:100%;justify-content:space-between;flex-wrap:nowrap}.pacientes-table{font-size:12px}}@media(max-width:480px){.header-actions{grid-template-columns:1fr}.pacientes-content{padding:12px}.pac-col-nome{width:70%}.pac-col-acoes{width:30%}}.filter-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000}.filter-modal{background-color:#fff;border-radius:12px;width:400px;max-height:80vh;overflow-y:auto;box-shadow:0 10px 25px #00000026}.filter-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.filter-modal-header h3{font-size:18px;font-weight:600;color:#333;margin:0}.filter-modal-actions{display:flex;align-items:center;gap:16px}.remove-filters-btn{background:none;border:none;color:#007bff;font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s ease}.remove-filters-btn:hover{background-color:#f8f9fa}.close-modal-btn{background:none;border:none;font-size:18px;color:#666;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-modal-btn:hover{background-color:#f8f9fa;color:#333}.filter-content{padding:0 24px}.filter-section{margin-bottom:24px}.filter-section h4{font-size:14px;font-weight:600;color:#666;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.date-range{display:flex;gap:12px}.date-input-group{flex:1}.date-input-group label{display:block;font-size:14px;color:#666;margin-bottom:6px}.date-input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;background-color:#f8f9fa;outline:none;transition:all .2s ease}.date-input:focus{border-color:#007bff;background-color:#fff}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-item{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 0;font-size:14px;color:#333}.checkbox-item input[type=checkbox]{width:16px;height:16px;border:2px solid #e0e0e0;border-radius:3px;cursor:pointer;accent-color:#007bff}.checkbox-item:hover{background-color:#f8f9fa;border-radius:4px;margin:0 -8px;padding:8px}.filter-modal-footer{padding:20px 24px;border-top:1px solid #e9ecef}.apply-filters-btn{width:100%;background-color:#007bff;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.apply-filters-btn:hover{background-color:#0056b3}@media(max-width:480px){.filter-modal{width:90vw;margin:20px}.date-range{flex-direction:column;gap:16px}}.delete-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .2s ease}.delete-modal{background-color:#fff;border-radius:12px;width:90%;max-width:550px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003;animation:slideUp .3s ease}.delete-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e0e0e0;background-color:#fff5f5}.delete-modal-header h3{margin:0;font-size:20px;font-weight:600;color:#dc2626;display:flex;align-items:center;gap:8px}.delete-modal-content{padding:24px}.delete-warning{background-color:#fef2f2;border:2px solid #fca5a5;border-radius:8px;padding:16px;margin-bottom:20px;color:#991b1b;font-size:15px;line-height:1.6}.delete-warning strong{color:#dc2626}.delete-info{margin-bottom:20px}.delete-info>p{margin-bottom:12px;font-size:15px;color:#374151;font-weight:500}.paciente-info-box{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.paciente-info-box p{margin:8px 0;font-size:14px;color:#4b5563}.paciente-info-box strong{color:#1f2937;font-weight:600;min-width:80px;display:inline-block}.delete-consequences{background-color:#fffbeb;border:1px solid #fbbf24;border-radius:8px;padding:16px;margin-bottom:20px}.delete-consequences p{margin:0 0 12px;font-size:14px;color:#92400e;font-weight:600}.delete-consequences ul{margin:0;padding-left:20px;list-style:none}.delete-consequences li{margin:8px 0;font-size:14px;color:#78350f;position:relative;padding-left:8px}.delete-confirmation{margin-top:20px}.delete-confirmation p{margin-bottom:12px;font-size:15px;color:#374151;line-height:1.6}.delete-confirmation strong{color:#dc2626;font-weight:600;background-color:#fef2f2;padding:2px 6px;border-radius:4px}.delete-confirm-input{width:100%;padding:12px 16px;border:2px solid #d1d5db;border-radius:8px;font-size:15px;font-weight:600;text-align:center;letter-spacing:2px;outline:none;transition:all .2s}.delete-confirm-input:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.delete-confirm-input::placeholder{font-weight:400;letter-spacing:normal;color:#9ca3af}.delete-modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e0e0e0;background-color:#f9fafb;border-radius:0 0 12px 12px}.cancel-delete-btn,.confirm-delete-btn{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.cancel-delete-btn{background-color:#f3f4f6;color:#374151}.cancel-delete-btn:hover:not(:disabled){background-color:#e5e7eb}.confirm-delete-btn{background-color:#dc2626;color:#fff}.confirm-delete-btn:hover:not(:disabled){background-color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.confirm-delete-btn:disabled{background-color:#fca5a5;cursor:not-allowed;opacity:.6}.cancel-delete-btn:disabled{opacity:.6;cursor:not-allowed}.pacientes-dropdown-item-danger{color:#dc2626!important}.pacientes-dropdown-item-danger:hover{background-color:#fef2f2!important;color:#b91c1c!important}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.limit-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .3s ease}.limit-modal{background:#fff;border-radius:20px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;padding:40px;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease}.modal-close{position:absolute;top:20px;right:20px;background:transparent;border:none;font-size:32px;color:#999;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:#f0f0f0;color:#333;transform:rotate(90deg)}.limit-icon-container{text-align:center;margin-bottom:25px;position:relative}.limit-icon{font-size:70px;margin-bottom:15px;filter:grayscale(20%)}.limit-badge{display:inline-block;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;padding:8px 20px;border-radius:50px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #f5576c66}.limit-title{font-size:28px;font-weight:700;color:#2c3e50;text-align:center;margin-bottom:15px}.limit-description{font-size:16px;color:#7f8c8d;text-align:center;line-height:1.6;margin-bottom:30px}.limit-comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;background:#f8f9fa;padding:25px;border-radius:15px;margin:30px 0}.limit-current,.limit-upgrade{text-align:center}.limit-label{font-size:12px;text-transform:uppercase;font-weight:600;color:#95a5a6;margin-bottom:10px;letter-spacing:1px}.limit-value{font-size:16px;font-weight:600;color:#34495e;margin-bottom:10px}.limit-value.upgrade{color:#27ae60}.limit-arrow{font-size:32px;color:#3498db}.plan-badge-small{display:inline-block;background:#ecf0f1;color:#7f8c8d;padding:5px 12px;border-radius:15px;font-size:12px;font-weight:600;margin-top:8px}.plan-badge-small.premium{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);color:#2d3436}.limit-features{background:#e8f5e9;border:2px solid #4caf50;border-radius:15px;padding:25px;margin:25px 0}.limit-features h3{font-size:16px;font-weight:600;color:#2c3e50;margin-bottom:15px}.limit-features ul{list-style:none;padding:0;margin:0}.limit-features li{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:15px;color:#34495e}.feature-icon{font-size:18px;flex-shrink:0}.limit-actions{display:flex;flex-direction:column;gap:12px;margin-top:30px}.limit-actions button{width:100%;padding:15px 30px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px}.btn-upgrade{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.btn-upgrade:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-icon{font-size:20px}.btn-cancel{background:#fff;color:#7f8c8d;border:2px solid #ecf0f1}.btn-cancel:hover{background:#ecf0f1;transform:translateY(-1px)}.limit-footer{text-align:center;margin-top:20px;font-size:14px;color:#7f8c8d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.limit-modal{padding:30px 20px;max-width:95%}.limit-title{font-size:22px}.limit-description{font-size:14px}.limit-icon{font-size:50px}.limit-comparison{grid-template-columns:1fr;text-align:center}.limit-arrow{transform:rotate(90deg);margin:10px 0}}@media(max-width:480px){.limit-modal{width:94%;padding:16px 12px;border-radius:14px;max-height:94vh}.modal-close{top:8px;right:8px;width:32px;height:32px;font-size:24px}.limit-title{font-size:18px}.limit-description,.limit-value{font-size:14px}.limit-icon{font-size:42px}.limit-comparison,.limit-features{padding:14px;gap:12px}.limit-actions button{padding:12px;font-size:14px}}.novo-paciente-page{padding:24px;background-color:#f8f9fa;min-height:100vh}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-header h1{font-size:32px;font-weight:600;color:#333;margin:0}.header-actions{display:flex;align-items:center;gap:16px}.cancel-btn{background-color:transparent;color:#666;border:1px solid #e0e0e0;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background-color:#f8f9fa;border-color:#adb5bd}.save-btn{background-color:#007bff;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.save-btn:hover{background-color:#0056b3}.patient-form{background-color:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #0000001a}.form-section{margin-bottom:40px}.form-section:last-child{margin-bottom:0}.form-section h2{font-size:20px;font-weight:600;color:#333;margin:0 0 24px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;align-items:end}.novo-paciente-form-group{display:flex;flex-direction:column}.novo-paciente-form-group.full-width{grid-column:1 / -1}.novo-paciente-form-group label{font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.novo-paciente-form-group input,.novo-paciente-form-group select,.novo-paciente-form-group textarea{padding:12px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;background-color:#fff;transition:all .2s ease;outline:none}.novo-paciente-form-group input:invalid,.novo-paciente-form-group select:invalid,.novo-paciente-form-group textarea:invalid{box-shadow:none}.novo-paciente-form-group input:valid,.novo-paciente-form-group select:valid,.novo-paciente-form-group textarea:valid{box-shadow:none}.novo-paciente-form-group input:focus,.novo-paciente-form-group select:focus,.novo-paciente-form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group input::placeholder,.form-group textarea::placeholder{color:#adb5bd}.novo-paciente-form-group select{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px;appearance:none}.novo-paciente-form-group textarea{resize:vertical;min-height:120px;font-family:inherit}.novo-paciente-page .novo-paciente-form-group input.error,.novo-paciente-page .novo-paciente-form-group select.error,.novo-paciente-page .novo-paciente-form-group textarea.error{border-color:#dc3545;background-color:#fff5f5}.novo-paciente-page .novo-paciente-form-group input.error:focus,.novo-paciente-page .novo-paciente-form-group select.error:focus,.novo-paciente-page .novo-paciente-form-group textarea.error:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc354526}.checkbox-group{margin-bottom:24px}.novo-paciente-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#333;padding:8px 0}.novo-paciente-checkbox-label input[type=checkbox]{width:18px;height:18px;border:2px solid #dee2e6;border-radius:4px;cursor:pointer;accent-color:#007bff;flex-shrink:0}.novo-paciente-checkbox-label:hover{background-color:#f8f9fa;border-radius:4px;margin:0 -8px;padding:8px}@media(max-width:768px){.novo-paciente-page{padding:16px}.page-header h1{font-size:24px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%;justify-content:flex-end}.patient-form{padding:24px 16px}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:1}}@media(max-width:480px){.novo-paciente-page{padding:12px}.header-actions{flex-direction:column;width:100%}.page-header{margin-bottom:20px}.page-header h1{font-size:20px}.patient-form{padding:14px 12px;border-radius:10px}.form-section{margin-bottom:24px}.form-section h2{font-size:17px;margin-bottom:16px}.novo-paciente-form-group input,.novo-paciente-form-group select,.novo-paciente-form-group textarea{padding:10px 12px}.cancel-btn,.save-btn{width:100%;justify-content:center}}.toast-success{position:fixed;top:24px;right:24px;background:#10b981;color:#fff;padding:16px 24px;border-radius:12px;box-shadow:0 10px 40px #10b9814d;font-weight:600;font-size:15px;z-index:10000;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.save-btn:disabled,.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.detalhes-paciente-page{padding:24px;background-color:#f8f9fa;min-height:100vh}.patient-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.patient-info{display:flex;align-items:center;gap:24px}.patient-avatar{width:120px;height:120px;background:linear-gradient(135deg,#8fa5c7,#7a91b8);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026}.avatar-icon{font-size:48px;color:#fff}.patient-details h1{font-size:32px;font-weight:600;color:#333;margin:0 0 16px}.patient-meta{display:flex;gap:32px}.status-info,.tipo-info,.formato-info{display:flex;align-items:center;gap:8px}.label{font-size:14px;font-weight:500;color:#666}.status-dropdown-container{position:relative;display:inline-block}.status-badge{padding:6px 12px;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;border:none;background:none;display:flex;align-items:center;gap:4px}.status-badge.ativo{background:#22c55e1a;color:#15803d;border:1px solid rgba(34,197,94,.3)}.status-badge:hover.ativo{background:#22c55e33;border-color:#22c55e80}.status-badge.inativo{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.status-badge:hover.inativo{background:#ef444433;border-color:#ef444480}.status-dropdown{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;min-width:120px;margin-top:4px;overflow:hidden}.status-option{display:block;width:100%;padding:8px 12px;border:none;background:#fff;text-align:left;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s ease}.status-option:hover{background:#f3f4f6}.status-option.ativo{color:#15803d}.status-option.inativo{color:#dc2626}.tipo-dropdown-container{position:relative;display:inline-block}.tipo-badge{padding:6px 12px;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:4px;background:#1976d21a;color:#1976d2;border:1px solid rgba(25,118,210,.3)}.tipo-badge:hover{background:#1976d233;border-color:#1976d280}.tipo-dropdown{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;min-width:120px;margin-top:4px;overflow:hidden}.tipo-option{display:block;width:100%;padding:8px 12px;border:none;background:#fff;text-align:left;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s ease;color:#000}.tipo-option:hover{background:#f3f4f6}.formato-dropdown-container{position:relative;display:inline-block}.formato-badge{padding:6px 12px;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;border:none;background:none;display:flex;align-items:center;gap:4px}.formato-badge.presencial{background:#2e7d321a;color:#2e7d32;border:1px solid rgba(46,125,50,.3)}.formato-badge:hover.presencial{background:#2e7d3233;border-color:#2e7d3280}.formato-badge.online{background:#1976d21a;color:#1976d2;border:1px solid rgba(25,118,210,.3)}.formato-badge:hover.online{background:#1976d233;border-color:#1976d280}.formato-badge.híbrido{background:#f57c001a;color:#f57c00;border:1px solid rgba(245,124,0,.3)}.formato-badge:hover.híbrido{background:#f57c0033;border-color:#f57c0080}.formato-dropdown{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;min-width:120px;margin-top:4px;overflow:hidden}.formato-option{display:block;width:100%;padding:8px 12px;border:none;background:#fff;text-align:left;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s ease}.formato-option:hover{background:#f3f4f6}.formato-option.presencial{color:#2e7d32}.formato-option.online{color:#1976d2}.formato-option.hibrido{color:#f57c00}.detalhes-edit-btn{background:#ff9800;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 4px #ff980033}.detalhes-edit-btn:hover{background:#f57c00;transform:translateY(-1px);box-shadow:0 4px 8px #ff98004d}.detalhes-header-actions{display:flex;align-items:center;gap:10px}.detalhes-cancel-btn{padding:10px 20px;background:#dc3545;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:background .3s ease;margin-right:10px}.detalhes-cancel-btn:hover{background:#c82333}.detalhes-save-btn{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:background .3s ease}.detalhes-save-btn:hover{background:#218838}.detalhes-add-btn{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:background .3s ease}.detalhes-add-btn:hover{background:#0056b3}.edit-input{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;transition:border-color .3s ease;font-family:inherit}.edit-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.edit-input[type=date]{max-width:200px}.edit-input[type=textarea],textarea.edit-input{resize:vertical;min-height:120px;font-family:inherit}.patient-content{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:visible}.tabs-navigation{display:flex;background-color:#f8f9fa;border-bottom:1px solid #e9ecef}.tab-btn{background:none;border:none;padding:16px 24px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent}.tab-btn:hover{background-color:#e9ecef;color:#333}.tab-btn.active{color:#007bff;border-bottom-color:#007bff;background-color:#fff}.tab-content-wrapper{padding:32px;overflow:visible}.tab-content{max-width:100%;overflow:visible}.detalhes-info-section{margin-bottom:40px}.detalhes-info-section:last-child{margin-bottom:0}.detalhes-info-section h3{font-size:20px;font-weight:600;color:#000;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.detalhes-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}.detalhes-info-item{display:flex;flex-direction:column;gap:4px}.detalhes-info-item.full-width{grid-column:1 / -1}.detalhes-info-label{font-size:14px;font-weight:600;color:#666}.detalhes-info-value{font-size:14px;color:#000;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.dados-adicionais{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.dados-adicionais p{margin:0;line-height:1.6;color:#555;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.placeholder-content{text-align:center;padding:60px 40px;color:#666}.placeholder-content h3{font-size:24px;margin-bottom:16px;color:#333}.placeholder-content p{font-size:16px;margin-bottom:24px;line-height:1.5}.placeholder-content ul{text-align:left;max-width:400px;margin:0 auto;background-color:#f8f9fa;padding:24px;border-radius:8px;border:1px solid #e9ecef}.placeholder-content li{margin-bottom:12px;line-height:1.4;color:#555}.placeholder-content li:last-child{margin-bottom:0}@media(max-width:768px){.detalhes-paciente-page{padding:16px}.patient-header{flex-direction:column;align-items:flex-start;gap:14px}.patient-info{width:100%;flex-direction:row;align-items:flex-start;text-align:left;gap:12px}.patient-avatar{width:84px;height:84px;flex-shrink:0}.avatar-icon{font-size:34px}.patient-details{flex:1;min-width:0}.patient-details h1{font-size:24px;margin:0 0 12px}.patient-meta{display:grid;grid-template-columns:1fr;gap:10px}.status-info,.tipo-info,.formato-info{align-items:center;flex-wrap:wrap;gap:6px}.detalhes-header-actions{width:100%;justify-content:flex-end;flex-wrap:wrap;margin-top:8px}.detalhes-edit-btn,.detalhes-add-btn,.detalhes-save-btn,.detalhes-cancel-btn{margin-right:0;min-height:40px;padding:10px 14px}.tabs-navigation{display:grid;grid-template-columns:1fr 1fr}.tab-btn{min-width:0;padding:12px 8px;font-size:12px}.tab-content-wrapper{padding:20px 16px}.info-grid{grid-template-columns:1fr;gap:12px}.info-item.full-width{grid-column:1}.placeholder-content{padding:40px 20px}.placeholder-content ul{padding:20px}}@media(max-width:480px){.detalhes-info-grid{grid-template-columns:minmax(0,1fr);gap:10px}.detalhes-info-item,.detalhes-info-item.full-width{grid-column:1;min-width:0}.detalhes-info-item .edit-input,.detalhes-info-item input.edit-input,.detalhes-info-item select.edit-input{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.edit-input[type=date]{max-width:100%}.patient-info{align-items:center}.patient-avatar{width:72px;height:72px}.avatar-icon{font-size:28px}.patient-details h1{font-size:20px}.label,.status-badge,.tipo-badge,.formato-badge{font-size:13px}.detalhes-header-actions{flex-direction:column;align-items:stretch;width:100%;margin-top:10px;justify-content:flex-start}.detalhes-edit-btn,.detalhes-add-btn,.detalhes-save-btn,.detalhes-cancel-btn{width:100%;justify-content:center;min-height:42px}.tab-btn{font-size:11px;padding:10px 6px}}@media(max-width:425px){.patient-header{gap:10px}.detalhes-header-actions{margin-top:8px;gap:8px}.detalhes-edit-btn,.detalhes-add-btn,.detalhes-save-btn,.detalhes-cancel-btn{font-size:13px;padding:10px 12px;gap:6px}}@media(max-width:375px){.tab-content-wrapper{padding:14px 10px}.detalhes-info-grid{grid-template-columns:minmax(0,1fr);gap:10px}.detalhes-info-item{min-width:0}.edit-input,.detalhes-info-item .edit-input,.detalhes-info-item select.edit-input,.detalhes-info-item input.edit-input{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.edit-input[type=date]{max-width:100%}}.secoes-container{padding:12px;overflow:visible}.secoes-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:visible}.secoes-table{width:100%;border-collapse:collapse}.secoes-table thead{background:#f8f9fa}.secoes-table th{padding:12px 10px;text-align:left;font-weight:600;color:#666;font-size:14px;border-bottom:1px solid #e9ecef}.secoes-table td{padding:12px 10px;border-bottom:1px solid #f1f3f4;vertical-align:middle}.secoes-table tbody tr:hover{background:#f8f9fa}.secoes-table tbody tr:last-child td{border-bottom:none}.secao-cancelada{background:repeating-linear-gradient(45deg,#f5f5f5,#f5f5f5 10px,#fafafa 10px 20px);opacity:.7}.secao-cancelada:hover{background:repeating-linear-gradient(45deg,#eee,#eee 10px,#f5f5f5 10px 20px)}.secao-cancelada td{color:#999!important}.modalidade-badge{padding:3px 6px;border-radius:12px;font-size:12px;font-weight:500}.modalidade-badge.presencial{background:#22c55e1a;color:#15803d}.modalidade-badge.online{background:#3b82f61a;color:#1d4ed8}.status-badge.pendente{background:#fbbf241a;color:#d97706}.status-badge.confirmado{background:#22c55e1a;color:#15803d}.data-cell{color:#666;font-size:14px}.duracao-cell{color:#666;font-size:14px;font-weight:500}.valor-cell{color:#15803d;font-size:14px;font-weight:600}.acoes-cell{text-align:center;overflow:visible;position:relative}.action-btn{background:none;border:none;cursor:pointer;font-size:18px;padding:8px;border-radius:6px;transition:background .2s ease}.action-btn:hover{background:#f3f4f6}.action-btn.completed{color:#15803d}.action-btn.pending{color:#d97706}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026,0 10px 20px #0000001a;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;border:1px solid rgba(255,255,255,.2);position:relative;z-index:10001}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;color:#333;font-size:20px;font-weight:600}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:#666;padding:4px;border-radius:4px;transition:background .2s ease}.modal-close:hover{background:#f3f4f6}.modal-body{padding:24px;overflow-x:hidden;word-wrap:break-word}.form-grid{display:grid;gap:20px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font-weight:600;color:#1f2937;font-size:14px;margin-bottom:2px}.form-input{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s ease;background:#fff;box-shadow:0 1px 3px #0000001a}.form-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a,0 2px 6px #00000026;transform:translateY(-1px)}.form-input:hover{border-color:#9ca3af;box-shadow:0 2px 4px #0000001a}.form-input select,select.form-input{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px;cursor:pointer;font-weight:500}.form-input select:hover,select.form-input:hover{background-color:#f9fafb;border-color:#6b7280;box-shadow:0 3px 6px #0000001f}.form-input select:focus,select.form-input:focus{background-color:#fff;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a,0 4px 8px #00000026}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb}.btn-cancel{padding:12px 24px;background:#f8f9fa;color:#6b7280;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.btn-cancel:hover{background:#e9ecef;border-color:#adb5bd;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.btn-save{padding:12px 24px;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px #007bff4d}.btn-save:hover{background:#0056b3;box-shadow:0 4px 8px #007bff66;transform:translateY(-1px)}.actions-container{position:relative;display:inline-block}.tooltip-actions{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #00000026;z-index:500;min-width:160px;margin-top:4px;overflow:visible;transform-origin:top right}.tooltip-btn{display:flex;align-items:center;width:100%;padding:12px 16px;background:#fff;border:none;cursor:pointer;font-size:14px;font-weight:500;color:#374151;transition:all .2s ease;text-align:left}.tooltip-btn:hover{background:#f9fafb;transform:translate(2px)}.tooltip-btn.reschedule:hover{background:#f0f9ff;color:#0284c7}.tooltip-btn.edit:hover{background:#fef3c7;color:#d97706}.tooltip-btn.cancel:hover{background:#fef2f2;color:#dc2626}.tooltip-btn.details:hover{background:#eff6ff;color:#1d4ed8}.tooltip-icon{margin-right:8px;font-size:16px}.tooltip-btn:not(:last-child){border-bottom:1px solid #f3f4f6}.details-modal{max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.detalhes-secao-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;overflow:hidden;max-width:100%}.detalhes-secao-item{display:flex;flex-direction:column;gap:8px}.detalhes-secao-item.full-width{grid-column:1 / -1;min-width:0;overflow:hidden}.detalhes-secao-label{font-weight:600;color:#374151;font-size:14px}.detalhes-secao-value{color:#6b7280;font-size:14px}.observacoes-content{background:#f9fafb;padding:16px;border-radius:8px;border:1px solid #e5e7eb;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;max-width:100%}.observacoes-content p{margin:0;line-height:1.6;color:#374151;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:pre-wrap}.documentos-list{display:flex;flex-direction:column;gap:12px}.documento-item{display:flex;align-items:center;padding:12px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease}.documento-item:hover{background:#f3f4f6;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.documento-icon{margin-right:12px;font-size:18px}.documento-info{flex:1;display:flex;flex-direction:column;gap:4px}.documento-nome{color:#374151;font-weight:500;font-size:14px}.documento-tamanho{color:#6b7280;font-size:12px;font-weight:400}.documento-download{background:none;border:none;cursor:pointer;font-size:16px;padding:4px;border-radius:4px;transition:all .2s ease}.documento-download:hover{background:#e5e7eb;transform:scale(1.1);box-shadow:0 2px 4px #0000001a}.documento-download:active{transform:scale(.95);background:#d1d5db}.observacoes-textarea{width:100%;max-width:100%;padding:16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;line-height:1.6;resize:vertical;min-height:100px;transition:all .2s ease;box-sizing:border-box;word-wrap:break-word}.observacoes-textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.documentos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.add-documento-btn{background:#10b981;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.add-documento-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 2px 4px #10b9814d}.documento-actions{display:flex;gap:8px;align-items:center}.documento-remove{background:#ef4444;color:#fff;border:none;cursor:pointer;font-size:14px;padding:4px 8px;border-radius:4px;transition:all .2s ease}.documento-remove:hover{background:#dc2626;transform:scale(1.1)}.no-documentos{background:#f9fafb;padding:20px;border-radius:8px;border:1px solid #e5e7eb;text-align:center}.no-documentos p{margin:0;color:#6b7280;font-style:italic}.reschedule-info{background:#f0f9ff;padding:16px;border-radius:8px;border:1px solid #bae6fd;margin-bottom:20px}.reschedule-info p{margin:8px 0;color:#0c4a6e;font-size:14px}.reschedule-info strong{color:#075985;font-weight:600}.btn-edit{background:#f59e0b;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px #f59e0b4d}.btn-edit:hover{background:#d97706;transform:translateY(-1px);box-shadow:0 4px 8px #f59e0b66}@media(max-width:768px){.details-modal{width:95%;max-width:none;margin:10px}.detalhes-secao-grid{grid-template-columns:1fr;gap:16px}.details-modal .modal-header{padding:16px 18px}.details-modal .modal-header h3{font-size:22px}.details-modal .modal-body{padding:20px 16px}.details-modal .form-input,.details-modal .observacoes-textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.details-modal .detalhes-secao-value{overflow-wrap:anywhere;word-break:break-word}.details-modal .observacoes-content{padding:12px}}@media(max-width:425px){.details-modal{width:calc(100vw - 16px);max-height:88vh;margin:8px;border-radius:12px}.details-modal .modal-header{padding:14px}.details-modal .modal-header h3{font-size:18px}.details-modal .modal-body{padding:12px 14px}.details-modal .detalhes-secao-grid{gap:12px;margin-bottom:12px}.details-modal .documentos-header{flex-direction:column;align-items:flex-start;gap:8px}.details-modal .add-documento-btn{width:100%;justify-content:center}.details-modal .modal-footer{padding:12px 14px;flex-direction:column}.details-modal .modal-footer .btn-cancel,.details-modal .modal-footer .btn-save,.details-modal .modal-footer .btn-edit{width:100%}}.paciente-financeiro-container{padding:20px;max-width:100%;margin:0;overflow:visible;position:relative}.paciente-financeiro-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.paciente-financeiro-card{background:#fff;border-radius:8px;padding:14px;box-shadow:0 2px 8px #00000014;border-left:3px solid;transition:transform .2s ease,box-shadow .2s ease}.paciente-financeiro-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.paciente-total-recebido{border-left-color:#4caf50}.paciente-total-atrasado{border-left-color:#f44336}.paciente-total-proximo-vencimento{border-left-color:#ff9800}.paciente-total-cancelado{border-left-color:#9e9e9e}.paciente-card-header{display:flex;align-items:center;gap:6px;margin-bottom:10px}.paciente-card-icon{font-size:18px}.paciente-card-header h3{margin:0;font-size:14px;font-weight:600;color:#333}.paciente-card-value{font-size:24px;font-weight:700;color:#333;margin-bottom:4px}.paciente-card-subtitle{font-size:12px;color:#666}.paciente-prazo-pagamento-container{background:#fff;border-radius:8px;padding:18px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;border-left:4px solid #3b82f6}.paciente-prazo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.prazo-title-section{display:flex;align-items:center;gap:12px}.prazo-icon{font-size:24px}.paciente-prazo-header h3{margin:0;font-size:20px;font-weight:600;color:#333}.prazo-edit-btn{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease}.prazo-edit-btn:hover{background:#2563eb}.prazo-action-btns{display:flex;gap:8px}.prazo-cancel-btn,.prazo-save-btn{padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.prazo-cancel-btn{background:#f3f4f6;color:#6b7280}.prazo-cancel-btn:hover{background:#e5e7eb}.prazo-save-btn{background:#10b981;color:#fff}.prazo-save-btn:hover{background:#059669}.paciente-prazo-content{display:flex;flex-direction:column;gap:16px}.prazo-info-item{display:flex;align-items:center;gap:12px}.prazo-label{font-size:14px;font-weight:600;color:#6b7280;min-width:80px}.prazo-value{font-size:16px;font-weight:500;color:#1f2937}.prazo-info-description{margin-top:8px;padding:16px;background:#f0f9ff;border-radius:8px;border-left:3px solid #3b82f6}.prazo-info-description p{margin:0;font-size:14px;color:#1e40af;line-height:1.6}.prazo-edit-form{display:flex;flex-direction:column;gap:16px}.prazo-form-field{display:flex;flex-direction:column;gap:8px}.prazo-form-field label{font-size:14px;font-weight:600;color:#374151}.prazo-input,.prazo-select{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1f2937;transition:border-color .2s ease}.prazo-input:focus,.prazo-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.prazo-input{max-width:200px}.prazo-select{max-width:250px}.paciente-financeiro-lista{background:#fff;border-radius:8px;padding:18px;box-shadow:0 2px 8px #00000014;overflow:visible;position:relative}.historico-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px;flex-wrap:wrap}.historico-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.filtros-data-financeiro{display:flex;gap:15px;margin:15px 0;align-items:flex-end;flex-wrap:wrap}.filtro-data-group{display:flex;flex-direction:column;min-width:180px;flex:1 1 180px}.filtro-data-label{font-size:13px;margin-bottom:5px;color:#666}.filtro-data-input{width:100%;min-width:0;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.btn-limpar-data-financeiro{padding:8px 16px;background:#f44336;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;height:fit-content}.btn-limpar-data-financeiro:hover{background:#d32f2f}.filtros-status-financeiro{display:flex;gap:8px;flex-wrap:wrap}.filtro-btn{padding:6px 12px;border:2px solid #e5e7eb;border-radius:6px;background:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;color:#6b7280;white-space:nowrap}.filtro-btn:hover{border-color:#d1d5db;background:#f9fafb}.filtro-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff;box-shadow:0 2px 4px #3b82f64d}.filtro-btn.filtro-pago.active{background:#10b981;border-color:#10b981;box-shadow:0 2px 4px #10b9814d}.filtro-btn.filtro-aberto.active{background:#f59e0b;border-color:#f59e0b;box-shadow:0 2px 4px #f59e0b4d}.filtro-btn.filtro-atrasado.active{background:#ef4444;border-color:#ef4444;box-shadow:0 2px 4px #ef44444d}.filtro-btn.filtro-cancelado.active{background:#9e9e9e;border-color:#9e9e9e;box-shadow:0 2px 4px #9e9e9e4d}.paciente-financeiro-lista h3{margin:0 0 24px;font-size:20px;font-weight:600;color:#333}.paciente-vencimento-cell{font-weight:500;color:#3b82f6}.acoes-financeiras-buttons{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn-confirmar-pagamento,.btn-estender-prazo{padding:6px 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-confirmar-pagamento{background:#10b981;color:#fff}.btn-confirmar-pagamento:hover{background:#059669;transform:translateY(-1px);box-shadow:0 2px 6px #10b9814d}.btn-estender-prazo{background:#3b82f6;color:#fff}.btn-estender-prazo:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 6px #3b82f64d}.status-pago-label{color:#10b981;font-weight:600;font-size:14px}.prazo-modal{max-width:550px}.secao-info-prazo{background:#f9fafb;padding:16px;border-radius:8px;margin-bottom:20px}.secao-info-prazo h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#374151}.info-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px;color:#6b7280}.info-row strong{color:#1f2937;min-width:140px}.anexo-recibo-section,.extensao-prazo-section{margin-top:20px}.anexo-recibo-section h4,.extensao-prazo-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#374151}.btn-anexar-recibo{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease}.btn-anexar-recibo:hover{background:#2563eb}.arquivo-selecionado{display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px;background:#f0f9ff;border-radius:8px;border-left:3px solid #3b82f6}.arquivo-icon{font-size:20px}.arquivo-nome{flex:1;font-size:14px;font-weight:500;color:#1f2937}.arquivo-tamanho{font-size:12px;color:#6b7280}.anexo-hint{margin-top:8px;font-size:12px;color:#6b7280;font-style:italic}.close-modal{background:none;border:none;font-size:24px;line-height:1;color:#64748b;cursor:pointer;padding:4px}.close-modal:hover{color:#334155}.novo-vencimento-info{margin-top:16px;padding:12px;background:#f0f9ff;border-radius:8px;border-left:3px solid #3b82f6}.novo-vencimento-info p{margin:0;font-size:14px;color:#1e40af}.novo-vencimento-info strong{color:#1e3a8a}@media(max-width:768px){.prazo-modal{width:95%;max-width:none;margin:10px}.prazo-modal .modal-header,.prazo-modal .modal-body{padding:16px}}@media(max-width:425px){.prazo-modal{width:calc(100vw - 16px);margin:8px;max-height:88vh;border-radius:12px}.secao-info-prazo,.anexo-recibo-section{margin-top:12px}.info-row{align-items:flex-start;gap:6px;flex-wrap:wrap}.info-row strong{min-width:110px}}@media(max-width:375px){.prazo-modal{width:calc(100vw - 12px);margin:6px;border-radius:10px}.prazo-modal .modal-header{padding:12px}.prazo-modal .modal-header h3{font-size:18px;line-height:1.2;padding-right:8px}.prazo-modal .modal-body{padding:12px}.secao-info-prazo{padding:12px;margin-bottom:12px}.secao-info-prazo h4,.anexo-recibo-section h4,.extensao-prazo-section h4{font-size:14px;margin-bottom:10px}.info-row{display:block;font-size:13px;padding:5px 0}.info-row strong{display:block;min-width:0;margin-bottom:2px}.arquivo-selecionado{flex-wrap:wrap;gap:6px;padding:10px}.arquivo-nome{min-width:0;overflow-wrap:anywhere;word-break:break-word}.recibo-acoes{flex-direction:column;gap:8px}.btn-visualizar-recibo,.btn-alterar-recibo,.sem-recibo .btn-anexar-recibo{width:100%;justify-content:center}.anexo-hint{font-size:11px}.prazo-modal .modal-footer{padding:12px;flex-direction:column}.prazo-modal .modal-footer .btn-cancel,.prazo-modal .modal-footer .btn-save,.prazo-modal .modal-footer .btn-edit{width:100%}}.acoes-financeiras-container{position:relative;overflow:visible;display:flex;align-items:center;gap:8px;justify-content:flex-end}.acoes-menu-container{position:relative;z-index:10}.acoes-menu-container:has(.menu-acoes-dropdown){z-index:200}.btn-menu-acoes{background:#fff;border:1px solid #d1d5db;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;color:#6b7280;transition:all .2s ease;padding:0}.btn-menu-acoes:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.menu-acoes-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #00000040;min-width:200px;z-index:300;overflow:visible;pointer-events:auto}.menu-acoes-item{width:100%;padding:12px 16px;display:flex;align-items:center;gap:10px;background:#fff;border:none;cursor:pointer;font-size:14px;color:#374151;transition:background .2s ease;text-align:left;white-space:nowrap;position:relative;z-index:301}.menu-acoes-item:hover{background:#f3f4f6}.menu-acoes-item.reabrir{color:#dc2626;border-top:1px solid #f3f4f6}.menu-acoes-item.reabrir:hover{background:#fef2f2}.menu-acoes-item .menu-icon{font-size:16px;display:flex;align-items:center;justify-content:center;width:20px}.recibo-anexado-info{margin-top:12px}.recibo-acoes{display:flex;gap:10px;margin-top:12px}.btn-visualizar-recibo,.btn-alterar-recibo{flex:1;padding:10px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-visualizar-recibo{background:#3b82f6;color:#fff}.btn-visualizar-recibo:hover{background:#2563eb}.btn-alterar-recibo{background:#f59e0b;color:#fff}.btn-alterar-recibo:hover{background:#d97706}.sem-recibo{text-align:center;padding:20px;background:#f9fafb;border-radius:8px;margin-top:12px}.sem-recibo p{margin:0 0 12px;color:#6b7280;font-size:14px}.sem-recibo .btn-anexar-recibo{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.sem-recibo .btn-anexar-recibo:hover{background:#2563eb}.paciente-sessoes-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:visible;border:1px solid #e5e7eb}.paciente-sessoes-table{width:100%;border-collapse:collapse;position:relative}.paciente-sessoes-table thead{background:#f8f9fa}.paciente-sessoes-table th{padding:12px 10px;text-align:left;font-weight:600;color:#333;font-size:13px;border-bottom:2px solid #e5e7eb}.paciente-sessoes-table td{padding:12px 10px;border-bottom:1px solid #f1f3f4;vertical-align:middle;font-size:13px}.paciente-sessoes-table tbody{overflow:visible}.paciente-sessoes-table tbody tr{position:relative}.paciente-sessoes-table tbody tr:hover{background:#f8f9fa}.paciente-sessoes-table tbody tr:has(.menu-acoes-dropdown){position:relative;z-index:100}.paciente-sessoes-table tbody tr:last-child td{border-bottom:none}.sessao-financeira-cancelada{background:repeating-linear-gradient(45deg,#f5f5f5,#f5f5f5 10px,#fafafa 10px 20px);opacity:.7}.sessao-financeira-cancelada:hover{background:repeating-linear-gradient(45deg,#eee,#eee 10px,#f5f5f5 10px 20px)}.sessao-financeira-cancelada td{color:#999!important}.paciente-data-cell{color:#666;font-weight:500}.paciente-tipo-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;display:inline-block;background:#1976d21a;color:#1976d2}.paciente-modalidade-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;display:inline-block}.paciente-modalidade-badge.presencial{background:#22c55e1a;color:#15803d}.paciente-modalidade-badge.online{background:#3b82f61a;color:#1d4ed8}.paciente-modalidade-badge.híbrido,.paciente-modalidade-badge.hibrido{background:#f57c001a;color:#f57c00}.paciente-valor-cell{color:#333;font-weight:600}.paciente-status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#fff;text-align:center}.paciente-acoes-cell{text-align:center;position:relative;overflow:visible}.paciente-acoes-btn{background:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.paciente-acoes-btn:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 4px #007bff4d}.paciente-financeiro-modal{max-width:600px;width:90%}.secao-info{margin-bottom:24px;padding:20px;background:#f8f9fa;border-radius:8px}.secao-info h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#333}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.info-grid div{font-size:14px;color:#555}.pagamento-section{margin-bottom:24px}.pagamento-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#333}.recibo-info{margin-bottom:24px;padding:20px;background:#e8f5e8;border-radius:8px;border-left:4px solid #4caf50}.recibo-info h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#2e7d32}.recibo-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.recibo-details div{font-size:14px;color:#2e7d32}.recibo-debug{margin-bottom:16px;padding:12px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;font-size:14px;color:#856404}.payment-form label{display:block;margin-bottom:8px;font-weight:500;color:#333}.payment-form select{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff}.modal-footer{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.btn-confirmar-pagamento{background:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-confirmar-pagamento:hover{background:#45a049}.btn-anexar-recibo{background:#ff9800;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-anexar-recibo:hover{background:#f57c00}.btn-baixar-recibo{background:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-baixar-recibo:hover{background:#45a049}.btn-cancelar{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-cancelar:hover{background:#5a6268}@media(max-width:1400px){.paciente-financeiro-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.paciente-financeiro-container{padding:12px}.paciente-financeiro-cards{grid-template-columns:1fr;gap:12px}.paciente-sessoes-table-container{overflow:visible}.paciente-sessoes-table{min-width:100%;table-layout:fixed}.paciente-sessoes-table .fin-col-modalidade,.paciente-sessoes-table .fin-col-vencimento{display:none}.paciente-sessoes-table .fin-col-acoes{width:56px;text-align:right;white-space:nowrap}.paciente-sessoes-table th,.paciente-sessoes-table td{padding:10px 8px;font-size:12px}.modal-footer{flex-direction:column}.modal-footer button{width:100%}}@media(max-width:480px){.paciente-prazo-header{flex-direction:column;align-items:stretch;gap:10px}.prazo-title-section,.prazo-edit-btn{width:100%}.prazo-action-btns{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.prazo-cancel-btn,.prazo-save-btn{width:100%;padding:10px 12px;font-size:13px}.filtros-data-financeiro{gap:10px}.filtro-data-group{min-width:0;flex:1 1 100%}.btn-limpar-data-financeiro{width:100%}.paciente-sessoes-table th,.paciente-sessoes-table td{padding:10px 6px;font-size:12px}.paciente-tipo-badge,.paciente-modalidade-badge,.paciente-status-badge{font-size:11px;padding:3px 6px}.paciente-acoes-btn{padding:6px 12px;font-size:12px}}@media(max-width:425px){.paciente-prazo-pagamento-container{padding:14px}.paciente-prazo-header h3{font-size:18px}.prazo-action-btns{grid-template-columns:1fr}.prazo-input,.prazo-select{max-width:none;width:100%}.filtros-data-financeiro{flex-direction:column;align-items:stretch;gap:8px}.filtro-data-group,.filtro-data-input,.btn-limpar-data-financeiro{width:100%}.btn-limpar-data-financeiro{margin-top:2px;font-size:13px;padding:10px 12px}.paciente-sessoes-table-container{overflow:visible}.paciente-sessoes-table .menu-acoes-dropdown{right:0;left:auto;min-width:180px;z-index:700}.paciente-sessoes-table{min-width:100%;table-layout:fixed}.paciente-sessoes-table .fin-col-modalidade,.paciente-sessoes-table .fin-col-valor,.paciente-sessoes-table .fin-col-vencimento,.paciente-sessoes-table .fin-col-status{display:none!important}.paciente-sessoes-table thead th:nth-child(3),.paciente-sessoes-table thead th:nth-child(4),.paciente-sessoes-table thead th:nth-child(5),.paciente-sessoes-table thead th:nth-child(6),.paciente-sessoes-table tbody td:nth-child(3),.paciente-sessoes-table tbody td:nth-child(4),.paciente-sessoes-table tbody td:nth-child(5),.paciente-sessoes-table tbody td:nth-child(6){display:none!important}.paciente-sessoes-table th,.paciente-sessoes-table td{padding:9px 6px;font-size:11px}.paciente-sessoes-table .fin-col-data{width:42%;white-space:nowrap}.paciente-sessoes-table .fin-col-tipo{width:38%}.paciente-sessoes-table .fin-col-acoes{width:20%;text-align:right;white-space:nowrap}.paciente-tipo-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:440px){.paciente-sessoes-table .fin-col-tipo,.paciente-sessoes-table .fin-col-valor{display:none!important}.paciente-sessoes-table thead th:nth-child(2),.paciente-sessoes-table thead th:nth-child(4),.paciente-sessoes-table tbody td:nth-child(2),.paciente-sessoes-table tbody td:nth-child(4){display:none!important}.paciente-sessoes-table th,.paciente-sessoes-table td{padding:8px 4px;font-size:11px}.paciente-sessoes-table .fin-col-data{width:44%;white-space:nowrap}.paciente-sessoes-table .fin-col-status{width:36%}.paciente-status-badge{font-size:10px;padding:4px 8px;white-space:nowrap}.paciente-sessoes-table .fin-col-acoes{width:20%;min-width:44px;text-align:right}}.documentos-container{padding:24px;max-width:1200px;margin:0 auto}.documentos-header{margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid #e5e7eb}.documentos-info h3{margin:0 0 8px;font-size:24px;font-weight:700;color:#1f2937}.documentos-subtitle{margin:0;color:#6b7280;font-size:16px}.no-documentos{text-align:center;padding:60px 40px;background:#f9fafb;border-radius:12px;border:2px dashed #d1d5db}.no-documentos-icon{font-size:48px;margin-bottom:16px}.no-documentos h4{margin:0 0 8px;font-size:20px;font-weight:600;color:#374151}.no-documentos p{margin:0 0 24px;color:#6b7280;font-size:16px}.btn-add-first-documento{background:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add-first-documento:hover{background:#2563eb;transform:translateY(-1px)}.documentos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.documento-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 12px #0000001a;border:1px solid #e5e7eb;transition:all .3s ease}.documento-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026;border-color:#d1d5db}.documento-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.documento-icon{font-size:32px;width:48px;height:48px;background:#f3f4f6;border-radius:8px;display:flex;align-items:center;justify-content:center}.documento-actions{display:flex;gap:8px}.btn-download-documento,.btn-remove-documento{background:none;border:none;cursor:pointer;font-size:16px;padding:8px;border-radius:6px;transition:all .2s ease}.btn-download-documento{background:#e0f2fe;color:#0277bd}.btn-download-documento:hover{background:#b3e5fc;transform:scale(1.1)}.btn-remove-documento{background:#ffebee;color:#d32f2f}.btn-remove-documento:hover{background:#ffcdd2;transform:scale(1.1)}.documento-content{flex:1}.documento-nome{margin:0 0 12px;font-size:18px;font-weight:600;color:#1f2937;line-height:1.4}.documento-meta{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.documento-tipo-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;display:inline-block}.documento-tipo-badge.avaliação{background:#3b82f61a;color:#1d4ed8}.documento-tipo-badge.relatório{background:#10b9811a;color:#059669}.documento-tipo-badge.plano{background:#f59e0b1a;color:#d97706}.documento-tipo-badge.exame{background:#ef44441a;color:#dc2626}.documento-tipo-badge.autorização{background:#8b5cf61a;color:#7c3aed}.documento-tipo-badge.outros{background:#6b72801a;color:#4b5563}.documento-categoria-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;display:inline-block}.documento-categoria-badge.documentos-médicos{background:#22c55e1a;color:#15803d}.documento-categoria-badge.documentos-clínicos{background:#3b82f61a;color:#1d4ed8}.documento-categoria-badge.documentos-legais{background:#ef44441a;color:#dc2626}.documento-categoria-badge.exames{background:#f59e0b1a;color:#d97706}.documento-categoria-badge.relatórios{background:#10b9811a;color:#059669}.documento-categoria-badge.outros{background:#6b72801a;color:#4b5563}.documento-descricao{margin:0 0 16px;color:#6b7280;font-size:14px;line-height:1.5}.documento-info{display:grid;grid-template-columns:1fr 1fr;gap:8px}.documento-detail{display:flex;justify-content:space-between;align-items:center;font-size:13px}.detalhes-secao-label-alt{font-weight:500;color:#6b7280}.detalhes-secao-value-alt{color:#374151;font-weight:500}.documento-modal{max-width:600px;width:90%}.form-field.full-width{grid-column:1 / -1}.file-help{color:#6b7280;font-size:12px;margin-top:4px;display:block}.selected-file{display:flex;align-items:center;gap:8px;padding:12px;background:#f3f4f6;border-radius:8px;border:1px solid #e5e7eb}.file-icon{font-size:16px}.file-name{flex:1;color:#374151;font-weight:500}.file-size{color:#6b7280;font-size:12px}@media(max-width:768px){.documentos-container{padding:16px}.documentos-grid{grid-template-columns:1fr;gap:16px}.documento-card{padding:16px}.documento-info{grid-template-columns:1fr}.documento-modal{width:95%;margin:10px}}@media(max-width:480px){.documento-header{flex-direction:column;gap:12px}.documento-actions{align-self:flex-end}.documento-nome{font-size:16px}.no-documentos{padding:40px 20px}.no-documentos-icon{font-size:36px}}@media(max-width:425px){.documento-modal{width:calc(100vw - 16px);max-width:none;max-height:88vh;margin:8px;border-radius:12px}.documento-modal .modal-header{padding:12px 14px}.documento-modal .modal-header h3{font-size:18px;line-height:1.25}.documento-modal .modal-body{padding:12px 14px}.documento-modal .form-grid{gap:12px}.documento-modal .form-field{min-width:0}.documento-modal .form-input,.documento-modal textarea.form-input,.documento-modal select.form-input,.documento-modal input.form-input{width:100%;max-width:100%;min-width:0;box-sizing:border-box;font-size:16px}.documento-modal input[type=file].form-input{padding:8px;font-size:13px}.documento-modal .selected-file{flex-wrap:wrap;gap:6px;padding:10px}.documento-modal .file-name{min-width:0;overflow-wrap:anywhere;word-break:break-word}.documento-modal .modal-footer{padding:12px 14px;flex-direction:column;gap:8px}.documento-modal .modal-footer .btn-cancel,.documento-modal .modal-footer .btn-save{width:100%}}.secoes-container{padding:20px 32px;overflow:visible}.secoes-filters{display:flex;gap:10px;align-items:center;background:#fff;padding:10px 16px;border-radius:10px;border:1px solid #eef2f6;margin-bottom:14px;box-shadow:0 1px 2px #10182808;flex-wrap:wrap}.secoes-filters .filter-group{display:flex;flex-direction:column;gap:6px;min-width:120px}.secoes-filters label{font-size:12px;color:#374151;font-weight:600}.filter-select,.filter-input{padding:7px 10px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;min-width:140px;font-size:13px;color:#374151}.filter-input[type=date]{max-width:160px;padding:6px;background:#fff}.filter-actions{margin-left:auto;display:flex;align-items:center}.btn-filter-clear{background:#fff;border:1px solid #e6e9ee;color:#374151;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:13px}.btn-filter-clear:hover{background:#f3f4f6}.secoes-table-container{background:#fff;border-radius:8px;overflow:visible;border:1px solid #eef2f6;box-shadow:0 2px 6px #10182808;margin-top:8px;padding:12px 16px}.secoes-table{width:100%;border-collapse:collapse;box-sizing:border-box}.secoes-table thead{background:#f7f9fb}.secoes-table thead th{text-align:left;padding:14px 18px;color:#6b7280;font-weight:600;font-size:14px;border-bottom:1px solid #eef2f6}.secoes-table tbody td{padding:14px 18px;border-bottom:1px solid #f3f4f6;color:#111827;vertical-align:middle}.secoes-table tbody tr:hover{background:#fbfcfe}.secoes-table .modalidade-badge,.secoes-table .tipo-badge,.secoes-table .status-badge{padding:6px 10px;font-size:13px}.secoes-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:#374151;font-size:13px}.pagination-info{color:#374151;font-size:13px}.pagination-info strong{font-weight:700;font-size:13px}.pagination-btn{padding:8px 12px;border-radius:8px;border:1px solid #e6e9ee;background:#fff;cursor:pointer;color:#374151}.pagination-btn:hover:not(:disabled){background:#f3f4f6}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.secoes-container{padding:12px}.secoes-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.secoes-filters .filter-group{min-width:0}.filter-select,.filter-input{width:100%;min-width:0;font-size:12px}.filter-actions{margin-left:0;grid-column:1 / -1;justify-content:flex-end}.secoes-table-container{padding:8px;overflow:visible}.secoes-table{min-width:100%}.secoes-table thead th,.secoes-table tbody td{padding:10px 8px;font-size:12px}.secoes-table .sec-col-modalidade,.secoes-table .sec-col-duracao{display:none}.secoes-table .sec-col-acoes{text-align:right;white-space:nowrap;width:1%}.secoes-pagination{font-size:12px;flex-direction:column;align-items:stretch;gap:8px;padding:10px 0 0}.pagination-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pagination-actions .pagination-btn{width:100%}.pagination-actions .pagination-btn[style]{margin-left:0!important}}@media(max-width:480px){.secoes-filters{grid-template-columns:1fr}.secoes-table .sec-col-valor{display:none}}@media(max-width:440px){.secoes-container{padding:10px}.secoes-table-container{padding:6px}.secoes-table .sec-col-tipo,.secoes-table .sec-col-status{display:none!important}.secoes-table thead th:nth-child(2),.secoes-table thead th:nth-child(3),.secoes-table tbody td:nth-child(2),.secoes-table tbody td:nth-child(3){display:none!important}.secoes-table thead th,.secoes-table tbody td{padding:10px 6px;font-size:11px}.secoes-table .sec-col-data{white-space:normal;word-break:break-word;line-height:1.3}.secoes-table .sec-col-acoes{width:44px;min-width:44px;text-align:right}.secoes-table .action-btn{font-size:16px;padding:6px}}.agenda-page{padding:0;background-color:#fff;height:100vh;display:flex;flex-direction:column;overflow:hidden}.agenda-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:#fff;border-bottom:1px solid #e5e7eb;height:56px;flex-shrink:0}.header-left{display:flex;align-items:center;gap:12px}.month-title{margin:0;font-size:16px;font-weight:400;color:#3c4043}.btn-today{background:#fff;border:1px solid #dadce0;padding:6px 12px;border-radius:3px;font-size:12px;color:#3c4043;cursor:pointer;transition:all .2s ease;font-weight:500}.btn-today:hover{background:#f8f9fa;border-color:#bdc1c6}.btn-add-session{background:#1a73e8;color:#fff;border:none;padding:6px 16px;border-radius:3px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.btn-add-session:hover{background:#1765cc;box-shadow:0 1px 3px #3c40434d,0 4px 8px 3px #3c404326}.btn-toggle-canceladas{background:#fff;color:#5f6368;border:1px solid #dadce0;padding:6px 12px;border-radius:3px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.btn-toggle-canceladas:hover{background:#f8f9fa;border-color:#bdc1c6}.btn-toggle-canceladas.active{background:#e8f0fe;color:#1967d2;border-color:#1967d2}.header-actions{display:flex;gap:8px;align-items:center}.agenda-profissional-filter{background:#fff;border:1px solid #dadce0;padding:6px 10px;border-radius:3px;font-size:12px;color:#3c4043;cursor:pointer;min-width:190px}.agenda-profissional-filter:hover{background:#f8f9fa;border-color:#bdc1c6}.nav-btn{background:#fff;border:1px solid #dadce0;width:32px;height:32px;border-radius:3px;font-size:18px;color:#5f6368;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.nav-btn:hover{background:#f8f9fa;border-color:#bdc1c6}.agenda-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.calendar-week-view{flex:1;display:flex;flex-direction:column;background:#fff;overflow:hidden;min-height:0}.week-view{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.week-header{display:grid;grid-template-columns:48px repeat(7,1fr);border-bottom:1px solid #e8eaed;background:#fff;position:sticky;top:0;z-index:100}.gmt-label{padding:8px 4px;font-size:10px;color:#70757a;text-align:center;border-right:1px solid #e8eaed}.day-header-cell{display:flex;flex-direction:column;align-items:center;padding:4px;border-right:1px solid #e8eaed}.day-header-cell:last-child{border-right:none}.day-name-label{font-size:10px;font-weight:500;color:#70757a;margin-bottom:2px}.day-number-circle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#3c4043;border-radius:50%;transition:background .2s}.day-number-circle.today{background:#1a73e8;color:#fff;font-weight:500}.week-grid-container{display:grid;grid-template-columns:48px 1fr;position:relative}.time-column{border-right:1px solid #e8eaed;background:#fff}.time-column .hour-slot{height:60px;border-bottom:1px solid #f1f3f4;display:flex;align-items:flex-start;justify-content:flex-end;padding-right:4px;padding-top:2px;box-sizing:border-box}.time-column .hour-label{font-size:9px;color:#70757a;font-weight:400}.days-grid{display:grid;grid-template-columns:repeat(7,1fr);position:relative}.day-column{position:relative;border-right:1px solid #e8eaed}.day-column:last-child{border-right:none}.day-column .hour-slot.inner{height:60px;border-bottom:1px solid #f1f3f4;box-sizing:border-box}.event-box{position:absolute;background:#039be5;color:#fff;border-radius:3px;padding:3px 6px;box-sizing:border-box;cursor:pointer;box-shadow:0 1px 3px #3c40434d,0 4px 8px 3px #3c404326;overflow:hidden;font-size:11px;transition:box-shadow .2s;z-index:2}.event-box:hover{box-shadow:0 1px 4px #3c404366,0 8px 12px 6px #3c404333;z-index:3}.event-box-cancelada{cursor:not-allowed;border:2px dashed #757575;background:repeating-linear-gradient(45deg,#9e9e9e,#9e9e9e 10px,#bdbdbd 10px 20px)}.event-box-cancelada .event-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.event-box-cancelada:hover{box-shadow:0 1px 3px #3c40434d;z-index:2}.event-overlap-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ffffff38;border:1px solid rgba(255,255,255,.45);color:#fff;font-size:9px;font-weight:700;line-height:1}.event-time{font-size:10px;font-weight:600;opacity:.95}.event-title{font-size:11px;margin-top:1px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.calendar-header h2{margin:0;font-size:24px;font-weight:600;color:#333}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background-color:#e5e7eb;border-radius:8px;overflow:hidden}.weekday-header{background:#374151;color:#fff;padding:12px 8px;text-align:center;font-weight:600;font-size:14px}.calendar-day{background:#fff;min-height:80px;padding:8px;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column;justify-content:flex-start}.calendar-day:hover{background:#f3f4f6}.calendar-day.other-month{background:#f9fafb;color:#9ca3af}.calendar-day.today{background:#dbeafe;border:2px solid #3b82f6}.calendar-day.selected{background:#e0f2fe;border:2px solid #0277bd}.day-number{font-weight:600;font-size:16px;margin-bottom:4px}.sessions-indicator{position:absolute;top:4px;right:4px;background:#3b82f6;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.sessions-count{font-size:11px}.sidebar-section{display:flex;flex-direction:column;gap:24px}.selected-day-sessions,.upcoming-sessions{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.selected-day-sessions h3,.upcoming-sessions h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#333}.sessions-list,.upcoming-list{display:flex;flex-direction:column;gap:12px}.session-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background:#f8f9fa;border-radius:8px;border-left:4px solid #3b82f6;transition:all .2s ease}.session-item:hover{background:#e3f2fd}.session-time{font-size:16px;font-weight:600;color:#333;min-width:50px}.session-details{flex:1}.session-title{font-weight:600;color:#333;margin-bottom:4px}.session-meta{display:flex;gap:8px;flex-wrap:wrap}.session-type,.session-status{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600;color:#fff}.session-mode,.session-duration{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;background:#e5e7eb;color:#374151}.no-sessions{text-align:center;padding:32px 16px;color:#666}.btn-add-quick{background:transparent;color:#3b82f6;border:2px solid #3b82f6;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:16px}.btn-add-quick:hover{background:#3b82f6;color:#fff}.upcoming-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fa;border-radius:8px;transition:all .2s ease}.upcoming-item:hover{background:#e3f2fd}.upcoming-date{font-size:14px;font-weight:600;color:#666;min-width:40px}.upcoming-details{flex:1}.upcoming-title{font-weight:600;color:#333;font-size:14px;margin-bottom:2px}.upcoming-meta{font-size:12px;color:#666}.upcoming-status{width:8px;height:8px;border-radius:50%}.agenda-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.agenda-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.agenda-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.agenda-modal-header h3{margin:0;font-size:20px;font-weight:600;color:#333}.agenda-close-modal{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.agenda-close-modal:hover{background:#f3f4f6;color:#333}.agenda-modal-body{padding:0 24px}.agenda-form-group{margin-bottom:20px}.agenda-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.agenda-form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.agenda-form-group input,.agenda-form-group select{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s ease;box-sizing:border-box}.agenda-form-group input:focus,.agenda-form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.agenda-modal-footer{padding:24px;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end}.agenda-btn-save{background:#4caf50;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.agenda-btn-save:hover{background:#45a049}.agenda-btn-cancel{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.agenda-btn-cancel:hover{background:#5a6268}@media(max-width:1024px){.agenda-content{grid-template-columns:1fr;gap:16px}.sidebar-section{order:-1}}@media(max-width:768px){.agenda-page{padding:16px}.agenda-header{flex-direction:column;gap:16px;align-items:stretch}.calendar-day{min-height:60px;padding:4px}.day-number{font-size:14px}.sessions-indicator{width:16px;height:16px;font-size:10px}.agenda-form-row{grid-template-columns:1fr}.agenda-modal-footer{flex-direction:column}.session-item{flex-direction:column;gap:8px}.session-time{min-width:auto}}.session-actions{display:flex;align-items:center;gap:8px}.edit-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s ease;opacity:.7}.edit-btn:hover{background-color:#0000001a;opacity:1}.agenda-btn-delete{background-color:#f44336;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.agenda-btn-delete:hover{background-color:#d32f2f;transform:translateY(-1px);box-shadow:0 4px 12px #f443364d}@media(max-width:768px){.session-actions{margin-top:8px}.agenda-modal-footer{gap:8px}.agenda-btn-delete{padding:10px 16px;font-size:12px}}.agenda-profissionais-legend{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:6px 16px;border-bottom:1px solid #e5e7eb;background:#fff}.agenda-profissional-chip{border:1px solid #dadce0;background:#fff;color:#3c4043;border-radius:999px;padding:6px 10px;font-size:12px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}.agenda-profissional-chip:hover{background:#f8f9fa}.agenda-profissional-chip.active{border-color:#1a73e8;color:#1a73e8;background:#e8f0fe}.agenda-profissional-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.agenda-profissional-count{background:#f1f3f4;border-radius:10px;padding:1px 6px;font-weight:600}.agenda-profissional-chip.active .agenda-profissional-count{background:#d2e3fc}.profissionais-page{display:flex;flex-direction:column;gap:16px}.profissionais-header{display:flex;justify-content:space-between;align-items:center}.profissionais-limite{color:#0f766e;font-weight:700}.profissionais-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.profissionais-card h2{margin:0 0 12px}.profissionais-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:12px}.profissionais-form-grid input,.filtros-grid input,.filtros-grid select,.profissionais-form-grid select{border:1px solid #d1d5db;border-radius:8px;padding:10px}.form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.limite-alerta{margin-top:10px;color:#b45309;font-weight:600}.cor-picker-wrap{display:flex;flex-direction:column;gap:4px;width:fit-content}.cor-picker-wrap input[type=color]{width:64px;height:34px;padding:0;border:1px solid #d1d5db;border-radius:8px;cursor:pointer}.profissionais-lista{display:flex;flex-direction:column;gap:10px}.profissional-item{border:1px solid #e5e7eb;border-radius:10px;padding:12px;display:flex;justify-content:space-between;align-items:center}.profissional-nome{margin:0;font-weight:700}.profissional-meta{margin:4px 0 0;color:#6b7280}.profissional-actions{display:flex;gap:8px}.btn-primary,.btn-secondary,.btn-danger{border:none;border-radius:8px;padding:10px 12px;font-weight:600;cursor:pointer}.profissionais-page .btn-primary{background:#0f766e;color:#fff}.profissionais-page .btn-secondary{background:#f3f4f6;color:#111827}.profissionais-page .btn-danger{background:#fee2e2;color:#991b1b}.profissionais-page .form-actions button{flex:0 0 auto;min-width:210px}.filtros-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}.filtro-campo-data{display:flex;flex-direction:column;gap:4px}.filtro-campo-data label{font-size:12px;font-weight:600;color:#4b5563}.paginacao-wrap{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px}.tabela-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #e5e7eb;padding:10px}@media(max-width:768px){.profissionais-header{flex-direction:column;align-items:flex-start;gap:6px}.profissionais-form-grid{grid-template-columns:1fr}.profissionais-page .form-actions button{width:100%;min-width:0}}@media(max-width:480px){.profissionais-page{gap:12px}.profissionais-card{padding:12px}.filtros-grid,.profissionais-form-grid{grid-template-columns:1fr}.profissional-item{flex-direction:column;align-items:flex-start;gap:10px}.profissional-actions{width:100%;flex-wrap:wrap}.profissional-actions button{flex:1;min-width:120px}}.financeiro-page{padding:24px;max-width:1400px;margin:0 auto;background-color:#f8fafc;min-height:80vh}.financeiro-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.header-left h1{color:#1a202c;font-size:32px;font-weight:700;margin:0 0 8px;display:flex;align-items:center;gap:12px}.header-left p{color:#64748b;font-size:16px;margin:0}.financial-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.summary-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 4px 6px #0000000d;border:1px solid #e2e8f0;transition:all .2s ease;min-width:0}.summary-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.alert-card{border-left:4px solid #f44336;background:linear-gradient(135deg,#fff5f5,#fff)}.warning-card{border-left:4px solid #ff9800;background:linear-gradient(135deg,#fffbf0,#fff)}.info-card{border-left:4px solid #3b82f6;background:linear-gradient(135deg,#f0f9ff,#fff)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-header h3{color:#374151;font-size:14px;font-weight:600;margin:0;display:flex;align-items:center;gap:6px}.card-value{font-size:26px;font-weight:700;color:#059669;margin-bottom:6px}.alert-value{color:#dc2626}.warning-value{color:#ea580c}.info-value{color:#2563eb}.month-indicator{background:#3b82f61a;color:#2563eb;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.card-subtitle{color:#6b7280;font-size:12px}.year-select,.month-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.month-year-select{display:flex;align-items:center;gap:8px}.selected-year{font-size:14px;color:#6b7280;font-weight:500}.financial-filters{margin-bottom:24px}.financial-date-filters{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;align-items:flex-end;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.financial-date-filters>*{min-width:0}.date-filter-field{display:flex;flex-direction:column;flex:1 1 170px;min-width:0}.date-filter-label{font-size:13px;margin-bottom:5px;color:#666;font-weight:500}.date-filter-input,.date-filter-select{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.date-filter-select{cursor:pointer}.btn-clear-filters{padding:8px 16px;background:#f44336;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;margin-top:23px;transition:background .2s;white-space:nowrap}.btn-clear-filters:hover{background:#d32f2f}.filter-tabs{display:flex;gap:8px;background:#fff;padding:8px;border-radius:12px;box-shadow:0 2px 4px #0000000d;border:1px solid #e2e8f0}.filter-tab{background:transparent;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;color:#6b7280;display:flex;align-items:center;gap:8px;white-space:nowrap}.filter-tab:hover{background:#f1f5f9;color:#374151}.filter-tab.active{background:#3b82f6;color:#fff}.filter-count{background:#0000001a;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600}.filter-tab.active .filter-count{background:#fff3}.financial-sessions{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;border:1px solid #e2e8f0;overflow:hidden}.sessions-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.sessions-header h3{color:#374151;font-size:18px;font-weight:600;margin:0;display:flex;align-items:center;gap:8px}.sessions-info{color:#6b7280;font-size:14px}.sessions-table{width:100%}.financeiro-table-header{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.2fr 1fr 1.5fr;background:#f1f5f9;border-bottom:1px solid #e2e8f0}.financeiro-th{padding:16px 12px;font-size:14px;font-weight:600;color:#374151;text-align:left}.financeiro-table-body{max-height:540px;overflow-y:auto}.financeiro-table-row{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.2fr 1fr 1.5fr;border-bottom:1px solid #f1f5f9;transition:background-color .2s ease}.financeiro-table-row:hover{background:#f8fafc}.financeiro-td{padding:16px 12px;font-size:14px;color:#374151;display:flex;align-items:center}.financeiro-patient-name{font-weight:600;color:#1f2937}.financeiro-type-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.financeiro-type-badge.psicoterapia{background:#f3e8ff;color:#7c3aed}.financeiro-value{font-weight:600;color:#059669}.financeiro-status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#fff;display:flex;align-items:center;gap:4px}.financeiro-payment-details{display:flex;flex-direction:column;gap:4px}.financeiro-payment-date{font-size:13px;font-weight:500;color:#374151}.financeiro-payment-method{font-size:11px;font-weight:500;color:#6b7280;background:#f1f5f9;padding:3px 10px;border-radius:12px;display:inline-block;width:fit-content}.financeiro-no-payment{color:#dc2626;font-size:12px;font-style:italic;font-weight:500}.financeiro-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:24px;border-top:1px solid #e2e8f0;background:#f8fafc}.financeiro-pagination-btn{background:#fff;border:1px solid #d1d5db;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease;color:#374151}.financeiro-pagination-btn:hover:not(:disabled){background:#f1f5f9;border-color:#3b82f6}.financeiro-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.financeiro-pagination-numbers{display:flex;gap:4px}.financeiro-pagination-number{background:#fff;border:1px solid #d1d5db;width:40px;height:40px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease;color:#374151;display:flex;align-items:center;justify-content:center}.financeiro-pagination-number:hover{background:#f1f5f9;border-color:#3b82f6}.financeiro-pagination-number.active{background:#3b82f6;border-color:#3b82f6;color:#fff}@media(max-width:1200px){.financial-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.financeiro-table-header,.financeiro-table-row{grid-template-columns:1.5fr .8fr 1fr 1fr .8fr 1.2fr}.financeiro-th,.financeiro-td{padding:12px 8px;font-size:13px}}@media(max-width:1100px){.financial-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-tabs{flex-wrap:wrap;align-items:center;gap:6px}.filter-tab{padding:10px 12px;font-size:13px}}@media(max-width:968px){.financeiro-page{padding:16px}.financial-summary{grid-template-columns:1fr}.filter-tabs{flex-wrap:wrap}.sessions-table{overflow-x:auto}.financeiro-table-body{max-height:none;overflow:visible}.financeiro-table-header,.financeiro-table-row{min-width:720px}.sessions-header{flex-direction:column;gap:12px;align-items:flex-start}}@media(max-width:640px){.header-left h1{font-size:24px}.card-header{flex-direction:column;gap:12px;align-items:flex-start}.card-value{font-size:24px}.financeiro-pagination{flex-wrap:wrap;gap:8px}.financeiro-pagination-numbers{order:-1;width:100%;justify-content:center}.financial-date-filters{gap:12px;padding:12px}.date-filter-field{flex:1 1 100%}.btn-clear-filters{margin-top:0}}@media(max-width:480px){.financeiro-page{padding:12px}.financeiro-header{margin-bottom:20px}.header-left h1{font-size:20px;gap:8px}.header-left p{font-size:14px}.filter-tab{padding:10px 12px;font-size:13px}.sessions-header{padding:14px}.sessions-header h3{font-size:16px}.financeiro-pagination-btn,.financeiro-pagination-number{height:36px;min-width:36px;padding:6px 10px;font-size:13px}}@media(max-width:425px){.financial-date-filters{flex-direction:column;align-items:stretch;gap:10px;padding:10px}.date-filter-field{width:100%;flex:1 1 auto}.date-filter-input,.date-filter-select,.btn-clear-filters{width:100%;max-width:100%}.btn-clear-filters{margin-top:0}}.filtros-page{padding:2rem;max-width:1400px;margin:0 auto;background:#f8fafc;min-height:100vh}.filtros-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.filtros-title h1{font-size:2.5rem;color:#1f2937;margin:0 0 .5rem;font-weight:700}.filtros-title p{color:#6b7280;font-size:1.1rem;margin:0}.filtros-actions{display:flex;gap:1rem}.btn-novo-filtro{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #3b82f64d}.btn-novo-filtro:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.btn-novo-filtro span{font-size:1.2rem}.filtros-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1rem;border-radius:.75rem;box-shadow:0 4px 6px #0000000d;display:flex;align-items:center;gap:.75rem;transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.stat-icon{font-size:2rem;padding:.75rem;background:#f3f4f6;border-radius:.5rem}.stat-content{flex:1}.stat-number{display:block;font-size:1.5rem;font-weight:700;color:#1f2937;line-height:1}.stat-label{display:block;color:#6b7280;font-size:.8rem;margin-top:.25rem}.filtros-controls{margin-bottom:2rem}.category-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.category-btn{display:flex;align-items:center;gap:.5rem;background:#fff;border:2px solid transparent;padding:.75rem 1rem;border-radius:.75rem;cursor:pointer;transition:all .2s ease;font-size:.95rem;font-weight:500;color:#4b5563}.category-btn:hover{background:#f9fafb;transform:translateY(-1px)}.category-btn.active{background:var(--color);color:#fff;border-color:var(--color);box-shadow:0 4px 12px #00000026}.category-emoji{font-size:1.1rem}.category-count{background:#fff3;padding:.2rem .5rem;border-radius:.5rem;font-size:.8rem;font-weight:600}.category-btn:not(.active) .category-count{background:#e5e7eb;color:#6b7280}.search-container{position:relative;max-width:400px}.search-input{width:100%;padding:.75rem 1rem .75rem 3rem;border:2px solid #e5e7eb;border-radius:.75rem;font-size:1rem;background:#fff;transition:all .2s ease}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1.2rem;color:#9ca3af}.filtros-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.filtro-card{background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 4px 6px #0000000d;transition:all .2s ease;border:2px solid transparent}.filtro-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.filtro-card.ativo{border-color:#10b981}.filtro-card.inativo{border-color:#e5e7eb;opacity:.7}.filtro-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.filtro-icon{width:2.5rem;height:2.5rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;flex-shrink:0}.filtro-info{flex:1}.filtro-nome{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 .2rem}.filtro-categoria{color:#6b7280;font-size:.8rem;margin:0}.status-toggle{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.2rem;border-radius:.4rem;transition:all .2s ease}.status-toggle:hover{background:#f3f4f6}.filtro-content{margin-bottom:.75rem}.filtro-descricao{color:#4b5563;font-size:.85rem;margin:0 0 .75rem;line-height:1.4}.filtro-details{display:flex;flex-direction:column;gap:.5rem}.detail-item{display:flex;align-items:flex-start;gap:.5rem}.detail-label{font-weight:600;color:#374151;font-size:.85rem;min-width:60px;flex-shrink:0}.detail-value{color:#6b7280;font-size:.85rem}.valores-list,.usado-em-list{display:flex;flex-wrap:wrap;gap:.25rem}.valor-tag,.usado-em-tag{background:#f3f4f6;color:#4b5563;padding:.2rem .5rem;border-radius:.4rem;font-size:.75rem;font-weight:500}.valor-tag.mais{background:#3b82f6;color:#fff}.usado-em-tag{background:#dbeafe;color:#1d4ed8}.filtro-actions{display:flex;gap:.5rem;padding-top:.75rem;border-top:1px solid #e5e7eb}.btn-action{background:none;border:none;padding:.5rem;border-radius:.5rem;cursor:pointer;font-size:1.1rem;transition:all .2s ease}.btn-action:hover{background:#f3f4f6}.btn-action.editar:hover{background:#dbeafe}.btn-action.duplicar:hover{background:#fef3c7}.btn-action.deletar:hover{background:#fee2e2}.no-filters{text-align:center;padding:4rem 2rem;color:#6b7280}.no-filters-icon{font-size:4rem;margin-bottom:1rem}.no-filters h3{font-size:1.5rem;margin:0 0 .5rem;color:#374151}.no-filters p{font-size:1rem;margin:0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:1rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;overflow-x:hidden;box-shadow:0 20px 25px #0000001a}.modal-content,.modal-content *{box-sizing:border-box}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:1.5rem;color:#1f2937}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.25rem;border-radius:.5rem;color:#6b7280;transition:all .2s ease}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-body{padding:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#374151;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.color-picker{display:flex;flex-direction:column;gap:.5rem}.color-picker input[type=color]{width:60px;height:40px;border:none;border-radius:.5rem;cursor:pointer}.color-presets{display:flex;gap:.25rem;flex-wrap:wrap}.color-preset{width:30px;height:30px;border:none;border-radius:.25rem;cursor:pointer;transition:all .2s ease}.color-preset:hover{transform:scale(1.1)}.emoji-picker{display:flex;flex-direction:column;gap:.5rem}.emoji-picker input{width:60px;text-align:center;font-size:1.5rem}.emoji-presets{display:flex;gap:.25rem;flex-wrap:wrap}.emoji-preset{background:none;border:2px solid #e5e7eb;padding:.25rem;border-radius:.25rem;cursor:picker;font-size:1.2rem;transition:all .2s ease}.emoji-preset:hover{border-color:#3b82f6;background:#f0f9ff}.valores-manager{display:flex;flex-direction:column;gap:.75rem}.valores-list{display:flex;flex-wrap:wrap;gap:.5rem}.valor-item{display:flex;align-items:center;gap:.5rem;background:#f3f4f6;padding:.5rem .75rem;border-radius:.5rem}.valor-text{font-size:.9rem;color:#374151}.btn-remover-valor{background:none;border:none;color:#ef4444;cursor:pointer;font-size:.8rem;padding:.2rem;border-radius:50%;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-remover-valor:hover{background:#fee2e2}.btn-adicionar-valor{background:#f0f9ff;border:2px dashed #3b82f6;color:#1d4ed8;padding:.75rem;border-radius:.5rem;cursor:pointer;font-weight:500;transition:all .2s ease}.btn-adicionar-valor:hover{background:#dbeafe;border-color:#1d4ed8}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb}.btn-cancelar,.btn-salvar{padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancelar{background:#f3f4f6;border:2px solid #e5e7eb;color:#374151}.btn-cancelar:hover{background:#e5e7eb}.btn-salvar{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;box-shadow:0 4px 12px #10b9814d}.btn-salvar:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98166}@media(max-width:768px){.filtros-page{padding:1rem}.filtros-header{flex-direction:column;gap:1rem;align-items:stretch}.filtros-stats,.filtros-grid,.form-row{grid-template-columns:1fr}.category-filters{flex-direction:column}.modal-content{margin:.5rem;max-height:95vh}}@media(max-width:480px){.filtros-page{padding:.75rem}.filtros-title h1{font-size:1.6rem}.filtros-title p{font-size:.95rem}.btn-novo-filtro{width:100%;justify-content:center;padding:.65rem 1rem;font-size:.95rem}.stat-card{padding:1rem}.stat-icon{font-size:2rem;padding:.75rem}.stat-number{font-size:1.5rem}.category-filters{gap:.5rem}.category-btn{width:100%;justify-content:space-between}.modal-header,.modal-body,.modal-footer{padding:1rem}}@media(max-width:360px){.modal-overlay{padding:.5rem}.modal-content{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);margin:0;border-radius:.85rem;max-height:92vh}.modal-header,.modal-body,.modal-footer{padding:.85rem}.modal-header h2{font-size:1.25rem;line-height:1.25}.form-group input,.form-group select,.form-group textarea,.btn-cancelar,.btn-salvar{width:100%;max-width:100%}.modal-footer{flex-direction:column;gap:.6rem}}.relatorios-page{padding:2rem;max-width:1400px;margin:0 auto;background:#f8fafc;min-height:100vh}.relatorios-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.relatorios-title h1{font-size:2.5rem;color:#1f2937;margin:0 0 .5rem;font-weight:700}.relatorios-title p{color:#6b7280;font-size:1.1rem;margin:0}.relatorios-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.periodo-selector{display:flex;align-items:center;gap:.5rem}.periodo-selector label{font-weight:600;color:#374151}.periodo-selector select{padding:.5rem 1rem;border:2px solid #e5e7eb;border-radius:.5rem;background:#fff;font-size:.95rem;min-width:180px}.custom-date-range{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:2px solid #e5e7eb;border-radius:.5rem}.custom-date-range input{border:none;font-size:.9rem;padding:.25rem}.custom-date-range span{color:#6b7280;font-size:.9rem}.dashboard-metricas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}.metrica-resumo{background:#fff;padding:1rem;border-radius:.75rem;box-shadow:0 4px 6px #0000000d;border-left:4px solid #3b82f6;display:flex;align-items:center;gap:.75rem;transition:all .2s ease}.metrica-resumo:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.metrica-icone{width:2.5rem;height:2.5rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;flex-shrink:0}.metrica-conteudo{flex:1}.metrica-conteudo h4{margin:0 0 .2rem;color:#6b7280;font-size:.8rem;font-weight:500}.metrica-valor{font-size:1.5rem;font-weight:700;color:#1f2937;line-height:1;margin-bottom:.2rem}.metrica-trend{display:flex;align-items:center;gap:.25rem;font-size:.8rem;font-weight:600}.metrica-trend.positiva{color:#10b981}.metrica-trend.negativa{color:#ef4444}.relatorios-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.25rem;margin-bottom:1.5rem}.relatorio-card{background:#fff;border-radius:.75rem;padding:1.25rem;box-shadow:0 4px 6px #0000000d;transition:all .3s ease;border:2px solid transparent;position:relative;overflow:hidden}.relatorio-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#10b981,#f59e0b);opacity:0;transition:opacity .3s ease}.relatorio-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001f}.relatorio-card:hover:before{opacity:1}.relatorio-card.selecionado{border-color:#3b82f6;box-shadow:0 8px 25px #3b82f626}.relatorio-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.relatorio-icone{width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;flex-shrink:0}.relatorio-info{flex:1}.relatorio-info h3{margin:0 0 .35rem;font-size:1.1rem;color:#1f2937;font-weight:600}.relatorio-info p{margin:0 0 .35rem;color:#6b7280;font-size:.85rem;line-height:1.3}.categoria-badge{display:inline-block;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.categoria-badge.operacional{background:#dbeafe;color:#1d4ed8}.categoria-badge.financeiro{background:#d1fae5;color:#065f46}.categoria-badge.clinical{background:#fef3c7;color:#92400e}.categoria-badge.executivo{background:#fee2e2;color:#991b1b}.relatorio-preview{margin-bottom:1rem}.preview-content{display:flex;justify-content:space-around;padding:.75rem;background:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb}.preview-stat{text-align:center;flex:1}.preview-stat .stat-number{display:block;font-size:1.25rem;font-weight:700;color:#1f2937;line-height:1}.preview-stat .stat-label{display:block;font-size:.75rem;color:#6b7280;margin-top:.2rem;font-weight:500}.relatorio-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem}.btn-gerar{flex:1;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:.65rem 1.25rem;border-radius:.5rem;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-gerar:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #3b82f64d}.btn-gerar:disabled{opacity:.7;cursor:not-allowed}.export-options{display:flex;gap:.5rem}.btn-export{background:#f3f4f6;border:2px solid #e5e7eb;padding:.5rem;border-radius:.5rem;cursor:pointer;font-size:1.1rem;transition:all .2s ease}.btn-export:hover{background:#e5e7eb;transform:scale(1.05)}.relatorio-detalhado{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 8px 25px #0000001a;margin-top:2rem;border:2px solid #e5e7eb}.relatorio-detalhado-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.relatorio-detalhado-header h2{margin:0;color:#1f2937;font-size:1.8rem}.btn-fechar{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s ease}.btn-fechar:hover{background:#f3f4f6;color:#374151}.graficos-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.metricas-financeiras{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.metrica-box{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:1rem;padding:1.5rem;color:#fff;box-shadow:0 4px 15px #667eea4d;transition:transform .3s ease,box-shadow .3s ease}.metrica-box:hover{transform:translateY(-5px);box-shadow:0 8px 25px #667eea66}.metrica-box h4{margin:0 0 1rem;font-size:1rem;font-weight:600;opacity:.9}.metrica-box .valor-grande{margin:0;font-size:2rem;font-weight:700}.metrica-box:nth-child(1){background:linear-gradient(135deg,#667eea,#764ba2)}.metrica-box:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.metrica-box:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.metrica-box:nth-child(4){background:linear-gradient(135deg,#fa709a,#fee140)}.metrica-box:nth-child(5){background:linear-gradient(135deg,#30cfd0,#330867)}.graficos-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.grafico-simples{background:#f9fafb;padding:1.5rem;border-radius:.75rem;border:1px solid #e5e7eb}.grafico-simples h4{margin:0 0 1rem;color:#374151;font-size:1.1rem;font-weight:600}.grafico-conteudo{display:flex;flex-direction:column;gap:1rem}.grafico-item{display:flex;align-items:center;gap:1rem}.grafico-label{min-width:120px;font-size:.9rem;color:#4b5563;font-weight:500}.grafico-barra{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.grafico-preenchimento{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:4px;transition:width .3s ease}.grafico-valor{min-width:60px;text-align:right;font-weight:600;color:#1f2937;font-size:.9rem}.evolucao-mensal{background:#f9fafb;padding:1.5rem;border-radius:.75rem;border:1px solid #e5e7eb}.evolucao-mensal h4{margin:0 0 1rem;color:#374151;font-size:1.1rem;font-weight:600}.linha-tendencia{display:flex;justify-content:space-between;align-items:end;gap:1rem}.ponto-grafico{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1}.ponto-valor{background:#3b82f6;color:#fff;padding:.5rem;border-radius:.5rem;font-size:.8rem;font-weight:600;white-space:nowrap}.ponto-mes{font-size:.8rem;color:#6b7280;font-weight:500}@media(max-width:1024px){.relatorios-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.graficos-row{grid-template-columns:1fr}}@media(max-width:768px){.relatorios-page{padding:1rem}.relatorios-header{flex-direction:column;gap:1rem;align-items:stretch}.relatorios-controls{flex-direction:column;align-items:stretch}.dashboard-metricas,.relatorios-grid{grid-template-columns:1fr}.relatorio-detalhado{padding:1rem}.custom-date-range{flex-direction:column;align-items:stretch}.metricas-financeiras{grid-template-columns:1fr;gap:1rem}.linha-tendencia{flex-direction:column;gap:.5rem}.ponto-grafico{flex-direction:row;justify-content:space-between}}@media(max-width:480px){.relatorios-page{padding:.75rem}.relatorios-title h1{font-size:1.6rem}.relatorios-title p{font-size:.95rem}.metrica-resumo{flex-direction:column;text-align:center;gap:.75rem;padding:.75rem}.metrica-valor{font-size:1.25rem}.preview-content{flex-direction:column;gap:1rem}.relatorio-actions{flex-direction:column}.export-options{justify-content:center}.relatorio-card,.relatorio-detalhado{padding:.9rem}}.foto-profissional-group{grid-column:1 / -1;margin-bottom:1rem}.foto-container{display:flex;align-items:center;gap:1.5rem;margin-top:.5rem}.foto-wrapper{position:relative;cursor:pointer;transition:all .2s ease}.foto-wrapper.disabled{opacity:.6;cursor:not-allowed!important}.foto-wrapper:hover .foto-hover-overlay{opacity:1}.foto-preview,.foto-placeholder{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid #e5e7eb;box-shadow:0 4px 8px #0000001a;transition:all .2s ease}.foto-placeholder{background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center}.foto-icon{font-size:3rem;color:#fff}.foto-hover-overlay{position:absolute;inset:0;background:#000000b3;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:all .2s ease;color:#fff;font-size:.85rem;font-weight:600}.edit-icon{font-size:1.5rem;margin-bottom:.25rem}.edit-text{font-size:.75rem;text-align:center}.btn-remover-foto{padding:.5rem 1rem;background:transparent;color:#ef4444;border:2px solid #ef4444;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;font-size:.85rem;white-space:nowrap}.btn-remover-foto:hover{background:#ef4444;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #ef44444d}@media(max-width:768px){.foto-container{flex-direction:column;align-items:center;gap:1rem}.foto-preview,.foto-placeholder{width:100px;height:100px}.foto-icon{font-size:2.5rem}.edit-icon{font-size:1.25rem}.btn-remover-foto{align-self:center}}@media(max-width:480px){.foto-preview,.foto-placeholder{width:80px;height:80px}.foto-icon{font-size:2rem}.edit-icon{font-size:1rem}.edit-text{font-size:.7rem}.btn-remover-foto{width:100%;justify-content:center}}.configuracoes-page{padding:2rem;max-width:1600px;margin:0 auto;background:#f8fafc;min-height:100vh}.configuracoes-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.configuracoes-title h1{font-size:2.5rem;color:#1f2937;margin:0 0 .5rem;font-weight:700}.configuracoes-title p{color:#6b7280;font-size:1.1rem;margin:0}.configuracoes-actions{display:flex;gap:1rem;flex-wrap:wrap}.config-btn-primary{padding:.75rem 1.5rem;min-height:44px;border-radius:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;font-size:.95rem;line-height:1;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:.5rem;background:#3b82f6;color:#fff}.config-btn-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.config-btn-primary:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.config-btn-primary.is-loading{background:#9ca3af;cursor:not-allowed}.config-btn-cancel{padding:.75rem 1.5rem;border-radius:.75rem;font-weight:600;font-size:.95rem;border:2px solid #e5e7eb;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.config-btn-cancel:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db;transform:translateY(-2px)}.config-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.configuracoes-actions{display:flex;gap:1rem;align-items:center}.success-message,.unsaved-warning{padding:1rem 1.5rem;border-radius:.75rem;margin-bottom:1.5rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.success-message{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.unsaved-warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.configuracoes-content{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start}.configuracoes-sidebar{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem 0;position:sticky;top:2rem}.sidebar-title{font-size:1.1rem;font-weight:700;color:#1f2937;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.sidebar-item{display:flex;align-items:center;gap:1rem;padding:1rem;border:none;background:none;width:100%;text-align:left;border-radius:.75rem;cursor:pointer;transition:all .2s ease;margin-bottom:.5rem}.sidebar-item.active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 12px #3b82f64d}.sidebar-icon{font-size:1.5rem;flex-shrink:0;min-width:20px;color:gray}.sidebar-item-title{font-weight:600;font-size:.95rem;margin-bottom:.25rem}.sidebar-item-desc{font-size:.8rem;opacity:.8;line-height:1.3}.configuracoes-main{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 4px 6px #0000000d;min-height:600px}.config-section{max-width:800px}.section-header h2{font-size:1.8rem;color:#1f2937;margin:0 0 .5rem;font-weight:700}.section-header p{color:#6b7280;font-size:1rem;margin:0}.subsection{margin-bottom:3rem}.subsection h3{font-size:1.3rem;color:#374151;margin:0 0 1.5rem;font-weight:600;padding-left:1rem;border-left:4px solid #3b82f6}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.config-form-group{display:flex;flex-direction:column;gap:.5rem}.config-form-group label{font-weight:600;color:#374151;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.config-form-group input,.config-form-group select,.config-form-group textarea{padding:.75rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;transition:all .2s ease;background:#fff}.config-form-group input:focus,.config-form-group select:focus,.config-form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.config-form-group input:disabled,.config-form-group select:disabled,.config-form-group textarea:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed;border-color:#e5e7eb}.config-form-group input[type=checkbox]{width:1.2rem;height:1.2rem;margin:0}.form-group input[type=number]{max-width:150px}.config-form-group input.error,.config-form-group select.error,.config-form-group textarea.error{border-color:#ef4444;background-color:#fef2f2}.config-form-group input.error:focus,.config-form-group select.error:focus,.config-form-group textarea.error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #ef44441a}.error-message{display:block;color:#dc2626;font-size:.875rem;margin-top:.375rem;font-weight:500}.horarios-grid{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.horario-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:.75rem;border:2px solid #e5e7eb}.horario-dia{display:flex;align-items:center;gap:.5rem;min-width:120px}.horario-dia input[type=checkbox]{margin:0}.horario-dia label{font-weight:600;color:#374151;margin:0}.horario-inputs{display:flex;align-items:center;gap:.5rem;flex:1}.horario-inputs input{padding:.5rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:.9rem}.horario-inputs span{color:#6b7280;font-weight:500}.payment-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.payment-method{padding:1rem;background:#f9fafb;border-radius:.75rem;border:2px solid #e5e7eb;transition:all .2s ease}.payment-method:hover{background:#f3f4f6;border-color:#d1d5db}.payment-method label{display:flex;align-items:center;gap:.75rem;font-weight:600;color:#374151;cursor:pointer;margin:0}.payment-method input[type=checkbox]{margin:0}.notifications-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.notification-item{padding:1rem;background:#f9fafb;border-radius:.75rem;border:2px solid #e5e7eb;transition:all .2s ease}.notification-item:hover{background:#f3f4f6;border-color:#d1d5db}.notification-item label{display:flex;align-items:center;gap:.75rem;font-weight:500;color:#374151;cursor:pointer;margin:0;line-height:1.4}.notification-item input[type=checkbox]{margin:0;flex-shrink:0}@media(max-width:1200px){.configuracoes-content{grid-template-columns:250px 1fr}.form-grid{grid-template-columns:1fr}}@media(max-width:768px){.configuracoes-page{padding:1rem}.configuracoes-header{flex-direction:column;gap:1rem;align-items:stretch}.configuracoes-actions{flex-direction:column}.configuracoes-content{grid-template-columns:1fr;gap:1rem}.configuracoes-sidebar{position:static;order:2}.configuracoes-main{order:1;padding:1rem}.sidebar-item{padding:.75rem}.sidebar-item-desc{display:none}.horario-item{flex-direction:column;align-items:stretch;gap:1rem}.horario-dia{min-width:auto;justify-content:center}.payment-methods,.notifications-grid{grid-template-columns:1fr}}@media(max-width:480px){.configuracoes-title h1{font-size:2rem}.section-header h2{font-size:1.5rem}.subsection h3{font-size:1.1rem}.btn-primary,.btn-secondary,.btn-danger{padding:.75rem 1rem;font-size:.9rem}.form-group input,.form-group select{padding:.75rem .5rem}.configuracoes-main{padding:1rem .5rem}}.form-group input:invalid{border-color:#ef4444}.form-group input:valid{border-color:#10b981}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.config-section{animation:slideIn .3s ease-out}.config-btn-primary.is-loading:after{content:"";width:16px;height:16px;flex:0 0 16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;margin-left:.5rem}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sidebar-item{display:flex;align-items:center;padding:1rem 1.5rem;background:none;border:none;width:100%;text-align:left;cursor:pointer;transition:all .2s ease;gap:.75rem}.sidebar-item:hover{background:#f3f4f6}.sidebar-item.active{background:#eff6ff;border-right:4px solid #3b82f6}.sidebar-text{flex:1}.sidebar-item-title{font-weight:600;color:#1f2937;margin-bottom:.25rem;font-size:.95rem}.sidebar-item-desc{font-size:.8rem;color:#6b7280;line-height:1.3}.sidebar-item.active .sidebar-item-title{color:#3b82f6}.configuracoes-main{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;min-height:600px}.config-section{padding:2rem}.section-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.section-header h2{color:#1f2937;font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.section-header p{color:#6b7280;font-size:1rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.config-form-group{display:flex;flex-direction:column}.config-form-group.full-width{grid-column:1 / -1}.config-form-group.checkbox-group{flex-direction:row;align-items:center;gap:.75rem}.config-form-group label{font-weight:600;color:#1f2937;margin-bottom:.5rem;font-size:.9rem}.checkbox-group label{margin-bottom:0;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.95rem}.config-form-group input,.config-form-group select{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;transition:border-color .2s ease;background:#fff}.config-form-group input:focus,.config-form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:#3b82f6}.select-wrapper{position:relative;display:inline-block;width:100%}.select-wrapper select{width:100%;padding-right:2.5rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;cursor:pointer}.select-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);pointer-events:none;color:#6b7280;font-size:.875rem;transition:color .2s ease}.select-wrapper:hover .select-arrow{color:#3b82f6}.select-wrapper select:focus+.select-arrow{color:#3b82f6}@media(max-width:1024px){.configuracoes-content{grid-template-columns:250px 1fr;gap:1.5rem}}@media(max-width:768px){.configuracoes-page{padding:1rem}.configuracoes-content{grid-template-columns:1fr}.configuracoes-sidebar{position:static;display:flex;overflow-x:auto;padding:1rem;gap:1rem}.sidebar-title{display:none}.sidebar-item{min-width:150px;padding:.75rem;border-radius:.5rem;border-right:none;flex-direction:column;text-align:center;gap:.5rem}.sidebar-item.active{background:#3b82f6;color:#fff;border-right:none}.sidebar-item.active .sidebar-item-title,.sidebar-item.active .sidebar-item-desc{color:#fff}.configuracoes-header{flex-direction:column;align-items:stretch;gap:1rem}.configuracoes-actions{justify-content:center}.configuracoes-title h1{font-size:2rem}.config-section{padding:1.5rem}.form-grid{grid-template-columns:1fr}}@media(max-width:480px){.configuracoes-page{padding:.5rem}.configuracoes-header{padding:1rem}.configuracoes-title h1{font-size:1.75rem}.config-section{padding:1rem}.config-btn-primary{width:100%;justify-content:center}.sidebar-item{min-width:120px;padding:.5rem}.sidebar-item-desc{display:none}}.plan-status-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px #667eea4d}.config-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.config-modal-content{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0000004d}.config-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.config-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.config-modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.config-modal-close:hover{background:#f3f4f6;color:#374151}.config-modal-body{padding:1.5rem}.config-modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb}.danger-zone{background:#fff5f5;border:2px solid #feb2b2;border-radius:12px;padding:24px;margin-top:32px}.danger-zone h3{color:#c53030;font-size:18px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.danger-zone-description{color:#742a2a;font-size:14px;line-height:1.6;margin-bottom:16px}.btn-danger{background:#e53e3e;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;font-size:14px}.btn-danger:hover{background:#c53030;transform:translateY(-2px);box-shadow:0 4px 12px #e53e3e66}.delete-modal{max-width:540px;padding:32px}.modal-icon.danger{font-size:56px;margin-bottom:16px}.delete-modal h2{color:#1a202c;font-size:24px;font-weight:700;margin-bottom:16px}.modal-warning{background:linear-gradient(135deg,#fff5f5,#fed7d7);border:2px solid #fc8181;border-radius:12px;padding:20px;margin:24px 0;color:#742a2a;line-height:1.7;font-size:14px;box-shadow:0 4px 12px #e53e3e26}.modal-warning strong{color:#c53030;font-weight:700;text-transform:uppercase}.delete-form{margin-top:24px}.delete-form .config-form-group{margin-bottom:20px}.delete-form label{display:block;font-weight:600;color:#2d3748;margin-bottom:8px;font-size:13px}.delete-form input{width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;transition:all .3s;background:#f7fafc;font-family:inherit}.delete-form input:focus{outline:none;border-color:#e53e3e;background:#fff;box-shadow:0 0 0 4px #e53e3e1a}.delete-form input:disabled{background:#f7fafc;cursor:not-allowed;opacity:.6}.modal-actions{display:flex;gap:12px;margin-top:28px}.modal-actions .config-btn-cancel{flex:1}.modal-actions .config-btn-delete{flex:1.5}.config-btn-delete{padding:14px 20px;background:linear-gradient(135deg,#e53e3e,#c53030);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #e53e3e4d}.config-btn-delete:hover:not(:disabled){background:linear-gradient(135deg,#c53030,#9b2c2c);transform:translateY(-2px);box-shadow:0 6px 16px #e53e3e66}.config-btn-delete:disabled{opacity:.6;cursor:not-allowed;transform:none}.assinatura-container{padding:2rem;max-width:1400px;margin:0 auto;min-height:calc(100vh - 80px);background:#f8fafc}.assinatura-header{text-align:center;margin-bottom:3rem}.assinatura-header h1{font-size:2.5rem;font-weight:800;margin-bottom:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:1.1rem;color:#64748b;font-weight:500}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-spinner p{font-size:1.25rem;color:#202224;font-weight:500}.spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.current-plan-card{background:#fff;border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 20px #00000014;border:2px solid #e5e7eb;transition:all .3s ease}.current-plan-card:hover{box-shadow:0 8px 32px #667eea26;border-color:#667eea}.plan-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.plan-header h2{font-size:1.7rem;font-weight:800;color:#1e293b;margin:0 0 .35rem}.status-badge{display:inline-block;padding:.35rem .8rem;border-radius:25px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-top:.35rem}.badge-trial{background:linear-gradient(135deg,#a855f7,#9333ea);color:#fff;box-shadow:0 4px 12px #a855f766}.badge-ativo{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 12px #22c55e66}.badge-cancelado{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef444466}.badge-vencido{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 12px #f59e0b66}.badge-pendente{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;box-shadow:0 4px 12px #fbbf2466}.plan-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.9rem;box-shadow:0 4px 16px #0000001a;transition:transform .3s ease}.plan-icon:hover{transform:scale(1.1) rotate(5deg)}.plan-description{font-size:.95rem;color:#64748b;line-height:1.5;margin-bottom:1rem}.plan-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.9rem;margin-bottom:1rem}.info-item{display:flex;flex-direction:column;gap:.35rem}.info-label{font-size:.72rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:1.05rem;font-weight:700;color:#1e293b}.info-value.highlight{color:#667eea;font-size:1.2rem}.plan-actions{display:flex;gap:1rem;margin-top:.6rem;flex-wrap:wrap}.plan-actions button{flex:1;min-width:180px;padding:.72rem;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-portal{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 16px #667eea4d}.btn-portal:hover{transform:translateY(-2px);box-shadow:0 6px 24px #667eea66}.btn-cancelar{background:#fff;color:#ef4444;border:2px solid #ef4444!important;box-shadow:0 4px 12px #ef44441a}.btn-cancelar:hover{background:#fef2f2;transform:translateY(-2px);box-shadow:0 6px 20px #ef444433}.btn-reativar{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 16px #10b9814d}.btn-reativar:hover{transform:translateY(-2px);box-shadow:0 6px 24px #10b98166}.btn-renovar-card{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 16px #f59e0b4d}.btn-renovar-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px #f59e0b66}.usage-section{margin-bottom:3rem}.usage-section h3{font-size:1.75rem;font-weight:700;color:#1e293b;margin-bottom:1.5rem;text-align:center}.usage-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.usage-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 12px #0000000f;transition:all .3s ease;border:2px solid transparent}.usage-card:hover{box-shadow:0 8px 24px #0000001a;border-color:#667eea;transform:translateY(-4px)}.usage-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.usage-icon{font-size:1.75rem}.usage-title{font-size:1rem;font-weight:600;color:#1e293b}.usage-bar{width:100%;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden;margin-bottom:.75rem}.usage-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .5s ease;border-radius:6px}.usage-numbers{display:flex;align-items:baseline;gap:.25rem;font-size:1.5rem;font-weight:700;color:#1e293b}.usage-limit{font-size:1rem;color:#64748b;font-weight:600}.planos-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-bottom:3rem}.plano-card{background:#fff;border-radius:20px;padding:1.4rem;box-shadow:0 4px 20px #00000014;border:2px solid #e5e7eb;transition:all .3s ease;position:relative;overflow:hidden;min-width:0;display:flex;flex-direction:column}@media(max-width:1280px){.planos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1024px){.planos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.plano-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#667eea,#764ba2);opacity:0;transition:opacity .3s ease}.plano-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #667eea33;border-color:#667eea}.plano-card:hover:before{opacity:1}.plano-card.plano-atual{border-color:#22c55e;background:linear-gradient(135deg,#22c55e0d,#fff)}.plano-card.plano-atual:before{background:linear-gradient(90deg,#22c55e,#16a34a);opacity:1}.plano-card.popular{border-color:#fbbf24;box-shadow:0 8px 32px #fbbf2433}.plano-card.popular:before{background:linear-gradient(90deg,#fbbf24,#f59e0b);opacity:1}.plano-badge{position:absolute;top:.65rem;right:.65rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:.3rem .65rem;border-radius:20px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;line-height:1;box-shadow:0 4px 12px #fbbf2466;z-index:2}.plano-card.popular .plano-header{padding-top:.35rem}.plano-header{text-align:center;margin-bottom:1rem}.plano-header h3{font-size:1.35rem;font-weight:800;color:#1e293b;margin:0 0 .5rem}.plano-descricao{font-size:.88rem;color:#64748b;line-height:1.35;min-height:2.4em}.plano-preco{text-align:center;margin-bottom:1rem}.preco-valor{font-size:2.15rem;font-weight:900;color:#667eea;display:inline-block}.preco-periodo{font-size:.95rem;color:#64748b;font-weight:600;margin-left:.25rem}.economia-anual{text-align:center;font-size:.82rem;color:#22c55e;font-weight:700;margin-bottom:1rem}.plano-features{margin:1.2rem 0;display:flex;flex-direction:column;gap:.45rem;flex:1}.feature-item{display:flex;align-items:center;gap:.75rem;padding:.3rem 0;font-size:.88rem;color:#334155}.feature-icon{font-size:1.25rem;flex-shrink:0}.btn-plano{width:100%;padding:.85rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:.98rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #667eea4d}.btn-plano:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #667eea66}.btn-plano:disabled{opacity:.6;cursor:not-allowed}.plano-atual-btn{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 16px #22c55e4d}.trial-info-box{background:linear-gradient(135deg,#a855f7,#9333ea);color:#fff;border-radius:20px;padding:2.5rem;box-shadow:0 8px 32px #a855f74d;margin-top:2rem}.trial-info-box h3{font-size:1.75rem;font-weight:800;margin:0 0 1.5rem;text-align:center}.trial-info-box>p{font-size:1.1rem;line-height:1.6;margin:.5rem 0 1.5rem;opacity:.95;text-align:center}.trial-info-box strong{font-weight:800;text-decoration:underline}.trial-details{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0;text-align:left}.trial-section{background:#ffffff1a;border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.trial-section h4{font-size:1.1rem;font-weight:700;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.trial-section ul{list-style:none;padding:0;margin:0}.trial-section li{padding:.5rem 0;font-size:1rem;opacity:.95;line-height:1.5}.premium-features{background:#ffd70026;border:2px solid rgba(255,215,0,.3)}.trial-warning{margin-top:1rem;padding:.75rem;background:#ffffff26;border-radius:8px;font-size:.95rem;line-height:1.5}.trial-footer{text-align:center;font-size:1rem;opacity:.9;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2)}@media(max-width:768px){.assinatura-container{padding:1rem}.assinatura-header h1{font-size:1.75rem}.current-plan-card{padding:1.25rem}.plan-header{flex-direction:column;align-items:center;text-align:center;gap:1rem}.plan-header h2{font-size:1.4rem}.plan-icon{width:56px;height:56px;font-size:1.6rem}.plan-info-grid,.usage-cards,.planos-grid{grid-template-columns:1fr}.plano-header h3{font-size:1.5rem}.preco-valor{font-size:2rem}.trial-details{grid-template-columns:1fr;gap:1rem}.trial-info-box{padding:1.5rem}.trial-info-box h3{font-size:1.5rem}.trial-section h4{font-size:1rem}}.plan-status-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:2rem;color:#fff;margin-bottom:3rem;box-shadow:0 8px 32px #667eea4d}.plan-status-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.plan-info h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.assinatura-status-badge{padding:.5rem 1rem;border-radius:25px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.assinatura-status-badge.ativo{background:#22c55e33;color:#22c55e;border:2px solid rgba(34,197,94,.3)}.assinatura-status-badge.pendente{background:#fbbf2433;color:#fbbf24;border:2px solid rgba(251,191,36,.3)}.assinatura-status-badge.cancelado{background:#ef444433;color:#ef4444;border:2px solid rgba(239,68,68,.3)}.assinatura-status-badge.trial{background:#a855f733;color:#a855f7;border:2px solid rgba(168,85,247,.3)}.plan-price{font-size:2rem;font-weight:800;text-align:right}.plan-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.plan-feature{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.feature-label{font-weight:500;opacity:.9}.feature-value{font-weight:600}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background-color:#ffffff4d;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#22c55ecc}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-slider:hover{background-color:#fff6}.toggle-switch input:checked+.toggle-slider:hover{background-color:#22c55ee6}.plan-actions{text-align:center}.plan-features-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.plan-features-section h4{margin-bottom:1rem;font-size:1rem;font-weight:600;color:#fff;opacity:.95}.plan-features-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.plan-features-list li{font-size:.95rem;color:#fff;opacity:.9;padding-left:.25rem}.available-plans{margin:2rem 0}.available-plans h3{margin-bottom:1.5rem;font-size:1.25rem;font-weight:600;color:#1f2937}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.plan-card{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.5rem;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,#6366f1,#8b5cf6);opacity:0;transition:opacity .3s ease}.plan-card:hover{border-color:#6366f1;box-shadow:0 8px 25px #6366f126;transform:translateY(-2px)}.plan-card:hover:before{opacity:1}.plan-card.current{border-color:#22c55e;background:linear-gradient(135deg,#22c55e0d,#22c55e05)}.plan-card.current:before{background:#22c55e;opacity:1}.plan-header{text-align:center;margin-bottom:1.5rem}.plan-header h4{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:#1f2937}.plan-price-display{font-size:2rem;font-weight:800;color:#6366f1}.plan-price-display span{font-size:.875rem;font-weight:500;color:#6b7280}.plan-features{margin-bottom:1.5rem}.plan-feature-item{padding:.5rem 0;font-size:.9rem;color:#4b5563;border-bottom:1px solid #f3f4f6}.plan-feature-item:last-child{border-bottom:none}.plan-card-actions{text-align:center}.payment-history{margin:3rem 0;background:#fff;border-radius:16px;padding:2rem;box-shadow:0 1px 3px #0000001a}.payment-history h3{margin:0 0 1.5rem;font-size:1.5rem;font-weight:700;color:#1e293b}.payment-history-table{overflow-x:auto}.payment-history-table table{width:100%;border-collapse:collapse}.payment-history-table thead{background-color:#f8fafc;border-bottom:2px solid #e2e8f0}.payment-history-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.payment-history-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s ease}.payment-history-table tbody tr:hover{background-color:#f8fafc}.payment-history-table tbody tr.recusado{background-color:#fef2f2}.payment-history-table tbody tr.recusado:hover{background-color:#fee2e2}.payment-history-table td{padding:1rem;color:#334155;font-size:.95rem}.payment-date{font-weight:500;white-space:nowrap}.payment-description{font-weight:500}.payment-error-reason{font-size:.85rem;color:#dc2626;margin-top:.25rem;font-weight:400}.payment-plan{font-weight:500}.payment-method{color:#64748b}.payment-amount{font-weight:600;color:#059669;white-space:nowrap}.payment-status .status-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600;white-space:nowrap}.payment-status .status-badge.aprovado{background-color:#d1fae5;color:#065f46}.payment-status .status-badge.recusado{background-color:#fee2e2;color:#991b1b}.payment-status .status-badge.pendente{background-color:#fef3c7;color:#92400e}.payment-methods{margin:3rem 0}.payment-methods-header{text-align:center;margin-bottom:2.5rem}.payment-methods h3{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;color:#1e293b;text-align:center}.payment-methods-subtitle{color:#64748b;font-size:1rem;margin-bottom:2rem;text-align:center}.add-card-button{display:flex;justify-content:center;margin-bottom:2rem}.cards-list{display:flex;flex-direction:column;gap:1.25rem;max-width:600px;margin:0 auto}.payment-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease;position:relative;box-shadow:0 1px 3px #0000001a}.payment-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #00000026}.payment-card.default{border:2px solid #10b981;background:#f0fdf4}.payment-card.default:after{content:"PADRÃO";position:absolute;top:-10px;right:15px;background:#10b981;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.7rem;font-weight:700;letter-spacing:.5px}.card-info{display:flex;flex-direction:column;gap:.5rem;flex:1}.card-brand{font-size:.85rem;font-weight:600;color:#6366f1;margin-bottom:.25rem}.card-number{font-size:1.1rem;font-weight:700;color:#1f2937;font-family:Courier New,monospace;letter-spacing:.5px}.card-details{display:flex;gap:1.5rem;font-size:.8rem;color:#6b7280;margin-top:.25rem}.card-name{font-weight:500}.card-expiry{font-weight:600}.card-actions{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end;min-width:120px}.default-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.5rem 1.25rem;border-radius:25px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #10b98140;display:flex;align-items:center;gap:.5rem}.default-badge:before{content:"★";font-size:.9rem}.btn-text{background:none;border:1px solid #e5e7eb;color:#6366f1;font-size:.75rem;font-weight:600;cursor:pointer;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease;text-transform:uppercase;letter-spacing:.25px}.btn-text:hover{background:#6366f1;color:#fff;border-color:#6366f1}.btn-text.danger{color:#ef4444;border-color:#fecaca}.btn-text.danger:hover{background:#ef4444;color:#fff;border-color:#ef4444}.btn-text:disabled{color:#d1d5db;cursor:not-allowed}.btn-text:disabled:hover{background:none}.assinatura-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.assinatura-modal-content{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0000004d}.assinatura-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.assinatura-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.assinatura-modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.assinatura-modal-close:hover{background:#f3f4f6;color:#374151}.assinatura-modal-body{padding:1.5rem}.assinatura-modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb}.assinatura-form-group{margin-bottom:1.5rem}.assinatura-form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151;font-size:.9rem}.assinatura-form-group input{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s ease;box-sizing:border-box}.assinatura-form-group input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.assinatura-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.btn-current{background:#22c55e;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:default;opacity:.8}.btn-outline{background:#6366f1;color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem}.btn-outline:hover{background:#5856eb;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-danger{background:#ef4444;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger:hover{background:#dc2626}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#e5e7eb}.btn-primary{background:#6366f1;color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:#5856eb;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.checkbox-group{margin:.5rem 0}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-size:.9rem;line-height:1.4}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{flex-shrink:0;width:20px;height:20px;border:2px solid #d1d5db;border-radius:4px;background:#fff;position:relative;transition:all .2s ease}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:#6366f1;border-color:#6366f1}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.checkbox-description{display:block;font-size:.8rem;color:#6b7280;margin-top:.25rem}.billing-settings{background:#f9fafb;border-radius:12px;padding:1.5rem;margin:2rem 0}.billing-settings h3{margin-bottom:1.5rem;font-size:1.25rem;font-weight:600;color:#1f2937}.payment-history{margin:2rem 0}.payment-history h3{margin-bottom:1.5rem;font-size:1.25rem;font-weight:600;color:#1f2937}.payment-list{background:#fff;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:1rem}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.payment-item:last-child{border-bottom:none}.payment-item:hover{background-color:#f9fafb}.payment-info{display:flex;flex-direction:column;gap:.25rem}.payment-date{font-size:.875rem;font-weight:600;color:#1f2937}.payment-description{font-size:.8rem;color:#6b7280}.payment-status{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.payment-amount{font-size:.9rem;font-weight:700;color:#1f2937}@media(max-width:768px){.assinatura-container{padding:1rem}.assinatura-header h1{font-size:2rem}.plan-status-header{flex-direction:column;gap:1rem}.plan-price{text-align:left}.plans-grid{grid-template-columns:1fr}.payment-item{flex-direction:column;align-items:flex-start;gap:.5rem}.payment-status{align-items:flex-start}.payment-methods h3{font-size:1.5rem}.cards-list{max-width:none}.payment-card{flex-direction:column;gap:1rem;align-items:stretch}.card-actions{flex-direction:row;justify-content:space-between;align-items:center;min-width:auto}.btn-text{flex:1;text-align:center;margin:0 .25rem}.assinatura-modal-content{width:95%;margin:1rem}.assinatura-modal-footer{flex-direction:column-reverse;gap:.5rem}.assinatura-modal-footer button{width:100%}.assinatura-form-row{grid-template-columns:1fr}}@media(max-width:768px){.payment-history-table{font-size:.875rem}.payment-history-table th,.payment-history-table td{padding:.75rem .5rem}.payment-history-table th{font-size:.75rem}}@media(max-width:480px){.plan-status-card{padding:1.5rem}.plan-info h3{font-size:1.25rem}.plan-price{font-size:1.5rem}.assinatura-header h1{font-size:1.75rem}.payment-history{padding:1rem}.payment-history h3{font-size:1.25rem}.payment-history-table{font-size:.8rem}.payment-history-table th,.payment-history-table td{padding:.5rem .25rem}.payment-status .status-badge{font-size:.75rem;padding:.25rem .5rem}}.periodo-toggle{text-align:center;margin:3rem 0 2rem}.periodo-toggle h3{font-size:1.75rem;font-weight:700;margin-bottom:1.5rem;color:#1e293b}.toggle-buttons{display:inline-flex;gap:0;background:#f1f5f9;padding:6px;border-radius:12px;box-shadow:0 2px 8px #00000014}.toggle-btn{position:relative;padding:12px 32px;border:none;background:transparent;color:#64748b;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;z-index:1}.toggle-btn:hover{color:#334155}.toggle-btn.active{background:#fff;color:#667eea;box-shadow:0 2px 12px #667eea33}.discount-badge{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.sucesso-container{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.sucesso-card{background:#fff;border-radius:20px;padding:3rem;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;text-align:center;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.sucesso-icon{margin-bottom:2rem}.checkmark-circle{width:100px;height:100px;border-radius:50%;background:#10b981;margin:0 auto;display:flex;align-items:center;justify-content:center;animation:scaleIn .5s ease-out .2s backwards}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.checkmark{width:40px;height:20px;border-left:5px solid white;border-bottom:5px solid white;transform:rotate(-45deg);animation:drawCheck .3s ease-out .5s backwards}@keyframes drawCheck{0%{width:0;height:0}to{width:40px;height:20px}}.sucesso-title{font-size:2rem;color:#1a1a2e;margin-bottom:1rem}.sucesso-message{font-size:1.1rem;color:#64748b;margin-bottom:1rem}.sucesso-email{font-size:.95rem;color:#475569;margin-bottom:2rem}.contagem-regressiva{margin:2rem 0;padding:1.5rem;background:#f0f4ff;border-radius:12px}.contagem-regressiva p{font-size:1rem;color:#667eea;font-weight:600;margin-bottom:1rem}.countdown-bar{height:6px;background:#e0e7ff;border-radius:3px;overflow:hidden}.countdown-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width 1s linear}.sucesso-actions{display:flex;gap:1rem;margin-bottom:2rem}.btn-primary,.btn-secondary{flex:1;padding:1rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea66}.btn-secondary{background:#fff;color:#667eea;border:2px solid #667eea}.btn-secondary:hover{background:#f8f9ff;transform:translateY(-2px)}.sucesso-info{background:#f8f9ff;border-radius:12px;padding:1.5rem;text-align:left}.sucesso-info h3{color:#1a1a2e;margin-bottom:1rem;font-size:1.1rem}.sucesso-info ul{list-style:none;padding:0;margin:0}.sucesso-info li{padding:.5rem 0;color:#475569;font-size:.95rem}.loading-spinner{text-align:center;padding:3rem}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner p{color:#fff;font-size:1.1rem}@media(max-width:768px){.sucesso-card{padding:2rem}.sucesso-actions{flex-direction:column}.sucesso-title{font-size:1.5rem}}.ajuda-page{padding:2rem;max-width:1600px;margin:0 auto;background:#f8fafc;min-height:100vh}.ajuda-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.ajuda-title h1{font-size:2.5rem;color:#1f2937;margin:0 0 .5rem;font-weight:700}.ajuda-title p{color:#6b7280;font-size:1.1rem;margin:0}.search-section{margin-bottom:2rem}.search-container{position:relative;max-width:600px;margin:0 auto}.search-input{width:100%;padding:1rem 1rem 1rem 3rem;border:2px solid #e5e7eb;border-radius:2rem;font-size:1rem;background:#fff;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:1.2rem}.ajuda-content{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start}.ajuda-main.full-width{grid-column:1 / -1}.ajuda-sidebar{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem 0;position:sticky;top:2rem}.sidebar-title{padding:0 1.5rem 1rem;font-weight:700;color:#1f2937;font-size:1.1rem;border-bottom:1px solid #e5e7eb;margin-bottom:1rem}.category-item{display:flex;align-items:center;padding:1rem 1.5rem;background:none;border:none;width:100%;text-align:left;cursor:pointer;transition:all .2s ease;gap:.75rem}.category-item:hover{background:#f3f4f6}.category-item.active{background:#eff6ff;border-right:4px solid #3b82f6}.category-icon{font-size:1.5rem;min-width:24px}.category-text{flex:1}.category-title{font-weight:600;color:#1f2937;margin-bottom:.25rem;font-size:.95rem}.category-desc{font-size:.8rem;color:#6b7280;line-height:1.3}.category-item.active .category-title{color:#3b82f6}.ajuda-main{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;padding:2rem;min-height:600px}.category-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.category-header h2{color:#1f2937;font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.category-header p{color:#6b7280;font-size:1rem}.search-results h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.faq-list{display:flex;flex-direction:column;gap:1rem}.faq-item{border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden;transition:all .2s ease}.faq-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000001a}.faq-question{width:100%;padding:1.5rem;background:none;border:none;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease}.faq-question:hover{background:#f9fafb}.question-text{font-weight:600;color:#1f2937;font-size:1rem;line-height:1.4;flex:1;margin-right:1rem}.expand-icon{color:#6b7280;font-size:.875rem;transition:transform .2s ease;font-weight:700}.expand-icon.expanded{transform:rotate(180deg);color:#3b82f6}.faq-answer{padding:0 1.5rem 1.5rem;background:#f9fafb;border-top:1px solid #e5e7eb}.faq-answer p{color:#4b5563;line-height:1.6;margin:0;font-size:.95rem}.no-results{text-align:center;padding:3rem 1rem;color:#6b7280}.no-results p{margin-bottom:1rem;font-size:1rem}.contact-section{margin-top:3rem;padding-top:2rem;border-top:2px solid #e5e7eb;text-align:center}.contact-section h3{color:#1f2937;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.contact-section p{color:#6b7280;margin-bottom:1.5rem}.contact-options{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.contact-button{padding:.75rem 1.5rem;background:#3b82f6;color:#fff;text-decoration:none;border-radius:.5rem;font-weight:600;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.contact-button:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}@media(max-width:1024px){.ajuda-content{grid-template-columns:250px 1fr;gap:1.5rem}}@media(max-width:768px){.ajuda-page{padding:1rem}.ajuda-content{grid-template-columns:1fr}.ajuda-sidebar{position:static;display:flex;overflow-x:auto;padding:1rem;gap:1rem;margin-bottom:1rem}.sidebar-title{display:none}.category-item{min-width:200px;padding:.75rem;border-radius:.5rem;border-right:none;flex-direction:column;text-align:center;gap:.5rem}.category-item.active{background:#3b82f6;color:#fff;border-right:none}.category-item.active .category-title,.category-item.active .category-desc{color:#fff}.ajuda-title h1{font-size:2rem}.ajuda-main{padding:1.5rem}.search-container{max-width:100%}.contact-options{flex-direction:column;align-items:center}.contact-button{width:100%;max-width:280px;justify-content:center}}@media(max-width:480px){.ajuda-page{padding:.5rem}.ajuda-header{padding:1rem}.ajuda-title h1{font-size:1.5rem}.ajuda-title p{font-size:.95rem}.search-input{padding:.85rem .85rem .85rem 2.5rem;font-size:.9rem}.search-icon{left:.85rem;font-size:1rem}.ajuda-main,.faq-question{padding:1rem}.faq-answer{padding:0 1rem 1rem}.question-text{font-size:.9rem}.category-item{min-width:160px;padding:.5rem}.category-desc{display:none}}.minhas-sessoes{width:100%}.loading-sessoes{text-align:center;padding:40px;color:#718096;font-size:16px}.sessoes-section{margin-bottom:40px}.sessoes-section h2{font-size:22px;font-weight:700;color:#1a202c;margin-bottom:20px}.empty-state{text-align:center;padding:40px;color:#a0aec0;font-size:15px;background:#fff;border-radius:12px;border:2px dashed #e2e8f0}.sessoes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.sessao-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #00000014;transition:all .3s ease;border:2px solid transparent}.sessao-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:#667eea}.sessao-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.sessao-tipo{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600}.sessao-status{padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600}.sessao-status.pendente{background:#fff3cd;color:#856404}.sessao-status.confirmado{background:#d4edda;color:#155724}.sessao-info{margin-bottom:16px}.sessao-info p{margin:8px 0;color:#4a5568;font-size:14px}.sessao-data{text-transform:capitalize;font-weight:600;color:#2d3748!important}.sessao-actions{display:flex;flex-direction:column;gap:8px}.btn-confirmar,.btn-cancelar{padding:10px 16px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-confirmar{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.btn-confirmar:hover{transform:translateY(-2px);box-shadow:0 4px 12px #48bb7866}.btn-cancelar{background:#fff5f5;color:#c53030;border:1px solid #feb2b2}.btn-cancelar:hover{background:#fed7d7}.sessoes-list{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014}.sessao-item{display:grid;grid-template-columns:150px 1fr 120px 120px;gap:16px;padding:16px 20px;border-bottom:1px solid #e2e8f0;align-items:center;transition:background .2s ease}.sessao-item:last-child{border-bottom:none}.sessao-item:hover{background:#f7fafc}.sessao-item.cancelada{opacity:.6;text-decoration:line-through}.sessao-item-date{font-weight:600;color:#2d3748}.sessao-item-tipo{color:#4a5568}.sessao-item-modalidade{color:#718096;font-size:14px}.sessao-item-status{color:#48bb78;font-weight:600;font-size:14px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;padding:32px;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d}.modal-content h3{font-size:22px;font-weight:700;color:#1a202c;margin-bottom:12px}.modal-session-info{color:#718096;margin-bottom:20px;font-size:14px}.cancel-reason-input{width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;font-family:inherit;resize:vertical;margin-bottom:20px}.cancel-reason-input:focus{outline:none;border-color:#667eea}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.btn-secondary,.btn-danger{padding:10px 20px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary{background:#edf2f7;color:#4a5568}.btn-secondary:hover{background:#e2e8f0}.btn-danger{background:#f56565;color:#fff}.btn-danger:hover{background:#e53e3e;transform:translateY(-2px);box-shadow:0 4px 12px #f5656566}@media(max-width:768px){.sessoes-grid{grid-template-columns:1fr}.sessao-item{grid-template-columns:1fr;gap:8px}.modal-content{padding:24px}}.meus-recibos{width:100%}.loading-recibos{text-align:center;padding:40px;color:#718096;font-size:16px}.placeholder-content{text-align:center;padding:80px 20px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014}.placeholder-icon{font-size:64px;margin-bottom:20px}.placeholder-content h2{font-size:24px;font-weight:700;color:#1a202c;margin-bottom:12px}.placeholder-content p{color:#718096;font-size:16px;margin-bottom:8px}.placeholder-description{color:#a0aec0!important;font-size:14px!important}.recibos-header{margin-bottom:24px}.recibos-header h2{font-size:24px;font-weight:700;color:#1a202c;margin-bottom:4px}.recibos-header p{color:#718096;font-size:14px}.recibos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.recibo-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #00000014;transition:all .3s ease;border:2px solid transparent}.recibo-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:#667eea}.recibo-card-header{display:flex;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.recibo-icon{font-size:40px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;flex-shrink:0}.recibo-info h3{font-size:16px;font-weight:600;color:#1a202c;margin-bottom:4px;word-break:break-word}.recibo-data{font-size:13px;color:#718096;text-transform:capitalize}.recibo-details{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.recibo-detail-item{display:flex;justify-content:space-between;align-items:center}.detail-label{font-size:13px;color:#718096;font-weight:500}.detail-value{font-size:14px;color:#2d3748;font-weight:600}.status-badge-recibo{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.status-badge-recibo.pago{background:#d4edda;color:#155724}.status-badge-recibo.pendente{background:#fff3cd;color:#856404}.status-badge-recibo.cancelado{background:#f8d7da;color:#721c24}.recibo-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn-visualizar,.btn-download{padding:10px 16px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-visualizar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-visualizar:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-download{background:#edf2f7;color:#4a5568;border:1px solid #e2e8f0}.btn-download:hover{background:#e2e8f0}.modal-overlay-recibo{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content-recibo{background:#fff;border-radius:16px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header-recibo{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #e2e8f0}.modal-header-recibo h3{font-size:20px;font-weight:700;color:#1a202c;margin:0}.btn-close-modal{background:#edf2f7;border:none;width:36px;height:36px;border-radius:50%;font-size:20px;color:#4a5568;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.btn-close-modal:hover{background:#e2e8f0;transform:rotate(90deg)}.modal-body-recibo{flex:1;padding:24px;overflow:auto;min-height:400px}.recibo-iframe{width:100%;height:600px;border:none;border-radius:8px}.recibo-image{width:100%;height:auto;border-radius:8px}.recibo-no-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.recibo-no-preview p{font-size:16px;color:#718096;margin-bottom:20px}.modal-footer-recibo{padding:20px 24px;border-top:2px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end}.btn-download-modal,.btn-secondary-modal{padding:10px 20px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-download-modal{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.btn-download-modal:hover{transform:translateY(-2px);box-shadow:0 4px 12px #48bb7866}.btn-secondary-modal{background:#edf2f7;color:#4a5568}.btn-secondary-modal:hover{background:#e2e8f0}@media(max-width:768px){.recibos-grid{grid-template-columns:1fr}.modal-content-recibo{max-width:100%;max-height:100vh;border-radius:0}.recibo-iframe{height:400px}.modal-footer-recibo{flex-direction:column}.btn-download-modal,.btn-secondary-modal{width:100%}}.meu-perfil{width:100%}.loading-perfil,.error-perfil{text-align:center;padding:40px;color:#718096;font-size:16px}.perfil-card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 8px #00000014;max-width:800px;margin:0 auto}.perfil-header{display:flex;align-items:center;gap:20px;padding-bottom:24px;border-bottom:2px solid #e2e8f0;margin-bottom:32px}.perfil-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700}.perfil-header-info h2{font-size:24px;font-weight:700;color:#1a202c;margin-bottom:4px}.perfil-header-info p{color:#718096;font-size:14px}.perfil-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:32px}.perfil-info-item{display:flex;flex-direction:column;gap:8px}.perfil-info-item.full-width{grid-column:1 / -1}.perfil-info-item label{font-size:13px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px}.perfil-info-item p{font-size:16px;color:#2d3748;font-weight:500}.status-badge{display:inline-block;padding:6px 12px;border-radius:8px;font-size:14px;font-weight:600}.status-badge.ativo{background:#d4edda;color:#155724}.status-badge.inativo{background:#f8d7da;color:#721c24}.perfil-footer{padding-top:24px;border-top:2px solid #e2e8f0}.perfil-note{color:#718096;font-size:14px;text-align:center;line-height:1.6}@media(max-width:768px){.perfil-card{padding:24px}.perfil-header{flex-direction:column;text-align:center}.perfil-info-grid{grid-template-columns:1fr;gap:20px}.perfil-avatar{width:64px;height:64px;font-size:28px}.perfil-header-info h2{font-size:20px}}.portal-paciente{min-height:100vh;background:#f7fafc}.portal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:32px 24px;box-shadow:0 4px 12px #0000001a}.portal-header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.portal-welcome h1{font-size:32px;font-weight:700;margin-bottom:4px}.portal-welcome p{font-size:16px;opacity:.9}.btn-logout{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;padding:10px 20px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-logout:hover{background:#ffffff4d;transform:translateY(-2px)}.portal-tabs{max-width:1200px;margin:0 auto;padding:24px 24px 0;display:flex;gap:12px;border-bottom:2px solid #e2e8f0}.portal-tab{background:transparent;border:none;padding:12px 24px;font-size:15px;font-weight:600;color:#718096;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s ease;margin-bottom:-2px}.portal-tab:hover{color:#667eea}.portal-tab.active{color:#667eea;border-bottom-color:#667eea}.portal-content{max-width:1200px;margin:0 auto;padding:24px}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:18px;color:#718096}@media(max-width:768px){.portal-header-content{flex-direction:column;gap:16px;align-items:flex-start}.portal-welcome h1{font-size:24px}.portal-tabs{overflow-x:auto;padding:16px 16px 0}.portal-tab{white-space:nowrap}.portal-content{padding:16px}}
