@import '_content/SharedUI/SharedUI.drfxr8iljt.bundle.scp.css';

/* /Components/Cards/ActionCard.razor.rz.scp.css */
/* Action cards on the landing page for the menu items */
.action-card[b-oxw7erps2r] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    border-radius: var(--radius-xl);
    background: var(--color-surface);
    border: 1px solid var(--color-border-dark);
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

    .action-card:hover[b-oxw7erps2r],
    .action-card:focus[b-oxw7erps2r] {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04);
    }

    .action-card .icon-wrap[b-oxw7erps2r] {
        width: 52px;
        height: 52px;
        border-radius: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        background-color: color-mix(in srgb, var(--color-brand-light) 10%, transparent); /*background-color: var(--color-brand-light);*/
        transition: background-color 0.15s ease, color 0.15s ease;
    }

    .action-card:hover .icon-wrap[b-oxw7erps2r] {
        background: var(--color-brand-light);
        color: var(--color-white);
    }

        .action-card:hover .icon-wrap .pt-icon[b-oxw7erps2r] {
            color: var(--color-white);
        }

.icon-wrap .pt-icon[b-oxw7erps2r] {
    color: var(--color-brand-light);
    width: 20px;
    height: 20px;
}

.action-card-info[b-oxw7erps2r] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.info-title[b-oxw7erps2r] {
    font-family: var(--font-display);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    margin-bottom: 6px;
}

p.info-desc[b-oxw7erps2r] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    padding-right: 16px;
}
/* /Components/Cards/CompanyCard.razor.rz.scp.css */
/* Action cards on the landing page for the menu items */
.company-card[b-7mrdmwa68m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 3);
    padding: 16px 16px;
    border-radius: var(--radius-xl);
    border: none;
    background: transparent;
    text-decoration: none;
}
    .company-card:not(.selected)[b-7mrdmwa68m] {
        cursor: pointer;
    }
    .company-card.selected[b-7mrdmwa68m] {
        background: var(--color-brand-light-5);
        border: 2px solid var(--color-brand-light);
    }

    .company-card .icon-wrap[b-7mrdmwa68m] {
        width: 40px;
        height: 40px;
        border-radius: var(--radius-lg);
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
    }
    .company-card.selected .icon-wrap[b-7mrdmwa68m] {
        background-color: var(--color-brand-light);
        color: var(--color-white);
    }
    .company-card:not(.selected) .icon-wrap[b-7mrdmwa68m] {
        background-color: var(--color-gray-100);
        color: var(--color-gray-500);
    }
    .company-card:not(.selected):hover[b-7mrdmwa68m] {
        background-color: var(--color-brand-light-5);
        color: var(--color-brand-light);
    }
    .company-card:not(.selected):hover .right-icon[b-7mrdmwa68m] {
        color: var(--color-text-secondary);
    }
        .company-card:not(.selected):hover .icon-wrap[b-7mrdmwa68m] {
            background-color: var(--color-brand-light);
            color: var(--color-white)
        }
        .company-card:not(.selected):hover .info-title[b-7mrdmwa68m] {
            color: var(--color-brand-light);
        }
.company-card .right-icon[b-7mrdmwa68m] {
    color: transparent;
}

.icon-wrap .pt-icon[b-7mrdmwa68m] {
    color: var(--color-white);
    width: 20px;
    height: 20px;
}

.company-card-info[b-7mrdmwa68m] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.info-title[b-7mrdmwa68m] {
    font-family: var(--font-sans);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
}

p.info-desc[b-7mrdmwa68m] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    padding-right: 16px;
}
/* /Components/Cards/InfoCard.razor.rz.scp.css */
/* Action cards on the landing page for the menu items */
.info-card[b-tssr8uxmmr] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    border-radius: var(--radius-xl);
    background: var(--color-brand-light-10);
    border: 2px solid var(--color-brand-light);
}

    .info-card .icon-wrap[b-tssr8uxmmr] {
        width: 52px;
        height: 52px;
        border-radius: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        background-color: var(--color-brand-light);
    }


.icon-wrap .pt-icon[b-tssr8uxmmr] {
    color: var(--color-white);
    width: 20px;
    height: 20px;
}

.info-card-info[b-tssr8uxmmr] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.info-title[b-tssr8uxmmr] {
    font-family: var(--font-display);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    margin-bottom: 6px;
}

p.info-desc[b-tssr8uxmmr] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    padding-right: 16px;
}
/* /Components/Cards/KpiCard.razor.rz.scp.css */

/* KPI Cards on the landing page... similar but different. */
.kpi-card[b-7lby515qea] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    border-radius: var(--radius-xl);
    background: var(--color-surface);
    border: 1px solid var(--color-border-dark);
    cursor: pointer;
    transition: transform 0.15s ease, border-color 0.15s ease;
}

    .kpi-card:hover[b-7lby515qea],
    .kpi-card:focus[b-7lby515qea] {
        border: 1px solid var(--color-brand-light);
    }

    .kpi-card .icon-wrap[b-7lby515qea] {
        width: 52px;
        height: 52px;
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        background-color: var(--color-background);
        */ transition: background-color 0.15s ease, color 0.15s ease;
    }

    .kpi-card:hover .icon-wrap[b-7lby515qea] {
        background-color: color-mix(in srgb, var(--color-brand-light) 10%, transparent); /*background-color: var(--color-brand-light);*/
        color: var(--color-white);
    }


.icon-wrap .pt-icon[b-7lby515qea] {
    color: var(--color-brand-light);
    width: 20px;
    height: 20px;
}

.kpi-card-info[b-7lby515qea] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
/* /Components/ConfirmationDialog.razor.rz.scp.css */
/* Unused - the icon badge styling moved to the global site/dialogs.css (.del-popup .icon-wrap),
   matching this repo's established pattern: DxPopup-rendered content doesn't reliably pick up
   Blazor CSS-isolation rules, so anything reaching into DevExpress internals goes in a global
   stylesheet instead. Safe to delete this file. */
/* /Components/Dialogs/ConfirmDialog.razor.rz.scp.css */

/* Variant color schemes */

.cd-icon-danger[b-d0qu5is2be] {
    background-color: var(--color-red-50);
    color: var(--color-red-900);
    vertical-align: middle;
}
.cd-icon-caution[b-d0qu5is2be] {
    background-color: var(--color-amber-50);
    color: var(--color-amber-700);
    vertical-align: middle;
}

.cd-icon-info[b-d0qu5is2be] {
    background-color: var(--color-blue-50);
    color: var(--color-blue-700);
    vertical-align: middle;
}

/* ── Body ────────────────────────────────────────────────── */
.cd-body[b-d0qu5is2be] {
    text-align: center;
    padding: 1rem 1.75rem 0.5rem;
}
.cd-body h6[b-d0qu5is2be] {
    margin-bottom: 0.5rem;
}


.cd-message[b-d0qu5is2be] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    line-height: 1.5;
    margin-bottom: 0;
}

/* ── Footer buttons ──────────────────────────────────────── */
.cd-footer[b-d0qu5is2be] {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    padding: 1rem 1.5rem;
}


.cd-btn-cancel[b-d0qu5is2be] {
    min-width: 100px;
    background: transparent;
}

    .cd-btn-cancel:hover[b-d0qu5is2be] {
        background: #f5f5f5;
    }

/* /Components/Flyouts/AppFlyout.razor.rz.scp.css */
.app-flyout-backdrop[b-o7rii5bp8q] {
    position: fixed;
    inset: 0;
/*    z-index: 3000;  */   
    background: rgba(0, 0, 0, 0.5);
}

.app-flyout[b-o7rii5bp8q] {
    position: fixed;
    top: 0;
    right: 0;
    /*z-index: 3001;*/
    max-width: 100vw;
    height: 100vh;
    background: var(--color-surface);
    box-shadow: -12px 0 32px rgba(0,0,0,0.16);
    display: flex;
    flex-direction: column;
    height: 100vh;
    animation: flyout-in-b-o7rii5bp8q 0.18s ease-out;
}

.app-flyout__header[b-o7rii5bp8q] {
    padding: 24px;
    border-bottom: 1px solid var(--color-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--color-gray-100);
    gap: 16px;
}
    [b-o7rii5bp8q] .app-flyout__header .icon-wrap {
        width: calc(var(--spacing) * 10);
        height: calc(var(--spacing) * 10);
        border-radius: var(--radius-xl);
        background-color: var(--color-brand-light-10);
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
    }

        [b-o7rii5bp8q] .app-flyout__header .icon-wrap .pt-icon {
            color: var(--color-brand-light);
            width: 20px;
            height: 20px;
        }
.app-flyout__body[b-o7rii5bp8q] {
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0px;
    margin-bottom: 0px;
    scrollbar-width: thin;
}

.app-flyout__footer[b-o7rii5bp8q] {
    padding: 24px;
    border-top: 1px solid var(--color-border);
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
    background-color: var(--color-gray-100);
    text-align: right;
}

.app-flyout__close[b-o7rii5bp8q] {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--color-text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

    .app-flyout__close:hover[b-o7rii5bp8q] {
        background: var(--color-surface-hover);
        color: var(--color-text-primary);
    }

@keyframes flyout-in-b-o7rii5bp8q {
    from {
        transform: translateX(100%);
    }

    to {
        transform: translateX(0);
    }
}
/* /Components/Flyouts/CompanySwitcherFlyout.razor.rz.scp.css */
.app-flyout[b-y41noi5sa5] {
    width: 600px;
}
section[b-y41noi5sa5] {
    margin-bottom: 24px;
}
section h3[b-y41noi5sa5] {
    margin-bottom: 4px;
    color: var(--color-text-secondary);
}

.search-box .search-box__input[b-y41noi5sa5] {
    width: 100%;
    color: var(--color-gray-700);
    background-color: var(--color-gray-100);
    padding: 12px;
    padding-left: 40px;
    font-size: var(--text-sm);
    border-radius: 12px;
    border: none;
    outline: none;
    border: 1px solid var(--color-border);
    transition: border 0.15s ease;
}
    .search-box .search-box__input:focus[b-y41noi5sa5] {
        border: 2px solid var(--color-brand-light-20);
    }

.search-box__input[b-y41noi5sa5]::placeholder {
    color: var(--color-gray-500);
}
.search-box__button[b-y41noi5sa5] {
    transform: translateY(-50%);
    background-color: transparent;
    width: 40px;
    height: 36px;
    padding: 0;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gray-500);
    cursor: none;
}

.search-box__clear[b-y41noi5sa5] {
    right: 4px;
    top: 12px;
}

.company-switcher-layout[b-y41noi5sa5] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 16px;
}

.company-switcher-list-section[b-y41noi5sa5] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.company-switcher-list[b-y41noi5sa5] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}
/* /Components/Flyouts/PagedEditorFlyout.razor.rz.scp.css */
[b-45ks85qkis] .dxbl-tabs > .dxbl-tabs-tablist.dxbl-tabs-tablist-scrollable {
    border-bottom: none !important;
}
/* /Components/LocalCards/CertificateCard.razor.rz.scp.css */
/* Action cards on the landing page for the menu items */
.company-card[b-d9z2y51m6b] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /*    justify-content: space-between;*/
    gap: calc(var(--spacing) * 1);
    padding: 12px;
    margin: 8px 0px;
    border-radius: var(--radius-xl);
    background: transparent;
    text-decoration: none;
    border: 1px solid var(--color-border);
}
    .company-card.expired[b-d9z2y51m6b] {
        border-left: 8px solid var(--color-error) !important;
    }
    .company-card:not(.expired)[b-d9z2y51m6b] {
        border-left: 8px solid var(--color-brand-light) !important;
    }

    .company-card:not(.selected)[b-d9z2y51m6b] {
        cursor: pointer;
    }

    .company-card.selected[b-d9z2y51m6b] {
        background: var(--color-brand-light-5);
        border: 2px solid var(--color-brand-light);
        box-shadow: var(--shadow-md);
    }

    .company-card:not(.selected):hover[b-d9z2y51m6b] {
        background-color: var(--color-brand-light-5);
        /*color: var(--color-brand-light);*/
    }


.company-card-info[b-d9z2y51m6b] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.info-title[b-d9z2y51m6b] {
    font-family: var(--font-sans);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
}
.info-title.expired[b-d9z2y51m6b]{
    color: var(--color-error);
}
p.info-desc[b-d9z2y51m6b] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    padding-right: 16px;
}
.item-label[b-d9z2y51m6b] {
    min-width: 100px;
    font-weight: var(--font-weight-semibold);
    text-align: right;
    font-size: var(--text-sm);
}
.item-value[b-d9z2y51m6b]{
    font-size: var(--text-xs);
    text-overflow: ellipsis;
    overflow: hidden;
}
/* /Components/PillToggle.razor.rz.scp.css */
/* Pill toggle geometry mirrors the mockup exactly: 32x18 track, 14x14 knob, 2px -> 16px travel. */
.pill-toggle[b-0b6n1zyzbc] {
    width: 32px;
    height: 18px;
    padding: 0;
    border: none;
    border-radius: 99px;
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    background-color: var(--color-border);
    transition: background-color 0.2s;
}

.pill-toggle.on[b-0b6n1zyzbc] {
    background-color: var(--color-brand-light);
}

.pill-toggle:disabled[b-0b6n1zyzbc] {
    opacity: 0.5;
    cursor: not-allowed;
}

.pill-knob[b-0b6n1zyzbc] {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: var(--color-surface);
    position: absolute;
    top: 2px;
    left: 2px;
    transition: left 0.2s;
}

.pill-toggle.on .pill-knob[b-0b6n1zyzbc] {
    left: 16px;
}
/* /Editors/DataConnectorEditor.razor.rz.scp.css */
/* Data Connector editor, styled to the mockup. Rules use `.dc-editor ::deep .x` so they reach both
   this component's own markup and the DbCredentialFields child (rendered inside .dc-editor) as well as
   the DevExpress editor internals, none of which carry this component's scope attribute. */

.dc-editor[b-la96ermp8w] {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 8px 0 24px;
}

/* ---- Top-level fields ---- */
.dc-editor[b-la96ermp8w]  .dc-top-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 32px;
}

.dc-editor[b-la96ermp8w]  .dc-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.dc-editor[b-la96ermp8w]  .dc-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--color-text-secondary);
}

/* ---- Cards ---- */
.dc-editor[b-la96ermp8w]  .dc-card {
    border: 1px solid var(--color-border);
    border-radius: 12px;
    background-color: var(--color-surface);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.dc-editor[b-la96ermp8w]  .dc-card-header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border: none;
    cursor: pointer;
    background-color: var(--color-header-footer);
    transition: background-color 0.15s ease;
}

.dc-editor[b-la96ermp8w]  .dc-card-header:hover {
    background-color: var(--color-surface-hover);
}

.dc-editor[b-la96ermp8w]  .dc-card-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--color-text-primary);
}

.dc-editor[b-la96ermp8w]  .dc-card-icon {
    color: var(--color-brand-light);
}

.dc-editor[b-la96ermp8w]  .dc-chevron {
    color: var(--color-text-secondary);
    transition: transform 0.2s ease;
}

.dc-editor[b-la96ermp8w]  .dc-chevron.open {
    transform: rotate(180deg);
}

.dc-editor[b-la96ermp8w]  .dc-card-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 20px;
    background-color: var(--color-surface);
    border-top: 1px solid var(--color-border);
}

