/* /Components/AdminData/AllSiteView.razor.rz.scp.css */
/* ==== Board layout ==== */
.site-row[b-4txz1vgc5c] {
    --chip-h: 28px;
    --chip-pad-x: 12px;
    --chip-gap: 8px;
    --font: 12.5px;
    --r: 10px;
    --chip-min: 96px;
    position: relative;
    display: grid;
    grid-template-columns: 160px 1fr;
    align-items: center;
    gap: 10px;
    padding: 6px 12px;
    margin: 6px 10px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 6px rgba(0,0,0,.06);
    border: 1px solid rgba(0,0,0,.06);
    overflow: hidden; /* keep pulse strictly inside */
}

    /* keep content above the pulse overlay */
    .site-row > *[b-4txz1vgc5c] {
        position: relative;
        z-index: 1;
    }

.site-name[b-4txz1vgc5c] {
    font-weight: 700;
    letter-spacing: .2px;
    color: #222;
    white-space: nowrap;
}

/* Chips row */
.chip-list[b-4txz1vgc5c] {
    display: flex;
    align-items: center;
    gap: var(--chip-gap);
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
}

/* ==== Chip — Liquid Glass ==== */
.chip[b-4txz1vgc5c] {
    --tint-r: 120;
    --tint-g: 120;
    --tint-b: 120; /* overridden per-status */
    --glass-alpha: .22;
    --glass-alpha-2: .12;
    --fg: #111827;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    height: var(--chip-h);
    min-width: var(--chip-min);
    padding: 0 var(--chip-pad-x);
    border-radius: var(--r);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: var(--font);
    font-weight: 700;
    white-space: nowrap;
    color: var(--fg);
    background: radial-gradient(130% 100% at 10% 0%, rgba(255,255,255,.45), rgba(255,255,255,.06) 38%, rgba(255,255,255,0) 60%), linear-gradient(180deg, rgba(var(--tint-r),var(--tint-g),var(--tint-b),var(--glass-alpha)), rgba(var(--tint-r),var(--tint-g),var(--tint-b),var(--glass-alpha-2)));
    border: 1px solid rgba(255,255,255,.25);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.25), 0 2px 8px rgba(0,0,0,.08), 0 8px 20px rgba(var(--tint-r),var(--tint-g),var(--tint-b),.18);
    backdrop-filter: saturate(140%) blur(10px);
    -webkit-backdrop-filter: saturate(140%) blur(10px);
}

    /* Glossy highlight */
    .chip[b-4txz1vgc5c]::before {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(60% 80% at 80% 0%, rgba(255,255,255,.25), rgba(255,255,255,0) 60%), linear-gradient(90deg, rgba(255,255,255,.12), rgba(255,255,255,0));
        mix-blend-mode: screen;
        pointer-events: none;
    }

    /* Subtle moving caustics */
    .chip[b-4txz1vgc5c]::after {
        content: "";
        position: absolute;
        inset: -40% -20%;
        background: conic-gradient(from 180deg at 50% 50%, rgba(255,255,255,.08), rgba(255,255,255,0) 30%, rgba(255,255,255,.10) 60%, rgba(255,255,255,0) 100%);
        filter: blur(8px);
        opacity: .6;
        animation: glassFlow-b-4txz1vgc5c 8s linear infinite;
        mix-blend-mode: soft-light;
        pointer-events: none;
    }

@keyframes glassFlow-b-4txz1vgc5c {
    0% {
        transform: translateX(-10%) rotate(0deg);
    }

    100% {
        transform: translateX(10%) rotate(360deg);
    }
}

/* Label + tiny relative age */
.chip .tag[b-4txz1vgc5c] {
    letter-spacing: .2px;
}

.chip .age[b-4txz1vgc5c] {
    font-weight: 600;
    opacity: .75;
}

/* Status tints */
.chip.running[b-4txz1vgc5c] {
    --tint-r: 34;
    --tint-g: 197;
    --tint-b: 94;
    --fg: #083b2a;
    color: var(--fg);
}
/* green */
.chip.stopped[b-4txz1vgc5c] {
    --tint-r: 239;
    --tint-g: 68;
    --tint-b: 68;
    --fg: #4b0c0c;
    color: var(--fg);
}
/* red */
.chip.unknown[b-4txz1vgc5c] {
    --tint-r: 156;
    --tint-g: 163;
    --tint-b: 175;
    --fg: #111827;
    color: var(--fg);
}
/* slate */

/* Stale = Yellow variant (no border or extra halo) */
.chip.stale[b-4txz1vgc5c] {
    --tint-r: 250;
    --tint-g: 204;
    --tint-b: 21; /* yellow */
    --fg: #7a4a00;
    color: var(--fg);
    border-color: transparent;
    /* remove the inset 1px specular line from base by overriding box-shadow softly */
    box-shadow: 0 2px 8px rgba(0,0,0,.08), 0 8px 20px rgba(var(--tint-r),var(--tint-g),var(--tint-b),.18);
}
    /* Tone down top gloss for yellow to avoid “rim” look */
    .chip.stale[b-4txz1vgc5c]::before {
        background: radial-gradient(60% 80% at 80% 0%, rgba(255,255,255,.18), rgba(255,255,255,0) 60%), linear-gradient(90deg, rgba(255,255,255,.08), rgba(255,255,255,0));
    }

/* Hover affordance (no lift) */
.chip:hover[b-4txz1vgc5c] {
    filter: brightness(1.03);
    transform: none;
    transition: filter .12s ease;
}

/* ---- In-row pulse highlight (teal) when any device STOPPED from RUNNING ---- */
.site-row.pulse-alert[b-4txz1vgc5c] {
    border-color: rgba(20,184,166,.40);
}
    /* #14b8a6 */

    .site-row.pulse-alert[b-4txz1vgc5c]::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: inherit;
        background: linear-gradient( 180deg, rgba(94,234,212,.16) 0%, rgba(13,148,136,.12) 100%);
        opacity: .18;
        animation: siteRowPulse-b-4txz1vgc5c 1.6s ease-in-out infinite;
        pointer-events: none;
        z-index: 0;
    }

@keyframes siteRowPulse-b-4txz1vgc5c {
    0%,100% {
        opacity: .18;
    }

    50% {
        opacity: .34;
    }
}

