@import '_content/Blazor.Flags/Blazor.Flags.bundle.scp.484eab0385.css';
@import '_content/Microtec.Blazor.Versioning/Microtec.Blazor.Versioning.c5j1s65yxv.bundle.scp.d0a4044454.css';
@import '_content/Microtec.Components.Blazor/Microtec.Components.Blazor.y8amttujp6.bundle.scp.9eb190500b.css';
@import '_content/Microtec.Erp.Components/Microtec.Erp.Components.st91g21r2c.bundle.scp.00f05d08a9.css';

/* /Features/Auth/Pages/login-redirect.razor.rz.scp.css */
/* The card, steps and state icons come from AuthLayout.razor.css; only these two details are page-specific. */
.erp-auth-step-dot[b-75dovmyvn3]  .mud-icon-root {
    color: var(--ds-textMainBodyInverse);
    font-size: var(--ds-sizeBody3);
}

.callback-actions[b-75dovmyvn3] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--ds-contentGapSm);
    margin-top: var(--ds-contentGapLg);
}
/* /Features/Auth/Pages/Login.razor.rz.scp.css */
/* The card, spinner and typography come from AuthLayout.razor.css; only the SSO notice is page-specific. */
.login-secured[b-9dz6iz5527] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    color: var(--ds-actionPrimaryFillHoverSolid);
    font-size: var(--ds-sizeBody3);
    font-weight: var(--ds-weightMedium);
}
/* /Features/Companies/Components/CompanyFormGroup.razor.rz.scp.css */
.company-group[b-ln0juneycn] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--ds-contentGapLg) var(--ds-contentPaddingXXlg);
    padding-block: var(--ds-contentPaddingXXlg);
    border-top: var(--ds-borderWidthSm) solid var(--ds-listingItemOutlineDefault);
}

.company-group:first-child[b-ln0juneycn] {
    padding-top: var(--ds-contentGapLg);
    border-top: 0;
}

.company-group__intro[b-ln0juneycn] {
    flex: 1 1 200px;
    max-width: 260px;
}

.company-group__title[b-ln0juneycn] {
    margin: 0 0 var(--ds-contentGapSm);
    font-size: var(--ds-sizeBody2);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textMainHeadingDefault);
}

.company-group__description[b-ln0juneycn] {
    margin: 0;
    font-size: var(--ds-sizeBody3);
    line-height: 1.5;
    color: var(--ds-textSubtextSecondaryDefault);
}

.company-group__fields[b-ln0juneycn] {
    flex: 999 1 420px;
    min-width: 0;
    max-width: 960px;
}

.company-group__fields[b-ln0juneycn]  .erp-section__title {
    display: none;
}

@media (max-width: 640px) {
    .company-group__intro[b-ln0juneycn] {
        max-width: none;
    }
}
/* /Features/Companies/Pages/CompaniesPage.razor.rz.scp.css */
/* The list has no export/print/import, so the toolbar's settings gear would open an empty menu. */
.companies-list[b-4e2hw4b2rf]  .erp-list-toolbar__settings {
    display: none;
}
/* /Features/Companies/Pages/Dialogs/BranchDialog.razor.rz.scp.css */
.branch-dialog__grid[b-j4f8nhd85q] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ds-contentGapLg);
}

.branch-dialog__full[b-j4f8nhd85q] {
    grid-column: 1 / -1;
}

@media (max-width: 599px) {
    .branch-dialog__grid[b-j4f8nhd85q] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Features/Companies/Pages/EditCompanyPage.razor.rz.scp.css */
/* ── Header ─────────────────────────────────────────────────────── */

.company-hero[b-844zn0frz0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ds-contentGapLg) var(--ds-contentPaddingXXlg);
    padding-bottom: var(--ds-contentPaddingXXlg);
}

.company-hero__logo[b-844zn0frz0] {
    position: relative;
    flex: 0 0 auto;
}

.company-hero__logo--initials[b-844zn0frz0]  .profile-icon {
    visibility: hidden;
}

.company-hero__initials[b-844zn0frz0] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--ds-sizeHeading4);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-actionPrimaryFillDefaultSolid);
    pointer-events: none;
}

.company-hero__upload-badge[b-844zn0frz0] {
    position: absolute;
    inset-block-end: calc(-1 * var(--ds-contentGapSm));
    inset-inline-end: calc(-1 * var(--ds-contentGapSm));
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: var(--ds-borderWidthSm) solid var(--ds-listingItemOutlineDefault);
    border-radius: 50%;
    background: var(--ds-contentDefaultFill);
    color: var(--ds-actionPrimaryFillDefaultSolid);
    box-shadow: var(--hr-gap-shadowCard);
    pointer-events: none;
}

.company-hero__logo[b-844zn0frz0]  .profile-upload-empty,
.company-hero__logo[b-844zn0frz0]  .profile-upload-filled {
    width: 88px;
    height: 88px;
    border: var(--ds-borderWidthSm) solid var(--ds-infoNeutralOutline);
    border-radius: var(--ds-contentBorderRadius);
    background: var(--ds-infoNeutralFill);
    color: var(--ds-actionPrimaryFillDefaultSolid);
}

.company-hero__logo[b-844zn0frz0]  .profile-upload-empty {
    gap: 0;
}

.company-hero__logo[b-844zn0frz0]  .profile-upload-empty:hover {
    transform: none;
    border-color: var(--ds-actionPrimaryFillDefaultSolid);
}

.company-hero__logo[b-844zn0frz0]  .profile-icon {
    opacity: 1;
    font-size: 2rem !important;
}

.company-hero__logo[b-844zn0frz0]  .profile-upload-empty .bg-white-transparent {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.company-hero__logo[b-844zn0frz0]  .profile-actions {
    opacity: 0;
    padding: var(--ds-contentGapSm);
    transition: opacity 0.15s var(--hr-gap-easeDrawer);
}

.company-hero__logo[b-844zn0frz0]  .profile-upload-filled:hover .profile-actions,
.company-hero__logo[b-844zn0frz0]  .profile-upload-filled:focus-within .profile-actions {
    opacity: 1;
}

.company-hero__info[b-844zn0frz0] {
    display: flex;
    flex: 1 1 280px;
    flex-direction: column;
    gap: var(--ds-contentGapSm);
    min-width: 0;
}

.company-hero__title-row[b-844zn0frz0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ds-contentGapMd);
}

.company-hero__title[b-844zn0frz0] {
    margin: 0;
    font-size: var(--ds-sizeHeading4);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textMainHeadingDefault);
    overflow-wrap: anywhere;
}

.company-hero__meta[b-844zn0frz0],
.company-hero__contact[b-844zn0frz0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
    font-size: var(--ds-sizeBody3);
    color: var(--ds-textSubtextSecondaryDefault);
}

.company-hero__meta > span + span[b-844zn0frz0]::before {
    content: "·";
    margin-inline: var(--ds-contentGapSm);
}

.company-hero__contact[b-844zn0frz0] {
    gap: var(--ds-contentGapLg);
}

.company-hero__contact-item[b-844zn0frz0] {
    display: inline-flex;
    align-items: center;
    gap: var(--ds-contentGapSm);
}

.company-hero__actions[b-844zn0frz0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ds-contentGapMd);
}

/* ── Tabs ───────────────────────────────────────────────────────── */

.company-tabs[b-844zn0frz0]  .erp-tabs .mud-tabs-tabbar-content {
    box-shadow: inset 0 calc(-1 * var(--ds-borderWidthSm)) 0 var(--ds-listingItemOutlineDefault);
}

.company-tabs[b-844zn0frz0]  .erp-tabs .mud-tabs-tabbar-wrapper {
    gap: var(--ds-contentPaddingXXlg);
    padding-inline: 0;
}

.company-tabs[b-844zn0frz0]  .erp-tabs .mud-tab {
    min-width: 0;
    padding-inline: 0;
    font-size: var(--ds-sizeBody3);
    color: var(--ds-textSubtextSecondaryDefault) !important;
}

.company-tabs[b-844zn0frz0]  .erp-tabs .mud-tab:hover {
    color: var(--ds-textMainHeadingDefault) !important;
    background: transparent;
}