/* ---- Inline database credentials ---- */
.dc-editor[b-la96ermp8w]  .dc-cred {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dc-editor[b-la96ermp8w]  .dc-cred-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.dc-editor[b-la96ermp8w]  .dc-hint {
    margin: 0;
    font-size: 12px;
    color: var(--color-brand-light);
}

/* A touch more breathing room between the fields and the notice below them than the default
   .dc-cred flex gap gives. */
.dc-editor[b-la96ermp8w]  .team-notice {
    margin-top: 4px;
}

/* ---- Test Connection: result/progress feedback goes through the app's toast notifications, so this
   is just a spacing wrapper around the PTIconButton ---- */
.dc-editor[b-la96ermp8w]  .dc-test-row {
    display: flex;
    align-items: center;
}

.dc-editor[b-la96ermp8w]  .dc-test-btn {
    font-size: 13px;
    font-weight: var(--font-weight-semibold);
    padding: 8px 18px;
}

/* ---- Icon-prefixed inputs ---- */
.dc-editor[b-la96ermp8w]  .dc-input-icon {
    position: relative;
}

.dc-editor[b-la96ermp8w]  .dc-input-glyph {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 14px;
    height: 14px;
    opacity: 0.5;
    color: var(--color-text-secondary);
    pointer-events: none;
}

.dc-editor[b-la96ermp8w]  .dc-input-icon input {
    padding-left: 34px;
}

/* ---- Toggles ---- */
.dc-editor[b-la96ermp8w]  .dc-divider {
    height: 1px;
    background-color: var(--color-border);
    margin: 4px 0;
}

.dc-editor[b-la96ermp8w]  .dc-toggle-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dc-editor[b-la96ermp8w]  .dc-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.dc-editor[b-la96ermp8w]  .dc-toggle-label {
    font-size: 14px;
    font-weight: 500;
    color: var(--color-text-primary);
}

.dc-editor[b-la96ermp8w]  .dc-reveal {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    background-color: var(--color-background);
}

.dc-editor[b-la96ermp8w]  .dc-mono textarea {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

/* ---- Save row (legacy in-form save button; hidden in the flyout host) ---- */
.dc-editor[b-la96ermp8w]  .dc-save-row {
    display: flex;
    justify-content: flex-end;
}

/* ---- Make DevExpress editors fill their field width ---- */
.dc-editor[b-la96ermp8w]  .dxbl-text-edit,
.dc-editor[b-la96ermp8w]  .dxbl-combobox,
.dc-editor[b-la96ermp8w]  .dxbl-memo,
.dc-editor[b-la96ermp8w]  .dxbl-tagbox {
    width: 100%;
}
/* /Editors/ExternalIntegrationEditor.razor.rz.scp.css */
/* Application Connections (APS-7701+): styled sections used only when RestrictToEnabledTypes is
   true, i.e. only reached from the new Application Connections page - Manage Integrations keeps
   its original DxFormLayoutGroup markup untouched. Rules use `::deep` to reach the DevExpress
   editor internals, which don't carry this component's scope attribute. Naming/tokens mirror
   DataConnectorEditor.razor.css so every future integration type (APS-7702+) reuses the same look. */

.ie-editor[b-w6cicr6dyn] {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 8px 0 24px;
}

/* ---- Top-level fields (Name / Owner(s) / Application) ---- */
.ie-editor[b-w6cicr6dyn]  .ie-top-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px 32px;
}

.ie-editor[b-w6cicr6dyn]  .ie-cred-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.ie-editor[b-w6cicr6dyn]  .ie-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ie-editor[b-w6cicr6dyn]  .ie-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--color-text-secondary);
}

/* Two columns, matching the prototype (e.g. Work Orders / Routings side by side). */
.ie-editor[b-w6cicr6dyn]  .ie-toggle-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 32px;
}

.ie-editor[b-w6cicr6dyn]  .ie-toggle-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}

.ie-editor[b-w6cicr6dyn]  .ie-toggle-label {
    font-size: 14px;
    font-weight: 500;
    color: var(--color-text-primary);
}

/* ---- Settings card: ONE container for every subsection (Credentials / Data / Import Endpoints /
   Publish Endpoint), not collapsible - matches the Application Connections prototype, which
   (unlike Data Connectors) shows a single "Settings" card with internal divisions. ---- */
.ie-editor[b-w6cicr6dyn]  .ie-settings-card {
    border: 1px solid var(--color-border);
    border-radius: 12px;
    background-color: var(--color-surface);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.ie-editor[b-w6cicr6dyn]  .ie-settings-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 20px;
    background-color: var(--color-header-footer);
    border-bottom: 1px solid var(--color-border);
}

.ie-editor[b-w6cicr6dyn]  .ie-settings-icon {
    color: var(--color-brand-light);
}

.ie-editor[b-w6cicr6dyn]  .ie-settings-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--color-text-primary);
}

.ie-editor[b-w6cicr6dyn]  .ie-settings-body {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 20px;
}

/* ---- Subsection titles: small blue accent bar + label, no collapse. ---- */
.ie-editor[b-w6cicr6dyn]  .ie-subsection {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ie-editor[b-w6cicr6dyn]  .ie-subsection-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--color-text-secondary);
}

.ie-editor[b-w6cicr6dyn]  .ie-bar {
    display: inline-block;
    width: 3px;
    height: 14px;
    border-radius: 2px;
    background-color: var(--color-brand-light);
}

/* ---- "Endpoint URLs" header row (title + subtle "+ Add" link) and its URL rows. ---- */
.ie-editor[b-w6cicr6dyn]  .ie-subsection-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ie-editor[b-w6cicr6dyn]  .ie-add-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    color: var(--color-brand-light);
}

.ie-editor[b-w6cicr6dyn]  .ie-add-link:hover {
    color: var(--color-brand-dark);
}

.ie-editor[b-w6cicr6dyn]  .ie-url-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ie-editor[b-w6cicr6dyn]  .ie-url-row .ie-input-icon {
    flex: 1 1 auto;
}

.ie-editor[b-w6cicr6dyn]  .ie-url-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--color-text-secondary);
    opacity: 0.6;
}

.ie-editor[b-w6cicr6dyn]  .ie-url-remove:hover {
    color: var(--color-error);
    opacity: 1;
}

/* Shown instead of any row when the list is empty, matching the prototype. */
.ie-editor[b-w6cicr6dyn]  .ie-empty-urls {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px;
    border: 1px dashed var(--color-border);
    border-radius: 8px;
    font-size: 13px;
    font-style: italic;
    color: var(--color-text-secondary);
}

/* Make DevExpress editors fill their field width, matching DataConnectorEditor. */
.ie-editor[b-w6cicr6dyn]  .dxbl-text-edit,
.ie-editor[b-w6cicr6dyn]  .dxbl-combobox,
.ie-editor[b-w6cicr6dyn]  .dxbl-memo,
.ie-editor[b-w6cicr6dyn]  .dxbl-tagbox {
    width: 100%;
}

/* ---- Credential field prefix icons (DxEditorButton, Position=Left): strip the default button
   chrome (background/border/divider) so they read as plain muted glyphs, matching the
   dc-input-glyph look in DbCredentialFields/DataConnectorEditor. ---- */
.ie-editor[b-w6cicr6dyn]  .ie-cred-icon-btn,
.ie-editor[b-w6cicr6dyn]  .ie-cred-icon-btn:hover,
.ie-editor[b-w6cicr6dyn]  .ie-cred-icon-btn:focus,
.ie-editor[b-w6cicr6dyn]  .ie-cred-icon-btn:active {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* The button sits in the text-edit's own "buttons" region, which draws a separator against the
   typing area by default - kill any border on that region so no divider line remains. */
.ie-editor[b-w6cicr6dyn]  .dxbl-text-edit * {
    border-color: transparent !important;
}

/* Mute the glyph itself (covers pt-icon's mask-based color and FontAwesome's font color, wherever
   DevExpress nests the actual icon element inside the button). */
.ie-editor[b-w6cicr6dyn]  .ie-cred-icon-btn,
.ie-editor[b-w6cicr6dyn]  .ie-cred-icon-btn * {
    color: var(--color-text-secondary) !important;
    opacity: 0.5;
}

/* ---- Icon-prefixed inputs for PasswordEdit fields (Client/Token Secret): CSS-overlay lock icon,
   matching DbCredentialFields' Password field exactly (PasswordEdit brings its own eye-toggle
   button on the right; this adds the static lock icon on the left). ---- */
.ie-editor[b-w6cicr6dyn]  .ie-input-icon {
    position: relative;
}

.ie-editor[b-w6cicr6dyn]  .ie-input-glyph {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 14px;
    height: 14px;
    font-size: 14px;
    opacity: 0.5;
    color: var(--color-text-secondary);
    pointer-events: none;
}

.ie-editor[b-w6cicr6dyn]  .ie-input-icon input {
    padding-left: 34px;
}

/* ---- Maestro (APS-7704): toolbar, custom inline-editable tables, and Fields chips. ---- */
.ie-editor[b-w6cicr6dyn]  .ie-mtoolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}

.ie-editor[b-w6cicr6dyn]  .ie-mtoolbar .ie-input-icon {
    flex: 1 1 320px;
}

.ie-editor[b-w6cicr6dyn]  .ie-btn-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: none;
    border-radius: 999px;
    background-color: #0B95D6 !important;
    color: #fff !important;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.ie-editor[b-w6cicr6dyn]  .ie-btn-pill:hover {
    background-color: #0986C1 !important;
}

/* No opacity fade when disabled (e.g. "Apply to All" with an empty filter) - both this and
   "Add Table" (never disabled) should read as the exact same shade, matching the prototype,
   which doesn't visually distinguish a disabled state here. */
.ie-editor[b-w6cicr6dyn]  .ie-btn-pill:disabled {
    cursor: not-allowed;
}

/* Soft/pastel variant ("Add Table") - light blue background, blue text, no white fill. Distinct
   from .ie-btn-pill (solid, used for "Apply to All"). */
.ie-editor[b-w6cicr6dyn]  .ie-btn-soft {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: none;
    border-radius: 999px;
    background-color: #E8F5FC !important;
    color: #0B95D6 !important;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.ie-editor[b-w6cicr6dyn]  .ie-btn-soft:hover {
    background-color: #d6ecf9 !important;
}

/* "Add Table" toolbar buttons (Import/Publish) - light by default, solid blue with white text
   on hover. Distinct from .ie-btn-soft (chip "+ Add", no hover-to-solid transition) and from
   .ie-btn-pill ("Apply to All", always solid). */
.ie-editor[b-w6cicr6dyn]  .ie-btn-add-table {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: none;
    border-radius: 999px;
    background-color: #e6f4fa !important;
    color: #149ad6 !important;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.ie-editor[b-w6cicr6dyn]  .ie-btn-add-table:hover {
    background-color: #0d95d3 !important;
    color: #fff !important;
}

/* Utility/secondary actions (Reset to Defaults, Export/Import CSV, Clear All Filters) - gray, not
   blue, distinct from .ie-add-link (kept blue for NetSuite's already-approved "+ Add" link). */
.ie-editor[b-w6cicr6dyn]  .ie-link-muted {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    color: var(--color-text-secondary);
}

.ie-editor[b-w6cicr6dyn]  .ie-link-muted:hover {
    color: var(--color-text-primary);
}

.ie-editor[b-w6cicr6dyn]  .ie-mfilter-box {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
    padding: 10px 14px;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    background-color: var(--color-surface);
}

.ie-editor[b-w6cicr6dyn]  .ie-mfilter-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    color: var(--color-text-secondary);
    white-space: nowrap;
}

.ie-editor[b-w6cicr6dyn]  .ie-mfilter-label .fa {
    color: var(--color-blue-600);
}

.ie-editor[b-w6cicr6dyn]  .ie-mfilter-box .ie-input-icon {
    flex: 1 1 260px;
}

/* Table Name-type fields (Import Table Name, PT/Maestro Publish Table Name) read as bold in the
   prototype's inline-editable rows. */
.ie-editor[b-w6cicr6dyn]  .ie-input-bold input {
    font-weight: 700;
}

.ie-editor[b-w6cicr6dyn]  .ie-mtable {
    border: 1px solid var(--color-border);
    border-radius: 12px;
    overflow: hidden;
}

.ie-editor[b-w6cicr6dyn]  .ie-mtable-header,
.ie-editor[b-w6cicr6dyn]  .ie-mtable-row {
    display: grid;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
}

.ie-editor[b-w6cicr6dyn]  .ie-mtable-header {
    background-color: var(--color-header-footer);
    font-size: 11px;
    font-weight: 700;
    color: var(--color-text-secondary);
    border-bottom: 1px solid var(--color-border);
}

.ie-editor[b-w6cicr6dyn]  .ie-mtable-row {
    border-bottom: 1px solid var(--color-border);
}

.ie-editor[b-w6cicr6dyn]  .ie-mtable-row:last-child {
    border-bottom: none;
}

.ie-editor[b-w6cicr6dyn]  .ie-mtable-import-header,
.ie-editor[b-w6cicr6dyn]  .ie-mtable-import-row {
    grid-template-columns: 70px 1fr 1fr 1.5fr 1fr 60px;
}

.ie-editor[b-w6cicr6dyn]  .ie-mtable-publish-header,
.ie-editor[b-w6cicr6dyn]  .ie-mtable-publish-row {
    grid-template-columns: 70px 1fr 1fr 1fr 1fr 60px;
}

.ie-editor[b-w6cicr6dyn]  .ie-mtable-action {
    display: flex;
    justify-content: center;
}

.ie-editor[b-w6cicr6dyn]  .ie-mtable-delete {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--color-text-secondary);
    opacity: 0.6;
}

.ie-editor[b-w6cicr6dyn]  .ie-mtable-delete:hover {
    color: var(--color-error);
    opacity: 1;
}

.ie-editor[b-w6cicr6dyn]  .ie-mtable-empty {
    padding: 20px;
    text-align: center;
    font-size: 13px;
    font-style: italic;
    color: var(--color-text-secondary);
}

/* Fields chips (Maestro Import Tables) */
.ie-editor[b-w6cicr6dyn]  .ie-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 6px;
}

.ie-editor[b-w6cicr6dyn]  .ie-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 999px;
    background-color: #E8F5FC;
    border: none;
    font-size: 12px;
    color: #0B95D6;
}

.ie-editor[b-w6cicr6dyn]  .ie-chip-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
    color: #0B95D6;
    opacity: 0.7;
}

.ie-editor[b-w6cicr6dyn]  .ie-chip-remove:hover {
    color: var(--color-error);
}

.ie-editor[b-w6cicr6dyn]  .ie-chip-add-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.ie-editor[b-w6cicr6dyn]  .ie-chip-add-row input {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 12px;
    padding: 4px 8px;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    background-color: var(--color-surface);
    color: var(--color-text-primary);
}
/* /Features/Actions/ActionsLog.razor.rz.scp.css */

.page-content-container[b-ia6o27qq45] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    gap: 8px;
    height: 100%;
    padding-bottom: 24px;
    overflow: auto;
}

    .page-content-container .cc-grid[b-ia6o27qq45],
    .cc-grid[b-ia6o27qq45] {
        height: 100%;
        overflow: auto;
    }
        .page-content-container .cc-grid.dxbl-grid:not(.no-select) .dxbl-grid-table > tbody > tr[b-ia6o27qq45] {
            cursor: default;
        }
/* /Features/AppFeature/AppFeatureEditorFlyout.razor.rz.scp.css */
/* form item spacing */
[b-k6ald6xk3z] .dxbl-fl {
    --dxbl-fl-item-spacing-y: 20px; /* whatever value you want */
    --dxbl-fl-item-spacing-x: 24px; /* whatever value you want */
}
    /* form group spacing */
    [b-k6ald6xk3z] .dxbl-fl .dxbl-fl-gd,
    [b-k6ald6xk3z] .dxbl-fl .dxbl-fl-gt {
        margin-top: calc(var(--dxbl-fl-group-spacing-y) * .75);
        margin-bottom: calc(var(--dxbl-fl-group-spacing-y) * .75);
    }
/* form top and bottom spacing (stadard setting was cutting off first group border */
[b-k6ald6xk3z] .dxbl-row {
    margin-top: -8px;
    margin-bottom: 0px;
}
/* /Features/ApplicationConnectionsFeature/ApplicationConnectionAssignFlyout.razor.rz.scp.css */
.assign-flyout-body[b-67pfq0mtj8] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    height: 100%;
    min-height: 0;
}

.assign-select-row[b-67pfq0mtj8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/*
 * Bounded-height box for the grid. The grid itself scrolls internally (VirtualScrollingEnabled),
 * and DevExpress makes the header sticky within its own scroll viewer, so this wrapper only needs
 * to give the grid a definite height to fill.
 */
.assign-grid-wrap[b-67pfq0mtj8] {
    flex: 1;
    min-height: 0;
}

/* Fill the bounded wrapper so the grid's virtual-scroll viewport has a definite height; without
   this the grid grows to fit all rows and DevExpress's sticky header never engages. */
.assign-grid-wrap[b-67pfq0mtj8]  .dxbl-grid {
    height: 100%;
}

/*
 * cc-grid indents the first column (padding-left 16px/20px !important) assuming a data column
 * is first. Here the first column is the selection checkbox, so that asymmetric indent shifts
 * the checkbox toward the Name column. Use symmetric padding instead so DevExpress centers the
 * checkbox within its column. Scoped: this lives in the flyout's own scoped CSS and is anchored
 * under .assign-grid-wrap (which exists only in this component), so no other cc-grid / selection
 * grid is affected.
 */
.assign-grid-wrap[b-67pfq0mtj8]  .cc-grid.dxbl-grid .dxbl-grid-table > thead > tr > th.dxbl-grid-selection-cell,
.assign-grid-wrap[b-67pfq0mtj8]  .cc-grid.dxbl-grid .dxbl-grid-table > tbody > tr > td.dxbl-grid-selection-cell,
.assign-grid-wrap[b-67pfq0mtj8]  .cc-grid.dxbl-grid .dxbl-grid-table > tfoot > tr > td.dxbl-grid-selection-cell {
    padding-left: 12px !important;
    padding-right: 12px !important;
}
/* /Features/CompanyFeature/CompanyDetailsOverlay.razor.rz.scp.css */
.app-features-container[b-5ed8ykkk1g] {
    border-top: 1px ridge var(--color-border);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 16px;
    padding: 16px;
}
.app-header[b-5ed8ykkk1g] {
    font-size: var(--text-base);
    display: flex;
    flex-direction: row;
    gap: 6px;
    justify-content: center;
    align-items: center;
    background-color: var(--color-brand-light);
    color: white;
    border-radius: var(--radius-lg);
    padding: 6px;
    width: 100%;
}
.app-feature[b-5ed8ykkk1g] {
    display: flex;
    flex-direction: row;
    gap: 6px;
    justify-content: flex-start;
    align-items: center;
    font-size: var(--text-xs);
}
/* /Features/CompanyFeature/CompanyEditorFlyout.razor.rz.scp.css */
.feature-editor[b-rjyekmcnp1] {
    padding: 8px 12px 0px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 32px;
}

[b-rjyekmcnp1] button.dxbl-edit-btn-clear {
    margin-top: 4px;
}
/* /Features/DatabasePackageFeature/DatabasePackageAssignFlyout.razor.rz.scp.css */
.assign-flyout-body[b-wo1mjn1hov] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    height: 100%;
    min-height: 0;
}

