/* /Components/Layout/AdminLayout.razor.rz.scp.css */
/* Solid, opaque backend surface so text no longer competes with the
   marketing watercolor background that bleeds through from site.css. */
.admin-shell[b-3mmy3ipf6o] {
    min-height: 100vh;
    padding-top: 72px;
    background: #eef3f7;
    color: #1f3b47;
    font-size: 1.15rem;
}

.admin-content[b-3mmy3ipf6o] {
    padding-top: 0.5rem;
    padding-bottom: 3rem;
}

/* ::deep reaches the markup each admin page renders into @Body. */

/* Headings: dark navy, clearly readable. */
.admin-content[b-3mmy3ipf6o]  h2 {
    color: #0b2a3c;
    font-weight: 600;
}

.admin-content[b-3mmy3ipf6o]  h3,
.admin-content[b-3mmy3ipf6o]  h4,
.admin-content[b-3mmy3ipf6o]  h5,
.admin-content[b-3mmy3ipf6o]  h6 {
    color: #143a4e;
    font-weight: 600;
}

/* Bootstrap's muted text is too light on the pale panel — darken it. */
.admin-content[b-3mmy3ipf6o]  .text-muted {
    color: #566b78 !important;
}

/* Small helper text is used a lot; keep it small but legible. */
.admin-content[b-3mmy3ipf6o]  .small,
.admin-content[b-3mmy3ipf6o]  small {
    font-size: 0.9rem;
}

/* Tables sit on solid white for maximum contrast. */
.admin-content[b-3mmy3ipf6o]  .table {
    background: #fff;
}

/* Form labels: readable weight and color. */
.admin-content[b-3mmy3ipf6o]  label,
.admin-content[b-3mmy3ipf6o]  .form-label {
    color: #2c4a58;
    font-weight: 500;
}

/* ---- Card theme: match the dashboard cards across every backend page ----
   Same rounded corners, soft navy border, and subtle shadow the dashboard
   tiles use, applied to all Bootstrap .card elements the editors render. */
.admin-content[b-3mmy3ipf6o]  .card {
    --bs-card-border-radius: 14px;
    --bs-card-inner-border-radius: 13px;
    --bs-card-border-color: rgba(11, 42, 60, 0.12);
    --bs-card-bg: #fff;
    box-shadow: 0 1px 3px rgba(11, 42, 60, 0.08);
}

/* Brand-navy card headers (matches the nav bar and dashboard accents). */
.admin-content[b-3mmy3ipf6o]  .card-header {
    background-color: #0b2a3c;
    border-bottom-color: rgba(11, 42, 60, 0.15);
}

/* Primary actions in brand navy so the buttons match the theme too. */
.admin-content[b-3mmy3ipf6o]  .btn-primary {
    --bs-btn-bg: #0b2a3c;
    --bs-btn-border-color: #0b2a3c;
    --bs-btn-hover-bg: #10384f;
    --bs-btn-hover-border-color: #10384f;
    --bs-btn-active-bg: #082130;
    --bs-btn-active-border-color: #082130;
}

.admin-content[b-3mmy3ipf6o]  .btn-outline-primary {
    --bs-btn-color: #0b2a3c;
    --bs-btn-border-color: #0b2a3c;
    --bs-btn-hover-bg: #0b2a3c;
    --bs-btn-hover-border-color: #0b2a3c;
    --bs-btn-active-bg: #0b2a3c;
    --bs-btn-active-border-color: #0b2a3c;
}

/* ---- Zebra striping for the data tables (Links, Sponsors) ----
   Cells are almost entirely covered by full-width form inputs, so shading the
   cell alone is barely visible. We shade the striped cells with a brand tint
   AND make the inputs on those rows transparent (unless focused or disabled)
   so the whole row reads as one alternating band. */
.admin-content[b-3mmy3ipf6o]  .table-striped {
    --bs-table-striped-bg: rgba(11, 42, 60, 0.07);
}

.admin-content[b-3mmy3ipf6o]  .table-striped > tbody > tr:nth-of-type(odd) .form-control:not(:focus):not(:disabled) {
    background-color: transparent;
}

/* Row hover: a stronger tint than the stripe, also read through the inputs so
   the whole hovered row highlights (not just the padding gutters). */
