/* /Components/Dialogs/KitBuildDetailDialog.razor.rz.scp.css */
/* Kit Build detail dialog — same Royal Blue / Amber system as the Kit Builds page. */

.kbd-title[b-5d4t1k052b] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.kbd-title__main[b-5d4t1k052b] {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--color-text-dark);
    line-height: 1.2;
}

.kbd-title__sub[b-5d4t1k052b] {
    font-size: 0.8rem;
    color: var(--color-primary-800);
    font-weight: 600;
}

.kbd-badge[b-5d4t1k052b] {
    display: inline-block;
    padding: 0.2rem 0.65rem;
    border-radius: 6px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.kbd-badge--kit[b-5d4t1k052b] {
    background: var(--color-primary-50);
    color: var(--color-primary-800);
    border: 1px solid var(--color-primary-200);
}

.kbd-badge--idl[b-5d4t1k052b] {
    background: var(--color-secondary-50);
    color: var(--color-secondary-800);
    border: 1px solid var(--color-secondary-200);
}

.kbd-loading[b-5d4t1k052b] {
    display: flex;
    justify-content: center;
    padding: 2rem 0;
}

/* Definition grid */
.kbd-grid[b-5d4t1k052b] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem 1.5rem;
    padding: 0.25rem 0 0.5rem;
}

.kbd-field[b-5d4t1k052b] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-bottom: 1px dashed var(--color-primary-100);
    padding-bottom: 0.45rem;
}

.kbd-label[b-5d4t1k052b] {
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #7A8699;
}

.kbd-value[b-5d4t1k052b] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--color-text-dark);
}

.kbd-unit[b-5d4t1k052b] {
    font-size: 0.72rem;
    font-weight: 400;
    color: #7A8699;
}

/* Notes: soft amber callout */
.kbd-notes[b-5d4t1k052b] {
    margin-top: 0.75rem;
}

.kbd-notes__text[b-5d4t1k052b] {
    margin-top: 0.3rem;
    background: var(--color-secondary-50);
    border-left: 3px solid var(--color-secondary-400);
    border-radius: 0 6px 6px 0;
    padding: 0.5rem 0.75rem;
    font-size: 0.85rem;
    color: var(--color-text-dark);
    white-space: pre-wrap;
}

/* Kits-in-family chips, scrollable if the family is large */
.kbd-section[b-5d4t1k052b] {
    margin-top: 0.9rem;
}

.kbd-chips[b-5d4t1k052b] {
    margin-top: 0.35rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    max-height: 108px;
    overflow-y: auto;
}

.kbd-chip[b-5d4t1k052b] {
    background: var(--color-primary-50);
    color: var(--color-primary-900);
    border: 1px solid var(--color-primary-100);
    border-radius: 999px;
    padding: 0.1rem 0.6rem;
    font-size: 0.72rem;
    font-weight: 600;
}

/* Attachment rows */
.kbd-attachment[b-5d4t1k052b] {
    margin-top: 0.35rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.6rem;
    border: 1px solid var(--color-primary-100);
    border-radius: 8px;
    text-decoration: none;
    color: var(--color-primary-800);
    font-size: 0.85rem;
    font-weight: 600;
    transition: background-color 120ms ease;
}

.kbd-attachment:hover[b-5d4t1k052b] {
    background: var(--color-primary-50);
}

.kbd-attachment__open[b-5d4t1k052b] {
    margin-left: auto;
    opacity: 0.55;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-5nway4mu89] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-5nway4mu89] {
    flex: 1;
}

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

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

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

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

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

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

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

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

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

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

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

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

/* --- Header Page Favorites dropdown rows: label on the left, unfavorite star on the right --- */
.hdr-fav-item[b-5nway4mu89] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.5rem;
    border-radius: 4px;
    cursor: grab;
    border-top: 2px solid transparent;
}

.hdr-fav-item:hover[b-5nway4mu89] {
    background: rgba(0, 0, 0, 0.05);
}

.hdr-fav-item:active[b-5nway4mu89] {
    cursor: grabbing;
}

/* Drop indicator: a coloured line above the row the dragged item will land before. */
.hdr-fav-item.drag-over[b-5nway4mu89] {
    border-top-color: var(--color-secondary-400);
}

.hdr-fav-label[b-5nway4mu89] {
    flex: 1 1 auto;
    min-width: 0;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.875rem;
}

/* Always a filled, coloured gold star (these are favorites); click to unfavorite. Material Symbols fill is
   driven by --rz-icon-fill (1 = solid), which the RadzenIcon inherits from here. */
.hdr-fav-star[b-5nway4mu89] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    color: var(--color-secondary-400);
    --rz-icon-fill: 1;
}