.assign-select-row[b-wo1mjn1hov] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/*
 * Bounded-height box for the grid. The grid itself scrolls internally (VirtualScrollingEnabled),
 * and DevExpress makes the header sticky within its own scroll viewer, so this wrapper only needs
 * to give the grid a definite height to fill.
 */
.assign-grid-wrap[b-wo1mjn1hov] {
    flex: 1;
    min-height: 0;
}

/* Fill the bounded wrapper so the grid's virtual-scroll viewport has a definite height; without
   this the grid grows to fit all rows and DevExpress's sticky header never engages. */
.assign-grid-wrap[b-wo1mjn1hov]  .dxbl-grid {
    height: 100%;
}

/*
 * cc-grid indents the first column (padding-left 16px/20px !important) assuming a data column
 * is first. Here the first column is the selection checkbox, so that asymmetric indent shifts
 * the checkbox toward the Name column. Use symmetric padding instead so DevExpress centers the
 * checkbox within its column. Scoped: this lives in the flyout's own scoped CSS and is anchored
 * under .assign-grid-wrap (which exists only in this component), so no other cc-grid / selection
 * grid is affected.
 */
.assign-grid-wrap[b-wo1mjn1hov]  .cc-grid.dxbl-grid .dxbl-grid-table > thead > tr > th.dxbl-grid-selection-cell,
.assign-grid-wrap[b-wo1mjn1hov]  .cc-grid.dxbl-grid .dxbl-grid-table > tbody > tr > td.dxbl-grid-selection-cell,
.assign-grid-wrap[b-wo1mjn1hov]  .cc-grid.dxbl-grid .dxbl-grid-table > tfoot > tr > td.dxbl-grid-selection-cell {
    padding-left: 12px !important;
    padding-right: 12px !important;
}
/* /Features/DatabasePackageFeature/DatabasePackagesGrid.razor.rz.scp.css */
/* Bold grid headers, matching the Control Center prototype (APS-7729 review). */
[b-7y1ttstn33] .database-package-grid.dxbl-grid .dxbl-grid-table > thead > tr > th {
    font-weight: var(--font-weight-bold);
}

/* Extra breathing room for the primary/secondary text pairs (Name/Description, person/date).
   pt-primary and pt-small are shared grid.css classes used elsewhere without this need, so the
   margin is added here, scoped to this grid, rather than touching the shared rule. */
[b-7y1ttstn33] .database-package-grid .pt-primary {
    margin-top: 10px;
}

[b-7y1ttstn33] .database-package-grid .pt-small {
    margin-top: 10px;
    margin-bottom: 10px;
}

/* Planning Areas badge: icon + count, spaced like the other badge/icon pairings in the app. */
[b-7y1ttstn33] .dp-pa-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Release Notes column: clamp to two lines instead of overflowing the row height. */
[b-7y1ttstn33] .dp-release-notes {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* /Features/DatabasePackageFeature/DatabasePackagesPage.razor.rz.scp.css */
/* "Import Package" reads bold, matching the Control Center prototype (APS-7729 review). */
[b-fvynamarp4] .pt-icon-button.primary {
    font-weight: var(--font-weight-bold);
}

/* Let the search field grow the full width, pushing the Version/Created By filters to the
   container's right edge instead of bunching them up right after the search box. */
[b-fvynamarp4] .filter-bar .search-wrap {
    max-width: none;
}

[b-fvynamarp4] .filter-bar .search-wrap + .dd-wrap {
    margin-left: auto;
}
/* /Features/DataConnectorFeature/DataConnectorAssignFlyout.razor.rz.scp.css */
.assign-flyout-body[b-dd3m378tqi] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    height: 100%;
    min-height: 0;
}

.assign-select-row[b-dd3m378tqi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/*
 * Bounded-height box for the grid. The grid itself scrolls internally (VirtualScrollingEnabled),
 * and DevExpress makes the header sticky within its own scroll viewer, so this wrapper only needs
 * to give the grid a definite height to fill.
 */
.assign-grid-wrap[b-dd3m378tqi] {
    flex: 1;
    min-height: 0;
}

/* Fill the bounded wrapper so the grid's virtual-scroll viewport has a definite height; without
   this the grid grows to fit all rows and DevExpress's sticky header never engages. */
.assign-grid-wrap[b-dd3m378tqi]  .dxbl-grid {
    height: 100%;
}

/*
 * cc-grid indents the first column (padding-left 16px/20px !important) assuming a data column
 * is first. Here the first column is the selection checkbox, so that asymmetric indent shifts
 * the checkbox toward the Name column. Use symmetric padding instead so DevExpress centers the
 * checkbox within its column. Scoped: this lives in the flyout's own scoped CSS and is anchored
 * under .assign-grid-wrap (which exists only in this component), so no other cc-grid / selection
 * grid is affected.
 */
.assign-grid-wrap[b-dd3m378tqi]  .cc-grid.dxbl-grid .dxbl-grid-table > thead > tr > th.dxbl-grid-selection-cell,
.assign-grid-wrap[b-dd3m378tqi]  .cc-grid.dxbl-grid .dxbl-grid-table > tbody > tr > td.dxbl-grid-selection-cell,
.assign-grid-wrap[b-dd3m378tqi]  .cc-grid.dxbl-grid .dxbl-grid-table > tfoot > tr > td.dxbl-grid-selection-cell {
    padding-left: 12px !important;
    padding-right: 12px !important;
}
/* /Features/DataMappingFeature/DataMappingAssignFlyout.razor.rz.scp.css */
.assign-flyout-body[b-gm26g89xzf] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    height: 100%;
    min-height: 0;
}

.assign-select-row[b-gm26g89xzf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/*
 * Bounded-height box for the grid. The grid itself scrolls internally (VirtualScrollingEnabled),
 * and DevExpress makes the header sticky within its own scroll viewer, so this wrapper only needs
 * to give the grid a definite height to fill.
 */
.assign-grid-wrap[b-gm26g89xzf] {
    flex: 1;
    min-height: 0;
}

/* Fill the bounded wrapper so the grid's virtual-scroll viewport has a definite height; without
   this the grid grows to fit all rows and DevExpress's sticky header never engages. */
.assign-grid-wrap[b-gm26g89xzf]  .dxbl-grid {
    height: 100%;
}

/*
 * cc-grid indents the first column (padding-left 16px/20px !important) assuming a data column
 * is first. Here the first column is the selection checkbox, so that asymmetric indent shifts
 * the checkbox toward the Name column. Use symmetric padding instead so DevExpress centers the
 * checkbox within its column. Scoped: this lives in the flyout's own scoped CSS and is anchored
 * under .assign-grid-wrap (which exists only in this component), so no other cc-grid / selection
 * grid is affected.
 */
.assign-grid-wrap[b-gm26g89xzf]  .cc-grid.dxbl-grid .dxbl-grid-table > thead > tr > th.dxbl-grid-selection-cell,
.assign-grid-wrap[b-gm26g89xzf]  .cc-grid.dxbl-grid .dxbl-grid-table > tbody > tr > td.dxbl-grid-selection-cell,
.assign-grid-wrap[b-gm26g89xzf]  .cc-grid.dxbl-grid .dxbl-grid-table > tfoot > tr > td.dxbl-grid-selection-cell {
    padding-left: 12px !important;
    padding-right: 12px !important;
}
/* /Features/DataMappingFeature/DataMappingAssignScopeDialog.razor.rz.scp.css */
/* Pixel-matched to the AI Studio "Assign Mapping Options" prototype (INT-147). CssClass lands on
   .dxbl-popup, which only reaches .dxbl-modal-content by cascading - a plain descendant selector
   reaches it correctly (see dialogs.css's .pt-confirm-delete for the same convention). */
.assign-scope-popup .dxbl-modal-content[b-6t0g3zzi6l] {
    max-width: 512px !important;
    background-color: var(--color-surface) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 16px !important;
    box-shadow: var(--shadow-lg) !important;
    overflow: hidden !important;
}

.assign-scope-header[b-6t0g3zzi6l] {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 20px !important;
    background-color: var(--color-header-footer) !important;
    border-bottom: 1px solid var(--color-border) !important;
}

.assign-scope-title[b-6t0g3zzi6l] {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--color-text-primary) !important;
    margin: 0 !important;
}

.assign-scope-subtitle[b-6t0g3zzi6l] {
    font-size: 12px !important;
    color: var(--color-text-secondary) !important;
    margin: 4px 0 0 !important;
}

.assign-scope-close[b-6t0g3zzi6l] {
    background: none !important;
    border: none !important;
    padding: 6px !important;
    border-radius: 8px !important;
    color: var(--color-text-secondary) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}

    .assign-scope-close:hover[b-6t0g3zzi6l] {
        background-color: var(--color-border-50, var(--color-border)) !important;
        color: var(--color-text-primary) !important;
    }

.assign-scope-options[b-6t0g3zzi6l] {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 24px !important;
    max-height: 70vh !important;
    overflow-y: auto !important;
}

.assign-scope-option[b-6t0g3zzi6l] {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 16px !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    transition: border-color 0.15s ease, background-color 0.15s ease !important;
}

    .assign-scope-option:hover[b-6t0g3zzi6l] {
        border-color: var(--color-brand-light-50) !important;
    }

    .assign-scope-option.selected[b-6t0g3zzi6l] {
        background-color: var(--color-brand-light-5) !important;
        border-color: var(--color-brand-light) !important;
        box-shadow: 0 0 0 1px var(--color-brand-light-20) !important;
    }

.assign-scope-radio[b-6t0g3zzi6l] {
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    border: 1px solid var(--color-border) !important;
    background-color: var(--color-surface) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

.assign-scope-option.selected .assign-scope-radio[b-6t0g3zzi6l] {
    border-color: var(--color-brand-light) !important;
    background-color: var(--color-brand-light) !important;
}

.assign-scope-radio-dot[b-6t0g3zzi6l] {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background-color: #fff !important;
}

.assign-scope-option-title[b-6t0g3zzi6l] {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--color-text-primary) !important;
}

.assign-scope-option-desc[b-6t0g3zzi6l] {
    font-size: 12px !important;
    color: var(--color-text-secondary) !important;
    line-height: 1.5 !important;
    margin: 4px 0 0 !important;
}

.assign-scope-footer[b-6t0g3zzi6l] {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    padding: 16px 24px !important;
    background-color: var(--color-header-footer) !important;
    border-top: 1px solid var(--color-border) !important;
}
/* /Features/DataMappingFeature/DataMappingEditorFlyout.razor.rz.scp.css */
/* Unused - moved to the global site/forms.css (.dm-field/.dm-label/.dm-required/.dm-input),
   matching ConfirmationDialog's fix: scoped ::deep rules reaching this deep into a DxPopup body
   rendered through SimpleEditorFlyout have proven unreliable. Safe to delete this file. */
/* /Features/DataMappingFeature/DataMappingImportFlyout.razor.rz.scp.css */
/* Unused - moved to the global site/forms.css (.dm-field/.dm-label/.dm-required/.dmi-*), matching
   ConfirmationDialog's fix: scoped ::deep rules reaching this deep into a DxPopup body rendered
   through SimpleEditorFlyout have proven unreliable. Safe to delete this file. */
/* /Features/DataMappingFeature/DataMappingsGrid.razor.rz.scp.css */
/* Bold grid headers, matching the Control Center prototype (APS-7730 review). */
[b-46h5odtiia] .data-mapping-grid.dxbl-grid .dxbl-grid-table > thead > tr > th {
    font-weight: var(--font-weight-bold);
}

/* Extra breathing room for the primary/secondary text pairs (Name/Description, person/date).
   pt-primary and pt-small are shared grid.css classes used elsewhere without this need, so the
   margin is added here, scoped to this grid, rather than touching the shared rule. */
[b-46h5odtiia] .data-mapping-grid .pt-primary {
    margin-top: 10px;
}

[b-46h5odtiia] .data-mapping-grid .pt-small {
    margin-top: 10px;
    margin-bottom: 10px;
}

/* Planning Areas badge: icon + count, spaced like the other badge/icon pairings in the app. */
[b-46h5odtiia] .dm-pa-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
/* /Features/DataMappingFeature/DataMappingsPage.razor.rz.scp.css */
/* "Import Configuration" reads bold, matching the Control Center prototype (APS-7730 review). */
[b-2x0cs10uhm] .pt-icon-button.primary {
    font-weight: var(--font-weight-bold);
}

/* Let the search field grow the full width, pushing the Version/Created By filters to the
   container's right edge instead of bunching them up right after the search box. */
[b-2x0cs10uhm] .filter-bar .search-wrap {
    max-width: none;
}

[b-2x0cs10uhm] .filter-bar .search-wrap + .dd-wrap {
    margin-left: auto;
}
/* /Features/ExcelImportFeature/ExcelImportPage.razor.rz.scp.css */
/* Excel Import page.
   Tokens only (var(--color-*), var(--radius-*), var(--text-*)) so the page can ever be themed:
   the :root block in wwwroot/css/site/base.css has no [data-bs-theme=dark] counterpart, and any
   hardcoded colour would be permanently stuck. Bootstrap .card / .btn are deliberately avoided --
   the cerulean theme DOES flip in dark mode, so mixing it with token surfaces yields a
   half-dark page.
   Scoped CSS needs `.parent ::deep .child` to reach child components and DevExpress internals,
   which do not carry this component's scope attribute. */

/* ============================= layout ============================= */

/* minmax(0, 1fr) rather than 1fr is load-bearing: plain `1fr` means `minmax(auto, 1fr)`, and both
   the combo box and the drop zone have a min-content width that would refuse to shrink, pushing
   the 320px rail off-screen with no scrollbar on .page-shell. */
.import-layout[b-s7zvir2hlo] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    align-items: start;
}

.import-main[b-s7zvir2hlo] {
    min-width: 0;
}

@media (max-width: 1199px) {
    .import-layout[b-s7zvir2hlo] {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Stacked: the summary goes above the wizard so the chosen planning area and workbook stay
       visible without scrolling back up. */
    .import-summary[b-s7zvir2hlo] {
        order: -1;
    }
}

/* ============================= stepper =============================
   The .paged-editor-* classes come from wwwroot/css/site/paged-editor.css (global via site.css).
   They are top-level selectors, not nested under a flyout, so they apply on a page as-is. Only
   the alignment differs here -- .import-stepper keeps specificity above the global rule. */

.import-stepper[b-s7zvir2hlo] {
    justify-content: flex-start;
    padding-top: 0;
    margin-bottom: 20px;
}

.import-stepper .paged-editor-page:disabled[b-s7zvir2hlo] {
    cursor: default;
    opacity: 0.6;
}

/* ============================= cards ============================= */

.import-card[b-s7zvir2hlo],
.import-summary[b-s7zvir2hlo] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
    padding: 24px;
}

