/* --- Shared Review Styles --- */
.star-rating input { display: none; }
.star-rating label { cursor: pointer; color: #cbd5e1; transition: color 0.2s; }
.star-rating input:checked~label { color: #F59E0B; }
.star-rating label:hover, .star-rating label:hover~label { color: #fbbf24; }
.score-button.active { background-color: #1A365D; color: white; transform: scale(1.1); box-shadow: 0 10px 15px -3px rgba(26, 54, 93, 0.3); }

.step-container { display: none; }
.step-container.active { display: block; animation: slideUp 0.5s ease-out forwards; }

@keyframes slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.animate-slide-up { animation: slideUp 0.5s ease-out forwards; }

@keyframes popStar { 0% { transform: scale(1); } 50% { transform: scale(1.3); } 100% { transform: scale(1); } }
.star-pop { animation: popStar 0.3s ease-out; }

/* Custom Dropdown Styles */
.dropdown-container { position: relative; width: 100%; }
.dropdown-menu { position: absolute; top: 100%; left: 0; right: 0; z-index: 100; background: white; border: 1px solid #e2e8f0; border-radius: 1rem; margin-top: 0.5rem; box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1); max-height: 250px; overflow-y: auto; display: none; scrollbar-width: thin; scrollbar-color: #0D9488 #f1f5f9; }
.dropdown-menu::-webkit-scrollbar { width: 6px; }
.dropdown-menu::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 10px; }
.dropdown-menu::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
.dropdown-menu::-webkit-scrollbar-thumb:hover { background: #0D9488; }
.dropdown-menu.show { display: block; animation: dropdownFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
@keyframes dropdownFadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
.dropdown-item { padding: 0.85rem 1.25rem; cursor: pointer; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); font-weight: 500; color: #475569; display: flex; align-items: center; gap: 0.75rem; border-left: 3px solid transparent; }
.dropdown-item:hover { background: linear-gradient(to right, #f0fdfa, #ffffff); color: #0D9488; padding-left: 1.5rem; border-left-color: #0D9488; }
.dropdown-item.selected { background-color: #f0fdfa; color: #0D9488; font-weight: 700; border-left-color: #0D9488; }
.dropdown-search-wrapper { position: sticky; top: 0; background: white; padding: 0.75rem; border-bottom: 1px solid #f1f5f9; z-index: 10; }
.dropdown-search { width: 100%; padding: 0.5rem 0.75rem; border: 1px solid #e2e8f0; border-radius: 0.75rem; font-size: 0.875rem; outline: none; transition: all 0.2s; }
.dropdown-search:focus { border-color: #0D9488; box-shadow: 0 0 0 2px rgba(13, 148, 136, 0.1); }

/* Motivation Popup */
#motivationPopup { display: none; position: fixed; inset: 0; z-index: 200; align-items: center; justify-content: center; padding: 1.5rem; backdrop-filter: blur(12px); background: rgba(15, 23, 42, 0.6); opacity: 0; transition: opacity 0.4s ease-out; }
#motivationPopup.show { display: flex; opacity: 1; }
.popup-content { background: linear-gradient(to bottom right, #ffffff, #f8fafc); max-width: 440px; width: 100%; border-radius: 2rem; padding: 2.5rem 2rem; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.5) inset; transform: scale(0.95) translateY(20px); transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); position: relative; overflow: hidden; text-align: center; }
#motivationPopup.show .popup-content { transform: scale(1) translateY(0); }
.popup-blob-1, .popup-blob-2 { position: absolute; filter: blur(40px); opacity: 0.6; z-index: 0; border-radius: 50%; pointer-events: none; }
.popup-blob-1 { top: -20px; right: -20px; width: 150px; height: 150px; background: rgba(13, 148, 136, 0.3); animation: pulse-blob 4s infinite alternate; }
.popup-blob-2 { bottom: -30px; left: -30px; width: 120px; height: 120px; background: rgba(245, 158, 11, 0.2); animation: pulse-blob 5s infinite alternate-reverse; }
@keyframes pulse-blob { 0% { transform: scale(1) translate(0, 0); } 100% { transform: scale(1.1) translate(10px, 10px); } }
.popup-inner { position: relative; z-index: 10; }
.icon-container { width: 5rem; height: 5rem; margin: 0 auto 1.5rem; border-radius: 1.5rem; background: linear-gradient(135deg, #e6fcf5 0%, #ccfbf1 100%); display: flex; align-items: center; justify-content: center; color: #0d9488; box-shadow: 0 10px 25px -5px rgba(13, 148, 136, 0.3), inset 0 2px 4px rgba(255,255,255,0.8); animation: float-icon 3s ease-in-out infinite; }
@keyframes float-icon { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.popup-close { position: absolute; top: 1.25rem; right: 1.25rem; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: rgba(241, 245, 249, 0.8); backdrop-filter: blur(4px); color: #64748b; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s; z-index: 20; }
.popup-close:hover { background: #e2e8f0; color: #0f172a; transform: rotate(90deg); }

/* Skeleton Loaders */
.skeleton-loader {
    background: linear-gradient(90deg, #f1f5f9 25%, #f8fafc 50%, #f1f5f9 75%);
    background-size: 200% 100%;
    animation: skeleton-pulse 1.5s infinite ease-in-out;
    border-radius: 0.5rem;
}

@keyframes skeleton-pulse {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

#medico-nome-display:empty, #medico-info-display:empty {
    min-height: 1.5rem;
    min-width: 15rem;
    display: inline-block;
}