/* Dense mode */
@media (max-width:1200px) {
    .site-row[b-4txz1vgc5c] {
        --chip-h: 26px;
        --font: 12px;
        grid-template-columns: 140px 1fr;
    }
}

@media (max-width:900px) {
    .site-row[b-4txz1vgc5c] {
        --chip-h: 24px;
        --font: 11.5px;
        grid-template-columns: 120px 1fr;
    }

    .chip .age[b-4txz1vgc5c] {
        display: none;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ===== Reset so the logo can kiss the screen top ===== */
html[b-gnv29mi9so], body[b-gnv29mi9so] {
    margin: 0;
    padding: 0;
}

/* ===== Layout ===== */
.page[b-gnv29mi9so] {
    position: relative;
    display: flex;
    flex-direction: row; /* sidebar + main */
    align-items: stretch;
}

.sidebar[b-gnv29mi9so] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
    width: 250px;
    height: 100vh;
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    padding: 0; /* ensure no internal gap above logo */
    flex: 0 0 250px; /* lock sidebar width */
}

main[b-gnv29mi9so] {
    flex: 1;
    padding: 0; /* spacing handled by portal-title + tile-container */
    display: flex;
    flex-direction: column;
    align-items: stretch;
    background: #fff7ef; /* page tint */
}

/* Let the tint show behind article content */
article[b-gnv29mi9so] {
    padding: 0 20px 20px;
    box-sizing: border-box;
    background: transparent;
}

/* ========================= */
/* SIDEBAR HEADER (lives in NavMenu) */
/* ========================= */

/* Logo wrapper: flush to the very top, centered */
.sidebar[b-gnv29mi9so]  .logo-slot {
    margin: 0;
    padding: 0;
    line-height: 0; /* remove inline image baseline gap */
    display: flex;
    align-items: flex-start; /* kiss the top */
    justify-content: center; /* center horizontally */
    overflow: hidden; /* safety: clip any spill */
    flex: 0 0 auto;
}

    /* Cap the logo so it can't blow up; keep aspect ratio */
    .sidebar[b-gnv29mi9so]  .logo-slot .sidebar-logo {
        display: block;
        margin: 0 auto;
        width: auto !important; /* defeat any global img { width:100% } */
        height: auto !important; /* keep aspect */
        max-width: 230px;
        max-height: 120px;
        object-fit: contain;
    }

/* Orange header sits immediately under the logo (no purple gap) */
.sidebar[b-gnv29mi9so]  .top-row {
    position: sticky;
    top: 0;
    z-index: 1;
    margin: 0;
    padding: 0;
    height: 7rem;
    background: linear-gradient(180deg, #ffbf66 0%, #ff7a1a 100%);
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,0.25);
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

/* Keep room for the absolute toggler on small screens */
@media (max-width: 640.98px) {
    .sidebar[b-gnv29mi9so]  .top-row {
        padding-right: 3.75rem;
    }
}

/* Two-tone orange navbar toggler (mobile) */
.sidebar[b-gnv29mi9so]  .navbar-toggler {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 12px;
    background: 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.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem, linear-gradient(180deg, #ffbf66 0%, #ff7a1a 100%);
    transition: filter .15s ease, box-shadow .15s ease, transform .06s ease;
}

    .sidebar[b-gnv29mi9so]  .navbar-toggler:checked {
        background: 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.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem, linear-gradient(180deg, #ffb34d 0%, #e65f00 100%);
    }

/* Sidebar nav sheet */
.sidebar[b-gnv29mi9so]  .nav-scrollable {
    display: none;
    background: linear-gradient(180deg, #000 0%, #ff7a1a 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.25);
    border-bottom: 1px solid rgba(255,255,255,0.25);
}

.sidebar[b-gnv29mi9so]  .navbar-toggler:checked ~ .nav-scrollable {
    display: block;
}

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

    .sidebar[b-gnv29mi9so]  .nav-scrollable {
        display: block;
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

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

.sidebar[b-gnv29mi9so]  .bi-house-door-fill-nav-menu {
    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");
}

.sidebar[b-gnv29mi9so]  .bi-plus-square-fill-nav-menu {
    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");
}

.sidebar[b-gnv29mi9so]  .bi-list-nested-nav-menu {
    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");
}

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

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

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

    .sidebar[b-gnv29mi9so]  .nav-item .nav-link {
        color: #ffffff;
        background: none;
        border: none;
        border-radius: 8px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
        transition: background-color .15s ease, color .15s ease, transform .06s ease;
    }

    .sidebar[b-gnv29mi9so]  .nav-item a.active {
        background: linear-gradient(180deg, #ffb34d 0%, #e65f00 100%);
        color: #ffffff;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.25);
        transform: translateY(-1px);
    }

    .sidebar[b-gnv29mi9so]  .nav-item .nav-link:hover {
        background-color: rgba(255,255,255,0.14);
        color: #ffffff;
    }

/* ========================= */
/* MAIN CONTENT              */
/* ========================= */

/* ===== Title wrapper ===== */
/* =========================
   PORTAL HEADER (MainLayout)
   ========================= */

/* Grid skeleton: left = Packhouse/Run(s), right = Time•Date (LiveClock) */
.page > main .portal-title.portal-title--grid[b-gnv29mi9so] {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto; /* left fills, right fits */
    column-gap: 1rem;
    row-gap: 3px; /* ONLY source of vertical spacing */
    align-items: start;
    margin: 0;
    padding: 15px 20px 10px; /* page gutters */
    background: #fff7ef !important;
    color: #222;
}

/* Right side (row 1): make LiveClock render time • bullet • date inline */
.page > main .portal-title[b-gnv29mi9so]  .portal-title__rightrow {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    align-items: baseline;
    gap: .5rem;
    white-space: nowrap;
}

.page > main .portal-title[b-gnv29mi9so]  .portal-title__sep {
    opacity: .45;
}

/* Left column placement & hard left alignment for Packhouse + run rows */
.page > main .portal-title.portal-title--grid .portal-title__main[b-gnv29mi9so],
.page > main .portal-title.portal-title--grid .portal-title__sub[b-gnv29mi9so] {
    grid-column: 1;
    justify-self: start;
}

/* Unified typography: Packhouse, Runs, Time, Date look identical */
.page > main .portal-title .portal-title__main[b-gnv29mi9so],
.page > main .portal-title .portal-title__sub[b-gnv29mi9so],
.page > main .portal-title[b-gnv29mi9so]  .portal-title__time,
.page > main .portal-title[b-gnv29mi9so]  .portal-title__date {
    display: flex;
    align-items: center;
    gap: .35rem;
    margin: 0;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji" !important;
    font-size: 1.2rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    color: #222 !important;
    text-align: left;
}

.page > main .portal-title[b-gnv29mi9so]  .portal-title__time,
.page > main .portal-title[b-gnv29mi9so]  .portal-title__date {
    font-variant-numeric: tabular-nums;
    letter-spacing: .2px;
}

/* Normalize inner spacing so row-gap is the ONLY vertical space */
.page > main .portal-title.portal-title--grid .portal-title__sub[b-gnv29mi9so] {
    margin: 0 !important;
    padding: 0 !important;
}

    .page > main .portal-title.portal-title--grid .portal-title__sub > *[b-gnv29mi9so] {
        margin: 0 !important;
        padding: 0 !important;
    }

/* Packhouse wrapper (ensure no hidden margins/padding inside component) */
.page > main .portal-title .packhouse[b-gnv29mi9so] {
    margin: 0 !important;
    padding: 0 !important;
}

    .page > main .portal-title .packhouse[b-gnv29mi9so]  * {
        margin: 0 !important;
        padding: 0 !important;
        text-indent: 0 !important;
    }

/* Run line wrapper (same reset + remove phantom indents/icons) */
.page > main .portal-title .runline[b-gnv29mi9so] {
    margin: 0 !important;
    padding: 0 !important;
}

    .page > main .portal-title .runline[b-gnv29mi9so]  * {
        margin: 0 !important;
        padding: 0 !important;
        text-indent: 0 !important;
    }

    .page > main .portal-title .runline[b-gnv29mi9so]  :is(svg,img,[class*="icon"],[class*="badge"]) {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

/* ——— Adjust spacing here if needed ——— */
/* .page > main .portal-title.portal-title--grid { row-gap: 2px; } */



/* ===== Tiles ===== */

/* Chrome blocks start below the title */
.tile-container[b-gnv29mi9so] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 20px; /* align with title gutters on the right */
    box-sizing: border-box;
    width: 100%;
    margin-top: 0px;
}

/* Each chrome block — softer apricot variant */
.tile-row[b-gnv29mi9so] {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    /* layout vars */
    --gap: 10px;
    --divw: 5px;
    --insetX: 5px;
    --insetY: 10px;
    /* metallic divider palette (unchanged) */
    --chrome-dk: #707780;
    --chrome-md: #c9cdd2;
    --chrome-hi: #ffffff;
    --chrome-lo: #f2f4f7;
    /* softer chrome palette */
    --co-top: 168,184,204;
    --co-mid: 20, 52, 164;
    --co-dk: 40,81,190;
    --co-a-top: 0.60;
    --co-a-mid: 0.35;
    --co-a-dk: 0.25;
    --co-glare: rgba(255,255,255,0.60);
    --co-sheen: rgba(255,255,255,0.12);
    gap: var(--gap);
    padding: 15px 5px;
    box-sizing: border-box;
    border-radius: 12px;
    width: 100%;
    overflow-x: auto;
    align-items: stretch;
    background-image: radial-gradient(140% 90% at 18% 0%, var(--co-glare) 0%, rgba(255,255,255,0.22) 36%, rgba(255,255,255,0) 62%), radial-gradient(90% 70% at 100% 100%, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 38%, rgba(255,255,255,0) 66%), linear-gradient(180deg, rgba(var(--co-top), var(--co-a-top)) 0%, rgba(var(--co-mid), var(--co-a-mid)) 46%, rgba(var(--co-dk), var(--co-a-dk)) 100%), repeating-linear-gradient(90deg, var(--co-sheen) 0 2px, rgba(255,255,255,0) 2px 8px), conic-gradient(from 200deg at 50% 50%, rgba(255,255,255,0.12) 0 10%, rgba(0,0,0,0.06) 10% 20%, rgba(255,255,255,0.10) 20% 35%, rgba(0,0,0,0.05) 35% 50%, rgba(255,255,255,0.08) 50% 65%, rgba(0,0,0,0.04) 65% 80%, rgba(255,255,255,0.08) 80% 100%), linear-gradient(90deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.00) 18%, rgba(255,255,255,0.10) 40%, rgba(255,255,255,0.00) 60%, rgba(255,255,255,0.12) 100%);
    background-blend-mode: screen, screen, multiply, overlay, soft-light, overlay;
    -webkit-backdrop-filter: saturate(125%) blur(12px) contrast(114%) brightness(104%);
    backdrop-filter: saturate(125%) blur(12px) contrast(114%) brightness(104%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.45), inset 0 -1px 0 rgba(0,0,0,0.18), 0 10px 22px rgba(0,0,0,0.12);
}

    /* Extra metallic layer */
    .tile-row[b-gnv29mi9so]::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 12px;
        pointer-events: none;
        z-index: 0;
        background-image: radial-gradient(120% 80% at 50% -10%, rgba(255,255,255,0.36) 0%, rgba(255,255,255,0.0) 55%), radial-gradient(120% 70% at 50% 120%, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0.0) 60%), linear-gradient(30deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.0) 35%, rgba(0,0,0,0.06) 65%, rgba(255,255,255,0.10) 100%);
        background-blend-mode: screen, screen, soft-light;
    }

    /* Chrome vertical dividers */
    .tile-row[b-gnv29mi9so]::before {
        content: "";
        position: absolute;
        inset: var(--insetY) var(--insetX);
        pointer-events: none;
        z-index: 3;
        background-image: linear-gradient(90deg, var(--chrome-dk) 0%, var(--chrome-md) 10%, var(--chrome-hi) 36%, var(--chrome-md) 54%, var(--chrome-lo) 82%, var(--chrome-dk) 100%), linear-gradient(90deg, var(--chrome-dk) 0%, var(--chrome-md) 10%, var(--chrome-hi) 36%, var(--chrome-md) 54%, var(--chrome-lo) 82%, var(--chrome-dk) 100%), linear-gradient(90deg, var(--chrome-dk) 0%, var(--chrome-md) 10%, var(--chrome-hi) 36%, var(--chrome-md) 54%, var(--chrome-lo) 82%, var(--chrome-dk) 100%);
        background-size: var(--divw) 100%, var(--divw) 100%, var(--divw) 100%;
        background-repeat: no-repeat, no-repeat, no-repeat;
        background-position: calc(25% - (var(--gap)/4) - (var(--divw)/2)) 0, calc(50% - (var(--divw)/2)) 0, calc(75% + (var(--gap)/4) - (var(--divw)/2)) 0;
        filter: drop-shadow(0 0 1.4px rgba(255,255,255,0.60)) drop-shadow(0 0 1.8px rgba(0,0,0,0.44));
        -webkit-mask-image: linear-gradient(to bottom, transparent, black 12%, black 88%, transparent);
        mask-image: linear-gradient(to bottom, transparent, black 12%, black 88%, transparent);
    }

    /* Scrollbar styling */
    .tile-row[b-gnv29mi9so]::-webkit-scrollbar {
        height: 8px;
    }

    .tile-row[b-gnv29mi9so]::-webkit-scrollbar-thumb {
        background: #aaa;
        border-radius: 4px;
    }

/* Stacks inside each block */
.tile-stack[b-gnv29mi9so] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

    /* Individual white tiles */
    .tile-stack > *[b-gnv29mi9so] {
        position: relative;
        z-index: 1;
        background: #fff;
        border-radius: 8px;
        box-shadow: inset 0 0 5px #eee, 0 1px 3px rgba(0,0,0,0.1);
        padding: 10px;
        flex: 1 1 auto;
        width: 100%;
        box-sizing: border-box;
        border: none;
    }

/* ===== Blazor error UI ===== */
#blazor-error-ui[b-gnv29mi9so] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    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-gnv29mi9so] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

/* ---- FINAL GUARANTEE: hard cap the logo no matter what (beats globals) ---- */
.sidebar[b-gnv29mi9so]  img.sidebar-logo {
    width: auto !important;
    height: auto !important;
    max-width: 230px !important;
    max-height: 120px !important;
    object-fit: contain !important;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* --- Logo area --- */
.logo-slot[b-8m0out2oi0] {
    background: #000 !important;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    line-height: 0;
}

    .logo-slot .sidebar-logo[b-8m0out2oi0] {
        display: block;
        margin: 0 auto;
        max-width: 230px;
        max-height: 120px;
        object-fit: contain;
    }

/* --- Sidebar container --- */
.nav-scrollable[b-8m0out2oi0] {
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, #000000 0%, #ff7a1a 100%) !important;
}

    .nav-scrollable > nav.nav-rail[b-8m0out2oi0] {
        display: flex;
        flex-direction: column;
        min-height: 100%;
    }

.nav-bottom[b-8m0out2oi0] {
    margin-top: auto;
    padding: .75rem 0;
    border-top: 1px solid rgba(255,255,255,0.25);
}

    /* --- Unified pill style (Overview + Login/Logout) --- */
    .nav-item[b-8m0out2oi0]  .nav-link,
    .nav-bottom[b-8m0out2oi0]  .nav-link.nav-cta {
        display: flex;
        align-items: center;
        height: 3rem;
        line-height: 3rem;
        padding: 0 1rem;
        border-radius: 8px; /* same corners */
        font-size: .95rem;
        font-weight: 500;
        color: #fff !important;
        text-decoration: none;
        transition: background .15s ease, transform .06s ease, filter .15s ease;
    }

        .nav-item[b-8m0out2oi0]  .nav-link:hover,
        .nav-bottom[b-8m0out2oi0]  .nav-link.nav-cta:hover {
            background-color: rgba(255,255,255,0.14);
        }

    /* Active Overview & Always-on Login/Logout */
    .nav-item[b-8m0out2oi0]  a.active,
    .nav-bottom[b-8m0out2oi0]  .nav-link.nav-cta {
        background: linear-gradient(180deg, #ffb34d 0%, #e65f00 100%);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.25);
    }

/* --- Icons --- */
.bi[b-8m0out2oi0] {
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: .75rem;
    background-size: cover;
}

/* Overview icon */
.bi-house-door-fill-nav-menu[b-8m0out2oi0] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' 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");
}

/* Analytics icon (bar chart) */
.bi-analytics-nav-menu[b-8m0out2oi0] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M.5 16a.5.5 0 0 1-.5-.5V.5A.5.5 0 0 1 1 .5v14h14a.5.5 0 0 1 0 1H.5z'/%3E%3Crect x='3' y='9' width='2' height='4'/%3E%3Crect x='7' y='5' width='2' height='8'/%3E%3Crect x='11' y='2' width='2' height='11'/%3E%3C/svg%3E");
}

/* Reports icon (file with lines) */
.bi-reports-nav-menu[b-8m0out2oi0] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M4 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V5.5L9.5 1H4z'/%3E%3Cpath d='M9.5 1V5.5H14'/%3E%3Crect x='5' y='8' width='6' height='1'/%3E%3Crect x='5' y='10' width='6' height='1'/%3E%3Crect x='5' y='12' width='4' height='1'/%3E%3C/svg%3E");
}


/* Administrator icon */
.bi-shield-lock-nav-menu[b-8m0out2oi0] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M5.072 1.106a1 1 0 0 1 .856-.09l1.89.63a4 4 0 0 0 2.264 0l1.89-.63a1 1 0 0 1 1.318.95v4.157c0 3.004-1.94 5.8-4.93 6.72a.75.75 0 0 1-.44 0C5.002 11.944 3.062 9.157 3.062 6.213V1.966a1 1 0 0 1 2.01-.86Z'/%3E%3Cpath d='M8 6a1.5 1.5 0 0 1 1.5 1.5V8h.25a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-3.5a.75.75 0 0 1-.75-.75v-1.5A.75.75 0 0 1 5.5 8H5.75v-.5A1.5 1.5 0 0 1 7.25 6h.5Z'/%3E%3C/svg%3E");
}


/* Login icon */
.bi-box-arrow-in-right-nav-menu[b-8m0out2oi0] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M6 3.5a.5.5 0 0 1 .5-.5h7A1.5 1.5 0 0 1 15 4.5v7A1.5 1.5 0 0 1 13.5 13h-7a.5.5 0 0 1 0-1h7A.5.5 0 0 0 14 11.5v-7A.5.5 0 0 0 13.5 4h-7a.5.5 0 0 1-.5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L1.707 7.5H10.5a.5.5 0 0 1 0 1H1.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3z'/%3E%3C/svg%3E");
}

