/* /Layout/DriverLayout.razor.rz.scp.css */
.hc-driver-shell[b-8cknc9o4h5] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--rz-base-background-color, #f5f7f5);
}

.hc-driver-header[b-8cknc9o4h5] {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: #2e7d32;
    color: #fff;
}

.hc-driver-brand[b-8cknc9o4h5] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    font-size: 1rem;
}

.hc-driver-user[b-8cknc9o4h5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.hc-driver-name[b-8cknc9o4h5] {
    font-size: 0.85rem;
    opacity: 0.9;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 40vw;
}

.hc-driver-body[b-8cknc9o4h5] {
    flex: 1;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    padding: 0.75rem;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-m9pn42po3k] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-m9pn42po3k] {
    flex: 1;
}

.sidebar[b-m9pn42po3k] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-m9pn42po3k] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-m9pn42po3k]  a, .top-row[b-m9pn42po3k]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-m9pn42po3k]  a:hover, .top-row[b-m9pn42po3k]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-m9pn42po3k]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-m9pn42po3k] {
        justify-content: space-between;
    }

    .top-row[b-m9pn42po3k]  a, .top-row[b-m9pn42po3k]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-m9pn42po3k] {
        flex-direction: row;
    }

    .sidebar[b-m9pn42po3k] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-m9pn42po3k] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-m9pn42po3k]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-m9pn42po3k], article[b-m9pn42po3k] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/MerchandiserLayout.razor.rz.scp.css */
.hc-merch-shell[b-p71c21zu02] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--rz-base-background-color, #f5f7f5);
}

.hc-merch-header[b-p71c21zu02] {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: #2e7d32;
    color: #fff;
}

.hc-merch-brand[b-p71c21zu02] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    font-size: 1rem;
}

.hc-merch-user[b-p71c21zu02] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.hc-merch-name[b-p71c21zu02] {
    font-size: 0.85rem;
    opacity: 0.9;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 40vw;
}

.hc-merch-body[b-p71c21zu02] {
    flex: 1;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    padding: 0.75rem;
}
/* /Layout/NavMenu.razor.rz.scp.css */
/* Side menu (Layout/NavMenu.razor + NavMenuItem.razor) — DESIGN.md §8. Tokens only, no hex. */

.hc-nav[b-3xk3rmzigt] {
    display: flex;
    flex-direction: column;
}

/* Search box (ported from HarmonyHR / HarmonyPx .search-container / .search-box-wrapper). */
.hc-nav__search[b-3xk3rmzigt] {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0.5rem;
    background-color: var(--harmony-surface);
    border-bottom: 1px solid var(--harmony-border);
}

    .hc-nav__search[b-3xk3rmzigt]  .hc-nav__search-input {
        width: 100%;
        padding-right: 2rem;
    }

    .hc-nav__search[b-3xk3rmzigt]  .hc-nav__search-clear {
        position: absolute;
        right: 0.75rem;
        top: 50%;
        transform: translateY(-50%);
    }
/* /Layout/NotificationBell.razor.rz.scp.css */
/* Header notification bell — ported from HarmonyPx's .px-bell-* (app.css), restyled to Core's
   --harmony-* tokens (DESIGN.md §2). Scoped: Radzen components' own roots are reached via ::deep. */