.company-tabs[b-844zn0frz0]  .erp-tabs .mud-tab.mud-tab-active {
    color: var(--ds-actionPrimaryFillDefaultSolid) !important;
    font-weight: var(--ds-weightMedium);
}

.company-tabs[b-844zn0frz0]  .erp-tabs .mud-tab-slider {
    height: var(--ds-borderWidthMd);
    background: var(--ds-actionPrimaryFillDefaultSolid);
}

/* ── Tab content (the tab components render inside this page) ───── */

.company-tabs[b-844zn0frz0]  .company-tab__loading {
    padding: 32px 0;
}

.company-tabs[b-844zn0frz0]  .company-tab__footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--ds-contentGapMd);
    padding-top: var(--ds-contentGapLg);
    border-top: var(--ds-borderWidthSm) solid var(--ds-listingItemOutlineDefault);
}
/* /Features/Companies/Pages/Tabs/AddressTab.razor.rz.scp.css */
/* Coordinates hint above the latitude / longitude fields. */
.address-tab__hint[b-xcg3nfxzsm] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ds-contentGapSm);
    margin: 0;
    font-size: var(--ds-sizeBody3);
    color: var(--ds-textSubtextSecondaryDefault);
}

.address-tab__hint strong[b-xcg3nfxzsm] {
    color: var(--ds-actionPrimaryFillHoverSolid);
    font-weight: var(--ds-weightMedium);
}

/* Lines the pin button up with the bottom of the coordinate fields. */
.address-tab__pin[b-xcg3nfxzsm] {
    display: flex;
    align-items: flex-end;
    height: 100%;
}

.address-tab__map[b-xcg3nfxzsm] {
    min-height: 420px;
    border-radius: var(--ds-contentBorderRadius);
    overflow: hidden;
}

.address-tab__map-placeholder[b-xcg3nfxzsm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--ds-contentGapMd);
    min-height: 420px;
    border: 2px dashed var(--ds-listingItemOutlineDefault);
    border-radius: var(--ds-contentBorderRadius);
    background-color: var(--ds-pageDefaultFill);
    color: var(--ds-textMainSecondaryDefault);
}
/* /Features/Companies/Pages/Tabs/BranchesTab.razor.rz.scp.css */
/* The branch list has no export/print/import, so the toolbar's settings gear would open an empty menu. */
.branches-tab[b-hwxl9sdsj1]  .erp-list-toolbar__settings {
    display: none;
}
/* /Features/EssInvitation/Pages/EssInvitationPage.razor.rz.scp.css */
.ess-card[b-hctwmo8xnd] {
    width: 100%;
    max-width: 420px;
}

/* ---- Loading / result states ---- */
.ess-loading[b-hctwmo8xnd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--ds-contentGapSm);
    text-align: center;
}

.ess-loading__title[b-hctwmo8xnd] {
    margin: var(--ds-contentGapMd) 0 0;
    font-size: var(--ds-sizeBody2);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textMainBodyDefault);
}

.ess-loading__sub[b-hctwmo8xnd],
.ess-state__desc[b-hctwmo8xnd] {
    margin: 0;
    font-size: var(--ds-sizeBody3);
    line-height: normal;
    color: var(--ds-textSubtextSecondaryDefault);
}

.ess-state__desc[b-hctwmo8xnd] {
    margin-bottom: var(--ds-contentGapLg);
}

.ess-state--error[b-hctwmo8xnd]  .erp-empty__icon {
    color: var(--ds-actionDangerFillDefaultSolid);
}

.ess-state--success[b-hctwmo8xnd]  .erp-empty__icon {
    color: var(--ds-actionSuccessFillDefaultSolid);
}

/* ---- Form ---- */
.ess-head[b-hctwmo8xnd] {
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapMd);
    margin-bottom: var(--ds-contentGapLg);
}

.ess-head__icon[b-hctwmo8xnd] {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--ds-inputRadius);
    background: var(--ds-listingItemFillActive);
    color: var(--ds-actionPrimaryFillHoverSolid);
}

.ess-head__title[b-hctwmo8xnd] {
    margin: 0;
    font-size: var(--ds-sizeHeading4);
    font-weight: var(--ds-weightMedium);
    line-height: var(--hr-gap-lineTight);
    color: var(--ds-textMainBodyDefault);
}

.ess-head__sub[b-hctwmo8xnd] {
    margin: 4px 0 0;
    font-size: var(--ds-sizeBody3);
    color: var(--ds-textSubtextSecondaryDefault);
}

.ess-pills[b-hctwmo8xnd] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ds-contentGapSm);
    margin-bottom: var(--ds-contentGapLg);
}

.ess-pill[b-hctwmo8xnd] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    max-width: 100%;
    padding: 4px var(--ds-contentGapMd);
    border-radius: var(--ds-menuItemRadius);
    border: 1px solid var(--ds-infoHighlightOutline);
    background: var(--ds-listingItemFillActive);
    color: var(--ds-actionPrimaryFillHoverSolid);
    font-size: var(--ds-sizeBody3);
    font-weight: var(--ds-weightMedium);
}

.ess-pill span[b-hctwmo8xnd] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ess-form[b-hctwmo8xnd] {
    display: flex;
    flex-direction: column;
    gap: var(--ds-contentGapMd);
}

.ess-step[b-hctwmo8xnd] {
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapSm);
    margin: var(--ds-contentGapSm) 0 0;
    font-size: var(--ds-sizeBody3);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textSubtextSecondaryDefault);
}

.ess-step__num[b-hctwmo8xnd] {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: var(--ds-sizeBody4);
    background: var(--ds-actionPrimaryFillDefaultSolid);
    color: var(--ds-textMainBodyInverse);
}

.ess-note[b-hctwmo8xnd] {
    margin: 0;
    padding: var(--ds-contentGapMd);
    border-radius: var(--ds-menuItemRadius);
    background: var(--ds-infoHighlightFill);
    color: var(--ds-textMainBodyDefault);
    font-size: var(--ds-sizeBody3);
    line-height: normal;
}

.ess-legal[b-hctwmo8xnd] {
    margin: 0;
    text-align: center;
    font-size: var(--ds-sizeBody4);
    color: var(--ds-textSubtextSecondaryDefault);
}

.ess-legal a[b-hctwmo8xnd] {
    color: var(--ds-actionPrimaryFillDefaultSolid);
}

[dir="rtl"] .ess-form[b-hctwmo8xnd]  .mud-button-icon-end {
    transform: scaleX(-1);
}
/* /Features/EssPasswordReset/Components/PasswordStrengthMeter.razor.rz.scp.css */
.ess-strength[b-5o3omv4qem] {
    --ess-strength-color: var(--ds-actionDangerFillDefaultSolid);
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapMd);
    margin-top: calc(-1 * var(--ds-contentGapSm));
}

.ess-strength--fair[b-5o3omv4qem] { --ess-strength-color: var(--ds-actionWarningFillDefaultSolid); }
.ess-strength--strong[b-5o3omv4qem] { --ess-strength-color: var(--ds-actionPrimaryFillDefaultSolid); }
.ess-strength--vstrong[b-5o3omv4qem] { --ess-strength-color: var(--ds-actionSuccessFillDefaultSolid); }

.ess-strength__bar[b-5o3omv4qem] {
    flex: 1;
    display: flex;
    gap: 4px;
}

.ess-strength__seg[b-5o3omv4qem] {
    flex: 1;
    height: 3px;
    border-radius: var(--ds-controlSingleSelectRadius);
    background: var(--ds-listingItemOutlineDefault);
    transition: background-color 0.3s ease;
}

.ess-strength__seg--on[b-5o3omv4qem] {
    background: var(--ess-strength-color);
}

.ess-strength__label[b-5o3omv4qem] {
    min-width: 62px;
    text-align: end;
    white-space: nowrap;
    font-size: var(--ds-sizeBody4);
    font-weight: var(--ds-weightMedium);
    color: var(--ess-strength-color);
}
/* /Features/EssPasswordReset/Pages/EssResetPasswordPage.razor.rz.scp.css */
.ess-card[b-na8v5gqlby] {
    width: 100%;
    max-width: 420px;
}

