/* /Components/AssetCard.razor.rz.scp.css */
.asset-card-container[b-bvct3eicnw] {
    position: relative;
    cursor: pointer;
    width: 100%;
    overflow: hidden;
    background-color: #333;
    border-radius: 8px;
    aspect-ratio: 1 / 1;
}
.asset-card-container:hover[b-bvct3eicnw] {
    opacity: 1;
}
.asset-card-image[b-bvct3eicnw] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* Shimmer placeholder — visible while thumbnail hasn't loaded yet */
.asset-placeholder[b-bvct3eicnw] {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: 8px;
    overflow: hidden;
    background: linear-gradient(90deg, #252525 25%, #303030 50%, #252525 75%);
    background-size: 200% 100%;
    animation: asset-shimmer-b-bvct3eicnw 1.6s infinite ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    transition: opacity 0.25s ease;
}
.asset-placeholder[style*="background-color"][b-bvct3eicnw] {
    background-image: none;
    animation: none;
    background-size: auto;
}
@keyframes asset-shimmer-b-bvct3eicnw {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
.asset-card-container.img-loaded .asset-placeholder[b-bvct3eicnw] {
    opacity: 0;
    pointer-events: none;
}
.lazy-img[b-bvct3eicnw] {
    opacity: 0;
    transition: opacity 0.35s ease;
}
.asset-card-container.img-loaded .lazy-img[b-bvct3eicnw] {
    opacity: 1;
}
.video-preview-container[b-bvct3eicnw] {
    position: relative;
    width: 100%;
    height: 100%;
}
.preview-video[b-bvct3eicnw] {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}
.asset-card-container:hover .preview-video[b-bvct3eicnw] {
    opacity: 1;
}
.thumbnail[b-bvct3eicnw] {
    position: relative;
    z-index: 0;
}
/* Bottom overlay: gradient + filename, visible on hover */
.asset-card-overlay[b-bvct3eicnw] {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 6px 8px;
    padding-right: 40px;
    background: linear-gradient(transparent, rgba(0,0,0,0.7));
    opacity: 0;
    transition: opacity 0.2s;
    z-index: 3;
    pointer-events: none;
}
.asset-card-container:hover .asset-card-overlay[b-bvct3eicnw] {
    opacity: 1;
}
.asset-type-icon[b-bvct3eicnw] {
    position: absolute;
    top: 8px;
    right: 8px;
    color: white;
    filter: drop-shadow(0 0 2px rgba(0,0,0,0.5));
    z-index: 2;
}
.sync-status-icon[b-bvct3eicnw] {
    position: absolute;
    top: 8px;
    left: 8px;
    color: white;
    filter: drop-shadow(0 0 2px rgba(0,0,0,0.5));
    z-index: 2;
}
/* Favorite button: always visible */
.favorite-btn[b-bvct3eicnw] {
    position: absolute;
    bottom: 4px;
    right: 4px;
    z-index: 5;
    color: rgba(255,255,255,0.7);
    filter: drop-shadow(0 1px 3px rgba(0,0,0,0.7));
    transition: color 0.2s;
}
.favorite-btn:hover[b-bvct3eicnw] {
    color: white;
}
.favorite-btn.is-favorite[b-bvct3eicnw] {
    color: white;
}
.asset-pending[b-bvct3eicnw] {
    opacity: 0.6;
}
.asset-missing-overlay[b-bvct3eicnw] {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 4;
    border-radius: 8px;
}
/* /Components/BottomNavBar.razor.rz.scp.css */
/* Section context bar — mobile only (settings & admin) */
.ph-section-header[b-y44thh3nxa] {
    display: none;
    position: fixed;
    top: 64px; /* MudAppBar height for 600px–959px range */
    left: 0;
    right: 0;
    height: 48px;
    align-items: center;
    padding: 0 16px;
    background-color: var(--mud-palette-surface);
    border-top: 1px solid var(--mud-palette-divider);
    border-bottom: 1px solid var(--mud-palette-divider);
    z-index: 1099;
    box-sizing: border-box;
}

@media (max-width: 959.98px) {
    .ph-section-header[b-y44thh3nxa] {
        display: flex;
    }
}

/* MudAppBar shrinks to 56px below 600px (MudBlazor xs breakpoint) */
@media (max-width: 599.98px) {
    .ph-section-header[b-y44thh3nxa] {
        top: 56px;
    }
}

.ph-section-header__back[b-y44thh3nxa] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px 4px 0;
    color: var(--mud-palette-text-secondary);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    transition: color 0.15s ease;
    z-index: 1;
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
}

.ph-section-header__back:active[b-y44thh3nxa] {
    opacity: 0.65;
}

[b-y44thh3nxa] .ph-section-header__back-icon {
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
}

.ph-section-header__title[b-y44thh3nxa] {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: 15px;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    pointer-events: none;
    white-space: nowrap;
}

/* Bottom nav — mobile only */
.ph-bottom-nav[b-y44thh3nxa] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: none;
    align-items: center;
    height: 64px;
    padding-bottom: env(safe-area-inset-bottom);
    box-sizing: content-box;
    background-color: var(--mud-palette-surface);
    border-top: 1px solid var(--mud-palette-divider);
    box-shadow: 0 -1px 8px rgba(0, 0, 0, 0.14);
    z-index: 1200;
}

@media (max-width: 959.98px) {
    .ph-bottom-nav[b-y44thh3nxa] {
        display: flex;
    }
}

/* Tabs */
.ph-bottom-nav__tab[b-y44thh3nxa] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 8px 4px;
    text-decoration: none;
    color: var(--mud-palette-text-secondary);
    height: 100%;
    transition: color 0.15s ease;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}

.ph-bottom-nav__tab:active[b-y44thh3nxa] {
    opacity: 0.65;
}

.ph-bottom-nav__tab--active[b-y44thh3nxa] {
    color: var(--mud-palette-primary);
}

[b-y44thh3nxa] .ph-bottom-nav__icon {
    font-size: 24px !important;
    width: 24px !important;
    height: 24px !important;
}

.ph-bottom-nav__label[b-y44thh3nxa] {
    font-size: 11px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.02em;
}

.ph-bottom-nav__tab--active .ph-bottom-nav__label[b-y44thh3nxa] {
    font-weight: 600;
}


/* "Más" tab — button reset */
.ph-bottom-nav__tab--btn[b-y44thh3nxa] {
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
}
/* /Components/MemoriesWidget.razor.rz.scp.css */
/* ── Widget ── */
.memories-widget[b-gbeocw6d7n] {
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* ── Header ── */
.memories-header[b-gbeocw6d7n] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding: 0 2px;
}

[b-gbeocw6d7n] .memories-icon { color: var(--mud-palette-primary); flex-shrink: 0; }

.memories-header-text[b-gbeocw6d7n] {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.memories-title[b-gbeocw6d7n] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    letter-spacing: 0.01em;
}

.memories-date[b-gbeocw6d7n] {
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
    text-transform: capitalize;
}

/* ── Cards list (grid responsivo) ── */
.memories-cards[b-gbeocw6d7n] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr));
    gap: 16px;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

/* ── Card (ancho limitado, centrado en su celda) ── */
.memories-card[b-gbeocw6d7n] {
    box-sizing: border-box;
    width: 100%;
    max-width: 480px;
    margin-inline: auto;
    overflow: hidden;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
    box-shadow: 0 2px 14px rgba(0,0,0,0.35);
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* ── Hero ── */
.memories-card-hero[b-gbeocw6d7n] {
    position: relative;
    width: 100%;
    /* Ratio 16:9 para paisaje — más natural en fotos */
    aspect-ratio: 16 / 9;
    cursor: pointer;
    overflow: hidden;
    background: #1a1a1a;
    -webkit-tap-highlight-color: transparent;
}

.memories-card-hero img[b-gbeocw6d7n] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.memories-card-hero:hover img[b-gbeocw6d7n],
.memories-card-hero:active img[b-gbeocw6d7n] {
    transform: scale(1.03);
}

/* Gradient overlay */
.memories-card-overlay[b-gbeocw6d7n] {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 40px 14px 12px;
    background: linear-gradient(to top, rgba(0,0,0,0.80) 0%, rgba(0,0,0,0.3) 60%, transparent 100%);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.memories-card-time[b-gbeocw6d7n] {
    font-size: 0.88rem;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}

.memories-card-year[b-gbeocw6d7n] {
    font-size: 0.78rem;
    font-weight: 400;
    color: rgba(255,255,255,0.72);
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}

/* Video badge hero */
[b-gbeocw6d7n] .memories-video-badge {
    position: absolute;
    bottom: 48px; right: 12px;
    color: #fff;
    filter: drop-shadow(0 0 3px rgba(0,0,0,0.7));
    z-index: 1;
}

/* ── Strip: grid de 4 columnas, sin scroll ── */
.memories-strip[b-gbeocw6d7n] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2px;
    background: rgba(0,0,0,0.25);
    width: 100%;
    box-sizing: border-box;
}

.memories-strip-thumb[b-gbeocw6d7n] {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    cursor: pointer;
    background: #2a2a2a;
    -webkit-tap-highlight-color: transparent;
}

.memories-strip-thumb img[b-gbeocw6d7n] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity 0.15s;
}

.memories-strip-thumb:hover img[b-gbeocw6d7n],
.memories-strip-thumb:active img[b-gbeocw6d7n] {
    opacity: 0.75;
}

/* Video badge strip */
[b-gbeocw6d7n] .memories-video-sm {
    position: absolute;
    bottom: 4px; right: 4px;
    color: #fff;
    filter: drop-shadow(0 0 2px rgba(0,0,0,0.8));
    z-index: 1;
}

/* Overlay "+N" sobre la última miniatura cuando hay más fotos ocultas */
.memories-strip-more[b-gbeocw6d7n] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    color: #fff;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
    pointer-events: none;
    z-index: 2;
}

/* ── CTA "Ver las N fotos" a ancho completo ── */
.memories-card-cta[b-gbeocw6d7n] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    background: rgba(255,255,255,0.03);
    border: none;
    border-top: 1px solid rgba(255,255,255,0.06);
    color: var(--mud-palette-primary);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-align: center;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s ease;
}

.memories-card-cta:hover[b-gbeocw6d7n] {
    background: var(--mud-palette-primary-hover);
}

.memories-card-cta:active[b-gbeocw6d7n] {
    background: var(--mud-palette-action-default-hover);
}

[b-gbeocw6d7n] .memories-card-cta .mud-icon-root {
    color: var(--mud-palette-primary);
}

/* ── Bottom sheet con todos los assets del bloque ── */
.memories-sheet-backdrop[b-gbeocw6d7n] {
    position: fixed;
    inset: 0;
    z-index: 1999;
    background: rgba(0,0,0,0.5);
}

.memories-sheet[b-gbeocw6d7n] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2000;
    background: var(--mud-palette-surface);
    border-radius: 16px 16px 0 0;
    max-height: 65vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.35);
}

.memories-sheet-header[b-gbeocw6d7n] {
    display: flex;
    align-items: center;
    padding: 12px 16px 8px;
    flex-shrink: 0;
}

.memories-sheet-scroll[b-gbeocw6d7n] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding-bottom: 16px;
}

.memories-sheet-grid[b-gbeocw6d7n] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 3px;
    padding: 0 8px 8px;
}

.memories-sheet-cell[b-gbeocw6d7n] {
    position: relative;
    aspect-ratio: 1;
    cursor: pointer;
    border-radius: 4px;
    overflow: hidden;
    background: #333;
    content-visibility: auto;
    contain-intrinsic-size: 110px 110px;
    transition: transform 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}

.memories-sheet-cell:active[b-gbeocw6d7n] {
    transform: scale(0.95);
}

.memories-sheet-cell.selected[b-gbeocw6d7n] {
    transform: scale(0.90);
}

.memories-sheet-cell.selection-mode:active[b-gbeocw6d7n] {
    transform: scale(0.90);
    transition-duration: 0.06s;
}

.memories-sheet-cell-check[b-gbeocw6d7n] {
    position: absolute;
    top: 2px;
    left: 2px;
    z-index: 2;
}

.memories-sheet-cell img[b-gbeocw6d7n] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* /Components/ShareDialog.razor.rz.scp.css */
.share-link-row[b-bshr1keaww] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.share-link-row:last-child[b-bshr1keaww] { border-bottom: none; }
.share-link-info[b-bshr1keaww] {
    flex: 1;
    min-width: 0;
}
.share-link-url[b-bshr1keaww] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: monospace;
    font-size: 0.78rem;
    opacity: 0.75;
}
/* /Components/StorageWidget.razor.rz.scp.css */
.storage-widget[b-2o8c9s4z80] {
    padding: 12px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.storage-widget-header[b-2o8c9s4z80] {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--mud-palette-text-secondary);
}

[b-2o8c9s4z80] .storage-icon {
    opacity: 0.6;
    flex-shrink: 0;
}

[b-2o8c9s4z80] .storage-bar {
    width: 100%;
}
/* /Layouts/MainLayout.razor.rz.scp.css */
.page[b-b76s3jfdv5] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-b76s3jfdv5] {
    flex: 1;
}

.sidebar[b-b76s3jfdv5] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-b76s3jfdv5] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-b76s3jfdv5]  a, .top-row[b-b76s3jfdv5]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-b76s3jfdv5]  a:hover, .top-row[b-b76s3jfdv5]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-b76s3jfdv5]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-b76s3jfdv5] {
        justify-content: space-between;
    }

    .top-row[b-b76s3jfdv5]  a, .top-row[b-b76s3jfdv5]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-b76s3jfdv5] {
        flex-direction: row;
    }

    .sidebar[b-b76s3jfdv5] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-b76s3jfdv5] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-b76s3jfdv5]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-b76s3jfdv5], article[b-b76s3jfdv5] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

