:root{--primary-green:#00843d;--primary-green-dark:#00602b;--secondary-blue:#0065a4;--background-color:#f3f4f6;--surface-color:#fff;--text-primary:#1f2937;--text-secondary:#4b5563;--border-color:#e5e7eb;--danger-color:#ef4444;--success-color:#10b981;--warning-color:#f59e0b}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600}a{color:var(--primary-green);text-decoration:none}a:hover{text-decoration:underline}.btn{cursor:pointer;border:1px solid #0000;border-radius:.375rem;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.btn-primary{background-color:var(--primary-green);color:#fff}.btn-primary:hover{background-color:var(--primary-green-dark)}.btn-secondary{color:var(--text-primary);border-color:var(--border-color);background-color:#fff}.btn-secondary:hover{background-color:var(--background-color)}.input-field{border:1px solid var(--border-color);width:100%;color:var(--text-primary);background-color:#fff;border-radius:.375rem;padding:.5rem .75rem;transition:border-color .2s}.input-field:focus{border-color:var(--primary-green);outline:none;box-shadow:0 0 0 2px #00843d33}.card{background-color:var(--surface-color);border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.login-container{background:linear-gradient(135deg, var(--primary-green) 0%, var(--secondary-blue) 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{background:var(--surface-color);border-radius:1rem;width:100%;max-width:400px;padding:2.5rem 2rem;animation:.5s ease-out slideUp;box-shadow:0 10px 25px #0003}.login-header{text-align:center;margin-bottom:2rem}.logo-icon{background-color:var(--primary-green);border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:1rem;display:inline-flex;box-shadow:0 4px 10px #00843d4d}.login-header h1{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem}.login-header p{color:var(--text-secondary);font-size:.875rem}.login-form .form-group{margin-bottom:1.5rem}.login-form label{color:var(--text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.login-btn{width:100%;margin-top:1rem;padding:.75rem;font-size:1rem}.login-footer{text-align:center;margin-top:1.5rem;font-size:.875rem}.test-accounts{background-color:var(--background-color);color:var(--text-secondary);border-radius:.5rem;margin-top:2rem;padding:1rem;font-size:.8rem}.test-accounts ul{margin-top:.5rem;list-style:none}.test-accounts li{margin-bottom:.25rem}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.layout-container{background-color:var(--background-color);height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--surface-color);border-right:1px solid var(--border-color);z-index:10;flex-direction:column;width:260px;transition:all .3s;display:flex}.sidebar-header{border-bottom:1px solid var(--border-color);align-items:center;gap:1rem;padding:1.5rem;display:flex}.sidebar-logo{background-color:#00843d1a;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.sidebar-header h2{color:var(--primary-green-dark);margin:0;font-size:1.25rem}.sidebar-nav{flex:1;padding:1.5rem 1rem;overflow-y:auto}.sidebar-nav ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.nav-item{color:var(--text-secondary);border-radius:.5rem;align-items:center;gap:1rem;padding:.75rem 1rem;font-weight:500;transition:all .2s;display:flex}.nav-item:hover{background-color:var(--background-color);color:var(--primary-green);text-decoration:none}.nav-item.active{color:var(--primary-green);background-color:#00843d1a;position:relative}.nav-item.active:before{content:"";background-color:var(--primary-green);border-radius:0 4px 4px 0;width:4px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-icon{justify-content:center;align-items:center;display:flex}.sidebar-footer{border-top:1px solid var(--border-color);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.user-info{align-items:center;gap:1rem;display:flex}.user-avatar{background-color:var(--primary-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.user-details{flex-direction:column;display:flex}.user-details strong{color:var(--text-primary);font-size:.875rem}.user-details span{color:var(--text-secondary);font-size:.75rem}.logout-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.5rem;font-weight:500;transition:all .2s;display:flex}.logout-btn:hover{color:var(--danger-color);background-color:#fee2e2;border-color:#fecaca}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.top-header{background-color:var(--surface-color);border-bottom:1px solid var(--border-color);z-index:5;justify-content:space-between;align-items:center;height:70px;padding:0 2rem;display:flex;box-shadow:0 1px 3px #0000000d}.top-header h1{margin:0;font-size:1.25rem}.system-status{color:var(--text-secondary);background-color:var(--background-color);border-radius:1rem;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.875rem;display:flex}.status-dot{background-color:#9ca3af;border-radius:50%;width:8px;height:8px}.status-dot.online{background-color:var(--success-color);box-shadow:0 0 0 2px #10b98133}.status-dot.offline{background-color:var(--danger-color)}@media (width<=768px){.layout-container{flex-direction:column}.sidebar{z-index:1000;border-right:none;border-top:1px solid var(--border-color);flex-direction:row;justify-content:space-around;align-items:center;width:100%;height:auto;padding:.5rem;display:flex;position:fixed;bottom:0;left:0}.sidebar-header,.nav-divider,.sidebar-footer .user-info{display:none}.sidebar-nav{flex:1;justify-content:center;margin:0;display:flex}.sidebar-nav ul{flex-direction:row;justify-content:space-around;gap:0;width:100%;display:flex}.sidebar-nav li{flex:1;margin:0}.nav-item{text-align:center;border-radius:.25rem;flex-direction:column;gap:.2rem;padding:.25rem;font-size:.65rem}.nav-icon{margin-right:0}.nav-icon svg{width:20px;height:20px}.sidebar-footer{border-top:none;margin-left:.5rem;padding:0}.logout-btn{border-radius:50%;justify-content:center;width:40px;height:40px;padding:.5rem;font-size:0}.logout-btn svg{margin-right:0}.main-content{padding-bottom:70px}.top-header h1{font-size:1.25rem}}.content-area{flex:1;padding:2rem;overflow-y:auto}.module-container{flex-direction:column;gap:1.5rem;display:flex}.module-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.module-header h2{margin:0;font-size:1.5rem}.grid-2col,.grid-3col{gap:1.5rem;display:grid}.grid-2col{grid-template-columns:repeat(2,1fr)}.grid-3col{grid-template-columns:repeat(3,1fr)}@media (width<=768px){.grid-2col,.grid-3col{grid-template-columns:1fr}}@media (width<=1024px){.grid-2col,.grid-3col{grid-template-columns:1fr}}.table-container{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;min-width:600px}.data-table th,.data-table td{border-bottom:1px solid var(--border-color);padding:1rem}.data-table th{background-color:var(--background-color);color:var(--text-secondary);font-size:.875rem;font-weight:600}.data-table tr:hover{background-color:#00000003}.data-table .active-row{background-color:#10b9810d}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.status-badge{border-radius:1rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.waiting,.status-badge.aguardando{color:#d97706;background-color:#fef3c7}.status-badge.attending,.status-badge.em-atendimento{color:#fff;background-color:#3b82f6}.status-badge.confirmado,.status-badge.normal{color:#059669;background-color:#d1fae5}.status-badge.chegou{color:#fff;background-color:#10b981}.status-badge.faltou{color:#fff;background-color:#f59e0b}.status-badge.cancelado{color:#fff;background-color:#ef4444}.status-badge.marcado{color:#475569;background-color:#e2e8f0}.status-badge.finalizado{color:#fff;background-color:#64748b}.status-badge.baixo{color:#d97706;background-color:#fef3c7}.status-badge.crítico{color:#dc2626;background-color:#fee2e2}.tv-display{background-color:var(--text-primary);color:#fff;text-align:center;border-radius:.5rem;margin-bottom:1.5rem;padding:2rem}.tv-senha h1{color:var(--primary-green);margin:.5rem 0 1.5rem;font-size:4rem}.tv-guiche h2{color:#fff;margin:.5rem 0 0;font-size:2.5rem}.tv-history{background-color:var(--background-color);border-radius:.5rem;padding:1rem}.history-list{gap:1rem;margin-top:.5rem;display:flex}.history-item{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:.25rem;padding:.5rem 1rem;font-weight:500}.actions-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.action-btn{flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;display:flex}.call-next{grid-column:span 2;font-size:1.1rem}.stat-card{background-color:var(--surface-color);border-radius:.5rem;align-items:center;gap:1.5rem;padding:1.5rem;display:flex;box-shadow:0 1px 3px #0000001a}.stat-icon{border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.bg-green{background-color:var(--success-color)}.bg-warning{background-color:var(--warning-color)}.bg-danger{background-color:var(--danger-color)}.stat-info h3{color:var(--text-secondary);margin:0 0 .25rem;font-size:.875rem}.stat-info h2{margin:0;font-size:1.5rem}.filters-bar{gap:1rem;display:flex}.side-panel-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1050;opacity:1;background-color:#0006;justify-content:flex-end;display:flex;position:fixed;inset:0}.side-panel{background-color:#fff;flex-direction:column;width:480px;height:100vh;animation:.3s forwards slideInRight;display:flex;position:relative;box-shadow:-5px 0 25px #0000001a}.side-panel-header{background-color:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.side-panel-header h3{color:#0f172a;margin:0;font-size:1.25rem}.side-panel-content{flex:1;padding:1.5rem;overflow-y:auto}.side-panel-footer{background-color:#f8fafc;border-top:1px solid #e2e8f0;justify-content:space-between;padding:1.5rem;display:flex}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.finance-action-box{background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.finance-input{text-align:center;color:#1e293b;background-color:#fff;border:2px solid #cbd5e1;border-radius:8px;width:100%;margin-bottom:1rem;padding:.5rem;font-size:2.5rem;font-weight:700}.finance-input:focus{border-color:#3b82f6;outline:none}.finance-buttons{gap:1rem;display:flex}.btn-finance-add{color:#fff;cursor:pointer;background-color:#10b981;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:1.1rem;font-weight:700;transition:transform .1s;display:flex}.btn-finance-add:active{transform:scale(.95)}.btn-finance-sub{color:#fff;cursor:pointer;background-color:#f97316;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:1.1rem;font-weight:700;transition:transform .1s;display:flex}.btn-finance-sub:active{transform:scale(.95)}.table-row-clickable{cursor:pointer;transition:background-color .2s}.table-row-clickable:hover{background-color:#f8fafc}.charts-grid{grid-template-columns:2fr 1.2fr;gap:1.5rem;margin-top:1.5rem;display:grid}.chart-card{background-color:var(--surface-color);border-radius:.5rem;flex-direction:column;padding:1.5rem;display:flex;box-shadow:0 1px 3px #0000001a}.chart-card h3{color:var(--text-secondary);margin-top:0;margin-bottom:1.5rem;font-size:1.1rem}@media (width<=1024px){.charts-grid{grid-template-columns:1fr}}.prontuario-container{flex-direction:column;gap:1.5rem;display:flex}.search-card{border-left:4px solid var(--primary-green)}.search-header{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.search-header h2{margin:0;font-size:1.25rem}.search-form{gap:1rem;display:flex}.search-form .input-field{flex:1;max-width:500px}.error-message{color:var(--danger-color);background-color:#fee2e2;border-radius:.5rem;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;display:flex}.patient-dashboard{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=1024px){.patient-dashboard{grid-template-columns:1fr}}.card-header{border-bottom:1px solid var(--border-color);align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.card-header h3{margin:0;font-size:1.1rem}.badge{border-radius:1rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge.success{color:var(--success-color);background-color:#10b9811a}.info-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:1.5rem;display:grid}.info-item label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;display:block}.info-item p{color:var(--text-primary);margin:0;font-size:.95rem}.blood-type{color:var(--danger-color);background-color:#fee2e2;border-radius:.25rem;padding:.2rem .5rem;font-weight:700;display:inline-block}.allergies-section{border-top:1px dashed var(--border-color);padding-top:1rem}.allergies-section label{color:var(--danger-color);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.allergy-tags{flex-wrap:wrap;gap:.5rem;display:flex}.allergy-tag{background-color:var(--warning-color);color:#fff;border-radius:1rem;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.timeline{padding-left:2rem;position:relative}.timeline:before{content:"";background-color:var(--border-color);width:2px;position:absolute;top:0;bottom:0;left:0}.timeline-item{margin-bottom:1.5rem;position:relative}.timeline-item:before{content:"";background-color:var(--primary-green);border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:.25rem;left:-2.35rem}.timeline-date{color:var(--text-secondary);margin-bottom:.25rem;font-size:.8rem;font-weight:600}.timeline-content h4{margin:0 0 .25rem;font-size:1rem}.unit-name{color:var(--text-secondary);margin:0 0 .5rem;font-size:.85rem}.diagnosis{background-color:var(--background-color);border-radius:.25rem;margin:0;padding:.5rem;font-size:.9rem}.btn-sm{padding:.25rem .75rem;font-size:.8rem}