.ess-head[b-na8v5gqlby] {
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapMd);
    margin-bottom: var(--ds-contentPaddingXXlg);
}

.ess-head__icon[b-na8v5gqlby] {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--ds-inputRadius);
    background: var(--ds-listingItemFillActive);
    color: var(--ds-actionPrimaryFillHoverSolid);
}

.ess-head__title[b-na8v5gqlby] {
    margin: 0;
    font-size: var(--ds-sizeHeading4);
    font-weight: var(--ds-weightMedium);
    line-height: var(--hr-gap-lineTight);
    color: var(--ds-textMainBodyDefault);
}

.ess-head__sub[b-na8v5gqlby] {
    margin: 4px 0 0;
    font-size: var(--ds-sizeBody3);
    color: var(--ds-textSubtextSecondaryDefault);
}

.ess-form[b-na8v5gqlby] {
    display: flex;
    flex-direction: column;
    gap: var(--ds-contentGapMd);
}

.ess-step[b-na8v5gqlby] {
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapSm);
    margin: var(--ds-contentGapSm) 0 0;
    font-size: var(--ds-sizeBody3);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textSubtextSecondaryDefault);
}

.ess-step__num[b-na8v5gqlby] {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: var(--ds-sizeBody4);
    background: var(--ds-actionPrimaryFillDefaultSolid);
    color: var(--ds-textMainBodyInverse);
}

.ess-pill[b-na8v5gqlby] {
    align-self: flex-start;
    max-width: 100%;
    padding: 4px var(--ds-contentGapMd);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    border-radius: var(--ds-menuItemRadius);
    border: 1px solid var(--ds-infoHighlightOutline);
    background: var(--ds-listingItemFillActive);
    color: var(--ds-actionPrimaryFillHoverSolid);
    font-size: var(--ds-sizeBody3);
    font-weight: var(--ds-weightMedium);
}

.ess-links[b-na8v5gqlby] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--ds-contentGapSm);
}

[dir="rtl"] .ess-form[b-na8v5gqlby]  .mud-button-icon-end {
    transform: scaleX(-1);
}

.ess-done[b-na8v5gqlby]  .erp-empty__icon {
    color: var(--ds-actionSuccessFillDefaultSolid);
}
/* /Features/InvitedUsers/Pages/AcceptInvitationPage.razor.rz.scp.css */
/* Invitation card rendered inside PublicLayout. Colours, sizes and spacing come from the Erp tokens so the card
   follows the theme (html[data-theme=dark]); logical properties keep it correct in RTL. */
.invite[b-h6xad6nmuv] {
    width: 100%;
    max-width: 520px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: var(--ds-contentPaddingXXlg);
    padding: 32px var(--ds-contentPaddingXXlg);
    background: var(--ds-contentDefaultFill);
    border: 1px solid var(--ds-listingItemOutlineDefault);
    border-radius: var(--ds-contentBorderRadius);
    box-shadow: var(--hr-gap-shadowCard);
    color: var(--ds-textMainHeadingDefault);
    font-family: var(--ds-familyDefault), 'Segoe UI', sans-serif;
}

.invite--loading[b-h6xad6nmuv] {
    align-items: center;
    text-align: center;
    gap: var(--ds-contentGapMd);
}

.invite__head[b-h6xad6nmuv] {
    display: flex;
    align-items: flex-start;
    gap: var(--ds-contentGapLg);
}

.invite__head[b-h6xad6nmuv]  .invite__head-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    padding: var(--ds-contentGapMd);
    border-radius: var(--ds-inputRadius);
    background: var(--ds-infoNeutralFill);
    color: var(--ds-textMainSecondaryDefault);
}

.invite__heading[b-h6xad6nmuv],
.invite__title[b-h6xad6nmuv] {
    margin: 0;
    font-size: var(--ds-sizeHeading4);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textMainBodyDefault);
}

.invite__desc[b-h6xad6nmuv] {
    margin: 0;
    font-size: var(--ds-sizeBody3);
    line-height: 1.6;
    color: var(--ds-textSubtextSecondaryDefault);
}

.invite__details[b-h6xad6nmuv] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ds-contentGapLg);
    padding: var(--ds-contentGapLg);
    border-radius: var(--ds-inputRadius);
    background: var(--ds-pageDefaultFill);
}

/* Status screens reuse ErpEmptyState; only the icon takes the state's tone. */
.invite--error[b-h6xad6nmuv]  .erp-empty__icon {
    color: var(--ds-actionDangerFillDefaultSolid);
}

.invite--success[b-h6xad6nmuv]  .erp-empty__icon {
    color: var(--ds-actionSuccessFillDefaultSolid);
}

.invite--error[b-h6xad6nmuv]  .erp-empty,
.invite--success[b-h6xad6nmuv]  .erp-empty {
    padding-block: var(--ds-contentGapMd);
}

@media (max-width: 640px) {
    .invite[b-h6xad6nmuv] {
        padding: var(--ds-contentPaddingXXlg) var(--ds-contentGapLg);
    }

    .invite__details[b-h6xad6nmuv] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Features/InvitedUsers/Pages/ConfirmInvitedUserPage.razor.rz.scp.css */
/* Invitation card rendered inside PublicLayout. Colours, sizes and spacing come from the Erp tokens so the card
   follows the theme (html[data-theme=dark]); logical properties keep it correct in RTL. */
.invite[b-54ult2g358] {
    width: 100%;
    max-width: 520px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: var(--ds-contentPaddingXXlg);
    padding: 32px var(--ds-contentPaddingXXlg);
    background: var(--ds-contentDefaultFill);
    border: 1px solid var(--ds-listingItemOutlineDefault);
    border-radius: var(--ds-contentBorderRadius);
    box-shadow: var(--hr-gap-shadowCard);
    color: var(--ds-textMainHeadingDefault);
    font-family: var(--ds-familyDefault), 'Segoe UI', sans-serif;
}

.invite--loading[b-54ult2g358] {
    align-items: center;
    text-align: center;
    gap: var(--ds-contentGapMd);
}

.invite__head[b-54ult2g358] {
    display: flex;
    align-items: flex-start;
    gap: var(--ds-contentGapLg);
}

.invite__head[b-54ult2g358]  .invite__head-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    padding: var(--ds-contentGapMd);
    border-radius: var(--ds-inputRadius);
    background: var(--ds-infoNeutralFill);
    color: var(--ds-textMainSecondaryDefault);
}

.invite__heading[b-54ult2g358],
.invite__title[b-54ult2g358] {
    margin: 0;
    font-size: var(--ds-sizeHeading4);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textMainBodyDefault);
}

.invite__desc[b-54ult2g358] {
    margin: 0;
    font-size: var(--ds-sizeBody3);
    line-height: 1.6;
    color: var(--ds-textSubtextSecondaryDefault);
}

.invite__context[b-54ult2g358] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ds-contentGapLg);
    padding: var(--ds-contentGapLg);
    border-radius: var(--ds-inputRadius);
    background: var(--ds-pageDefaultFill);
}

/* Status screens reuse ErpEmptyState; only the icon takes the state's tone. */
.invite--error[b-54ult2g358]  .erp-empty__icon {
    color: var(--ds-actionDangerFillDefaultSolid);
}

.invite--success[b-54ult2g358]  .erp-empty__icon {
    color: var(--ds-actionSuccessFillDefaultSolid);
}

.invite--error[b-54ult2g358]  .erp-empty,
.invite--success[b-54ult2g358]  .erp-empty {
    padding-block: var(--ds-contentGapMd);
}

/* ---- Form ---- */
.invite[b-54ult2g358]  .invite__form {
    display: flex;
    flex-direction: column;
    gap: var(--ds-contentGapLg);
}

.invite__step[b-54ult2g358] {
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapSm);
    margin: 0;
    font-size: var(--ds-sizeBody2);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textMainSecondaryDefault);
}

.invite__step-num[b-54ult2g358] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: var(--ds-controlSingleSelectRadius);
    background: var(--ds-actionPrimaryFillDefaultSolid);
    color: var(--ds-textMainPrimaryInverse);
    font-size: var(--ds-sizeBody3);
}