/* ── Styles extracted from inline <style> blocks ── */

.border-b[b-b76s3jfdv5] {
    border-bottom: 1px solid var(--mud-palette-divider);
}
.custom-navbar[b-b76s3jfdv5] {
    border-bottom: 1px solid var(--mud-palette-divider);
}
.search-container[b-b76s3jfdv5] {
    width: 100%;
    max-width: 560px;
}
[b-b76s3jfdv5] .search-box {
    width: 100%;
    height: 40px;
    border-radius: 24px;
    border: 1.5px solid rgba(128, 128, 128, 0.35);
    background: rgba(128, 128, 128, 0.06);
    transition: border-color 0.2s;
}
[b-b76s3jfdv5] .search-box:hover {
    border-color: rgba(128, 128, 128, 0.65);
}
[b-b76s3jfdv5] .search-box:focus-within {
    border-color: var(--mud-palette-primary);
}
[b-b76s3jfdv5] .mud-dark .search-box {
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.06);
}
[b-b76s3jfdv5] .mud-dark .search-box:hover {
    border-color: rgba(255, 255, 255, 0.5);
}
[b-b76s3jfdv5] .search-input .mud-input-control {
    margin-top: 0;
}
[b-b76s3jfdv5] .search-input .mud-input::before,
[b-b76s3jfdv5] .search-input .mud-input::after {
    display: none !important;
}
[b-b76s3jfdv5] .notification-badge .mud-badge {
    top: -4px !important;
}
/* Mobile: extra bottom padding so content isn't hidden behind bottom nav */
@media (max-width: 959.98px) {
    .page-content[b-b76s3jfdv5] {
        padding-bottom: 64px !important;
    }
}
.pwa-update-banner[b-b76s3jfdv5] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    background: var(--mud-palette-surface);
    border-bottom: 1px solid var(--mud-palette-divider);
    position: sticky;
    z-index: 1200;
}

.demo-banner[b-b76s3jfdv5] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 16px;
    background: var(--mud-palette-warning);
    color: var(--mud-palette-warning-text);
    border-bottom: 1px solid var(--mud-palette-divider);
    position: sticky;
    z-index: 1200;
}
.demo-banner .mud-link[b-b76s3jfdv5] {
    color: inherit !important;
    font-weight: 600;
}

.border-r[b-b76s3jfdv5] {
    border-right: 1px solid var(--mud-palette-divider);
}
.page-content[b-b76s3jfdv5] {
    /* Padding managed by each page; bottom padding injected via media query above */
}

/* Bottom sheet shared styles */
[b-b76s3jfdv5] .ph-bottom-sheet {
    border-radius: 16px 16px 0 0 !important;
    overflow: hidden;
    /* Pin to viewport width so MudBlazor's drawer min-width / scroll-lock
       compensation can never make the sheet wider than the screen. */
    max-width: 100vw;
    box-sizing: border-box;
}
[b-b76s3jfdv5] .ph-bottom-sheet .mud-drawer-content {
    border-radius: 16px 16px 0 0;
    overflow: hidden;
    max-width: 100vw;
    box-sizing: border-box;
}
/* Drag handle pill */
.ph-sheet-handle[b-b76s3jfdv5] {
    width: 36px;
    height: 4px;
    background: var(--mud-palette-divider);
    border-radius: 2px;
    margin: 10px auto 6px;
    flex-shrink: 0;
}
/* Combined "Mas" overlay — full screen above bottom nav */
.ph-more-overlay[b-b76s3jfdv5] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: calc(64px + env(safe-area-inset-bottom));
    background-color: var(--mud-palette-surface);
    z-index: 1300;
    overflow-y: auto;
}
/* Profile section — centered and prominent */
.ph-more-profile[b-b76s3jfdv5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 24px 24px 32px;
}
/* Nav icon tiles grid */
.ph-more-grid[b-b76s3jfdv5] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding: 16px;
}
.ph-more-tile[b-b76s3jfdv5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 18px 8px;
    background: var(--mud-palette-background-grey);
    border: none;
    border-radius: 12px;
    cursor: pointer;
    font-family: inherit;
    color: var(--mud-palette-text-primary);
    -webkit-tap-highlight-color: transparent;
    transition: opacity 0.15s ease;
}
.ph-more-tile:active[b-b76s3jfdv5] {
    opacity: 0.6;
}
.ph-more-tile--active[b-b76s3jfdv5] {
    color: var(--mud-palette-primary);
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
}
[b-b76s3jfdv5] .ph-more-tile__icon {
    font-size: 26px !important;
    width: 26px !important;
    height: 26px !important;
}
.ph-more-tile__label[b-b76s3jfdv5] {
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
}
.ph-more-version[b-b76s3jfdv5] {
    text-align: center;
    font-size: 11px;
    color: var(--mud-palette-text-disabled);
    padding: 10px 0 6px;
}

/* PWA Install Prompt */
.pwa-install-backdrop[b-b76s3jfdv5] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(4px);
    z-index: 2000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 0 env(safe-area-inset-bottom);
    animation: pwa-backdrop-in-b-b76s3jfdv5 0.2s ease;
}
.pwa-install-card[b-b76s3jfdv5] {
    width: 100%;
    max-width: 480px;
    background: var(--mud-palette-surface);
    border-radius: 20px 20px 0 0;
    padding: 28px 24px 32px;
    box-shadow: 0 -4px 32px rgba(0,0,0,0.25);
    animation: pwa-card-in-b-b76s3jfdv5 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pwa-install-icon-wrap[b-b76s3jfdv5] {
    display: flex;
    justify-content: center;
    margin-bottom: 16px;
}
.pwa-install-logo[b-b76s3jfdv5] {
    width: 240px;
    height: 72px;
    border-radius: 16px;
    object-fit: contain;
}
.pwa-install-ios-steps[b-b76s3jfdv5] {
    list-style: decimal;
    padding: 0 0 0 20px;
    margin: 0 0 8px;
    color: var(--mud-palette-text-primary);
    font-size: 0.9rem;
    line-height: 1.5;
}
.pwa-install-ios-steps li[b-b76s3jfdv5] {
    margin-bottom: 10px;
}
.pwa-install-ios-steps li:last-child[b-b76s3jfdv5] {
    margin-bottom: 0;
}
@keyframes pwa-backdrop-in-b-b76s3jfdv5 {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes pwa-card-in-b-b76s3jfdv5 {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
}
/* /Layouts/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-e60cd45m8f] {
    background-color: rgba(255, 255, 255, 0.1);
}

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

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

.bi[b-e60cd45m8f] {
    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-e60cd45m8f] {
    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-e60cd45m8f] {
    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-e60cd45m8f] {
    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-e60cd45m8f] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

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

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

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

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

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

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

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

    .nav-scrollable[b-e60cd45m8f] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

.nav-wrapper[b-e60cd45m8f] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.nav-spacer[b-e60cd45m8f] {
    flex: 1;
}
/* /Layouts/PublicLayout.razor.rz.scp.css */
.public-layout[b-nsd7tfjrsx] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #111;
}
.public-header[b-nsd7tfjrsx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 24px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    background: #1a1a1a;
}
.public-brand[b-nsd7tfjrsx] {
    font-weight: 700;
    letter-spacing: 0.05em;
    background: linear-gradient(90deg, #ffffff 0%, #FFD166 55%, #E8A820 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.public-content[b-nsd7tfjrsx] {
    flex: 1;
    display: flex;
    flex-direction: column;
}
/* /Pages/Admin/DetectDuplicates.razor.rz.scp.css */
    .dup-card-clickable[b-c85lv1gjb0] {
        cursor: pointer;
        transition: transform 0.1s, box-shadow 0.1s;
    }
    .dup-card-clickable:hover[b-c85lv1gjb0] {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    }

    .dup-admin-thumb[b-c85lv1gjb0] {
        position: relative;
        height: 120px;
        overflow: hidden;
        border-radius: 8px;
        background: #111;
    }

    .dup-admin-detail-btn[b-c85lv1gjb0] {
        position: absolute;
        top: 6px;
        left: 6px;
        background: rgba(0, 0, 0, 0.55);
        border-radius: 6px;
        width: 28px;
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        opacity: 0;
        transition: opacity 0.15s;
        z-index: 1;
    }

    .dup-admin-thumb:hover .dup-admin-detail-btn[b-c85lv1gjb0] {
        opacity: 1;
    }

    @media (max-width: 600px) {
        .dup-admin-detail-btn[b-c85lv1gjb0] {
            opacity: 1;
        }
    }
/* /Pages/Admin/Stats.razor.rz.scp.css */
    .stats-card[b-o643m1wy1l] {
        border-radius: 16px;
        background: var(--mud-palette-surface);
    }
    .stats-card .mud-avatar[b-o643m1wy1l] {
        width: 40px;
        height: 40px;
    }
    .stats-unit[b-o643m1wy1l] {
        font-size: 0.9rem;
        color: var(--mud-palette-text-secondary);
        margin-left: 6px;
    }
    .stats-table .mud-table-container[b-o643m1wy1l] {
        border-radius: 12px;
        background: var(--mud-palette-surface);
    }
/* /Pages/Admin/Users.razor.rz.scp.css */
    .user-row[b-kp68tueni5] {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 16px;
    }
    .user-info[b-kp68tueni5] {
        flex: 1;
        min-width: 0;
    }
/* /Pages/AlbumManagement/AlbumsDesktopView.razor.rz.scp.css */
[b-6i1ewecuct] .album-card-container {
    position: relative;
    cursor: pointer;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    background: var(--mud-palette-surface);
    transition: transform 0.2s, box-shadow 0.2s;
    border: 1px solid var(--mud-palette-divider);
    content-visibility: auto;
    contain-intrinsic-size: 220px 260px;
}

[b-6i1ewecuct] .album-card-container:hover {
    transform: translateY(-4px);
    box-shadow: var(--mud-elevation-4);
}

[b-6i1ewecuct] .album-select-checkbox {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 5;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
    background: rgba(0,0,0,0.45);
    border-radius: 999px;
    padding: 2px;
    color: white;
}

[b-6i1ewecuct] .album-select-checkbox .mud-icon-root {
    color: white !important;
}

[b-6i1ewecuct] .album-card-container:hover .album-select-checkbox,
[b-6i1ewecuct] .album-card-container.selected .album-select-checkbox {
    opacity: 1;
    pointer-events: auto;
}

[b-6i1ewecuct] .albums-search {
    max-width: 300px;
}

[b-6i1ewecuct] .album-overlay-name {
    color: white;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.4;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

[b-6i1ewecuct] .album-overlay-count {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.75rem;
    line-height: 1.4;
}

/* ── Collage ── */
[b-6i1ewecuct] .album-thumb-collage {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--mud-palette-surface);
}

[b-6i1ewecuct] .collage-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    width: 100%;
    height: 100%;
    gap: 2px;
    transition: gap 0.35s ease;
}

[b-6i1ewecuct] .album-card-container:hover .collage-grid {
    gap: 3px;
}

[b-6i1ewecuct] .collage-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
    display: block;
}

[b-6i1ewecuct] .album-card-container:hover .collage-img {
    transform: scale(1.06);
}

[b-6i1ewecuct] .collage-single {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
    display: block;
}

[b-6i1ewecuct] .album-card-container:hover .collage-single {
    transform: scale(1.06);
}

[b-6i1ewecuct] .collage-empty {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--mud-palette-primary) 0%, var(--mud-palette-primary-dark, #4f46e5) 100%);
    color: white;
}

[b-6i1ewecuct] .collage-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px;
    background: linear-gradient(transparent, rgba(0,0,0,0.82));
    pointer-events: none;
}

[b-6i1ewecuct] .albums-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
    overflow-x: auto;
}

[b-6i1ewecuct] .album-year-header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 16px 0 8px;
}

[b-6i1ewecuct] .album-year-count {
    color: var(--mud-palette-text-secondary);
}

[b-6i1ewecuct] .album-grid-badges {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    z-index: 5;
}

[b-6i1ewecuct] .album-shared-badge {
    background: rgba(0,0,0,0.5);
    color: white;
    padding: 2px 6px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
}

[b-6i1ewecuct] .album-grid-share-btn {
    background: rgba(0,0,0,0.5);
    color: white;
    padding: 3px 5px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    z-index: 5;
    cursor: pointer;
    transition: background 0.15s;
}

[b-6i1ewecuct] .album-grid-share-btn.active {
    color: var(--mud-palette-primary-lighten);
}

[b-6i1ewecuct] .album-grid-share-btn:hover {
    background: var(--mud-palette-primary);
    color: white;
}

[b-6i1ewecuct] .album-list-share-btn {
    flex-shrink: 0;
}

[b-6i1ewecuct] .album-list-shared-badge {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}

[b-6i1ewecuct] .album-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

[b-6i1ewecuct] .album-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
}

[b-6i1ewecuct] .album-list-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px;
    border-radius: 12px;
    background: var(--mud-palette-surface);
    transition: background 0.2s ease;
    cursor: pointer;
    position: relative;
    content-visibility: auto;
    contain-intrinsic-size: 100% 120px;
}

[b-6i1ewecuct] .album-list-item:hover {
    background: var(--mud-palette-action-hover);
}

[b-6i1ewecuct] .album-list-thumb {
    width: 70px;
    height: 70px;
    position: relative;
    flex: 0 0 80px;
    border-radius: 8px;
    overflow: hidden;
}