/* Logout icon */
.bi-box-arrow-right-nav-menu[b-8m0out2oi0] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M6 3a2 2 0 0 1 2-2h5.5A1.5 1.5 0 0 1 15 2.5v11A1.5 1.5 0 0 1 13.5 15H8a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h5.5a.5.5 0 0 0 .5-.5v-11a.5.5 0 0 0-.5-.5H8a1 1 0 0 0-1 1v1H6V3z'/%3E%3Cpath fill-rule='evenodd' d='M.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L1.707 7.5H10.5a.5.5 0 0 1 0 1H1.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3z'/%3E%3C/svg%3E");
}

/* Make the spacer take remaining height to push Admin + Login/Logout down */
.nav-rail .nav-spacer[b-8m0out2oi0] {
    flex: 1 1 auto;
}
/* /Components/Pages/Account/Login.razor.rz.scp.css */
:root[b-r68vocrxoq] {
    --accent: #ff9900;
}

/* ===== Page container ===== */
.login-page[b-r68vocrxoq] {
    height: 100vh;
    display: flex;
    align-items: center; /* vertical center */
    justify-content: center; /* horizontal center */
    background: transparent;
    box-sizing: border-box;
    font-family: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
    padding-top: 30px; /* slight offset below exact center */
}

/* ===== Animations ===== */
@keyframes fadeInUp-b-r68vocrxoq {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeOutDown-b-r68vocrxoq {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 0;
        transform: translateY(30px);
    }
}

