/* /Components/Admin/AdminNav.razor.rz.scp.css */
.admin-nav[b-d2yhwrdpzi] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 8px 12px;
    border-radius: var(--radius-full);
    margin: 0 16px 20px;
    max-width: var(--container-max);
    margin-left: auto;
    margin-right: auto;
}

.admin-nav-link[b-d2yhwrdpzi] {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.82rem;
    color: var(--text-muted);
    text-decoration: none;
    padding: 8px 18px;
    border-radius: var(--radius-full);
    transition: all 0.25s ease;
    white-space: nowrap;
}

.admin-nav-link:hover[b-d2yhwrdpzi] {
    color: var(--amber);
    background: rgba(212, 144, 10, 0.08);
}

[b-d2yhwrdpzi] .admin-nav-link.active {
    color: var(--charcoal);
    background: linear-gradient(135deg, var(--amber), var(--amber-light));
    box-shadow: 0 2px 8px rgba(212, 144, 10, 0.25);
}
/* /Components/Chat/ChatRoom.razor.rz.scp.css */
/* Chat room container */
.chat-room[b-hpwd43nepp] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* Connection status banner */
.chat-status[b-hpwd43nepp] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-muted);
    background: var(--gray-100);
    border-radius: var(--radius-sm);
    margin-bottom: 8px;
}

.chat-status--error[b-hpwd43nepp] {
    color: var(--terracotta);
}

.chat-status-dot[b-hpwd43nepp] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--amber);
    animation: pulse-b-hpwd43nepp 1.5s ease-in-out infinite;
}

.chat-status-dot--error[b-hpwd43nepp] {
    background: var(--terracotta);
    animation: none;
}

@keyframes pulse-b-hpwd43nepp {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}

/* Scrollable message area */
.chat-messages[b-hpwd43nepp] {
    flex: 1;
    overflow-y: auto;
    padding: 12px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 200px;
    max-height: calc(100vh - 320px);
}

/* Message layout */
[b-hpwd43nepp] .chat-message {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding: 0 4px;
}

[b-hpwd43nepp] .chat-message--own {
    flex-direction: row-reverse;
}

[b-hpwd43nepp] .chat-message--other {
    flex-direction: row;
}

/* Avatar circle */
[b-hpwd43nepp] .chat-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--forest), var(--forest-light));
    color: var(--text-on-dark);
    font-size: 0.72rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: 0.03em;
}

/* Message bubbles */
[b-hpwd43nepp] .chat-bubble {
    max-width: 75%;
    padding: 10px 14px;
    border-radius: var(--radius-md);
    font-size: 0.9rem;
    line-height: 1.5;
    position: relative;
}

[b-hpwd43nepp] .chat-bubble--own {
    background: linear-gradient(135deg, var(--amber), var(--amber-light));
    color: var(--charcoal);
    border-bottom-right-radius: 4px;
}

[b-hpwd43nepp] .chat-bubble--other {
    border-bottom-left-radius: 4px;
}

[b-hpwd43nepp] .chat-sender {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--forest);
    margin-bottom: 2px;
}

[b-hpwd43nepp] .chat-content {
    margin: 0;
    word-wrap: break-word;
}

[b-hpwd43nepp] .chat-time {
    display: block;
    font-size: 0.68rem;
    color: var(--text-muted);
    margin-top: 4px;
    text-align: right;
}

[b-hpwd43nepp] .chat-bubble--own .chat-time {
    color: rgba(28, 28, 28, 0.5);
}

/* Input bar */
[b-hpwd43nepp] .chat-input-bar {
    display: flex;
    gap: 8px;
    padding: 12px 0 0;
    border-top: 1px solid var(--gray-200);
    margin-top: auto;
}

[b-hpwd43nepp] .chat-input-field {
    flex: 1;
    border-radius: var(--radius-full);
    padding: 10px 18px;
    font-size: 0.88rem;
}

[b-hpwd43nepp] .chat-send-btn {
    flex-shrink: 0;
    padding: 10px 20px;
}
/* /Components/Documents/DocumentList.razor.rz.scp.css */
.document-list[b-qi64cmc6kr] {
    max-width: 600px;
    margin: 0 auto;
}

.document-folders[b-qi64cmc6kr] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding: 12px 0;
}

.document-folder-card[b-qi64cmc6kr] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all 0.2s ease;
    flex: 1;
    min-width: 160px;
}

.document-folder-card:hover[b-qi64cmc6kr] {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.document-folder-card--active[b-qi64cmc6kr] {
    border-left: 3px solid var(--amber);
    background: rgba(212, 144, 10, 0.08);
}

.document-folder-icon[b-qi64cmc6kr] {
    font-size: 1.6rem;
}

.document-folder-info[b-qi64cmc6kr] {
    display: flex;
    flex-direction: column;
}

.document-folder-name[b-qi64cmc6kr] {
    font-weight: 700;
    font-size: 0.88rem;
    color: var(--text);
}

.document-folder-count[b-qi64cmc6kr] {
    font-size: 0.72rem;
    color: var(--text-muted);
}

.document-items[b-qi64cmc6kr] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 0;
}

.document-item[b-qi64cmc6kr] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
}

.document-item:hover[b-qi64cmc6kr] {
    transform: translateY(-1px);
}

.document-item-icon[b-qi64cmc6kr] {
    font-size: 1.4rem;
    flex-shrink: 0;
}