[b-6i1ewecuct] .album-list-info {
    flex: 1;
    min-width: 0;
}

[b-6i1ewecuct] .album-list-title {
    font-weight: 600;
}

[b-6i1ewecuct] .album-list-meta {
    color: var(--mud-palette-text-secondary);
    font-size: 0.85rem;
}

/* ── Album hero ── */
[b-6i1ewecuct] .album-hero {
    position: relative;
    width: calc(100% + 48px);
    margin-left: -24px;
    margin-right: -24px;
    margin-top: -24px;
    min-height: 360px;
    border-radius: 0;
    overflow: hidden;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

[b-6i1ewecuct] .album-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    background-size: cover;
    background-position: center;
    filter: blur(20px) brightness(0.7);
    transform: scale(1.1);
}

[b-6i1ewecuct] .album-hero-content {
    position: relative;
    z-index: 1;
    padding: 24px;
    background: linear-gradient(transparent, rgba(0,0,0,0.7));
    color: white;
}

[b-6i1ewecuct] .album-hero-actions {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    display: flex;
    gap: 8px;
    color: white;
}

[b-6i1ewecuct] .album-hero-back {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    color: white;
}

[b-6i1ewecuct] .album-description-text {
    max-height: 100px;
    overflow-y: auto;
    opacity: 0.9;
}

[b-6i1ewecuct] .album-detail-scroll {
    height: calc(100vh - var(--mud-appbar-height, 64px));
    overflow-y: auto;
    overflow-x: hidden;
}

/* View toggle in filter sheet */
[b-6i1ewecuct] .album-view-toggle {
    gap: 8px;
    border: none !important;
    box-shadow: none !important;
}

[b-6i1ewecuct] .album-view-toggle .mud-toggle-item {
    border-radius: 20px !important;
    background: var(--mud-palette-action-default-hover);
    flex: 1;
}

[b-6i1ewecuct] .album-view-toggle .mud-toggle-item-selected {
    background: var(--mud-palette-primary) !important;
    color: var(--mud-palette-primary-text) !important;
}

[b-6i1ewecuct] .share-link-row {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

[b-6i1ewecuct] .share-link-row:last-child {
    border-bottom: none;
}

[b-6i1ewecuct] .share-link-info {
    flex: 1;
    min-width: 0;
}

[b-6i1ewecuct] .share-link-url {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: monospace;
    font-size: 0.78rem;
    opacity: 0.75;
}
/* /Pages/AlbumManagement/AlbumsMobileView.razor.rz.scp.css */
[b-na5ww6jzce] .album-card-container {
    position: relative;
    cursor: pointer;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    background: var(--mud-palette-surface);
    transition: transform 0.2s, box-shadow 0.2s;
    border: 1px solid var(--mud-palette-divider);
    content-visibility: auto;
    contain-intrinsic-size: 220px 260px;
}

[b-na5ww6jzce] .album-card-container:hover {
    transform: translateY(-4px);
    box-shadow: var(--mud-elevation-4);
}

[b-na5ww6jzce] .album-select-checkbox {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 5;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
    background: rgba(0,0,0,0.45);
    border-radius: 999px;
    padding: 2px;
    color: white;
}

[b-na5ww6jzce] .album-select-checkbox .mud-icon-root {
    color: white !important;
}

/* Touch devices: only show checkbox when actually selected */
[b-na5ww6jzce] .album-card-container.selected .album-select-checkbox {
    opacity: 1;
    pointer-events: auto;
}

[b-na5ww6jzce] .album-overlay-name {
    color: white;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.4;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

[b-na5ww6jzce] .album-overlay-count {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.75rem;
    line-height: 1.4;
}

/* ── Collage ── */
[b-na5ww6jzce] .album-thumb-collage {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--mud-palette-surface);
}

[b-na5ww6jzce] .collage-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    width: 100%;
    height: 100%;
    gap: 2px;
    transition: gap 0.35s ease;
}

[b-na5ww6jzce] .album-card-container:hover .collage-grid {
    gap: 3px;
}

[b-na5ww6jzce] .collage-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
    display: block;
}

[b-na5ww6jzce] .album-card-container:hover .collage-img {
    transform: scale(1.06);
}

[b-na5ww6jzce] .collage-single {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
    display: block;
}

[b-na5ww6jzce] .album-card-container:hover .collage-single {
    transform: scale(1.06);
}

[b-na5ww6jzce] .collage-empty {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--mud-palette-primary) 0%, var(--mud-palette-primary-dark, #4f46e5) 100%);
    color: white;
}

[b-na5ww6jzce] .collage-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px;
    background: linear-gradient(transparent, rgba(0,0,0,0.82));
    pointer-events: none;
}

[b-na5ww6jzce] .albums-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
    overflow-x: auto;
}

[b-na5ww6jzce] .album-year-header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 16px 0 8px;
}

[b-na5ww6jzce] .album-year-count {
    color: var(--mud-palette-text-secondary);
}

[b-na5ww6jzce] .album-grid-badges {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    z-index: 5;
}

[b-na5ww6jzce] .album-shared-badge {
    background: rgba(0,0,0,0.5);
    color: white;
    padding: 2px 6px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
}

[b-na5ww6jzce] .album-grid-share-btn {
    background: rgba(0,0,0,0.5);
    color: white;
    padding: 3px 5px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    z-index: 5;
    cursor: pointer;
    transition: background 0.15s;
}

[b-na5ww6jzce] .album-grid-share-btn.active {
    color: var(--mud-palette-primary-lighten);
}

[b-na5ww6jzce] .album-grid-share-btn:hover {
    background: var(--mud-palette-primary);
    color: white;
}

[b-na5ww6jzce] .album-list-share-btn {
    flex-shrink: 0;
}

[b-na5ww6jzce] .album-list-shared-badge {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}

[b-na5ww6jzce] .album-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Mobile: smaller grid columns */
[b-na5ww6jzce] .album-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 6px;
}

[b-na5ww6jzce] .album-list-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px;
    border-radius: 12px;
    background: var(--mud-palette-surface);
    transition: background 0.2s ease;
    cursor: pointer;
    position: relative;
    content-visibility: auto;
    contain-intrinsic-size: 100% 120px;
}

[b-na5ww6jzce] .album-list-item:hover {
    background: var(--mud-palette-action-hover);
}

[b-na5ww6jzce] .album-list-thumb {
    width: 70px;
    height: 70px;
    position: relative;
    flex: 0 0 80px;
    border-radius: 8px;
    overflow: hidden;
}

[b-na5ww6jzce] .album-list-info {
    flex: 1;
    min-width: 0;
}

[b-na5ww6jzce] .album-list-title {
    font-weight: 600;
}

[b-na5ww6jzce] .album-list-meta {
    color: var(--mud-palette-text-secondary);
    font-size: 0.85rem;
}

/* ── Album hero (mobile) ── */
[b-na5ww6jzce] .album-hero {
    position: relative;
    width: calc(100% + 48px);
    margin-left: -24px;
    margin-right: -24px;
    margin-top: -24px;
    min-height: 260px;
    border-radius: 0;
    overflow: hidden;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

[b-na5ww6jzce] .album-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    background-size: cover;
    background-position: center;
    filter: blur(20px) brightness(0.7);
    transform: scale(1.1);
}

[b-na5ww6jzce] .album-hero-content {
    position: relative;
    z-index: 1;
    padding: 24px;
    background: linear-gradient(transparent, rgba(0,0,0,0.7));
    color: white;
}

[b-na5ww6jzce] .album-hero-actions {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    display: flex;
    gap: 8px;
    color: white;
}

[b-na5ww6jzce] .album-hero-back {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    color: white;
}

[b-na5ww6jzce] .album-description-text {
    max-height: 100px;
    overflow-y: auto;
    opacity: 0.9;
}

/* Mobile: account for bottom nav bar */
[b-na5ww6jzce] .album-detail-scroll {
    height: calc(100vh - var(--mud-appbar-height, 64px) - 64px - env(safe-area-inset-bottom));
    overflow-y: auto;
    overflow-x: hidden;
}

/* View toggle in filter sheet */
[b-na5ww6jzce] .album-view-toggle {
    gap: 8px;
    border: none !important;
    box-shadow: none !important;
}

[b-na5ww6jzce] .album-view-toggle .mud-toggle-item {
    border-radius: 20px !important;
    background: var(--mud-palette-action-default-hover);
    flex: 1;
}

[b-na5ww6jzce] .album-view-toggle .mud-toggle-item-selected {
    background: var(--mud-palette-primary) !important;
    color: var(--mud-palette-primary-text) !important;
}

[b-na5ww6jzce] .share-link-row {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

[b-na5ww6jzce] .share-link-row:last-child {
    border-bottom: none;
}

[b-na5ww6jzce] .share-link-info {
    flex: 1;
    min-width: 0;
}

[b-na5ww6jzce] .share-link-url {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: monospace;
    font-size: 0.78rem;
    opacity: 0.75;
}
/* /Pages/Archive.razor.rz.scp.css */
    .assets-grid-content[b-z6txsdv6rq] {
        padding: 4px 4px 80px 4px;
    }

    .day-group[b-z6txsdv6rq] {
        margin-bottom: 32px;
    }

    .day-header[b-z6txsdv6rq] {
        font-weight: 600;
        color: var(--mud-palette-text-secondary);
        text-transform: capitalize;
        padding: 0 4px 6px 4px;
        display: block;
    }

    @media (max-width: 599.98px) {
        .day-header[b-z6txsdv6rq] {
            font-size: 0.78rem !important;
        }
    }

    .asset-select-container[b-z6txsdv6rq] {
        position: relative;
        aspect-ratio: 1 / 1;
        overflow: hidden;
        transition: transform 0.15s ease, background-color 0.15s ease;
        background-color: transparent;
    }

    .asset-select-container.selected[b-z6txsdv6rq] {
        transform: scale(0.90);
        background-color: var(--mud-palette-background-gray);
    }

    .asset-select-container.selection-mode:active[b-z6txsdv6rq] {
        transform: scale(0.90);
        transition-duration: 0.06s;
    }

    .asset-select-checkbox[b-z6txsdv6rq] {
        position: absolute;
        top: 4px;
        left: 4px;
        z-index: 5;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.2s;
        background: rgba(0,0,0,0.4);
        border-radius: 999px;
        padding: 2px;
        color: white;
    }

    .asset-select-checkbox .mud-icon-root[b-z6txsdv6rq] {
        color: white !important;
    }

    .asset-select-container:hover .asset-select-checkbox[b-z6txsdv6rq] {
        opacity: 1;
        pointer-events: auto;
    }

    .asset-select-container.selected .asset-select-checkbox[b-z6txsdv6rq] {
        opacity: 1;
        pointer-events: auto;
    }

    @media (max-width: 959.98px) {
        .asset-select-container:not(.selection-mode):not(.selected):hover .asset-select-checkbox[b-z6txsdv6rq] {
            opacity: 0;
            pointer-events: none;
        }
    }
/* /Pages/AssetDetailManagement/AssetDetailDesktopView.razor.rz.scp.css */
.asset-detail-container[b-1rhukqt556] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1100;
    display: flex;
    flex-direction: column;
    outline: none;
    margin: -24px;
    width: calc(100% + 48px);
    height: calc(100% + 48px);
    background-color: black;
}

.asset-detail-content[b-1rhukqt556] {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    transition: margin-right 0.3s ease;
}

.asset-detail-content.info-open[b-1rhukqt556] {
    margin-right: 360px;
}

.asset-detail-image[b-1rhukqt556] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    user-select: none;
}

video.asset-detail-image[b-1rhukqt556] {
    width: 100%;
    outline: none;
    background-color: black;
}

/* ── Info drawer (side panel) ── */
.asset-info-drawer[b-1rhukqt556] {
    width: 360px;
    background-color: #1a1a1a;
    overflow-y: auto;
    transition: transform 0.3s ease;
    position: fixed;
    right: 0;
    top: var(--mud-appbar-height, 64px);
    height: calc(100% - var(--mud-appbar-height, 64px));
    z-index: 1400;
    border-left: 1px solid #333;
    color: #e1e1e1;
    padding-bottom: env(safe-area-inset-bottom, 0px);
}

.asset-info-drawer.closed[b-1rhukqt556] {
    transform: translateX(100%);
}

/* Force dark input styles in drawer */
[b-1rhukqt556] .asset-info-drawer .mud-input-root input,
[b-1rhukqt556] .asset-info-drawer .mud-input-root textarea,
[b-1rhukqt556] .asset-info-drawer .mud-input,
[b-1rhukqt556] .asset-info-drawer .mud-input-slot {
    color: #e1e1e1 !important;
}

[b-1rhukqt556] .asset-info-drawer .mud-input-root input::placeholder,
[b-1rhukqt556] .asset-info-drawer .mud-input-root textarea::placeholder {
    color: #888 !important;
    opacity: 1 !important;
}

[b-1rhukqt556] .asset-info-drawer .mud-input-outlined fieldset {
    border-color: #555 !important;
}

[b-1rhukqt556] .asset-info-drawer .mud-input-outlined:hover fieldset {
    border-color: #888 !important;
}

[b-1rhukqt556] .asset-info-drawer .mud-input-outlined.mud-focused fieldset {
    border-color: var(--mud-palette-primary) !important;
}

[b-1rhukqt556] .asset-info-drawer .mud-input-control-input-slot {
    background-color: #2a2a2a !important;
    border-radius: 4px;
}

