/* /Components/RoomBlocks/Detail/Tabs/RoomBlockReservationsGroupedTable.razor.rz.scp.css */
.room-block-reservations-table-scroll[b-cx5f9zbneu] {
    scrollbar-gutter: stable;
}

.reservation-actions-sticky[b-cx5f9zbneu] {
    overflow: hidden;
}

.reservation-actions-sticky[b-cx5f9zbneu]::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1px;
    background: var(--border);
    pointer-events: none;
}

.reservation-inline-change-drawer[b-cx5f9zbneu] {
    --room-block-reservations-drawer-sidebar-width: var(--sidebar-width-expanded, 270px);

    animation: reservation-inline-change-drawer-enter-b-cx5f9zbneu 220ms ease-in;
    left: calc(var(--room-block-reservations-drawer-sidebar-width) + 1rem);
    margin-left: auto;
    margin-right: auto;
    right: 1rem;
    width: min(960px, calc(100vw - var(--room-block-reservations-drawer-sidebar-width) - 2rem));
}

.page:has(.sidebar.sidebar-collapsed) .reservation-inline-change-drawer[b-cx5f9zbneu] {
    --room-block-reservations-drawer-sidebar-width: var(--sidebar-width-collapsed, 59px);
}

@media (max-width: 1023px) {
    .reservation-inline-change-drawer[b-cx5f9zbneu] {
        --room-block-reservations-drawer-sidebar-width: 0px;
    }
}

@keyframes reservation-inline-change-drawer-enter-b-cx5f9zbneu {
    from {
        opacity: 0;
        transform: translateY(100%);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* /Components/Shared/UI/LocalizedRichText.razor.rz.scp.css */
/* Blazor CSS isolation. `::deep` lets these selectors cross into the MarkupString
   content rendered inside the wrapper, which would otherwise be outside the
   component's scoping attribute. */

.localized-rich-text[b-ylcbmr6t1d] {
    max-width: 100%;
}

/* Restore list markers that Tailwind's Preflight reset strips globally
   (`ul, ol { list-style: none; padding: 0; }`). Users who author rich-text
   descriptions with ordered/unordered lists expect to see numbers and
   bullets; without this block they'd disappear. Applied in BOTH default and
   compact modes so non-compact call sites also get proper markers. */
.localized-rich-text[b-ylcbmr6t1d]  ul {
    list-style: disc outside;
    padding-left: 1.25rem;
    margin: 0.5rem 0;
}

.localized-rich-text[b-ylcbmr6t1d]  ol {
    list-style: decimal outside;
    padding-left: 1.5rem;
    margin: 0.5rem 0;
}

.localized-rich-text[b-ylcbmr6t1d]  li {
    margin: 0.125rem 0;
}

.localized-rich-text--compact[b-ylcbmr6t1d]  p,
.localized-rich-text--compact[b-ylcbmr6t1d]  ul,
.localized-rich-text--compact[b-ylcbmr6t1d]  ol {
    margin: var(--lrt-p-margin, 0);
}

.localized-rich-text--compact[b-ylcbmr6t1d]  ul {
    padding-left: 1.25rem;
}

.localized-rich-text--compact[b-ylcbmr6t1d]  ol {
    padding-left: 1.5rem;
}

.localized-rich-text--compact[b-ylcbmr6t1d]  li + li {
    margin-top: var(--lrt-list-margin, 0.25rem);
}

/* Keep heading tags readable when a user boldly titles something inside a card
   subtitle; we scale them down to the parent's size so the card layout stays tidy. */
.localized-rich-text--compact[b-ylcbmr6t1d]  h1,
.localized-rich-text--compact[b-ylcbmr6t1d]  h2,
.localized-rich-text--compact[b-ylcbmr6t1d]  h3,
.localized-rich-text--compact[b-ylcbmr6t1d]  h4 {
    font-size: inherit;
    font-weight: 600;
    margin: 0.25rem 0;
}

.localized-rich-text--compact[b-ylcbmr6t1d]  a {
    text-decoration: underline;
}

.localized-rich-text--clamp[b-ylcbmr6t1d] {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--lrt-line-clamp, 2);
    line-clamp: var(--lrt-line-clamp, 2);
    overflow: hidden;
}
/* /Components/ui/BackgroundJobStatusIndicator.razor.rz.scp.css */
.hive-job-status[b-vgicud1483] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    min-width: 0;
}