.import-card[b-s7zvir2hlo] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.import-card-head[b-s7zvir2hlo] {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* The shared `icon-wrap` pill is only styled inside flyout / dialog headers, so page cards need
   their own copy of the treatment. */
.import-card-icon[b-s7zvir2hlo] {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
    border-radius: var(--radius-xl);
    background-color: var(--color-brand-light-10);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

    .import-card-icon .pt-icon[b-s7zvir2hlo] {
        color: var(--color-brand-light);
    }

.import-card-title[b-s7zvir2hlo] {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
}

.import-card-sub[b-s7zvir2hlo] {
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
}

.import-card-foot[b-s7zvir2hlo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid var(--color-border);
}

.import-card-foot-end[b-s7zvir2hlo] {
    justify-content: flex-end;
}

/* ============================= planning area field ============================= */

.import-field[b-s7zvir2hlo] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 480px;
}

.area-select[b-s7zvir2hlo]  .dxbl-combobox {
    width: 100%;
}

/* Shown on step 1 when no planning area has an import database configured. */
.import-empty[b-s7zvir2hlo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 40px 24px;
    text-align: center;
    border: 1px dashed var(--color-border-dark);
    border-radius: var(--radius-lg);
    background: var(--color-background);
}

    .import-empty p[b-s7zvir2hlo] {
        margin: 0;
        max-width: 46ch;
    }

/* ============================= drop zone =============================
   Defined here because the only comparable rules in the app sit in an inline <style> block inside
   Features/UserFeature/UserImport.razor, which applies only while that component renders. */

.drop-zone-wrap[b-s7zvir2hlo] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

    /* Blocks the click target AND the drag target while an import is running. */
    .drop-zone-wrap.is-locked[b-s7zvir2hlo] {
        pointer-events: none;
        opacity: 0.55;
    }

.excel-drop-zone[b-s7zvir2hlo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 220px;
    padding: 24px;
    border: 2px dashed var(--color-border-dark);
    border-radius: var(--radius-lg);
    background: var(--color-background);
    text-align: center;
    transition: border-color var(--default-transition-duration), background-color var(--default-transition-duration);
}

    .excel-drop-zone:hover[b-s7zvir2hlo] {
        border-color: var(--color-brand-light);
    }

    /* Applied by DevExpress via ExternalDropZoneDragOverCssClass. */
    .excel-drop-zone.drop-zone-dragover[b-s7zvir2hlo] {
        border-color: var(--color-brand-light);
        background: var(--color-brand-light-5);
    }

    /* Only the select button may take pointer events, so a drag always lands on the zone itself
       rather than on a label inside it. */
    .excel-drop-zone > *:not(#excelImportSelectButton)[b-s7zvir2hlo] {
        pointer-events: none;
    }

.drop-zone-glyph[b-s7zvir2hlo] {
    color: var(--color-text-secondary);
    margin-bottom: 8px;
}

.drop-zone-primary[b-s7zvir2hlo] {
    font-size: var(--text-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
}

.drop-zone-or[b-s7zvir2hlo] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wider);
}

.drop-zone-hint[b-s7zvir2hlo] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    margin-top: 4px;
}

.drop-zone-button[b-s7zvir2hlo] {
    pointer-events: auto;
    margin-top: 4px;
    padding: 8px 16px;
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-white);
    background: var(--color-brand-light);
    border: 1px solid var(--color-brand-light);
    border-radius: var(--radius-md);
    cursor: pointer;
}

    .drop-zone-button:disabled[b-s7zvir2hlo] {
        opacity: 0.5;
        cursor: not-allowed;
    }

/* DevExpress renders its own file panel under the drop zone; flatten its default surface so it
   does not read as a second card. Cosmetic only -- if the selector misses, the page still works. */
.drop-zone-wrap[b-s7zvir2hlo]  .dxbl-upload-panel {
    background-color: transparent;
}

/* ============================= progress ============================= */

.import-progress[b-s7zvir2hlo] {
    --import-progress-color: var(--color-brand-light);
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-background);
}

    .import-progress.completed[b-s7zvir2hlo] {
        --import-progress-color: var(--color-success);
    }

    .import-progress.failed[b-s7zvir2hlo] {
        --import-progress-color: var(--color-error);
    }

.import-progress-head[b-s7zvir2hlo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.import-progress-label[b-s7zvir2hlo] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
}

.import-progress-value[b-s7zvir2hlo] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
}

.import-progress-track[b-s7zvir2hlo] {
    height: 6px;
    border-radius: var(--radius-full);
    background: var(--color-border);
    overflow: hidden;
}

.import-progress-fill[b-s7zvir2hlo] {
    height: 100%;
    border-radius: inherit;
    background: var(--import-progress-color);
    transition: width 160ms var(--ease-out);
}

/* Transferring to Azure Files gives no byte-level feedback, so animate rather than show a
   stuck 0%. */
.import-progress.transferring .import-progress-fill[b-s7zvir2hlo] {
    width: 30% !important;
    animation: import-indeterminate-b-s7zvir2hlo 1.2s var(--ease-in-out) infinite;
}

@keyframes import-indeterminate-b-s7zvir2hlo {
    0% {
        margin-left: -30%;
    }

    100% {
        margin-left: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .import-progress.transferring .import-progress-fill[b-s7zvir2hlo] {
        animation: none;
        width: 100% !important;
        opacity: 0.4;
    }
}

.import-error-detail[b-s7zvir2hlo] {
    font-size: var(--text-sm);
    color: var(--color-error);
}

    .import-error-detail p[b-s7zvir2hlo] {
        margin: 0;
    }

/* ============================= summary rail ============================= */

.import-summary[b-s7zvir2hlo] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.import-summary-title[b-s7zvir2hlo] {
    margin: 0;
    font-size: var(--text-base);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
}

.import-summary-item[b-s7zvir2hlo] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.import-summary-icon[b-s7zvir2hlo] {
    color: var(--color-text-secondary);
    margin-top: 2px;
    flex: 0 0 auto;
}

.import-summary-body[b-s7zvir2hlo] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.import-summary-key[b-s7zvir2hlo] {
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wider);
}

.import-summary-value[b-s7zvir2hlo] {
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    overflow-wrap: anywhere;
}

    .import-summary-value.is-empty[b-s7zvir2hlo] {
        font-weight: var(--font-weight-base);
        color: var(--color-text-secondary);
        font-style: italic;
    }

.import-summary-meta[b-s7zvir2hlo] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
}

.import-summary-divider[b-s7zvir2hlo] {
    height: 1px;
    background: var(--color-border);
}

.import-summary-note[b-s7zvir2hlo] {
    display: flex;
    gap: 8px;
    padding: 12px;
    border-radius: var(--radius-md);
    background: var(--color-brand-light-5);
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
}

    .import-summary-note .pt-icon[b-s7zvir2hlo] {
        color: var(--color-brand-light);
        flex: 0 0 auto;
    }

/* ============================= import history flyout =============================
   AppFlyout sets .app-flyout__body { padding: 0 } and its <aside> does not carry this page's
   scope id, so ::deep cannot reach it -- the content supplies its own padding instead. */

.history-flyout[b-s7zvir2hlo] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px;
}

.history-item[b-s7zvir2hlo] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
}

.history-item-top[b-s7zvir2hlo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
}

.history-item-date[b-s7zvir2hlo] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    font-style: italic;
    flex: 0 0 auto;
}

.history-item-meta[b-s7zvir2hlo] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
}

.history-item-txn[b-s7zvir2hlo] {
    font-family: var(--font-mono);
    overflow-wrap: anywhere;
}

.history-item-status[b-s7zvir2hlo] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--text-sm);
    margin-top: 4px;
}

.history-file-link[b-s7zvir2hlo] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-brand-light);
}

    .history-file-link:hover[b-s7zvir2hlo] {
        text-decoration: underline;
    }

.history-file-plain[b-s7zvir2hlo] {
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    min-width: 0;
}

.history-empty[b-s7zvir2hlo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 48px 24px;
    text-align: center;
}

    .history-empty p[b-s7zvir2hlo] {
        margin: 0;
    }

.history-truncated[b-s7zvir2hlo] {
    text-align: center;
    margin: 8px 0 0;
}
/* /Features/GlobalSearchFeature/GlobalSearchBox.razor.rz.scp.css */
/* Scoped to GlobalSearchBox: the input and its menu live here, so the two hosts' variant rules do
   too - a host's own scoped CSS no longer decorates markup this component renders. Each host keeps
   only its outer wrapper (.hero-search, .app-header__search). */

/* =====> Hero variant - the dashboard's Quick Action bar */

.search-box__hero[b-zy8b2iklkg] {
    position: relative;
    display: flex;
    align-items: stretch;
    width: 100%;
}

    .search-box__hero .search-box__input[b-zy8b2iklkg] {
        width: 100%;
        color: var(--color-text-primary);
        background-color: var(--color-surface);
        border: 1px solid var(--color-border);
        /* Right padding clears both the search button (48px) and the clear button (40px). */
        padding: 20px 104px 20px 32px;
        font-size: var(--text-xl);
        border-radius: var(--radius-2xl);
        outline: none;
        box-shadow: var(--shadow-lg);
        transition: border-color 0.3s ease, box-shadow 0.3s ease;
    }

        .search-box__hero .search-box__input[b-zy8b2iklkg]::placeholder {
            color: var(--color-text-secondary);
        }

        .search-box__hero .search-box__input:focus[b-zy8b2iklkg] {
            border-color: var(--color-brand-light);
            box-shadow: 0 0 0 2px var(--color-brand-light-50), var(--shadow-lg);
        }

    /* Overrides the base .search-box__button vertical centering with a full-height fill. */
    .search-box__hero .search-box__button[b-zy8b2iklkg] {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        transform: none;
        width: 48px;
        height: auto;
        padding: 0;
        border: none;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: var(--color-brand-light);
        color: var(--color-white);
        /* Matches the input's corner so the overlay nests instead of poking out. */
        border-radius: 0 var(--radius-2xl) var(--radius-2xl) 0;
        transition: background-color 0.15s ease;
    }

        .search-box__hero .search-box__button:hover[b-zy8b2iklkg] {
            background-color: var(--color-brand-dark);
            color: var(--color-white);
        }

    .search-box__hero .search-box__clear[b-zy8b2iklkg] {
        position: absolute;
        top: 0;
        right: 48px;
        bottom: 0;
        transform: none;
        width: 40px;
        height: auto;
        padding: 0;
        border: none;
        background: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--color-text-secondary);
    }

/* =====> Header variant - the compact bar shown on every page but the dashboard */

.search-box--header[b-zy8b2iklkg] {
    max-width: var(--container-2xl);
}

    .search-box--header .search-box__input[b-zy8b2iklkg] {
        width: 100%;
        color: var(--color-gray-900);
        background-color: var(--color-gray-100);
        padding: 8px 72px 8px 16px;
        font-size: var(--text-sm);
        border-radius: 8px;
        border: none;
        outline: none;
    }

        .search-box--header .search-box__input[b-zy8b2iklkg]::placeholder {
            color: var(--color-gray-500);
        }

    .search-box--header .search-box__button[b-zy8b2iklkg] {
        position: absolute;
        top: 50%;
        right: 0px;
        transform: translateY(-50%);
        width: 40px;
        height: 36px;
        padding: 0;
        border: none;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: var(--color-gray-200);
        color: var(--color-gray-500);
        /* Matches the input's corner, as the .rounded-right-lg utility used to from the markup. */
        border-start-end-radius: var(--radius-lg);
        border-end-end-radius: var(--radius-lg);
    }

        /* Scoped to the header variant: written bare it would also repaint the hero button. */
        .search-box--header .search-box__button:hover[b-zy8b2iklkg] {
            background: var(--color-gray-300);
            color: var(--color-gray-700);
        }

    .search-box--header .search-box__clear[b-zy8b2iklkg] {
        top: 50%;
        transform: translateY(-50%);
        width: 32px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

/* =====> Results menu - shared by both variants */

/* Anchors to .search-box, which is already position:relative in components.css. */
.search-results[b-zy8b2iklkg] {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background-color: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    max-height: 420px;
    overflow-y: auto;
    padding: 4px;
    /* Matches .header-dropdown so the menu clears the header it may hang out of. */
    z-index: 1002;
}

.search-results__group[b-zy8b2iklkg] {
    margin: 4px 0 2px;
    padding: 4px 12px;
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

    /* No leading gap on the first heading; the menu's own padding covers it. */
    .search-results__group:first-child[b-zy8b2iklkg] {
        margin-top: 0;
    }

.search-result[b-zy8b2iklkg] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 12px;
    border-radius: var(--radius-md);
    text-decoration: none;
    color: var(--color-text-primary);
}

    .search-result:hover[b-zy8b2iklkg],
    .search-result--highlighted[b-zy8b2iklkg] {
        background-color: var(--color-surface-hover);
        text-decoration: none;
        color: var(--color-text-primary);
    }

.search-result__icon[b-zy8b2iklkg] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 24px;
    padding-top: 2px;
    color: var(--color-text-secondary);
}

.search-result__body[b-zy8b2iklkg] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.search-result__heading[b-zy8b2iklkg] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
}

.search-result__title[b-zy8b2iklkg] {
    font-size: var(--text-base);
    font-weight: 600;
    white-space: nowrap;
}

.search-result__badge[b-zy8b2iklkg] {
    flex: 0 0 auto;
    padding: 1px 6px;
    border-radius: var(--radius-sm);
    background-color: var(--color-surface-hover);
    border: 1px solid var(--color-border);
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.search-result__section[b-zy8b2iklkg] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    white-space: nowrap;
}

.search-result__desc[b-zy8b2iklkg] {
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
    /* One line: a result row is a signpost, not the page's documentation. */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.search-results__empty[b-zy8b2iklkg] {
    margin: 0;
    padding: 12px;
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
}

/* Header defines its own copy, but that one is scoped to Header and cannot reach this menu. */
.menu-backdrop[b-zy8b2iklkg] {
    position: fixed;
    inset: 0;
    z-index: 900;
    background: transparent;
}
/* /Features/PermissionFeature/RoleGrantViewer.razor.rz.scp.css */
.role-viewer[b-nmtox7y5i4] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.overview-text[b-nmtox7y5i4] {
    color: var(--color-text-primary);
    font-weight: var(--font-weight-bold);
    font-size: var(--text-sm);
    margin-left: 12px;
    letter-spacing: var(--spacing-tight);
}
.app-feature-list[b-nmtox7y5i4] {
    /*margin: 8px;*/
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}
.feature-display[b-nmtox7y5i4] {
    display: flex;
    flex-direction: column;
    width: 100%;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 16px;
    gap: 4px;
}
.feature-item-info[b-nmtox7y5i4] {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
}
.no-borders[b-nmtox7y5i4] {
    border: none !important;
}
.lighter-border[b-nmtox7y5i4] {
    border: 1px solid var(--color-brand-light-20)
}
.feature-target-text[b-nmtox7y5i4] {
    color: var(--color-text-secondary);
    font-weight: var(--font-weight-semibold);
    font-size: 12px;
    letter-spacing: var(--spacing-tight);
}
/* /Features/PlanningAreaFeature/PlanningAreaCreateFlyout.razor.rz.scp.css */
section.form[b-n5fun0o5l8] {
    border: 1px solid var(--color-border);
    padding: 24px;
    border-radius: var(--radius-2xl);
}
/* /Features/PlanningAreaFeature/PlanningAreaEditorFlyout.razor.rz.scp.css */
/* form item spacing */
[b-p3z9xr8l7m] .dxbl-fl {
    --dxbl-fl-item-spacing-y: 20px; /* whatever value you want */
    --dxbl-fl-item-spacing-x: 24px; /* whatever value you want */
}
/* form group spacing */
    [b-p3z9xr8l7m] .dxbl-fl .dxbl-fl-gd,
    [b-p3z9xr8l7m] .dxbl-fl .dxbl-fl-gt {
        margin-top: calc(var(--dxbl-fl-group-spacing-y) * .75);
        margin-bottom: calc(var(--dxbl-fl-group-spacing-y) * .75);
    }
/* form top and bottom spacing (stadard setting was cutting off first group border */
[b-p3z9xr8l7m] .dxbl-row {
    margin-top: -8px;
    margin-bottom: 0px;
}

    [b-p3z9xr8l7m] .dxbl-row .dxbl-fl-item.use-server-settings {
        margin: 0px 0px 12px !important;
        border-bottom: 1px solid var(--color-border) !important;
        padding: 10px 12px 16px !important;
    }

.rp-dot[b-p3z9xr8l7m] {
    margin: 0 2px;
}
/* /Features/PlanningAreaFeature/PlanningAreaSelector.razor.rz.scp.css */
.paged-editor-body .planning-area-selector[b-5ssshn0sql] {
    background-color: var(--color-background);
}
.planning-area-selector[b-5ssshn0sql] {
    padding-top: 16px;
    height: 100%;
    width: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* Planning Area Selector*/
.location-card-container[b-5ssshn0sql] {
    height: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
    padding: 6px 6px 6px 0px;
}

    .location-card-container .location-card[b-5ssshn0sql] {
        padding: 0;
        background-color: var(--color-surface);
        border-radius: var(--radius-lg);
        border: 1px solid var(--color-border);
    }

.location-card-header[b-5ssshn0sql] {
    font-size: var(--text-sm);
    font-weight: var(--font-weight-bold);
    padding: 6px 12px;
    background-color: var(--color-border);
    border-bottom: 1px solid var(--color-border);
    width: 100%;
}

.location-card-title[b-5ssshn0sql] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.location-card-details[b-5ssshn0sql] {
    padding: 10px 0;
}

.planning-area-item[b-5ssshn0sql] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 2px 32px 2px 40px;
    font-size: var(--text-smaller);
}
.planning-area-item.selected[b-5ssshn0sql] {
    background-color: var(--color-brand-light-10);
}
    .planning-area-item .pa-check-box[b-5ssshn0sql] {
        width: 16px !important;
        height: 16px !important;
        border: 2px solid var(--color-gray-300);
        border-radius: 25%;
    }
    .planning-area-item.selected .pa-check-box[b-5ssshn0sql] {
        background-color: var(--color-brand-light);
        color: var(--color-white);
    }

/*.env-name {
    flex: 1;
}*/

.planning-toolbar[b-5ssshn0sql] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 10px;
}

