.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0e27,#1a1f3a);padding:20px}.login-content{width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center;gap:40px}.logo-container{width:100%;display:flex;justify-content:center;margin-bottom:20px}.logo{max-width:300px;height:auto}.login-title{font-size:32px;font-weight:700;color:#fff;text-align:center;text-transform:uppercase;letter-spacing:2px;margin:0}.input-container{width:100%;display:flex;flex-direction:column;gap:12px}.input-label{font-size:18px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:1px}.input-field{width:100%;padding:20px;font-size:24px;text-align:center;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;outline:none;transition:all .3s ease}.input-field:focus{border-color:#667eea;background:#ffffff26;box-shadow:0 0 0 4px #667eea33}.input-field::placeholder{color:#ffffff80}.login-button{width:100%;padding:20px;font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:2px;background:#667eea;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea66}.login-button:hover:not(:disabled){background:#5568d3;transform:translateY(-2px);box-shadow:0 6px 16px #667eea80}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner{display:inline-block;animation:pulse 1.5s ease-in-out infinite}@media (max-width: 768px){.login-title{font-size:24px}.input-field,.login-button{font-size:20px;padding:16px}}.options-container{min-height:100vh;background:linear-gradient(135deg,#0a0e27,#1a1f3a);padding:20px;position:relative}.sair-button{position:absolute;top:20px;right:20px;padding:12px 24px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease}.sair-button:hover{background:#dc2626;transform:translateY(-2px)}.options-content{max-width:800px;margin:0 auto;padding-top:80px;display:flex;flex-direction:column;align-items:center;gap:30px}.logo-container{width:100%;display:flex;justify-content:center}.logo{max-width:250px;height:auto}.patient-name{font-size:24px;color:#fff;margin:0;font-weight:600}.options-title{font-size:28px;color:#fff;text-align:center;text-transform:uppercase;letter-spacing:2px;margin:0}.options-buttons{width:100%;display:flex;flex-direction:column;gap:30px}.option-button{width:100%;min-height:120px;padding:30px;border:none;border-radius:16px;font-size:22px;font-weight:700;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 12px #0000004d}.option-primary{background:#667eea}.option-primary:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 6px 16px #667eea80}.option-secondary{background:#10b981}.option-secondary:hover{background:#059669;transform:translateY(-2px)}.option-loading{background:#ffffff1a;cursor:not-allowed}.option-disabled{background:#f59e0b;cursor:not-allowed}.option-icon{font-size:48px}.option-text{text-transform:uppercase;letter-spacing:1px}.message-text{text-align:center;font-size:18px;line-height:1.5}.agendamentos-container{width:100%;padding:20px;background:#ffffff1a;border-radius:12px;border:1px solid rgba(255,255,255,.2)}.agendamentos-title{font-size:20px;color:#fff;font-weight:700;margin-bottom:15px;text-align:center}.agendamento-card{background:#ffffff0d;border-radius:8px;padding:15px;margin-bottom:10px;border:1px solid rgba(255,255,255,.1)}.agendamento-text{font-size:16px;color:#fff;margin-bottom:8px;line-height:1.5}.agendamento-text strong{font-weight:700}.loading-spinner{animation:pulse 1.5s ease-in-out infinite}.atualizar-dados-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.back-button{align-self:flex-start;background:#fff;border:2px solid #667eea;color:#667eea;padding:10px 20px;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;margin-bottom:20px;transition:all .3s}.back-button:hover{background:#667eea;color:#fff}.atualizar-dados-content{background:#fff;border-radius:20px;padding:30px;max-width:600px;width:100%;box-shadow:0 10px 40px #0003}.atualizar-dados-title{font-size:28px;font-weight:700;color:#0a0e27;margin-bottom:8px;text-align:center}.atualizar-dados-subtitle{font-size:14px;color:#666;text-align:center;margin-bottom:30px}.form-container{margin-bottom:30px}.input-group{margin-bottom:20px}.input-label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.input-field{width:100%;background:#f5f5f5;border-radius:10px;padding:14px;font-size:16px;color:#333;border:1px solid #ddd;box-sizing:border-box;transition:border-color .3s}.input-field:focus{outline:none;border-color:#667eea;background:#fff}.input-field:disabled{opacity:.6;cursor:not-allowed}.input-field-button{text-align:left;cursor:pointer;background:#f5f5f5;color:#333}.input-field-button:hover:not(:disabled){background:#e0e0e0}.save-button{width:100%;background:#667eea;border:none;border-radius:10px;padding:16px;font-size:18px;font-weight:700;color:#fff;cursor:pointer;transition:all .3s;box-shadow:0 2px 10px #667eea4d}.save-button:hover:not(:disabled){background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.save-button:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000}.modal-content{background:#fff;border-top-left-radius:20px;border-top-right-radius:20px;padding:20px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column}.modal-title{font-size:18px;font-weight:700;color:#0a0e27;margin-bottom:16px}.modal-search{background:#f5f5f5;border-radius:10px;padding:12px;font-size:16px;margin-bottom:16px;border:1px solid #ddd;width:100%;box-sizing:border-box}.modal-search:focus{outline:none;border-color:#667eea;background:#fff}.modal-loading{text-align:center;padding:20px;color:#666}.modal-list{flex:1;overflow-y:auto;margin-bottom:16px}.modal-item{width:100%;padding:16px;border-bottom:1px solid #eee;background:none;border-left:none;border-right:none;border-top:none;text-align:left;cursor:pointer;font-size:16px;color:#333;transition:background .2s}.modal-item:hover{background:#f5f5f5}.modal-empty{text-align:center;color:#999;padding:20px}.modal-close-button{background:#667eea;border:none;border-radius:10px;padding:14px;font-size:16px;font-weight:700;color:#fff;cursor:pointer;margin-top:16px}.modal-close-button:hover{background:#5568d3}@media (max-width: 768px){.atualizar-dados-content{padding:20px}.atualizar-dados-title{font-size:24px}}.retirar-senha-container{min-height:100vh;background:linear-gradient(135deg,#0a0e27,#1a1f3a);padding:20px}.header-title{font-size:32px;color:#fff;text-align:center;text-transform:uppercase;letter-spacing:2px;margin-bottom:30px;padding:20px;background:#ffffff1a;border-radius:12px}.content{max-width:1400px;margin:0 auto}.setor-button{width:100%;padding:15px;background:#667eea;color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:600;margin-bottom:20px;cursor:pointer;transition:all .3s ease}.setor-button:hover{background:#5568d3}.loading-container{display:flex;justify-content:center;align-items:center;padding:40px}.loading-spinner{color:#fff;font-size:18px;animation:pulse 1.5s ease-in-out infinite}.grupos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.grupo-card{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;text-align:left}.grupo-card:hover{background:#ffffff26;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.grupo-title{font-size:20px;font-weight:700;color:#fff;margin-bottom:8px}.grupo-subtitle{font-size:16px;color:#fffc;line-height:1.5}.empty-container{display:flex;justify-content:center;align-items:center;padding:40px;color:#fff;font-size:18px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#1a1f3a;border-radius:16px;padding:24px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;border:2px solid rgba(255,255,255,.2)}.modal-title{font-size:24px;font-weight:700;color:#fff;margin-bottom:16px;text-align:center}.modal-subtitle{font-size:18px;color:#fff;margin-bottom:12px;text-align:center}.modal-text{font-size:16px;color:#fffc;margin-bottom:24px;text-align:center}.setores-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;max-height:400px;overflow-y:auto}.setor-item{padding:16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:18px;cursor:pointer;transition:all .3s ease}.setor-item:hover{background:#ffffff26}.modal-buttons-row{display:flex;gap:12px;margin-top:20px}.modal-button{flex:1;padding:16px;border-radius:12px;font-size:18px;font-weight:700;color:#fff;border:none;cursor:pointer;transition:all .3s ease}.modal-button-no{background:#ef4444}.modal-button-no:hover{background:#dc2626}.modal-button-yes{background:#10b981}.modal-button-yes:hover{background:#059669}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.marcar-consulta-container{min-height:100vh;background:linear-gradient(135deg,#0a0e27,#1a1f3a);padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px}.page-title{font-size:32px;color:#fff;text-align:center;text-transform:uppercase;letter-spacing:2px}.info-message{background:#ffffff1a;border-radius:12px;padding:30px;text-align:center;color:#fff;font-size:18px;line-height:1.8}.back-button{padding:16px 32px;background:#667eea;color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s ease}.back-button:hover{background:#5568d3;transform:translateY(-2px)}.success-container{min-height:100vh;background:linear-gradient(135deg,#0a0e27,#1a1f3a);display:flex;align-items:center;justify-content:center;padding:20px}.success-content{background:#ffffff1a;border-radius:16px;padding:40px;text-align:center;max-width:500px;width:100%;border:2px solid rgba(255,255,255,.2)}.success-icon{font-size:64px;margin-bottom:20px}.success-title{font-size:32px;color:#fff;margin-bottom:20px;text-transform:uppercase;letter-spacing:2px}.success-message{font-size:18px;color:#ffffffe6;margin-bottom:30px;line-height:1.6}.senha-display{background:#ffffff1a;border-radius:12px;padding:20px;margin-bottom:30px}.senha-label{font-size:16px;color:#fffc;margin-bottom:10px}.senha-value{font-size:36px;font-weight:700;color:#667eea;letter-spacing:2px}.success-button{width:100%;padding:20px;background:#667eea;color:#fff;border:none;border-radius:12px;font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea66}.success-button:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 6px 16px #667eea80}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #0a0e27;--color-secondary: #1e3a8a;--color-success: #10b981;--color-error: #ef4444;--color-warning: #f59e0b;--color-text: #1f2937;--color-text-secondary: #6b7280;--color-background: #f9fafb;--color-background-card: #ffffff;--color-border: #e5e7eb}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:var(--color-background);color:var(--color-text);overflow-x:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#root{min-height:100vh;width:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}button{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}*{transition:background-color .2s ease,color .2s ease,border-color .2s ease}