/* Animate an orange glow moving clockwise */
@keyframes glowRotate-b-r68vocrxoq {
    0% {
        box-shadow: 0 -6px 15px rgba(255,153,0,0.7);
    }
    /* top */
    25% {
        box-shadow: 6px 0 15px rgba(255,153,0,0.7);
    }
    /* right */
    50% {
        box-shadow: 0 6px 15px rgba(255,153,0,0.7);
    }
    /* bottom */
    75% {
        box-shadow: -6px 0 15px rgba(255,153,0,0.7);
    }
    /* left */
    100% {
        box-shadow: 0 -6px 15px rgba(255,153,0,0.7);
    }
    /* back to top */
}

/* ===== Card ===== */
.login-card[b-r68vocrxoq] {
    position: relative;
    background: rgba(255,255,255,.9);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    width: 400px;
    max-width: 90%;
    height: 300px;
    padding: 1.25rem;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    display: grid;
    grid-auto-rows: min-content;
    align-content: start;
    row-gap: 10px;
    animation: fadeInUp-b-r68vocrxoq .8s ease-out forwards;
    opacity: 0;
    transition: transform .3s ease, box-shadow .3s ease;
    box-sizing: border-box;
}

    /* Glow + lift only on hover */
    .login-card:hover[b-r68vocrxoq] {
        transform: translateY(-3px);
        animation: fadeInUp-b-r68vocrxoq .8s ease-out forwards, glowRotate-b-r68vocrxoq 4s linear infinite;
    }