.invite__row[b-54ult2g358] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ds-contentGapMd);
}

/* ---- Password strength ---- */
.invite__strength[b-54ult2g358] {
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapMd);
    margin-top: calc(-1 * var(--ds-contentGapSm));
}

.invite__strength-bar[b-54ult2g358] {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
}

.invite__strength-seg[b-54ult2g358] {
    height: 4px;
    border-radius: var(--ds-controlSingleSelectRadius);
    background: var(--ds-listingItemOutlineDefault);
}

.invite__strength-seg--weak[b-54ult2g358] { background: var(--ds-actionDangerFillDefaultSolid); }
.invite__strength-seg--fair[b-54ult2g358] { background: var(--ds-actionWarningFillDefaultSolid); }
.invite__strength-seg--strong[b-54ult2g358] { background: var(--ds-actionPrimaryFillDefaultSolid); }
.invite__strength-seg--vstrong[b-54ult2g358] { background: var(--ds-actionSuccessFillDefaultSolid); }

.invite__strength-text[b-54ult2g358] {
    font-size: var(--ds-sizeBody3);
    font-weight: var(--ds-weightMedium);
}

.invite__strength-text--weak[b-54ult2g358] { color: var(--ds-textMainDangerDefault); }
.invite__strength-text--fair[b-54ult2g358] { color: var(--ds-textMainWarningDefault); }
.invite__strength-text--strong[b-54ult2g358] { color: var(--ds-actionPrimaryFillHoverSolid); }
.invite__strength-text--vstrong[b-54ult2g358] { color: var(--ds-textMainSuccessDefault); }

.invite__legal[b-54ult2g358] {
    margin: 0;
    text-align: center;
    font-size: var(--ds-sizeBody3);
    color: var(--ds-textSubtextSecondaryDefault);
}

.invite__legal a[b-54ult2g358] {
    color: var(--ds-textMainSecondaryDefault);
    text-decoration: none;
}

@media (max-width: 640px) {
    .invite[b-54ult2g358] {
        padding: var(--ds-contentPaddingXXlg) var(--ds-contentGapLg);
    }

    .invite__context[b-54ult2g358],
    .invite__row[b-54ult2g358] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Features/OnlinePayment/Components/InvoiceSummaryCard.razor.rz.scp.css */
/* Invoice summary breakdown (ADO #22673), shared by the payment-link and subscription renewal pages.
   Blazor scoped CSS only matches elements written in this .razor file, so the rules live here, not on a host.
   Everything comes from the Erp tokens so the card follows the theme (dark mode) and RTL. */

.summary-card[b-peggruaajp] {
    background: var(--ds-contentDefaultFill);
    border: 1px solid var(--ds-listingItemOutlineDefault);
    border-radius: var(--ds-contentBorderRadius);
    box-shadow: var(--hr-gap-shadowCard);
    padding: var(--ds-contentPaddingXXlg);
    height: fit-content;
    font-family: var(--ds-familyDefault), 'Segoe UI', sans-serif;
}

.summary-title[b-peggruaajp] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--ds-contentGapSm);
    margin: 0 0 var(--ds-contentGapLg);
    padding-bottom: var(--ds-contentGapMd);
    border-bottom: 1px solid var(--ds-listingItemOutlineDefault);
    font-size: var(--ds-sizeBody2);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textMainBodyDefault);
}

.currency-badge[b-peggruaajp] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px var(--ds-contentGapMd);
    border-radius: var(--ds-controlSingleSelectRadius);
    background: var(--ds-infoNeutralFill);
    color: var(--ds-textMainSecondaryDefault);
    font-size: var(--ds-sizeBody3);
    font-weight: var(--ds-weightMedium);
}

.currency-icon[b-peggruaajp] {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.summary-section[b-peggruaajp] {
    margin: var(--ds-contentGapMd) 0;
}

.section-label[b-peggruaajp] {
    margin-bottom: var(--ds-contentGapSm);
    font-size: var(--ds-sizeBody3);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textSubtextSecondaryDefault);
}

.summary-item[b-peggruaajp] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--ds-contentGapMd);
    padding: var(--ds-contentGapMd) 0;
    border-bottom: 1px solid var(--ds-listingItemOutlineDefault);
}

.summary-item:last-of-type[b-peggruaajp] {
    border-bottom: none;
}

.item-name[b-peggruaajp] {
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapSm);
    font-size: var(--ds-sizeBody3);
    color: var(--ds-textMainBodyDefault);
}

.item-quantity[b-peggruaajp],
.feature-limit[b-peggruaajp] {
    font-size: var(--ds-sizeBody3);
    color: var(--ds-textSubtextSecondaryDefault);
}

.item-name.feature-name[b-peggruaajp] {
    padding-inline-start: var(--ds-contentPaddingXXlg);
    font-size: var(--ds-sizeBody3);
    color: var(--ds-textSubtextSecondaryDefault);
}

.item-price[b-peggruaajp] {
    font-size: var(--ds-sizeBody3);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textMainBodyDefault);
    font-variant-numeric: tabular-nums;
}

.summary-item.feature-item[b-peggruaajp] {
    padding: var(--ds-contentGapSm) 0;
    border-bottom: none;
}

.summary-item.subtotal .item-name[b-peggruaajp] {
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textMainBodyDefault);
}

.summary-item.total[b-peggruaajp] {
    margin-top: var(--ds-contentGapMd);
    padding: var(--ds-contentGapLg);
    border-bottom: none;
    border-radius: var(--ds-inputRadius);
    background: var(--ds-actionPrimaryFillDefaultSolid);
}

.summary-item.total .item-name[b-peggruaajp],
.summary-item.total .item-price[b-peggruaajp] {
    font-size: var(--ds-sizeBody2);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textMainPrimaryInverse);
}

.summary-divider[b-peggruaajp] {
    height: 1px;
    margin: var(--ds-contentGapMd) 0;
    background: var(--ds-listingItemOutlineDefault);
}
/* /Features/OnlinePayment/Components/PaymentWidgetPanel.razor.rz.scp.css */
/* Panel that hosts the OPPWA COPYandPAY widget (ADO #22673).

   Only the surrounding card is styled here. The card fields themselves live inside OPPWA's iframe and cannot
   be reached from this stylesheet — the widget chrome is styled globally in wwwroot/css/payment-widget.css.
   MudIcon / MudAlert render their own markup, so their classes are reached through ::deep. */

.payment-widget-panel[b-uqpwivxm92] {
    background: var(--ds-contentDefaultFill);
    border: 1px solid var(--ds-listingItemOutlineDefault);
    border-radius: var(--ds-contentBorderRadius);
    box-shadow: var(--hr-gap-shadowCard);
    padding: var(--ds-contentPaddingXXlg);
    font-family: var(--ds-familyDefault), 'Segoe UI', sans-serif;
}

.panel-title[b-uqpwivxm92] {
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapSm);
    margin: 0 0 var(--ds-contentGapLg);
    padding-bottom: var(--ds-contentGapMd);
    border-bottom: 1px solid var(--ds-listingItemOutlineDefault);
    font-size: var(--ds-sizeBody2);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textMainBodyDefault);
}

.panel-title[b-uqpwivxm92]  .panel-title-icon {
    color: var(--ds-textMainSecondaryDefault);
}

/* Reserves height so the panel does not collapse before the widget script has mounted. */
.payment-widget-wrapper[b-uqpwivxm92] {
    min-height: 18rem;
}

.payment-widget-panel[b-uqpwivxm92]  .widget-pending {
    margin: 0;
}

@media (max-width: 640px) {
    .payment-widget-panel[b-uqpwivxm92] {
        padding: var(--ds-contentGapLg);
    }
}
/* /Features/OnlinePayment/Pages/ConfirmOnlinePaymentPage.razor.rz.scp.css */
/* Full-page payment confirmation rendered in EmptyLayout: the page draws its own centred card.
   Colours, sizes and spacing come from the Erp tokens (dark mode follows); logical properties keep RTL right. */
.pay-confirm[b-49hmvtjcg6] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--ds-contentPaddingXXlg) var(--ds-contentGapLg);
    background: var(--ds-pageDefaultFill);
    font-family: var(--ds-familyDefault), 'Segoe UI', sans-serif;
}