#blazor-error-ui[b-5nway4mu89] {
    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-5nway4mu89] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* Fill the sidebar so the Administration group can be pushed to the bottom edge. */
.nav-shell[b-mmwx4i8isr] {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

/* margin-top: auto eats the leftover space above, pinning Administration to the bottom. */
.nav-shell-bottom[b-mmwx4i8isr] {
    margin-top: auto;
}

/* --- Page Favorites --- */
/* Each item's clickable content is a full-width flex row so the star sits opposite the label. */
.nav-fav-row[b-mmwx4i8isr] {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 0.5rem;
}

.nav-fav-label[b-mmwx4i8isr] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Star is a faint outline by default so it does not compete with the label. Radzen renders Material Symbols,
   whose FILL axis is driven by --rz-icon-fill (0 = outline, 1 = solid); the icon inherits it from here. */
.nav-fav-star[b-mmwx4i8isr] {
    flex: 0 0 auto;
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    opacity: 0.4;
    --rz-icon-fill: 0;
}

/* Fill the star solid on hover, and solid + gold once favorited. */
.nav-fav-star:hover[b-mmwx4i8isr] {
    opacity: 1;
    --rz-icon-fill: 1;
}

.nav-fav-star.is-fav[b-mmwx4i8isr] {
    opacity: 1;
    --rz-icon-fill: 1;
    color: var(--color-secondary-400);
}

/* Ensure the Radzen item link stretches so the flex row can right-align the star. */
[b-mmwx4i8isr] .rz-navigation-item-link {
    width: 100%;
}

/* --- Draggable Page Favorites list --- */
.nav-fav-list[b-mmwx4i8isr] {
    display: flex;
    flex-direction: column;
}

/* Rows mirror the nav item feel (padding + hover) and hint that they are draggable. */
.nav-fav-item[b-mmwx4i8isr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    cursor: grab;
    border-top: 2px solid transparent;
}

.nav-fav-item:hover[b-mmwx4i8isr] {
    background: rgba(0, 0, 0, 0.05);
}

.nav-fav-item:active[b-mmwx4i8isr] {
    cursor: grabbing;
}

/* Drop indicator: a coloured line above the row the dragged item will land before. */
.nav-fav-item.drag-over[b-mmwx4i8isr] {
    border-top-color: var(--color-secondary-400);
}

/* Match the Radzen panel-menu item typography so favorites read identically to the menu below. */
.nav-fav-item-link[b-mmwx4i8isr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 auto;
    min-width: 0;
    cursor: pointer;
    font-family: var(--rz-text-font-family);
    font-size: var(--rz-body-font-size);
    font-weight: var(--rz-panel-menu-font-weight, 400);
    color: var(--rz-panel-menu-item-color);
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-74yyo6aua5],
.components-reconnect-repeated-attempt-visible[b-74yyo6aua5],
.components-reconnect-failed-visible[b-74yyo6aua5],
.components-pause-visible[b-74yyo6aua5],
.components-resume-failed-visible[b-74yyo6aua5],
.components-rejoining-animation[b-74yyo6aua5] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-74yyo6aua5],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-74yyo6aua5],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-74yyo6aua5],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-74yyo6aua5],
#components-reconnect-modal.components-reconnect-retrying[b-74yyo6aua5],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-74yyo6aua5],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-74yyo6aua5],
#components-reconnect-modal.components-reconnect-failed[b-74yyo6aua5],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-74yyo6aua5] {
    display: block;
}


#components-reconnect-modal[b-74yyo6aua5] {
    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-74yyo6aua5 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-74yyo6aua5 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-74yyo6aua5 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-74yyo6aua5]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-74yyo6aua5 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-74yyo6aua5 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-74yyo6aua5 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-74yyo6aua5 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-74yyo6aua5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-74yyo6aua5] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-74yyo6aua5] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-74yyo6aua5] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-74yyo6aua5] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-74yyo6aua5] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-74yyo6aua5] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-74yyo6aua5 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-74yyo6aua5] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-74yyo6aua5 {
    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/Administration.razor.rz.scp.css */
/* Page Management tab — the page rows indented under their menu header. */
.page-row[b-irvyunrssu] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding-left: 2rem;
    border-top: 2px solid transparent;
}

/* Drag-to-reorder, mirroring the sidebar favorites: grab cursor on the row, and a coloured line
   above the row the dragged page will land before. */
.page-draggable[b-irvyunrssu] {
    cursor: grab;
}

.page-draggable:active[b-irvyunrssu] {
    cursor: grabbing;
}