.fade-out[b-r68vocrxoq] {
    animation: fadeOutDown-b-r68vocrxoq .8s ease-in forwards;
}

/* ===== Heading ===== */
.login-card h3[b-r68vocrxoq] {
    margin: 0;
    color: #222;
    text-align: center;
    font-size: 1.3rem;
    line-height: 1.2;
}

.login-card .text-center[b-r68vocrxoq] {
    margin: 0;
}

/* ===== Bootstrap spacing tweaks ===== */
.login-card .mb-3[b-r68vocrxoq] {
    margin-bottom: .6rem !important;
}

.login-card .text-center.mb-3[b-r68vocrxoq] {
    margin-bottom: .5rem !important;
}

.login-card .d-grid.gap-2.mt-3[b-r68vocrxoq] {
    margin-top: 20px !important;
}

/* ===== Inputs ===== */
.login-card .form-control[b-r68vocrxoq] {
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: .8rem 1rem;
    font-size: 1rem;
    background: #fff;
    transition: border-color .25s ease, box-shadow .25s ease;
    position: relative;
    z-index: 1;
}

    .login-card .form-control:focus[b-r68vocrxoq] {
        border-color: var(--accent);
        box-shadow: 0 0 0 3px rgba(255,153,0,.15);
    }

/* ===== Error text ===== */
.login-card .text-danger[b-r68vocrxoq] {
    font-size: .9rem;
}

