@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary-50:#e8f4fd;--primary-100:#b9ddf7;--primary-200:#8ac6f1;--primary-300:#5baee9;--primary-400:#2e97e1;--primary-500:#1a6eb5;--primary-600:#155a94;--primary-700:#104673;--primary-800:#0b3252;--primary-900:#061e31;--secondary-50:#f0fdf4;--secondary-100:#dcfce7;--secondary-200:#bbf7d0;--secondary-500:#22c55e;--secondary-600:#16a34a;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--success:#22c55e;--success-bg:#f0fdf4;--success-border:#bbf7d0;--warning:#f59e0b;--warning-bg:#fffbeb;--warning-border:#fde68a;--danger:#ef4444;--danger-bg:#fef2f2;--danger-border:#fecaca;--info:#3b82f6;--info-bg:#eff6ff;--info-border:#bfdbfe;--status-agendado:#f59e0b;--status-confirmado:#3b82f6;--status-concluido:#22c55e;--status-cancelado:#ef4444;--status-faltou:#8b5cf6;--bg-page:#f1f5f9;--bg-card:#fff;--bg-sidebar:#061e31;--bg-hover:#f8fafc;--bg-active:#e8f4fd;--bg-overlay:#0f172a80;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-inverse:#fff;--text-link:#1a6eb5;--text-link-hover:#155a94;--border-light:#e2e8f0;--border-default:#cbd5e1;--border-focus:#1a6eb5;--border-error:#ef4444;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-focus:0 0 0 3px #1a6eb540;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--transition-spring:.3s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width:240px;--sidebar-collapsed:64px;--header-height:64px;--content-max-width:1400px;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--z-tooltip:600}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-page);min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-md)}h6{font-size:var(--text-base)}p{color:var(--text-secondary);line-height:var(--leading-relaxed)}a{color:var(--text-link);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--text-link-hover)}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit}input:focus,textarea:focus,select:focus{outline:none}button{cursor:pointer;background:0 0;border:none}ul,ol{list-style:none}img,svg{max-width:100%;display:block}table{border-collapse:collapse;width:100%}::selection{background-color:var(--primary-200);color:var(--primary-900)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease-out}.animate-fade-in-down{animation:fadeInDown var(--transition-slow) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-slow) ease-out}.animate-slide-in-left{animation:slideInLeft var(--transition-slow) ease-out}.animate-scale-in{animation:scaleIn var(--transition-spring)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-medium);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;min-height:38px;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn-primary{background-color:var(--primary-500);color:var(--text-inverse);border-color:var(--primary-500)}.btn-primary:hover:not(:disabled){background-color:var(--primary-600);border-color:var(--primary-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background-color:var(--bg-card);color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-50);border-color:var(--gray-400)}.btn-danger{background-color:var(--danger);color:var(--text-inverse);border-color:var(--danger)}.btn-danger:hover:not(:disabled){box-shadow:var(--shadow-md);background-color:#dc2626;transform:translateY(-1px)}.btn-success{background-color:var(--success);color:var(--text-inverse);border-color:var(--success)}.btn-success:hover:not(:disabled){background-color:#16a34a;transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);background-color:#0000;border-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--gray-100);color:var(--text-primary)}.btn-link{color:var(--primary-500);padding:var(--space-1) var(--space-2);background-color:#0000;border-color:#0000;min-height:auto}.btn-link:hover:not(:disabled){color:var(--primary-600);text-decoration:underline}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);min-height:32px}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-md);min-height:44px}.btn-icon{padding:var(--space-2);min-width:38px;min-height:38px}.btn-icon.btn-sm{padding:var(--space-1);min-width:32px;min-height:32px}.btn .btn-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.btn-block{width:100%}.form-group{gap:var(--space-1);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.form-label .required{color:var(--danger);margin-left:2px}.form-input{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-family);font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);transition:all var(--transition-fast);min-height:40px}.form-input:hover{border-color:var(--border-default)}.form-input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.form-input::placeholder{color:var(--text-tertiary)}.form-input:disabled{background-color:var(--gray-100);color:var(--text-tertiary);cursor:not-allowed}.form-input.input-error{border-color:var(--border-error)}.form-input.input-error:focus{box-shadow:0 0 0 3px #ef444440}.form-textarea{resize:vertical;min-height:100px}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-10);cursor:pointer}.form-error{font-size:var(--text-xs);color:var(--danger);align-items:center;gap:var(--space-1);display:flex}.form-help{font-size:var(--text-xs);color:var(--text-tertiary)}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper .input-icon{left:var(--space-3);color:var(--text-tertiary);pointer-events:none;display:flex;position:absolute}.input-wrapper .form-input{padding-left:var(--space-10)}.input-wrapper .input-icon-right{right:var(--space-3);color:var(--text-tertiary);display:flex;position:absolute}.form-checkbox-group{align-items:center;gap:var(--space-2);cursor:pointer;display:flex}.form-checkbox{width:18px;height:18px;accent-color:var(--primary-500);cursor:pointer}.form-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.form-row-3{gap:var(--space-4);grid-template-columns:1fr 1fr 1fr;display:grid}@media (width<=768px){.form-row,.form-row-3{grid-template-columns:1fr}}.card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-sm)}.card-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.card-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:var(--space-1)}.card-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-light);justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.stat-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-5);align-items:flex-start;gap:var(--space-4);transition:all var(--transition-base);box-shadow:var(--shadow-xs);display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-card-icon.primary{background:var(--primary-50);color:var(--primary-500)}.stat-card-icon.success{background:var(--success-bg);color:var(--success)}.stat-card-icon.warning{background:var(--warning-bg);color:var(--warning)}.stat-card-icon.info{background:var(--info-bg);color:var(--info)}.stat-card-icon.danger{background:var(--danger-bg);color:var(--danger)}.stat-card-content{flex:1;min-width:0}.stat-card-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-1);line-height:1}.stat-card-label{font-size:var(--text-sm);color:var(--text-tertiary)}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-full);white-space:nowrap;line-height:1.5;display:inline-flex}.badge-primary{background:var(--primary-50);color:var(--primary-700)}.badge-success{background:var(--success-bg);color:#15803d}.badge-warning{background:var(--warning-bg);color:#92400e}.badge-danger{background:var(--danger-bg);color:#b91c1c}.badge-info{background:var(--info-bg);color:#1e40af}.badge-gray{background:var(--gray-100);color:var(--gray-600)}.badge-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge-primary .badge-dot{background:var(--primary-500)}.badge-success .badge-dot{background:var(--success)}.badge-warning .badge-dot{background:var(--warning)}.badge-danger .badge-dot{background:var(--danger)}.badge-info .badge-dot{background:var(--info)}.table-container{border:1px solid var(--border-light);border-radius:var(--radius-xl);background:var(--bg-card);width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%}.table thead{background:var(--gray-50);border-bottom:1px solid var(--border-light)}.table th{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-tertiary);text-align:left;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.table td{padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--text-primary);border-bottom:1px solid var(--border-light);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background-color:var(--bg-hover)}.table tbody tr.clickable{cursor:pointer}.modal-overlay{background:var(--bg-overlay);z-index:var(--z-modal);animation:fadeIn var(--transition-fast);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);width:100%;max-width:560px;max-height:90vh;animation:scaleIn var(--transition-spring);overflow-y:auto}.modal-lg{max-width:720px}.modal-xl{max-width:900px}.modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--text-lg);font-weight:var(--font-semibold)}.modal-close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--gray-100);color:var(--text-primary)}.modal-body{padding:var(--space-6)}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-light);display:flex}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border-light);margin-bottom:var(--space-6);display:flex}.tab{padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--primary-500);border-bottom-color:var(--primary-500)}.empty-state{padding:var(--space-12) var(--space-4);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{border-radius:var(--radius-full);background:var(--gray-100);width:64px;height:64px;color:var(--text-tertiary);margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex}.empty-state-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--text-base);color:var(--text-tertiary);max-width:400px;margin-bottom:var(--space-6)}.spinner-container{padding:var(--space-12);justify-content:center;align-items:center;display:flex}.spinner{border:3px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}.spinner.sm{border-width:2px;width:20px;height:20px}.spinner.lg{border-width:4px;width:48px;height:48px}.avatar{border-radius:var(--radius-full);width:40px;height:40px;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-inverse);background:linear-gradient(135deg, var(--primary-400), var(--primary-600));flex-shrink:0;justify-content:center;align-items:center;display:flex}.avatar.sm{width:32px;height:32px;font-size:var(--text-xs)}.avatar.lg{width:56px;height:56px;font-size:var(--text-lg)}.avatar.xl{width:72px;height:72px;font-size:var(--text-xl)}.pagination{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-4) 0;display:flex}.pagination-btn{border-radius:var(--radius-md);min-width:36px;height:36px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.pagination-btn:hover:not(:disabled){background:var(--gray-100)}.pagination-btn.active{background:var(--primary-500);color:var(--text-inverse);border-color:var(--primary-500)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:var(--text-sm);color:var(--text-tertiary);margin:0 var(--space-2)}.search-bar{width:100%;max-width:400px;position:relative}.search-bar .search-icon{left:var(--space-3);color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-bar .form-input{padding-left:var(--space-10);padding-right:var(--space-10)}.search-bar .search-clear{right:var(--space-2);border-radius:var(--radius-md);width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.search-bar .search-clear:hover{background:var(--gray-100);color:var(--text-primary)}.dropdown{display:inline-block;position:relative}.dropdown-menu{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:180px;z-index:var(--z-dropdown);animation:fadeInDown var(--transition-fast) ease-out;padding:var(--space-1);position:absolute;top:calc(100% + 4px);right:0}.dropdown-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left;background:0 0;border:none;display:flex}.dropdown-item:hover{background:var(--gray-50);color:var(--text-primary)}.dropdown-item.danger{color:var(--danger)}.dropdown-item.danger:hover{background:var(--danger-bg)}.dropdown-divider{background:var(--border-light);height:1px;margin:var(--space-1) 0}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);color:var(--text-inverse);z-index:var(--z-sticky);transition:transform var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{padding:var(--space-5) var(--space-5);justify-content:center;align-items:center;gap:var(--space-3);border-bottom:1px solid #ffffff14;display:flex}.sidebar-logo-img{object-fit:contain;width:90px;height:auto;margin:0 auto}.sidebar-nav{padding:var(--space-4) var(--space-3);gap:var(--space-1);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidebar-section-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:#ffffff59;text-transform:uppercase;letter-spacing:.08em;padding:var(--space-4) var(--space-3) var(--space-2)}.sidebar-link{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);color:#fff9;font-size:var(--text-base);font-weight:var(--font-medium);transition:all var(--transition-fast);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;text-decoration:none;display:flex}.sidebar-link:hover{color:#ffffffe6;background:#ffffff0f}.sidebar-link.active{color:#fff;background:#1a6eb559}.sidebar-link.active .sidebar-link-icon{color:var(--primary-400)}.sidebar-link-icon{flex-shrink:0;width:20px;height:20px}.sidebar-link-badge{background:var(--primary-500);color:#fff;font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);text-align:center;min-width:20px;margin-left:auto;padding:1px 8px}.sidebar-badge{color:#fff;font-size:11px;font-weight:var(--font-bold);border-radius:var(--radius-full);text-align:center;background:#25d366;min-width:18px;margin-left:auto;padding:1px 7px;line-height:1.4}.sidebar-footer{padding:var(--space-4) var(--space-3);border-top:1px solid #ffffff14}.sidebar-user{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);transition:background var(--transition-fast);display:flex}.sidebar-user:hover{background:#ffffff0f}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:#ffffffe6}.sidebar-user-role{font-size:var(--text-xs);color:#fff6}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar.collapsed .sidebar-link-text,.sidebar.collapsed .sidebar-section-label,.sidebar.collapsed .sidebar-user-info,.sidebar.collapsed .sidebar-badge{display:none}.sidebar.collapsed .sidebar-logo{padding:var(--space-4) 0}.sidebar.collapsed .sidebar-link{padding:var(--space-2) 0;justify-content:center}.sidebar.collapsed .sidebar-link-icon{margin:0}.sidebar.collapsed .sidebar-user{padding:var(--space-2) 0;justify-content:center}.app-layout.sidebar-collapsed .main-content{margin-left:var(--sidebar-collapsed)}.main-content{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.header{height:var(--header-height);background:var(--bg-card);border-bottom:1px solid var(--border-light);padding:0 var(--space-6);z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex;position:sticky;top:0}.header-left{align-items:center;gap:var(--space-4);flex:1;display:flex}.header-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);white-space:nowrap}.header-subtitle{font-size:var(--text-sm);color:var(--text-tertiary)}.header-search{flex:1;max-width:360px}.header-right{align-items:center;gap:var(--space-2);display:flex}.header-menu-btn{border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:none}.page-content{padding:var(--space-6);max-width:var(--content-max-width);flex:1;width:100%}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-header-left{gap:var(--space-1);flex-direction:column;display:flex}.page-header-actions{align-items:center;gap:var(--space-3);display:flex}.sidebar-overlay{background:var(--bg-overlay);z-index:calc(var(--z-sticky) - 1);display:none;position:fixed;inset:0}@media (width<=1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.visible{display:block}.main-content{margin-left:0}.header-menu-btn{display:flex}}@media (width<=768px){.page-content{padding:var(--space-4)}.header{padding:0 var(--space-4)}.page-header{flex-direction:column;align-items:flex-start}}.dashboard{animation:fadeIn var(--transition-base)}.dashboard-stats{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}.dashboard-grid{gap:var(--space-6);margin-bottom:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.dashboard-grid-full{grid-column:1/-1}.consulta-item{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);transition:background var(--transition-fast);cursor:pointer;display:flex}.consulta-item:hover{background:var(--bg-hover)}.consulta-item-time{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary-500);min-width:50px}.consulta-item-info{flex:1;min-width:0}.consulta-item-name{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary)}.consulta-item-procedure{font-size:var(--text-sm);color:var(--text-tertiary)}.alert-card{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-xl);padding:var(--space-4);align-items:flex-start;gap:var(--space-3);display:flex}.alert-card-icon{color:var(--warning);flex-shrink:0;margin-top:2px}.alert-card-content{flex:1}.alert-card-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:#92400e;margin-bottom:var(--space-1)}.alert-card-text{font-size:var(--text-sm);color:#a16207}.quick-actions{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.quick-action-btn{align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);color:var(--text-secondary);flex-direction:column;text-decoration:none;display:flex}.quick-action-btn:hover{border-color:var(--primary-300);background:var(--primary-50);color:var(--primary-600);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-action-icon{border-radius:var(--radius-lg);background:var(--gray-100);width:44px;height:44px;transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.quick-action-btn:hover .quick-action-icon{background:var(--primary-100)}.quick-action-label{font-size:var(--text-sm);font-weight:var(--font-medium)}@media (width<=1200px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}}@media (width<=768px){.dashboard-stats,.quick-actions{grid-template-columns:1fr}}.patients-page{animation:fadeIn var(--transition-base)}.patients-toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.patients-toolbar .search-bar{flex:1;min-width:250px}.patient-name-cell{align-items:center;gap:var(--space-3);display:flex}.patient-name-text{font-weight:var(--font-medium)}.patient-name-email{font-size:var(--text-xs);color:var(--text-tertiary)}.patient-profile{animation:fadeIn var(--transition-base)}.patient-profile-header{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);gap:var(--space-6);box-shadow:var(--shadow-xs);display:flex}.patient-profile-avatar{flex-shrink:0}.patient-profile-info{flex:1;min-width:0}.patient-profile-name{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-1)}.patient-profile-meta{gap:var(--space-4);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.patient-meta-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);display:flex}.patient-meta-item svg{color:var(--text-tertiary);width:16px;height:16px}.patient-profile-actions{align-items:flex-start;gap:var(--space-2);flex-shrink:0;display:flex}.patient-info-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.patient-info-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-5)}.patient-info-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.patient-info-value{font-size:var(--text-base);color:var(--text-primary);line-height:var(--leading-relaxed)}.timeline{padding-left:var(--space-8);position:relative}.timeline:before{content:"";background:var(--border-light);width:2px;position:absolute;top:0;bottom:0;left:15px}.timeline-item{padding-bottom:var(--space-6);position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{left:calc(-1 * var(--space-8) + 8px);background:var(--primary-500);border:3px solid var(--bg-page);width:16px;height:16px;box-shadow:0 0 0 2px var(--primary-200);border-radius:50%;position:absolute;top:4px}.timeline-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all var(--transition-fast)}.timeline-card:hover{border-color:var(--primary-200);box-shadow:var(--shadow-sm)}.timeline-date{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-2)}.timeline-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.timeline-description{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.timeline-tags{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.patient-form{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-xs)}.patient-form-section{margin-bottom:var(--space-6)}.patient-form-section:last-child{margin-bottom:0}.patient-form-section-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-light)}@media (width<=768px){.patient-profile-header{text-align:center;flex-direction:column;align-items:center}.patient-profile-meta{justify-content:center}.patient-profile-actions{align-self:center}.patient-info-grid{grid-template-columns:1fr}}.attachment-card-premium{transition:transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base)!important}.attachment-card-premium:hover{transform:translateY(-4px);border-color:var(--primary-300)!important;box-shadow:var(--shadow-md)!important}.attachment-card-premium:hover .attachment-thumbnail-img{transform:scale(1.05)}.agenda-page{animation:fadeIn var(--transition-base)}.agenda-toolbar{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.agenda-toolbar-left{align-items:center;gap:var(--space-3);display:flex}.agenda-view-toggle{background:var(--gray-100);border-radius:var(--radius-lg);padding:3px;display:flex}.agenda-view-btn{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none}.agenda-view-btn.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.agenda-nav{align-items:center;gap:var(--space-2);display:flex}.agenda-nav-date{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);text-align:center;min-width:200px}.agenda-nav-btn{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-light);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.agenda-nav-btn:hover{border-color:var(--primary-300);color:var(--primary-500)}.week-grid{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);overflow:hidden}.week-header{border-bottom:1px solid var(--border-light);grid-template-columns:60px repeat(7,1fr);display:grid}.week-header-cell{padding:var(--space-3) var(--space-2);text-align:center;font-size:var(--text-sm);border-right:1px solid var(--border-light)}.week-header-cell:last-child{border-right:none}.week-header-day{font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:uppercase;font-size:var(--text-xs)}.week-header-date{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-top:2px}.week-header-date.today{background:var(--primary-500);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin:2px auto 0;display:flex}.week-body{grid-template-columns:60px repeat(7,1fr);max-height:600px;display:grid;overflow-y:auto}.week-time-col{border-right:1px solid var(--border-light)}.week-time-slot{height:60px;padding-top:var(--space-1);font-size:var(--text-xs);color:var(--text-tertiary);border-bottom:1px solid var(--border-light);justify-content:center;align-items:flex-start;display:flex}.week-day-col{border-right:1px solid var(--border-light);position:relative}.week-day-col:last-child{border-right:none}.week-hour-slot{border-bottom:1px solid var(--border-light);cursor:pointer;height:60px;transition:background var(--transition-fast);padding:2px}.week-hour-slot:hover{background:var(--primary-50)}.appointment-block{padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);border-left:3px solid;min-height:28px;overflow:hidden}.appointment-block:hover{box-shadow:var(--shadow-sm);transform:scale(1.02)}.appointment-block.status-agendado{background:var(--warning-bg);border-left-color:var(--warning);color:#92400e}.appointment-block.status-confirmado{background:var(--info-bg);border-left-color:var(--info);color:#1e40af}.appointment-block.status-concluido{background:var(--success-bg);border-left-color:var(--success);color:#15803d}.appointment-block.status-cancelado{background:var(--danger-bg);border-left-color:var(--danger);color:#b91c1c;opacity:.6}.appointment-block.status-faltou{color:#5b21b6;opacity:.7;background:#f5f3ff;border-left-color:#8b5cf6}.appointment-block-name{font-weight:var(--font-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.appointment-block-proc{white-space:nowrap;text-overflow:ellipsis;opacity:.8;overflow:hidden}.day-list{gap:var(--space-3);flex-direction:column;display:flex}.day-appointment-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-4);align-items:center;gap:var(--space-4);cursor:pointer;transition:all var(--transition-fast);border-left:4px solid;display:flex}.day-appointment-card:hover{box-shadow:var(--shadow-sm);transform:translate(4px)}.day-appointment-time{text-align:center;min-width:60px}.day-appointment-time-value{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--primary-500)}.day-appointment-time-duration{font-size:var(--text-xs);color:var(--text-tertiary)}.day-appointment-info{flex:1;min-width:0}.day-appointment-patient{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.day-appointment-procedure{font-size:var(--text-sm);color:var(--text-secondary)}.day-appointment-dentist{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-1)}.day-appointment-actions{align-items:center;gap:var(--space-2);display:flex}.consultation-form{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-6)}.consultation-section{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-light)}.consultation-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.consultation-section-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-4);align-items:center;gap:var(--space-2);display:flex}.tooth-selector{background:var(--gray-50);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-5)}.tooth-arch{justify-content:center;gap:var(--space-1);margin-bottom:var(--space-2);display:flex}.tooth-arch-label{font-size:var(--text-xs);color:var(--text-tertiary);text-align:center;margin-bottom:var(--space-2);font-weight:var(--font-medium)}.tooth-divider{background:var(--border-default);width:2px;margin:0 var(--space-2);border-radius:1px}.tooth-arch-separator{background:var(--border-default);height:2px;margin:var(--space-2) 0;border-radius:1px}.tooth-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);width:36px;height:36px;color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.tooth-btn:hover{border-color:var(--primary-300);background:var(--primary-50)}.tooth-btn.selected{background:var(--primary-500);border-color:var(--primary-500);color:#fff;box-shadow:var(--shadow-sm)}.tooth-selected-list{gap:var(--space-1);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.login-page{background:linear-gradient(135deg, var(--primary-800) 0%, var(--primary-500) 50%, var(--primary-400) 100%);min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.login-card{background:var(--bg-card);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);width:100%;max-width:420px;padding:var(--space-10);animation:scaleIn var(--transition-spring)}.login-logo{justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8);display:flex}.login-logo-img{object-fit:contain;width:140px;height:auto}.login-title{text-align:center;font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-6)}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-footer{text-align:center;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--text-tertiary)}.summary-card{background:linear-gradient(135deg, var(--primary-50), #f0f9ff);border:1px solid var(--primary-200);border-radius:var(--radius-xl);padding:var(--space-6)}.summary-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.summary-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--primary-700);align-items:center;gap:var(--space-2);display:flex}.summary-actions{gap:var(--space-2);display:flex}.summary-body{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed);white-space:pre-wrap}.summary-section{margin-bottom:var(--space-4)}.summary-section-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary-600);margin-bottom:var(--space-1)}@media (width<=768px){.agenda-toolbar{flex-direction:column;align-items:stretch}.agenda-toolbar-left{flex-wrap:wrap}.week-grid{overflow-x:auto}.week-header,.week-body{min-width:800px}}.receita-tabs{gap:var(--space-2);margin-bottom:var(--space-4);border-bottom:1px solid var(--border-light);padding-bottom:var(--space-2);display:flex}.receita-tab-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000}.receita-tab-btn:hover{color:var(--primary-500)}.receita-tab-btn.active{color:var(--primary-500);border-bottom-color:var(--primary-500)}.med-form-grid{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:2fr 1fr 1fr;display:grid}@media (width<=600px){.med-form-grid{grid-template-columns:1fr}}.added-meds-container{border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--gray-50);padding:var(--space-3);margin-top:var(--space-4)}.added-meds-title{font-weight:600;font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.added-med-item{padding:var(--space-2) var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:var(--space-2);background:#fff;justify-content:space-between;align-items:flex-start;display:flex}.added-med-details{flex:1}.added-med-name-row{align-items:baseline;gap:var(--space-2);display:flex}.added-med-name{color:var(--text-primary);font-weight:600;font-size:var(--text-sm)}.added-med-gram{color:var(--text-secondary);font-size:var(--text-xs)}.added-med-qty{color:var(--primary-600);font-weight:500;font-size:var(--text-xs)}.added-med-usage{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px}.added-med-obs{font-size:var(--text-xs);color:var(--danger-500);margin-top:2px;font-style:italic}.print-only-receita{display:none}@media print{html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000!important;background:#fff!important;margin:0!important;padding:0!important;font-family:Inter,Segoe UI,Arial,sans-serif!important}#root{width:100%!important;margin:0!important;padding:0!important;display:block!important}.app-layout{box-shadow:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important;display:block!important}.main-content,.page-content{box-shadow:none!important;background:0 0!important;border:none!important;width:100%!important;margin:0!important;padding:0!important;display:block!important}.animate-fade-in{opacity:1!important;margin:0!important;padding:0!important;animation:none!important;transform:none!important}.sidebar,.header,form,.modal-overlay,.toaster,button{visibility:hidden!important;display:none!important}.print-only-receita{flex-direction:column;justify-content:space-between;box-sizing:border-box!important;color:#000!important;z-index:999999!important;background:#fff!important;width:100%!important;height:100vh!important;padding:2.5cm 2cm 2cm!important;display:flex!important;position:absolute!important;top:0!important;left:0!important}.receita-print-header{border-bottom:2px solid #0f172a;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;display:flex}.receita-print-header-left{align-items:center;gap:15px;display:flex}.receita-print-logo{width:75px;height:auto}.receita-print-title-group h2{color:#0f172a;letter-spacing:.5px;margin:0;font-size:24px;font-weight:800}.receita-print-title-group p{color:#475569;text-transform:uppercase;margin:2px 0 0;font-size:13px;font-weight:500}.receita-print-header-right{text-align:right;color:#64748b;font-size:11px}.receita-print-body-title{text-align:center;letter-spacing:2px;color:#0f172a;text-transform:uppercase;margin:20px 0 30px;font-size:22px;font-weight:700}.receita-print-patient-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:35px;padding:12px 18px;font-size:14px;display:flex}.receita-print-patient-name{color:#0f172a;font-weight:700}.receita-print-date{color:#475569}.receita-print-content{color:#1e293b;flex-grow:1;font-size:15px;line-height:1.6}.receita-print-free-text{white-space:pre-wrap;font-size:15px;line-height:1.8}.receita-print-med-list{margin:0;padding:0;list-style:none}.receita-print-med-item{border-bottom:1px dashed #cbd5e1;margin-bottom:25px;padding-bottom:12px}.receita-print-med-header{color:#0f172a;justify-content:space-between;font-size:16px;font-weight:700;display:flex}.receita-print-med-name-group{align-items:baseline;gap:8px;display:flex}.receita-print-med-gram{color:#475569;font-size:13px;font-weight:400}.receita-print-med-qty{color:#0f172a}.receita-print-med-usage{color:#334155;margin:6px 0 0;font-size:14px}.receita-print-med-obs{color:#b91c1c;margin:4px 0 0;font-size:13px;font-style:italic}.receita-print-signature-area{page-break-inside:avoid;flex-direction:column;justify-content:center;align-items:center;margin-top:40px;margin-bottom:20px;display:flex}.receita-print-signature-line{border-top:1px solid #475569;width:250px;margin-bottom:8px}.receita-print-doctor-name{color:#0f172a;margin:0;font-size:14px;font-weight:700}.receita-print-doctor-cro{color:#475569;margin:2px 0 0;font-size:12px}.receita-print-footer{text-align:center;color:#64748b;border-top:1px solid #e2e8f0;padding-top:10px;font-size:10px;line-height:1.4}}.financial-summary{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.fin-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-5);position:relative;overflow:hidden}.fin-card:before{content:"";height:4px;position:absolute;top:0;left:0;right:0}.fin-card.cobrado:before{background:var(--primary-500)}.fin-card.pago:before{background:var(--success)}.fin-card.pendente:before{background:var(--danger)}.fin-card-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.fin-card-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary)}.fin-card-value.success{color:var(--success)}.fin-card-value.danger{color:var(--danger)}.fin-card-value.primary{color:var(--primary-500)}.fin-card-sub{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-1)}.payment-list{gap:var(--space-3);flex-direction:column;display:flex}.payment-item{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-4);align-items:center;gap:var(--space-4);transition:all var(--transition-fast);cursor:pointer;border-left:4px solid;display:flex}.payment-item:hover{box-shadow:var(--shadow-sm)}.payment-item.status-pago{border-left-color:var(--success)}.payment-item.status-parcial{border-left-color:var(--warning)}.payment-item.status-pendente{border-left-color:var(--danger)}.payment-item-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.payment-item-icon.pago{background:var(--success-bg);color:var(--success)}.payment-item-icon.parcial{background:var(--warning-bg);color:var(--warning)}.payment-item-icon.pendente{background:var(--danger-bg);color:var(--danger)}.payment-item-info{flex:1;min-width:0}.payment-item-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.payment-item-sub{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:2px}.payment-item-values{text-align:right;flex-shrink:0}.payment-item-total{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.payment-item-remaining{font-size:var(--text-sm);color:var(--danger);font-weight:var(--font-medium)}.payment-item-paid{font-size:var(--text-sm);color:var(--success);font-weight:var(--font-medium)}.payment-detail{gap:var(--space-4);flex-direction:column;display:flex}.payment-progress{margin-bottom:var(--space-2)}.progress-bar{background:var(--gray-200);border-radius:var(--radius-full);height:10px;position:relative;overflow:hidden}.progress-fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow);background:linear-gradient(90deg, var(--success), #34d399)}.progress-fill.partial{background:linear-gradient(90deg, var(--warning), #fbbf24)}.progress-labels{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-tertiary);justify-content:space-between;display:flex}.payment-history{padding-left:var(--space-6);position:relative}.payment-history:before{content:"";background:var(--border-light);width:2px;position:absolute;top:4px;bottom:4px;left:10px}.payment-history-item{padding-bottom:var(--space-4);position:relative}.payment-history-item:last-child{padding-bottom:0}.payment-history-dot{left:calc(-1 * var(--space-6) + 5px);background:var(--success);border:2px solid var(--bg-card);width:12px;height:12px;box-shadow:0 0 0 2px var(--success-bg);border-radius:50%;position:absolute;top:4px}.payment-history-content{justify-content:space-between;align-items:flex-start;display:flex}.payment-history-desc{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.payment-history-date{font-size:var(--text-xs);color:var(--text-tertiary)}.payment-history-value{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--success);white-space:nowrap}.payment-history-method{font-size:var(--text-xs);color:var(--text-tertiary);text-align:right}.procedure-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);transition:all var(--transition-fast);cursor:pointer;overflow:hidden}.procedure-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.procedure-card-header{padding:var(--space-4) var(--space-5);background:var(--gray-50);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.procedure-card-date{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary-500)}.procedure-card-dentist{font-size:var(--text-xs);color:var(--text-tertiary)}.procedure-card-body{padding:var(--space-4) var(--space-5)}.procedure-list-items{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.procedure-line{padding:var(--space-2) var(--space-3);background:var(--gray-50);border-radius:var(--radius-md);justify-content:space-between;align-items:center;display:flex}.procedure-line-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.procedure-line-value{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary-500)}.procedure-card-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-light);background:var(--gray-50);justify-content:space-between;align-items:center;display:flex}.procedure-card-total{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.proc-add-row{gap:var(--space-3);align-items:flex-end;display:flex}.proc-add-row .form-group{flex:1}.proc-add-row .form-group:last-of-type{max-width:150px}.proc-items-list{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.proc-item-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--border-light);display:flex}.proc-item-name{font-weight:var(--font-medium);flex:1}.proc-item-value{font-weight:var(--font-semibold);color:var(--primary-500);text-align:right;min-width:80px}.proc-item-remove{color:var(--danger);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);background:0 0;border:none;padding:4px}.proc-item-remove:hover{background:var(--danger-bg)}.baixa-form{gap:var(--space-4);flex-direction:column;display:flex}.baixa-summary{gap:var(--space-3);padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--border-light);grid-template-columns:1fr 1fr 1fr;display:grid}.baixa-summary-item{text-align:center}.baixa-summary-label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;font-weight:var(--font-semibold)}.baixa-summary-value{font-size:var(--text-lg);font-weight:var(--font-bold);margin-top:2px}@media (width<=768px){.financial-summary{grid-template-columns:1fr}.payment-item{align-items:flex-start;gap:var(--space-2);flex-direction:column}.payment-item-values{text-align:left;gap:var(--space-3);display:flex}.proc-add-row{flex-direction:column}.proc-add-row .form-group:last-of-type{max-width:none}.baixa-summary{grid-template-columns:1fr}}:root{--wa-green:#25d366;--wa-green-dark:#128c7e;--wa-teal:#075e54;--wa-light-green:#dcf8c6;--wa-blue:#34b7f1;--wa-bg:#ece5dd;--wa-chat-bg:#e5ddd5;--wa-sent-bg:#dcf8c6;--wa-received-bg:#fff;--wa-header-bg:#f0f2f5}.wa-spin{animation:1s linear infinite spin}.wa-page{height:calc(100vh - var(--header-height,0px));background:var(--bg-page);flex-direction:column;display:flex;overflow:hidden}.wa-topbar{padding:var(--space-3) var(--space-4);background:var(--bg-card);border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.wa-topbar-left{align-items:center;gap:var(--space-3);display:flex}.wa-topbar-icon{color:var(--wa-green)}.wa-topbar-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.wa-topbar-right{align-items:center;gap:var(--space-2);display:flex}.wa-connection-status{align-items:center;gap:var(--space-1);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);padding:2px 10px;display:inline-flex}.wa-connection-status.connected{background:var(--success-bg);color:var(--success)}.wa-connection-status.connecting{background:var(--warning-bg);color:var(--warning)}.wa-connection-status.disconnected{background:var(--danger-bg);color:var(--danger)}.wa-instance-name{opacity:.7;margin-left:var(--space-1)}.wa-layout{flex:1;display:flex;overflow:hidden}.wa-chat-list{background:var(--bg-card);border-right:1px solid var(--border-light);flex-direction:column;width:320px;min-width:280px;max-width:380px;display:flex;overflow:hidden}.wa-chat-list-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.wa-chat-list-header h3{font-size:var(--text-md);font-weight:var(--font-semibold)}.wa-chat-count{font-size:var(--text-xs);color:var(--text-tertiary);background:var(--gray-100);border-radius:var(--radius-full);padding:1px 8px}.wa-search-box{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-light);position:relative}.wa-search-icon{color:var(--text-tertiary);position:absolute;top:50%;left:20px;transform:translateY(-50%)}.wa-search-input{border:1px solid var(--border-light);border-radius:var(--radius-lg);width:100%;font-size:var(--text-sm);background:var(--gray-50);transition:all var(--transition-fast);padding:8px 8px 8px 34px;font-family:inherit}.wa-search-input:focus{border-color:var(--wa-green);background:var(--bg-card);outline:none;box-shadow:0 0 0 3px #25d36626}.wa-chat-list-items{flex:1;overflow-y:auto}.wa-chat-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--gray-100);display:flex}.wa-chat-item:hover{background:var(--gray-50)}.wa-chat-item.active{background:var(--primary-50);border-left:3px solid var(--wa-green)}.wa-chat-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--wa-green-dark), var(--wa-green));color:#fff;width:44px;min-width:44px;height:44px;font-size:var(--text-lg);font-weight:var(--font-semibold);justify-content:center;align-items:center;display:flex}.wa-chat-avatar.sm{width:36px;min-width:36px;height:36px;font-size:var(--text-base)}.wa-chat-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.wa-chat-info-top{justify-content:space-between;align-items:center;display:flex}.wa-chat-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wa-chat-time{color:var(--text-tertiary);margin-left:var(--space-2);flex-shrink:0;font-size:11px}.wa-chat-time.unread{color:var(--wa-green);font-weight:var(--font-semibold)}.wa-chat-info-bottom{justify-content:space-between;align-items:center;display:flex}.wa-chat-preview{font-size:var(--text-xs);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.wa-chat-badge{background:var(--wa-green);color:#fff;font-size:11px;font-weight:var(--font-bold);border-radius:var(--radius-full);text-align:center;min-width:20px;margin-left:var(--space-2);flex-shrink:0;padding:1px 6px}.wa-chat-list-empty{padding:var(--space-8);color:var(--text-tertiary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.wa-chat-list-empty p{margin-top:var(--space-2);font-size:var(--text-sm)}.wa-chat-window{background:var(--wa-chat-bg);background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23c9c9c9' fill-opacity='0.08'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");flex-direction:column;flex:1;display:flex;overflow:hidden}.wa-chat-empty{color:var(--text-tertiary);padding:var(--space-8);text-align:center;background:var(--bg-card);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.wa-chat-empty-icon{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary-100), var(--primary-50));width:100px;height:100px;margin-bottom:var(--space-4);color:var(--primary-400);justify-content:center;align-items:center;display:flex}.wa-chat-empty h3{font-size:var(--text-xl);color:var(--text-primary);margin-bottom:var(--space-2)}.wa-chat-empty p{font-size:var(--text-sm);color:var(--text-secondary);max-width:400px}.wa-chat-window-header{padding:var(--space-3) var(--space-4);background:var(--bg-card);border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.wa-chat-window-contact{align-items:center;gap:var(--space-3);display:flex}.wa-chat-window-contact-info{flex-direction:column;display:flex}.wa-chat-window-contact-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.wa-chat-window-contact-number{font-size:var(--text-xs);color:var(--text-tertiary)}.wa-chat-window-actions{gap:var(--space-2);display:flex}.wa-btn-agenda{align-items:center;gap:var(--space-2);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--wa-green), var(--wa-green-dark));color:#fff;font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);border:none;padding:6px 14px;display:flex}.wa-btn-agenda:hover{box-shadow:var(--shadow-md);filter:brightness(1.05);transform:translateY(-1px)}.wa-messages-area{padding:var(--space-4);gap:var(--space-1);flex-direction:column;flex:1;display:flex;overflow-y:auto}.wa-messages-loading{color:var(--text-tertiary);justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;flex:1;display:flex}.wa-messages-empty{color:var(--text-tertiary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.wa-messages-empty p{font-size:var(--text-sm)}.wa-messages-empty-sub{opacity:.7;margin-top:var(--space-1);font-size:var(--text-xs)!important}.wa-message{animation:.2s ease-out fadeInUp;display:flex}.wa-message.sent{justify-content:flex-end}.wa-message.received{justify-content:flex-start}.wa-message-bubble{border-radius:var(--radius-lg);word-wrap:break-word;max-width:65%;padding:6px 10px;position:relative;box-shadow:0 1px 1px #00000014}.wa-message-bubble.sent{background:var(--wa-sent-bg);border-bottom-right-radius:4px}.wa-message-bubble.received{background:var(--wa-received-bg);border-bottom-left-radius:4px}.wa-message-text{font-size:var(--text-sm);color:var(--text-primary);white-space:pre-wrap;line-height:1.4}.wa-message-meta{float:right;margin-left:var(--space-2);align-items:center;gap:3px;margin-top:3px;display:inline-flex}.wa-message-time{color:var(--text-tertiary);font-size:11px}.wa-msg-status{color:var(--text-tertiary)}.wa-msg-status.read{color:var(--wa-blue)}.wa-input-area{align-items:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-card);border-top:1px solid var(--border-light);flex-shrink:0;display:flex}.wa-input-text{border:1px solid var(--border-light);border-radius:var(--radius-xl);font-size:var(--text-sm);resize:none;background:var(--gray-50);max-height:100px;transition:all var(--transition-fast);flex:1;padding:10px 14px;font-family:inherit;line-height:1.4}.wa-input-text:focus{border-color:var(--wa-green);background:var(--bg-card);outline:none;box-shadow:0 0 0 3px #25d3661a}.wa-send-btn{border-radius:var(--radius-full);background:var(--gray-300);color:#fff;cursor:pointer;width:42px;min-width:42px;height:42px;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex}.wa-send-btn.active{background:var(--wa-green);box-shadow:0 2px 8px #25d3664d}.wa-send-btn.active:hover{background:var(--wa-green-dark);transform:scale(1.05)}.wa-send-btn:disabled{cursor:not-allowed;opacity:.6}.wa-no-instance{padding:var(--space-8);flex:1;justify-content:center;align-items:center;display:flex}.wa-no-instance-content{text-align:center;max-width:420px}.wa-no-instance-icon{border-radius:var(--radius-full);width:120px;height:120px;margin:0 auto var(--space-5);color:var(--wa-green);background:linear-gradient(135deg,#25d3661a,#128c7e1a);justify-content:center;align-items:center;display:flex}.wa-no-instance-icon.disconnected{color:var(--danger);background:linear-gradient(135deg,#ef44441a,#dc26261a)}.wa-no-instance-content h3{font-size:var(--text-xl);margin-bottom:var(--space-2)}.wa-no-instance-content p{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-5);line-height:1.6}.wa-qr-container{padding:var(--space-4);border-radius:var(--radius-xl);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm);background:#fff;justify-content:center;display:flex}.wa-qr-image{border-radius:var(--radius-md);width:256px;height:256px}.wa-qr-instructions{text-align:left;background:var(--gray-50);border-radius:var(--radius-lg);padding:var(--space-4)}.wa-qr-instructions p{font-size:var(--text-sm);margin-bottom:var(--space-2);color:var(--text-primary)}.wa-qr-instructions ol{padding-left:var(--space-5);list-style:decimal}.wa-qr-instructions li{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-1);line-height:1.5}.wa-qr-success{padding:var(--space-6)}.wa-qr-success-icon{margin-bottom:var(--space-3);font-size:48px}.wa-qr-success h4{font-size:var(--text-lg);color:var(--success)}.wa-qr-success p{color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--space-2)}.wa-qr-loading{padding:var(--space-8);align-items:center;gap:var(--space-3);color:var(--text-tertiary);flex-direction:column;display:flex}.wa-config-page{padding:var(--space-4);max-width:800px}.wa-config-grid{gap:var(--space-4);flex-direction:column;display:flex}.wa-config-card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light)}.wa-config-card-header h3{font-size:var(--text-md);font-weight:var(--font-semibold)}.wa-config-card-body{padding:var(--space-5)}.wa-config-status{align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);display:flex}.wa-config-status-label{font-size:var(--text-base);font-weight:var(--font-semibold)}.wa-config-status-instance{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px}.wa-config-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.wa-config-info-row{padding:var(--space-2) 0;border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;display:flex}.wa-config-info-label{font-size:var(--text-sm);color:var(--text-secondary)}.wa-config-info-value{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.wa-agenda-nav{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--gray-50);border-bottom:1px solid var(--border-light);display:flex}.wa-agenda-nav-btn{border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-card);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.wa-agenda-nav-btn:hover{background:var(--primary-50);color:var(--primary-500);border-color:var(--primary-200)}.wa-agenda-date-btn{align-items:center;gap:var(--space-2);border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-light);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);text-transform:capitalize;transition:all var(--transition-fast);padding:6px 14px;display:flex}.wa-agenda-date-btn:hover{border-color:var(--primary-300)}.wa-agenda-slots{max-height:400px;padding:var(--space-2);overflow-y:auto}.wa-agenda-slot{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--gray-100);transition:background var(--transition-fast);display:flex}.wa-agenda-slot.available{background:var(--bg-card)}.wa-agenda-slot.available:hover{background:var(--success-bg)}.wa-agenda-slot.occupied{background:var(--gray-50)}.wa-agenda-slot-time{align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);min-width:70px;display:flex}.wa-agenda-slot-content{flex:1}.wa-agenda-slot-appointment{flex-direction:column;gap:1px;display:flex}.wa-agenda-slot-patient{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.wa-agenda-slot-proc{font-size:var(--text-xs);color:var(--text-tertiary)}.wa-agenda-slot-free{font-size:var(--text-sm);color:var(--success);font-weight:var(--font-medium)}.wa-agenda-slot-add{border-radius:var(--radius-md);background:var(--success);color:#fff;cursor:pointer;opacity:0;width:28px;height:28px;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex}.wa-agenda-slot:hover .wa-agenda-slot-add{opacity:1}.wa-agenda-slot-add:hover{background:var(--wa-green-dark);transform:scale(1.1)}.wa-agenda-new-form{padding:var(--space-4);background:var(--primary-50);border-top:2px solid var(--primary-300);animation:.2s ease-out fadeInUp}.wa-agenda-new-form h4{font-size:var(--text-base);margin-bottom:var(--space-3);color:var(--primary-700)}.wa-agenda-form-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.wa-agenda-form-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);display:flex}.wa-patient-tag{background:var(--primary-100);color:var(--primary-700);border-radius:var(--radius-sm);margin-left:var(--space-1);font-size:10px;font-weight:var(--font-bold);text-transform:uppercase;vertical-align:middle;padding:1px 5px}@media (width<=768px){.wa-chat-list{width:100%;max-width:none}.wa-layout{flex-direction:column}.wa-message-bubble{max-width:85%}.wa-agenda-form-grid{grid-template-columns:1fr}.wa-btn-agenda span{display:none}}.relatorios-page{animation:fadeIn var(--transition-base);gap:var(--space-6);flex-direction:column;display:flex}.relatorios-filters-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-sm);gap:var(--space-4);flex-direction:column;display:flex}.relatorios-filters-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);align-items:center;gap:var(--space-2);display:flex}.relatorios-filters-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:flex-end;display:grid}.relatorios-filter-group{gap:var(--space-2);flex-direction:column;display:flex}.relatorios-filter-label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary)}.relatorios-filter-actions{gap:var(--space-3);margin-top:var(--space-1);display:flex}.relatorios-stats-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.relatorios-stat-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-5);align-items:center;gap:var(--space-4);box-shadow:var(--shadow-sm);transition:transform var(--transition-base), box-shadow var(--transition-base);display:flex}.relatorios-stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-200);transform:translateY(-2px)}.relatorios-stat-icon{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.relatorios-stat-icon.primary{background:var(--primary-50);color:var(--primary-500)}.relatorios-stat-icon.success{background:var(--secondary-100);color:var(--secondary-600)}.relatorios-stat-icon.warning{background:var(--warning-bg);color:var(--warning)}.relatorios-stat-info{flex-direction:column;gap:2px;display:flex}.relatorios-stat-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.relatorios-stat-label{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.relatorios-stat-sublabel{font-size:var(--text-xs);color:var(--text-secondary);opacity:.8}.relatorios-dashboard-grid{gap:var(--space-6);grid-template-columns:2fr 1fr;display:grid}@media (width<=1024px){.relatorios-dashboard-grid{grid-template-columns:1fr}}.relatorios-charts-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(450px,1fr));display:grid}@media (width<=768px){.relatorios-charts-grid{grid-template-columns:1fr}}.chart-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-sm);gap:var(--space-4);flex-direction:column;min-height:380px;display:flex}.chart-header{justify-content:space-between;align-items:center;display:flex}.chart-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);align-items:center;gap:var(--space-2);display:flex}.chart-container{flex:1;width:100%;height:300px}.payment-methods-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-sm);gap:var(--space-4);flex-direction:column;display:flex}.payment-methods-list{gap:var(--space-4);flex-direction:column;justify-content:center;height:100%;display:flex}.payment-method-item{gap:var(--space-1);flex-direction:column;display:flex}.payment-method-info{font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.payment-method-name{font-weight:var(--font-semibold);color:var(--text-primary);align-items:center;gap:var(--space-2);display:flex}.payment-method-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.payment-method-value{font-weight:var(--font-bold);color:var(--text-primary)}.payment-method-percentage{font-size:var(--text-xs);color:var(--text-tertiary);margin-left:var(--space-1)}.payment-method-progress-bar{background:var(--gray-100);border-radius:var(--radius-full);height:8px;position:relative;overflow:hidden}.payment-method-progress-fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.transactions-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-sm);gap:var(--space-4);flex-direction:column;display:flex}.transactions-table-container{border-radius:var(--radius-lg);border:1px solid var(--border-light);overflow-x:auto}.transactions-table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--text-sm)}.transactions-table th{background:var(--gray-50);color:var(--text-secondary);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-light)}.transactions-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-light);color:var(--text-primary)}.transactions-table tr:last-child td{border-bottom:none}.transactions-table tr:hover td{background:var(--bg-hover)}.transactions-value{font-weight:var(--font-semibold)}.transactions-value.entrada{color:var(--secondary-600)}.transactions-value.saida{color:var(--danger)}.relatorios-loader{justify-content:center;align-items:center;gap:var(--space-4);min-height:400px;color:var(--text-secondary);font-size:var(--text-base);flex-direction:column;display:flex}