.pay-confirm__card[b-49hmvtjcg6] {
    width: 100%;
    max-width: 560px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--ds-contentGapMd);
    padding: 32px var(--ds-contentPaddingXXlg);
    text-align: center;
    background: var(--ds-contentDefaultFill);
    border: 1px solid var(--ds-listingItemOutlineDefault);
    border-radius: var(--ds-contentBorderRadius);
    box-shadow: var(--hr-gap-shadowCard);
    color: var(--ds-textMainHeadingDefault);
}

.pay-confirm__title[b-49hmvtjcg6] {
    margin: 0;
    font-size: var(--ds-sizeHeading4);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textMainBodyDefault);
}

.pay-confirm__desc[b-49hmvtjcg6] {
    margin: 0;
    font-size: var(--ds-sizeBody3);
    line-height: 1.6;
    color: var(--ds-textSubtextSecondaryDefault);
}

/* ---- Loading steps ---- */
.pay-confirm__steps[b-49hmvtjcg6] {
    display: flex;
    justify-content: center;
    gap: var(--ds-contentPaddingXXlg);
    margin: var(--ds-contentGapMd) 0 0;
    padding: 0;
    list-style: none;
}

.pay-confirm__step[b-49hmvtjcg6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--ds-contentGapSm);
    font-size: var(--ds-sizeBody3);
    color: var(--ds-textSubtextSecondaryDefault);
}

.pay-confirm__step--done[b-49hmvtjcg6] {
    color: var(--ds-textMainSuccessDefault);
}

.pay-confirm__step--active[b-49hmvtjcg6] {
    color: var(--ds-textMainSecondaryDefault);
    font-weight: var(--ds-weightMedium);
}

/* ---- Status tones: ErpEmptyState icon takes the state's colour ---- */
.pay-confirm__card--success[b-49hmvtjcg6]  .erp-empty__icon {
    color: var(--ds-actionSuccessFillDefaultSolid);
}

.pay-confirm__card--error[b-49hmvtjcg6]  .erp-empty__icon {
    color: var(--ds-actionDangerFillDefaultSolid);
}

.pay-confirm__card[b-49hmvtjcg6]  .erp-empty {
    padding-block: 0;
}

.pay-confirm__card[b-49hmvtjcg6]  .pay-confirm__alert {
    width: 100%;
    text-align: start;
}

.pay-confirm__actions[b-49hmvtjcg6] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--ds-contentGapMd);
}

.pay-confirm__note[b-49hmvtjcg6] {
    margin: 0;
    font-size: var(--ds-sizeBody3);
    color: var(--ds-textSubtextSecondaryDefault);
}

.pay-confirm__code[b-49hmvtjcg6] {
    padding: 0 4px;
    border-radius: var(--ds-menuItemRadius);
    background: var(--ds-pageDefaultFill);
    color: var(--ds-textMainBodyDefault);
    word-break: break-all;
}

@media (max-width: 640px) {
    .pay-confirm__card[b-49hmvtjcg6] {
        padding: var(--ds-contentPaddingXXlg) var(--ds-contentGapLg);
    }

    .pay-confirm__steps[b-49hmvtjcg6] {
        gap: var(--ds-contentGapMd);
    }
}
/* /Features/OnlinePayment/Pages/PaymentLinkPage.razor.rz.scp.css */
/* Full-page payment link rendered in EmptyLayout: the page draws its own chrome.
   Colours, sizes and spacing come from the Erp tokens (dark mode follows); logical properties keep RTL right. */
.pay-page[b-cbrl2pbeg7] {
    min-height: 100vh;
    padding: 32px var(--ds-contentGapLg);
    background: var(--ds-pageDefaultFill);
    color: var(--ds-textMainHeadingDefault);
    font-family: var(--ds-familyDefault), 'Segoe UI', sans-serif;
}

.pay-layout[b-cbrl2pbeg7] {
    max-width: 1200px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: var(--ds-contentPaddingXXlg);
    align-items: start;
}

.pay-main[b-cbrl2pbeg7] {
    display: flex;
    flex-direction: column;
    gap: var(--ds-contentGapMd);
    min-width: 0;
}

.pay-main__card[b-cbrl2pbeg7] {
    display: flex;
    flex-direction: column;
    gap: var(--ds-contentPaddingXXlg);
    padding: var(--ds-contentPaddingXXlg);
    background: var(--ds-contentDefaultFill);
    border: 1px solid var(--ds-listingItemOutlineDefault);
    border-radius: var(--ds-contentBorderRadius);
    box-shadow: var(--hr-gap-shadowCard);
}

/* ---- Header: brand, title and the amount due, above both columns so the form card and the order
   summary start on the same line. ---- */
.pay-header[b-cbrl2pbeg7] {
    max-width: 1200px;
    margin: 0 auto var(--ds-contentPaddingXXlg);
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapLg);
    padding-bottom: var(--ds-contentGapLg);
    border-bottom: 1px solid var(--ds-listingItemOutlineDefault);
}

.pay-header__logo[b-cbrl2pbeg7] {
    height: 36px;
    width: auto;
    flex: 0 0 auto;
}

.pay-header__text[b-cbrl2pbeg7] {
    flex: 1 1 auto;
    min-width: 0;
    padding-inline-start: var(--ds-contentGapLg);
    border-inline-start: 1px solid var(--ds-listingItemOutlineDefault);
}

.pay-header__title[b-cbrl2pbeg7] {
    margin: 0;
    font-size: var(--ds-sizeHeading4);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textMainBodyDefault);
}

.pay-header__subtitle[b-cbrl2pbeg7] {
    margin: 4px 0 0;
    font-size: var(--ds-sizeBody3);
    color: var(--ds-textSubtextSecondaryDefault);
}

.pay-header__total[b-cbrl2pbeg7] {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: var(--ds-contentGapSm) var(--ds-contentGapLg);
    border-radius: var(--ds-inputRadius);
    background: var(--ds-listingItemFillActive);
}

.pay-header__total-label[b-cbrl2pbeg7] {
    font-size: var(--ds-sizeBody3);
    color: var(--ds-actionPrimaryFillHoverSolid);
}

.pay-header__total-value[b-cbrl2pbeg7] {
    font-size: var(--ds-sizeHeading4);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-actionPrimaryFillHoverSolid);
    white-space: nowrap;
}

.pay-side[b-cbrl2pbeg7] {
    position: sticky;
    top: var(--ds-contentPaddingXXlg);
}

/* ---- Loading / status screens ---- */
.pay-status[b-cbrl2pbeg7] {
    max-width: 520px;
    margin: 10vh auto 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--ds-contentGapMd);
    padding: 32px var(--ds-contentPaddingXXlg);
    text-align: center;
    background: var(--ds-contentDefaultFill);
    border: 1px solid var(--ds-listingItemOutlineDefault);
    border-radius: var(--ds-contentBorderRadius);
    box-shadow: var(--hr-gap-shadowCard);
}

.pay-status__text[b-cbrl2pbeg7] {
    margin: 0;
    font-size: var(--ds-sizeBody3);
    color: var(--ds-textSubtextSecondaryDefault);
}

.pay-status[b-cbrl2pbeg7]  .erp-empty {
    padding-block: 0;
}

.pay-status--error[b-cbrl2pbeg7]  .erp-empty__icon {
    color: var(--ds-actionDangerFillDefaultSolid);
}

.pay-status--success[b-cbrl2pbeg7]  .erp-empty__icon {
    color: var(--ds-actionSuccessFillDefaultSolid);
}

.pay-status--info[b-cbrl2pbeg7]  .erp-empty__icon {
    color: var(--ds-actionPrimaryFillDefaultSolid);
}

@media (max-width: 960px) {
    .pay-layout[b-cbrl2pbeg7] {
        grid-template-columns: minmax(0, 1fr);
    }

    .pay-side[b-cbrl2pbeg7] {
        position: static;
    }
}