.hive-job-status--compact[b-vgicud1483] {
    gap: 0.3125rem;
}

.hive-job-status-indicator[b-vgicud1483] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.375rem;
    height: 1.375rem;
    border-radius: 9999px;
    transition: transform 180ms ease, background-color 180ms ease, box-shadow 220ms ease;
}

.hive-job-status--compact .hive-job-status-indicator[b-vgicud1483] {
    width: 1.125rem;
    height: 1.125rem;
}

.hive-job-status-indicator--idle[b-vgicud1483],
.hive-job-status-indicator--unknown[b-vgicud1483],
.hive-job-status-indicator--skipped[b-vgicud1483] {
    background-color: rgba(148, 163, 184, 0.14);
}

.hive-job-status-indicator--queued[b-vgicud1483],
.hive-job-status-indicator--in-progress[b-vgicud1483] {
    background-color: rgba(125, 211, 252, 0.18);
}

.hive-job-status-indicator--completed[b-vgicud1483] {
    background-color: rgba(34, 197, 94, 0.14);
}

.hive-job-status-indicator--failed[b-vgicud1483],
.hive-job-status-indicator--cancelled[b-vgicud1483] {
    background-color: rgba(239, 68, 68, 0.14);
}

.hive-job-status-text[b-vgicud1483] {
    display: inline-block;
    line-height: 1.2;
    white-space: nowrap;
}

.hive-job-status-text--compact[b-vgicud1483] {
    font-size: 0.75rem;
}

.hive-job-status-text--default[b-vgicud1483] {
    font-size: 0.875rem;
}

.hive-job-status-icon--queued[b-vgicud1483] {
    animation: hive-job-status-queued-b-vgicud1483 1.5s ease-in-out infinite;
    transform-origin: center;
}

.hive-job-status-transition--success[b-vgicud1483] {
    animation: hive-job-status-success-pop-b-vgicud1483 650ms ease-out;
}

.hive-job-status-transition--failure[b-vgicud1483] {
    animation: hive-job-status-failure-pop-b-vgicud1483 650ms ease-out;
}

@keyframes hive-job-status-queued-b-vgicud1483 {
    0%, 100% {
        opacity: 0.72;
        transform: translateY(0);
    }

    50% {
        opacity: 1;
        transform: translateY(-1px);
    }
}

@keyframes hive-job-status-success-pop-b-vgicud1483 {
    0% {
        transform: scale(0.78);
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.22);
    }

    55% {
        transform: scale(1.12);
        box-shadow: 0 0 0 8px rgba(34, 197, 94, 0.12);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
    }
}

@keyframes hive-job-status-failure-pop-b-vgicud1483 {
    0% {
        transform: scale(0.78);
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.22);
    }

    55% {
        transform: scale(1.08);
        box-shadow: 0 0 0 8px rgba(239, 68, 68, 0.12);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
    }
}
/* /Components/ui/Card.razor.rz.scp.css */
/* Force card border colour across the app */
.card[b-4dzu5dsk6p] {
  border-color: rgb(205, 209, 221) !important;
}


/* /Components/ui/DatePicker.razor.rz.scp.css */
/* Hide the native date picker icon on the right while keeping native picker behaviour */
input[type="date"][b-vvohqp1d21]::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none;
}

/* Hide extra controls that can appear in Chromium */
input[type="date"][b-vvohqp1d21]::-webkit-clear-button,
input[type="date"][b-vvohqp1d21]::-webkit-inner-spin-button {
  display: none;
  -webkit-appearance: none;
}

/* Make it clear the whole field is clickable */
input[type="date"][b-vvohqp1d21] {
  cursor: pointer;
}


/* /Components/ui/DateTimePicker.razor.rz.scp.css */
/* Hide the native datetime picker icon on the right while keeping native picker behaviour */
input[type="datetime-local"][b-jaxqrlkipm]::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none;
}

/* Hide extra controls that can appear in Chromium */
input[type="datetime-local"][b-jaxqrlkipm]::-webkit-clear-button,
input[type="datetime-local"][b-jaxqrlkipm]::-webkit-inner-spin-button {
  display: none;
  -webkit-appearance: none;
}

/* Make it clear the whole field is clickable */
input[type="datetime-local"][b-jaxqrlkipm] {
  cursor: pointer;
}


/* /Pages/Dashboard.razor.rz.scp.css */
/* ========================================
   Dashboard Component Animations
   ======================================== */