.admin-content[b-3mmy3ipf6o]  .table-hover {
    --bs-table-hover-bg: rgba(11, 42, 60, 0.13);
}

.admin-content[b-3mmy3ipf6o]  .table-hover > tbody > tr:hover .form-control:not(:focus):not(:disabled) {
    background-color: transparent;
}

/* Header row: brand navy with white text so it stands out from the body. */
.admin-content[b-3mmy3ipf6o]  .table > thead th {
    background-color: #0b2a3c;
    color: #fff;
    border-color: #0b2a3c;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-wn9a11c7de] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-wn9a11c7de] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-2bp8klm5g2],
.components-reconnect-repeated-attempt-visible[b-2bp8klm5g2],
.components-reconnect-failed-visible[b-2bp8klm5g2],
.components-pause-visible[b-2bp8klm5g2],
.components-resume-failed-visible[b-2bp8klm5g2],
.components-rejoining-animation[b-2bp8klm5g2] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-2bp8klm5g2],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-2bp8klm5g2],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-2bp8klm5g2],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-2bp8klm5g2],
#components-reconnect-modal.components-reconnect-retrying[b-2bp8klm5g2],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-2bp8klm5g2],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-2bp8klm5g2],
#components-reconnect-modal.components-reconnect-failed[b-2bp8klm5g2],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-2bp8klm5g2] {
    display: block;
}


#components-reconnect-modal[b-2bp8klm5g2] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-2bp8klm5g2 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-2bp8klm5g2 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-2bp8klm5g2 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-2bp8klm5g2]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-2bp8klm5g2 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-2bp8klm5g2 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-2bp8klm5g2 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-2bp8klm5g2 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-2bp8klm5g2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-2bp8klm5g2] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-2bp8klm5g2] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-2bp8klm5g2] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-2bp8klm5g2] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-2bp8klm5g2] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-2bp8klm5g2] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-2bp8klm5g2 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-2bp8klm5g2] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-2bp8klm5g2 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Admin/ContentEditor.razor.rz.scp.css */
.summit-card-header[b-v3gjrgunco] {
    background-color: #0b2a3c;
}

/* Darker, more visible tab borders against the light background */
.nav-tabs[b-v3gjrgunco] {
    border-bottom-color: #0b2a3c;
}

.nav-tabs .nav-link[b-v3gjrgunco] {
    border-color: transparent;
}

.nav-tabs .nav-link:hover[b-v3gjrgunco] {
    border-color: #adb5bd #adb5bd #0b2a3c;
}

.nav-tabs .nav-link.active[b-v3gjrgunco] {
    border-color: #0b2a3c #0b2a3c #fff;
    font-weight: 600;
}

/* Flex column that fills from just below the fixed nav to just above the fixed
   save bar. The heading and tab strip size themselves; the tab panel takes the
   rest, so its bottom stays anchored to the screen no matter how tall the
   heading/tabs are. 80px = nav (72) + content top padding (8); 64px ≈ save bar. */
.content-fill[b-v3gjrgunco] {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 80px - 64px);
}

/* Bordered panel below the tabs (left/right/bottom), connecting to the tab strip.
   Flexes to fill the remaining height; long content scrolls inside the panel
   (min-height:0 lets a flex child shrink below its content so it can scroll). */
.tab-panel[b-v3gjrgunco] {
    border: 1px solid #0b2a3c;
    border-top: none;
    padding: 1.25rem;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

/* Tab reorder arrows */
.tab-move[b-v3gjrgunco] {
    color: #6c757d;
    font-size: 0.85rem;
    text-decoration: none;
}

.tab-move:hover:not(:disabled)[b-v3gjrgunco] {
    color: #0b2a3c;
}

.tab-move:disabled[b-v3gjrgunco] {
    opacity: 0.25;
}

.nav-link.active .tab-move[b-v3gjrgunco] {
    color: #0b2a3c;
}

/* Card reorder arrows (on the dark header) */
.card-move[b-v3gjrgunco] {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.8rem;
    text-decoration: none;
}

.card-move:hover:not(:disabled)[b-v3gjrgunco] {
    color: #fff;
}

.card-move:disabled[b-v3gjrgunco] {
    opacity: 0.3;
}

/* Card delete button (on the dark header) */
.card-delete[b-v3gjrgunco] {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.95rem;
    text-decoration: none;
}

.card-delete:hover[b-v3gjrgunco] {
    color: #ff8787;
}

/* Add-section input */
.add-section-input[b-v3gjrgunco] {
    max-width: 320px;
}

/* Save bar (mirrors /admin/sponsors) */
.save-bar[b-v3gjrgunco] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1050;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(4px);
    border-top: 1px solid #dee2e6;
    padding: 0.6rem 1.5rem;
}