.planning-search-box[b-5ssshn0sql] {
    width: 100%;
}

.planning-filter-buttons[b-5ssshn0sql] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 6px 6px 6px 0px;
}

[b-5ssshn0sql] .filter-btn {
    border-radius: 999px !important;
    padding: 4px 14px !important;
    border: 1px solid var(--bs-border-color) !important;
    color: var(--bs-color);
    background-color: var(--color-surface) !important;
}
[b-5ssshn0sql] .filter-btn:hover{
    color: var(--color-text-primary) !important;
}
    [b-5ssshn0sql] .filter-btn.active {
        border-color: var(--bs-primary) !important;
        color: var(--bs-primary) !important;
        font-weight: 600;
    }

.clear-btn[b-5ssshn0sql] {
    border-color: var(--color-border) !important;
}

.env-type-badge[b-5ssshn0sql] {
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 600;
}
.badge-prod[b-5ssshn0sql] {
    background-color: var(--color-emerald-50);
    color: var(--color-emerald-800);
}

.badge-qa[b-5ssshn0sql] {
    background-color: var(--color-yellow-50);
    color: var(--color-yellow-900);
}

.badge-dev[b-5ssshn0sql] {
    background-color: var(--color-background);
    color: var(--color-text-secondary);
}
/* /Features/PlanningAreaFeature/RestoreFlyout.razor.rz.scp.css */
.restore-layout[b-bmgxmy4kck] {
    padding: 1.5rem;
}
.restore-select[b-bmgxmy4kck] {
/*    padding: 1.5rem;
*/    display: flex;
    flex-direction: column;
    gap: 8px;
}

.disclaimer[b-bmgxmy4kck] {
    padding: 1rem;
    border: 1px solid var(--color-amber-200);
    background: var(--color-amber-50);
    color: var(--color-amber-800);
    border-radius: var(--radius-lg);
}

.rp-list[b-bmgxmy4kck] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rp-card[b-bmgxmy4kck] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
/*    border: 1px solid var(--color-border);*/
    border-radius: var(--radius-2xl);
    background: var(--color-surface);
    cursor: pointer;
    transition: border-color 0.15s var(--ease-in-out), background-color 0.15s var(--ease-in-out);
}

    .rp-card:hover[b-bmgxmy4kck] {
        border-color: var(--color-border-dark);
    }

    .rp-card.selected[b-bmgxmy4kck] {
        border: 1px solid var(--color-brand-light);
        background: var(--color-brand-light-5);
    }

.rp-info[b-bmgxmy4kck] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: var(--text-sm);
}

.rp-date[b-bmgxmy4kck] {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--color-text-primary);
}

.rp-icon[b-bmgxmy4kck] {
    width: 15px;
    height: 15px;
    color: var(--color-text-secondary);
    flex-shrink: 0;
}

.rp-meta[b-bmgxmy4kck] {
 /*   margin-left: 21px; *//* aligns under the date text, past the icon */
}

.rp-dot[b-bmgxmy4kck] {
    margin: 0 2px;
}

.rp-indicator[b-bmgxmy4kck] {
    width: 20px;
    height: 20px;
    border-radius: var(--radius-full);
    border: 2px solid var(--color-border-dark);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.15s var(--ease-in-out), background-color 0.15s var(--ease-in-out);
}

    .rp-indicator .pt-icon[b-bmgxmy4kck] {
        color: var(--color-surface);
    }

.rp-card:not(.selected):hover .rp-indicator[b-bmgxmy4kck] {
    border-color: var(--color-brand-light);
}

.rp-indicator.checked[b-bmgxmy4kck] {
    background: var(--color-brand-light);
    border-color: var(--color-brand-light);
}

.rp-disclaimer[b-bmgxmy4kck] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 14px;
    margin-top: 4px;
    background: var(--color-amber-50);
    border: 1px solid var(--color-amber-200);
    border-radius: var(--radius-lg);
    color: var(--color-amber-900);
}

.rp-disclaimer-icon[b-bmgxmy4kck] {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--color-amber-600);
}
/* /Features/PlanningAreaFeature/UpgradeFlyout.razor.rz.scp.css */
.upgrade-layout[b-nkjang0it6] {
    padding: 1.5rem;
}
.version-select[b-nkjang0it6] {
    padding: 1.5rem;
    border: 2px solid var(--color-border);
    border-radius: var(--radius-xl);
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}
.disclaimer[b-nkjang0it6] {
    padding: 1rem;
    border: 1px solid var(--color-amber-200);
    background: var(--color-amber-50);
    color: var(--color-amber-800);
    border-radius: var(--radius-lg);
}

[b-nkjang0it6] .dxbl-fl {
    --dxbl-fl-item-spacing-y: 24px; /* whatever value you want */
}
/* /Features/RebrandFeedback/FeedbackFlyout.razor.rz.scp.css */
.feedback-flyout[b-6jogu1dqqc] {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px;
}

.feedback-section[b-6jogu1dqqc] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.feedback-label[b-6jogu1dqqc] {
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
}

.star-rating[b-6jogu1dqqc] {
    display: flex;
    gap: 8px;
    justify-content: center;
}

.star-button[b-6jogu1dqqc] {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-gray-100);
    color: var(--color-gray-400);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

    .star-button:hover[b-6jogu1dqqc],
    .star-button.selected[b-6jogu1dqqc] {
        background: var(--color-amber-100);
        color: var(--color-amber-500);
        transform: translateY(-1px);
    }

.feedback-comments[b-6jogu1dqqc] {
    min-height: 140px;
    resize: vertical;
    padding: 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    font: inherit;
    color: var(--color-text-primary);
    background: var(--color-surface);
}

    .feedback-comments:focus[b-6jogu1dqqc] {
        outline: none;
        border-color: var(--color-brand-light);
        box-shadow: 0 0 0 2px var(--color-brand-light-20);
    }

.feedback-actions[b-6jogu1dqqc] {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}
/* /Features/RoleFeature/RoleDetailsOverlay.razor.rz.scp.css */
.app-features-container[b-okjfnceg6x] {
    border-top: 1px ridge var(--color-border);
    padding: 32px;
}

.tab-container-tabs[b-okjfnceg6x] {
    padding-top: 16px;
}
/* /Features/RoleFeature/RoleSelector.razor.rz.scp.css */
[b-3krap1yaqz] .inherit-badge {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 4px;
    max-width: 75px;
    border: none;
    line-height: 1.3;
}
/* /Features/ScopeFeature/ScopeEditorFlyout.razor.rz.scp.css */
section.form[b-nigbdekjpw]{
    margin-top: 32px;
    margin-bottom: 16px;
    padding: 0px 32px;
}
section.selector[b-nigbdekjpw]{
    margin-top: 16px;
    margin-bottom: 0px;
    background-color: var(--color-background);
    padding: 0px 32px 16px;
    border-top: 1px solid var(--color-border);
}
/* /Features/ServerManager/ChooseCertificateFlyout.razor.rz.scp.css */

section[b-8adza5rq9q] {
    margin-bottom: 24px;
}

    section h3[b-8adza5rq9q] {
        margin-bottom: 4px;
        color: var(--color-text-secondary);
    }

.search-box .search-box__input[b-8adza5rq9q] {
    width: 100%;
    color: var(--color-gray-700);
    background-color: var(--color-gray-100);
    padding: 12px;
    padding-left: 40px;
    font-size: var(--text-sm);
    border-radius: 12px;
    border: none;
    outline: none;
    border: 1px solid var(--color-border);
    transition: border 0.15s ease;
}

    .search-box .search-box__input:focus[b-8adza5rq9q] {
        border: 2px solid var(--color-brand-light-20);
    }

.search-box__input[b-8adza5rq9q]::placeholder {
    color: var(--color-gray-500);
}

.search-box__button[b-8adza5rq9q] {
    transform: translateY(-50%);
    background-color: transparent;
    width: 40px;
    height: 36px;
    padding: 0;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gray-500);
    cursor: text;
}

.search-box__clear[b-8adza5rq9q] {
    right: 4px;
    top: 12px;
}

.company-switcher-layout[b-8adza5rq9q] {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 16px;
}

.company-switcher-list-section[b-8adza5rq9q] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.company-switcher-list[b-8adza5rq9q] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}
/* /Features/ServerManager/ServerPADefaultsFlyout.razor.rz.scp.css */
/* automatic update schedule controls */
[b-s9fhkn2t68] .update-section-heading {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--color-border);
    font-size: var(--text-base);
    font-weight: 700;
    color: var(--color-text);
    padding-bottom: 2px;
}

.time-picker-row[b-s9fhkn2t68] {
    display: flex;
    align-items: flex-end;
    gap: 16px;
}

.time-picker-field[b-s9fhkn2t68] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 140px;
}

.time-picker-label[b-s9fhkn2t68] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    font-weight: 500;
}


.day-toggle-group[b-s9fhkn2t68] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.day-toggle[b-s9fhkn2t68] {
    padding: 5px 14px;
    border-radius: 9999px;
    border: none;
    background: transparent;
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    line-height: 1.4;
}

    .day-toggle:hover[b-s9fhkn2t68] {
        color: var(--color-brand-light);
    }

    .day-toggle.active[b-s9fhkn2t68] {
        background: var(--color-brand-light);
        color: #fff;
        font-weight: 600;
    }

.schedule-summary-card[b-s9fhkn2t68] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px;
    border-radius: var(--radius-lg);
    background: var(--color-surface-alt, var(--color-gray-50));
    border: 1px solid var(--color-border);
}

.schedule-summary-title[b-s9fhkn2t68] {
    display: flex;
    flex-direction: column;
    font-size: var(--text-sm);
}

/* /Features/ServerManager/ServerSettingsEditorFlyout.razor.rz.scp.css */
/* automatic update schedule controls */
[b-2d9zh9a5ez] .update-section-heading {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--color-border);
    font-size: var(--text-base);
    font-weight: 700;
    color: var(--color-text);
    padding-bottom: 2px;
}

.time-picker-row[b-2d9zh9a5ez] {
    display: flex;
    align-items: flex-end;
    gap: 16px;
}

.time-picker-field[b-2d9zh9a5ez] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 140px;
}

.time-picker-label[b-2d9zh9a5ez] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
    font-weight: 500;
}


.day-toggle-group[b-2d9zh9a5ez] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.day-toggle[b-2d9zh9a5ez] {
    padding: 5px 14px;
    border-radius: 9999px;
    border: none;
    background: transparent;
    color: var(--color-text-secondary);
    font-size: var(--text-xs);
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    line-height: 1.4;
}

    .day-toggle:hover[b-2d9zh9a5ez] {
        color: var(--color-brand-light);
    }

    .day-toggle.active[b-2d9zh9a5ez] {
        background: var(--color-brand-light);
        color: #fff;
        font-weight: 600;
    }

.schedule-summary-card[b-2d9zh9a5ez] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 16px;
    border-radius: var(--radius-lg);
    background: var(--color-surface-alt, var(--color-gray-50));
    border: 1px solid var(--color-border);
}

.schedule-summary-title[b-2d9zh9a5ez] {
    display: flex;
    flex-direction: column;
    font-size: var(--text-sm);
}

/* /Features/TeamFeature/BasicTeamGrid.razor.rz.scp.css */

.team-card-container[b-1dtg6ualdi] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

    .team-card-container .team-card[b-1dtg6ualdi] {
        display: flex;
        flex-direction: column;
        padding: 8px 12px;
        background-color: var(--color-background);
        border-radius: 6px;
        border: 1px solid var(--color-border);
    }
    [b-1dtg6ualdi] .team-name {
        font-size: 13px;
        color: var(--color-text-primary);
        font-weight: 600;
    }
/* /Features/TeamFeature/TeamDetailsOverlay.razor.rz.scp.css */
.app-features-container[b-7bfgdmm769] {
    border-top: 1px ridge var(--color-border);
    padding: 32px;
}

.tab-container-tabs[b-7bfgdmm769] {
    padding-top: 16px;
}
/* /Features/TeamFeature/TeamEditorFlyout.razor.rz.scp.css */
[b-yc1kji3ey3] .team-review-users-card-header {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.team-review-users-card-content[b-yc1kji3ey3] {
    padding: 12px;
}
.member-accordion[b-yc1kji3ey3] {
    padding-bottom: 0px !important;
    margin-bottom: 0px !important;
}
.member-review-text[b-yc1kji3ey3] {
    font-size: 14px;
    margin-bottom: 0px;
    font-weight: 700;
    color: var(--color-primary);
}

/* for role view flyout */
.app-features-container[b-yc1kji3ey3] {
    border-top: 1px ridge var(--color-border);
    padding: 32px;
}

.tab-container-tabs[b-yc1kji3ey3] {
    padding-top: 16px;
}

[b-yc1kji3ey3] .paged-editor-body .dxbl-row {
    height: 100%;
    flex: 1 1 auto;
    min-height: 0;
}

/* /Features/TeamFeature/TeamMemberEditor.razor.rz.scp.css */
.member-assign[b-ji99i4xsul] {
    padding: 32px 12px 0px;
    min-height: 0;
    height: 100%;
    /* max-height: 425px; */
    font-size: .9rem;
}

    .member-assign[b-ji99i4xsul]  .member-grid.cc-grid.dxbl-grid {
        border-radius: 8px;
        height: 100%;
    }
    .member-assign[b-ji99i4xsul]  .member-grid.cc-grid .dxbl-grid-table {
        height: auto !important;
    }
.move-buttons[b-ji99i4xsul] {
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: center;
    align-items: center;
    padding: 0 12px;
}

.round[b-ji99i4xsul] {
    border-radius: 9999px;
}
/*::deep .cc-grid.member-grid.dxbl-grid > .dxbl-grid-toolbar-container {
    background-color: var(--color-header-footer);
    --dxbl-grid-toolbar-container-min-height: 42px !important;

}*/

[b-ji99i4xsul] .member-grid .dxbl-grid-selected-row > td {
    background-color: var(--color-brand-light-10) !important;
    opacity: 1 !important;
}

[b-ji99i4xsul] .member-grid .dxbl-grid-selected-row * {
    opacity: 1 !important;
}
[b-ji99i4xsul] .member-grid.cc-grid.dxbl-grid .dxbl-grid-table tbody tr {
    height: 48px !important;
    max-height: 48px !important;
}

[b-ji99i4xsul] .member-grid.cc-grid.dxbl-grid .dxbl-grid-table > thead > tr.dxbl-grid-header-row {
    display: none;
}

[b-ji99i4xsul] .member-grid.cc-grid.dxbl-grid .dxbl-grid-table > thead > tr.dxbl-grid-filter-row {
    background-color: var(--color-background);
    padding: 9px;
    height: 36px;
}

    [b-ji99i4xsul] .member-grid.cc-grid.dxbl-grid .dxbl-grid-table > thead > tr.dxbl-grid-filter-row .dxbl-text-edit {
        font-size: .75rem;
        color: var(--color-text-secondary);
        background-color: var(--color-surface);
        margin: 0px 4px;
    }

[b-ji99i4xsul] .filter-edit {
    margin: 0px 4px 0px 0px !important;
}

[b-ji99i4xsul] .member-grid.cc-grid.dxbl-grid .dxbl-grid-table > tbody > tr > td:first-child,
[b-ji99i4xsul] .member-grid.cc-grid.dxbl-grid .dxbl-grid-table > thead > tr > th:first-child,
[b-ji99i4xsul] .member-grid.cc-grid.dxbl-grid .dxbl-grid-table > tfoot > tr > td:first-child {
    padding-left: 6px !important;
}

[b-ji99i4xsul] .user-toolbar {
    font-size: var(--text-sm);
}
[b-ji99i4xsul] .user-toolbar .dxbl-toolbar-item-tmpl{
    display: flex;
    align-items: center;
}
[b-ji99i4xsul] .count-button {
    width: 28px;
    height: 28px;
    color: var(--color-brand-light);
    background-color: var(--color-brand-light-20);
    font-weight: var(--font-weight-bold);
    font-size: var(--text-sm);
    border-radius: 50%;
    text-align: center;
    line-height: 28px;
    display: block;
}

[b-ji99i4xsul] .add-button, 
[b-ji99i4xsul] .del-button {
    background-color: var(--color-brand-light);
    color: var(--color-white);
    border: none;
    height: 40px;
    border-radius: 9999px !important;
    width: 40px;
}

    [b-ji99i4xsul] .add-button:disabled,
    [b-ji99i4xsul] .del-button:disabled {
        background-color: var(--color-surface);
        color: var(--color-text-secondary);
    }
/* /Features/UserFeature/AdminUsers/AdminUserEditorFlyout.razor.rz.scp.css */
/* CSS for UserEditorFlyout component */
.flyout-viewer-container[b-aoq90fe0dp] {
    border-top: 1px ridge var(--color-border);
    padding: 32px;
}

.tab-container-tabs[b-aoq90fe0dp] {
    padding-top: 16px;
}
/* /Features/UserFeature/BasicUserGrid.razor.rz.scp.css */
.user-card-container[b-21szjyzm8v] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}

    .user-card-container .user-card[b-21szjyzm8v] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 8px 12px;
        background-color: var(--color-background);
        border-radius: 6px;
        border: 1px solid var(--color-border);
    }