/* ===== Button ===== */
.login-card .d-grid.gap-2.mt-3 > .login-btn[b-r68vocrxoq],
.login-card .d-grid.gap-2.mt-3 > .btn.btn-primary[b-r68vocrxoq],
.login-card .d-grid.gap-2.mt-3 > .login-btn:hover[b-r68vocrxoq],
.login-card .d-grid.gap-2.mt-3 > .btn.btn-primary:hover[b-r68vocrxoq],
.login-card .d-grid.gap-2.mt-3 > .login-btn:focus[b-r68vocrxoq],
.login-card .d-grid.gap-2.mt-3 > .btn.btn-primary:focus[b-r68vocrxoq],
.login-card .d-grid.gap-2.mt-3 > .login-btn:active[b-r68vocrxoq],
.login-card .d-grid.gap-2.mt-3 > .btn.btn-primary:active[b-r68vocrxoq] {
    appearance: none;
    -webkit-appearance: none;
    opacity: 1 !important;
    display: block;
    width: 100%;
    padding: .9rem;
    border: none !important;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    z-index: 2;
    background-color: #ff9900 !important;
    background-image: linear-gradient(135deg,#ff9900,#000000) !important;
    color: #fff !important;
    font-size: 1rem;
    font-weight: 600;
    transform: none !important;
    box-shadow: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

/* Hover glow + gentle lift */
@keyframes pulseGlow-b-r68vocrxoq {
    0% {
        box-shadow: 0 0 6px rgba(255,153,0,.5), 0 0 12px rgba(0,0,0,.3);
    }

    50% {
        box-shadow: 0 0 14px rgba(255,153,0,.9), 0 0 20px rgba(0,0,0,.4);
    }

    100% {
        box-shadow: 0 0 6px rgba(255,153,0,.5), 0 0 12px rgba(0,0,0,.3);
    }
}

.login-card .d-grid.gap-2.mt-3 > .login-btn:hover[b-r68vocrxoq],
.login-card .d-grid.gap-2.mt-3 > .btn.btn-primary:hover[b-r68vocrxoq] {
    transform: translateY(-2px);
    animation: pulseGlow-b-r68vocrxoq 1.5s infinite alternate;
}

/* Shine swipe on hover */
.login-card .d-grid.gap-2.mt-3 > .login-btn[b-r68vocrxoq]::after,
.login-card .d-grid.gap-2.mt-3 > .btn.btn-primary[b-r68vocrxoq]::after {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(120deg, rgba(255,255,255,.45), rgba(255,255,255,0));
    transform: skewX(-20deg);
    pointer-events: none;
}

@keyframes shine-b-r68vocrxoq {
    0% {
        left: -75%;
    }

    100% {
        left: 125%;
    }
}

.login-card .d-grid.gap-2.mt-3 > .login-btn:hover[b-r68vocrxoq]::after,
.login-card .d-grid.gap-2.mt-3 > .btn.btn-primary:hover[b-r68vocrxoq]::after {
    animation: shine-b-r68vocrxoq 1.2s ease forwards;
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
    .login-card[b-r68vocrxoq] {
        height: auto;
        padding: 1rem;
    }

        .login-card h3[b-r68vocrxoq] {
            font-size: 1.1rem;
        }

        .login-card .form-control[b-r68vocrxoq] {
            font-size: .95rem;
            padding: .7rem .9rem;
        }

        .login-card .mb-3[b-r68vocrxoq] {
            margin-bottom: .5rem !important;
        }

        .login-card .d-grid.gap-2.mt-3[b-r68vocrxoq] {
            margin-top: 16px !important;
        }

            .login-card .d-grid.gap-2.mt-3 > .login-btn[b-r68vocrxoq],
            .login-card .d-grid.gap-2.mt-3 > .btn.btn-primary[b-r68vocrxoq] {
                font-size: .95rem;
                padding: .75rem;
            }
}

@media (max-width: 360px) {
    .login-page[b-r68vocrxoq] {
        padding-top: 20px;
    }

    .login-card[b-r68vocrxoq] {
        max-width: 95%;
    }
}
/* /Components/Reports/Reports.razor.rz.scp.css */
/* ===== Page wrapper ===== */
.reports-wrap[b-rxsfmwgq8p] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px 20px 28px;
}

/* ===== Header ===== */
.reports-header .title[b-rxsfmwgq8p] {
    margin: 0 0 2px;
    font-size: 20px;
    font-weight: 800;
    color: #0b2545;
    letter-spacing: .2px;
}

.reports-header .subtitle[b-rxsfmwgq8p] {
    margin: 0;
    font-size: 14px;
    color: #5b6676;
}

/* Header aligns to toolbar grid so right edges line up */
.header-row[b-rxsfmwgq8p] {
    display: grid;
    grid-template-columns: 1.2fr 1fr; /* match toolbar */
    align-items: end;
    gap: 12px;
}

.hdr-left[b-rxsfmwgq8p] {
    min-width: 0;
}

.hdr-right[b-rxsfmwgq8p] {
    justify-self: end;
    display: flex;
    justify-content: flex-end;
}

.granularity-inline[b-rxsfmwgq8p] {
    min-width: unset;
    width: max-content;
}

    .granularity-inline label[b-rxsfmwgq8p] {
        display: block;
        font-size: 12px;
        color: #6a7686;
        margin: 0 0 6px 2px;
    }

.segmented[b-rxsfmwgq8p] {
    display: inline-flex;
    background: #fff;
    border: 1px solid #e7e9ee;
    border-radius: 12px;
    overflow: hidden;
}

.seg-btn[b-rxsfmwgq8p] {
    appearance: none;
    border: none;
    padding: 8px 12px;
    font-size: 13px;
    color: #28313f;
    background: transparent;
    cursor: pointer;
}

    .seg-btn:not(:last-child)[b-rxsfmwgq8p] {
        border-right: 1px solid #e7e9ee;
    }

    .seg-btn.active[b-rxsfmwgq8p] {
        background: linear-gradient(180deg, #ff9345 0%, #ff7a1a 100%);
        color: white;
    }

/* ===== Toolbar (2 columns) ===== */
.toolbar[b-rxsfmwgq8p] {
    display: grid;
    grid-template-columns: 1.2fr 1fr; /* left search, right date control */
    gap: 12px;
}

@media (max-width: 900px) {
    .header-row[b-rxsfmwgq8p] {
        grid-template-columns: 1fr;
    }

    .toolbar[b-rxsfmwgq8p] {
        grid-template-columns: 1fr;
    }

    .hdr-right[b-rxsfmwgq8p] {
        justify-self: start;
    }
}

/* ===== Unified control tiles (same outer size) ===== */
/* FIX: use fixed height to prevent Month from shrinking */
.control-shell[b-rxsfmwgq8p] {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #e7e9ee;
    border-radius: 12px;
    padding: 8px 10px;
    background: #fff;
    height: 44px; /* was min-height: 44px; -> lock tile height */
    box-shadow: 0 1px 2px rgba(10, 35, 66, 0.04);
    position: relative; /* anchor popovers */
}

.picker-label[b-rxsfmwgq8p] {
    font-size: 12px;
    color: #6a7686;
    margin: 0 4px 0 2px;
    white-space: nowrap;
}

/* === Inline padding utilities === */
.padL20[b-rxsfmwgq8p] {
    padding-left: 20px !important;
}

.padR20[b-rxsfmwgq8p] {
    padding-right: 20px !important;
}

/* ===== Search tile (uses shell visuals) ===== */
.search-block[b-rxsfmwgq8p] {
    position: relative;
    flex: 1 1 auto;
    border: none;
    border-radius: 12px;
    padding: 0;
    box-shadow: none;
}

    .search-block .ico[b-rxsfmwgq8p] {
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        width: 18px;
        height: 18px;
        fill: #97a3b6;
    }
/* When shell has extra left padding, shift icon so spacing stays perfect */
.padL20.search-block .ico[b-rxsfmwgq8p],
.padL20 .search-block .ico[b-rxsfmwgq8p] {
    left: 34px; /* 14 + 20 */
}

.search-input[b-rxsfmwgq8p] {
    width: 100%;
    border: none;
    background: transparent;
    outline: none;
    font-size: 14px;
    color: #1a1f29;
    padding: 10px 12px 10px 42px; /* icon spacing */
    height: 44px; /* match shell fixed height */
    box-sizing: border-box;
}

/* ===== Month tile ===== */
/* FIX: make the tile a flex row and hide vertical scrollbar so height stays constant */
.month-picker[b-rxsfmwgq8p] {
    display: flex;
    align-items: center; /* vertically center inner controls */
    gap: 10px;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden; /* prevent vertical bar changing height */
    scrollbar-gutter: stable both-edges; /* keep height stable on Windows */
    border: none;
    border-radius: 12px;
    padding: 0;
    box-shadow: none;
}

.month-head[b-rxsfmwgq8p] {
    display: inline-grid;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    align-items: center;
    gap: 4px; /* tighter so arrows sit closer to the year */
}

.month-year[b-rxsfmwgq8p] {
    min-width: 64px;
    text-align: center;
    font-weight: 700;
    color: #0b2545;
}

.month-grid[b-rxsfmwgq8p] {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(28px, 1fr);
    gap: 6px;
    margin-left: 6px;
    align-items: center; /* keep month cells centered on the 28px line */
}

.month-cell[b-rxsfmwgq8p] {
    height: 28px;
    min-width: 36px;
    padding: 0 6px;
    font-size: 12px;
    border: 1px solid #e7e9ee;
    background: #fff;
    border-radius: 8px;
    cursor: pointer;
    line-height: 28px;
}

    .month-cell:hover[b-rxsfmwgq8p] {
        border-color: #ffc9a3;
        background: #fff7ef;
    }

    .month-cell.active[b-rxsfmwgq8p] {
        background: linear-gradient(180deg, #ff9345 0%, #ff7a1a 100%);
        color: white;
        border-color: transparent;
    }

/* ===== Year tile ===== */
.year-select.compact[b-rxsfmwgq8p] {
    height: 28px;
    padding: 0 10px;
    border: 1px solid #e7e9ee;
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
    color: #1a1f29;
}

/* ===== Day tile — range trigger (28px) ===== */
.range-display.compact[b-rxsfmwgq8p] {
    height: 28px;
    padding: 0 12px;
    border: 1px solid #e7e9ee;
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    color: #1a1f29;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* Consistent Clear (right aligned, 28px) */
.push-right[b-rxsfmwgq8p] {
    margin-left: auto;
}

.clear-btn.compact[b-rxsfmwgq8p] {
    height: 28px;
    line-height: 28px;
    padding: 0 12px;
    border: 1px solid #e7e9ee;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
    color: #28313f;
    cursor: pointer;
    transition: box-shadow .12s ease, transform .06s ease, background .12s ease, border-color .12s ease;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
}

    .clear-btn.compact:hover[b-rxsfmwgq8p] {
        background: #ffffff;
        border-color: #dfe3ea;
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
        transform: translateY(-1px);
    }

/* Nav buttons (used in month and popup) */
.nav-btn[b-rxsfmwgq8p] {
    height: 28px;
    width: 28px;
    border-radius: 8px;
    border: 1px solid #e7e9ee;
    background: #fafbfc;
    cursor: pointer;
    line-height: 26px;
    text-align: center;
    padding: 0;
}

/* ===== Day popup (modern, rounded) ===== */
.range-popover[b-rxsfmwgq8p] {
    position: absolute;
    top: calc(100% + 8px);
    left: 10px;
    z-index: 20;
    width: 320px;
    border: 1px solid #e7e9ee;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.15);
    padding: 10px;
}

.range-backdrop[b-rxsfmwgq8p] {
    position: fixed;
    inset: 0;
    z-index: 10;
    background: transparent;
}

.pop-head[b-rxsfmwgq8p] {
    display: grid;
    grid-template-columns: 28px 1fr 28px;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.pop-title[b-rxsfmwgq8p] {
    text-align: center;
    font-weight: 700;
    color: #0b2545;
}

/* DOW header */
.dow-row[b-rxsfmwgq8p] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
    margin-bottom: 4px;
}

.dow-cell[b-rxsfmwgq8p] {
    text-align: center;
    font-size: 11px;
    color: #6a7686;
}

/* 5-week calendar grid */
.grid-5w[b-rxsfmwgq8p] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}


/* 6-week calendar grid */
/*.grid-6w {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}*/

/* Day cells with range styling */
.day-cell[b-rxsfmwgq8p] {
    position: relative;
    height: 36px;
    border-radius: 8px;
    border: 1px solid #edf0f5;
    background: #fff;
    font-size: 13px;
    color: #1a1f29;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .day-cell.muted[b-rxsfmwgq8p] {
        color: #9aa5b5;
        background: #fafbfc;
    }

    .day-cell:hover[b-rxsfmwgq8p] {
        border-color: #ffc9a3;
        background: #fff7ef;
    }

    /* Range fill (mid cells) */
    .day-cell.sel-mid[b-rxsfmwgq8p] {
        background: #fff0e6;
        border-color: #ffd8bf;
    }

    /* Start/End badges */
    .day-cell.sel-start[b-rxsfmwgq8p],
    .day-cell.sel-end[b-rxsfmwgq8p] {
        background: linear-gradient(180deg, #ff9345 0%, #ff7a1a 100%);
        color: #fff;
        border-color: transparent;
    }

/* Popup actions */
.pop-actions[b-rxsfmwgq8p] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

    .pop-actions .spacer[b-rxsfmwgq8p] {
        flex: 1;
    }

.btn[b-rxsfmwgq8p] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    border-radius: 10px;
    border: 1px solid transparent;
    padding: 8px 12px;
    cursor: pointer;
}

    .btn.ghost[b-rxsfmwgq8p] {
        background: #ffffff;
        border: 1px solid #e7e9ee;
        color: #28313f;
    }

    .btn.primary[b-rxsfmwgq8p] {
        background: #0b2545;
        color: #fff;
    }

/* ===== Reports grid alignment ===== */
.report-columns[b-rxsfmwgq8p] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
}

    .report-columns.edge-pad[b-rxsfmwgq8p] {
        padding-inline: 0; /* line up with search/date tiles */
        
    }

@media (max-width: 1100px) {
    .report-columns[b-rxsfmwgq8p] {
        grid-template-columns: 1fr;
    }
}

.report-col[b-rxsfmwgq8p] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.col-head .col-title[b-rxsfmwgq8p] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    color: #0b2545;
    background: #ffffff;
    border: 1px solid #e7e9ee;
    font-size: 20px !important;
    font-weight: 700;
}

/*.col-head .dot {
    position: static !important;*/ /* cancel absolute/relative from globals */
    /*left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 !important;
    display: inline-block;*/ /* be a normal flex item */
    /*flex: 0 0 10px;*/ /* fixed 10px column */
    /*width: 10px;
    height: 10px;
    border-radius: 50%;
    align-self: center;*/ /* vertical centering in the flex row */
/*}

    .col-head.wax .dot {
        background: #ff7a1a;
    }

    .col-head.dosing .dot {
        background: #0492C2;
    }

    .col-head.drench .dot {
        background: #17a34a;
    }*/

.col-body[b-rxsfmwgq8p] {
    display: grid;
    grid-auto-rows: max-content;
    gap: 10px;
}

.report-card[b-rxsfmwgq8p] {
    background: #ffffff;
    border: 1px solid #edf0f5;
    border-radius: 14px;
    padding: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
    transition: transform .06s ease, box-shadow .12s ease;
}

    .report-card:hover[b-rxsfmwgq8p] {
        transform: translateY(-1px);
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.07);
    }