.save-bar-spacer[b-v3gjrgunco] {
    height: 60px;
}

/* Rich text editor sizing (Quill) */
[b-v3gjrgunco] .richtext-editor .ql-container {
    min-height: 140px;
    font-size: 1rem;
}
.link-token-bar[b-v3gjrgunco] {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 0.5rem;
}

.link-token-bar .btn[b-v3gjrgunco] {
    max-width: 100%;
    overflow-wrap: anywhere;
}
.protected-section-card[b-v3gjrgunco] {
    border-color: #0dcaf0 !important;
}
/* /Components/Pages/Admin/Dashboard.razor.rz.scp.css */
/* ---- Header ---- */
.dash-header[b-y8rsos4lyz] {
    margin-bottom: 1.75rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(11, 42, 60, 0.12);
}

.dash-title[b-y8rsos4lyz] {
    color: #0b2a3c;
    font-size: 2.6rem;
    letter-spacing: 0.03em;
    line-height: 1;
    margin: 0;
}

.dash-subtitle[b-y8rsos4lyz] {
    color: #5a7385;
    font-size: 1rem;
    margin: 0.4rem 0 0;
}

/* ---- Grid ---- */
.dash-grid[b-y8rsos4lyz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.25rem;
}

/* ---- Card ---- */
.dash-card[b-y8rsos4lyz] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    background: #fff;
    border: 1px solid rgba(11, 42, 60, 0.10);
    border-radius: 14px;
    text-decoration: none;
    box-shadow: 0 1px 3px rgba(11, 42, 60, 0.06);
    overflow: hidden;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

/* Colored accent bar down the left edge */
.dash-card[b-y8rsos4lyz]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: var(--accent, #0b2a3c);
    transition: width 0.18s ease;
}