.page-row.drag-over[b-irvyunrssu] {
    border-top-color: var(--color-secondary-400);
}
/* /Components/Pages/Tier2/AncillaryCharges.razor.rz.scp.css */
/* Ancillary Charges — same banded-panel treatment as Kit Builds (kb-*), ac-prefixed. */

.ac-title[b-yy079uhzfd] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ac-title__overline[b-yy079uhzfd] {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--mud-palette-text-secondary);
}

.ancillary-charges-page[b-yy079uhzfd]  .ac-panel {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--color-primary-100);
}

.ac-panel__header[b-yy079uhzfd] {
    background: linear-gradient(120deg, var(--color-primary) 0%, var(--color-primary-400) 100%);
    color: #fff;
    padding: 0.55rem 1rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-bottom: 3px solid var(--color-secondary-400);
}

.ac-panel__body[b-yy079uhzfd] {
    padding: 1rem;
}

.ancillary-charges-page[b-yy079uhzfd]  .ac-table .mud-table-head th {
    background: var(--color-primary-50);
    color: var(--color-primary-900);
    font-weight: 700;
    white-space: nowrap;
}

.ancillary-charges-page[b-yy079uhzfd]  .ac-table tbody tr:nth-child(even) {
    background: var(--color-page-tint);
}

.ancillary-charges-page[b-yy079uhzfd]  .ac-table tbody tr:hover {
    background: var(--color-primary-100);
    cursor: pointer;
}

.ancillary-charges-page[b-yy079uhzfd]  .ac-num {
    font-family: var(--font-mono);
    font-size: 0.86em;
    font-variant-numeric: tabular-nums;
}

.ancillary-charges-page[b-yy079uhzfd]  .ac-nowrap {
    white-space: nowrap;
}
/* /Components/Pages/Tier2/KitBuilds.razor.rz.scp.css */
/* Kit Builds — banded-panel treatment echoing the legacy tier2 screen, rebuilt on the
   app's Royal Blue / Amber tokens (wwwroot/app.css). */

.kb-title[b-x6k5kobzx5] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.kb-title__overline[b-x6k5kobzx5] {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--mud-palette-text-secondary);
}

/* Panel = MudPaper card with a solid brand band on top */
.kit-builds-page[b-x6k5kobzx5]  .kb-panel {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--color-primary-100);
}

.kb-panel__header[b-x6k5kobzx5] {
    background: linear-gradient(120deg, var(--color-primary) 0%, var(--color-primary-400) 100%);
    color: #fff;
    padding: 0.55rem 1rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-bottom: 3px solid var(--color-secondary-400);
}

.kb-panel__body[b-x6k5kobzx5] {
    padding: 1rem;
}

/* Table: brand-tinted header, zebra rows, quiet hover */
.kit-builds-page[b-x6k5kobzx5]  .kb-table .mud-table-head th {
    background: var(--color-primary-50);
    color: var(--color-primary-900);
    font-weight: 700;
    white-space: nowrap;
}

/* Opt a header out of the nowrap above so a long label breaks onto two lines
   instead of stretching its column. */
.kit-builds-page[b-x6k5kobzx5]  .kb-table .mud-table-head th.kb-wrap {
    white-space: normal;
    min-width: 7rem;
    max-width: 9rem;
}

/* Header carrying a tooltip: the amber info glyph is the affordance, matching the KPI cards.
   cursor: help rather than pointer — hovering explains, it doesn't navigate. */
.kit-builds-page[b-x6k5kobzx5]  .kb-th-info {
    cursor: help;
}

.kit-builds-page[b-x6k5kobzx5]  .kb-th-info .mud-icon-root {
    font-size: 0.95rem;
    vertical-align: -3px;
    margin-left: 7px;
    color: var(--color-secondary);
}

.kit-builds-page[b-x6k5kobzx5]  .kb-table tbody tr:nth-child(even) {
    background: var(--color-page-tint);
}

.kit-builds-page[b-x6k5kobzx5]  .kb-table tbody tr:hover {
    background: var(--color-primary-100);
    cursor: pointer;
}

.kit-builds-page[b-x6k5kobzx5]  .kb-num {
    font-family: var(--font-mono);
    font-size: 0.86em;
    font-variant-numeric: tabular-nums;
}

.kit-builds-page[b-x6k5kobzx5]  .kb-nowrap {
    white-space: nowrap;
}