/* ── Navigation buttons ── */
[b-1rhukqt556] .nav-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    background-color: rgba(0,0,0,0.3);
    color: white !important;
    border-radius: 50% !important;
    transition: opacity 0.3s ease, background-color 0.2s, right 0.3s ease;
}

[b-1rhukqt556] .nav-button:hover {
    background-color: rgba(0,0,0,0.6);
}

[b-1rhukqt556] .nav-button.prev { left: 36px; }
[b-1rhukqt556] .nav-button.next { right: 36px; }

.asset-detail-content.info-open[b-1rhukqt556]  .nav-button.next {
    right: calc(360px + 36px);
}

[b-1rhukqt556] .nav-button.hidden {
    opacity: 0;
    pointer-events: none;
}

/* ── Zoom ── */
.asset-detail-content.zoomed-container[b-1rhukqt556] {
    overflow: auto;
    align-items: flex-start;
    justify-content: flex-start;
    cursor: zoom-out;
}

.asset-detail-image.zoomed[b-1rhukqt556] {
    max-width: none;
    max-height: none;
    width: auto;
    height: auto;
}

/* ── Slideshow ── */
.slideshow-controls-bar[b-1rhukqt556] {
    position: absolute;
    bottom: 48px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 60;
    display: flex;
    align-items: center;
    gap: 4px;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(10px);
    border-radius: 999px;
    padding: 6px 16px;
    color: white;
    transition: opacity 0.4s ease;
}

.slideshow-controls-bar.controls-hidden[b-1rhukqt556] {
    opacity: 0;
    pointer-events: none;
}

.slideshow-speed-btn[b-1rhukqt556] {
    min-width: 36px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    font-size: 0.75rem !important;
    min-height: 28px !important;
    color: white !important;
    background: none;
    border: none;
    cursor: pointer;
}

.slideshow-speed-btn.active[b-1rhukqt556] {
    background: rgba(255,255,255,0.2) !important;
}

.slideshow-divider[b-1rhukqt556] {
    width: 1px;
    height: 24px;
    background: rgba(255,255,255,0.25);
    margin: 0 6px;
}

@keyframes slideshow-advance-b-1rhukqt556 {
    from { width: 0%; }
    to   { width: 100%; }
}

.slideshow-progress[b-1rhukqt556] {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(255,255,255,0.15);
    z-index: 60;
}

.slideshow-progress-fill[b-1rhukqt556] {
    height: 3px;
    width: 0%;
    background: var(--mud-palette-primary, #FFD166);
    animation: slideshow-advance-b-1rhukqt556 linear forwards;
}

.slideshow-progress-fill.paused[b-1rhukqt556] {
    animation-play-state: paused;
}

/* ── Add to Album bottom sheet ── */
.add-to-album-drawer[b-1rhukqt556] {
    width: 100%;
    max-width: 520px;
    max-height: 80vh;
    overflow-y: auto;
    background-color: #1a1a1a;
    border-radius: 16px 16px 0 0;
    border-top: 1px solid #333;
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1402;
    transition: transform 0.3s ease;
    color: #e1e1e1;
    padding-bottom: env(safe-area-inset-bottom, 12px);
}

.add-to-album-drawer.closed[b-1rhukqt556] {
    transform: translateX(-50%) translateY(100%);
}

.add-to-album-drawer-backdrop[b-1rhukqt556] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1401;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.add-to-album-drawer-backdrop.hidden[b-1rhukqt556] {
    opacity: 0;
    pointer-events: none;
}

[b-1rhukqt556] .add-to-album-drawer .mud-input-root input,
[b-1rhukqt556] .add-to-album-drawer .mud-input,
[b-1rhukqt556] .add-to-album-drawer .mud-input-slot {
    color: #e1e1e1 !important;
}

[b-1rhukqt556] .add-to-album-drawer .mud-input-outlined fieldset {
    border-color: #555 !important;
}

[b-1rhukqt556] .add-to-album-drawer .mud-input-outlined:hover fieldset {
    border-color: #888 !important;
}

[b-1rhukqt556] .add-to-album-drawer .mud-input-outlined.mud-focused fieldset {
    border-color: var(--mud-palette-primary) !important;
}

[b-1rhukqt556] .add-to-album-drawer .mud-input-control-input-slot {
    background-color: #2a2a2a !important;
    border-radius: 4px;
}

/* ── Menu popover ── */
[b-1rhukqt556] .asset-detail-menu-popover {
    background-color: #1a1a1a !important;
    color: #e1e1e1 !important;
    border: 1px solid #333 !important;
}

[b-1rhukqt556] .asset-detail-menu-popover .mud-popover-paper {
    background-color: #1a1a1a !important;
    box-shadow: 0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12) !important;
    border: 1px solid #333 !important;
}

[b-1rhukqt556] .asset-detail-menu-popover .mud-list-item {
    color: #e1e1e1 !important;
}

[b-1rhukqt556] .asset-detail-menu-popover .mud-list-item:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}
/* /Pages/AssetDetailManagement/AssetDetailMobileView.razor.rz.scp.css */
.asset-detail-container[b-jv4dlez4j2] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1100;
    display: flex;
    flex-direction: column;
    outline: none;
    margin: -24px;
    width: calc(100% + 48px);
    height: calc(100% + 48px);
    background-color: black;
}

.asset-detail-content[b-jv4dlez4j2] {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

/* Mobile: no margin shift when info drawer is open */

.asset-detail-image[b-jv4dlez4j2] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    user-select: none;
    /* Disable native browser gestures on the image so our JS handles pinch/zoom
       locally instead of the browser zooming the whole viewport. */
    touch-action: none;
    -webkit-user-drag: none;
    will-change: transform;
}

video.asset-detail-image[b-jv4dlez4j2] {
    width: auto;
    height: auto;
    max-width: 90%;
    max-height: 100%;
    object-fit: contain;
    outline: none;
    background-color: black;
}

/* ── Info drawer (bottom sheet) ── */
.asset-info-drawer[b-jv4dlez4j2] {
    width: 100%;
    height: 72vh;
    background-color: #1a1a1a;
    overflow-y: auto;
    transition: transform 0.3s ease;
    position: fixed;
    bottom: 0;
    right: 0;
    top: auto;
    z-index: 1400;
    border-left: none;
    border-top: 1px solid #333;
    border-radius: 16px 16px 0 0;
    color: #e1e1e1;
    padding-bottom: env(safe-area-inset-bottom, 12px);
}

.asset-info-drawer.closed[b-jv4dlez4j2] {
    transform: translateY(100%);
}

/* Handle pill visible on mobile */
.asset-info-drawer-handle[b-jv4dlez4j2] {
    display: flex;
    justify-content: center;
    padding: 10px 0 4px;
    flex-shrink: 0;
}

.asset-info-drawer-handle-pill[b-jv4dlez4j2] {
    width: 36px;
    height: 4px;
    background-color: #555;
    border-radius: 2px;
}

/* Backdrop visible on mobile */
.asset-info-drawer-backdrop[b-jv4dlez4j2] {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1399;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.asset-info-drawer-backdrop.hidden[b-jv4dlez4j2] {
    opacity: 0;
    pointer-events: none;
}

/* Force dark input styles in drawer */
[b-jv4dlez4j2] .asset-info-drawer .mud-input-root input,
[b-jv4dlez4j2] .asset-info-drawer .mud-input-root textarea,
[b-jv4dlez4j2] .asset-info-drawer .mud-input,
[b-jv4dlez4j2] .asset-info-drawer .mud-input-slot {
    color: #e1e1e1 !important;
}

[b-jv4dlez4j2] .asset-info-drawer .mud-input-root input::placeholder,
[b-jv4dlez4j2] .asset-info-drawer .mud-input-root textarea::placeholder {
    color: #888 !important;
    opacity: 1 !important;
}

[b-jv4dlez4j2] .asset-info-drawer .mud-input-outlined fieldset {
    border-color: #555 !important;
}

[b-jv4dlez4j2] .asset-info-drawer .mud-input-outlined:hover fieldset {
    border-color: #888 !important;
}

[b-jv4dlez4j2] .asset-info-drawer .mud-input-outlined.mud-focused fieldset {
    border-color: var(--mud-palette-primary) !important;
}

[b-jv4dlez4j2] .asset-info-drawer .mud-input-control-input-slot {
    background-color: #2a2a2a !important;
    border-radius: 4px;
}

/* ── Navigation buttons ── */
[b-jv4dlez4j2] .nav-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    background-color: rgba(0,0,0,0.3);
    color: white !important;
    border-radius: 50% !important;
    transition: opacity 0.3s ease, background-color 0.2s;
}

[b-jv4dlez4j2] .nav-button:hover {
    background-color: rgba(0,0,0,0.6);
}

[b-jv4dlez4j2] .nav-button.prev { left: 36px; }
[b-jv4dlez4j2] .nav-button.next { right: 36px; }

/* Mobile: no right offset for nav button when info open */

[b-jv4dlez4j2] .nav-button.hidden {
    opacity: 0;
    pointer-events: none;
}

/* ── Zoom ── */
.asset-detail-content.zoomed-container[b-jv4dlez4j2] {
    overflow: auto;
    align-items: flex-start;
    justify-content: flex-start;
    cursor: zoom-out;
}

.asset-detail-image.zoomed[b-jv4dlez4j2] {
    max-width: none;
    max-height: none;
    width: auto;
    height: auto;
}

/* ── Slideshow ── */
.slideshow-controls-bar[b-jv4dlez4j2] {
    position: absolute;
    bottom: 48px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 60;
    display: flex;
    align-items: center;
    gap: 4px;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(10px);
    border-radius: 999px;
    padding: 6px 16px;
    color: white;
    transition: opacity 0.4s ease;
}

.slideshow-controls-bar.controls-hidden[b-jv4dlez4j2] {
    opacity: 0;
    pointer-events: none;
}

.slideshow-speed-btn[b-jv4dlez4j2] {
    min-width: 36px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    font-size: 0.75rem !important;
    min-height: 28px !important;
    color: white !important;
    background: none;
    border: none;
    cursor: pointer;
}

.slideshow-speed-btn.active[b-jv4dlez4j2] {
    background: rgba(255,255,255,0.2) !important;
}

.slideshow-divider[b-jv4dlez4j2] {
    width: 1px;
    height: 24px;
    background: rgba(255,255,255,0.25);
    margin: 0 6px;
}

@keyframes slideshow-advance-b-jv4dlez4j2 {
    from { width: 0%; }
    to   { width: 100%; }
}

.slideshow-progress[b-jv4dlez4j2] {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(255,255,255,0.15);
    z-index: 60;
}

.slideshow-progress-fill[b-jv4dlez4j2] {
    height: 3px;
    width: 0%;
    background: var(--mud-palette-primary, #FFD166);
    animation: slideshow-advance-b-jv4dlez4j2 linear forwards;
}

.slideshow-progress-fill.paused[b-jv4dlez4j2] {
    animation-play-state: paused;
}

/* ── Add to Album bottom sheet ── */
.add-to-album-drawer[b-jv4dlez4j2] {
    width: 100%;
    max-width: 520px;
    max-height: 80vh;
    overflow-y: auto;
    background-color: #1a1a1a;
    border-radius: 16px 16px 0 0;
    border-top: 1px solid #333;
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1402;
    transition: transform 0.3s ease;
    color: #e1e1e1;
    padding-bottom: env(safe-area-inset-bottom, 12px);
}

.add-to-album-drawer.closed[b-jv4dlez4j2] {
    transform: translateX(-50%) translateY(100%);
}

.add-to-album-drawer-backdrop[b-jv4dlez4j2] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1401;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.add-to-album-drawer-backdrop.hidden[b-jv4dlez4j2] {
    opacity: 0;
    pointer-events: none;
}

[b-jv4dlez4j2] .add-to-album-drawer .mud-input-root input,
[b-jv4dlez4j2] .add-to-album-drawer .mud-input,
[b-jv4dlez4j2] .add-to-album-drawer .mud-input-slot {
    color: #e1e1e1 !important;
}

[b-jv4dlez4j2] .add-to-album-drawer .mud-input-outlined fieldset {
    border-color: #555 !important;
}

[b-jv4dlez4j2] .add-to-album-drawer .mud-input-outlined:hover fieldset {
    border-color: #888 !important;
}

[b-jv4dlez4j2] .add-to-album-drawer .mud-input-outlined.mud-focused fieldset {
    border-color: var(--mud-palette-primary) !important;
}

[b-jv4dlez4j2] .add-to-album-drawer .mud-input-control-input-slot {
    background-color: #2a2a2a !important;
    border-radius: 4px;
}

/* ── Menu popover ── */
[b-jv4dlez4j2] .asset-detail-menu-popover {
    background-color: #1a1a1a !important;
    color: #e1e1e1 !important;
    border: 1px solid #333 !important;
}

[b-jv4dlez4j2] .asset-detail-menu-popover .mud-popover-paper {
    background-color: #1a1a1a !important;
    box-shadow: 0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12) !important;
    border: 1px solid #333 !important;
}

[b-jv4dlez4j2] .asset-detail-menu-popover .mud-list-item {
    color: #e1e1e1 !important;
}