.dash-card:hover[b-y8rsos4lyz],
.dash-card:focus-visible[b-y8rsos4lyz] {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(11, 42, 60, 0.16);
    border-color: var(--accent, #0b2a3c);
    outline: none;
}

.dash-card:hover[b-y8rsos4lyz]::before,
.dash-card:focus-visible[b-y8rsos4lyz]::before {
    width: 8px;
}

/* ---- Icon ---- */
.dash-icon[b-y8rsos4lyz] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 12px;
    color: var(--accent, #0b2a3c);
    background: var(--accent-soft, rgba(11, 42, 60, 0.08));
    transition: background 0.18s ease, color 0.18s ease;
}

.dash-icon svg[b-y8rsos4lyz] {
    width: 26px;
    height: 26px;
}

.dash-card:hover .dash-icon[b-y8rsos4lyz],
.dash-card:focus-visible .dash-icon[b-y8rsos4lyz] {
    background: var(--accent, #0b2a3c);
    color: #fff;
}

/* ---- Text ---- */
.dash-card-body[b-y8rsos4lyz] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.dash-card-title[b-y8rsos4lyz] {
    color: #0b2a3c;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.2;
}

.dash-card-text[b-y8rsos4lyz] {
    color: #6b7f8c;
    font-size: 0.9rem;
    line-height: 1.35;
}

/* ---- Arrow ---- */
.dash-arrow[b-y8rsos4lyz] {
    flex: 0 0 auto;
    margin-left: auto;
    color: var(--accent, #0b2a3c);
    font-size: 1.4rem;
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.dash-card:hover .dash-arrow[b-y8rsos4lyz],
.dash-card:focus-visible .dash-arrow[b-y8rsos4lyz] {
    opacity: 1;
    transform: translateX(0);
}

/* ---- Per-card accent colors (brand palette) ---- */
.dash-card--event[b-y8rsos4lyz] {
    --accent: #0b2a3c;
    --accent-soft: rgba(11, 42, 60, 0.08);
}

.dash-card--sponsors[b-y8rsos4lyz] {
    --accent: #c98727;
    --accent-soft: rgba(201, 135, 39, 0.12);
}

.dash-card--content[b-y8rsos4lyz] {
    --accent: #4c8a8e;
    --accent-soft: rgba(76, 138, 142, 0.12);
}

.dash-card--links[b-y8rsos4lyz] {
    --accent: #004773;
    --accent-soft: rgba(0, 71, 115, 0.10);
}
/* /Components/Pages/Admin/EventEditor.razor.rz.scp.css */
/* Theme image preview in the Page Header chooser */
.header-preview[b-p8pylpnxop] {
	display: block;
	max-width: 100%;
	max-height: 120px;
	object-fit: contain;
	border: 1px solid #dee2e6;
	border-radius: 4px;
	background: #f8f9fa;
}

/* Save bar (mirrors /admin/sponsors) */
.save-bar[b-p8pylpnxop] {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1050;
	background: rgba(255,255,255,0.95);
	backdrop-filter: blur(4px);
	border-top: 1px solid #dee2e6;
	padding: 0.6rem 1.5rem;
}

.save-bar-spacer[b-p8pylpnxop] {
	height: 60px;
}
/* /Components/Pages/Admin/LinksEditor.razor.rz.scp.css */
/* Round the table's corners (including the navy header) so it matches the
   card-wrapped tables on the Sponsors page. border-collapse:collapse ignores
   corner radius on cells, so we clip the whole table with a rounded wrapper. */
.links-table-wrap[b-q799di6uef] {
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(11, 42, 60, 0.08);
}

/* Column widths */
.col-key[b-q799di6uef] {
	width: 160px;
}

.col-token[b-q799di6uef] {
	width: 210px;
}

.col-btntext[b-q799di6uef] {
	width: 130px;
}

.col-btncss[b-q799di6uef] {
	width: 160px;
}

/* Save bar (mirrors /admin/sponsors) */
.save-bar[b-q799di6uef] {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1050;
	background: rgba(255,255,255,0.95);
	backdrop-filter: blur(4px);
	border-top: 1px solid #dee2e6;
	padding: 0.6rem 1.5rem;
}

.save-bar-spacer[b-q799di6uef] {
	height: 60px;
}
/* /Components/Pages/Admin/SponsorsEditor.razor.rz.scp.css */
/* Tier header */
.tier-label-input[b-9piv1rxsvz] {
	max-width: 320px;
}

/* Sponsor table column widths */
.col-reorder[b-9piv1rxsvz] {
	width: 58px;
}

/* Tier reorder controls occupy the same leading column as the sponsor rows,
   so the grip + chevrons line up vertically with the ones in the table. */
.tier-reorder[b-9piv1rxsvz] {
	width: 58px;
}

.col-cssclass[b-9piv1rxsvz] {
	width: 110px;
}

.col-active[b-9piv1rxsvz] {
	width: 62px;
}

.col-delete[b-9piv1rxsvz] {
	width: 52px;
}

/* Logo path cell */
.logo-thumb[b-9piv1rxsvz] {
	height: 32px;
	max-width: 80px;
	object-fit: contain;
	border: 1px solid #dee2e6;
	border-radius: 3px;
	background: #f8f9fa;
	flex-shrink: 0;
}

/* Hidden-on-site tier */
.tier-hidden[b-9piv1rxsvz] {
	opacity: 0.65;
}

/* Add sponsor level input */
.add-tier-input[b-9piv1rxsvz] {
	max-width: 320px;
}

/* Sortable column header */
.sort-header[b-9piv1rxsvz] {
	color: inherit;
}

.sort-header:hover[b-9piv1rxsvz] {
	color: #0d6efd;
}

.sort-header .bi[b-9piv1rxsvz] {
	font-size: 0.85em;
	opacity: 0.6;
}

/* Per-tier content token in the header */
.tier-token-input[b-9piv1rxsvz] {
	max-width: 220px;
	background: rgba(255,255,255,0.15);
	color: #fff;
	border-color: rgba(255,255,255,0.4);
}

/* Drag & drop reorder */
.drag-handle[b-9piv1rxsvz] {
	cursor: grab;
	color: #6c757d;
	line-height: 1;
	font-size: 1.5rem;
}

.drag-handle:active[b-9piv1rxsvz] {
	cursor: grabbing;
}

tr.drag-over td[b-9piv1rxsvz] {
	border-top: 2px solid #0d6efd;
	background-color: #e7f1ff;
}

/* Tier (sponsor level) drag & drop */
.tier-drag-handle[b-9piv1rxsvz] {
	cursor: grab;
	color: rgba(255, 255, 255, 0.75);
	line-height: 1;
	font-size: 1.5rem;
}

.tier-drag-handle:active[b-9piv1rxsvz] {
	cursor: grabbing;
}

.tier-drag-over[b-9piv1rxsvz] {
	outline: 2px solid #0d6efd;
	outline-offset: 2px;
}

/* Unsaved change indicator */
.cell-changed[b-9piv1rxsvz] {
    background-color: #fff3b0 !important;
}

/* Save bar */
.save-bar[b-9piv1rxsvz] {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1050;
	background: rgba(255,255,255,0.95);
	backdrop-filter: blur(4px);
	border-top: 1px solid #dee2e6;
	padding: 0.6rem 1.5rem;
}

.save-bar-spacer[b-9piv1rxsvz] {
	height: 60px;
}

/* Image picker modal */
.picker-overlay[b-9piv1rxsvz] {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.55);
	z-index: 2000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 2rem;
	overflow-y: auto;
}

.picker-modal[b-9piv1rxsvz] {
	background: #fff;
	border-radius: 8px;
	width: min(1400px, 96vw);
	height: min(92vh, 900px);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.picker-filter[b-9piv1rxsvz] {
	max-width: 220px;
}

.upload-file-input[b-9piv1rxsvz] {
	max-width: 260px;
}

.upload-folder-input[b-9piv1rxsvz] {
	max-width: 200px;
}

.picker-folder-tree[b-9piv1rxsvz] {
	width: 210px;
	flex-shrink: 0;
	border-right: 1px solid #dee2e6;
	overflow-y: auto;
	background: #f8f9fa;
}

.picker-folder-tree-header[b-9piv1rxsvz] {
    border-bottom: 1px solid #dee2e6;
    padding: 0.5rem;
}

.picker-new-folder-hint[b-9piv1rxsvz] {
    font-size: 0.72rem;
    margin-bottom: 0.25rem;
    word-break: break-all;
}

.picker-delete-confirm[b-9piv1rxsvz] {
    background: #fff3cd;
    border-bottom: 1px solid #ffc107;
    padding: 0.5rem;
}

.picker-delete-path[b-9piv1rxsvz] {
    word-break: break-all;
}

.picker-folder-label[b-9piv1rxsvz] {
    flex-grow: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.picker-folder-actions[b-9piv1rxsvz] {
    opacity: 0;
    transition: opacity 0.15s;
    line-height: 1;
}

.picker-folder-item:hover .picker-folder-actions[b-9piv1rxsvz] {
    opacity: 1;
}

.picker-folder-new[b-9piv1rxsvz],
.picker-folder-delete[b-9piv1rxsvz] {
    line-height: 1;
    font-size: 1rem;
}


.picker-folder-item[b-9piv1rxsvz] {
	cursor: pointer;
	font-size: 0.92rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.picker-image-grid[b-9piv1rxsvz] {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 0.75rem;
}

.picker-image-tile[b-9piv1rxsvz] {
	cursor: pointer;
}

.picker-tile-check[b-9piv1rxsvz] {
	position: absolute;
	top: 4px;
	left: 4px;
	font-size: 1.1rem;
	line-height: 1;
	pointer-events: none;
}

.picker-thumb[b-9piv1rxsvz] {
	height: 60px;
	max-width: 100%;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}

.picker-thumb-label[b-9piv1rxsvz] {
	font-size: 0.65rem;
	word-break: break-all;
	line-height: 1.2;
}
/* /Components/Shared/AdminPageHeading.razor.rz.scp.css */
/* Wraps tightly to the title so the hover highlight fits the title, not the
   whole page width. Negative left margin keeps the icon aligned with the
   page content below despite the pill's padding. */
.page-heading[b-2wd1fxhhgf] {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    padding: 0.55rem 0.9rem;
    margin-left: -0.9rem;
    border-radius: 14px;
    transition: background-color 0.2s ease;
}

/* Icon tile — mirrors the dashboard card's .dash-icon. */
.page-heading-icon[b-2wd1fxhhgf] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 12px;
    color: var(--accent, #0b2a3c);
    background: var(--accent-soft, rgba(11, 42, 60, 0.08));
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.page-heading-icon svg[b-2wd1fxhhgf] {
    width: 26px;
    height: 26px;
}

.page-heading-title[b-2wd1fxhhgf] {
    margin: 0;
    color: #0b2a3c;
    font-weight: 600;
}

/* Pizzaz: hovering the heading highlights the whole title with a soft accent
   pill and fills the icon tile (straight — no tilt). */
.page-heading:hover[b-2wd1fxhhgf] {
    background-color: var(--accent-soft, rgba(11, 42, 60, 0.08));
}

.page-heading:hover .page-heading-icon[b-2wd1fxhhgf] {
    background: var(--accent, #0b2a3c);
    color: #fff;
    transform: scale(1.05);
}

/* Per-page accent palette (identical to the dashboard cards). */
.page-heading--event[b-2wd1fxhhgf] {
    --accent: #0b2a3c;
    --accent-soft: rgba(11, 42, 60, 0.08);
}

.page-heading--sponsors[b-2wd1fxhhgf] {
    --accent: #c98727;
    --accent-soft: rgba(201, 135, 39, 0.12);
}

.page-heading--content[b-2wd1fxhhgf] {
    --accent: #4c8a8e;
    --accent-soft: rgba(76, 138, 142, 0.12);
}

.page-heading--links[b-2wd1fxhhgf] {
    --accent: #004773;
    --accent-soft: rgba(0, 71, 115, 0.10);
}
/* /Components/Shared/ImagePicker.razor.rz.scp.css */
.picker-overlay[b-n0evbt5cnx] {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.55);
	z-index: 2000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 2rem;
	overflow-y: auto;
}

.picker-modal[b-n0evbt5cnx] {
	background: #fff;
	border-radius: 8px;
	width: min(1400px, 96vw);
	height: min(92vh, 900px);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.picker-filter[b-n0evbt5cnx] {
	max-width: 220px;
}

.upload-file-input[b-n0evbt5cnx] {
	max-width: 260px;
}

.upload-folder-input[b-n0evbt5cnx] {
	max-width: 200px;
}

.picker-folder-tree[b-n0evbt5cnx] {
	width: 210px;
	flex-shrink: 0;
	border-right: 1px solid #dee2e6;
	overflow-y: auto;
	background: #f8f9fa;
}

.picker-folder-tree-header[b-n0evbt5cnx] {
	border-bottom: 1px solid #dee2e6;
	padding: 0.5rem;
}

.picker-new-folder-hint[b-n0evbt5cnx] {
	font-size: 0.72rem;
	margin-bottom: 0.25rem;
	word-break: break-all;
}

.picker-folder-label[b-n0evbt5cnx] {
	flex-grow: 1;
	overflow: hidden;
	text-overflow: ellipsis;
}

.picker-folder-actions[b-n0evbt5cnx] {
	opacity: 0;
	transition: opacity 0.15s;
	line-height: 1;
}

.picker-folder-item:hover .picker-folder-actions[b-n0evbt5cnx] {
	opacity: 1;
}

.picker-folder-new[b-n0evbt5cnx] {
	line-height: 1;
	font-size: 1rem;
}

.picker-folder-item[b-n0evbt5cnx] {
	cursor: pointer;
	font-size: 0.92rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.picker-image-grid[b-n0evbt5cnx] {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 0.75rem;
}

.picker-image-tile[b-n0evbt5cnx] {
	cursor: pointer;
}

.picker-thumb[b-n0evbt5cnx] {
	height: 60px;
	max-width: 100%;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}

.picker-thumb-label[b-n0evbt5cnx] {
	font-size: 0.65rem;
	word-break: break-all;
	line-height: 1.2;
}
