.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#0c2340,#0f4c75 55%,#0891b2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-card{background:#fff;padding:48px 40px;border-radius:16px;box-shadow:0 24px 64px #0c234059;width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:32px}.login-header h1{color:#0c2340;font-size:36px;margin:0 0 8px;font-weight:800}.login-header .subtitle{color:#6b7280;font-size:14px;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group label{display:block;margin-bottom:8px;color:#374151;font-weight:500;font-size:14px}.form-group input{padding:12px;border:1.5px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s ease;font-family:inherit;color:#111827}.form-group input:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b226}.form-group input:disabled{background-color:#f3f4f6;cursor:not-allowed}.error-message{background-color:#fee2e2;border:1px solid #fca5a5;color:#b91c1c;padding:12px;border-radius:8px;font-size:13px;margin-top:-8px}.login-button{padding:13px;background:linear-gradient(135deg,#0f4c75,#0891b2);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s;margin-top:8px;letter-spacing:.3px}.login-button:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.login-button:disabled{opacity:.55;cursor:not-allowed}.login-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.login-footer p{color:#6b7280;font-size:14px;margin:0}.login-footer a{color:#0891b2;text-decoration:none;font-weight:600;transition:color .2s}.login-footer a:hover{color:#0f4c75}.register-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#0c2340,#0f4c75 55%,#0891b2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:20px}.register-card{background:#fff;padding:48px 40px;border-radius:16px;box-shadow:0 24px 64px #0c234059;width:100%;max-width:480px}.register-header{text-align:center;margin-bottom:32px}.register-header h1{color:#0c2340;font-size:36px;margin:0 0 8px;font-weight:800}.register-header .subtitle{color:#6b7280;font-size:14px;margin:0}.register-form{display:flex;flex-direction:column;gap:16px}.form-group label{display:block;margin-bottom:6px;color:#374151;font-weight:500;font-size:13px}.form-group input,.form-group select{padding:10px;border:1.5px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s ease;font-family:inherit;color:#111827}.form-group input:focus,.form-group select:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b226}.form-group input:disabled,.form-group select:disabled{background-color:#f3f4f6;cursor:not-allowed}.error-message{background-color:#fee2e2;border:1px solid #fca5a5;color:#b91c1c;padding:10px;border-radius:8px;font-size:13px}.register-button{padding:12px;background:linear-gradient(135deg,#0f4c75,#0891b2);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s;margin-top:8px;letter-spacing:.3px}.register-button:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.register-button:disabled{opacity:.55;cursor:not-allowed}.register-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.register-footer p{color:#6b7280;font-size:14px;margin:0}.register-footer a{color:#0891b2;text-decoration:none;font-weight:600;transition:color .2s}.register-footer a:hover{color:#0f4c75}@media (max-width: 480px){.register-card{padding:32px 24px}.register-header h1{font-size:28px}.form-group{gap:4px}}:root{--c-principal: #0f4c75;--c-acao: #0891b2;--c-acento: #06b6d4;--c-sidebar: #0c2340;--c-fundo: #f0f9ff;--c-acao-hover:#0e7490;--c-acao-light:#e0f2fe;--c-acao-border:#bae6fd}.dashboard-container{display:flex;flex-direction:column;min-height:100vh;padding-top:76px;background-color:var(--c-fundo);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dashboard-header{background:linear-gradient(135deg,var(--c-sidebar) 0%,var(--c-principal) 100%);padding:0 32px;height:76px;display:flex;align-items:center;box-shadow:0 2px 12px #0c234040;position:fixed;top:0;left:0;right:0;z-index:200}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;width:100%}.header-content h1{margin:0;color:#fff;font-size:22px;font-weight:800;letter-spacing:-.3px}.header-content small{color:#ffffffa6}.user-info{display:flex;align-items:center;gap:16px}.user-role{background:#ffffff26;border:1px solid rgba(255,255,255,.25);padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;color:#fff;letter-spacing:.3px;text-transform:uppercase}.logout-btn{padding:6px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.logout-btn:hover{background:#ffffff38}.dashboard-nav{background:#fff;display:flex;gap:0;border-bottom:2px solid var(--c-acao-border);overflow-x:auto;padding:0 32px;box-shadow:0 1px 4px #0891b20f}.nav-item{padding:14px 20px;background:transparent;border:none;cursor:pointer;color:#4b5563;font-size:13.5px;font-weight:500;border-bottom:2.5px solid transparent;transition:all .2s;white-space:nowrap}.nav-item:hover{color:var(--c-acao);background:var(--c-acao-light)}.nav-item.active{color:var(--c-acao);border-bottom-color:var(--c-acao);font-weight:700}.dashboard-content{flex:1;padding:32px;max-width:1400px;margin:0 auto;width:100%}.error-banner{background:#fee;border:1px solid #fca5a5;color:#b91c1c;padding:12px 16px;border-radius:8px;margin-bottom:20px}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px;color:#6b7280;font-size:15px}.dashboard-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.stat-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0891b212;border:1px solid var(--c-acao-border);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0891b224}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.stat-header h3{margin:0;color:#6b7280;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px}.stat-icon{font-size:22px}.stat-value{margin:0;color:var(--c-principal);font-size:34px;font-weight:800}.data-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0891b212;border:1px solid var(--c-acao-border)}.data-section h2{margin:0 0 20px;color:var(--c-principal);font-size:18px}.empty-state{text-align:center;padding:40px 20px;color:#9ca3af;font-size:14px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table thead{background:var(--c-acao-light);border-bottom:2px solid var(--c-acao-border)}.data-table th{padding:11px 12px;text-align:left;color:var(--c-principal);font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.data-table td{padding:11px 12px;border-bottom:1px solid #e0f2fe;color:#374151}.data-table tr:hover{background:#f0f9ff}.status{display:inline-block;padding:3px 11px;border-radius:20px;font-size:11px;font-weight:700}.status.ATIVO,.status.ACEITA,.status.AGENDADA{background:#dcfce7;color:#15803d}.status.INATIVO,.status.RECUSADA,.status.SUSPENSO{background:#fee2e2;color:#b91c1c}.status.PENDENTE{background:#fef3c7;color:#92400e}.status.ENCAMINHADA{background:var(--c-acao-light);color:var(--c-principal)}.dashboard-with-sidebar{display:flex;flex:1}.dashboard-sidebar{width:230px;min-width:230px;background:#0c2340;border-right:none;display:flex;flex-direction:column;padding:8px 0;position:sticky;top:76px;height:calc(100vh - 120px);overflow-y:auto}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:11px 16px;background:transparent;border:none;border-left:3px solid transparent;border-radius:0 6px 6px 0;cursor:pointer;color:#cbd5e1;font-size:13.5px;font-weight:500;text-align:left;width:100%;transition:all .15s;white-space:nowrap}.sidebar-nav-item:hover{background:#ffffff12;color:#f1f5f9}.sidebar-nav-item.active{background:#0891b233;color:#67e8f9;font-weight:700;border-left-color:#06b6d4}.sidebar-badge{margin-left:auto;background:#ef4444;color:#fff;border-radius:12px;padding:1px 7px;font-size:11px;font-weight:700}.dashboard-sidebar-content{flex:1;padding:24px 24px 60px;min-width:0}.dashboard-footer{background:linear-gradient(135deg,var(--c-sidebar) 0%,var(--c-principal) 100%);color:#ffffffa6;padding:12px 32px;font-size:12px;position:fixed;bottom:0;left:0;right:0;z-index:50;height:44px;box-sizing:border-box}.footer-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:8px}.footer-name{font-weight:800;font-size:13px;color:#ffffffd9;letter-spacing:.3px}.footer-subtitle{font-size:11px;color:#ffffff8c}.footer-meta{display:flex;align-items:center;gap:8px;font-size:11px}.footer-sep{opacity:.4}@media (max-width: 768px){.dashboard-header{padding:0 16px}.header-content{flex-direction:row;gap:12px}.user-info{gap:10px}.dashboard-nav{padding:0;overflow-x:auto}.dashboard-content{padding:16px}.dashboard-overview{grid-template-columns:1fr}.data-table{font-size:12px}.data-table th,.data-table td{padding:8px}}.form-container{padding:32px;max-width:800px;margin:0 auto}.form-card{background:#fff;padding:32px;border-radius:8px;box-shadow:0 2px 8px #0000000f}.form-card h2{margin:0 0 8px;color:#333;font-size:24px}.form-description{color:#666;font-size:14px;margin:0 0 24px}.form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500;font-size:14px}.form-group input,.form-group select,.form-group textarea{padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;padding:12px;border-radius:6px;font-size:14px}.success-message{background-color:#efe;border:1px solid #cfc;color:#3c3;padding:12px;border-radius:6px;font-size:14px}.submit-button{padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .3s;align-self:flex-start}.submit-button:hover:not(:disabled){opacity:.9}.submit-button:disabled{opacity:.6;cursor:not-allowed}.back-btn{padding:6px 14px;background:#fff;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:13px;transition:all .2s;white-space:nowrap}.back-btn:hover{border-color:#667eea;color:#667eea}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding:12px;border:1px solid #ddd;border-radius:6px;background:#fafafa}.checkbox-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#333;cursor:pointer;padding:4px 0}.checkbox-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#667eea}@media (max-width: 768px){.form-container{padding:16px}.form-card{padding:20px}.form-row{grid-template-columns:1fr}.form-card h2{font-size:20px}.submit-button{width:100%;align-self:auto}}#root{display:flex;flex-direction:column;min-height:100vh}.app{flex:1}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{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:#f0f9ff;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{-webkit-tap-highlight-color:transparent;touch-action:manipulation}input,select,textarea{touch-action:auto}@media (max-width: 768px){input:not([type=range]),select,textarea{font-size:16px!important}}.admin-sidebar{transition:transform .28s cubic-bezier(.4,0,.2,1)}.admin-hamburger{display:none;align-items:center;justify-content:center;width:38px;height:38px;background:#f0f2ff;border:1px solid #c7d2fe;border-radius:8px;cursor:pointer;font-size:20px;color:#1e1b4b;flex-shrink:0;line-height:1}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:98;cursor:pointer}@media (max-width: 768px){.admin-sidebar{transform:translate(-100%);z-index:1000!important}.admin-sidebar.sidebar-open{transform:translate(0);box-shadow:6px 0 28px #0006}.admin-main{margin-left:0!important}.admin-hamburger{display:flex}.sidebar-overlay.sidebar-open{display:block}.admin-topbar-right{display:none!important}.admin-topbar{padding:10px 14px!important}.admin-content-pad{padding:14px!important}.admin-alerts-pad{padding:0 14px!important}}.gestor-sidebar{transition:transform .28s cubic-bezier(.4,0,.2,1);flex-shrink:0}.gestor-sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:299;cursor:pointer}.gestor-sidebar-btn{display:none}@media (max-width: 768px){.gestor-sidebar{position:fixed!important;top:0;left:0;bottom:0;z-index:300!important;transform:translate(-100%);min-height:100vh!important}.gestor-sidebar.sidebar-open{transform:translate(0);box-shadow:4px 0 24px #00000059}.gestor-sidebar-overlay.sidebar-open{display:block}.gestor-sidebar-btn{display:flex!important}.gestor-content{padding:14px!important}}.consulta-patient-sidebar{transition:transform .25s ease}.consulta-patient-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:3400;cursor:pointer}.consulta-patient-toggle{display:none!important}.consulta-tabs-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.consulta-tabs-bar::-webkit-scrollbar{display:none}@media (max-width: 768px){.consulta-patient-sidebar{position:fixed!important;top:0!important;left:0!important;bottom:0!important;z-index:3500!important;transform:translate(-100%);width:280px!important}.consulta-patient-sidebar.sidebar-open{transform:translate(0);box-shadow:4px 0 20px #0000004d}.consulta-patient-overlay.sidebar-open{display:block}.consulta-patient-toggle{display:flex!important;align-items:center;gap:4px;padding:5px 10px;background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;white-space:nowrap}.consulta-topbar-title{display:none!important}.consulta-tabs-bar button{padding:10px 12px!important;font-size:12px!important}}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:700px}.supervisao-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.supervisao-table-scroll table{min-width:1000px}.dashboard-nav::-webkit-scrollbar{display:none}.dashboard-nav{scrollbar-width:none}@media (max-width: 768px){button{min-height:38px}}@media (max-width: 640px){.resp-card{padding:14px!important}}body[data-mobile-gestor] .data-section{overflow-x:auto!important;-webkit-overflow-scrolling:touch;padding:14px!important}body[data-mobile-gestor] .data-table{min-width:560px}body[data-mobile-gestor] .data-table th,body[data-mobile-gestor] .data-table td{padding:9px 10px!important;font-size:12px!important;white-space:nowrap}body[data-mobile-gestor] .table-scroll,body[data-mobile-gestor] .supervisao-table-scroll{-webkit-overflow-scrolling:touch}body[data-mobile-gestor] .dashboard-overview{grid-template-columns:1fr 1fr!important;gap:12px!important}body[data-mobile-gestor] .stat-card{padding:16px!important}body[data-mobile-gestor] .stat-value{font-size:26px!important}body[data-mobile-gestor] form,body[data-mobile-gestor] .form-grid,body[data-mobile-gestor] [class*=form]{max-width:100%!important;overflow-x:hidden}body[data-mobile-gestor] input:not([type=checkbox]):not([type=radio]),body[data-mobile-gestor] select,body[data-mobile-gestor] textarea{width:100%!important;box-sizing:border-box}body[data-mobile-gestor] .dashboard-sidebar-content{padding:14px!important}body[data-mobile-gestor] .section-header,body[data-mobile-gestor] [class*=header-row],body[data-mobile-gestor] [class*=title-row]{flex-wrap:wrap!important;gap:8px!important}body[data-mobile-gestor] .data-table button,body[data-mobile-gestor] .data-table a{padding:4px 8px!important;font-size:11px!important;min-height:30px!important}body[data-mobile-gestor] [style*="overflow: hidden"]{overflow-x:auto!important}body[data-mobile-gestor]>*{max-width:100vw;overflow-x:hidden}body[data-mobile-gestor] .demanda-card,body[data-mobile-gestor] [class*=-card]{padding:12px!important}body[data-mobile-gestor] .status{white-space:nowrap}@supports (padding-bottom: env(safe-area-inset-bottom)){.dashboard-nav{padding-bottom:env(safe-area-inset-bottom)}.admin-sidebar nav,.gestor-sidebar>div:last-child{padding-bottom:calc(env(safe-area-inset-bottom) + 8px)}}