.rc-head[b-rxsfmwgq8p] {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: baseline;
    margin-bottom: 8px;
}

.rc-title[b-rxsfmwgq8p] {
    font-weight: 700;
    color: #0b2545;
}

.rc-date[b-rxsfmwgq8p] {
    font-size: 12px;
    color: #6a7686;
    white-space: nowrap;
}

.rc-meta[b-rxsfmwgq8p] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}

.pill[b-rxsfmwgq8p] {
    font-size: 12px;
    padding: 2px 8px;
    background: #fff7ef;
    color: #6b340f;
    border: 1px solid #ffe1cc;
    border-radius: 999px;
}

.note[b-rxsfmwgq8p] {
    font-size: 12px;
    color: #5b6676;
}

.rc-actions[b-rxsfmwgq8p] {
    display: flex;
    gap: 8px;
}

.btn.dl[b-rxsfmwgq8p] {
    background: #0b2545;
    color: white;
}

    .btn.dl .ico[b-rxsfmwgq8p] {
        width: 16px;
        height: 16px;
        fill: currentColor;
    }

    .btn.dl:hover[b-rxsfmwgq8p] {
        background: #12325e;
    }

.btn.disabled[b-rxsfmwgq8p] {
    background: #e8ecf3;
    color: #8b98aa;
    cursor: not-allowed;
}