@keyframes fade-in-b-ptyrifl7we {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes slide-up-b-ptyrifl7we {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scale-in-b-ptyrifl7we {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes bounce-in-b-ptyrifl7we {
    0% {
        opacity: 0;
        transform: scale(0.3);
    }
    50% {
        transform: scale(1.05);
    }
    70% {
        transform: scale(0.9);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes check-bounce-b-ptyrifl7we {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.2);
    }
}

@keyframes confetti-b-ptyrifl7we {
    0% {
        opacity: 1;
        transform: translateY(0) rotate(0deg);
    }
    100% {
        opacity: 0;
        transform: translateY(100vh) rotate(720deg);
    }
}

@keyframes pulse-glow-b-ptyrifl7we {
    0%, 100% {
        opacity: 0.5;
        transform: scale(1);
    }
    50% {
        opacity: 1;
        transform: scale(1.1);
    }
}

@keyframes shrink-out-b-ptyrifl7we {
    from {
        max-height: 200px;
        opacity: 1;
    }
    to {
        max-height: 0;
        opacity: 0;
        margin: 0;
        padding: 0;
    }
}

/* Animation classes - using ::deep to apply to child components */
[b-ptyrifl7we] .animate-fade-in {
    animation: fade-in-b-ptyrifl7we 0.3s ease-out forwards;
}

[b-ptyrifl7we] .animate-slide-up {
    animation: slide-up-b-ptyrifl7we 0.4s ease-out forwards;
}

[b-ptyrifl7we] .animate-scale-in {
    animation: scale-in-b-ptyrifl7we 0.3s ease-out forwards;
}

[b-ptyrifl7we] .animate-bounce-in {
    animation: bounce-in-b-ptyrifl7we 0.5s ease-out forwards;
}

[b-ptyrifl7we] .animate-check-bounce {
    animation: check-bounce-b-ptyrifl7we 0.3s ease-out;
}

[b-ptyrifl7we] .animate-confetti {
    animation: confetti-b-ptyrifl7we 3s ease-out forwards;
}

[b-ptyrifl7we] .animate-pulse-glow {
    animation: pulse-glow-b-ptyrifl7we 2s ease-in-out infinite;
}

[b-ptyrifl7we] .animate-shrink-out {
    animation: shrink-out-b-ptyrifl7we 0.3s ease-out forwards;
}

/* Scrollbar hide utility */
[b-ptyrifl7we] .scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

[b-ptyrifl7we] .scrollbar-hide::-webkit-scrollbar {
    display: none;
}

/* Line clamp utilities */
[b-ptyrifl7we] .line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

[b-ptyrifl7we] .line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

[b-ptyrifl7we] .line-clamp-none {
    -webkit-line-clamp: unset;
}
/* /Pages/Layout/AuthLayout.razor.rz.scp.css */

.auth-layout[b-gwwj7vo3u8] {
    min-height: 100vh;
    display: grid;
    place-items: center;
    background: var(--global-page-background);
}

.auth-layout__center[b-gwwj7vo3u8] {
  width: 100%;
  max-width: 1200px;
  padding: 32px 16px;
  margin: 0 auto;
}

.auth-brand[b-gwwj7vo3u8] { display:block; width: 100%; text-align: left; padding: 24px 16px 0; }
.auth-logo[b-gwwj7vo3u8] { height: 26px; }

/* Remove inner auth card wrapper to allow full-width custom hero */

/* full-width footer bar with placeholders */
.auth-footer[b-gwwj7vo3u8] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--global-page-footer);
    border-top: 1px solid #e1ded9;
}

.auth-footer .footer-inner[b-gwwj7vo3u8] {
    width: min(1200px, 92vw);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
}

.auth-footer .footer-label[b-gwwj7vo3u8] {
    color: #6b6b6b;
    font-size: 13px;
    margin-right: 12px;
}

.auth-footer .logo-row[b-gwwj7vo3u8] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.auth-footer .auth-footer-logo[b-gwwj7vo3u8] {
    height: 24px;
    width: auto;
    max-width: 72px;
    object-fit: contain;
    display: block;
}
/* /Pages/Layout/MainLayout.razor.rz.scp.css */
/* Layout Styles */

/* Main Layout - Side by Side */
/* Lock the document to the viewport so the layout never causes body-level scrolling.
   Each content area manages its own scroll via overflow-y-auto on inner containers. */
html[b-ojbi2637qn], body[b-ojbi2637qn] {
    height: 100%;
    overflow: hidden;
}

.page[b-ojbi2637qn] {
    display: flex;
    height: 100svh; /* definite height anchors the entire flex chain below */
    overflow: hidden;
}

/* Left Sidebar - Full Height */
.sidebar[b-ojbi2637qn] {
    flex-shrink: 0;
    width: var(--sidebar-width-expanded, 270px);
    position: relative;
    height: 100%; /* fills .page's definite height */
    align-self: stretch;
    overflow-y: auto;
    overflow-x: hidden; /* prevent horizontal scrollbar in collapsed mode */
    background: var(--global-sidebar-background, #2c3249);
    color: var(--global-sidebar-color, #f1f5f9);
    /* Match NavMenu: track = sidebar bg; thumb a touch lighter */
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--global-sidebar-background, #2c3249) 50%, rgba(255, 255, 255, 0.38)) var(--global-sidebar-background, #2c3249);
}

.sidebar[b-ojbi2637qn]::-webkit-scrollbar {
    width: 8px;
}

.sidebar[b-ojbi2637qn]::-webkit-scrollbar-track {
    background: var(--global-sidebar-background, #2c3249);
    border-radius: 8px;
}

.sidebar[b-ojbi2637qn]::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--global-sidebar-background, #2c3249) 50%, rgba(255, 255, 255, 0.38));
    border-radius: 8px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

.sidebar[b-ojbi2637qn]::-webkit-scrollbar-thumb:hover {
    background: color-mix(in srgb, var(--global-sidebar-background, #2c3249) 40%, rgba(255, 255, 255, 0.5));
}

/* Collapsed state hooked from NavMenu toggle */
.sidebar.sidebar-collapsed[b-ojbi2637qn] { width: var(--sidebar-width-collapsed, 59px); }

/* Right Main Area - TopBar and Content */
.main-area[b-ojbi2637qn] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    height: 100%; /* fills .page (which is now a definite 100svh) */
    min-width: 0; /* prevent overflow from long content */
    overflow: hidden;
    background: var(--global-sidebar-background, #2c3249);
}

/* Top Navigation Bar - Only above content */
.top-navigation[b-ojbi2637qn] {
    background: var(--global-sidebar-background, #2c3249);
    position: sticky;
    top: 0;
    z-index: 30;
    /* TopBar will handle its own styling */
}

.top-navigation-bar[b-ojbi2637qn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1.5rem;
    height: 48px;
    color: var(--global-sidebar-color, #f1f5f9);
}

.nav-left[b-ojbi2637qn] {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.nav-logo[b-ojbi2637qn] {
    display: flex;
    align-items: center;
}

.nav-right[b-ojbi2637qn] {
    display: flex;
    align-items: center;
}

.nav-controls[b-ojbi2637qn] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.nav-control-btn[b-ojbi2637qn] {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    padding: 0.5rem;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}

    .nav-control-btn:hover[b-ojbi2637qn] {
        color: #ffffff;
        background-color: rgba(255, 255, 255, 0.1);
    }

.notification-btn[b-ojbi2637qn] {
    position: relative;
}

.notification-badge[b-ojbi2637qn] {
    position: absolute;
    top: 4px;
    right: 4px;
    background-color: #ef4444;
    color: white;
    font-size: 10px;
    font-weight: bold;
    padding: 2px 4px;
    border-radius: 8px;
    min-width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.user-avatar[b-ojbi2637qn] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #64748b;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin-left: 0.75rem;
}

    .user-avatar:hover[b-ojbi2637qn] {
        background-color: #475569;
    }

.user-initials[b-ojbi2637qn] {
    font-weight: 600;
}

/* Main Content Area */
.main-content[b-ojbi2637qn] {
    flex: 1 1 auto;
    min-height: 0; /* allow flex shrinking so it never overflows .main-area */
    min-width: 0;
    background: var(--global-main-content-background, #f8f9fa);
    border-top-left-radius: 16px;
    overflow: hidden;
}

/* Content Area — fills .main-content exactly; pages that need to scroll use
   overflow-y-auto on their own inner containers (e.g. DetailPageV4ContentArea). */
.content[b-ojbi2637qn] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Dropdowns */
.user-dropdown[b-ojbi2637qn] {
    position: absolute;
    top: 100%;
    right: 1.5rem;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    min-width: 200px;
    z-index: 1000;
    margin-top: 0.5rem;
}

.dropdown-item[b-ojbi2637qn] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    color: #374151;
    text-decoration: none;
    transition: background-color 0.2s ease;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
    font-size: 0.875rem;
}

    .dropdown-item:hover[b-ojbi2637qn] {
        background-color: #f9fafb;
    }

.dropdown-divider[b-ojbi2637qn] {
    height: 1px;
    background-color: #e5e7eb;
    margin: 0.5rem 0;
}

.notifications-panel[b-ojbi2637qn] {
    position: absolute;
    top: 100%;
    right: 1.5rem;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    min-width: 300px;
    z-index: 1000;
    margin-top: 0.5rem;
}

.notifications-header[b-ojbi2637qn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid #e5e7eb;
}

    .notifications-header h3[b-ojbi2637qn] {
        margin: 0;
        font-size: 1rem;
        font-weight: 600;
    }

.notifications-content[b-ojbi2637qn] {
    max-height: 400px;
    overflow-y: auto;
}

.notification-item[b-ojbi2637qn] {
    display: flex;
    align-items: center;
    padding: 1rem;
    border-bottom: 1px solid #f3f4f6;
    transition: background-color 0.2s ease;
}

    .notification-item:hover[b-ojbi2637qn] {
        background-color: #f9fafb;
    }

    .notification-item.unread[b-ojbi2637qn] {
        background-color: #f0f9ff;
    }

.notification-content[b-ojbi2637qn] {
    flex: 1;
}

.notification-title[b-ojbi2637qn] {
    font-weight: 600;
    font-size: 0.875rem;
    color: #111827;
    margin-bottom: 0.25rem;
}

.notification-message[b-ojbi2637qn] {
    font-size: 0.75rem;
    color: #6b7280;
    margin-bottom: 0.25rem;
}

.notification-time[b-ojbi2637qn] {
    font-size: 0.75rem;
    color: #9ca3af;
}

.mark-read-btn[b-ojbi2637qn] {
    background: none;
    border: none;
    color: #6b7280;
    padding: 0.25rem;
    border-radius: 4px;
    cursor: pointer;
    transition: color 0.2s ease;
}

    .mark-read-btn:hover[b-ojbi2637qn] {
        color: #374151;
    }

.no-notifications[b-ojbi2637qn] {
    padding: 2rem;
    text-align: center;
    color: #6b7280;
}

    .no-notifications i[b-ojbi2637qn] {
        font-size: 2rem;
        margin-bottom: 0.5rem;
        opacity: 0.5;
    }

/* NavMenu Styles */
.navbar-brand[b-ojbi2637qn] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid #34495e;
}

.brand-logo[b-ojbi2637qn] {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.brand-text[b-ojbi2637qn] {
    font-size: 1.25rem;
    font-weight: 600;
    color: white;
    margin: 0;
}

.nav-scrollable[b-ojbi2637qn] {
    flex: 1;
    overflow-y: auto;
}

.nav-section[b-ojbi2637qn] {
    margin-bottom: 1rem;
}

.nav-section-title[b-ojbi2637qn] {
    padding: 0.75rem 0 0.5rem;
    color: #95a5a6;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #34495e;
    margin-bottom: 0.5rem;
}

.nav-item[b-ojbi2637qn] {
    margin-bottom: 2px;
}

.nav-link[b-ojbi2637qn] {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    color: var(--global-sidebar-color);
    text-decoration: none;
    border-radius: 6px;
    transition: all 0.2s ease;
    font-size: 0.9rem;
    font-weight: 500;
}

    .nav-link:hover[b-ojbi2637qn] {
        background-color: var(--global-sidebar-hover);
        color: white;
        text-decoration: none;
    }

.nav-item .active[b-ojbi2637qn] {
    background-color: var(--global-sidebar-active);
    color: var(--primary-foreground);
}

.nav-link .nav-icon[b-ojbi2637qn] {
    width: 16px;
    margin-right: 1rem;
    flex-shrink: 0;
    display: inline-block;
}

/* Responsive Design - Mobile adjustments for main area */
@media (max-width: 1023px) {
    .sidebar[b-ojbi2637qn] {
        width: 0; /* Hide sidebar on mobile, nav will be fixed positioned */
        overflow: hidden;
    }

    .main-area[b-ojbi2637qn] {
        width: 100%;
    }
}

/* Page Container */
.page-container[b-ojbi2637qn] {
    background: var(--global-main-content-background, #f8f9fa);
    min-height: calc(100vh - 120px);
    padding: 0;
}

/* Page Header */
.page-header[b-ojbi2637qn] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    border: 1px solid #e9ecef;
    margin-bottom: 1.5rem;
}

.header-content[b-ojbi2637qn] {
    padding: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-info h2.page-title[b-ojbi2637qn] {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 600;
    color: rgb(var(--color-sf-primary));
    line-height: 1.2;
}

.header-info .page-description[b-ojbi2637qn] {
    margin: 0.25rem 0 0 0;
    color: var(--whitelabel-secondary-colour);
    font-size: 0.95rem;
}

.header-actions[b-ojbi2637qn] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

/* Content Cards */
.content-card[b-ojbi2637qn] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    border: 1px solid #e9ecef;
    padding: 2rem;
    margin-bottom: 1.5rem;
}

/* Form Controls */
.form-control[b-ojbi2637qn] {
    border-radius: 8px;
    border: 1px solid #dee2e6;
    transition: all 0.2s ease;
}

    .form-control:focus[b-ojbi2637qn] {
        border-color: #3498db;
        box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2);
    }

/* Buttons */
.btn[b-ojbi2637qn] {
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.btn-primary[b-ojbi2637qn] {
    background-color: #3498db;
    border-color: #3498db;
}

    .btn-primary:hover[b-ojbi2637qn] {
        background-color: #2980b9;
        border-color: #2980b9;
    }

/* Status Badges */
.status-badge[b-ojbi2637qn] {
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    display: inline-block;
}

    .status-new[b-ojbi2637qn], .status-badge.status-new[b-ojbi2637qn] {
        background-color: #e3f2fd;
        color: #1976d2;
    }

    .status-qualified[b-ojbi2637qn], .status-badge.status-qualified[b-ojbi2637qn] {
        background-color: #e8f5e8;
        color: #2e7d32;
    }

    .status-unqualified[b-ojbi2637qn], .status-badge.status-unqualified[b-ojbi2637qn] {
        background-color: #ffebee;
        color: #c62828;
    }

    .status-contacted[b-ojbi2637qn], .status-badge.status-contacted[b-ojbi2637qn] {
        background-color: #fff3e0;
        color: #f57c00;
    }

    .status-converted[b-ojbi2637qn], .status-badge.status-converted[b-ojbi2637qn] {
        background-color: #f3e5f5;
        color: #7b1fa2;
    }

/* Responsive Design */
@media (max-width: 768px) {
    .header-content[b-ojbi2637qn] {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .header-actions[b-ojbi2637qn] {
        width: 100%;
        justify-content: stretch;
    }

        .header-actions .btn[b-ojbi2637qn] {
            flex: 1;
        }

    .content-card[b-ojbi2637qn] {
        padding: 1.5rem;
    }
}

@media (max-width: 576px) {
    .page-container[b-ojbi2637qn] {
        padding: 0 0.5rem;
    }

    .content-card[b-ojbi2637qn] {
        padding: 1rem;
    }
}
/* /Pages/Layout/NavMenu.razor.rz.scp.css */
/* Mobile navigation toggle */
.navbar-toggler[b-c1mc1qh0tf] { display: none; }

.navbar-toggler:checked[b-c1mc1qh0tf] {
    @apply bg-gray-700;
}

/* Navigation container positioning */
.nav-scrollable[b-c1mc1qh0tf] { 
    width: var(--sidebar-width-expanded, 270px); 
    max-width: var(--sidebar-width-expanded, 270px); 
    transform: translateX(0); 
    background: var(--global-sidebar-background, #2c3249);
}

.navbar-toggler:checked ~ .nav-scrollable[b-c1mc1qh0tf] { transform: translateX(0); }

/* On mobile, nav should be positioned fixed */
@media (max-width: 1023px) {
    .navbar-toggler[b-c1mc1qh0tf] { display: block; appearance: none; cursor: pointer; width: 48px; height: 36px; position: fixed; top: 1rem; left: 1rem; z-index: 50; border: 1px solid #9ca3af; background: #1f2937; border-radius: 6px; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: center; background-size: 1.5rem; }
    .nav-scrollable[b-c1mc1qh0tf] { 
        position: fixed; 
        top: 0; 
        left: 0; 
        z-index: 40; 
        width: var(--sidebar-width-expanded, 270px); 
        max-width: var(--sidebar-width-expanded, 270px); 
        transform: translateX(-100%);
        background: var(--global-sidebar-background, #2c3249);
    }
    .navbar-toggler:checked ~ .nav-scrollable[b-c1mc1qh0tf] { transform: translateX(0); }
}

/* Desktop navigation */
@media (min-width: 1024px) {
    .nav-scrollable[b-c1mc1qh0tf] {
        @apply border-r border-gray-700;
    }
}

/* Active and hover states for navigation links */
.nav-scrollable[b-c1mc1qh0tf]  .nav-link.active { 
    background: var(--primary); 
    color: var(--primary-foreground); 
}

.nav-scrollable[b-c1mc1qh0tf]  .nav-link:hover:not(.active) { background: #374151; color: #fff; }

/* Softer hover for nested (2nd level) items — row background covers link + pin */
.nav-scrollable[b-c1mc1qh0tf]  .nav-submenu .nav-link:hover:not(.active) {
    background-color: transparent;
    color: hsl(var(--sidebar-foreground) / 0.92);
}

/* Second-level rows (flex: link + pin): one shared highlight */
.nav-scrollable[b-c1mc1qh0tf]  .nav-submenu-row {
    border-radius: 0.375rem;
}

.nav-scrollable[b-c1mc1qh0tf]  .nav-submenu-row:has(.nav-link.active) {
    background: var(--primary);
}

.nav-scrollable[b-c1mc1qh0tf]  .nav-submenu-row:has(.nav-link.active) .nav-link {
    background: transparent !important;
}

.nav-scrollable[b-c1mc1qh0tf]  .nav-submenu-row:hover:not(:has(.nav-link.active)) {
    background-color: rgba(255, 255, 255, 0.06);
}

.nav-scrollable[b-c1mc1qh0tf]  .nav-submenu-row:hover:not(:has(.nav-link.active)) .nav-link {
    background: transparent !important;
    color: hsl(var(--sidebar-foreground) / 0.92);
}

/* Avoid top-level dark hover on these rows (pin + label share row tint) */
.nav-scrollable[b-c1mc1qh0tf]  .nav-submenu-row .nav-link:hover:not(.active) {
    background: transparent !important;
}

/* Make the logo/header inside the sidebar sticky like the top bar */
.sidebar-header[b-c1mc1qh0tf] {
    position: sticky;
    top: 0;
    z-index: 20;
    background: var(--global-sidebar-background, #2c3249);
}

/* Ensure the navigation list scrolls beneath the sticky header */
.sidebar-nav[b-c1mc1qh0tf] {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* Scrollbar: track matches sidebar; thumb slightly lighter than before (neutral lift on sidebar hue) */
.sidebar-nav[b-c1mc1qh0tf],
#sidebar-root.nav-scrollable[b-c1mc1qh0tf] {
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--global-sidebar-background, #2c3249) 50%, rgba(255, 255, 255, 0.38)) var(--global-sidebar-background, #2c3249);
}

.sidebar-nav[b-c1mc1qh0tf]::-webkit-scrollbar,
#sidebar-root.nav-scrollable[b-c1mc1qh0tf]::-webkit-scrollbar {
    width: 8px;
}

.sidebar-nav[b-c1mc1qh0tf]::-webkit-scrollbar-track,
#sidebar-root.nav-scrollable[b-c1mc1qh0tf]::-webkit-scrollbar-track {
    background: var(--global-sidebar-background, #2c3249);
    border-radius: 8px;
}

.sidebar-nav[b-c1mc1qh0tf]::-webkit-scrollbar-thumb,
#sidebar-root.nav-scrollable[b-c1mc1qh0tf]::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--global-sidebar-background, #2c3249) 50%, rgba(255, 255, 255, 0.38));
    border-radius: 8px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

.sidebar-nav[b-c1mc1qh0tf]::-webkit-scrollbar-thumb:hover,
#sidebar-root.nav-scrollable[b-c1mc1qh0tf]::-webkit-scrollbar-thumb:hover {
    background: color-mix(in srgb, var(--global-sidebar-background, #2c3249) 40%, rgba(255, 255, 255, 0.5));
}

/* Mobile overlay visibility */
.navbar-overlay[b-c1mc1qh0tf] {
    @apply hidden;
}

.navbar-toggler:checked ~ .navbar-overlay[b-c1mc1qh0tf] {
    @apply block;
}

/* /Pages/Layout/TopBar.razor.rz.scp.css */
/* TopBar now uses Tailwind CSS classes - this file can be removed or kept for custom styles if needed */
/* /Pages/Scoring/ScoringVersionDetail.razor.rz.scp.css */
.weight-slider[b-x61p069f2q] {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 12px;
	border-radius: 9999px;
	background: var(--muted);
	outline: none;
	transition: background 0.15s ease;
}

.weight-slider[b-x61p069f2q]::-webkit-slider-runnable-track {
	height: 12px;
	border-radius: 9999px;
}

.weight-slider[b-x61p069f2q]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	border-radius: 9999px;
	background: var(--card);
	border: 2px solid var(--border);
	box-shadow: 0 1px 2px rgba(0,0,0,0.08);
	margin-top: -3px; /* center thumb on 12px track */
}

.weight-slider[b-x61p069f2q]::-moz-range-track {
	height: 12px;
	border-radius: 9999px;
}
.weight-slider[b-x61p069f2q]::-moz-range-thumb {
	width: 18px;
	height: 18px;
	border-radius: 9999px;
	background: var(--card);
	border: 2px solid var(--border);
	box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}

/* Color accents via box-shadow halo to match design */

/* Use chart color variables provided by theme */
.weight-slider--blue[b-x61p069f2q]::-webkit-slider-thumb { border-color: var(--chart-1); box-shadow: 0 0 0 3px color-mix(in srgb, var(--chart-1) 25%, transparent); }
.weight-slider--green[b-x61p069f2q]::-webkit-slider-thumb { border-color: var(--chart-2); box-shadow: 0 0 0 3px color-mix(in srgb, var(--chart-2) 25%, transparent); }
.weight-slider--orange[b-x61p069f2q]::-webkit-slider-thumb { border-color: var(--chart-3); box-shadow: 0 0 0 3px color-mix(in srgb, var(--chart-3) 25%, transparent); }

.weight-slider--blue[b-x61p069f2q]::-moz-range-thumb { border-color: var(--chart-1); }
.weight-slider--green[b-x61p069f2q]::-moz-range-thumb { border-color: var(--chart-2); }
.weight-slider--orange[b-x61p069f2q]::-moz-range-thumb { border-color: var(--chart-3); }

/* Hide grab handle when slider is disabled (non-interactive mode) */
.weight-slider:disabled[b-x61p069f2q]::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 0; height: 0; border: 0; box-shadow: none; background: transparent; }
.weight-slider:disabled[b-x61p069f2q]::-moz-range-thumb { width: 0; height: 0; border: 0; box-shadow: none; background: transparent; }
.weight-slider:disabled[b-x61p069f2q]::-ms-thumb { width: 0; height: 0; border: 0; box-shadow: none; background: transparent; }

/* Prevent interaction when not in edit mode */
.weight-slider.non-editing[b-x61p069f2q] {
    pointer-events: none;
}

.weight-slider.non-editing[b-x61p069f2q]::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 0; height: 0; border: 0; box-shadow: none; background: transparent; }
.weight-slider.non-editing[b-x61p069f2q]::-moz-range-thumb { width: 0; height: 0; border: 0; box-shadow: none; background: transparent; }
.weight-slider.non-editing[b-x61p069f2q]::-ms-thumb { width: 0; height: 0; border: 0; box-shadow: none; background: transparent; }

/* Override disabled state styling to prevent fading */
.weight-slider:disabled[b-x61p069f2q] {
    opacity: 1 !important;
    filter: none !important;
}

.weight-slider:disabled[b-x61p069f2q]::-webkit-slider-track {
    opacity: 1 !important;
}

.weight-slider:disabled[b-x61p069f2q]::-moz-range-track {
    opacity: 1 !important;
}

/* Progress bar styling */
.progress-bar[b-x61p069f2q] {
    width: 100%;
    height: 12px;
    background-color: #e5e7eb; /* gray-200 */
    border-radius: 9999px;
    overflow: hidden;
    position: relative;
}

.progress-bar-fill[b-x61p069f2q] {
    height: 100%;
    border-radius: 9999px;
    transition: width 0.3s ease, background-color 0.3s ease;
    position: relative;
}

.progress-bar-fill[b-x61p069f2q]::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%);
    animation: shimmer-b-x61p069f2q 2s infinite;
}

@keyframes shimmer-b-x61p069f2q {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}