@media (max-width: 640px) {
    .pay-page[b-cbrl2pbeg7] {
        padding: var(--ds-contentGapLg);
    }

    .pay-main__card[b-cbrl2pbeg7] {
        padding: var(--ds-contentGapLg);
    }

    .pay-header[b-cbrl2pbeg7] {
        flex-wrap: wrap;
    }

    .pay-header__text[b-cbrl2pbeg7] {
        flex-basis: 100%;
        order: 3;
        padding-inline-start: 0;
        border-inline-start: 0;
    }
}
/* /Features/Subscriptions/Pages/RenewSubscriptionPage.razor.rz.scp.css */
/* Billing form beside the order summary; stacks below 1024px. Fields, sections and empty states come from
   the Erp design system — this file only places them. Tokens only, so dark mode and RTL follow. */
.renew[b-0lxvxjk0i0] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
    gap: var(--ds-contentPaddingXXlg);
    align-items: start;
    margin: var(--ds-contentPaddingXXlg) var(--ds-pagePaddingX);
}

.renew__lead[b-0lxvxjk0i0] {
    margin: 0 0 var(--ds-contentPaddingXXlg);
    color: var(--ds-textSubtextSecondaryDefault);
    font-size: var(--ds-sizeBody3);
}

.renew__lead strong[b-0lxvxjk0i0] {
    color: var(--ds-textMainBodyDefault);
}

.renew__actions[b-0lxvxjk0i0] {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--ds-contentPaddingXXlg);
}

.renew__summary[b-0lxvxjk0i0] {
    position: sticky;
    top: var(--ds-contentGapLg);
}

.renew__loading[b-0lxvxjk0i0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--ds-contentGapMd);
    padding: 32px;
    color: var(--ds-textSubtextSecondaryDefault);
    font-size: var(--ds-sizeBody3);
}

.renew__loading p[b-0lxvxjk0i0] {
    margin: 0;
}

@media (max-width: 1024px) {
    .renew[b-0lxvxjk0i0] {
        grid-template-columns: minmax(0, 1fr);
    }

    .renew__summary[b-0lxvxjk0i0] {
        position: static;
    }
}

@media (max-width: 640px) {
    .renew[b-0lxvxjk0i0] {
        margin-inline: var(--ds-contentGapMd);
    }
}
/* /Features/Subscriptions/Pages/SubscriptionsPage.razor.rz.scp.css */
/* Card chrome (erp-cardgrid, erp-card-head/-title/-sub, erp-card-field__label) comes from the Erp design system;
   this file only lays out what sits inside one subscription card. Tokens only, so dark mode and RTL follow. */
.subscription[b-qdiay22ply] {
    display: flex;
    flex-direction: column;
    gap: var(--ds-contentGapMd);
}

.subscription__id[b-qdiay22ply] {
    min-width: 0;
}

.subscription__validity[b-qdiay22ply] {
    display: flex;
    flex-direction: column;
    gap: var(--ds-contentGapSm);
    font-size: var(--ds-sizeBody3);
}

.subscription__dates[b-qdiay22ply] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ds-contentGapSm);
    color: var(--ds-textMainBodyDefault);
    font-weight: var(--ds-weightMedium);
}

/* Shortcuts + ERP entry sit at the bottom of every card, so a row lines up whether or not a card
   shows a renewal warning. */
.subscription__actions[b-qdiay22ply] {
    display: flex;
    flex-direction: column;
    gap: var(--ds-contentGapMd);
    margin-top: auto;
}

/* Days left (or the expiry date) under the progress bar, coloured by state. */
.subscription__remaining[b-qdiay22ply] {
    font-size: var(--ds-sizeBody3);
    font-weight: var(--ds-weightMedium);
}

.subscription__remaining--active[b-qdiay22ply] {
    color: var(--ds-textMainSuccessDefault);
}

.subscription__remaining--expiring[b-qdiay22ply] {
    color: var(--ds-textMainWarningDefault);
}

.subscription__remaining--expired[b-qdiay22ply] {
    color: var(--ds-actionDangerFillDefaultSolid);
}

/* Renewal notice: one compact line (icon, message, link) instead of a tall alert block, so cards with and
   without it stay close in height. */
.subscription__notice[b-qdiay22ply] {
    display: flex;
    align-items: flex-start;
    gap: var(--ds-contentGapSm);
    padding: var(--ds-contentGapSm) var(--ds-contentGapMd);
    border-radius: var(--ds-inputRadius);
    border: 1px solid transparent;
    font-size: var(--ds-sizeBody3);
    line-height: 1.45;
    min-height: calc(2 * 1.45em + 2 * var(--ds-contentGapSm) + 2px);
}

.subscription__notice--active[b-qdiay22ply] {
    background: var(--ds-infoSuccessFill);
    border-color: var(--ds-infoSuccessOutline);
    color: var(--ds-textMainSuccessDefault);
}

.subscription__notice--expiring[b-qdiay22ply] {
    background: var(--ds-infoWarningFill);
    border-color: var(--ds-infoWarningOutline);
    color: var(--ds-textMainWarningDefault);
}

.subscription__notice--expired[b-qdiay22ply] {
    background: var(--ds-infoDangerFill);
    border-color: var(--ds-infoDangerOutline);
    color: var(--ds-textMainDangerDefault);
}

.subscription__notice-text[b-qdiay22ply] {
    flex: 1 1 auto;
    min-width: 0;
}

.subscription__notice-action[b-qdiay22ply] {
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: var(--ds-weightMedium);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
    white-space: nowrap;
}

.subscription__notice-action:focus-visible[b-qdiay22ply] {
    outline: 2px solid currentColor;
    outline-offset: 2px;
    border-radius: 2px;
}

.subscription__shortcuts[b-qdiay22ply] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ds-contentGapSm);
    padding-top: var(--ds-contentGapMd);
    border-top: 1px solid var(--ds-listingItemOutlineDefault);
}

.subscription__shortcut[b-qdiay22ply] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 0;
    padding: var(--ds-contentGapSm) 4px;
    border: 0;
    border-radius: var(--ds-inputRadius);
    background: transparent;
    color: var(--ds-iconPrimaryDefault);
    font: inherit;
    font-size: var(--ds-sizeBody3);
    font-weight: var(--ds-weightMedium);
    line-height: 1.3;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.subscription__shortcut span[b-qdiay22ply] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--ds-textSubtextSecondaryDefault);
}

.subscription__shortcut:hover:not(:disabled)[b-qdiay22ply] {
    background: var(--hr-gap-menuHoverFill);
}

.subscription__shortcut:hover:not(:disabled) span[b-qdiay22ply] {
    color: var(--ds-textMainSecondaryDefault);
}

.subscription__shortcut:focus-visible[b-qdiay22ply] {
    outline: var(--ds-borderWidthMd) solid var(--hr-gap-focusRing);
    outline-offset: 2px;
}

.subscription__shortcut:disabled[b-qdiay22ply] {
    opacity: 0.45;
    cursor: not-allowed;
}

/* "ERP Login" is long in Arabic: let it wrap inside a taller button instead of spilling out of it. */
.subscription__actions[b-qdiay22ply]  .erp-btn {
    height: auto;
    min-height: 44px;
    padding-block: var(--ds-contentGapSm);
}

.subscription__actions[b-qdiay22ply]  .erp-btn .mud-button-label {
    line-height: 1.35;
    white-space: normal;
    text-align: center;
}

/* Same side gutters as the page header and the other pages' .erp-card. */
.subscriptions[b-qdiay22ply] {
    margin: var(--ds-contentPaddingXXlg) var(--ds-pagePaddingX);
}
/* /Features/Users/Pages/Dialogs/EditUserDialog.razor.rz.scp.css */
.users-dialog__fields[b-5bhyun3l7q] {
    display: flex;
    flex-direction: column;
    gap: var(--ds-contentGapLg);
}

.users-dialog__loading[b-5bhyun3l7q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--ds-contentGapMd);
    padding: var(--ds-contentPaddingXXlg);
    color: var(--ds-textSubtextSecondaryDefault);
    font-size: var(--ds-sizeBody3);
}

.users-dialog__identity[b-5bhyun3l7q] {
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapMd);
    margin-block-end: var(--ds-contentGapLg);
}