[b-jv4dlez4j2] .asset-detail-menu-popover .mud-list-item:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* Landscape: info drawer fills more of the screen since 72vh is cramped at low heights. */
@media (orientation: landscape) and (max-height: 500px) {
    .asset-info-drawer[b-jv4dlez4j2] {
        height: 92vh;
    }

    .add-to-album-drawer[b-jv4dlez4j2] {
        max-height: 92vh;
    }
}
/* /Pages/Device.razor.rz.scp.css */
    .device-date-header[b-59g4twtx98] {
        font-weight: 600;
        color: var(--mud-palette-text-secondary);
        text-transform: capitalize;
        padding: 0 4px 6px 4px;
    }
    @media (max-width: 599.98px) {
        .device-date-header[b-59g4twtx98] { font-size: 0.78rem !important; }
    }
    .device-asset-row[b-59g4twtx98] {
        display: flex;
        gap: 4px;
        margin-bottom: 4px;
    }
    .device-asset-cell[b-59g4twtx98] {
        flex: 1;
        min-width: 0;
        aspect-ratio: 1 / 1;
    }
    .local-lightbox[b-59g4twtx98] {
        position: fixed; inset: 0;
        background: rgba(0,0,0,.96);
        z-index: 9999;
        display: flex; flex-direction: column;
    }
    .local-lightbox-toolbar[b-59g4twtx98] {
        display: flex; align-items: center; gap: 4px;
        padding: 8px 8px 8px 16px;
        background: rgba(0,0,0,.6);
        flex-shrink: 0;
    }
    .local-lightbox-content[b-59g4twtx98] {
        flex: 1; display: flex;
        align-items: center; justify-content: center;
        overflow: hidden; padding: 8px;
    }
    .local-lightbox-media[b-59g4twtx98] {
        max-width: 100%; max-height: 100%;
        object-fit: contain; border-radius: 4px;
    }
/* /Pages/Favorites.razor.rz.scp.css */
    .assets-grid-content[b-u0zp3ues5y] {
        padding: 4px 4px 80px 4px;
    }

    .day-group[b-u0zp3ues5y] {
        margin-bottom: 32px;
    }

    .day-header[b-u0zp3ues5y] {
        font-weight: 600;
        color: var(--mud-palette-text-secondary);
        text-transform: capitalize;
        padding: 0 4px 6px 4px;
        display: block;
    }

    @media (max-width: 599.98px) {
        .day-header[b-u0zp3ues5y] {
            font-size: 0.78rem !important;
        }
    }

    .asset-select-container[b-u0zp3ues5y] {
        position: relative;
        aspect-ratio: 1 / 1;
        overflow: hidden;
        transition: transform 0.15s ease, background-color 0.15s ease;
        background-color: transparent;
    }

    .asset-select-container.selected[b-u0zp3ues5y] {
        transform: scale(0.90);
        background-color: var(--mud-palette-background-gray);
    }

    .asset-select-container.selection-mode:active[b-u0zp3ues5y] {
        transform: scale(0.90);
        transition-duration: 0.06s;
    }

    .asset-select-checkbox[b-u0zp3ues5y] {
        position: absolute;
        top: 4px;
        left: 4px;
        z-index: 5;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.2s;
        background: rgba(0,0,0,0.4);
        border-radius: 999px;
        padding: 2px;
        color: white;
    }

    .asset-select-checkbox .mud-icon-root[b-u0zp3ues5y] {
        color: white !important;
    }

    .asset-select-container:hover .asset-select-checkbox[b-u0zp3ues5y] {
        opacity: 1;
        pointer-events: auto;
    }

    .asset-select-container.selected .asset-select-checkbox[b-u0zp3ues5y] {
        opacity: 1;
        pointer-events: auto;
    }

    @media (max-width: 959.98px) {
        .asset-select-container:not(.selection-mode):not(.selected):hover .asset-select-checkbox[b-u0zp3ues5y] {
            opacity: 0;
            pointer-events: none;
        }
    }
/* /Pages/FolderManagement/FoldersDesktopView.razor.rz.scp.css */
[b-z0h3yc2667] .folder-card-container {
    position: relative;
    cursor: pointer;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    background: var(--mud-palette-surface);
    transition: transform 0.2s, box-shadow 0.2s;
    border: 1px solid var(--mud-palette-divider);
    content-visibility: auto;
    contain-intrinsic-size: 220px 240px;
}
[b-z0h3yc2667] .folder-card-container:hover {
    transform: translateY(-4px);
    box-shadow: var(--mud-elevation-4);
}
[b-z0h3yc2667] .folder-thumbnail-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}
[b-z0h3yc2667] .folder-card-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}
[b-z0h3yc2667] .folder-card-container:hover .folder-card-thumbnail {
    transform: scale(1.06);
}
[b-z0h3yc2667] .folder-card-icon {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--mud-palette-primary) 0%, var(--mud-palette-primary-dark) 100%);
}
[b-z0h3yc2667] .folder-card-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px;
    background: linear-gradient(transparent, rgba(0,0,0,0.82));
    color: white;
    pointer-events: none;
}
[b-z0h3yc2667] .folder-collage-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    width: 100%;
    height: 100%;
    gap: 2px;
    transition: gap 0.35s ease;
}
[b-z0h3yc2667] .folder-card-container:hover .folder-collage-grid {
    gap: 3px;
}
[b-z0h3yc2667] .folder-collage-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
    display: block;
}
[b-z0h3yc2667] .folder-card-container:hover .folder-collage-img {
    transform: scale(1.06);
}
[b-z0h3yc2667] .folder-card-overlay-name {
    font-weight: 600;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
[b-z0h3yc2667] .folder-card-overlay-count {
    color: rgba(255,255,255,0.9);
}
[b-z0h3yc2667] .folder-shared-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    background: rgba(0,0,0,0.5);
    color: white;
    padding: 2px 6px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
    z-index: 5;
}
[b-z0h3yc2667] .folder-list-shared-badge {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}
[b-z0h3yc2667] .folder-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
[b-z0h3yc2667] .folder-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
}
[b-z0h3yc2667] .folder-list-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px;
    border-radius: 12px;
    background: var(--mud-palette-surface);
    transition: background 0.2s ease;
    cursor: pointer;
    position: relative;
    content-visibility: auto;
    contain-intrinsic-size: 100% 120px;
}
[b-z0h3yc2667] .folder-list-item:hover {
    background: var(--mud-palette-action-hover);
}
[b-z0h3yc2667] .folder-list-thumb {
    width: 70px;
    height: 70px;
    position: relative;
    flex: 0 0 80px;
    border-radius: 8px;
    overflow: hidden;
}
[b-z0h3yc2667] .folder-list-info {
    min-width: 0;
    flex-grow: 1;
}
[b-z0h3yc2667] .folder-list-name {
    font-weight: 600;
}
[b-z0h3yc2667] .folder-list-meta {
    color: var(--mud-palette-text-secondary);
}
[b-z0h3yc2667] .folder-list-item:hover .folder-select-checkbox,
[b-z0h3yc2667] .folder-list-item.selected .folder-select-checkbox {
    opacity: 1;
    pointer-events: auto;
}
[b-z0h3yc2667] .folders-search {
    max-width: 300px;
}
[b-z0h3yc2667] .folder-view-toggle {
    gap: 8px;
    border: none !important;
    box-shadow: none !important;
}
[b-z0h3yc2667] .folder-view-toggle .mud-toggle-item {
    border-radius: 20px !important;
    background: var(--mud-palette-action-default-hover);
    flex: 1;
}
[b-z0h3yc2667] .folder-view-toggle .mud-toggle-item-selected {
    background: var(--mud-palette-primary) !important;
    color: var(--mud-palette-primary-text) !important;
}
[b-z0h3yc2667] .folder-select-checkbox {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 5;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
    background: rgba(0,0,0,0.45);
    border-radius: 999px;
    padding: 2px;
    color: white;
}
[b-z0h3yc2667] .folder-select-checkbox .mud-icon-root {
    color: white !important;
}
[b-z0h3yc2667] .folder-card-container:hover .folder-select-checkbox,
[b-z0h3yc2667] .folder-card-container.selected .folder-select-checkbox {
    opacity: 1;
    pointer-events: auto;
}
/* /Pages/FolderManagement/FoldersMobileView.razor.rz.scp.css */
[b-4hbjx4kjg8] .folder-card-container {
    position: relative;
    cursor: pointer;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    background: var(--mud-palette-surface);
    transition: transform 0.2s, box-shadow 0.2s;
    border: 1px solid var(--mud-palette-divider);
    content-visibility: auto;
    contain-intrinsic-size: 220px 240px;
}
[b-4hbjx4kjg8] .folder-card-container:hover {
    transform: translateY(-4px);
    box-shadow: var(--mud-elevation-4);
}
[b-4hbjx4kjg8] .folder-thumbnail-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}
[b-4hbjx4kjg8] .folder-card-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}
[b-4hbjx4kjg8] .folder-card-container:hover .folder-card-thumbnail {
    transform: scale(1.06);
}
[b-4hbjx4kjg8] .folder-card-icon {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--mud-palette-primary) 0%, var(--mud-palette-primary-dark) 100%);
}
[b-4hbjx4kjg8] .folder-card-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px;
    background: linear-gradient(transparent, rgba(0,0,0,0.82));
    color: white;
    pointer-events: none;
}
[b-4hbjx4kjg8] .folder-collage-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    width: 100%;
    height: 100%;
    gap: 2px;
    transition: gap 0.35s ease;
}
[b-4hbjx4kjg8] .folder-card-container:hover .folder-collage-grid {
    gap: 3px;
}
[b-4hbjx4kjg8] .folder-collage-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
    display: block;
}
[b-4hbjx4kjg8] .folder-card-container:hover .folder-collage-img {
    transform: scale(1.06);
}
[b-4hbjx4kjg8] .folder-card-overlay-name {
    font-weight: 600;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
[b-4hbjx4kjg8] .folder-card-overlay-count {
    color: rgba(255,255,255,0.9);
}
[b-4hbjx4kjg8] .folder-shared-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    background: rgba(0,0,0,0.5);
    color: white;
    padding: 2px 6px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
    z-index: 5;
}
[b-4hbjx4kjg8] .folder-list-shared-badge {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.875rem;
}
[b-4hbjx4kjg8] .folder-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
[b-4hbjx4kjg8] .folder-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 6px;
}
[b-4hbjx4kjg8] .folder-list-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px;
    border-radius: 12px;
    background: var(--mud-palette-surface);
    transition: background 0.2s ease;
    cursor: pointer;
    position: relative;
    content-visibility: auto;
    contain-intrinsic-size: 100% 120px;
}
[b-4hbjx4kjg8] .folder-list-item:hover {
    background: var(--mud-palette-action-hover);
}
[b-4hbjx4kjg8] .folder-list-thumb {
    width: 70px;
    height: 70px;
    position: relative;
    flex: 0 0 80px;
    border-radius: 8px;
    overflow: hidden;
}
[b-4hbjx4kjg8] .folder-list-info {
    min-width: 0;
    flex-grow: 1;
}
[b-4hbjx4kjg8] .folder-list-name {
    font-weight: 600;
}
[b-4hbjx4kjg8] .folder-list-meta {
    color: var(--mud-palette-text-secondary);
}
[b-4hbjx4kjg8] .folder-list-item:hover .folder-select-checkbox,
[b-4hbjx4kjg8] .folder-list-item.selected .folder-select-checkbox {
    opacity: 1;
    pointer-events: auto;
}
[b-4hbjx4kjg8] .folder-view-toggle {
    gap: 8px;
    border: none !important;
    box-shadow: none !important;
}
[b-4hbjx4kjg8] .folder-view-toggle .mud-toggle-item {
    border-radius: 20px !important;
    background: var(--mud-palette-action-default-hover);
    flex: 1;
}
[b-4hbjx4kjg8] .folder-view-toggle .mud-toggle-item-selected {
    background: var(--mud-palette-primary) !important;
    color: var(--mud-palette-primary-text) !important;
}
/* Compact folder title on mobile */
[b-4hbjx4kjg8] .folder-page-title {
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 160px;
}
[b-4hbjx4kjg8] .folder-select-checkbox {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 5;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
    background: rgba(0,0,0,0.45);
    border-radius: 999px;
    padding: 2px;
    color: white;
}
[b-4hbjx4kjg8] .folder-select-checkbox .mud-icon-root {
    color: white !important;
}
[b-4hbjx4kjg8] .folder-card-container:hover .folder-select-checkbox,
[b-4hbjx4kjg8] .folder-card-container.selected .folder-select-checkbox {
    opacity: 1;
    pointer-events: auto;
}
/* Touch devices: hide checkbox unless the folder is actually selected */
[b-4hbjx4kjg8] .folder-card-container:not(.selected):hover .folder-select-checkbox,
[b-4hbjx4kjg8] .folder-list-item:not(.selected):hover .folder-select-checkbox {
    opacity: 0;
}
/* /Pages/Map.razor.rz.scp.css */
#map[b-khno1qvo2b] {
    z-index: 0;
}

.map-drawer-grid[b-khno1qvo2b] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 3px;
    padding: 0 8px 8px;
}

.map-drawer-cell[b-khno1qvo2b] {
    position: relative;
    aspect-ratio: 1;
    cursor: pointer;
    border-radius: 4px;
    overflow: hidden;
    background: #333;
    content-visibility: auto;
    contain-intrinsic-size: 110px 110px;
    transition: transform 0.15s ease;
}

.map-drawer-cell.selected[b-khno1qvo2b] {
    transform: scale(0.90);
}

.map-drawer-cell.selection-mode:active[b-khno1qvo2b] {
    transform: scale(0.90);
    transition-duration: 0.06s;
}

.map-cluster-icon[b-khno1qvo2b] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.map-cluster-icon img[b-khno1qvo2b] {
    border-radius: 50%;
}

[b-khno1qvo2b] .leaflet-control {
    background: var(--mud-palette-surface) !important;
    color: var(--mud-palette-text-primary) !important;
    border-radius: 4px;
    box-shadow: 0 1px 5px rgba(0,0,0,0.4);
    border: 1px solid var(--mud-palette-divider) !important;
}