.document-item-info[b-qi64cmc6kr] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.document-item-name[b-qi64cmc6kr] {
    font-weight: 700;
    font-size: 0.85rem;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.document-item-meta[b-qi64cmc6kr] {
    font-size: 0.72rem;
    color: var(--text-muted);
}

.document-item-actions[b-qi64cmc6kr] {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}

.document-empty[b-qi64cmc6kr] {
    text-align: center;
    color: var(--text-muted);
    padding: 32px 0;
    font-size: 0.88rem;
}

@media (max-width: 639px) {
    .document-folders[b-qi64cmc6kr] {
        flex-direction: column;
    }

    .document-folder-card[b-qi64cmc6kr] {
        min-width: auto;
    }
}
/* /Components/Homepage/CommunityStatsWidget.razor.rz.scp.css */
/* CommunityStatsWidget — scoped styles */

.stats-widget[b-fp2fi1ccse] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.stats-title[b-fp2fi1ccse] {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 700;
    color: var(--text);
    margin: 0;
    text-align: center;
}

.stats-grid[b-fp2fi1ccse] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.stat-item[b-fp2fi1ccse] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 10px 4px;
    border-radius: var(--radius-sm);
    background: var(--gray-100);
    transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1),
                background 0.2s ease;
}

.stat-item:hover[b-fp2fi1ccse] {
    transform: scale(1.04);
    background: var(--gray-200);
}

.stat-number[b-fp2fi1ccse] {
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--forest);
    line-height: 1.1;
}

.stat-online .stat-number[b-fp2fi1ccse] {
    color: var(--amber);
}

.stat-label[b-fp2fi1ccse] {
    font-size: 0.72rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    font-weight: 600;
}
/* /Components/Homepage/WeatherWidget.razor.rz.scp.css */
/* WeatherWidget — scoped styles */

.weather-widget[b-lr5cxcfpn5] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.weather-header[b-lr5cxcfpn5] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.weather-icon[b-lr5cxcfpn5] {
    font-size: 2.4rem;
    line-height: 1;
}

.weather-location[b-lr5cxcfpn5] {
    display: flex;
    flex-direction: column;
}

.city-name[b-lr5cxcfpn5] {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--text);
}

.weather-desc[b-lr5cxcfpn5] {
    font-size: 0.85rem;
    color: var(--text-muted);
    text-transform: capitalize;
}

.weather-temp[b-lr5cxcfpn5] {
    font-family: var(--font-display);
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1;
    color: var(--amber);
    letter-spacing: -1px;
    text-align: center;
    padding: 8px 0;
}

.weather-details[b-lr5cxcfpn5] {
    display: flex;
    justify-content: space-around;
    padding-top: 8px;
    border-top: 1px solid var(--gray-200);
}

.weather-detail[b-lr5cxcfpn5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.detail-icon[b-lr5cxcfpn5] {
    font-size: 1.1rem;
    line-height: 1;
}

.detail-label[b-lr5cxcfpn5] {
    font-size: 0.7rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.detail-value[b-lr5cxcfpn5] {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--text);
}
/* /Components/Mail/MailInbox.razor.rz.scp.css */
.mail-inbox[b-czsrogm1hy] {
    max-width: 600px;
    margin: 0 auto;
}

.mail-items[b-czsrogm1hy] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mail-item[b-czsrogm1hy] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.mail-item:hover[b-czsrogm1hy] {
    transform: translateY(-1px);
}

.mail-item--unread[b-czsrogm1hy] {
    border-left: 3px solid var(--amber);
    background: rgba(212, 144, 10, 0.04);
}

.mail-item-indicator[b-czsrogm1hy] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 6px;
    background: transparent;
}

.mail-item-indicator--active[b-czsrogm1hy] {
    background: var(--amber);
}

.mail-item-content[b-czsrogm1hy] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mail-item-header[b-czsrogm1hy] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mail-item-sender[b-czsrogm1hy] {
    font-weight: 700;
    font-size: 0.88rem;
    color: var(--text);
}

.mail-item-date[b-czsrogm1hy] {
    font-size: 0.72rem;
    color: var(--text-muted);
    flex-shrink: 0;
}

.mail-item-subject[b-czsrogm1hy] {
    font-weight: 600;
    font-size: 0.82rem;
    color: var(--forest);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mail-item-preview[b-czsrogm1hy] {
    font-size: 0.78rem;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mail-item-scan-badge[b-czsrogm1hy] {
    font-size: 1.1rem;
    flex-shrink: 0;
    margin-top: 4px;
}

.mail-empty[b-czsrogm1hy] {
    text-align: center;
    color: var(--text-muted);
    padding: 32px 0;
    font-size: 0.88rem;
}
/* /Components/Map/MapView.razor.rz.scp.css */
.map-view[b-2171prd3me] {
    position: relative;
    width: 100%;
}

.map-container[b-2171prd3me] {
    width: 100%;
    height: 60vh;
    min-height: 400px;
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-md);
}

.map-layer-switcher[b-2171prd3me] {
    display: flex;
    gap: 6px;
    justify-content: center;
    padding: 10px 0;
}

@media (max-width: 639px) {
    .map-container[b-2171prd3me] {
        height: 50vh;
        min-height: 300px;
        border-radius: var(--radius-sm);
    }
}
/* /Components/Media/PhotoGallery.razor.rz.scp.css */
/* Masonry-style grid */
.photo-gallery[b-ny78886q5d] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    padding: 16px 0;
}

@media (min-width: 640px) {
    .photo-gallery[b-ny78886q5d] {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }
}

@media (min-width: 1024px) {
    .photo-gallery[b-ny78886q5d] {
        grid-template-columns: repeat(4, 1fr);
        gap: 18px;
    }
}

/* Photo card */
.photo-card[b-ny78886q5d] {
    padding: 0;
    cursor: pointer;
    overflow: hidden;
    border-radius: var(--radius-md);
}

.photo-card:hover[b-ny78886q5d] {
    transform: translateY(-4px);
}