.empty-card[b-rxsfmwgq8p] {
    text-align: center;
    padding: 20px 14px;
    border: 1px dashed #e7e9ee;
    border-radius: 14px;
    background: #fff;
    color: #5b6676;
}

.empty-title[b-rxsfmwgq8p] {
    font-weight: 700;
    color: #0b2545;
}

.empty-sub[b-rxsfmwgq8p] {
    font-size: 12px;
    color: #6a7686;
}

.ico[b-rxsfmwgq8p] {
    display: inline-block;
    vertical-align: middle;
}

/* Actions row already right-aligned; keep it tidy */
.rc-actions[b-rxsfmwgq8p] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
}

    /* Make View and Download buttons the same height */
    .rc-actions .btn[b-rxsfmwgq8p] {
        height: 32px; /* uniform height */
        padding: 0 12px; /* same horizontal padding */
        line-height: 1; /* avoid extra vertical growth */
        display: inline-flex; /* center content vertically */
        align-items: center;
    }

        /* Ensure both buttons' icons are consistent */
        .rc-actions .btn .ico[b-rxsfmwgq8p] {
            width: 16px;
            height: 16px;
            fill: currentColor;
            flex: 0 0 16px;
        }


/* View (secondary/ghost) */
.btn.view[b-rxsfmwgq8p] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 12px;
    border-radius: 8px;
    border: 1px solid #e7e9ee;
    background: #fff;
    color: #0b2545;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background .15s ease, box-shadow .15s ease, transform .06s ease, border-color .15s ease;
}

    .btn.view:hover[b-rxsfmwgq8p] {
        background: #ffffff;
        border-color: #dfe3ea;
        box-shadow: 0 2px 8px rgba(15,23,42,0.06);
        transform: translateY(-1px);
    }

    .btn.view:focus-visible[b-rxsfmwgq8p] {
        outline: 2px solid #ff9345;
        outline-offset: 2px;
    }

    /* Icon sizing */
    .btn.view .ico[b-rxsfmwgq8p] {
        width: 16px;
        height: 16px;
        fill: currentColor;
        flex: 0 0 16px;
    }

.loading-overlay[b-rxsfmwgq8p] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(255,255,255,0.65);
    backdrop-filter: blur(3px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.spinner[b-rxsfmwgq8p] {
    width: 48px;
    height: 48px;
    border: 4px solid #ddd;
    border-top-color: var(--ink);
    border-radius: 50%;
    animation: spin-b-rxsfmwgq8p 0.7s linear infinite;
}

.loading-text[b-rxsfmwgq8p] {
    margin-top: 12px;
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--ink);
}

@keyframes spin-b-rxsfmwgq8p {
    to {
        transform: rotate(360deg);
    }
}