[b-21szjyzm8v] .name-container {
    display: flex;
    align-items: center;
    gap: 8px;
}

    [b-21szjyzm8v] .name-container .user-initials {
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background-color: var(--color-brand-light);
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 10px;
        line-height: 0.8;
        font-weight: 600;
    }

    [b-21szjyzm8v] .name-container .user-name {
        font-size: 13px;
        color: var(--color-text-primary);
        font-weight: 600;
    }
[b-21szjyzm8v] .del-btn {
    border:none;
    border-radius: 50% !important;
    background-color: inherit;
    color: var(--color-error);
}
/* /Features/UserFeature/CompanyUsers/UserEditorFlyout.razor.rz.scp.css */
/* CSS for UserEditorFlyout component */
.flyout-viewer-container[b-8aos08y29s] {
    border-top: 1px ridge var(--color-border);
    padding: 32px;
}

.tab-container-tabs[b-8aos08y29s] {
    padding-top: 16px;
}
/* /Features/UserFeature/UserImport.razor.rz.scp.css */
/* CSS for UserImport component */
.import-dialog[b-uankv6q50j] {
    border-radius: var(--radius-2xl);
}

    .import-dialog .dxbl-modal-content[b-uankv6q50j] {
        border-radius: var(--radius-2xl);
    }
/* /Features/UserFeature/UserProfile/DesktopPreferencesFlyout.razor.rz.scp.css */
.pref-sections[b-eemm7hz7jt] {
    width: 100%;
}

.pref-group-caption[b-eemm7hz7jt] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--text-sm);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--tracking-wider);
    color: var(--color-text-primary);
}

    .pref-group-caption .pt-icon[b-eemm7hz7jt] {
        color: var(--color-brand-light);
    }

[b-eemm7hz7jt] .pref-group {
    border: 1px solid var(--color-border);
    border-radius: 8px;
    margin-bottom: 16px;
    padding: 4px 8px 12px;
}

[b-eemm7hz7jt] .unavailable {
    opacity: 0.65;
}
/* /Features/UserFeature/UserProfile/DesktopPreferenceToggle.razor.rz.scp.css */
.pref-toggle[b-1gmbpgg2sg] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pref-toggle-caption[b-1gmbpgg2sg] {
    font-size: var(--text-13, 13px);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
}

.pref-toggle.unavailable .pref-toggle-caption[b-1gmbpgg2sg] {
    color: var(--color-text-secondary);
}
/* /Features/UserFeature/UserProfile/ProfileDetailPopup.razor.rz.scp.css */
.profile-detail-body[b-7vaisj9t1p] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px;
}

.profile-detail-row[b-7vaisj9t1p] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    font-size: var(--text-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
}

.profile-detail-dot[b-7vaisj9t1p] {
    width: 6px;
    height: 6px;
    border-radius: var(--radius-full);
    background-color: var(--color-brand-light);
    flex: 0 0 auto;
}
/* /Features/UserFeature/UserProfile/ProfileStat.razor.rz.scp.css */
.profile-stat[b-46fxffambg] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0;
    border: none;
    background: transparent;
    text-align: left;
}

.profile-stat.clickable[b-46fxffambg] {
    cursor: pointer;
}

.profile-stat-label[b-46fxffambg] {
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
}

.profile-stat-value[b-46fxffambg] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--text-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
}

    .profile-stat-value .pt-icon[b-46fxffambg] {
        color: var(--color-text-secondary);
    }

.profile-stat.clickable:hover .profile-stat-value[b-46fxffambg] {
    color: var(--color-brand-light);
}

    .profile-stat.clickable:hover .profile-stat-value .pt-icon[b-46fxffambg] {
        color: var(--color-brand-light);
    }
/* /Pages/Index.razor.rz.scp.css */
.hero-search[b-ajprizhmaw] {
    width: 100%;
    /* Prototype max-w-4xl; no --container-4xl token exists. */
    max-width: 56rem;
}

/* The search box itself, and its results menu, are styled by
   Features/GlobalSearchFeature/GlobalSearchBox.razor.css - scoped CSS only decorates the
   markup of the component that renders it. */
/* /Pages/LandingPage.razor.rz.scp.css */
.landing-header[b-lmehm24umi]{
    margin-bottom: 36px;
}

.landing-actions[b-lmehm24umi] {
    display: grid;
    /*grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));*/
    grid-template-columns: repeat(var(--grid-cols, 3), minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 36px;
}
[b-lmehm24umi] .landing-actions .action-card,
[b-lmehm24umi] .landing-kpis .kpi-card{
    color: inherit;
    text-decoration: none;
}
.landing-kpis[b-lmehm24umi] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin-bottom: 36px;
}
/* /Pages/Profile.razor.rz.scp.css */
.page-content[b-41xm81kr1u] {
    display: block;
}

.profile-header-actions[b-41xm81kr1u] {
    display: flex;
    gap: 8px;
}

[b-41xm81kr1u] .profile-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: var(--font-weight-semibold);
    border: 1px solid var(--color-border);
    border-radius: 6px;
    background-color: var(--color-surface);
    color: var(--color-text-primary);
    cursor: pointer;
}

    [b-41xm81kr1u] .profile-action .pt-icon {
        color: var(--color-brand-light);
    }

    [b-41xm81kr1u] .profile-action:hover {
        background-color: var(--color-surface-hover);
    }

[b-41xm81kr1u] .profile-action.primary {
    background-color: var(--color-brand-light);
    border-color: var(--color-brand-light);
    color: var(--color-white);
}

    [b-41xm81kr1u] .profile-action.primary .pt-icon,
    [b-41xm81kr1u] .profile-action.primary:hover .pt-icon {
        color: var(--color-white);
    }

    [b-41xm81kr1u] .profile-action.primary:hover {
        background-color: var(--color-brand-dark);
    }

.profile-identity[b-41xm81kr1u] {
    display: flex;
    align-items: center;
    gap: 32px;
}

.profile-avatar-wrap[b-41xm81kr1u] {
    position: relative;
    flex: 0 0 auto;
}

.profile-avatar[b-41xm81kr1u] {
    width: 120px;
    height: 120px;
    border-radius: var(--radius-full);
    border: 1px solid var(--color-border);
    background-color: var(--color-surface);
    object-fit: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}

.profile-avatar-initials[b-41xm81kr1u] {
    font-size: var(--text-3xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-brand-light);
}

.profile-identity-text[b-41xm81kr1u] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.profile-name-row[b-41xm81kr1u] {
    display: flex;
    align-items: baseline;
    gap: 16px;
}

.profile-name[b-41xm81kr1u] {
    margin: 0;
    font-size: var(--text-3xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
}

.profile-user-type[b-41xm81kr1u] {
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-brand-light);
}

.profile-email[b-41xm81kr1u] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-text-secondary);
}

    .profile-email a[b-41xm81kr1u] {
        color: var(--color-text-secondary);
        text-decoration: none;
    }

    .profile-email a:hover[b-41xm81kr1u] {
        text-decoration: underline;
    }

.profile-stats[b-41xm81kr1u] {
    display: flex;
    flex-wrap: wrap;
    gap: 48px;
    width: 100%;
}

.lighter-badge[b-41xm81kr1u] {
    font-size: var(--text-xs);
    font-weight: 400 !important;
}

.profile-footer[b-41xm81kr1u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 0 8px;
    font-size: var(--text-xs);
    color: var(--color-text-secondary);
}
/* /Pages/UnderConstruction.razor.rz.scp.css */
.stage *[b-p0417efqfj] {
    box-sizing: border-box;
}

.stage[b-p0417efqfj] {
/*    position: relative;
*/    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
    pointer-events: none;
}

.uc-card[b-p0417efqfj] {
    width: min(480px, 100%);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: 44px 40px 36px;
    text-align: center;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

    .uc-card .icon[b-p0417efqfj] {
        width: 56px;
        height: 56px;
        margin: 0 auto 22px;
        background: color-mix(in srgb, var(--color-brand-light) 10%, transparent);
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
.uc-card .icon .pt-icon[b-p0417efqfj] {
    width: 24px;
    height: 24px;
    color: var(--color-brand-light);
}

h1[b-p0417efqfj] {
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 8px;
}

p.sub[b-p0417efqfj] {
    font-size: 14px;
    line-height: 1.6;
    color: var(--color-text-secondary);
    margin: 0 0 28px;
    max-width: 360px;
    margin-inline: auto;
}

.uc-progress-track[b-p0417efqfj] {
    height: 6px;
    background: var(--color-border);
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 10px;
}

.uc-progress-fill[b-p0417efqfj] {
    height: 100%;
    width: 40%;
    background: var(--color-brand-light);
    border-radius: 999px;
    animation: ucpg-slide-b-p0417efqfj 3.6s ease-in-out infinite;
}

@keyframes ucpg-slide-b-p0417efqfj {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(285%);
    }
}

.uc-status[b-p0417efqfj] {
    font-size: 12px;
    color: var(--color-text-secondary);
    letter-spacing: 0.02em;
}

@media (prefers-reduced-motion: reduce) {
    .uc-progress-fill[b-p0417efqfj] {
        animation: none;
        transform: translateX(0);
        width: 40%;
    }

}
/* /Shared/AppsPanel.razor.rz.scp.css */

[b-vk3bzvqz35] .app-link:not(.contained) > div {
    transform: translateY(0); /* base state */
    transition: transform 0.15s ease;
}

[b-vk3bzvqz35] .app-link:not(.contained):hover > div {
    transform: translateY(-4px); /* hover state */
    box-shadow: 0 8px 20px var(--color-brand-light-20), 0 2px 6px var(--color-brand-light-10);
}

[b-vk3bzvqz35] .app-link.contained {
    background-color: var(--color-surface);
}
[b-vk3bzvqz35] .app-link.contained div > i.pt-icon,
[b-vk3bzvqz35] .app-link.contained div > img
{
    transform: translateY(0); /* base state */
    transition: transform 0.15s ease;
}

    [b-vk3bzvqz35] .app-link.contained div > i.pt-icon:hover,
    [b-vk3bzvqz35] .app-link.contained div > img:hover {
        transform: translateY(-2px); /* hover state */
        box-shadow: 0 8px 20px var(--color-brand-light-20), 0 2px 6px var(--color-brand-light-10);
    }

.app-panel.contained[b-vk3bzvqz35] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
}
.app-panel:not(.contained)[b-vk3bzvqz35] {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 12px;
}
.app-panel .apps-text[b-vk3bzvqz35] {
    font-size: var(--text-xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-secondary);
}
.app-panel.contained .apps-text[b-vk3bzvqz35] {
    padding-right: 1rem;
    border-right: 1px solid var(--color-border);
}
/* /Shared/Components/HourPicker.razor.rz.scp.css */
.time-picker-row[b-x47vpxo6te] {
    display: flex;
    flex: 1;
    align-items: flex-end;
    gap: 16px;
}

.hour-spinner[b-x47vpxo6te] {
    position: relative;
    display: flex;
    align-items: center;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    height: 38px;
    width: 100%;  /*100px;*/
    overflow: visible; /* dropdown needs to escape */
}

.hour-display[b-x47vpxo6te] {
    flex: 1;
    text-align: center;
    font-size: var(--text-md);
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    color: var(--color-text-primary);
    padding: 0 4px;
    width: 100px;
}

    .hour-display:hover[b-x47vpxo6te] {
        color: var(--color-brand);
    }

.spinner-btn[b-x47vpxo6te] {
    min-width: 28px;
    height: 100%;
    border: none;
    background: var(--color-surface-secondary);
    color: var(--color-text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    transition: background 0.1s;
    flex: 0 0 15%;
}


    .spinner-btn:hover[b-x47vpxo6te] {
        background: var(--color-surface-hover);
        color: var(--color-text-primary);
    }

.spinner-down[b-x47vpxo6te] {
    border-right: 1px solid var(--color-border);
    border-radius: var(--radius-lg) 0 0 var(--radius-lg);
}

.spinner-up[b-x47vpxo6te] {
    border-left: 1px solid var(--color-border);
    border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
}

.hour-dropdown[b-x47vpxo6te] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 4px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2px;
    width: 160px;
    z-index: 100;
}

.hour-option[b-x47vpxo6te] {
    height: 34px;
    border: none;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-text-primary);
    font-size: var(--text-sm);
    cursor: pointer;
}

    .hour-option:hover[b-x47vpxo6te] {
        background: var(--color-surface-hover);
    }

    .hour-option.active[b-x47vpxo6te] {
        background: var(--color-brand-light);
        color: #fff;
        font-weight: 600;
    }
.ampm-toggle[b-x47vpxo6te] {
    display: flex;
    border: 1px solid var(--color-border);
    padding: 3px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    height: 38px;
}