/* Image / gradient placeholder */
.photo-card-image[b-ny78886q5d] {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

/* Bottom overlay with title */
.photo-card-overlay[b-ny78886q5d] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    padding: 12px;
    background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, 0.55) 100%);
}

.photo-card-title[b-ny78886q5d] {
    font-family: var(--font-display);
    font-size: 0.82rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
    line-height: 1.3;
}

/* Footer with stats */
.photo-card-footer[b-ny78886q5d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
}

.photo-card-stats[b-ny78886q5d] {
    display: flex;
    gap: 10px;
}

.photo-stat[b-ny78886q5d] {
    font-size: 0.75rem;
    color: var(--text-muted);
    font-weight: 600;
}

.photo-card-author[b-ny78886q5d] {
    font-size: 0.72rem;
    color: var(--text-light);
    font-style: italic;
}

/* Empty state */
.photo-gallery-empty[b-ny78886q5d] {
    grid-column: 1 / -1;
    text-align: center;
    padding: 48px 20px;
    color: var(--text-muted);
    font-size: 0.92rem;
}
/* /Components/Shared/LanguageSelector.razor.rz.scp.css */
.language-selector[b-b60rgejed6] {
    display: inline-flex;
    align-items: center;
}

.language-select[b-b60rgejed6] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    padding: 6px 32px 6px 12px;
    font-size: 0.875rem;
    color: inherit;
    cursor: pointer;
    outline: none;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px;
    min-width: 160px;
}

.language-select:hover[b-b60rgejed6] {
    border-color: rgba(255, 255, 255, 0.6);
    background-color: rgba(255, 255, 255, 0.1);
}

.language-select:focus[b-b60rgejed6] {
    border-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.15);
}

.language-select option[b-b60rgejed6] {
    background-color: #1a1a2e;
    color: #ffffff;
    padding: 8px 12px;
}
/* /Components/Shared/TabBar.razor.rz.scp.css */
/* Tab bar scoped styles — complements .tab-bar from the design system */

/* On very small screens, hide labels and show only icons */
@media (max-width: 374px) {
    .tab-label[b-1udhvtqwjk] {
        display: none;
    }

    .tab-icon[b-1udhvtqwjk] {
        font-size: 1.5rem;
    }
}
/* /Components/Tv/TvGrid.razor.rz.scp.css */
/* TV Grid layout */
.tv-grid[b-pwl3l1wp81] {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 16px 0;
}

/* Channel section */
.tv-channel-section[b-pwl3l1wp81] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.tv-channel-header[b-pwl3l1wp81] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 4px;
}

.tv-channel-logo[b-pwl3l1wp81] {
    width: 36px;
    height: 36px;
    border-radius: var(--radius-sm);
    background: linear-gradient(135deg, var(--forest), var(--forest-light));
    color: var(--text-on-dark);
    font-weight: 700;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.tv-channel-name[b-pwl3l1wp81] {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--text);
}

/* Horizontal scroll for programs */
.tv-programs-row[b-pwl3l1wp81] {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 4px 4px 8px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

.tv-programs-row[b-pwl3l1wp81]::-webkit-scrollbar {
    height: 4px;
}

.tv-programs-row[b-pwl3l1wp81]::-webkit-scrollbar-thumb {
    background: var(--gray-300);
    border-radius: 2px;
}

/* Individual program card */
.tv-program[b-pwl3l1wp81] {
    min-width: 200px;
    max-width: 240px;
    flex-shrink: 0;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px;
}

.tv-program--now[b-pwl3l1wp81] {
    border-left: 3px solid var(--amber);
    box-shadow: var(--shadow-md), 0 0 12px rgba(212, 144, 10, 0.12);
}

.tv-program-time[b-pwl3l1wp81] {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--text-muted);
    letter-spacing: 0.02em;
}

.tv-program-title[b-pwl3l1wp81] {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--text);
    line-height: 1.3;
    margin: 0;
}

.tv-program-desc[b-pwl3l1wp81] {
    font-size: 0.78rem;
    color: var(--text-light);
    line-height: 1.4;
    margin: 2px 0 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tv-empty[b-pwl3l1wp81] {
    text-align: center;
    color: var(--text-muted);
    padding: 32px;
}

@media (min-width: 640px) {
    .tv-program[b-pwl3l1wp81] {
        min-width: 220px;
        max-width: 260px;
    }
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* Layout-specific overrides — most styling comes from app.css design system */

.app-layout[b-8tih1d5bix] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}

.main-content[b-8tih1d5bix] {
    flex: 1;
    overflow-y: auto;
    padding-bottom: 4.5rem; /* space for fixed tab bar */
}

.header-content[b-8tih1d5bix] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    padding: 0 1rem;
}

.app-title[b-8tih1d5bix] {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0;
    letter-spacing: -0.02em;
}

.language-selector[b-8tih1d5bix] {
    min-width: 2rem;
    min-height: 2rem;
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-1lmdlfw6r3] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-1lmdlfw6r3] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-1lmdlfw6r3] {
    font-size: 1.1rem;
}

.bi[b-1lmdlfw6r3] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-1lmdlfw6r3] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-1lmdlfw6r3] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-1lmdlfw6r3] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-1lmdlfw6r3] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-1lmdlfw6r3] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-1lmdlfw6r3] {
        padding-bottom: 1rem;
    }

    .nav-item[b-1lmdlfw6r3]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-1lmdlfw6r3]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-1lmdlfw6r3]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

@media (min-width: 641px) {
    .navbar-toggler[b-1lmdlfw6r3] {
        display: none;
    }

    .collapse[b-1lmdlfw6r3] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }

    .nav-scrollable[b-1lmdlfw6r3] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Pages/Admin/AdminDashboard.razor.rz.scp.css */