.users-dialog__avatar[b-5bhyun3l7q] {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    overflow: hidden;
    border-radius: 50%;
    background-color: var(--ds-infoNeutralFill);
    color: var(--ds-textMainPrimaryDefault);
    font-size: var(--ds-sizeBody3);
    font-weight: var(--ds-weightMedium);
}

.users-dialog__avatar img[b-5bhyun3l7q] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.users-dialog__email[b-5bhyun3l7q] {
    color: var(--ds-textSubtextSecondaryDefault);
    font-size: var(--ds-sizeBody3);
    overflow-wrap: anywhere;
}
/* /Features/Users/Pages/Dialogs/InviteUserDialog.razor.rz.scp.css */
.users-dialog__fields[b-evdcz9advb] {
    display: flex;
    flex-direction: column;
    gap: var(--ds-contentGapLg);
}

.users-dialog__loading[b-evdcz9advb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--ds-contentGapMd);
    padding: var(--ds-contentPaddingXXlg);
    color: var(--ds-textSubtextSecondaryDefault);
    font-size: var(--ds-sizeBody3);
}
/* /Features/Users/Pages/UsersPage.razor.rz.scp.css */
/* The list has nothing to export, print or import, so the toolbar's always-rendered gear menu stays hidden. */
.users-page[b-k09khb580x]  .erp-list-toolbar__settings {
    display: none;
}

.users-page__identity[b-k09khb580x] {
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapSm);
}

.users-page__avatar[b-k09khb580x] {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    overflow: hidden;
    border-radius: 50%;
    background-color: var(--ds-infoNeutralFill);
    color: var(--ds-textMainPrimaryDefault);
    font-size: var(--ds-sizeBody3);
    font-weight: var(--ds-weightMedium);
}

.users-page__avatar img[b-k09khb580x] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* /Layout/AuthLayout.razor.rz.scp.css */
/* ---- Auth pages shell ----------------------------------------------------------------
   Shared home for every anonymous auth page's look (Login.razor, Login-redirect.razor):
   the full-viewport primary-coloured backdrop plus the floating card, spinner, step
   indicators and state icons rendered inside it. Kept in one place (here, on the layout
   both pages share) rather than duplicated per-page or dropped into the global app.css,
   since it only ever applies to the two auth pages and disappears with this layout.
   ::deep is required throughout: the card markup lives in @Body, i.e. in the routed
   page's own component, not in this layout's markup. Colours come from the design-system tokens so the
   pages follow the theme (including dark mode) instead of the old hard-coded purple. ---- */
.erp-auth[b-t01z314pfs] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    /* The same secondary (slate) backdrop as the boot splash in index.html and the HR shell's auth overlay, so
       login follows the launch seamlessly. */
    background: var(--ds-actionSecondaryFillHoverSolid);
    padding: var(--ds-contentGapLg);
    position: relative;
    overflow: hidden;
}

/* As the boot splash: in dark mode the secondary fill lightens, so the backdrop takes the page surface instead. */
html[data-theme="dark"] .erp-auth[b-t01z314pfs] {
    background: var(--ds-pageDefaultFill);
}

[b-t01z314pfs] .erp-auth-card {
    width: 100%;
    max-width: 480px;
    background: var(--ds-contentDefaultFill);
    border-radius: var(--ds-contentBorderRadius);
    box-shadow: var(--hr-gap-shadowPopover);
    padding: 3rem 2.5rem;
    text-align: center;
    position: relative;
    z-index: 1;
    animation: erpAuthSlideUp-b-t01z314pfs 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

[b-t01z314pfs] .erp-auth-logo-wrapper {
    margin-bottom: 1.5rem;
}

[b-t01z314pfs] .erp-auth-logo {
    width: 72px;
    height: auto;
    filter: drop-shadow(var(--hr-gap-shadowCard));
}

[b-t01z314pfs] .erp-auth-section {
    animation: erpAuthContentFade-b-t01z314pfs 0.3s ease-out;
}

/* ---- Spinner ---- */
[b-t01z314pfs] .erp-auth-spinner {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

[b-t01z314pfs] .erp-auth-spinner-ring {
    width: 48px;
    height: 48px;
    border: 3px solid var(--ds-infoNeutralFill);
    border-top-color: var(--ds-actionPrimaryFillDefaultSolid);
    border-radius: 50%;
    animation: erpAuthSpin-b-t01z314pfs 0.8s linear infinite;
}

/* ---- Typography ---- */
[b-t01z314pfs] .erp-auth-title {
    font-weight: var(--ds-weightMedium) !important;
    color: var(--ds-textMainBodyDefault);
    margin-bottom: 0.5rem !important;
}

[b-t01z314pfs] .erp-auth-title--error { color: var(--ds-actionDangerFillDefaultSolid) !important; }
[b-t01z314pfs] .erp-auth-title--success { color: var(--ds-actionSuccessFillDefaultSolid) !important; }

[b-t01z314pfs] .erp-auth-subtitle {
    color: var(--ds-textSubtextSecondaryDefault);
    margin-bottom: 1.5rem !important;
    line-height: 1.6;
}

/* ---- Step indicators (callback page) ---- */
[b-t01z314pfs] .erp-auth-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-top: 2rem;
    padding: 0 1rem;
}

[b-t01z314pfs] .erp-auth-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    min-width: 70px;
}

[b-t01z314pfs] .erp-auth-step-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    background: var(--ds-pageDefaultFill);
    border: 2px solid var(--ds-listingItemOutlineDefault);
}

[b-t01z314pfs] .erp-auth-step--active .erp-auth-step-dot {
    background: var(--ds-listingItemFillActive);
    border-color: var(--ds-actionPrimaryFillDefaultSolid);
    animation: erpAuthDotPulse-b-t01z314pfs 1.5s ease-in-out infinite;
}

[b-t01z314pfs] .erp-auth-step--done .erp-auth-step-dot {
    background: var(--ds-actionPrimaryFillDefaultSolid);
    border-color: var(--ds-actionPrimaryFillDefaultSolid);
}

[b-t01z314pfs] .erp-auth-step-label {
    font-size: var(--ds-sizeBody4);
    font-weight: var(--ds-weightRegular);
    color: var(--ds-textSubtextSecondaryDefault);
    transition: color 0.3s ease;
}

[b-t01z314pfs] .erp-auth-step--active .erp-auth-step-label,
[b-t01z314pfs] .erp-auth-step--done .erp-auth-step-label {
    color: var(--ds-textMainPrimaryDefault);
    font-weight: var(--ds-weightMedium);
}

[b-t01z314pfs] .erp-auth-step-line {
    width: 40px;
    height: 2px;
    background: var(--ds-listingItemOutlineDefault);
    margin: 0 0.25rem;
    margin-bottom: 1.75rem;
    transition: background 0.3s ease;
}

[b-t01z314pfs] .erp-auth-step-line--done { background: var(--ds-actionPrimaryFillDefaultSolid); }

/* ---- Error / success icons ---- */
[b-t01z314pfs] .erp-auth-icon {
    margin-bottom: 1rem;
}

[b-t01z314pfs] .erp-auth-icon--error { animation: erpAuthShake-b-t01z314pfs 0.5s ease-in-out; }
[b-t01z314pfs] .erp-auth-icon--success { animation: erpAuthSuccessPop-b-t01z314pfs 0.5s cubic-bezier(0.4, 0, 0.2, 1); }

[b-t01z314pfs] .erp-auth-success-progress {
    height: 4px;
    background: var(--ds-infoSuccessFill);
    border-radius: 4px;
    overflow: hidden;
    margin-top: 1rem;
}

[b-t01z314pfs] .erp-auth-success-bar {
    height: 100%;
    width: 40%;
    background: var(--ds-actionSuccessFillDefaultSolid);
    border-radius: 4px;
    animation: erpAuthProgressSlide-b-t01z314pfs 1.5s ease-in-out infinite;
}