/* IDL marker pill — amber so it reads instantly against the blue system */
.kit-builds-page[b-x6k5kobzx5]  .kb-pill {
    display: inline-block;
    padding: 0.05rem 0.5rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.kit-builds-page[b-x6k5kobzx5]  .kb-pill--idl {
    background: var(--color-secondary-50);
    color: var(--color-secondary-800);
    border: 1px solid var(--color-secondary-200);
}

/* Compact calendar: shrink the scheduler chrome so it reads as a filter widget,
   and brand the event chips */
.kit-builds-page[b-x6k5kobzx5]  .rz-scheduler {
    font-size: 0.72rem;
    border-radius: 8px;
}

/* Days with builds are tinted green via SlotRender; the tiny event chips and the
   "+N more" overflow button only add clutter at this size, so hide them. */
.kit-builds-page[b-x6k5kobzx5]  .rz-scheduler .rz-event,
.kit-builds-page[b-x6k5kobzx5]  .rz-scheduler .rz-event-list-btn {
    display: none;
}

.kit-builds-page[b-x6k5kobzx5]  .rz-scheduler-toolbar {
    padding: 0.25rem;
}

/* /Components/Pages/Tier2/KitProfiles.razor.rz.scp.css */
/* Kit Profiles — banded-panel treatment matching Kit Builds, on the app's
   Royal Blue / Amber tokens (wwwroot/app.css). */

.kp-title[b-h6j2alqjxb] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.kp-title__overline[b-h6j2alqjxb] {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--mud-palette-text-secondary);
}

/* Panel = MudPaper card with a solid brand band on top */
.kit-profiles-page[b-h6j2alqjxb]  .kp-panel {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--color-primary-100);
}

.kp-panel__header[b-h6j2alqjxb] {
    background: linear-gradient(120deg, var(--color-primary) 0%, var(--color-primary-400) 100%);
    color: #fff;
    padding: 0.55rem 1rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-bottom: 3px solid var(--color-secondary-400);
}

.kp-panel__body[b-h6j2alqjxb] {
    padding: 1rem;
}

/* Table: brand-tinted header, zebra rows, quiet hover */
.kit-profiles-page[b-h6j2alqjxb]  .kp-table .mud-table-head th {
    background: var(--color-primary-50);
    color: var(--color-primary-900);
    font-weight: 700;
    white-space: nowrap;
}

.kit-profiles-page[b-h6j2alqjxb]  .kp-table tbody tr:nth-child(even) {
    background: var(--color-page-tint);
}

.kit-profiles-page[b-h6j2alqjxb]  .kp-table tbody tr:hover {
    background: var(--color-primary-100);
    cursor: pointer;
}

.kit-profiles-page[b-h6j2alqjxb]  .kp-row--selected {
    background: var(--color-primary-100);
}

/* Inactive rows are the exception — dim them instead of chip-labeling every row */
.kit-profiles-page[b-h6j2alqjxb]  .kp-row--inactive {
    opacity: 0.55;
}

.kit-profiles-page[b-h6j2alqjxb]  .kp-num {
    font-family: var(--font-mono);
    font-size: 0.86em;
    font-variant-numeric: tabular-nums;
}

.kit-profiles-page[b-h6j2alqjxb]  .kp-nowrap {
    white-space: nowrap;
}

/* Bulk-import per-row errors (Task 6): keep long lists contained */
.kit-profiles-page[b-h6j2alqjxb]  .kp-errors {
    max-height: 260px;
    overflow-y: auto;
}
/* /Components/Pages/Tier2/PhotoDatabase.razor.rz.scp.css */
/* Photo Database — same banded-panel treatment as Kit Builds (kb-*), pd-prefixed. */

.pd-title[b-7zlkaatm9a] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pd-title__overline[b-7zlkaatm9a] {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--mud-palette-text-secondary);
}

.photo-database-page[b-7zlkaatm9a]  .pd-panel {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--color-primary-100);
}

.pd-panel__header[b-7zlkaatm9a] {
    background: linear-gradient(120deg, var(--color-primary) 0%, var(--color-primary-400) 100%);
    color: #fff;
    padding: 0.55rem 1rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-bottom: 3px solid var(--color-secondary-400);
}

.pd-panel__body[b-7zlkaatm9a] {
    padding: 1rem;
}

.photo-database-page[b-7zlkaatm9a]  .pd-table .mud-table-head th {
    background: var(--color-primary-50);
    color: var(--color-primary-900);
    font-weight: 700;
    white-space: nowrap;
}

.photo-database-page[b-7zlkaatm9a]  .pd-table tbody tr:nth-child(even) {
    background: var(--color-page-tint);
}

.photo-database-page[b-7zlkaatm9a]  .pd-table tbody tr:hover {
    background: var(--color-primary-100);
    cursor: pointer;
}

.photo-database-page[b-7zlkaatm9a]  .pd-num {
    font-family: var(--font-mono);
    font-size: 0.86em;
    font-variant-numeric: tabular-nums;
}