[b-khno1qvo2b] .leaflet-control-zoom a,
[b-khno1qvo2b] .leaflet-control-locate a,
[b-khno1qvo2b] .leaflet-control-fullscreen {
    background-color: var(--mud-palette-surface) !important;
    color: var(--mud-palette-text-primary) !important;
    border-bottom: 1px solid var(--mud-palette-divider) !important;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    text-decoration: none;
    display: block;
    font-size: 18px;
    font-weight: bold;
}

[b-khno1qvo2b] .leaflet-control-zoom a:hover,
[b-khno1qvo2b] .leaflet-control-locate a:hover,
[b-khno1qvo2b] .leaflet-control-fullscreen:hover {
    background-color: var(--mud-palette-background-grey) !important;
}

[b-khno1qvo2b] .leaflet-control-zoom-in {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

[b-khno1qvo2b] .leaflet-control-zoom-out {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    border-bottom: none !important;
}

[b-khno1qvo2b] .leaflet-control-scale {
    background: var(--mud-palette-surface) !important;
    color: var(--mud-palette-text-primary) !important;
    border: 2px solid var(--mud-palette-divider) !important;
    border-top: none !important;
    line-height: 1.1;
    padding: 2px 5px 1px;
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    box-sizing: border-box;
}
/* /Pages/MyShares.razor.rz.scp.css */
    .my-shares-list[b-sdtafm88t2] {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .my-shares-row[b-sdtafm88t2] {
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 10px 12px;
        border-radius: 8px;
        transition: background 0.15s;
    }
    .my-shares-row:hover[b-sdtafm88t2] { background: rgba(255,255,255,0.05); }

    .my-shares-thumb[b-sdtafm88t2] {
        position: relative;
        width: 56px;
        height: 56px;
        border-radius: 6px;
        overflow: hidden;
        background: rgba(255,255,255,0.07);
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .my-shares-thumb img[b-sdtafm88t2] {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .my-shares-badge-type[b-sdtafm88t2] {
        position: absolute;
        top: 3px;
        left: 3px;
        width: 18px;
        height: 18px;
        border-radius: 4px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        background: rgba(0,0,0,0.45);
        backdrop-filter: blur(2px);
    }

    .my-shares-info[b-sdtafm88t2] {
        flex: 1;
        min-width: 0;
    }

    .my-shares-name-row[b-sdtafm88t2] {
        display: flex;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap;
    }

    .my-shares-name[b-sdtafm88t2] {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 300px;
    }

    .my-shares-url[b-sdtafm88t2] {
        font-family: monospace;
        font-size: 0.72rem;
        opacity: 0.6;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        margin-top: 2px;
        line-height: 1.4;
    }

    @media (max-width: 599.98px) {
        .my-shares-row[b-sdtafm88t2] {
            flex-wrap: wrap;
            gap: 10px;
            padding: 10px 4px;
            row-gap: 4px;
        }
        .my-shares-thumb[b-sdtafm88t2] {
            width: 48px;
            height: 48px;
        }
        .my-shares-info[b-sdtafm88t2] {
            flex: 1 1 calc(100% - 58px);
            min-width: 0;
        }
        .my-shares-url[b-sdtafm88t2] {
            font-size: 0.65rem;
        }
        .my-shares-actions[b-sdtafm88t2] {
            flex: 1 0 100%;
            gap: 4px;
            justify-content: space-around;
            padding: 4px 0 2px 0;
            margin-top: 2px;
            border-top: 1px solid rgba(255,255,255,0.08);
        }
        .my-shares-actions[b-sdtafm88t2]  .mud-icon-button {
            width: 44px;
            height: 44px;
        }
        .my-shares-actions[b-sdtafm88t2]  .mud-icon-button .mud-icon-root {
            font-size: 1.35rem;
        }
    }

    .my-shares-chip[b-sdtafm88t2] {
        height: 20px;
        font-size: 0.7rem;
    }

    .my-shares-actions[b-sdtafm88t2] {
        display: flex;
        gap: 2px;
        flex-shrink: 0;
    }
/* /Pages/Notifications.razor.rz.scp.css */
    .notification-item[b-yixbrvbxq5] {
        cursor: pointer;
        transition: background-color 0.15s ease;
        border-left: 3px solid transparent;
    }
    .notification-item:hover[b-yixbrvbxq5] {
        background-color: var(--mud-palette-action-hover);
    }
    .notification-item-unread[b-yixbrvbxq5] {
        cursor: pointer;
        transition: background-color 0.15s ease;
        border-left: 3px solid var(--mud-palette-primary);
    }
    .notification-item-unread:hover[b-yixbrvbxq5] {
        background-color: var(--mud-palette-action-hover);
    }
/* /Pages/SearchManagement/SearchDesktopView.razor.rz.scp.css */
.search-filters[b-a0t6lgpzr1] {
    display: flex;
}
/* /Pages/SearchManagement/SearchMobileView.razor.rz.scp.css */
/* Cabecera unificada: input + rail de chips + (cuando se expanden) fechas y
   ruta de carpeta, todo dentro del mismo bloque fijo. Antes el input era
   `position: fixed` y el rail vivía en el padre como elemento normal del
   flujo, así que al hacer scroll el rail desaparecía y solo quedaba el input.
   Mantenemos `position: fixed; top: auto` (la posición natural del elemento
   queda justo bajo el AppBar de Mud) por compatibilidad con el layout actual,
   y reservamos espacio mediante un spacer cuya altura cambia según haya
   filtros expandidos. */
.ph-search-bar[b-87c0qlb0km] {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 100;
    background-color: var(--mud-palette-surface);
    border-bottom: 1px solid var(--mud-palette-divider);
}

.ph-search-bar__row[b-87c0qlb0km] {
    padding: 12px 16px 4px 16px;
}

.ph-search-bar__filters[b-87c0qlb0km] {
    padding: 4px 16px 12px 16px;
}

/* Altura aproximada del input row (~58px) + rail (~40px). El rail es siempre
   una sola fila (flex-wrap:nowrap + scroll horizontal), así que el alto no
   crece aunque haya muchos chips. */
.ph-search-spacer[b-87c0qlb0km] {
    height: 104px;
}

/* + 3 campos densos (Desde / Hasta / Carpeta) con gap. */
.ph-search-spacer--expanded[b-87c0qlb0km] {
    height: 264px;
}
/* /Pages/Share.razor.rz.scp.css */
    /* ── States ─────────────────────────────────────────── */
    .share-center[b-pmar5kdfdu] {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: calc(100vh - 56px);
        color: rgba(255,255,255,0.6);
        padding: 24px;
        text-align: center;
    }

    /* ── Album hero ─────────────────────────────────────── */
    .share-album-view[b-pmar5kdfdu] {
        display: flex;
        flex-direction: column;
        min-height: calc(100vh - 56px);
    }

    .share-album-hero[b-pmar5kdfdu] {
        position: relative;
        width: 100%;
        min-height: 360px;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }

    .share-album-hero-bg[b-pmar5kdfdu] {
        position: absolute;
        inset: 0;
        background-size: cover;
        background-position: center;
        filter: blur(20px) brightness(0.7);
        transform: scale(1.1);
    }

    .share-album-hero-bg--empty[b-pmar5kdfdu] {
        background: linear-gradient(135deg, var(--mud-palette-primary) 0%, var(--mud-palette-primary-dark) 100%);
        filter: brightness(0.7);
        transform: none;
    }

    .share-album-hero-actions[b-pmar5kdfdu] {
        position: absolute;
        top: 8px;
        right: 8px;
        z-index: 2;
        color: white;
    }

    .share-album-hero-content[b-pmar5kdfdu] {
        position: relative;
        z-index: 1;
        padding: 24px;
        background: linear-gradient(transparent, rgba(0,0,0,0.75));
    }

    /* ── Album grid ─────────────────────────────────────── */
    .share-album-grid-wrap[b-pmar5kdfdu] {
        padding: 24px;
        max-width: 1400px;
        margin: 0 auto;
        width: 100%;
        box-sizing: border-box;
    }

    .share-album-grid[b-pmar5kdfdu] {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
        gap: 4px;
    }

    .share-album-thumb[b-pmar5kdfdu] {
        aspect-ratio: 1 / 1;
        overflow: hidden;
        cursor: pointer;
        position: relative;
        background: #2a2a2a;
        border-radius: 4px;
        border: 2px solid transparent;
        transition: opacity 0.15s;
    }
    .share-album-thumb:hover[b-pmar5kdfdu] { opacity: 0.85; }
    .share-album-thumb.selected[b-pmar5kdfdu] { border-color: var(--mud-palette-primary); }
    .share-album-thumb img[b-pmar5kdfdu] {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .share-video-badge[b-pmar5kdfdu] {
        position: absolute;
        bottom: 6px;
        right: 6px;
        color: white;
        filter: drop-shadow(0 0 2px rgba(0,0,0,0.6));
    }

    /* ── Lightbox ───────────────────────────────────────── */
    .share-lightbox[b-pmar5kdfdu] {
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.92);
        z-index: 9999;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .share-lightbox-inner[b-pmar5kdfdu] {
        display: flex;
        flex-direction: column;
        max-width: 95vw;
        max-height: 95vh;
    }
    .share-lightbox-media[b-pmar5kdfdu] {
        max-width: 95vw;
        max-height: calc(95vh - 48px);
        object-fit: contain;
    }
    .share-lightbox-bar[b-pmar5kdfdu] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 4px 4px 4px 12px;
        background: rgba(0,0,0,0.5);
    }
/* /Pages/TimelineManagement/TimelineDesktopView.razor.rz.scp.css */
/* body.timeline-page global overrides are in app.css (cannot be scoped) */

/* Contenedor principal del timeline */
.timeline-wrapper[b-lh6f77i75n] {
    position: relative;
    width: 100%;
    height: calc(100vh - var(--mud-appbar-height, 64px));
}

/* Contenedor principal con flex para layout horizontal */
.timeline-main-container[b-lh6f77i75n] {
    display: flex;
    width: 100%;
    height: 100%;
    position: relative;
}

/* Contenedor del contenido principal */
.timeline-content-wrapper[b-lh6f77i75n] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Barra de filtros */
.filter-chips-bar[b-lh6f77i75n] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 48px 4px 0;
    flex-shrink: 0;
    margin-bottom: 4px;
}

.filter-density-controls[b-lh6f77i75n] {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
}

/* Contenedor del timeline es el unico con scroll */
.timeline-container[b-lh6f77i75n] {
    display: flex;
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-gutter: stable;
    overflow-anchor: auto;
}

/* Hide native scrollbar — custom scrubber replaces it */
.timeline-container[b-lh6f77i75n]::-webkit-scrollbar {
    display: none;
}

.timeline-container[b-lh6f77i75n] {
    scrollbar-width: none;
}

.timeline-content[b-lh6f77i75n] {
    flex: 1;
    padding-right: 40px;
    padding-bottom: 80px;
}

.timeline-spacer[b-lh6f77i75n] {
    flex: 0 0 100%;
    width: 100%;
}

/* Grid continuo — todas las fotos en un unico contenedor flex */
.timeline-flat-grid[b-lh6f77i75n] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    align-items: flex-start;
    align-content: flex-start;
}

/* Cabecera de dia: ocupa todo el ancho y fuerza nueva fila */
.day-header-row[b-lh6f77i75n] {
    flex: 0 0 100%;
    width: 100%;
    padding-top: 20px;
}

.day-header-row:first-child[b-lh6f77i75n] {
    padding-top: 4px;
}

.day-header[b-lh6f77i75n] {
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    text-transform: capitalize;
    padding: 0 4px 6px 4px;
    display: block;
}

.masonry-item[b-lh6f77i75n] {
    height: 180px;
    flex-shrink: 0;
    break-inside: avoid;
    page-break-inside: avoid;
    content-visibility: auto;
    contain-intrinsic-block-size: 180px;
}

@media (min-width: 600px) {
    .masonry-item[b-lh6f77i75n] {
        height: 200px;
        contain-intrinsic-block-size: 200px;
    }
}

@media (min-width: 960px) {
    .masonry-item[b-lh6f77i75n] {
        height: 220px;
        contain-intrinsic-block-size: 220px;
    }
}

@media (min-width: 1280px) {
    .masonry-item[b-lh6f77i75n] {
        height: 240px;
        contain-intrinsic-block-size: 240px;
    }
}

@media (min-width: 1920px) {
    .masonry-item[b-lh6f77i75n] {
        height: 260px;
        contain-intrinsic-block-size: 260px;
    }
}

/* -- Density: Small -- */
.density-s .masonry-item[b-lh6f77i75n] { height: 100px !important; contain-intrinsic-block-size: 100px !important; }
@media (min-width: 600px)  { .density-s .masonry-item[b-lh6f77i75n] { height: 110px !important; contain-intrinsic-block-size: 110px !important; } }
@media (min-width: 960px)  { .density-s .masonry-item[b-lh6f77i75n] { height: 120px !important; contain-intrinsic-block-size: 120px !important; } }
@media (min-width: 1280px) { .density-s .masonry-item[b-lh6f77i75n] { height: 130px !important; contain-intrinsic-block-size: 130px !important; } }
@media (min-width: 1920px) { .density-s .masonry-item[b-lh6f77i75n] { height: 140px !important; contain-intrinsic-block-size: 140px !important; } }

/* -- Density: Large -- */
.density-l .masonry-item[b-lh6f77i75n] { height: 260px !important; contain-intrinsic-block-size: 260px !important; }
@media (min-width: 600px)  { .density-l .masonry-item[b-lh6f77i75n] { height: 300px !important; contain-intrinsic-block-size: 300px !important; } }
@media (min-width: 960px)  { .density-l .masonry-item[b-lh6f77i75n] { height: 340px !important; contain-intrinsic-block-size: 340px !important; } }
@media (min-width: 1280px) { .density-l .masonry-item[b-lh6f77i75n] { height: 380px !important; contain-intrinsic-block-size: 380px !important; } }
@media (min-width: 1920px) { .density-l .masonry-item[b-lh6f77i75n] { height: 420px !important; contain-intrinsic-block-size: 420px !important; } }

/* -- Inline asset card -- */
.asset-card-container[b-lh6f77i75n] {
    position: relative;
    cursor: pointer;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: #333;
}

.asset-placeholder[b-lh6f77i75n] {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    background: linear-gradient(90deg, #252525 25%, #303030 50%, #252525 75%);
    background-size: 200% 100%;
    animation: asset-shimmer-b-lh6f77i75n 1.6s infinite ease-in-out;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.asset-placeholder[style*="background-color"][b-lh6f77i75n] {
    background-image: none;
    animation: none;
    background-size: auto;
}

@keyframes asset-shimmer-b-lh6f77i75n {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.asset-card-container.img-loaded .asset-placeholder[b-lh6f77i75n] {
    opacity: 0;
    pointer-events: none;
}

.lazy-img[b-lh6f77i75n] {
    opacity: 0;
    transition: opacity 0.35s ease;
}

.asset-card-container.img-loaded .lazy-img[b-lh6f77i75n] {
    opacity: 1;
}

.asset-card-image[b-lh6f77i75n] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.asset-type-icon[b-lh6f77i75n] {
    position: absolute;
    bottom: 6px;
    right: 6px;
    z-index: 2;
    color: white;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.5));
}

.masonry-item .asset-card-container[b-lh6f77i75n] {
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
}

.masonry-item .asset-placeholder[b-lh6f77i75n] {
    border-radius: 0 !important;
}

.masonry-item img[b-lh6f77i75n],
.masonry-item video[b-lh6f77i75n] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.asset-select-container[b-lh6f77i75n] {
    position: relative;
    height: 100%;
    transition: transform 0.15s ease, background-color 0.15s ease;
    background-color: transparent;
}

.asset-select-container.selected[b-lh6f77i75n] {
    transform: scale(0.90);
    background-color: var(--mud-palette-background-gray);
}

.asset-select-container.selection-mode:active[b-lh6f77i75n] {
    transform: scale(0.90);
    transition-duration: 0.06s;
}

.asset-select-checkbox[b-lh6f77i75n] {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 5;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
    background: rgba(0,0,0,0.4);
    border-radius: 999px;
    padding: 2px;
    color: white;
}

.asset-select-checkbox[b-lh6f77i75n]  .mud-icon-root {
    color: white !important;
}

.asset-select-container:hover .asset-select-checkbox[b-lh6f77i75n] {
    opacity: 1;
    pointer-events: auto;
}

.asset-select-container.selected .asset-select-checkbox[b-lh6f77i75n] {
    opacity: 1;
    pointer-events: auto;
}

/* ===== Custom Scrubber ===== */
.scrubber-overlay[b-lh6f77i75n] {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 25px;
    z-index: 100;
    pointer-events: none;
}

/* Arrows — only visible on touch devices */
@media (hover: hover) {
    .scrubber-arrow[b-lh6f77i75n] {
        display: none;
    }
}

/* Large invisible hit area + visual bar via ::before */
.scrubber-track[b-lh6f77i75n] {
    position: absolute;
    right: 0px;
    top: 0px;
    bottom: 8px;
    width: 25px;
    pointer-events: auto;
    cursor: pointer;
}

.scrubber-track[b-lh6f77i75n]::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: rgba(128, 128, 128, 0.2);
    border-radius: 2px;
    pointer-events: none;
    transition: background 0.2s;
}

.scrubber-track:hover[b-lh6f77i75n]::before {
    background: rgba(128, 128, 128, 0.35);
}

/* Thumb: horizontal bar spanning the full track width */
.scrubber-thumb[b-lh6f77i75n] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 40px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    cursor: grab;
    user-select: none;
    will-change: transform;
    pointer-events: auto;
}

.scrubber-thumb.dragging[b-lh6f77i75n] {
    cursor: grabbing;
}

.scrubber-thumb-bar[b-lh6f77i75n] {
    width: 100%;
    height: 4px;
    background: var(--mud-palette-primary);
    border-radius: 2px;
    flex-shrink: 0;
    transition: height 0.15s ease;
}

.scrubber-track:hover .scrubber-thumb-bar[b-lh6f77i75n],
.scrubber-thumb.dragging .scrubber-thumb-bar[b-lh6f77i75n] {
    height: 6px;
}

.scrubber-thumb-label[b-lh6f77i75n] {
    font-size: 0.7rem;
    font-weight: 600;
    color: white;
    background: rgba(0, 0, 0, 0.7);
    padding: 3px 8px;
    border-radius: 4px;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.15s ease;
    pointer-events: none;
    position: absolute;
    right: calc(100% + 8px);
    top: 50%;
    transform: translateY(-50%);
}

.scrubber-track:hover .scrubber-thumb-label[b-lh6f77i75n],
.scrubber-thumb.dragging .scrubber-thumb-label[b-lh6f77i75n] {
    opacity: 1;
}

/* Year markers */
.scrubber-year-marker[b-lh6f77i75n] {
    position: absolute;
    right: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    pointer-events: auto;
    cursor: pointer;
    transform: translateY(-50%);
}

.scrubber-year-dot[b-lh6f77i75n] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(128, 128, 128, 0.5);
    flex-shrink: 0;
    margin-right: -2px;
    transition: background 0.2s, transform 0.2s;
}

