/* Base styles for the app */
body {
    font-family: 'Roboto', sans-serif;
    -webkit-tap-highlight-color: transparent;
}
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

html, body { height: 100%; overflow: hidden; }
.app-container { height: 100%; display: flex; flex-direction: column; position: relative; }

/* --- SVG Icon Styles --- */
.icon {
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: middle;
}

/* --- Star Rating Styles --- */
.rating-widget .stars { 
    cursor: pointer; 
    user-select: none; 
}
.rating-widget .stars .icon {
    color: #6B7280; /* gray-500 */
}
.rating-widget:not(.unrated) .stars .icon {
    color: #FBBF24; /* amber-400 */
}
.rating-widget.unrated .rating-value { 
    color: #9CA3AF; /* gray-400 */
}

/* --- Screen Transition Styles --- */
.screen {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: transform 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    background-color: #1F2937; /* bg-gray-800 */
}
#home-screen { transform: translateX(0); z-index: 10; }
#checkin-screen { transform: translateX(100%); z-index: 20; }
#location-detail-screen { transform: translateX(100%); z-index: 30; }
#search-screen { transform: translateX(100%); z-index: 15; }

/* --- Loading Spinner --- */
.spinner {
    width: 48px;
    height: 48px;
    border: 5px solid #FFF;
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

@keyframes rotation {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* --- Search Results --- */
.search-result-card .star-rating .icon {
    color: #FBBF24; /* amber-400 */
}