.kpi-grid[b-bbg6ps8v5i] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    padding: 0 16px 24px;
    max-width: var(--container-max);
    margin: 0 auto;
}

.kpi-card[b-bbg6ps8v5i] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
    padding: 24px 16px;
}

.kpi-number[b-bbg6ps8v5i] {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 700;
    color: var(--forest);
    line-height: 1;
}

.kpi-label[b-bbg6ps8v5i] {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-light);
    line-height: 1.3;
}

.kpi-trend[b-bbg6ps8v5i] {
    font-size: 0.75rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: var(--radius-full);
}

.kpi-trend--up[b-bbg6ps8v5i] {
    color: #1B8A4A;
    background: rgba(27, 138, 74, 0.10);
}

.kpi-trend--up[b-bbg6ps8v5i]::before {
    content: "\2191 ";
}

.kpi-trend--down[b-bbg6ps8v5i] {
    color: var(--terracotta);
    background: rgba(192, 89, 58, 0.10);
}

.kpi-trend--down[b-bbg6ps8v5i]::before {
    content: "\2193 ";
}

.activity-section[b-bbg6ps8v5i] {
    padding: 0 16px 32px;
    max-width: var(--container-max);
    margin: 0 auto;
}

.activity-title[b-bbg6ps8v5i] {
    font-size: 1.1rem;
    color: var(--forest);
    margin-bottom: 14px;
}

.activity-item[b-bbg6ps8v5i] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
}

.activity-avatar[b-bbg6ps8v5i] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--forest), var(--forest-light));
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.78rem;
    flex-shrink: 0;
}

.activity-content[b-bbg6ps8v5i] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.activity-text[b-bbg6ps8v5i] {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--text);
    line-height: 1.35;
}

.activity-time[b-bbg6ps8v5i] {
    font-size: 0.75rem;
    color: var(--text-muted);
}
/* /Pages/Admin/AdminMail.razor.rz.scp.css */
.admin-mail-container[b-urri4369o3] {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 16px 32px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.section-subtitle[b-urri4369o3] {
    font-size: 1.05rem;
    color: var(--forest);
    margin-bottom: 16px;
}

.upload-form[b-urri4369o3] {
    display: flex;
    flex-direction: column;
}

.file-upload-zone[b-urri4369o3] {
    border: 2px dashed var(--gray-300);
    border-radius: var(--radius-md);
    padding: 32px 20px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.file-upload-zone:hover[b-urri4369o3] {
    border-color: var(--amber);
}

.upload-placeholder[b-urri4369o3] {
    font-size: 0.88rem;
    color: var(--text-muted);
}

.upload-success[b-urri4369o3] {
    font-size: 0.88rem;
    color: #1B8A4A;
    font-weight: 700;
}

.reply-item[b-urri4369o3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 18px;
    flex-wrap: wrap;
}

.reply-info[b-urri4369o3] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}

.reply-recipient[b-urri4369o3] {
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--text);
}

.reply-subject[b-urri4369o3] {
    font-size: 0.82rem;
    color: var(--text-light);
}

.reply-date[b-urri4369o3] {
    font-size: 0.72rem;
    color: var(--text-muted);
}

.no-replies[b-urri4369o3] {
    text-align: center;
    color: var(--text-muted);
    font-size: 0.88rem;
    padding: 24px;
}
/* /Pages/Admin/AdminUsers.razor.rz.scp.css */
.users-container[b-tl1hd354q6] {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 16px 32px;
}

.search-bar[b-tl1hd354q6] {
    padding: 10px 14px;
    border-radius: var(--radius-md);
    margin-bottom: 16px;
}

.search-input[b-tl1hd354q6] {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 6px 0 !important;
}

.user-row[b-tl1hd354q6] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    flex-wrap: wrap;
}

.user-avatar[b-tl1hd354q6] {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.82rem;
    flex-shrink: 0;
}

.user-info[b-tl1hd354q6] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.user-name[b-tl1hd354q6] {
    font-weight: 700;
    font-size: 0.92rem;
    color: var(--text);
}

.user-email[b-tl1hd354q6] {
    font-size: 0.8rem;
    color: var(--text-muted);
}

.user-meta[b-tl1hd354q6] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.user-date[b-tl1hd354q6],
.user-last-seen[b-tl1hd354q6] {
    font-size: 0.72rem;
    color: var(--text-muted);
}

.user-actions[b-tl1hd354q6] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.role-select[b-tl1hd354q6] {
    width: auto;
    padding: 6px 10px !important;
    font-size: 0.78rem !important;
    border-radius: var(--radius-sm);
}

.btn-danger-ghost[b-tl1hd354q6] {
    color: var(--terracotta) !important;
    border-color: var(--terracotta) !important;
    font-size: 0.75rem;
}

.btn-danger-ghost:hover[b-tl1hd354q6] {
    background: rgba(192, 89, 58, 0.08) !important;
    color: var(--terracotta) !important;
}

.pagination-bar[b-tl1hd354q6] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 20px 0;
}

.pagination-info[b-tl1hd354q6] {
    font-size: 0.85rem;
    color: var(--text-muted);
    font-weight: 600;
}
/* /Pages/ChatPage.razor.rz.scp.css */
/* Chat page layout */
.chat-layout[b-hy59o1nv9m] {
    display: flex;
    gap: 16px;
    max-width: 800px;
    margin: 0 auto;
    padding: 16px;
    min-height: calc(100vh - 260px);
}