.scrubber-year-marker:hover .scrubber-year-dot[b-lh6f77i75n],
.scrubber-year-marker.active .scrubber-year-dot[b-lh6f77i75n] {
    background: var(--mud-palette-primary);
    transform: scale(1.4);
}

.scrubber-year-label[b-lh6f77i75n] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.15s ease;
    order: -1;
}

.scrubber-track:hover .scrubber-year-label[b-lh6f77i75n],
.scrubber-year-marker.active .scrubber-year-label[b-lh6f77i75n] {
    opacity: 1;
}
/* /Pages/TimelineManagement/TimelineMobileView.razor.rz.scp.css */
/* body.timeline-page global overrides are in app.css (cannot be scoped) */

/* Contenedor principal del timeline */
.timeline-wrapper[b-qdblejy3ug] {
    position: relative;
    width: 100%;
    height: calc(100vh - var(--mud-appbar-height, 64px) - 56px - env(safe-area-inset-bottom));
}

/* Contenedor principal con flex para layout horizontal */
.timeline-main-container[b-qdblejy3ug] {
    display: flex;
    width: 100%;
    height: 100%;
    position: relative;
}

/* Contenedor del contenido principal */
.timeline-content-wrapper[b-qdblejy3ug] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Barra de filtros - hidden on mobile, the filter button is inline */
.filter-chips-bar[b-qdblejy3ug] {
    display: none;
}

/* Contenedor del timeline es el unico con scroll */
.timeline-container[b-qdblejy3ug] {
    display: flex;
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-gutter: auto;
    overflow-anchor: auto;
}

/* Hide native scrollbar — custom scrubber replaces it */
.timeline-container[b-qdblejy3ug]::-webkit-scrollbar {
    display: none;
}

.timeline-container[b-qdblejy3ug] {
    scrollbar-width: none;
}

.timeline-content[b-qdblejy3ug] {
    flex: 1;
    padding: 12px 0;
    padding-bottom: 80px;
}

.timeline-spacer[b-qdblejy3ug] {
    flex: 0 0 100%;
    width: 100%;
}

/* Grid continuo — todas las fotos en un unico contenedor flex */
.timeline-flat-grid[b-qdblejy3ug] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    align-items: flex-start;
    align-content: flex-start;
}

/* Cabecera de dia: ocupa todo el ancho y fuerza nueva fila */
.day-header-row[b-qdblejy3ug] {
    flex: 0 0 100%;
    width: 100%;
    padding-top: 12px;
}

.day-header-row:first-child[b-qdblejy3ug] {
    padding-top: 2px;
}

.day-header[b-qdblejy3ug] {
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    text-transform: capitalize;
    padding: 0 4px 6px 4px;
    display: block;
    font-size: 0.78rem !important;
}

/* Forzar compact en movil independientemente de la densidad seleccionada */
.masonry-item[b-qdblejy3ug] {
    height: 120px !important;
    flex-shrink: 0;
    break-inside: avoid;
    page-break-inside: avoid;
    content-visibility: auto;
    contain-intrinsic-block-size: 120px;
}

/* -- Inline asset card -- */
.asset-card-container[b-qdblejy3ug] {
    position: relative;
    cursor: pointer;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: #333;
}

.asset-placeholder[b-qdblejy3ug] {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    background: linear-gradient(90deg, #252525 25%, #303030 50%, #252525 75%);
    background-size: 200% 100%;
    animation: asset-shimmer-b-qdblejy3ug 1.6s infinite ease-in-out;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.asset-placeholder[style*="background-color"][b-qdblejy3ug] {
    background-image: none;
    animation: none;
    background-size: auto;
}

@keyframes asset-shimmer-b-qdblejy3ug {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.asset-card-container.img-loaded .asset-placeholder[b-qdblejy3ug] {
    opacity: 0;
    pointer-events: none;
}

.lazy-img[b-qdblejy3ug] {
    opacity: 0;
    transition: opacity 0.35s ease;
}

.asset-card-container.img-loaded .lazy-img[b-qdblejy3ug] {
    opacity: 1;
}

.asset-card-image[b-qdblejy3ug] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.asset-type-icon[b-qdblejy3ug] {
    position: absolute;
    bottom: 6px;
    right: 6px;
    z-index: 2;
    color: white;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.5));
}

.masonry-item .asset-card-container[b-qdblejy3ug] {
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
}

.masonry-item .asset-placeholder[b-qdblejy3ug] {
    border-radius: 0 !important;
}

.masonry-item img[b-qdblejy3ug],
.masonry-item video[b-qdblejy3ug] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.asset-select-container[b-qdblejy3ug] {
    position: relative;
    height: 100%;
    transition: transform 0.15s ease, background-color 0.15s ease;
    background-color: transparent;
}

.asset-select-container.selected[b-qdblejy3ug] {
    transform: scale(0.90);
    background-color: var(--mud-palette-background-gray);
}

.asset-select-container.selection-mode:active[b-qdblejy3ug] {
    transform: scale(0.90);
    transition-duration: 0.06s;
}

.asset-select-checkbox[b-qdblejy3ug] {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 5;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
    background: rgba(0,0,0,0.4);
    border-radius: 999px;
    padding: 2px;
    color: white;
}

.asset-select-checkbox[b-qdblejy3ug]  .mud-icon-root {
    color: white !important;
}

/* On mobile, hide checkbox on hover for non-selection-mode */
.asset-select-container:not(.selection-mode):not(.selected):hover .asset-select-checkbox[b-qdblejy3ug] {
    opacity: 0;
    pointer-events: none;
}

.asset-select-container.selected .asset-select-checkbox[b-qdblejy3ug] {
    opacity: 1;
    pointer-events: auto;
}

/* ===== Custom Scrubber (mobile style) ===== */
/* Absolutely positioned so it doesn't take horizontal space from the grid */
.scrubber-overlay[b-qdblejy3ug] {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 40px;
    pointer-events: auto;
    opacity: 0;
    transition: opacity 0.25s ease;
    z-index: 10;
}

.scrubber-overlay.scrubber-visible[b-qdblejy3ug] {
    opacity: 1;
}

.scrubber-track[b-qdblejy3ug] {
    position: relative;
    top: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    pointer-events: auto;
    cursor: pointer;
}

/* Ocultar linea del track y markers de anio */
.scrubber-track[b-qdblejy3ug]::before {
    display: none !important;
}

.scrubber-year-marker[b-qdblejy3ug],
.scrubber-year-dot[b-qdblejy3ug],
.scrubber-year-label[b-qdblejy3ug] {
    display: none !important;
}

/* Handle: pill draggable con flechas arriba/abajo — estilo Google Photos */
.scrubber-thumb[b-qdblejy3ug] {
    width: 26px;
    height: 52px;
    left: auto;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
    background: rgba(28, 28, 28, 0.85);
    border-radius: 10px 0 0 10px;
    cursor: grab;
    touch-action: none;
    box-shadow: -1px 0 6px rgba(0,0,0,0.2);
    position: absolute;
    top: 0;
    user-select: none;
    will-change: transform;
    pointer-events: auto;
}

/* .mud-dark applied via :global() since it's on a parent element */
:global(.mud-dark) .scrubber-thumb[b-qdblejy3ug] {
    background: rgba(255, 255, 255, 0.22);
}

.scrubber-thumb.dragging[b-qdblejy3ug] {
    cursor: grabbing;
}

/* Ocultar la barra horizontal del thumb desktop */
.scrubber-thumb-bar[b-qdblejy3ug] {
    display: none;
}

/* Flechas arriba/abajo */
.scrubber-arrow[b-qdblejy3ug] {
    display: block;
    height: 20px;
    color: rgba(255, 255, 255, 1);
    pointer-events: none;
    flex-shrink: 0;
}

:global(.mud-dark) .scrubber-arrow[b-qdblejy3ug] {
    color: rgba(255, 255, 255, 0.75);
}

/* Etiqueta de fecha: siempre visible a la izquierda del handle */
.scrubber-thumb-label[b-qdblejy3ug] {
    opacity: 1 !important;
    position: absolute;
    right: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.78rem;
    font-weight: 600;
    padding: 4px 10px;
    white-space: nowrap;
    background: rgba(30, 30, 30, 0.75);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 8px;
    color: white;
    pointer-events: none;
}

/* Bottom sheet de filtros */
.filter-sheet-backdrop[b-qdblejy3ug] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1200;
    animation: fadeIn-b-qdblejy3ug 0.2s ease;
}