.photo-database-page[b-7zlkaatm9a]  .pd-nowrap {
    white-space: nowrap;
}
/* /Components/Pages/Tier2/Shipments.razor.rz.scp.css */
/* Shipments — same banded-panel treatment as Photo Database (pd-*), sp-prefixed. */

.sp-title[b-6yguednbhm] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sp-title__overline[b-6yguednbhm] {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--mud-palette-text-secondary);
}

.shipments-page[b-6yguednbhm]  .sp-panel {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--color-primary-100);
}

.sp-panel__header[b-6yguednbhm] {
    background: linear-gradient(120deg, var(--color-primary) 0%, var(--color-primary-400) 100%);
    color: #fff;
    padding: 0.55rem 1rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-bottom: 3px solid var(--color-secondary-400);
}

/* Header with an action on the right (bulk download); keeps the button off the title on narrow screens. */
.sp-panel__header--row[b-6yguednbhm] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    justify-content: space-between;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

.sp-panel__body[b-6yguednbhm] {
    padding: 1rem;
}

.shipments-page[b-6yguednbhm]  .sp-table .mud-table-head th {
    background: var(--color-primary-50);
    color: var(--color-primary-900);
    font-weight: 700;
    white-space: nowrap;
}

.shipments-page[b-6yguednbhm]  .sp-table tbody tr:nth-child(even) {
    background: var(--color-page-tint);
}

.shipments-page[b-6yguednbhm]  .sp-table tbody tr:hover {
    background: var(--color-primary-100);
    cursor: pointer;
}

.shipments-page[b-6yguednbhm]  .sp-num {
    font-family: var(--font-mono);
    font-size: 0.86em;
    font-variant-numeric: tabular-nums;
}

.shipments-page[b-6yguednbhm]  .sp-nowrap {
    white-space: nowrap;
}

/* Paired columns stack inside one cell so all ten fields fit the viewport without
   sideways scrolling: who+when, ship+eta, tracking+po, status+variances. */
.shipments-page[b-6yguednbhm]  .sp-stack {
    display: flex;
    flex-direction: column;
    gap: 1px;
    line-height: 1.35;
}

.shipments-page[b-6yguednbhm]  .sp-stack__sub {
    font-size: 0.72rem;
    color: #757575;
}

.shipments-page[b-6yguednbhm]  .sp-stack__tag {
    display: inline-block;
    min-width: 2rem;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9e9e9e;
}

.shipments-page[b-6yguednbhm]  .sp-stack__chip {
    margin-left: 0;
    align-self: flex-start;
}

/* Month calendar — MudBlazor has no month-grid component, so this is a plain 7-column grid. */

.sp-cal__nav[b-6yguednbhm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.25rem;
}

.sp-cal__grid[b-6yguednbhm] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}

.sp-cal__grid--head[b-6yguednbhm] {
    margin-top: 0.5rem;
}

.sp-cal__weekday[b-6yguednbhm] {
    text-align: center;
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--color-primary-900);
    padding: 0.2rem 0;
}

.sp-cal__blank[b-6yguednbhm] {
    aspect-ratio: 1;
}

.sp-cal__day[b-6yguednbhm] {
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #757575;
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
    padding: 0;
}

.sp-cal__num[b-6yguednbhm] {
    line-height: 1;
}

/* Per-day shipment count: the calendar reads as a delivery schedule board, not a binary highlight. */
.sp-cal__count[b-6yguednbhm] {
    font-size: 0.58rem;
    line-height: 1;
    font-weight: 700;
    opacity: 0.75;
}

.sp-cal__day--has[b-6yguednbhm] {
    background: var(--color-secondary-100);
    color: var(--color-secondary-900);
    font-weight: 700;
    cursor: pointer;
}

.sp-cal__day--has:hover[b-6yguednbhm] {
    background: var(--color-secondary-200);
}

.sp-cal__day--today[b-6yguednbhm] {
    box-shadow: inset 0 0 0 1.5px var(--color-secondary);
}

.sp-cal__day--selected[b-6yguednbhm] {
    background: var(--color-primary);
    color: #fff;
}

.sp-cal__day:focus-visible[b-6yguednbhm] {
    outline: 2px solid var(--color-primary);
    outline-offset: 1px;
}

/* Always states what the table is showing (selected day vs full month). */
.sp-cal__caption[b-6yguednbhm] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px;
    margin-top: 0.5rem;
    min-height: 1.4rem;
}

.shipments-page[b-6yguednbhm]  .sp-cal__caption-btn {
    padding: 0 4px;
    min-width: 0;
    text-transform: none;
    font-size: 0.72rem;
}