/* Sidebar */
.chat-sidebar[b-hy59o1nv9m] {
    width: 240px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.chat-sidebar-title[b-hy59o1nv9m] {
    font-size: 0.92rem;
    color: var(--forest);
    padding: 0 4px;
    margin-bottom: 4px;
}

.chat-room-list[b-hy59o1nv9m] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.chat-room-item[b-hy59o1nv9m] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all 0.2s ease;
}

.chat-room-item:hover[b-hy59o1nv9m] {
    transform: translateX(2px);
}

.chat-room-item--active[b-hy59o1nv9m] {
    border-left: 3px solid var(--amber);
    background: rgba(212, 144, 10, 0.08);
}

.chat-room-icon[b-hy59o1nv9m] {
    font-size: 1.2rem;
}

.chat-room-info[b-hy59o1nv9m] {
    display: flex;
    flex-direction: column;
}

.chat-room-name[b-hy59o1nv9m] {
    font-weight: 700;
    font-size: 0.88rem;
    color: var(--text);
}

.chat-room-count[b-hy59o1nv9m] {
    font-size: 0.72rem;
    color: var(--text-muted);
}

/* Main chat area */
.chat-main[b-hy59o1nv9m] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.chat-main-header[b-hy59o1nv9m] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0 12px;
    border-bottom: 1px solid var(--gray-200);
    margin-bottom: 8px;
}

.chat-main-room-name[b-hy59o1nv9m] {
    font-weight: 700;
    font-size: 0.92rem;
}

/* Mobile: toggle between sidebar and room */
@media (max-width: 639px) {
    .chat-layout[b-hy59o1nv9m] {
        flex-direction: column;
        padding: 8px;
    }

    .chat-sidebar[b-hy59o1nv9m] {
        width: 100%;
    }

    .chat-sidebar--hidden-mobile[b-hy59o1nv9m] {
        display: none;
    }

    .chat-main--hidden-mobile[b-hy59o1nv9m] {
        display: none;
    }

    .chat-main-header[b-hy59o1nv9m] {
        display: flex;
    }
}

/* Desktop: always show sidebar */
@media (min-width: 640px) {
    .chat-main-header[b-hy59o1nv9m] {
        display: none;
    }

    .chat-sidebar--hidden-mobile[b-hy59o1nv9m] {
        display: flex;
    }

    .chat-main--hidden-mobile[b-hy59o1nv9m] {
        display: flex;
    }
}
/* /Pages/DocumentsPage.razor.rz.scp.css */
.documents-page-content[b-ejhir37v8i] {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 16px 80px;
    position: relative;
}

/* Floating action button */
.documents-fab[b-ejhir37v8i] {
    position: fixed;
    bottom: calc(var(--nav-height) + 20px);
    right: 20px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    font-size: 1.6rem;
    font-weight: 300;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-lg);
    z-index: 50;
}

/* Upload overlay */
[b-ejhir37v8i] .doc-upload-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 200;
    padding: 20px;
}

[b-ejhir37v8i] .doc-upload-modal {
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
}

[b-ejhir37v8i] .doc-upload-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

[b-ejhir37v8i] .doc-upload-header h3 {
    margin: 0;
}

[b-ejhir37v8i] .doc-upload-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

[b-ejhir37v8i] .doc-upload-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: var(--radius-full);
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--forest);
}

[b-ejhir37v8i] .doc-drop-zone {
    border: 2px dashed var(--gray-300);
    border-radius: var(--radius-md);
    padding: 32px;
    text-align: center;
    transition: border-color 0.2s ease;
    position: relative;
}

[b-ejhir37v8i] .doc-drop-zone:hover {
    border-color: var(--amber);
}

[b-ejhir37v8i] .doc-drop-zone--has-file {
    border-style: solid;
    border-color: var(--forest);
    padding: 16px;
}

[b-ejhir37v8i] .doc-drop-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: var(--text-muted);
}

[b-ejhir37v8i] .doc-drop-icon {
    font-size: 2rem;
}

[b-ejhir37v8i] .doc-file-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

[b-ejhir37v8i] .doc-preview {
    display: flex;
    align-items: center;
    justify-content: center;
}

[b-ejhir37v8i] .doc-preview-name {
    font-weight: 700;
    font-size: 0.85rem;
    color: var(--forest);
}

[b-ejhir37v8i] .doc-upload-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid var(--gray-200);
}

[b-ejhir37v8i] .doc-upload-toast {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--forest);
    color: var(--text-on-dark);
    padding: 10px 24px;
    border-radius: var(--radius-full);
    font-size: 0.85rem;
    font-weight: 700;
    animation: fadeDown 0.3s ease both;
}
/* /Pages/FuelPage.razor.rz.scp.css */
.fuel-page-content[b-3ftg4iuoag] {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 16px 80px;
    position: relative;
}

.fuel-tabs[b-3ftg4iuoag] {
    display: flex;
    gap: 8px;
    justify-content: center;
    padding: 12px 0;
}

/* Fuel map view */
[b-3ftg4iuoag] .fuel-map-view {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

[b-3ftg4iuoag] .fuel-map-container {
    width: 100%;
    height: 45vh;
    min-height: 300px;
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-md);
}

[b-3ftg4iuoag] .fuel-station-list h3 {
    color: var(--forest);
    margin-bottom: 8px;
    font-size: 1rem;
}

[b-3ftg4iuoag] .fuel-station-cards {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

[b-3ftg4iuoag] .fuel-station-card {
    padding: 14px 16px;
}

[b-3ftg4iuoag] .fuel-station-card:hover {
    transform: translateY(-1px);
}

[b-3ftg4iuoag] .fuel-station-name {
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--text);
    margin-bottom: 2px;
}

[b-3ftg4iuoag] .fuel-station-address {
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-bottom: 8px;
}