.hc-bell[b-p0dph47lgv] {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* The bell sits on the green header gradient — white icon, like the rest of the header chrome. */
.hc-bell[b-p0dph47lgv]  .hc-bell__btn {
    position: relative;
    min-width: 0;
    padding: 4px;
    color: var(--rz-white, #fff);
}

.hc-bell[b-p0dph47lgv]  .hc-bell__btn .rz-icon,
.hc-bell[b-p0dph47lgv]  .hc-bell__btn .rzi {
    font-size: 24px;
}

.hc-bell[b-p0dph47lgv]  .hc-bell__badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    font-size: 10px;
    line-height: 16px;
}

.hc-bell__panel[b-p0dph47lgv] {
    position: absolute;
    top: 42px;
    right: 0;
    z-index: 1000;
    width: 360px;
    max-width: calc(100vw - 2rem);
    background: var(--rz-base-background-color, var(--rz-white, #fff));
    color: var(--harmony-ink);
    border: 1px solid var(--harmony-border);
    border-radius: 8px;
    box-shadow: var(--harmony-shadow-lg);
    overflow: hidden;
}

.hc-bell__head[b-p0dph47lgv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: var(--harmony-gradient);
    color: var(--rz-white, #fff);
}

.hc-bell__head-title[b-p0dph47lgv] {
    font-size: 14px;
    font-weight: 600;
}

.hc-bell[b-p0dph47lgv]  .hc-bell__mark-all {
    color: var(--rz-white, #fff);
    font-size: 12px;
}

.hc-bell__list[b-p0dph47lgv] {
    max-height: 400px;
    overflow-y: auto;
}

.hc-bell__empty[b-p0dph47lgv] {
    padding: 20px;
    text-align: center;
    font-size: 13px;
    color: var(--rz-text-secondary-color);
}

.hc-bell__item[b-p0dph47lgv] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px 16px;
    border-bottom: 1px solid var(--harmony-border);
    cursor: pointer;
}

.hc-bell__item:last-child[b-p0dph47lgv] {
    border-bottom: none;
}

.hc-bell__item:hover[b-p0dph47lgv] {
    background: var(--harmony-surface);
}

.hc-bell__item.is-unread[b-p0dph47lgv] {
    background: var(--harmony-surface);
    box-shadow: inset 3px 0 0 var(--harmony-primary);
}

/* The unread accent bar follows the outcome, so a partial upload (warning) or a failure (error)
   doesn't wear the brand-green bar that reads as success. */
.hc-bell__item.is-unread.is-warning[b-p0dph47lgv] { box-shadow: inset 3px 0 0 var(--rz-warning); }
.hc-bell__item.is-unread.is-error[b-p0dph47lgv]   { box-shadow: inset 3px 0 0 var(--rz-danger); }

.hc-bell[b-p0dph47lgv]  .hc-bell__icon {
    flex-shrink: 0;
    margin-top: 2px;
    font-size: 20px;
}

.hc-bell[b-p0dph47lgv]  .hc-bell__icon.is-success { color: var(--rz-success); }
.hc-bell[b-p0dph47lgv]  .hc-bell__icon.is-error   { color: var(--rz-danger); }
.hc-bell[b-p0dph47lgv]  .hc-bell__icon.is-warning { color: var(--rz-warning); }
.hc-bell[b-p0dph47lgv]  .hc-bell__icon.is-info    { color: var(--rz-info); }

.hc-bell__body[b-p0dph47lgv] {
    flex: 1;
    min-width: 0;
}

.hc-bell__title[b-p0dph47lgv] {
    font-size: 13px;
    font-weight: 600;
    color: var(--harmony-deep);
}

.hc-bell__item.is-unread .hc-bell__title[b-p0dph47lgv] {
    font-weight: 700;
}

.hc-bell__msg[b-p0dph47lgv] {
    font-size: 12px;
    color: var(--harmony-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hc-bell__time[b-p0dph47lgv] {
    margin-top: 2px;
    font-size: 11px;
    color: var(--rz-text-secondary-color);
}
/* /Pages/Reports.razor.rz.scp.css */
/* Reports page (US-063, 2026-10-18): ONE page for every report — a 3-pane splitter (report tree | parameters | preview), the
   HarmonyHR / HarmonyPx layout. Under 768px the panes stack (tree, parameters, preview). */
[b-iitjeua1gb] .hc-reports-split {
    height: calc(100vh - 150px);
    min-height: 480px;
}

[b-iitjeua1gb] .hc-reports-pane {
    height: 100%;
    overflow: auto;
    box-sizing: border-box;
}

/* ---- pane 1: tree */
[b-iitjeua1gb] .hc-reports-tree {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem;
}

.hc-reports-tree__search[b-iitjeua1gb] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.hc-reports-tree__search[b-iitjeua1gb]  .rz-textbox { flex: 1; min-width: 0; }

[b-iitjeua1gb] .hc-reports-tree__tree {
    flex: 1;
    overflow: auto;
    padding: 0;
    border: 0;
    background: transparent;
}

[b-iitjeua1gb] .hc-reports-tree__empty {
    padding: 1rem 0.5rem;
    text-align: center;
    color: var(--rz-text-secondary-color);
}

.hc-reports-tree__folder[b-iitjeua1gb],
.hc-reports-tree__report[b-iitjeua1gb] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.hc-reports-tree__folder[b-iitjeua1gb] { font-weight: 600; }
.hc-reports-tree__folder[b-iitjeua1gb]  .rzi { font-size: 1.1rem; color: var(--rz-warning); }

.hc-reports-tree__report[b-iitjeua1gb] { cursor: pointer; }
.hc-reports-tree__report[b-iitjeua1gb]  .rzi { font-size: 1rem; color: var(--rz-text-secondary-color); }
.hc-reports-tree__report.is-active[b-iitjeua1gb] { color: var(--rz-primary-darker); font-weight: 700; }
.hc-reports-tree__report.is-active[b-iitjeua1gb]  .rzi { color: var(--rz-primary); }

.hc-reports-tree__count[b-iitjeua1gb] {
    display: inline-block;
    min-width: 1.4rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: var(--rz-base-200);
    font-size: 0.7rem;
    font-weight: 600;
    text-align: center;
}

/* ---- pane 2: parameters */
.hc-reports-params__category[b-iitjeua1gb] {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
}

.hc-reports-actions[b-iitjeua1gb] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--rz-base-300);
}

/* ---- empty states (no report selected / nothing previewed yet) */
.hc-reports-empty[b-iitjeua1gb] {
    height: 100%;
    min-height: 160px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    text-align: center;
    color: var(--rz-text-secondary-color);
}

.hc-reports-empty[b-iitjeua1gb]  .rzi { font-size: 3rem; color: var(--rz-base-500); }

.hc-report-compare[b-iitjeua1gb] {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 0.75rem;
    border: 1px solid var(--rz-base-300);
    border-radius: var(--rz-border-radius);
    padding: 0.25rem 0.75rem 0.6rem;
    margin: 0;
}

.hc-report-compare legend[b-iitjeua1gb] {
    font-size: 0.8rem;
    padding: 0 0.25rem;
    color: var(--rz-text-secondary-color);
}

.hc-report-preview__org[b-iitjeua1gb] { text-align: center; font-weight: 700; font-size: 1.1rem; }
.hc-report-preview__title[b-iitjeua1gb] { text-align: center; font-weight: 600; margin-bottom: 0.5rem; }

.hc-report-preview__params[b-iitjeua1gb] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1.5rem;
    font-size: 0.8rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--rz-base-300);
    margin-bottom: 0.5rem;
}

.hc-report-preview__scroll[b-iitjeua1gb] { overflow-x: auto; }

.hc-report-table[b-iitjeua1gb] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.hc-report-table th[b-iitjeua1gb] {
    background: var(--rz-base-200);
    border-bottom: 1px solid var(--rz-base-600);
    padding: 0.3rem 0.4rem;
    text-align: left;
    white-space: nowrap;
}

.hc-report-table td[b-iitjeua1gb] {
    padding: 0.2rem 0.4rem;
    border-bottom: 1px solid var(--rz-base-200);
    white-space: nowrap;   /* the preview scrolls horizontally instead of wrapping codes and dates */
}

.hc-report-table .num[b-iitjeua1gb] { text-align: right; white-space: nowrap; }
.hc-report-table tr.is-group td[b-iitjeua1gb] { background: #F1F5F2; font-weight: 700; padding-top: 0.4rem; }
.hc-report-table tr.is-subtotal td[b-iitjeua1gb] { background: #E6F0FA; font-weight: 700; font-style: italic; border-top: 1px solid var(--rz-base-400); }
.hc-report-table tr.is-grandtotal td[b-iitjeua1gb] { font-weight: 700; border-top: 2px solid var(--rz-base-700); }
.hc-report-table tr.is-records td[b-iitjeua1gb] { font-weight: 700; border-bottom: 0; padding-bottom: 0.6rem; }

/* ---- phone width: stack the panes (the splitter bars and resizing make no sense there) */
@media (max-width: 767.98px) {
    [b-iitjeua1gb] .hc-reports-split.rz-splitter {
        flex-direction: column;
        height: auto;
        min-height: 0;
        overflow: visible;
    }

    [b-iitjeua1gb] .hc-reports-split > .rz-splitter-pane {
        flex: 0 0 auto !important;
        width: 100% !important;
        height: auto !important;
        overflow: visible;
        margin-bottom: 0.75rem;
    }

    [b-iitjeua1gb] .hc-reports-split > .rz-splitter-bar { display: none; }

    [b-iitjeua1gb] .hc-reports-pane { height: auto; }
    [b-iitjeua1gb] .hc-reports-tree { max-height: 45vh; }
    [b-iitjeua1gb] .hc-reports-tree__tree { max-height: calc(45vh - 4rem); }
}
/* /Shared/DeliveryTrips_Board.razor.rz.scp.css */
.hc-trip-board[b-yhzv99ugw8] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0.75rem;
}

[b-yhzv99ugw8] .hc-trip-card {
    padding: 0.6rem 0.75rem;
    transition: box-shadow 0.4s ease, background-color 0.4s ease;
}

[b-yhzv99ugw8] .hc-trip-card-flash {
    box-shadow: 0 0 0 2px #66bb6a;
    background-color: #f1f8e9;
}