.ampm-btn[b-x47vpxo6te] {
    padding: 0 18px;
    border-radius: var(--radius-md);
    border: none;
    background: var(--color-surface);
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

    .ampm-btn:first-child[b-x47vpxo6te] {
        border-right: 1px solid var(--color-border);
        border-bottom-right-radius: 0px;
        border-top-right-radius: 0px;
    }

    .ampm-btn:not(:first-child)[b-x47vpxo6te] {
        border-bottom-left-radius: 0px;
        border-top-left-radius: 0px;
    }

    .ampm-btn.active[b-x47vpxo6te] {
        background: var(--color-brand-light);
        color: #fff;
    }
/* /Shared/Components/LayoutItemCaption.razor.rz.scp.css */
.lic-wrapper[b-1bvx8wdl8a] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.lic-required[b-1bvx8wdl8a] {
    color: var(--color-red-600);
    font-weight: bold;
    line-height: 1;
}

.lic-info-icon[b-1bvx8wdl8a] {
    position: relative;
    display: inline-flex;
    color: var(--color-text-secondary);
    cursor: pointer;
}

    .lic-info-icon:hover[b-1bvx8wdl8a] {
        color: var(--color-text-primary);
        cursor: help;
    }


.lic-info-icon:hover .lic-tooltip-bubble[b-1bvx8wdl8a],
.lic-info-icon:focus .lic-tooltip-bubble[b-1bvx8wdl8a] {
    visibility: visible;
    opacity: 1;
}
/* /Shared/Components/PTIconButton.razor.rz.scp.css */
.pt-icon-button[b-k7xtd5nsq4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    appearance: none;
    padding: 8px 12px;
    font-size: 14px;
    border-radius: 6px;
    cursor: pointer;
    transition: filter 120ms ease, opacity 120ms ease;
    border: none;
}
    .pt-icon-button:hover[b-k7xtd5nsq4] {
        filter: brightness(0.95);
    }

    .larger[b-k7xtd5nsq4] {
        padding: 10px 16px;
        border-radius: 8px;
        font-size: 1rem !important;
    }
    .pt-icon-button.medium[b-k7xtd5nsq4] {
        padding: 8px 10px;
        font-size: var(--text-sm);
        border-radius: 6px;

    }
    .pt-icon-button.smaller[b-k7xtd5nsq4] {
        padding: 6px 10px;
        font-size: .9rem;
        border-radius: 4px;
    }
    .pt-icon-button .small[b-k7xtd5nsq4] {
        padding: 4px 8px;
        font-size: .9rem;
        border-radius: 4px;
    }

    .pt-icon-button:disabled[b-k7xtd5nsq4] {
        opacity: 0.5;
        cursor: not-allowed;
    }

    .pt-icon-button.circle[b-k7xtd5nsq4] {
        width: 36px;
        min-width: 36px;
        height: 36px;
        padding: 0;
        border-radius: 999px;
    }
    .pt-icon-button.rounded[b-k7xtd5nsq4] {
        width: 36px;
        min-width: 36px;
        height: 36px;
        padding: 0;
        border-radius: 25%;
    }

    .pt-icon-button.surface[b-k7xtd5nsq4] {
        font-size: 13px;
        font-weight: var(--font-weight-600);
        border: 1px solid var(--color-border);
        background-color: var(--color-surface);
    }

        .pt-icon-button.surface.warning[b-k7xtd5nsq4] {
            color: var(--color-amber-600);
        }

        .pt-icon-button.surface.error[b-k7xtd5nsq4],
        .pt-icon-button.surface.color-error[b-k7xtd5nsq4]{
            color: var(--color-red-600);
            background-color: var(--color-red-50);
        }



    .pt-icon-button.primary[b-k7xtd5nsq4] {
        background: var(--color-brand-light);
        border: 1px solid var(--color-brand-light);
        color: var(--color-white);
    }
    .pt-icon-button.success[b-k7xtd5nsq4] {
        background: var(--color-emerald-500);
        border: 1px solid var(--color-emerald-500);
        color: #fff;
    }
.pt-icon-button.danger[b-k7xtd5nsq4],
.pt-icon-button.error[b-k7xtd5nsq4] {
    color: var(--color-white);
    border: 1px solid var(--color-red-50);
    background-color: var(--color-red-600);
}
.pt-icon-button.info[b-k7xtd5nsq4] {
    color: var(--color-brand-light);
    border: 1px solid var(--color-brand-light-20);
    background-color: var(--color-surface);
}
    .pt-icon-button.info:hover[b-k7xtd5nsq4] {
        background-color: var(--color-brand-light-10);
    }
.pt-icon-button.warning[b-k7xtd5nsq4],
.pt-icon-button.caution[b-k7xtd5nsq4] {
    color: var(--color-amber-800);
    border: 1px solid var(--color-amber-500);
    background-color: var(--color-amber-50);
}

.pt-icon-button.dialog-btn[b-k7xtd5nsq4] {
    padding: 10px 16px;
    flex: 1;
    font-weight: var(--font-weight-semibold);
    border-radius: var(--radius-lg);
}
.pt-icon-button.btn-plain[b-k7xtd5nsq4] {
    border: none;
    background-color: transparent;
}
    .pt-icon-button.btn-plain:hover[b-k7xtd5nsq4] {
        background-color: var(--color-surface-hover);
    }

.pt-icon-button.muted[b-k7xtd5nsq4] {
    background-color: var(--color-gray-300);
    border: 1px solid var(--color-gray-300);
    color: var(--color-gray-700);
    font-weight: var(--font-weight-semibold);
}
    .pt-icon-button.muted:disabled[b-k7xtd5nsq4] {
        /* Muted colors already convey the disabled state - don't also apply the generic 50% dim, or it washes out. */
        opacity: 1;
    }
/* /Shared/Components/RolloutBanner.razor.rz.scp.css */
/* App Switcher banner */
.icon-party-popper[b-km3etr2ze7] {
    height: 24px;
    width: 24px;
    mask-image: url('/icons/party-popper.svg');
    -webkit-mask-image: url('/icons/party-popper.svg');
    color: var(--color-brand-light);
}

.rollout-banner[b-km3etr2ze7] {
    height: var(--rollout-banner-height);
    flex: 0 0 auto;
    top: 0;
    margin: 0;
    border: 1px solid color-mix(in srgb, var(--bs-heading-color) 20%, transparent);
    border-radius: 4px;
    background-color: color-mix(in srgb, var(--bs-heading-color) 5%, transparent);
    padding: 8px 32px 8px 16px;
    width: 100%;
    z-index: 1030;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rollout-banner-content[b-km3etr2ze7] {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-left: 16px;
}

.rollout-banner-text[b-km3etr2ze7] {
    font-size: .9rem;
    font-weight: bold;
}

.rollout-banner-message[b-km3etr2ze7] {
    font-size: 0.75rem;
}

button span[b-km3etr2ze7] {
    position: relative;
}
.switch-app-button[b-km3etr2ze7] {
    display: flex;
    gap: 6px;
    align-items: center;
    background-color: var(--color-white);
    color: var(--color-text-secondary);
    border-radius: 6px;
    border: 1px solid var(--color-border);
    padding: 4px 16px;
    cursor: pointer;
    font-size: .85rem;
    font-weight: 600;
}

.feedback-button[b-km3etr2ze7] {
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    background-color: var(--color-white);
    color: var(--text-secondary);
    border-radius: 6px;
    border: 1px solid goldenrod;
    padding: 4px 16px;
    cursor: pointer;
    font-size: .85rem;
    font-weight: 600;
}
    .feedback-button > span[b-km3etr2ze7] {
        color: goldenrod;
    }
/* /Shared/Components/ViewToggle.razor.rz.scp.css */
.view-toggle-buttons[b-t2tej0rm04] {
    display: inline-flex;
    border: 1px solid var(--color-border-dark);
    border-radius: 8px;
    overflow: hidden;
    padding: 3px;
}

.toggle-btn[b-t2tej0rm04] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 32px;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--color-text-secondary);
    font-size: 16px;
    transition: background 0.15s, color 0.15s;
    padding: 0;
    border-radius: 6px;
}

    .toggle-btn.active[b-t2tej0rm04] {
        color: var(--color-brand-light);
        border: 1px solid var(--color-border);
        box-shadow: var(--shadow-sm);
    }

    .toggle-btn:not(.active):hover[b-t2tej0rm04] {
        color: var(--color-text-primary);
        font-weight: var(--font-bold);
    }
/* /Shared/FilterBar.razor.rz.scp.css */
/* FilterBar.razor.css — scoped styles */

.filter-bar[b-le1448ubrk] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px;
    background: var(--color-filter-bar);
    border: 0.5px solid var(--color-border);
    border-radius: 12px;
    flex-wrap: wrap;
    margin-bottom: 24px;
    box-shadow: var(--shadow-sm);
}

/* Search input */
.search-wrap[b-le1448ubrk] {
    position: relative;
    display: flex;
    flex: 1;
    min-width: 300px;
    max-width: var(--container-md);
}
    .search-wrap.active input[b-le1448ubrk] {
        border-color: var(--color-brand-light);
        color: var(--color-brand-light);
    }

    .search-wrap i.icon-search[b-le1448ubrk] {
        position: absolute;
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--color-text-secondary);
        font-size: 16px;
        pointer-events: none;
    }

    .search-wrap input[b-le1448ubrk] {
        width: 100%;
        padding: 6px 28px 6px 32px;
        border: 0.5px solid var(--color-border);
        border-radius: 8px;
        background: var(--color-surface);
        color: var(--color-text-secondary);
        font-size: 13px;
        outline: none;
    }

        .search-wrap input:focus[b-le1448ubrk] {
            box-shadow: 2px 2px 0px var(--color-brand-light-20);
        }

    .search-wrap .search-clear-btn[b-le1448ubrk] {
        border: none;
        background-color: transparent;
        color: var(--color-brand-light);
        cursor: pointer;
        position: relative;
        transform: translateY(-50%);
        right: 8px;
        top: 1.1rem;
    }
.dd-group-header[b-le1448ubrk] {
    padding: 6px 14px 2px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-secondary, #aaa);
}
.dd-wrap[b-le1448ubrk] {
    position: relative;
}

.dd-btn[b-le1448ubrk] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 0.5px solid var(--color-border);
    border-radius: 8px;
    background: var(--color-surface);
    color: var(--color-text-secondary);
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    font-family: inherit;
    outline: none;  
}
    .dd-btn:focus[b-le1448ubrk] {
        box-shadow: 2px 2px 0px var(--color-brand-light-20);
    }

    .dd-btn:hover[b-le1448ubrk] {
        color: var(--color-text-primary, #000);
    }

    .dd-btn.active[b-le1448ubrk] {
        border-color: var(--color-brand-light);
        color: var(--color-brand-light);
    }

    .dd-btn i[b-le1448ubrk] {
        font-size: 14px;
        color: var(--color-text-secondary);
    }

    .dd-btn .count[b-le1448ubrk] {
        background: var(--color-brand-light);
        color: var(--color-white);
        border-radius: 999px;
        padding: 1px 7px;
        font-size: 11px;
        font-weight: 500;
    }

/* Dropdown menu */
.dd-menu[b-le1448ubrk] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    width: auto;
    min-width: 180px;
    background: var(--color-surface);
    border: 0.5px solid var(--color-border);
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    z-index: 100;
    padding: 4px 0;
    max-height: 300px;
    overflow: auto;
    scrollbar-width: thin;
}

.dd-item[b-le1448ubrk] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 7px 16px;
    cursor: pointer;
    font-size: 13px;
    color: var(--color-text-primary);
    text-wrap: nowrap;
}

    .dd-item:hover[b-le1448ubrk] {
        background: var(--color-background-secondary, #f5f5f5);
    }

    .dd-item input[type="checkbox"][b-le1448ubrk] {
        accent-color: var(--color-brand-light);
        width: 14px;
        height: 14px;
        cursor: pointer;
        flex-shrink: 0;
    }

/* Active selection pills */
.active-pills[b-le1448ubrk] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 8px;
}

.pill[b-le1448ubrk] {
    display: flex;
    align-items: center;
    gap: 4px;
    background: var(--color-brand-light-20);
    color: var(--color-brand-light);
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 12px;
}

    .pill button[b-le1448ubrk] {
        background: none;
        border: none;
        cursor: pointer;
        color: var(--color-brand-light);
        font-size: 14px;
        padding: 0;
        line-height: 1;
        display: flex;
        align-items: center;
    }

.clear-all[b-le1448ubrk] {
    font-size: 12px;
    color: var(--color-text-secondary);
    cursor: pointer;
    text-decoration: underline;
    background: none;
    border: none;
    font-family: inherit;
}

/* Dropdown footer with Clear button */
.dd-footer[b-le1448ubrk] {
    border-top: 0.5px solid var(--color-border);
    padding: 6px 8px 4px;
    display: flex;
    justify-content: center;
}

.dd-clear-btn[b-le1448ubrk] {
    background: none;
    border: none;
    font-size: 13px;
    color: var(--color-brand-light);
    cursor: pointer;
    padding: 4px 12px;
    border-radius: 8px;
    font-family: inherit;
    width: 100%;
}

    .dd-clear-btn:hover[b-le1448ubrk] {
        background: var(--color-brand-light-10);
    }