[b-3ftg4iuoag] .fuel-prices {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

[b-3ftg4iuoag] .fuel-price-tag {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: var(--gray-100);
    border-radius: var(--radius-sm);
    padding: 6px 10px;
    min-width: 60px;
}

[b-3ftg4iuoag] .fuel-price-label {
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
}

[b-3ftg4iuoag] .fuel-price-value {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--forest);
}

[b-3ftg4iuoag] .fuel-station-update {
    font-size: 0.7rem;
    color: var(--text-muted);
}

@media (max-width: 639px) {
    [b-3ftg4iuoag] .fuel-map-container {
        height: 35vh;
        min-height: 250px;
    }
}
/* /Pages/Login.razor.rz.scp.css */
.auth-page[b-96m5jhe30b] {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    position: relative;
}

.auth-card[b-96m5jhe30b] {
    width: 100%;
    max-width: 400px;
    padding: 40px 28px;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    animation: pageIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.auth-logo[b-96m5jhe30b] {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 28px;
}

.auth-logo-text[b-96m5jhe30b] {
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--forest);
}

.auth-logo-tagline[b-96m5jhe30b] {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 0.85rem;
    color: var(--text-muted);
}

.auth-title[b-96m5jhe30b] {
    text-align: center;
    color: var(--forest);
    margin-bottom: 24px;
}

.auth-form[b-96m5jhe30b] {
    display: flex;
    flex-direction: column;
}

.auth-submit[b-96m5jhe30b] {
    width: 100%;
    margin-top: 8px;
}

.auth-links[b-96m5jhe30b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 20px;
    font-size: 0.82rem;
}

.auth-link[b-96m5jhe30b] {
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.2s ease;
}

.auth-link:hover[b-96m5jhe30b] {
    color: var(--amber);
}

.auth-link--accent[b-96m5jhe30b] {
    color: var(--amber);
    font-weight: 700;
}

.auth-link-separator[b-96m5jhe30b] {
    color: var(--gray-300);
}

.auth-link-text[b-96m5jhe30b] {
    color: var(--text-muted);
}
/* /Pages/MailPage.razor.rz.scp.css */
.mail-page-content[b-rnw1hmq12e] {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 16px 80px;
    position: relative;
}

/* Subscribe banner */
.mail-subscribe-banner[b-rnw1hmq12e] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-radius: var(--radius-md);
    margin-bottom: 16px;
    font-size: 0.88rem;
    font-weight: 600;
}

/* Mail detail overlay */
[b-rnw1hmq12e] .mail-detail-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 200;
    padding: 20px;
}

[b-rnw1hmq12e] .mail-detail-modal {
    width: 100%;
    max-width: 560px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
}

[b-rnw1hmq12e] .mail-detail-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 16px;
    gap: 12px;
}

[b-rnw1hmq12e] .mail-detail-header h3 {
    margin: 0;
    font-size: 1.1rem;
}

[b-rnw1hmq12e] .mail-detail-meta {
    margin-bottom: 16px;
}

[b-rnw1hmq12e] .mail-detail-sender {
    display: flex;
    align-items: center;
    gap: 10px;
}

[b-rnw1hmq12e] .mail-detail-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--forest), var(--forest-light));
    color: var(--text-on-dark);
    font-size: 0.88rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

[b-rnw1hmq12e] .mail-detail-sender-name {
    display: block;
    font-weight: 700;
    font-size: 0.9rem;
}

[b-rnw1hmq12e] .mail-detail-date {
    display: block;
    font-size: 0.75rem;
    color: var(--text-muted);
}

[b-rnw1hmq12e] .mail-detail-body {
    padding: 16px 0;
    border-top: 1px solid var(--gray-200);
    border-bottom: 1px solid var(--gray-200);
    margin-bottom: 16px;
}

[b-rnw1hmq12e] .mail-detail-body p {
    font-size: 0.88rem;
    color: var(--text-light);
    line-height: 1.6;
    margin-bottom: 8px;
}

[b-rnw1hmq12e] .mail-detail-scan {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: var(--radius-md);
    font-size: 0.82rem;
    margin-bottom: 16px;
}

[b-rnw1hmq12e] .mail-scan-icon {
    font-size: 1.2rem;
}

[b-rnw1hmq12e] .mail-detail-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

/* Mail compose */
[b-rnw1hmq12e] .mail-compose {
    border-top: 1px solid var(--gray-200);
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

[b-rnw1hmq12e] .mail-compose-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

[b-rnw1hmq12e] .mail-compose-toast {
    background: var(--forest);
    color: var(--text-on-dark);
    padding: 10px 24px;
    border-radius: var(--radius-full);
    font-size: 0.85rem;
    font-weight: 700;
    text-align: center;
    animation: fadeDown 0.3s ease both;
}
/* /Pages/MapPage.razor.rz.scp.css */
.map-page-content[b-qax190ccgr] {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 16px 80px;
    position: relative;
}

/* Floating action button */
.map-fab[b-qax190ccgr] {
    position: fixed;
    bottom: calc(var(--nav-height) + 20px);
    right: 20px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    font-size: 1.6rem;
    font-weight: 300;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-lg);
    z-index: 50;
}

/* Spot form overlay */
[b-qax190ccgr] .spot-form-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 200;
    padding: 20px;
}

[b-qax190ccgr] .spot-form-modal {
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
}

[b-qax190ccgr] .spot-form-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

[b-qax190ccgr] .spot-form-header h3 {
    margin: 0;
}

[b-qax190ccgr] .spot-form-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

[b-qax190ccgr] .spot-amenities-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

[b-qax190ccgr] .spot-amenity-check {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    cursor: pointer;
}