.filter-sheet[b-qdblejy3ug] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--mud-palette-surface);
    border-radius: 16px 16px 0 0;
    padding: 8px 0 32px;
    z-index: 1201;
    animation: slideUp-b-qdblejy3ug 0.25s cubic-bezier(0.32, 0.72, 0, 1);
}

.filter-sheet-handle[b-qdblejy3ug] {
    width: 36px;
    height: 4px;
    background: var(--mud-palette-divider);
    border-radius: 2px;
    margin: 0 auto 12px;
}

.filter-sheet-title[b-qdblejy3ug] {
    padding: 0 20px 8px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.filter-sheet-options[b-qdblejy3ug] {
    display: flex;
    flex-direction: column;
}

.filter-sheet-option[b-qdblejy3ug] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 20px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--mud-palette-text-primary);
    font-size: 1rem;
    text-align: left;
    transition: background 0.15s;
}

.filter-sheet-option:active[b-qdblejy3ug] {
    background: var(--mud-palette-action-default-hover);
}

.filter-sheet-option.active[b-qdblejy3ug] {
    color: var(--mud-palette-primary);
}

.filter-sheet-option span[b-qdblejy3ug] {
    flex: 1;
}

.filter-sheet-check[b-qdblejy3ug] {
    color: var(--mud-palette-primary);
}

/* Boton de filtro movil */
.filter-mobile-btn[b-qdblejy3ug] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px 4px 8px;
    border: 1px solid var(--mud-palette-divider);
    border-radius: 20px;
    background: none;
    cursor: pointer;
    color: var(--mud-palette-text-primary);
    font-size: 0.875rem;
    white-space: nowrap;
}

.filter-mobile-btn-chevron[b-qdblejy3ug] {
    opacity: 0.6;
}

@keyframes slideUp-b-qdblejy3ug {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
}

@keyframes fadeIn-b-qdblejy3ug {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* /Pages/Trash.razor.rz.scp.css */
    .assets-grid-content[b-zuxww7k7go] {
        padding: 4px 4px 80px 4px;
    }

    .day-group[b-zuxww7k7go] {
        margin-bottom: 32px;
    }

    .day-header[b-zuxww7k7go] {
        font-weight: 600;
        color: var(--mud-palette-text-secondary);
        text-transform: capitalize;
        padding: 0 4px 6px 4px;
        display: block;
    }

    @media (max-width: 599.98px) {
        .day-header[b-zuxww7k7go] {
            font-size: 0.78rem !important;
        }
    }

    .asset-select-container[b-zuxww7k7go] {
        position: relative;
        aspect-ratio: 1 / 1;
        overflow: hidden;
        transition: transform 0.15s ease, background-color 0.15s ease;
        background-color: transparent;
    }

    .asset-select-container.selected[b-zuxww7k7go] {
        transform: scale(0.90);
        background-color: var(--mud-palette-background-gray);
    }

    .asset-select-container.selection-mode:active[b-zuxww7k7go] {
        transform: scale(0.90);
        transition-duration: 0.06s;
    }

    .asset-select-checkbox[b-zuxww7k7go] {
        position: absolute;
        top: 4px;
        left: 4px;
        z-index: 5;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.2s;
        background: rgba(0,0,0,0.4);
        border-radius: 999px;
        padding: 2px;
        color: white;
    }

    .asset-select-checkbox .mud-icon-root[b-zuxww7k7go] {
        color: white !important;
    }

    .asset-select-container:hover .asset-select-checkbox[b-zuxww7k7go] {
        opacity: 1;
        pointer-events: auto;
    }

    .asset-select-container.selected .asset-select-checkbox[b-zuxww7k7go] {
        opacity: 1;
        pointer-events: auto;
    }

    @media (max-width: 959.98px) {
        .asset-select-container:not(.selection-mode):not(.selected):hover .asset-select-checkbox[b-zuxww7k7go] {
            opacity: 0;
            pointer-events: none;
        }
    }
/* /Pages/Upload.razor.rz.scp.css */
    .upload-page[b-u34eojsiuf] {
        display: flex;
        flex-direction: column;
        height: calc(100vh - var(--mud-appbar-height, 64px));
        overflow: hidden;
        position: relative;
    }

    @media (max-width: 959.98px) {
        .upload-page[b-u34eojsiuf] {
            height: calc(100vh - var(--mud-appbar-height, 64px) - 64px - env(safe-area-inset-bottom));
        }
    }

    .upload-top-bar[b-u34eojsiuf] {
        flex-shrink: 0;
        border-radius: 0;
        height: 3px;
    }

    /* ── Idle ── */
    .upload-idle[b-u34eojsiuf] {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        padding: 2rem;
        user-select: none;
        -webkit-tap-highlight-color: transparent;
        transition: opacity .1s;
    }
    .upload-idle:active[b-u34eojsiuf] { opacity: .6; }

    /* ── File list ── */
    .upload-list[b-u34eojsiuf] {
        flex: 1;
        overflow-y: auto;
        padding-bottom: 76px; /* room for bottom bar */
    }

    .upload-item[b-u34eojsiuf] {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 16px;
        border-bottom: 1px solid rgba(128,128,128,.1);
    }

    .item-thumb[b-u34eojsiuf] {
        position: relative;
        width: 56px;
        height: 56px;
        border-radius: 8px;
        overflow: hidden;
        background: rgba(128,128,128,.1);
        flex-shrink: 0;
    }
    .item-thumb img[b-u34eojsiuf] {
        width: 100%; height: 100%;
        object-fit: cover;
    }
    .item-thumb-icon[b-u34eojsiuf] {
        width: 100%; height: 100%;
        display: flex; align-items: center; justify-content: center;
    }
    .item-overlay[b-u34eojsiuf] {
        position: absolute;
        inset: 0;
        background: rgba(0,0,0,.35);
        display: flex; align-items: center; justify-content: center;
        border-radius: 8px;
    }

    .item-info[b-u34eojsiuf] {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
    }
    .item-name[b-u34eojsiuf] {
        font-size: .875rem;
        font-weight: 500;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .item-meta[b-u34eojsiuf] {
        font-size: .75rem;
        opacity: .55;
    }

    .item-action[b-u34eojsiuf] { flex-shrink: 0; }

    /* ── Bottom bar ── */
    .upload-bottom-bar[b-u34eojsiuf] {
        position: absolute;
        bottom: 0; left: 0; right: 0;
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 16px;
        padding-bottom: max(10px, env(safe-area-inset-bottom));
        background: var(--mud-palette-surface);
        border-top: 1px solid rgba(128,128,128,.15);
        box-shadow: 0 -2px 12px rgba(0,0,0,.07);
    }

    /* ── Done ── */
    .upload-done[b-u34eojsiuf] {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 2rem;
        text-align: center;
    }
    .done-actions[b-u34eojsiuf] {
        display: flex;
        gap: 12px;
        margin-top: 2rem;
        flex-wrap: wrap;
        justify-content: center;
    }
/* /Pages/Utilities/Duplicates.razor.rz.scp.css */
    .dup-groups[b-fx9evtqn3c] {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .dup-group[b-fx9evtqn3c] {
        border: 1px solid var(--mud-palette-divider);
        border-radius: 12px;
        overflow: hidden;
    }

    .dup-group-header[b-fx9evtqn3c] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 8px 12px 4px 12px;
        gap: 8px;
    }

    .dup-group-info[b-fx9evtqn3c] {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 4px;
        font-size: 0.8rem;
    }

    .dup-copies[b-fx9evtqn3c] {
        font-weight: 600;
    }

    .dup-sep[b-fx9evtqn3c] {
        color: var(--mud-palette-text-secondary);
    }

    .dup-size[b-fx9evtqn3c] {
        color: var(--mud-palette-text-secondary);
    }

    .dup-strip[b-fx9evtqn3c] {
        display: flex;
        gap: 8px;
        padding: 4px 12px 8px 12px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .dup-strip[b-fx9evtqn3c]::-webkit-scrollbar {
        display: none;
    }

    .dup-item[b-fx9evtqn3c] {
        flex-shrink: 0;
        width: 80px;
        display: flex;
        flex-direction: column;
        gap: 3px;
    }

    .dup-clickable[b-fx9evtqn3c] {
        cursor: pointer;
    }

    .dup-thumb[b-fx9evtqn3c] {
        position: relative;
        width: 80px;
        height: 80px;
        border-radius: 8px;
        overflow: hidden;
        background: var(--mud-palette-surface);
    }

    .dup-keep .dup-thumb[b-fx9evtqn3c] {
        box-shadow: 0 0 0 2px var(--mud-palette-primary);
    }

    .dup-delete .dup-thumb[b-fx9evtqn3c] {
        box-shadow: 0 0 0 2px var(--mud-palette-error);
    }

    .dup-thumb img[b-fx9evtqn3c] {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: opacity 0.15s;
    }

    .dup-dimmed[b-fx9evtqn3c] {
        opacity: 0.45;
    }

    .dup-badge[b-fx9evtqn3c] {
        position: absolute;
        bottom: 3px;
        right: 3px;
        background: rgba(var(--mud-palette-surface-rgb, 255,255,255), 0.85);
        border-radius: 50%;
        width: 20px;
        height: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .dup-detail-btn[b-fx9evtqn3c] {
        position: absolute;
        top: 3px;
        left: 3px;
        background: rgba(0, 0, 0, 0.55);
        border-radius: 4px;
        width: 22px;
        height: 22px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        opacity: 0;
        transition: opacity 0.15s;
    }

    .dup-thumb:hover .dup-detail-btn[b-fx9evtqn3c] {
        opacity: 1;
    }

    @media (max-width: 600px) {
        .dup-detail-btn[b-fx9evtqn3c] {
            opacity: 1;
        }
    }

    .dup-item-name[b-fx9evtqn3c] {
        font-size: 0.68rem;
        line-height: 1.2;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        word-break: break-all;
        color: var(--mud-palette-text-primary);
    }

    .dup-item-meta[b-fx9evtqn3c] {
        font-size: 0.65rem;
        color: var(--mud-palette-text-secondary);
        white-space: nowrap;
    }

    .dup-item-folder[b-fx9evtqn3c] {
        font-size: 0.62rem;
        color: var(--mud-palette-text-secondary);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        display: flex;
        align-items: center;
        gap: 2px;
    }

    .dup-group-footer[b-fx9evtqn3c] {
        padding: 0 12px 8px 12px;
    }

    @media (min-width: 600px) {
        .dup-item[b-fx9evtqn3c] {
            width: 96px;
        }

        .dup-thumb[b-fx9evtqn3c] {
            width: 96px;
            height: 96px;
        }
    }
/* /Pages/Utilities/LargeFiles.razor.rz.scp.css */
    .lf-list[b-k2v6uuearr] {
        display: flex;
        flex-direction: column;
        border: 1px solid var(--mud-palette-divider);
        border-radius: 12px;
        overflow: hidden;
    }

    .lf-item[b-k2v6uuearr] {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 12px;
        text-decoration: none;
        color: inherit;
        transition: background 0.15s;
    }

    .lf-item:not(:last-child)[b-k2v6uuearr] {
        border-bottom: 1px solid var(--mud-palette-divider);
    }

    .lf-item:hover[b-k2v6uuearr] {
        background: var(--mud-palette-action-default-hover);
    }

    /* Thumbnail */
    .lf-thumb[b-k2v6uuearr] {
        position: relative;
        flex-shrink: 0;
        width: 60px;
        height: 60px;
        border-radius: 8px;
        overflow: hidden;
        background: var(--mud-palette-surface);
    }

    .lf-thumb img[b-k2v6uuearr] {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .lf-rank[b-k2v6uuearr] {
        position: absolute;
        bottom: 2px;
        right: 4px;
        font-size: 10px;
        font-weight: 700;
        color: #fff;
        text-shadow: 0 1px 3px rgba(0,0,0,.7);
        line-height: 1;
    }

    /* Body */
    .lf-body[b-k2v6uuearr] {
        flex: 1;
        min-width: 0;
    }

    .lf-name[b-k2v6uuearr] {
        font-weight: 500;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .lf-meta[b-k2v6uuearr] {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 4px;
        margin-top: 2px;
    }

    .lf-type-chip[b-k2v6uuearr] {
        height: 20px !important;
        font-size: 11px !important;
        padding: 0 6px !important;
        margin: 0 !important;
    }

    .lf-size[b-k2v6uuearr] {
        font-weight: 600;
        color: var(--mud-palette-text-primary);
    }

    .lf-date[b-k2v6uuearr] {
        white-space: nowrap;
    }

    .lf-chevron[b-k2v6uuearr] {
        flex-shrink: 0;
        font-size: 20px !important;
    }

    /* Desktop: thumbnail un poco más grande */
    @media (min-width: 600px) {
        .lf-thumb[b-k2v6uuearr] {
            width: 72px;
            height: 72px;
        }

        .lf-item[b-k2v6uuearr] {
            padding: 12px 16px;
        }
    }