/* ---- Animations ---- */
@keyframes erpAuthSlideUp-b-t01z314pfs {
    from { opacity: 0; transform: translateY(30px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes erpAuthContentFade-b-t01z314pfs {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes erpAuthSpin-b-t01z314pfs {
    to { transform: rotate(360deg); }
}

@keyframes erpAuthDotPulse-b-t01z314pfs {
    0%, 100% { box-shadow: 0 0 0 0 var(--hr-gap-focusHalo); }
    50% { box-shadow: 0 0 0 6px transparent; }
}

@keyframes erpAuthShake-b-t01z314pfs {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); }
    20%, 40%, 60%, 80% { transform: translateX(4px); }
}

@keyframes erpAuthSuccessPop-b-t01z314pfs {
    0% { transform: scale(0); opacity: 0; }
    60% { transform: scale(1.1); }
    100% { transform: scale(1); opacity: 1; }
}

@keyframes erpAuthProgressSlide-b-t01z314pfs {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(350%); }
}

@media (prefers-reduced-motion: reduce) {
    [b-t01z314pfs] .erp-auth-card,
    [b-t01z314pfs] .erp-auth-section,
    [b-t01z314pfs] .erp-auth-spinner-ring,
    [b-t01z314pfs] .erp-auth-step-dot,
    [b-t01z314pfs] .erp-auth-icon,
    [b-t01z314pfs] .erp-auth-success-bar {
        animation: none;
    }
}

@media (max-width: 640px) {
    [b-t01z314pfs] .erp-auth-card { padding: 2rem 1.5rem; border-radius: var(--ds-inputRadius); }
    [b-t01z314pfs] .erp-auth-logo { width: 60px; }
    [b-t01z314pfs] .erp-auth-step-line { width: 24px; }
}
/* /Layout/PublicLayout.razor.rz.scp.css */
/* ---- Public layout: branding panel + content panel, full viewport, no page scroll ----
   The branding panel reuses the side-menu rail tokens (the same dark teal the signed-in shell uses), so it
   needs no dark-mode override; the content panel follows the surface tokens. ---- */
.pl-root[b-xvxurg4238] {
    display: flex;
    height: 100vh;
    overflow: hidden;
    font-family: var(--ds-familyDefault), 'Segoe UI', sans-serif;
}

/* ---- Branding panel ---- */
.pl-brand[b-xvxurg4238] {
    flex: 0 0 42%;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ds-navPrimaryContainerFill);
    color: var(--ds-textMainBodyInverse);
}

.pl-brand__mesh[b-xvxurg4238] {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, var(--ds-navPrimaryListOutline) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
}

.pl-brand__body[b-xvxurg4238] {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 360px;
    padding: 32px 32px;
    display: flex;
    flex-direction: column;
}

.pl-brand__logo[b-xvxurg4238] {
    display: block;
    height: 48px;
    max-width: 200px;
    margin: 0 auto 32px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.pl-brand__welcome[b-xvxurg4238] {
    margin: 0 0 4px;
    font-size: var(--ds-sizeBody3);
    font-weight: var(--ds-weightMedium);
    color: var(--ds-textSubtextPrimaryInverse);
}

.pl-brand__headline[b-xvxurg4238] {
    margin: 0 0 var(--ds-contentGapSm);
    font-size: var(--ds-sizeHeading3);
    font-weight: var(--ds-weightMedium);
    line-height: var(--hr-gap-lineTight);
    color: var(--ds-textMainBodyInverse);
}

/* On the dark nav surface the active-item fill (primary 500) is too dark to read; the inverse primary icon tone
   (primary 300) is the brand accent the side menu itself uses on this surface. */
.pl-brand__accent[b-xvxurg4238] {
    display: block;
    color: var(--ds-iconPrimaryInverse);
}

.pl-brand__desc[b-xvxurg4238] {
    margin: 0;
    font-size: var(--ds-sizeBody3);
    color: var(--ds-textSubtextPrimaryInverse);
}

.pl-brand__sep[b-xvxurg4238] {
    width: 40px;
    height: 2px;
    margin: var(--ds-contentPaddingXXlg) 0;
    border-radius: var(--ds-controlSingleSelectRadius);
    background: var(--ds-navPrimaryItemActiveFill);
}

.pl-brand__feats[b-xvxurg4238] {
    list-style: none;
    margin: 0 0 var(--ds-contentPaddingXXlg);
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--ds-contentGapMd);
}

.pl-brand__feats li[b-xvxurg4238] {
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapMd);
    font-size: var(--ds-sizeBody3);
}

.pl-brand__check[b-xvxurg4238] {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--ds-menuItemRadius);
    border: var(--ds-borderWidthSm) solid var(--ds-navPrimaryListOutline);
    color: var(--ds-iconPrimaryInverse);
}

.pl-brand__trust[b-xvxurg4238] {
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapMd);
}

.pl-brand__trust-item[b-xvxurg4238] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: var(--ds-sizeBody4);
    color: var(--ds-textSubtextPrimaryInverse);
}

.pl-brand__trust-dot[b-xvxurg4238] {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--ds-textSubtextPrimaryInverse);
}

/* ---- Content panel ---- */
.pl-content[b-xvxurg4238] {
    flex: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--ds-contentDefaultFill);
    color: var(--ds-textMainBodyDefault);
}

.pl-controls[b-xvxurg4238] {
    position: absolute;
    top: var(--ds-contentGapLg);
    inset-inline-end: var(--ds-contentPaddingXXlg);
    z-index: 10;
    display: flex;
    align-items: center;
    gap: var(--ds-contentGapSm);
}

.pl-lang[b-xvxurg4238] {
    display: flex;
    gap: 2px;
    padding: 3px;
    border-radius: var(--ds-menuItemRadius);
    background: var(--ds-pageDefaultFill);
    border: 1px solid var(--ds-listingItemOutlineDefault);
}

.pl-lang__btn[b-xvxurg4238] {
    border: none;
    border-radius: var(--ds-menuItemRadius);
    padding: 4px var(--ds-contentGapMd);
    font: inherit;
    font-size: var(--ds-sizeBody4);
    font-weight: var(--ds-weightMedium);
    line-height: 1;
    cursor: pointer;
    background: transparent;
    color: var(--ds-textSubtextSecondaryDefault);
}

.pl-lang__btn:hover[b-xvxurg4238] {
    color: var(--ds-textMainHeadingDefault);
}

.pl-lang__btn:focus-visible[b-xvxurg4238] {
    outline: none;
    box-shadow: var(--hr-gap-focusRing);
}

.pl-lang__btn--on[b-xvxurg4238] {
    background: var(--ds-contentDefaultFill);
    color: var(--ds-actionPrimaryFillDefaultSolid);
    box-shadow: var(--hr-gap-shadowCard);
}

.pl-controls[b-xvxurg4238]  .pl-theme {
    border: 1px solid var(--ds-listingItemOutlineDefault);
    border-radius: var(--ds-menuItemRadius);
    color: var(--ds-textSubtextSecondaryDefault);
}

.pl-content__body[b-xvxurg4238] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px var(--ds-pagePaddingX);
    overflow-y: auto;
    scrollbar-width: none;
}

.pl-content__body[b-xvxurg4238]::-webkit-scrollbar {
    display: none;
}

/* ---- Small screens: the branding panel is dropped ---- */
@media (max-width: 768px) {
    .pl-brand[b-xvxurg4238] {
        display: none;
    }

    .pl-content__body[b-xvxurg4238] {
        padding: var(--ds-pagePaddingX) var(--ds-contentGapLg) 32px;
        align-items: flex-start;
    }

    .pl-controls[b-xvxurg4238] {
        top: var(--ds-contentGapMd);
        inset-inline-end: var(--ds-contentGapLg);
    }
}
/* /Pages/NoPlatformAccessPage.razor.rz.scp.css */
/* The card, icon and typography come from AuthLayout.razor.css; only the account chip is page-specific. */
.npa-user[b-9poyklfnds] {
    display: inline-flex;
    align-items: center;
    gap: var(--ds-contentGapSm);
    max-width: 100%;
    margin: 0 0 var(--ds-contentPaddingXXlg);
    padding: 4px var(--ds-contentGapMd);
    border-radius: var(--ds-controlSingleSelectRadius);
    background: var(--ds-pageDefaultFill);
    color: var(--ds-textSubtextSecondaryDefault);
    font-size: var(--ds-sizeBody3);
}

.npa-user__name[b-9poyklfnds] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