[b-qax190ccgr] .spot-amenity-check input {
    accent-color: var(--forest);
}

[b-qax190ccgr] .spot-form-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid var(--gray-200);
}

[b-qax190ccgr] .spot-form-toast {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--forest);
    color: var(--text-on-dark);
    padding: 10px 24px;
    border-radius: var(--radius-full);
    font-size: 0.85rem;
    font-weight: 700;
    animation: fadeDown 0.3s ease both;
}
/* /Pages/PhotosPage.razor.rz.scp.css */
/* Photos page */
.photos-page-content[b-03qamf3wh6] {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 16px 80px;
    position: relative;
}

/* Tab toggle */
.photos-tabs[b-03qamf3wh6] {
    display: flex;
    gap: 8px;
    justify-content: center;
    padding: 12px 0;
}

/* Floating action button */
.photos-fab[b-03qamf3wh6] {
    position: fixed;
    bottom: calc(var(--nav-height) + 20px);
    right: 20px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    font-size: 1.6rem;
    font-weight: 300;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-lg);
    z-index: 50;
}

/* Upload overlay */
[b-03qamf3wh6] .photo-upload-overlay,
[b-03qamf3wh6] .photo-detail-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 200;
    padding: 20px;
}

[b-03qamf3wh6] .photo-upload-modal {
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
}

[b-03qamf3wh6] .photo-upload-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

[b-03qamf3wh6] .photo-upload-header h3 {
    margin: 0;
}

[b-03qamf3wh6] .photo-upload-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

[b-03qamf3wh6] .photo-drop-zone {
    border: 2px dashed var(--gray-300);
    border-radius: var(--radius-md);
    padding: 32px;
    text-align: center;
    transition: border-color 0.2s ease;
    position: relative;
}

[b-03qamf3wh6] .photo-drop-zone:hover {
    border-color: var(--amber);
}

[b-03qamf3wh6] .photo-drop-zone--has-file {
    border-style: solid;
    border-color: var(--forest);
    padding: 0;
}

[b-03qamf3wh6] .photo-drop-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: var(--text-muted);
}

[b-03qamf3wh6] .photo-drop-icon {
    font-size: 2rem;
}

[b-03qamf3wh6] .photo-file-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

[b-03qamf3wh6] .photo-preview {
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
}

[b-03qamf3wh6] .photo-preview-name {
    color: var(--text-on-dark);
    font-weight: 700;
    font-size: 0.85rem;
    background: rgba(0, 0, 0, 0.3);
    padding: 6px 14px;
    border-radius: var(--radius-full);
}

[b-03qamf3wh6] .photo-toggle-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

[b-03qamf3wh6] .photo-toggle {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}

[b-03qamf3wh6] .photo-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}

[b-03qamf3wh6] .photo-toggle-slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: var(--gray-300);
    border-radius: var(--radius-full);
    transition: 0.3s;
}

[b-03qamf3wh6] .photo-toggle-slider::before {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    left: 3px;
    bottom: 3px;
    background: var(--white);
    border-radius: 50%;
    transition: 0.3s;
}

[b-03qamf3wh6] .photo-toggle input:checked + .photo-toggle-slider {
    background: var(--forest);
}

[b-03qamf3wh6] .photo-toggle input:checked + .photo-toggle-slider::before {
    transform: translateX(20px);
}

[b-03qamf3wh6] .photo-upload-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid var(--gray-200);
}

[b-03qamf3wh6] .photo-upload-toast {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--forest);
    color: var(--text-on-dark);
    padding: 10px 24px;
    border-radius: var(--radius-full);
    font-size: 0.85rem;
    font-weight: 700;
    animation: fadeDown 0.3s ease both;
}

/* Photo detail modal */
[b-03qamf3wh6] .photo-detail-modal {
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    position: relative;
}

[b-03qamf3wh6] .photo-detail-close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 10;
    background: rgba(0, 0, 0, 0.4);
    color: white;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    padding: 0;
    font-size: 1rem;
}

[b-03qamf3wh6] .photo-detail-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    position: relative;
    overflow: hidden;
}

[b-03qamf3wh6] .photo-detail-image-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    padding: 20px;
    background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, 0.6) 100%);
}

[b-03qamf3wh6] .photo-detail-title {
    color: white;
    font-size: 1.3rem;
    margin: 0;
}

[b-03qamf3wh6] .photo-detail-info {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

[b-03qamf3wh6] .photo-detail-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

[b-03qamf3wh6] .photo-detail-author {
    display: flex;
    align-items: center;
    gap: 10px;
}

[b-03qamf3wh6] .photo-detail-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--forest), var(--forest-light));
    color: var(--text-on-dark);
    font-size: 0.78rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

[b-03qamf3wh6] .photo-detail-author-name {
    display: block;
    font-weight: 700;
    font-size: 0.9rem;
}

[b-03qamf3wh6] .photo-detail-date {
    display: block;
    font-size: 0.75rem;
    color: var(--text-muted);
}

[b-03qamf3wh6] .photo-detail-stats {
    display: flex;
    gap: 12px;
}

[b-03qamf3wh6] .photo-stat {
    font-size: 0.82rem;
    color: var(--text-muted);
    font-weight: 600;
}

[b-03qamf3wh6] .photo-detail-description {
    font-size: 0.9rem;
    color: var(--text-light);
    line-height: 1.6;
}

[b-03qamf3wh6] .photo-detail-location {
    font-size: 0.82rem;
    color: var(--text-muted);
}

[b-03qamf3wh6] .photo-detail-comments {
    border-top: 1px solid var(--gray-200);
    padding-top: 14px;
}

[b-03qamf3wh6] .photo-detail-comments h4 {
    margin-bottom: 12px;
}