/* Reset all button at the end of the filter bar */
.reset-btn[b-le1448ubrk] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 0.5px solid transparent;
    border-radius: 8px;
    background: none;
    color: var(--color-text-secondary);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s, color 0.15s;
    flex-shrink: 0;
}

    .reset-btn.visible[b-le1448ubrk] {
        opacity: 1;
        pointer-events: auto;
        color: var(--color-text-secondary, #666);
    }

    .reset-btn:hover[b-le1448ubrk] {
        background: var(--color-brand-light-10);
        border-color: transparent;
        color: var(--color-brand-light);
    }

.dd-empty[b-le1448ubrk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 16px 14px;
    color: var(--color-text-tertiary, #aaa);
    font-size: 12px;
}

    .dd-empty i[b-le1448ubrk] {
        font-size: 20px;
    }
/* /Shared/Header.razor.rz.scp.css */
.app-header[b-9h38h78w6n] {
    height: var(--header-height);
    padding: 0 32px;
    background: var(--color-brand-light);
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: var(--color-border);
    z-index: 1000;
    outline: none;
}

.app-header__brand[b-9h38h78w6n] {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: inherit;
    text-decoration: none;
    font-family: var(--font-display);
    font-size: var(--text-2xl);
    font-weight: var(--font-weight-bold);
    transition: transform var(--default-transition-duration) var(--default-transition-timing-function), opacity var(--default-transition-duration) var(--default-transition-timing-function);
}

    .app-header__brand:hover[b-9h38h78w6n] {
        color: inherit;
        text-decoration: none;
    }

.app-header__brand-icon[b-9h38h78w6n] {
    width: 48px;
    height: 48px;
    display: inline-block;
    flex: 0 0 auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: transform 0.15s ease-in-out;
}
.app-header__brand:hover .app-header__brand-icon[b-9h38h78w6n] {
    transform: scale(1.06);
}
.app-header__search[b-9h38h78w6n] {
    width: 500px;
    max-width: var(--container-2xl);
}

/* The search box and its results menu are styled by
   Features/GlobalSearchFeature/GlobalSearchBox.razor.css, which renders that markup. */

.app-header__actions[b-9h38h78w6n] {
    display: flex;
    align-items: center;
    gap: 8px;
}
.round-button[b-9h38h78w6n] {
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    align-items: center;
    display: inline-flex;
    justify-content: center;
    border-radius: 999px;
}

.notifications-button[b-9h38h78w6n],
.support-button[b-9h38h78w6n] {
    background: transparent;
    color: var(--color-white);
    outline: none;
}
.support-button:hover[b-9h38h78w6n],
.notifications-button:not(.has-notify):hover[b-9h38h78w6n] {
    background-color: var(--color-white);
    color: var(--color-brand-dark);
}
.notifications-button.has-notify:hover[b-9h38h78w6n] {
    color: var(--color-brand-dark);
}

.virtual-worker-button[b-9h38h78w6n] {
    background-color: var(--color-white);
    color: mediumpurple;
}
    .virtual-worker-button:hover[b-9h38h78w6n] {
        opacity: 0.92;
    }

.notifications-button[b-9h38h78w6n] {
    position: relative;
}
.notify-alert[b-9h38h78w6n] {
    position: absolute;
    width: calc(var(--spacing) * 2);
    height: calc(var(--spacing) * 2);
    top: calc(var(--spacing) * 2);
    right: calc(var(--spacing) * 2);
    background-color: var(--color-red-500);
    border-radius: 999px;
    border: 2px solid var(--color-brand-light);
    pointer-events: none;
}
.user-menu-button[b-9h38h78w6n] {
    height: 40px;
    padding: 4px 12px 4px 4px;
    border: 0;
    border-radius: 999px;
    background: var(--color-brand-light);
    color: var(--color-white);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    /*transition: background-color var(--default-transition-duration) var(--default-transition-timing-function), transform var(--default-transition-duration) var(--default-transition-timing-function);*/
}
    .user-menu-button .pt-icon[b-9h38h78w6n]{
        height: 14px;
        width: 14px;
        color: var(--color-white);
    }
    .user-menu-button:hover[b-9h38h78w6n] {
        background: var(--color-surface);
        color: var(--color-brand-dark);
    }
        .user-menu-button:hover .user-avatar[b-9h38h78w6n] {
            background-color: var(--color-brand-light);
            color: var(--color-white);
        }
        .user-menu-button:hover .pt-icon[b-9h38h78w6n] {
            color: var(--color-brand-dark);
        }

.user-avatar[b-9h38h78w6n] {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: var(--color-white);
    color: var(--color-brand-light);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--font-weight-bold);
}

.user-name[b-9h38h78w6n] {
    font-weight: var(--font-weight-semibold);
}
.other-apps-button[b-9h38h78w6n] {
    height: 40px;
    width: 40px;
    color: var(--color-white);
    background-color: rgba(255, 255, 255, 0.12);
    border-radius: 25%;
    transition: background-color 0.15s ease, transform 0.15s ease;
}
    .other-apps-button:hover[b-9h38h78w6n] {
        background-color: var(--color-brand-dark);
    }


/* Popup menus*/
.header-menu[b-9h38h78w6n] {
    position: relative;
    /*z-index: 1001;*/
}

.notifications-button.active[b-9h38h78w6n] {
    background: var(--color-white);
    color: var(--color-text-primary);
}

.header-dropdown[b-9h38h78w6n] {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    box-shadow: 0 10px 24px rgba(0,0,0,0.14);
    color: var(--color-text-primary);
    z-index: 1002;
    overflow: hidden;
}
    .header-dropdown.notifications-dropdown[b-9h38h78w6n] {
        width: 320px;
    }

    .header-dropdown.support-dropdown[b-9h38h78w6n],
    .header-dropdown.user-dropdown[b-9h38h78w6n] {
        min-width: 240px;
        max-width: 320px; /* or 360px if you want more breathing room */
        width: max-content;
        padding: 8px 0;
    }

.header-dropdown__header[b-9h38h78w6n] {
    padding: 16px;
    border-bottom: 1px solid var(--color-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: var(--font-weight-semibold);
    font-size: var(--text-sm);
}
.header-dropdown__header .clear-button[b-9h38h78w6n] {
    font-size: var(--text-xs);
    font-weight: var(--text-weight-bold);
    color: var(--color-brand-light);
    border: none;
    background: transparent;
}
    .header-dropdown__header .clear-button:hover[b-9h38h78w6n] {
        text-decoration: underline;
    }
    .header-dropdown__body[b-9h38h78w6n] {
        min-height: 96px;
        padding: 24px 16px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
        .header-dropdown__body.popup-nav[b-9h38h78w6n] {
            padding: 0 !important;
        }
.empty-state[b-9h38h78w6n] {
    color: var(--color-text-secondary);
    font-size: var(--text-sm);
    font-style: italic;
}

.header-dropdown__footer[b-9h38h78w6n] {
    width: 100%;
    padding: 12px 16px;
    border: 0;
    background: var(--color-surface);
    color: var(--color-brand-light);
    font-weight: var(--font-weight-bold);
    font-size: var(--text-xs);
    cursor: pointer;
}

    .header-dropdown__footer:hover[b-9h38h78w6n] {
        background: var(--color-brand-light-5);
    }


.popup-nav[b-9h38h78w6n] {
    background: var(--color-surface);
    display: flex;
    flex-direction: column;
    position: relative;
}
    .nav-item[b-9h38h78w6n] {
        width: 100%;
        display: flex;
        gap: 16px;
        align-items: center;
        padding: 8px 16px;
        cursor: pointer;
        font-size: var(--text-sm);
        color: var(--color-text-primary);
        transition: background-color 0.15s ease, color 0.15s ease;
        text-decoration: none;
    }
        .nav-item:hover[b-9h38h78w6n] {
            background-color: var(--color-surface-hover);
        }
.menu-backdrop[b-9h38h78w6n] {
    position: fixed;
    inset: 0;
    z-index: 900;
    background: transparent;
}
.nav-text[b-9h38h78w6n] {
    min-width: 120px; /* prevents tiny names from collapsing */
    max-width: 220px; /* prevents long names from breaking layout */

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1 1 auto; /* allows growth */
}
.menu-icon[b-9h38h78w6n] {flex-shrink: 0;}



/* */
@media (max-width: 350px) {
    .title[b-9h38h78w6n] {
        font-size: inherit;
    }
}

@media (min-width: 640px) {
    .app-name[b-9h38h78w6n] {
        display: block;
        font-size: var(--text-2xl);
    }
}
/* /Shared/MainLayout.razor.rz.scp.css */
.main[b-tmej7l6tuv],
.app-layout[b-tmej7l6tuv]
{
    height: 100vh;
}
.main-content[b-tmej7l6tuv],
.sidebar-layout-item[b-tmej7l6tuv] {
    height: calc(100vh - var(--rollout-banner-height) - var(--header-height));
}

.app-layout[b-tmej7l6tuv] {
    height: calc(100vh - var(--rollout-banner-height));
    overflow: hidden;
}
.main-content[b-tmej7l6tuv] {
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    background: var(--color-background);
    position: relative;
    scrollbar-width: thin;
}

.main-content > *[b-tmej7l6tuv] {
    position: relative;
    z-index: 1;
}

.main-watermark[b-tmej7l6tuv] {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: url('https://www.planettogether.com/hubfs/332602/PT_Logos/Logo%20Icon%20PlanetTogether.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 600px;
    background-attachment: fixed;
    opacity: 0.1;
    pointer-events: none;
}

.content-container[b-tmej7l6tuv] {
    position: relative;
    z-index: 1;
    padding: 32px;
    width: 100%;
}

.sidebar-toggle-button[b-tmej7l6tuv] {
    position: fixed;
    top: 45%;
    left: calc(var(--sidebar-width) + 10);
    transform: translate(-50%, -50%);
    width: 10px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-left: none;
    border-radius: 0 10px 10px 0;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    cursor: pointer;
    z-index: 1;
}

    .sidebar-toggle-button .pt-icon[b-tmej7l6tuv] {
        transition: transform 0.2s ease;
    }


/* layout issues for scrolling the content */
.dxbl-gridlayout[b-tmej7l6tuv],
.dxbl-gridlayout-root[b-tmej7l6tuv],
.dxbl-gridlayout-item[b-tmej7l6tuv] {
    min-height: 0;
}

/* /Shared/NavMenu.razor.rz.scp.css */
.app-sidebar[b-41or6azzmf] {
    height: 100%; /*calc(100vh - var(--header-height, 72px));*/
    min-height: 0;
    overflow: hidden;
    background: var(--color-surface);
    border-right: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    position: relative;
}

.sidebar-nav-main[b-41or6azzmf] {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 24px 0 16px;
    overflow: hidden;
}

.sidebar-nav-admin[b-41or6azzmf] {
    flex: 0 0 auto;
    padding: 16px 0;
    border-top: 1px solid var(--color-border);
    overflow: hidden;
}


.sidebar-logo[b-41or6azzmf] {
    flex: 0 0 auto;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    background: var(--color-brand-light);
    flex-shrink: 0;
}
    .sidebar-logo:not(.collapsed) img[b-41or6azzmf] {
        height: 32px;
        width: auto;
        max-width: 100%;
    }
    .sidebar-logo.collapsed[b-41or6azzmf] {
        padding: 8px;
    }
    .sidebar-logo.collapsed img[b-41or6azzmf] {
        height: 35px;
    }


[b-41or6azzmf] .dxbl-treeview {
    padding: 0 !important;
    background-color: var(--color-surface);
}
/* nav menu items*/
.menu-icon[b-41or6azzmf] {
    transition: transform 0.15s ease-in-out;
}

/* dx adds margin for indenting we will override*/
[b-41or6azzmf] .dxbl-treeview .dxbl-treeview-items-container .dxbl-treeview-tmpl {
    margin-left: 0 !important;
}
[b-41or6azzmf] .dxbl-treeview-items-container {
    padding-right: 0 !important;
}
/* text */
.nav-text[b-41or6azzmf] {
    flex: 1;
    font-size: var(--text-sm);
    font-weight: var(--font-weignt-medium);
}

/* Hover menu for closed/hovered items*/
.app-sidebar[b-41or6azzmf] {
    position: relative;
    overflow: visible;
}

.sidebar-nav-scroll[b-41or6azzmf] {
    overflow-y: auto;
    overflow-x: hidden;
}
.nav-item-wrapper[b-41or6azzmf] {
    position: relative;
}

.nav-hover-panel[b-41or6azzmf] {
    position: fixed;
    left: var(--sidebar-width);

    min-width: 220px;
    padding: 8px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    box-shadow: 0 10px 24px rgba(0,0,0,0.14);
    z-index: 2000;
}

.nav-hover-panel__item[b-41or6azzmf] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: var(--radius-lg);
    color: var(--color-text-primary);
    text-decoration: none;
    cursor: pointer;
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
}
.nav-hover-panel__item .pt-icon[b-41or6azzmf] {
    color: var(--color-text-secondary);
}

    .nav-hover-panel__item:hover[b-41or6azzmf] {
        background: var(--color-brand-light-10);
        color: var(--color-brand-light);
    }

.nav-tooltip-panel[b-41or6azzmf] {
    min-width: auto;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.nav-tooltip-item[b-41or6azzmf] {
    padding: 4px 6px;
    border-radius: var(--radius-sm);
    background: var(--color-brand-dark);
    color: var(--color-white);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-md);
    white-space: nowrap;
}
/* /Shared/NavMenuItem.razor.rz.scp.css */

.nav-item[b-3cdkk8n11h] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    cursor: pointer;
    color: var(--color-text-secondary);
    transition: background-color 0.15s ease, color 0.15s ease;
    justify-content: center;
}

    .nav-item.selected:not(.child)[b-3cdkk8n11h] {
        background-color: var(--color-brand-light);
        color: var(--color-white);
    }

        .nav-item.selected:not(.child) .menu-icon[b-3cdkk8n11h] {
            color: var(--color-white);
        }


    .nav-item:hover[b-3cdkk8n11h] {
        background-color: color-mix(in srgb, var(--color-brand-light) 10%, transparent);
        color: var(--color-brand-light);
    }

        .nav-item:hover .menu-icon[b-3cdkk8n11h] {
            color: var(--color-brand-light);
            transform: scale(1.06);
        }

    .nav-item:not(.selected):hover .menu-icon.dashboard[b-3cdkk8n11h] {
        background-image: url('/images/ControlCenter_Icon_PTBlue.png');
    }

    .nav-item.child[b-3cdkk8n11h] {
        padding-left: calc(var(--spacing) * 12);
    }

        .nav-item.child:hover[b-3cdkk8n11h] {
            background-color: color-mix(in srgb, var(--color-brand-light) 5%, transparent);
            color: var(--color-text-secondary);
        }

            .nav-item.child:hover .menu-icon[b-3cdkk8n11h] {
                color: var(--color-text-secondary);
                transform: scale(1.06);
            }

        .nav-item.child.selected[b-3cdkk8n11h] {
            background-color: color-mix(in srgb, var(--color-brand-light) 10%, transparent);
            color: var(--color-brand-light);
        }
        .nav-item.child.selected .menu-icon[b-3cdkk8n11h] {
            color: var(--color-brand-light);
        }

/* text */
.nav-text[b-3cdkk8n11h] {
    flex: 1;
    font-size: var(--text-sm);
    font-weight: var(--font-weight-medium);
}

.nav-item.child-selected[b-3cdkk8n11h] {
    background: var(--color-brand-light-5);
    color: var(--color-brand-light);
}
    .nav-item.child-selected:hover[b-3cdkk8n11h] {
        background-color: color-mix(in srgb, var(--color-brand-light) 10%, transparent);
        color: var(--color-brand-light);
    }

.nav-item.child-selected .menu-icon[b-3cdkk8n11h]{
    color: var(--color-brand-light);
}


.nav-item[b-3cdkk8n11h] {
    position: relative;
}

.nav-item.child-selected[b-3cdkk8n11h]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 4px;
    border-radius: 0 999px 999px 0;
    background: var(--color-brand-light);
}
/* /Shared/ReorderGrid/DxReorderableGrid.razor.rz.scp.css */
.reorderable-grid[b-g8jzidu18b] {
    max-width: 480px;
}

.move-buttons[b-g8jzidu18b] {
    display: flex;
    gap: 2px;
    align-items: center;
    justify-content: center;
}

    .move-buttons .dxbl-btn[b-g8jzidu18b] {
        padding: 0 4px;
        line-height: 1;
    }
/* /Shared/ToastNotifications/PTProgressToast.razor.rz.scp.css */
.pt-toast[b-z9fikk94t8] {
    width: 360px;
    min-height: 96px;
    display: flex;
    position: relative;
    overflow: visible;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    box-shadow: 0 16px 36px var(--color-border-dark);/*rgba(15, 23, 42, 0.16);*/
}

    /* colored offset layer */
    .pt-toast[b-z9fikk94t8]::before {
        content: "";
        position: absolute;
        top: 0px;
        bottom: 0px;
        left: -4px;
        width: 18px;
        background: var(--pt-toast-color);
        border-radius: 14px 0 0 14px;
        z-index: 0;
    }

/* actual white toast content/card */
.pt-toast-body[b-z9fikk94t8] {
    flex: 1;
    position: relative;
    z-index: 1;
    background: var(--color-surface);
    border-radius: 14px;
    padding: 14px 16px 12px 16px;
}

.pt-toast-top[b-z9fikk94t8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.pt-toast-label[b-z9fikk94t8] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--pt-toast-color);
    font-size: 12px;
    font-weight: 700;
}

.pt-toast-dot[b-z9fikk94t8] {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--pt-toast-color);
}

.pt-toast-meta[b-z9fikk94t8] {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #64748b;
    font-size: 12px;
}

.pt-toast-close[b-z9fikk94t8] {
    appearance: none;
    border: none;
    background: transparent;
    color: #64748b;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.pt-toast-message[b-z9fikk94t8] {
    margin-top: 10px;
    color: #111827;
    font-size: 14px;
    line-height: 1.35;
}

.pt-toast-progress-track[b-z9fikk94t8] {
    height: 4px;
    margin-top: 14px;
    background: #eef2f7;
    border-radius: 999px;
    overflow: hidden;
}

.pt-toast-progress-fill[b-z9fikk94t8] {
    height: 100%;
    background: var(--pt-toast-color);
    border-radius: inherit;
    transition: width 160ms ease;
}

.pt-toast-progress-value[b-z9fikk94t8] {
    margin-top: 6px;
    color: #64748b;
    font-size: 11px;
    text-align: right;
}

/* Variants */
.pt-toast-info[b-z9fikk94t8] {
    --pt-toast-color: #0ea5e9;
}

.pt-toast-progress[b-z9fikk94t8] {
    --pt-toast-color: #f59e0b;
}

.pt-toast-success[b-z9fikk94t8] {
    --pt-toast-color: #10b981;
}

.pt-toast-error[b-z9fikk94t8] {
    --pt-toast-color: #ef4444;
}

.pt-toast-warning[b-z9fikk94t8] {
    --pt-toast-color: #f97316;
}
/* /Shared/ToastNotifications/PTToast.razor.rz.scp.css */
.pt-toast[b-kgme26fxgb] {
    width: 360px;
    min-height: 96px;
    display: flex;
    position: relative;
    overflow: visible;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.16);
    pointer-events: auto;
}

    /* colored offset layer */
    .pt-toast[b-kgme26fxgb]::before {
        content: "";
        position: absolute;
        top: 0px;
        bottom: 0px;
        left: -4px;
        width: 18px;
        background: var(--pt-toast-color);
        border-radius: 14px 0 0 14px;
        z-index: 0;
        pointer-events: none;
    }

/* actual white toast content/card */
.pt-toast-body[b-kgme26fxgb] {
    flex: 1;
    position: relative;
    z-index: 1;
    background: #fff;
    border-radius: 14px;
    padding: 14px 16px 12px 16px;
}

.pt-toast-top[b-kgme26fxgb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.pt-toast-label[b-kgme26fxgb] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--pt-toast-color);
    font-size: 12px;
    font-weight: 700;
}

.pt-toast-dot[b-kgme26fxgb] {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--pt-toast-color);
}

.pt-toast-meta[b-kgme26fxgb] {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #64748b;
    font-size: 12px;
}

.pt-toast-close[b-kgme26fxgb] {
    appearance: none;
    border: none;
    background: transparent;
    color: var(--color-border-dark);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.pt-toast-message[b-kgme26fxgb] {
    margin-top: 10px;
    color: var(--color-text-primary);
    font-size: 14px;
    line-height: 1.35;
}

.pt-toast-progress-track[b-kgme26fxgb] {
    height: 4px;
    margin-top: 14px;
    background: #eef2f7;
    border-radius: 999px;
    overflow: hidden;
}

.pt-toast-progress-fill[b-kgme26fxgb] {
    height: 100%;
    background: var(--pt-toast-color);
    border-radius: inherit;
    transition: width 160ms ease;
}

.pt-toast-progress-value[b-kgme26fxgb] {
    margin-top: 6px;
    color: #64748b;
    font-size: 11px;
    text-align: right;
}

/* Variants */
.pt-toast-info[b-kgme26fxgb] {
    --pt-toast-color: #0ea5e9;
}

.pt-toast-progress[b-kgme26fxgb] {
    --pt-toast-color: #f59e0b;
}

.pt-toast-success[b-kgme26fxgb] {
    --pt-toast-color: #10b981;
}

.pt-toast-error[b-kgme26fxgb] {
    --pt-toast-color: #ef4444;
}

.pt-toast-warning[b-kgme26fxgb] {
    --pt-toast-color: #f97316;
}
/* /Shared/ToastNotifications/PTToastHost.razor.rz.scp.css */
.pt-toast-host[b-limqxvsh86] {
    position: fixed;
    top: calc(var(--rollout-banner-height) + var(--header-height) + 12px);
    right: 24px;
    /* Sits above DevExpress modal overlays (dxbl-modal-root, default popup z-index
       ~1500). Requires the host to be mounted outside .content-container's stacking
       context (see MainLayout) for this value to take effect at the document root. */
    z-index: 20000;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

    .pt-toast-host > *[b-limqxvsh86] {
        pointer-events: auto;
    }