[b-03qamf3wh6] .photo-comment {
    padding: 10px 14px;
    margin-bottom: 8px;
}

[b-03qamf3wh6] .photo-comment-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

[b-03qamf3wh6] .photo-comment-date {
    font-size: 0.72rem;
    color: var(--text-muted);
}

[b-03qamf3wh6] .photo-comment p {
    font-size: 0.85rem;
    color: var(--text-light);
    margin: 0;
}

[b-03qamf3wh6] .photo-comment-input {
    margin-top: 12px;
}

[b-03qamf3wh6] .photo-comment-input .form-input {
    border-radius: var(--radius-full);
    padding: 10px 18px;
    font-size: 0.85rem;
}
/* /Pages/Profile.razor.rz.scp.css */
.profile-container[b-bqu044ze1m] {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 16px 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.profile-header[b-bqu044ze1m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
    padding: 32px 20px;
}

.profile-avatar[b-bqu044ze1m] {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--forest), var(--forest-light));
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.5rem;
    font-family: var(--font-display);
}

.profile-identity[b-bqu044ze1m] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
}

.profile-name[b-bqu044ze1m] {
    font-family: var(--font-display);
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--text);
}

.profile-email[b-bqu044ze1m] {
    font-size: 0.88rem;
    color: var(--text-muted);
}

.role-badge[b-bqu044ze1m] {
    display: inline-block;
    background: linear-gradient(135deg, var(--amber), var(--amber-light));
    color: var(--charcoal);
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 4px 14px;
    border-radius: var(--radius-full);
    margin-top: 4px;
}

.profile-section-title[b-bqu044ze1m] {
    font-size: 1.05rem;
    color: var(--forest);
    margin-bottom: 16px;
}

.language-radios[b-bqu044ze1m] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.radio-option[b-bqu044ze1m] {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 0.88rem;
    padding: 6px 12px;
    border-radius: var(--radius-sm);
    border: 1.5px solid var(--gray-200);
    transition: border-color 0.2s ease;
}

.radio-option:hover[b-bqu044ze1m] {
    border-color: var(--amber);
}

.radio-option input[type="radio"][b-bqu044ze1m] {
    accent-color: var(--amber);
}

.radio-label[b-bqu044ze1m] {
    font-weight: 600;
    font-size: 0.82rem;
}

.toast-success[b-bqu044ze1m] {
    margin-top: 12px;
    padding: 10px 16px;
    background: rgba(27, 138, 74, 0.10);
    color: #1B8A4A;
    font-weight: 700;
    font-size: 0.85rem;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(27, 138, 74, 0.20);
    text-align: center;
}

.logout-section[b-bqu044ze1m] {
    text-align: center;
    padding: 8px 0;
}

.btn-danger-full[b-bqu044ze1m] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.9rem;
    padding: 12px 32px;
    border-radius: var(--radius-full);
    border: none;
    cursor: pointer;
    background: linear-gradient(135deg, var(--terracotta), var(--terracotta-light));
    color: white;
    box-shadow: 0 2px 10px rgba(192, 89, 58, 0.25);
    transition: all 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.btn-danger-full:hover[b-bqu044ze1m] {
    transform: scale(1.03);
    box-shadow: 0 4px 18px rgba(192, 89, 58, 0.35);
}

.btn-danger-full:active[b-bqu044ze1m] {
    transform: scale(0.97);
}
/* /Pages/Register.razor.rz.scp.css */
.auth-page[b-qa13al6h59] {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    position: relative;
}

.auth-card[b-qa13al6h59] {
    width: 100%;
    max-width: 400px;
    padding: 40px 28px;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    animation: pageIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.auth-logo[b-qa13al6h59] {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 28px;
}

.auth-logo-text[b-qa13al6h59] {
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--forest);
}

.auth-logo-tagline[b-qa13al6h59] {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 0.85rem;
    color: var(--text-muted);
}

.auth-title[b-qa13al6h59] {
    text-align: center;
    color: var(--forest);
    margin-bottom: 24px;
}

.auth-form[b-qa13al6h59] {
    display: flex;
    flex-direction: column;
}

.auth-submit[b-qa13al6h59] {
    width: 100%;
    margin-top: 8px;
}

.auth-links[b-qa13al6h59] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 20px;
    font-size: 0.82rem;
}

.auth-link[b-qa13al6h59] {
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.2s ease;
}

.auth-link:hover[b-qa13al6h59] {
    color: var(--amber);
}

.auth-link--accent[b-qa13al6h59] {
    color: var(--amber);
    font-weight: 700;
}

.auth-link-text[b-qa13al6h59] {
    color: var(--text-muted);
}
/* /Pages/TvProgramPage.razor.rz.scp.css */
/* TV Program page */
.tv-page-content[b-xh0yoc5n7n] {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 16px 32px;
}

/* Controls row */
.tv-controls[b-xh0yoc5n7n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    flex-wrap: wrap;
}

.tv-date-toggle[b-xh0yoc5n7n] {
    display: flex;
    gap: 6px;
}

[b-xh0yoc5n7n] .tv-channel-filter {
    min-width: 180px;
}

[b-xh0yoc5n7n] .tv-channel-filter .form-select {
    border-radius: var(--radius-full);
    padding: 8px 16px;
    font-size: 0.82rem;
}

@media (max-width: 639px) {
    .tv-controls[b-xh0yoc5n7n] {
        flex-direction: column;
        align-items: stretch;
    }

    .tv-date-toggle[b-xh0yoc5n7n] {
        justify-content: center;
    }

    [b-xh0yoc5n7n] .tv-channel-filter {
        min-width: unset;
    }
}
