/* Public theme inputs belong on the existing frontend root, never :root/body.
   Reuse --bs-* for the palette, --aksa-action-* and --aksa-radius-sm for buttons,
   --aksa-ui-font-family for text and --cms-menu-icon-color for menu icons.
   Optional shell inputs below retain the current appearance when omitted. */
body .landing-root[data-aksa-layout="frontend"] {
    --bs-font-sans-serif: var(--aksa-ui-font-family);
    --bs-body-font-family: var(--aksa-ui-font-family);
    --rz-text-font-family: var(--aksa-ui-font-family);
    font-family: var(--aksa-ui-font-family);
    color: var(--aksa-text);
}

body .landing-root[data-aksa-layout="frontend"] .landing-header {
    background: var(--aksa-public-header-background, rgba(var(--bs-body-bg-rgb), .965));
    color: var(--aksa-public-header-color, inherit);
}

[data-bs-theme="dark"] body .landing-root[data-aksa-layout="frontend"] .landing-header {
    background: var(--aksa-public-header-background, rgba(var(--bs-body-bg-rgb), .97));
}

body .landing-root[data-aksa-layout="frontend"] :is(.landing-header, .landing-mobile-drawer) .cms-menu-shell {
    color: var(--aksa-public-navigation-color, var(--bs-body-color));
}

body .landing-root[data-aksa-layout="frontend"] .landing-footer {
    color: var(--aksa-public-footer-color, var(--bs-gray-700));
    background: var(--aksa-public-footer-background,
        radial-gradient(circle at 15% 0%, rgba(var(--bs-primary-rgb), .05), transparent 28rem),
        linear-gradient(180deg, rgba(var(--bs-body-bg-rgb), .92), var(--bs-body-bg)));
}

body .landing-root[data-aksa-layout="frontend"] .landing-footer-menu__title {
    color: var(--aksa-public-footer-heading-color, var(--bs-gray-900));
}

body .landing-root[data-aksa-layout="frontend"] .landing-footer__grid {
    margin-inline: 0;
}

body .landing-root[data-aksa-layout="frontend"] .landing-footer-menu .cms-menu-linklist .menu-link {
    color: var(--aksa-public-footer-color, var(--bs-gray-700));
}

body .landing-root[data-aksa-layout="frontend"] .landing-footer-menu .cms-menu-linklist .menu-link:is(:hover, [aria-current="page"]) {
    color: var(--bs-primary);
}

body .landing-root[data-aksa-layout="frontend"] .landing-footer-social a,
body .landing-root[data-aksa-layout="frontend"] .landing-footer-social i {
    color: var(--aksa-public-icon-color, var(--aksa-public-footer-color, var(--bs-gray-700)));
}

body .landing-root[data-aksa-layout="frontend"] .landing-footer-social a:is(:hover, :focus-visible) {
    background: rgba(var(--bs-primary-rgb), .1);
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

/* Shared public header: identity/search/tools followed by the existing CMS navigation. */
body .landing-root[data-aksa-layout="frontend"] .landing-header .landing-header-shell {
    display: grid;
    grid-template-columns: minmax(110px, 180px) minmax(0, 1fr) max-content;
    gap: .55rem 1rem;
    max-width: var(--aksa-public-header-max-width, 1600px);
    padding-block: .65rem 0;
}
body .landing-header__brand { grid-column: 1; grid-row: 1; }
body .landing-header__search {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    z-index: 5;
    min-inline-size: 0;
    inline-size: 100%;
    max-inline-size: 48rem;
    justify-self: center;
}
body .landing-header__search .storefront-mega-search { inline-size: 100%; }
/* Blazor's empty outlets contain only comments. Release the search slot without
   changing widget selection, order or the storefront's activation state. */
body .landing-root[data-aksa-layout="frontend"] .landing-header__search:empty { display: none; }
body .landing-header__actions { grid-column: 3; grid-row: 1; }
body .landing-root .landing-header .landing-header__center {
    grid-column: 1 / -1;
    grid-row: 2;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: .25rem .75rem;
    inline-size: 100%;
    padding-block: .35rem;
    border-block-start: 1px solid var(--bs-border-color);
    background: var(--aksa-public-navigation-background, transparent);
    color: var(--aksa-public-navigation-color, inherit);
}
body .landing-root .landing-header .landing-header__default-navigation {
    display: contents;
}
body .landing-header__center .storefront-commerce-bar {
    inline-size: auto;
    margin: 0;
    flex: 0 0 auto;
    justify-content: flex-start;
}
body .landing-header__center .storefront-commerce-bar__products {
    border-color: transparent;
    background: transparent;
    min-block-size: 36px;
    border-radius: .45rem;
    font-size: .875rem;
    font-weight: 600;
}
body .landing-header__center .cms-menu-link,
body .landing-header__center .cms-menu-root-toggle { min-block-size: 36px; }
body .landing-header__center .cms-menu-panel {
    margin-block-start: .35rem;
    text-align: start;
}
body .landing-header__center .cms-menu-panel:not(.cms-menu-panel--mega) {
    inline-size: max-content;
    min-inline-size: min(16rem, calc(100vw - 16px));
}
body .landing-root .landing-header:has(.storefront-brand) .landing-header__center {
    padding: .35rem .65rem;
    border-block-start: 0;
    background: var(--aksa-public-navigation-background, transparent);
    color: var(--aksa-public-navigation-color, var(--bs-emphasis-color));
}
body .landing-root .landing-header:has(.storefront-brand) {
    height: auto;
    flex-shrink: 0;
    border-block-end: 0;
    box-shadow: none;
}
body .landing-header:has(.storefront-brand) .storefront-commerce-bar { order: -1; }
body .landing-header:has(.storefront-brand) .landing-header__center :is(.storefront-commerce-bar__products, .storefront-commerce-bar__products i, .cms-menu-shell) {
    color: inherit;
}
body .landing-header:has(.storefront-brand) .landing-header__center :is(.cms-menu-row:hover, .cms-menu-root-toggle[aria-expanded="true"], .storefront-commerce-bar__products:hover) {
    color: inherit;
    background: var(--aksa-public-navigation-hover-background, color-mix(in srgb, var(--bs-emphasis-color) 6%, var(--bs-body-bg)));
}
body .landing-header__center :is(.cms-menu-panel, .storefront-category-menu__panel) { color: var(--bs-body-color); }
.storefront-category-menu { position: relative; }
.storefront-category-menu > summary { list-style: none; cursor: pointer; }
.storefront-category-menu > summary::-webkit-details-marker { display: none; }
.storefront-category-menu > summary > .ki-down { font-size: .7rem; }
.storefront-category-menu__panel {
    position: absolute;
    inset-block-start: calc(100% + .35rem);
    inset-inline-start: 0;
    z-index: 1060;
    inline-size: 20rem;
    max-inline-size: calc(100vw - 16px);
    max-block-size: min(32rem, 70dvh);
    overflow: auto;
    overscroll-behavior: contain;
    padding: .45rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .65rem;
    background: var(--bs-body-bg);
    box-shadow: 0 .7rem 1.9rem rgba(0, 0, 0, .13);
}
.storefront-category-menu__all {
    display: block;
    padding: .6rem .65rem;
    color: var(--bs-primary);
    border-block-end: 1px solid var(--bs-border-color);
    text-decoration: none;
}
body .landing-header .landing-theme-action { display: flex; flex: 0 0 auto; }

/* Standalone CMS topics share the public palette and a readable content width.
   Authored inline formatting and the topic's explicit direction remain authoritative. */
.landing-root[data-aksa-layout="frontend"] .topic-public__container {
    max-inline-size: min(var(--aksa-public-content-width, 1440px), 76rem);
    padding-block: clamp(1.25rem, 3vw, 2.5rem);
}
.topic-public__title {
    margin: 0 0 1rem;
    color: var(--bs-emphasis-color, var(--bs-body-color));
    font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
    font-weight: 700;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.topic-public__intro,
.topic-public__body {
    min-inline-size: 0;
    font-family: inherit;
    font-size: 1.05rem;
    line-height: 1.95;
    overflow-wrap: anywhere;
}
.topic-public__intro {
    margin-block-end: 1.25rem;
    color: var(--bs-secondary-color, var(--bs-body-color));
}
.topic-public__body { color: var(--bs-body-color); }
.topic-public__body :where(h1, h2, h3, h4, h5, h6) {
    margin-block: 1.5em .65em;
    color: var(--bs-emphasis-color, var(--bs-body-color));
    font-family: inherit;
    line-height: 1.6;
}
.topic-public__body :where(h1, h2) { font-size: 1.4rem; }
.topic-public__body :where(h3, h4, h5, h6) { font-size: 1.15rem; }
.topic-public__body :where(p, ul, ol, blockquote, pre) { margin-block: 0 1em; }
.topic-public__body :where(ul, ol) { padding-inline-start: 1.5rem; }
.topic-public__body :where(img, video, iframe) { max-inline-size: 100%; }
.topic-public__body :where(img, video) { height: auto; }
.topic-public__body pre { max-inline-size: 100%; overflow: auto; }
.topic-public__body table {
    display: block;
    max-inline-size: 100%;
    overflow-x: auto;
}
.topic-public__body > :first-child,
.topic-public__intro > :first-child { margin-block-start: 0; }
.topic-public__body > :last-child,
.topic-public__intro > :last-child { margin-block-end: 0; }
.header-language-menu { position: relative; flex: 0 0 auto; }
.header-language-menu > summary { list-style: none; }
.header-language-menu > summary::-webkit-details-marker { display: none; }
.header-language-menu__panel {
    position: absolute;
    inset-block-start: calc(100% + .5rem);
    inset-inline-end: 0;
    z-index: 1065;
    min-inline-size: 10rem;
    max-inline-size: calc(100vw - 1rem);
    max-block-size: min(24rem, 70dvh);
    overflow-y: auto;
    padding: .35rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .65rem;
    background: var(--bs-body-bg);
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .12);
}
.header-language-menu__option {
    display: block;
    inline-size: 100%;
    border: 0;
    border-radius: .4rem;
    padding: .6rem .8rem;
    background: transparent;
    color: var(--bs-body-color);
    text-align: start;
    font: inherit;
}
.header-language-menu__option:hover,
.header-language-menu__option[aria-pressed="true"] {
    color: var(--bs-primary);
    background: rgba(var(--bs-primary-rgb), .08);
}
.header-language-menu :is(summary, button):focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}
body .landing-header__actions .messaging-notifications__menu {
    max-inline-size: calc(100vw - 1rem);
}
@media (max-width: 1199.98px) {
    body .landing-root[data-aksa-layout="frontend"] .landing-header .landing-header-shell {
        grid-template-columns: minmax(0, 1fr) auto max-content;
        padding-block: .55rem;
    }
    body .landing-header__search { inline-size: auto; justify-self: end; }
    body .landing-header__search .storefront-mega-search { inline-size: auto; }
    body .landing-header__search:empty { display: none; }
    body .landing-header__brand { min-inline-size: 0; }
    body .landing-header__brand .landing-brand-link { flex-shrink: 1; }
    body .landing-header__brand .storefront-brand { flex: 1 1 auto; }
    body .landing-header__brand :is(.landing-site-logo, .storefront-brand__media) { max-inline-size: 100%; }
    body .landing-header__actions { gap: .25rem; }
    body .landing-header__actions .storefront-header-action > span {
        position: absolute;
        inline-size: 1px;
        block-size: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }
    body .landing-root[data-aksa-layout="frontend"] .landing-header .landing-header-shell:has(> .landing-header__search:empty) {
        display: flex;
        flex-wrap: wrap;
    }
    body .landing-root[data-aksa-layout="frontend"] .landing-header-shell:has(> .landing-header__search:empty) > .landing-header__actions {
        flex: 0 1 auto;
        inline-size: auto;
        margin-inline-start: auto;
    }
}
@media (max-width: 575.98px) {
    body .landing-root[data-aksa-layout="frontend"] .landing-header .landing-header-shell {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .25rem .5rem;
    }
    body .landing-header__actions {
        grid-column: 1 / -1;
        grid-row: 2;
        inline-size: 100%;
        justify-content: flex-end;
        flex-wrap: wrap;
    }
    body .landing-header__actions .landing-header-actions-wrap { inline-size: auto; }
    body .landing-header__brand :is(.landing-site-logo, .storefront-brand__media) { max-inline-size: 150px; }
    body .customer-portal-root {
        --bs-app-header-height: 106px;
        --bs-app-header-height-actual: 106px;
    }
    body .customer-portal-root .customer-portal-header__container {
        flex-wrap: wrap;
        align-content: center;
        gap: .25rem;
        padding-block: .35rem;
    }
    body .customer-portal-root .customer-portal-header__wrapper {
        flex: 0 0 100%;
        justify-content: flex-end;
    }
}

/* Shared service cards in the customer portal, public catalog and optional home zone. */
.service-offering-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 23rem), 1fr));
    gap: 1.5rem;
}
.service-offering {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .85rem;
    padding: 1.25rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 1.25rem;
    background: radial-gradient(ellipse at top right, rgba(var(--bs-primary-rgb), .065), transparent 65%), var(--bs-body-bg);
}
.service-offering__icon {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 1rem;
    background: rgba(var(--bs-primary-rgb), .1);
    color: var(--bs-primary);
    font-size: 1.8rem;
}
.service-offering__title { margin: 0; font-size: 1.1rem; font-weight: 750; line-height: 1.65; overflow-wrap: anywhere; }
.service-offering__description { margin: 0 0 .5rem; color: var(--bs-secondary-color); line-height: 1.9; white-space: pre-line; overflow-wrap: anywhere; }
.service-offering__action { display: inline-flex; align-items: center; gap: .75rem; align-self: flex-start; margin-top: auto; }
[dir="ltr"] .service-offering__action > i { transform: rotate(180deg); }

/* Public navigation and service catalog: shared rules also reach child components. */
body .service-catalog .svc-hero-content {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    padding: clamp(1rem, 2vw, 1.75rem);
}
body .service-catalog .svc-search-grid,
body .service-catalog .svc-search-wrap { min-inline-size: 0; }
body .service-catalog .aksa-search-input {
    --ak-rz-control-height: 3.25rem;
    --aksa-search-leading-space: 3rem;
    --aksa-search-trailing-space: 3rem;
}
body .service-catalog .aksa-search-input__control {
    min-block-size: 3.25rem;
    border-radius: .65rem;
}
body .service-catalog .svc-primary-btn { min-block-size: 3.25rem; }
body .service-catalog .svc-results-card.card {
    /* The shared theme intentionally marks all card surfaces important. */
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible;
}
body .service-catalog .svc-results-card > .card-header,
body .service-catalog .svc-results-card > .card-body {
    background: transparent;
    padding-inline: 0;
}
body .service-catalog .svc-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 24rem), 1fr));
    align-items: stretch;
    gap: 1rem;
}
body .service-catalog .svc-product-card:hover { transform: none; }
body .service-catalog .svc-product-head { flex-wrap: wrap; }
body .service-catalog .svc-product-title { line-height: 1.7; }
body .service-catalog .svc-product-summary { line-height: 1.9; }
body .service-catalog .svc-product-card:not(:has(.svc-product-summary p, .svc-meta span)) > .card-body { display: none; }
body .service-catalog .svc-product-card:not(:has(.svc-product-summary p, .svc-meta span)) > .card-header { border-block-end: 0; }
body .service-catalog .svc-meta:empty { display: none; }
body .service-catalog .svc-inline-actions { margin-inline-start: auto; }

@media (min-width: 1200px) {
    body .landing-header:not(:has(.storefront-brand)) .landing-header-shell {
        grid-template-columns: max-content minmax(0, 1fr) max-content;
        max-width: var(--aksa-public-header-max-width, 1600px);
    }
    body .landing-header .landing-site-logo { max-width: 140px; }
    body .landing-header .landing-header-actions-wrap {
        flex: 0 0 auto;
        width: auto;
    }
    body .landing-header .landing-header__center {
        justify-self: stretch;
        justify-content: flex-start;
        inline-size: 100%;
    }
    body .landing-header:not(:has(.storefront-brand)) .landing-header__default-navigation {
        display: contents;
    }
    body .landing-header__center .cms-menu-shell--navbar {
        flex: 0 1 auto;
        inline-size: var(--cms-menu-content-width, auto);
        max-inline-size: 100%;
        min-inline-size: 0;
    }
    /* A public site without a search contribution uses the available first row.
       Leave every navigation zone mounted so custom widgets keep their state. */
    body .landing-root[data-aksa-layout="frontend"] .landing-header .landing-header-shell:has(> .landing-header__search:empty) {
        grid-template-columns: max-content minmax(0, 1fr) max-content;
        padding-block: .65rem;
    }
    body .landing-root[data-aksa-layout="frontend"] .landing-header-shell:has(> .landing-header__search:empty) > .landing-header__brand {
        grid-column: 1;
        justify-self: start;
    }
    body .landing-root[data-aksa-layout="frontend"] .landing-header-shell:has(> .landing-header__search:empty) > .landing-header__center {
        grid-column: 2;
        grid-row: 1;
        border-block-start: 0;
        padding-block: 0;
    }
}
@media (min-width: 1200px) and (max-width: 1599.98px) {
    body .landing-header__actions .storefront-mega-search--widget {
        flex: 0 0 13rem;
        inline-size: 13rem;
    }
    body .landing-account-wrap .user-menu-trigger > .d-none.d-md-flex,
    body .landing-account-wrap .user-menu-trigger > .d-none.d-md-inline-flex {
        display: none !important;
    }
}
@media (max-width: 575.98px) {
    body .service-catalog .svc-search-grid { grid-template-columns: minmax(0, 1fr); }
    body .customer-portal-root .aksa-search-input__control,
    body .customer-portal-root input[type="search"],
    body .customer-portal-root input.form-control[type="search"],
    body .customer-portal-root .sq-filter-toolbar .form-select {
        min-block-size: 44px;
        font-size: 16px;
    }
    body .customer-portal-root .sq-page-shell .btn,
    body .customer-portal-root .sq-mode-btn {
        min-block-size: 44px;
        font-size: 14px;
    }
    body .service-catalog .svc-primary-btn { min-block-size: 44px; font-size: 14px; }
    body .service-catalog .svc-inline-actions,
    body .service-catalog .svc-start-btn { inline-size: 100%; }
}

:root {
    --aksa-ui-font-family: "Noto Kufi Arabic", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --bs-font-sans-serif: var(--aksa-ui-font-family);
    --bs-body-font-family: var(--aksa-ui-font-family);
    --rz-text-font-family: var(--aksa-ui-font-family);
}

html,
body {
    font-family: var(--aksa-ui-font-family);
    font-size: .875rem;
}

    body .rz-component,
    body .rz-grid,
    body .rz-inputtext,
    body .rz-dropdown,
    body .rz-button,
    body .rz-label,
    body .form-control,
    body .form-select,
    body .btn,
    body .dropdown-menu {
        font-family: var(--aksa-ui-font-family);
    }

.rz-tabview-panel {
    height: 100%;
    padding: var(--rz-tabs-padding);
}


.hover-button-host,
.text-center:has(.hover-button) {
    position: relative;
}

.hover-button {
    position: absolute; /* Position the button absolutely within the container */
    top: 50%; /* Center vertically */
    left: 50%; /* Center horizontally */
    transform: translate(-50%, -50%); /* Center the button */
    display: none; /* Hide by default */
    padding: .45rem .75rem;
    background-color: color-mix(in srgb, var(--bs-emphasis-color, #000) 72%, transparent);
    color: var(--bs-body-bg, #fff);
    border: 0;
    border-radius: .45rem;
    cursor: pointer; /* Hand cursor on hover */
}
body .ui-dialog:first-of-type {
    top: 10px !important;
    transform: translateY(0%) !important;
}
.hover-button-host:hover .hover-button,
.text-center:has(.hover-button):hover .hover-button {
    display: block;
}
.tree {
    position: relative;
}
.tree .droppable * {
    pointer-events: none;
}
.tree .dragging {
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3);
}
.tree-list {
    position: relative;
    display: inherit;
    list-style: none;
    padding-left: 24px;
}
.tree-list:first-child {
    padding-left: 0;
}
.tree-node-content {
    display: inherit;
    border-radius: var(--border-radius-md);
    padding: 3px 6px;
}
.tree-label {
    position: relative;
    user-select: none;
    margin: 0;
}
.touchevents .tree-label {
    pointer-events: none;
}
.tree-pointer, .tree-selectable {
    cursor: pointer;
}
.tree-highlight.tree-node-content:not(.tree-selected, .tree-disabled):hover {
    background-color: var(--aksa-tree-hover-bg);
}
.tree-selected {
    background-color: var(--aksa-tree-selected-bg);
}
.tree-dim {
    opacity: 0.6;
}
.tree-icon {
    display: inline;
    margin-right: 5px;
}
.tree-link {
    text-decoration: none !important;
    color: inherit;
}
.tree-name {
    display: inline-flex;
}
.tree-num {
    display: inline-flex;
    margin-left: 3px;
}
.tree-expander-container {
    display: inline-block;
    min-width: 18px;
    width: 18px;
    text-align: center;
}
.tree-expander {
    cursor: pointer;
    font-size: 12px;
}
.tree-leaf-left {
    display: inline-block;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
}
.tree-text {
    pointer-events: auto;
}
.tree-noleaf-text {
    font-weight: 500;
}
.tree-vline {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 12px;
    width: 0;
    border-left: 1px solid var(--aksa-tree-line);
    height: calc(100% - 12px);
}
.tree-hline .tree-node:before {
    content: "";
    position: absolute;
    left: 12px;
    width: 14px;
    height: 0;
    margin-top: 13px;
    border-top: 1px solid var(--aksa-tree-line);
}
.tree-state-onoff-checkbox {
    position: absolute;
    opacity: 0;
    height: 0;
    width: 0;
    margin: 0;
}
.tree-state-onoff:before {
    content: "";
    float: left;
    height: 18px;
    width: 18px;
    border-radius: 5px;
    border: 2px solid var(--aksa-tree-line);
    background-color: var(--erp-bg);
    margin: 5px 0 0 5px;
}
.tree-state-onoff:after {
    position: absolute;
    display: block;
}
.tree-state-onoff.on:after, .tree-state-onoff.in-on:after {
    content: "";
    top: 8px;
    left: 11px;
    width: 6px;
    height: 10px;
    transform: rotate(45deg);
    border: 2px solid var(--aksa-tree-line);
    border-width: 0 3px 3px 0;
}
.tree-state-onoff.on:before, .tree-state-onoff.on:after, .tree-state-onoff.in-on:before, .tree-state-onoff.in-on:after {
    border-color: var(--aksa-tree-success);
}
.tree-state-onoff.off:before, .tree-state-onoff.in-off:before {
    border-color: var(--aksa-tree-danger);
}
.tree-state-onoff.in-on:before, .tree-state-onoff.in-on:after, .tree-state-onoff.in-off:before, .tree-state-onoff.in-off:after {
    opacity: 0.3;
}
.tree-state-onoff-active {
    cursor: pointer;
}
.tree-state-onoff-active:hover:before {
    box-shadow: 0 0 0 .18rem color-mix(in srgb, var(--bs-warning, #ffc700) 28%, transparent);
    transition: box-shadow 0.1s linear;
}
.tree-state-checkbox {
    position: relative;
    top: 2px;
    width: 16px;
    height: 16px;
    margin: 0 5px;
}
.tree-state-checkbox:not([disabled]):hover {
    cursor: pointer;
}
.tree-line-indicator, .tree-over-indicator {
    position: absolute;
    top: -100px;
    z-index: 9999;
    pointer-events: none;
}
.tree-line-indicator {
    height: 1px;
    background: radial-gradient(ellipse at right, var(--aksa-tree-surface) 5%, color-mix(in srgb, var(--aksa-tree-success) 80%, transparent) 100%);
}
.tree-line-indicator:before {
    position: absolute;
    display: block;
    content: '';
    top: -4px;
    left: -8px;
    width: 0;
    height: 0;
    border-left: 5px solid var(--aksa-tree-success);
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}
.tree-over-indicator {
    content: '';
    border: 1px solid var(--aksa-tree-success);
    border-radius: var(--border-radius-md);
}
[dir=rtl] .tree-list {
    padding-right: 24px;
}
[dir=rtl] .tree-list:first-child {
    padding-right: 0;
}
[dir=rtl] .tree-icon {
    margin-right: inherit;
    margin-left: 5px;
}
[dir=rtl] .tree-num {
    margin-right: 3px;
    margin-left: 0;
}
[dir=rtl] .tree-vline {
    left: 0;
    right: 12px;
}
[dir=rtl] .tree-hline .tree-node:before {
    left: 0;
    right: 12px;
}
[dir=rtl] .tree-state-onoff:before {
    float: right;
    margin: 5px 5px 0 0;
}
[dir=rtl] .tree-state-onoff.on:after, [dir=rtl] .tree-state-onoff.in-on:after {
    left: 0;
    right: 11px;
}
[dir=rtl] .tree-line-indicator {
    background: radial-gradient(ellipse at left, var(--aksa-tree-surface) 5%, color-mix(in srgb, var(--aksa-tree-success) 80%, transparent) 100%);
}
[dir=rtl] .tree-line-indicator:before {
    border-right: 5px solid var(--aksa-tree-success);
    border-left: none;
    left: 0;
    right: -8px;
}
[dir=rtl] .rz-text-align-left {
    text-align: right;
}
.loading-spinner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    font-size: .875rem;
    color: var(--bs-secondary-color, var(--bs-gray-600));
}
.sticky-buttons {
    position: sticky;
    background-color: var(--bs-card-bg, var(--bs-body-bg));
    padding: .5rem;
    top: 200px;
    text-align: center;
    border-bottom: 1px solid var(--bs-border-color);
    z-index: 999; /* Lower than header to avoid overlap  calc(100% - 40px); */
}

.sticky-buttons button {
    margin: 0 5px;
    padding: .45rem .85rem;
    border: none;
    background-color: var(--bs-primary);
    color: var(--bs-primary-inverse, #fff);
    font-size: .875rem;
    cursor: pointer;
}

.sticky-buttons button:hover {
    background-color: var(--bs-primary-active, var(--bs-primary));
}
.aksa-legacy-sticky-grid .rz-grid-table thead {
    position: sticky;
    top: 0;
    z-index: 2;
}

.aksa-legacy-tight-grid td span.rz-cell-data {
    margin: -5px;
}
 /*Remove outer padding and background*/
.custom-upload-button .rz-upload-btn {
    background-color: var(--bs-primary);
    color: var(--bs-primary-inverse, #fff);
    border: none;
    padding: .45rem .85rem;
    border-radius: .45rem;
    cursor: pointer;
    font-size: .875rem;
}

    .custom-upload-button .rz-upload-btn:hover {
        background-color: var(--bs-primary-active, var(--bs-primary)); /* Hover color */
    }

    .custom-upload-button .rz-upload-btn:focus {
        outline: none; /* Remove focus outline */
    }

.custom-upload-button .rz-fileupload-buttonbar {
    padding: 0;
    background: none;
}

.custom-upload-button .rz-button {
    background-color: var(--bs-primary);
    outline-color: var(--bs-primary);
    outline-offset: 0;
}
@font-face {
    font-family: 'saudi_riyal';
    src: url('../fonts/saudi_riyal.woff2') format('woff2'), url('../fonts/saudi_riyal.woff') format('woff'), url('../fonts/saudi_riyal.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

.icon-saudi_riyal::before {
    content: "\e900";
    font-family: 'saudi_riyal' !important;
    font-size: inherit;
    color: inherit;
}

.dialog-top {
    top: 10px !important;
    transform: translateY(0%) !important;
}
.rz-data-grid .locked-row {
    opacity: .8;
}

    .rz-data-grid .locked-row * {
        pointer-events: none !important;
    }
.locked-row {
    opacity: .85;
}

    .locked-row .rz-inputtext,
    .locked-row .rz-spinner,
    .locked-row .rz-dropdown,
    .locked-row .rz-numeric,
    .locked-row .rz-textbox,
    .locked-row .rz-datepicker,
    .locked-row .rz-button,
    .locked-row input, .locked-row select, .locked-row textarea {
        pointer-events: none !important;
        filter: grayscale(35%);
    }
/* ====== 1) الحاوية العامة للـ Grid ====== */

.full-lines-grid {
    font-size: 0.8rem;
    background-color: var(--bs-card-bg, var(--bs-body-bg));
    border-radius: 0.5rem;
    border: 1px solid var(--bs-border-color);
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
}

    /* padding بسيط داخل الشبكة */
    .full-lines-grid .rz-datagrid {
        border: none;
    }

    /* ====== 2) الهيدر (Header + Filter row) ====== */

    .full-lines-grid .rz-datagrid-header,
    .full-lines-grid .rz-datagrid-thead {
        background: var(--bs-secondary-bg, var(--bs-gray-100));
    }

    .full-lines-grid .rz-datagrid-header-cell {
        font-weight: 600;
        color: var(--bs-body-color);
        padding: 6px 8px;
        border-bottom: 1px solid var(--bs-border-color);
        white-space: nowrap;
    }

    /* ترويسة ثابتة عند السكروول داخل الشبكة */
    .full-lines-grid .rz-datagrid-header {
        position: sticky;
        top: 0;
        z-index: 5;
    }

    /* صف الفلاتر أقل بروزاً */
    .full-lines-grid .rz-datagrid-filter-row {
        background-color: var(--bs-secondary-bg, var(--bs-gray-100));
    }

        .full-lines-grid .rz-datagrid-filter-row .rz-cell {
            padding: 3px 6px;
        }

    /* ====== 3) Toolbar (Add + Barcode) ====== */

    .full-lines-grid .grid-toolbar {
        padding: 0.5rem 0.75rem;
        border-bottom: 1px solid var(--bs-border-color);
        background: var(--bs-secondary-bg, var(--bs-gray-100));
    }

        .full-lines-grid .grid-toolbar .rz-button {
            border-radius: 999px;
            padding-inline: 0.9rem;
            font-weight: 500;
        }

            .full-lines-grid .grid-toolbar .rz-button .rz-button-text {
                margin-inline-start: 4px;
            }

        .full-lines-grid .grid-toolbar .rz-textbox {
            max-width: 260px;
        }

    /* ====== 4) صفوف البيانات ====== */

    .full-lines-grid .rz-datagrid-data .rz-row {
        transition: background-color 0.15s ease, transform 0.1s ease;
    }

        .full-lines-grid .rz-datagrid-data .rz-row:nth-child(odd) {
            background-color: color-mix(in srgb, var(--bs-body-bg) 96%, var(--bs-primary) 4%);
        }

        .full-lines-grid .rz-datagrid-data .rz-row:nth-child(even) {
            background-color: var(--bs-card-bg, var(--bs-body-bg));
        }

        .full-lines-grid .rz-datagrid-data .rz-row:hover {
            background-color: color-mix(in srgb, var(--bs-body-bg) 90%, var(--bs-primary) 10%);
        }

    /* خلايا الجدول */
    .full-lines-grid .rz-datagrid-data .rz-cell {
        padding: 3px 6px;
        vertical-align: middle;
    }

        /* ====== 5) إدخالات الأرقام والنصوص داخل الصفوف ====== */

        .full-lines-grid .rz-datagrid-data .rz-cell .rz-numeric,
        .full-lines-grid .rz-datagrid-data .rz-cell .rz-textbox,
        .full-lines-grid .rz-datagrid-data .rz-cell .rz-dropdown {
            width: 100%;
            min-height: 28px;
        }

        /* الأرقام تكون بمحاذاة يمين دائماً */
        .full-lines-grid .rz-datagrid-data .rz-cell input[type="number"],
        .full-lines-grid .rz-datagrid-data .rz-cell .rz-numeric-input {
            text-align: right;
        }

        /* تصغير الـ font قليلاً في الخلايا */
        .full-lines-grid .rz-datagrid-data .rz-cell input,
        .full-lines-grid .rz-datagrid-data .rz-cell .rz-dropdown-label {
            font-size: 0.8rem;
        }

/* ====== 6) عمود نوع الخصم (DiscountMode) ====== */

.discount-mode-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: 2px;
}

.discount-mode-dd {
    font-size: 0.75rem;
}

    /* المركز داخل الـ DropDown label */
    .discount-mode-dd .rz-dropdown-label {
        text-align: center;
    }

/* ====== 7) زر الحذف في آخر الصف ====== */

.full-lines-grid .rz-datagrid-data .rz-cell .rz-button.rz-button-danger {
    border-radius: 999px;
    border-width: 1px;
    padding: 2px 6px;
}

    .full-lines-grid .rz-datagrid-data .rz-cell .rz-button.rz-button-danger .rz-button-icon {
        font-size: 16px;
    }

/* ====== 8) الصفوف المقفولة (locked-row) ====== */

.full-lines-grid .locked-row {
    background: repeating-linear-gradient(45deg, var(--bs-secondary-bg) 0, var(--bs-secondary-bg) 4px, color-mix(in srgb, var(--bs-secondary-bg) 80%, var(--bs-border-color) 20%) 4px, color-mix(in srgb, var(--bs-secondary-bg) 80%, var(--bs-border-color) 20%) 8px) !important;
}

    /* نضيف تباين بسيط فوق الـ inline style اللي عندك */
    .full-lines-grid .locked-row td {
        color: var(--bs-secondary-color, var(--bs-gray-600));
    }

/* ====== 9) الفوتر (مُلخص الصفحات) ====== */

.full-lines-grid .rz-paginator {
    border-top: 1px solid var(--bs-border-color);
    padding: 0.25rem 0.75rem;
    background-color: var(--bs-secondary-bg, var(--bs-gray-100));
    font-size: 0.8rem;
}

    .full-lines-grid .rz-paginator .rz-paginator-label {
        margin-inline-start: auto;
    }

/* ====== 10) تحسين رسائل الـ Validator داخل الجدول ====== */

.full-lines-grid .rz-message {
    font-size: 0.7rem;
    padding: 1px 2px;
    margin-top: 0;
}
.payment-picker-card {
    border-radius: 0.75rem;
    border: 1px solid var(--bs-border-color);
    padding: 0.75rem 0.9rem;
    background-color: var(--bs-card-bg, var(--bs-body-bg));
}

.payment-section {
    padding: 0.5rem 0.25rem 0.25rem 0.25rem;
    margin-bottom: 0.5rem;
    border-bottom: 1px dashed var(--bs-border-color);
}

    .payment-section:last-child {
        border-bottom: none;
        margin-bottom: 0;
    }

.payment-section-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--bs-secondary-color, var(--bs-gray-600));
    margin-bottom: 0.35rem;
}

.payment-row {
    margin-bottom: 0.25rem;
}
/* شبكة أسعر المنتج */
.product-price-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem 1.5rem;
    align-items: flex-end;
}

@media (max-width: 992px) {
    .product-price-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 576px) {
    .product-price-grid {
        grid-template-columns: 1fr;
    }
}

.price-field .price-label {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.9rem;
    font-weight: 500;
}

.price-field .currency {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.75rem;
    color: var(--bs-secondary-color, var(--bs-gray-600));
}

.toggle-row {
    margin-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.toggle-item {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.9rem;
}

.file-uploader-card {
    border-radius: 0.75rem;
}

.file-uploader-toolbar {
    gap: 0.75rem;
}

.file-uploader-loading-overlay {
    position: absolute;
    inset: 0;
    background: color-mix(in srgb, var(--bs-body-bg) 72%, transparent);
    z-index: 10;
}

.file-uploader-body--blur {
    filter: blur(1px);
    pointer-events: none;
}

.file-uploader-preview-image {
    max-height: 260px;
    object-fit: contain;
}

.file-uploader-item,
.file-uploader-single {
    min-height: 220px;
}

.file-uploader-overlay-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.aksa-modal-backdrop {
    background-color: rgba(0, 0, 0, 0.35);
    z-index: 1055;
}
.pos-main-row {
    align-items: stretch;
}

.pos-product-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 190px;
    border-radius: .75rem;
    border: 1px solid var(--bs-border-color);
    padding: .75rem;
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    transition: box-shadow .15s ease, transform .08s ease, border-color .15s ease;
}

    .pos-product-card:hover {
        border-color: var(--bs-primary);
        box-shadow: 0 4px 18px rgba(15,23,42,.15);
        transform: translateY(-1px);
    }

.pos-products-grid-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 160px;
    border-radius: .75rem;
    border: 1px dashed var(--bs-border-color);
}

.pos-products-grid {
    max-height: calc(100vh - 260px) !important;
    overflow-y: auto !important;
    align-content: flex-start;
}

.pos-cart-list {
    max-height: calc(100vh - 260px) !important;
    overflow-y: auto !important;
}

.pos-category-tabs {
    border-bottom: 1px solid var(--bs-border-color);
    overflow-x: auto;
    scrollbar-width: thin;
}

.pos-category-tab {
    border: none;
    background-color: transparent;
    padding: .5rem 1rem;
    margin-inline-end: .25rem;
    border-radius: 999px 999px 0 0;
    color: var(--bs-secondary-color, #6c757d);
    font-size: .9rem;
    white-space: nowrap;
}

    .pos-category-tab.active {
        color: var(--bs-body-color);
        border-bottom: 2px solid var(--bs-primary);
        font-weight: 600;
    }

.pos-cart-line {
    border-radius: .75rem;
    border: 1px solid var(--bs-border-color);
    padding: .5rem .75rem;
    margin-bottom: .4rem;
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    cursor: pointer;
    transition: box-shadow .15s ease, border-color .15s ease, background-color .15s ease;
}

    .pos-cart-line:hover {
        border-color: var(--bs-primary);
    }

    .pos-cart-line.selected {
        border-color: var(--bs-primary);
        box-shadow: 0 3px 12px rgba(13,110,253,.25);
    }

.pos-keypad-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .35rem;
}

    .pos-keypad-grid .btn {
        padding-block: .45rem;
        font-size: .95rem;
        border-radius: .5rem;
    }
.dp-wrap {
    direction: rtl;
}

.dp-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1rem;
}

.dp-col-4 {
    grid-column: span 12;
}

@media (min-width: 992px) {
    .dp-col-4 {
        grid-column: span 4;
    }
}

.dp-col-6 {
    grid-column: span 12;
}

@media (min-width: 992px) {
    .dp-col-6 {
        grid-column: span 6;
    }
}

.section-card {
    border: 1px solid var(--bs-border-color);
    border-radius: .875rem;
    padding: 1rem;
    background: var(--bs-card-bg, var(--bs-body-bg));
    box-shadow: 0 1px 6px rgba(0,0,0,.04);
}

.card-header.position-sticky {
    top: 0;
    z-index: 5;
}

.dp-toolbar .rz-button {
    min-width: 9rem;
}

:root {
    --erp-bg: var(--bs-card-bg, var(--bs-body-bg));
    --erp-bg-alt: var(--bs-secondary-bg, var(--bs-gray-100));
    --erp-border: var(--bs-border-color);
    --erp-primary: var(--bs-primary);
    --erp-text: var(--bs-body-color);
    --erp-text-muted: var(--bs-secondary-color, var(--bs-gray-600));
    --erp-radius: 4px;
    --erp-input-height: 32px;
}

/* Container Styling */
.erp-payment-container {
   
    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius);
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    overflow: hidden;
}

/* Header */
.erp-header {
    background-color: var(--erp-bg-alt);
    padding: .4rem .75rem;
    border-bottom: 1px solid var(--erp-border);
}

.erp-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--erp-text);
    text-transform: uppercase;
    margin: 0;
    letter-spacing: 0.5px;
}

.erp-count-badge {
    background-color: var(--bs-secondary-bg, var(--bs-gray-100));
    color: var(--erp-text);
    font-size: 0.75rem;
    padding: 2px 8px;
    border-radius: 12px;
    font-weight: 600;
    border: 1px solid var(--bs-border-color);
}

/* List Body */
.erp-body {
    background-color: var(--erp-bg);
}

.erp-empty-state {
    padding: 2rem;
    text-align: center;
    color: var(--erp-text-muted);
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Row Layout */
.erp-row {
    border-bottom: 1px solid var(--erp-border);
    transition: background-color 0.15s ease-in-out;
    position: relative;
}

    .erp-row:last-child {
        border-bottom: none;
    }

    .erp-row:hover {
        background-color: color-mix(in srgb, var(--erp-bg) 92%, var(--erp-primary) 8%);
    }

    /* Left border accent on hover */
    .erp-row::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        background-color: transparent;
        transition: background-color 0.2s;
        z-index: 10;
    }

    .erp-row:hover::before {
        background-color: var(--erp-primary);
    }

/* RTL Support for the accent border */
[dir="rtl"] .erp-row::before {
    left: auto;
    right: 0;
}
/* Ensure the AutoComplete doesn't have its own border inside the FormField */

/* Container for search/clear buttons inside the field */
.erp-picker-buttons {
    display: flex;
    align-items: center;
    gap: 1px;
    padding-inline-end: 2px;
}

/* Stylize buttons to look like integrated icons */
.erp-inner-btn.rz-button.rz-size-xs {
    min-width: 22px !important;
    width: 22px !important;
    min-height: 22px !important;
    height: 22px !important;
    padding: 0 !important;
    border-radius: 0.35rem !important;
    color: var(--erp-text-muted) !important;
}

.erp-inner-btn.rz-button:hover {
    background-color: color-mix(in srgb, var(--erp-bg) 90%, var(--erp-primary) 10%) !important;
    color: var(--erp-primary) !important;
}

/* Fix for Radzen FormField content alignment with End slot */
.erp-field .rz-form-field-content {
    display: flex;
    align-items: center;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Ensure validator popup doesn't overlap the dense row */
.rz-validator-popup {
    z-index: 2000 !important;
}
/* Toolbar Strip (Line # and Delete) */
.erp-row-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .3rem .75rem;
    background-color: var(--erp-bg);
    border-bottom: 1px dashed var(--erp-border);
}

.row-index {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--bs-tertiary-color, var(--bs-secondary-color));
}

.badge-master {
    font-size: 0.65rem;
    background-color: color-mix(in srgb, var(--bs-primary) 14%, var(--erp-bg));
    color: var(--bs-primary);
    padding: 2px 6px;
    border-radius: 2px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.btn-icon-danger {
    color: var(--bs-danger) !important;
    margin: 0 !important;
    padding: 0 8px !important;
    height: 24px !important;
    line-height: 24px !important;
    font-size: 0.8rem !important;
}

    .btn-icon-danger .rz-button-text {
        font-size: 0.8rem;
    }

/* Content Area */
.erp-row-content {
    padding: .5rem .75rem .65rem;
}

/* Secondary Data Section */
.erp-secondary-section {

    border: 1px solid var(--erp-border);
    border-radius: var(--erp-radius);
    padding: .55rem;
    margin-top: 6px;
}

/* --- ERP FIELD COMPACT STYLES --- */
/* This overrides Radzen defaults to make inputs shorter and denser */

.erp-field .rz-form-field {
    margin-bottom: 0 !important;
}

.erp-field .rz-form-field-content {
    padding: 0 8px !important;
    height: var(--erp-input-height);
    background-color: var(--erp-bg);
}

/* Inputs, Dropdowns, Datepickers */
.erp-field .rz-inputtext,
.erp-field .rz-dropdown,
.erp-field .rz-spinner,
.erp-field .rz-numeric {
    height: var(--erp-input-height) !important;
    line-height: var(--erp-input-height) !important;
    font-size: 0.82rem;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

.aksa-product-picker-input,
.aksa-product-unit-picker-input,
.aksa-account-picker-input,
.aksa-account-detail-picker-input {
    min-height: 32px !important;
    height: 32px !important;
    line-height: 1.35 !important;
    font-size: 0.82rem !important;
}

.aksa-product-picker-actions,
.aksa-product-unit-picker-actions,
.aksa-account-picker-actions,
.aksa-account-detail-picker-actions {
    gap: 0.15rem !important;
    padding-inline-end: 0 !important;
}

.aksa-product-picker-action,
.aksa-product-unit-picker-action,
.aksa-account-picker-action,
.aksa-account-detail-picker-action {
    border-radius: 0.4rem !important;
}

.erp-field .rz-form-field-label {
    top: 9px;
    font-size: 0.85rem;
    color: var(--erp-text-muted);
}

/* Floating Label Active State */
.erp-field.rz-state-focused .rz-form-field-label,
.erp-field.rz-state-filled .rz-form-field-label {
    top: -9px !important;
    padding: 0 4px;
    font-size: 0.75rem;
    color: var(--erp-primary);
    font-weight: 600;
}

/* Fix RTL Icon alignment in dropdowns */
[dir="rtl"] .rz-dropdown-trigger {
    left: 0;
    right: auto;
}

/* Remove column padding for tight grid */
.erp-row-content .rz-col {
    padding-left: 4px !important;
    padding-right: 4px !important;
}


.ak-grid.rz-data-grid.rz-datatable {
    border: 1px solid var(--bs-border-color);
    border-radius: 14px;
    overflow: hidden;
}

/* Table spacing + vertical alignment */
.ak-grid .rz-grid-table th,
.ak-grid .rz-grid-table td {
    padding: .42rem .6rem;
    vertical-align: middle;
}

/* Header weight (Metronic-ish) */
.ak-grid .rz-grid-table thead th {
    font-weight: 600;
}

/* Better hover without fighting the theme */
.ak-grid .rz-grid-table tbody tr:hover > td {
    background: var(--bs-secondary-bg);
}

/* Make truncation behave consistently */
.ak-grid .text-truncate {
    max-width: 100%;
}
.aksa-ck-host .ck-content,
.aksa-ck-host .ck-editor__editable {
    direction: rtl;
    text-align: right;
}

.aksa-ck-host .ck.ck-editor__editable_inline {
    min-height: 160px;
}
.aksa-ck-view.aksa-ck-clickable {
    cursor: text;
    border: 1px dashed rgba(0,0,0,.15);
    border-radius: .65rem;
    padding: .75rem;
    min-height: 120px;
}

    .aksa-ck-view.aksa-ck-clickable:hover {
        border-color: rgba(0,0,0,.30);
    }

.aksa-user-menu {
    position: relative;
}

    .aksa-user-menu > .menu-sub-dropdown {
        display: none;
        position: absolute;
        top: calc(100% + .75rem);
        inset-inline-end: 0;
        z-index: 1050;
    }

    .aksa-user-menu:hover > .menu-sub-dropdown,
    .aksa-user-menu:focus-within > .menu-sub-dropdown {
        display: block;
    }

#components-reconnect-modal {
    display: none;
}

#components-reconnect-modal[hidden],
#components-reconnect-modal [hidden] {
    display: none !important;
}

    #components-reconnect-modal.components-reconnect-show,
    #components-reconnect-modal.components-reconnect-failed,
    #components-reconnect-modal.components-reconnect-rejected,
    .aksa-circuit-recovery {
        display: flex;
        position: fixed;
        bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
        inset-inline-end: 1rem;
        z-index: 20000;
        width: 40px;
        height: 40px;
    }

.aksa-reconnect-card {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--bs-card-bg, var(--bs-body-bg));
    box-shadow: 0 .2rem .75rem rgba(0,0,0,.16);
    color: var(--bs-warning-text-emphasis, #996000);
}

.aksa-reconnect-indicator,
.aksa-reconnect-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: inherit;
}

.aksa-reconnect-action:hover {
    background: var(--bs-tertiary-bg, #f5f5f5);
}

.aksa-reconnect-action:focus-visible,
.aksa-reconnect-indicator:focus-visible {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: 2px;
}

.aksa-reconnect-card svg {
    width: 20px;
    height: 20px;
}

.aksa-reconnect-indicator svg {
    animation: aksa-reconnect-spin 1.5s linear infinite;
}

@keyframes aksa-reconnect-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .aksa-reconnect-indicator svg { animation: none; }
}
/* Aksa layout hardening: keep admin footer in normal document flow. */
#kt_app_root,
#kt_app_page {
    min-height: 100vh;
}

#kt_app_wrapper,
#kt_app_main {
    min-height: 0;
}

#kt_app_main {
    min-width: 0;
}

.aksa-app-main-body {
    flex: 1 1 auto;
    min-height: 0;
}

.aksa-app-content-container {
    min-width: 0;
    padding-bottom: 1.5rem;
}

body[data-kt-app-footer-fixed="false"] #kt_app_footer.app-footer,
#kt_app_footer.app-footer {
    position: relative !important;
    inset: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: auto;
    flex: 0 0 auto;
}

/* Keep the current shell visible while the next route is authorized. */
.aksa-route-progress {
    position: fixed;
    inset-block-start: 0;
    inset-inline: 0;
    z-index: 20010;
    height: 3px;
    overflow: hidden;
    pointer-events: none;
}

.aksa-route-progress::after {
    content: "";
    display: block;
    width: 42%;
    height: 100%;
    border-radius: 999px;
    background: var(--bs-primary, #1f6f8b);
    animation: aksa-route-progress 850ms ease-in-out infinite;
}

html[dir="rtl"] .aksa-route-progress::after {
    animation-direction: reverse;
}

@keyframes aksa-route-progress {
    from { transform: translateX(-110%); }
    to { transform: translateX(345%); }
}

@media (prefers-reduced-motion: reduce) {
    .aksa-route-progress::after {
        width: 100%;
        animation: none;
    }
}

/* Warehouse picker: flat, compact shared lookup surface. */
.warehouse-store-picker-shell {
    position: relative;
    width: 100%;
    min-width: 0;
}

.warehouse-store-picker {
    width: 100%;
    min-width: 0;
}

.warehouse-store-picker .rz-form-field-content,
.warehouse-store-picker .rz-form-field-start,
.warehouse-store-picker .rz-form-field-end {
    min-height: 34px !important;
    overflow: visible !important;
}

.warehouse-store-picker .rz-form-field-content {
    padding-block: 0 !important;
    border-radius: .55rem !important;
    box-shadow: none !important;
}

.warehouse-store-picker-shell:focus-within .warehouse-store-picker .rz-form-field-content {
    border-color: var(--bs-primary) !important;
    box-shadow: none !important;
}

.warehouse-store-picker__field,
.warehouse-store-picker__search,
.warehouse-store-picker .aksa-search-input {
    width: 100%;
    min-width: 0;
}

.warehouse-store-picker .warehouse-store-picker__input.aksa-search-input__control {
    min-height: 32px !important;
    height: 32px !important;
    padding-block: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: .82rem !important;
    line-height: 32px !important;
}

.warehouse-store-picker .warehouse-store-picker__input.aksa-search-input__control:focus {
    outline: 0 !important;
    box-shadow: none !important;
}

.warehouse-store-picker .aksa-search-input__trailing {
    inset-inline-end: .1rem;
}

.warehouse-store-picker .aksa-search-input__clear {
    width: 1.55rem;
    height: 1.55rem;
    color: var(--bs-secondary-color);
}

.warehouse-store-picker__actions {
    display: inline-flex;
    align-items: center;
    padding-inline-end: .15rem;
}

.warehouse-store-picker__button.rz-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1.65rem !important;
    min-width: 1.65rem !important;
    height: 1.65rem !important;
    min-height: 1.65rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: .4rem !important;
    background: transparent !important;
    color: var(--bs-secondary-color) !important;
    box-shadow: none !important;
}

.warehouse-store-picker__button.rz-button:hover,
.warehouse-store-picker__button.rz-button:focus-visible {
    background: var(--bs-tertiary-bg) !important;
    color: var(--bs-primary) !important;
    box-shadow: none !important;
}

.warehouse-store-picker-suggestions {
    position: absolute;
    inset-inline: 0;
    inset-block-start: calc(100% + .25rem);
    z-index: 2465;
    display: grid;
    gap: .1rem;
    max-height: min(19rem, 52vh);
    padding: .3rem;
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--bs-border-color);
    border-radius: .65rem;
    background: var(--bs-card-bg, var(--bs-body-bg));
    box-shadow: none;
}

.warehouse-store-picker-suggestion {
    display: grid;
    grid-template-columns: minmax(4.5rem, auto) minmax(0, 1fr);
    gap: .55rem;
    align-items: center;
    width: 100%;
    min-height: 2.15rem;
    padding: .4rem .55rem;
    border: 0;
    border-radius: .45rem;
    background: transparent;
    color: var(--bs-body-color);
    text-align: start;
}

.warehouse-store-picker-suggestion:hover,
.warehouse-store-picker-suggestion:focus-visible {
    background: var(--bs-tertiary-bg);
    outline: 0;
}

.warehouse-store-picker-suggestion__code {
    overflow: hidden;
    color: var(--bs-primary);
    font-size: .76rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.warehouse-store-picker-suggestion__name {
    overflow: hidden;
    font-size: .8rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.warehouse-store-picker-suggestion--muted {
    grid-template-columns: 1fr;
    color: var(--bs-secondary-color);
    cursor: default;
}

.warehouse-store-dialog .modal-dialog {
    width: min(48rem, calc(100vw - 2rem));
    max-width: 48rem;
    margin-inline: auto;
}

.warehouse-store-dialog .warehouse-store-dialog__content {
    border: 1px solid var(--bs-border-color) !important;
    border-radius: .8rem !important;
    background: var(--bs-card-bg, var(--bs-body-bg)) !important;
    box-shadow: none !important;
    overflow: hidden;
}

.warehouse-store-dialog .warehouse-store-dialog__header {
    min-height: 3.25rem;
    padding: .7rem .9rem;
    border-bottom: 1px solid var(--bs-border-color) !important;
    background: var(--bs-card-bg, var(--bs-body-bg)) !important;
}

.warehouse-store-dialog__header .modal-title {
    font-size: 1rem;
    font-weight: 700;
}

.warehouse-store-dialog__close.rz-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1.9rem !important;
    min-width: 1.9rem !important;
    height: 1.9rem !important;
    min-height: 1.9rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: .45rem !important;
    background: transparent !important;
    color: var(--bs-secondary-color) !important;
    box-shadow: none !important;
}

.warehouse-store-dialog__close.rz-button:hover,
.warehouse-store-dialog__close.rz-button:focus-visible {
    background: var(--bs-tertiary-bg) !important;
    color: var(--bs-body-color) !important;
}

.warehouse-store-dialog__body {
    display: grid;
    gap: .65rem;
    padding: .8rem .9rem;
    background: var(--bs-body-bg);
}

.warehouse-store-dialog__search,
.warehouse-store-dialog__search-input {
    width: 100%;
    min-width: 0;
}

.warehouse-store-dialog__search-input.aksa-search-input__control {
    min-height: 36px;
    height: 36px;
    border-radius: .55rem !important;
    box-shadow: none !important;
}

.warehouse-store-dialog__search-input.aksa-search-input__control:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: none !important;
}

.warehouse-store-dialog__grid-shell {
    width: 100%;
    min-height: 0;
    max-height: min(56vh, 28rem);
    overflow: auto;
    border: 1px solid var(--bs-border-color);
    border-radius: .6rem;
    background: var(--bs-card-bg, var(--bs-body-bg));
}

.warehouse-store-dialog__grid {
    width: 100%;
    min-height: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.warehouse-store-dialog__grid .rz-grid-table th,
.warehouse-store-dialog__grid .rz-grid-table td {
    padding: .5rem .7rem !important;
    vertical-align: middle;
    font-size: .8rem;
}

.warehouse-store-dialog__grid .rz-grid-table th {
    background: var(--bs-tertiary-bg);
    color: var(--bs-secondary-color);
    font-weight: 700;
}

.warehouse-store-dialog__grid .rz-data-row:hover > td {
    background: var(--bs-tertiary-bg);
}

.warehouse-store-dialog__grid .rz-state-highlight > td {
    background: color-mix(in srgb, var(--bs-primary) 9%, var(--bs-card-bg)) !important;
}

.warehouse-store-dialog__code {
    color: var(--bs-primary);
    font-weight: 700;
}

.warehouse-store-dialog__footer {
    display: flex;
    justify-content: flex-start;
    gap: .45rem;
    padding: .65rem .9rem;
    border-top: 1px solid var(--bs-border-color);
    background: var(--bs-card-bg, var(--bs-body-bg));
}

.warehouse-store-dialog__footer .rz-button {
    min-height: 2.1rem;
    border-radius: .5rem !important;
    box-shadow: none !important;
}

.warehouse-store-dialog__button-content {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

@media (max-width: 768px) {
    .warehouse-store-dialog .modal-dialog {
        width: auto;
        margin: .65rem;
    }

    .warehouse-store-dialog__body {
        padding: .7rem;
    }

    .warehouse-store-dialog__grid-shell {
        max-height: 55vh;
    }
}

/* PaymentTypeDetailsGrid — shared/global owner. */
body .aksa-payment-details-card {
    --payment-h: 36px;
    --payment-radius: .55rem;
    width: 100%;
    min-width: 0;
    color: var(--bs-body-color);
}

body .aksa-payment-details-card--no-header {
    border: 0;
    background: transparent;
}

body .aksa-payment-details-card:not(.aksa-payment-details-card--no-header) {
    border: 1px solid var(--bs-border-color);
    border-radius: .8rem;
    background: var(--bs-card-bg, var(--bs-body-bg));
}

body .aksa-payment-details-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    min-height: 2.65rem;
    padding: .5rem .65rem;
    border-bottom: 1px solid var(--bs-border-color);
}

body .aksa-payment-details-header--actions-only {
    justify-content: flex-end;
    min-height: 0;
    padding: 0 0 .4rem;
    border: 0;
}

body .aksa-payment-details-title {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-width: 0;
    overflow: hidden;
}

body .aksa-payment-details-title__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    flex: 0 0 1.75rem;
    border-radius: .5rem;
    background: var(--bs-primary-bg-subtle, var(--bs-tertiary-bg));
    color: var(--bs-primary);
}

body .aksa-payment-details-title__text {
    overflow: hidden;
    color: var(--bs-heading-color);
    font-size: .84rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body .aksa-payment-details-count,
body .aksa-payment-line__seq,
body .aksa-payment-line__master {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.3rem;
    padding: .1rem .4rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    background: var(--bs-tertiary-bg);
    color: var(--bs-secondary-color);
    font-size: .66rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

body .aksa-payment-line__master {
    border-color: var(--bs-success-border-subtle, var(--bs-border-color));
    background: var(--bs-success-bg-subtle, var(--bs-tertiary-bg));
    color: var(--bs-success);
}

body .aksa-payment-details-body {
    display: grid;
    gap: .5rem;
    width: 100%;
    min-width: 0;
}

body .aksa-payment-details-card:not(.aksa-payment-details-card--no-header) .aksa-payment-details-body {
    padding: .5rem;
}

body .aksa-payment-details-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    min-height: 3rem;
    padding: .65rem;
    border: 1px dashed var(--bs-border-color);
    border-radius: .65rem;
    background: color-mix(in srgb, var(--bs-tertiary-bg) 38%, transparent);
    color: var(--bs-secondary-color);
    font-size: .8rem;
    font-weight: 700;
}

body .aksa-payment-line {
    position: relative;
    width: 100%;
    min-width: 0;
    border: 1px solid color-mix(in srgb, var(--bs-border-color) 88%, transparent);
    border-radius: .7rem;
    background: var(--bs-card-bg, var(--bs-body-bg));
    overflow: visible;
    transition: border-color .12s ease, background-color .12s ease;
}

body .aksa-payment-line:hover,
body .aksa-payment-line:focus-within,
body .aksa-payment-line--expanded {
    border-color: color-mix(in srgb, var(--bs-primary) 30%, var(--bs-border-color));
}

body .aksa-payment-line--expanded {
    background: color-mix(in srgb, var(--bs-card-bg, var(--bs-body-bg)) 96%, var(--bs-primary-bg-subtle) 4%);
}

body .aksa-payment-line__main,
body .aksa-payment-line__main--with-reference,
body .aksa-payment-line__main--no-account,
body .aksa-payment-line__main--no-detail,
body .aksa-payment-line__main--no-index {
    display: flex;
    align-items: flex-end;
    flex-wrap: nowrap;
    gap: .55rem;
    width: 100%;
    min-width: 0;
    padding: .62rem .68rem;
    overflow: visible;
}

body .aksa-payment-line__index,
body .aksa-payment-line__actions {
    display: inline-flex;
    align-items: center;
    align-self: flex-end;
    flex: 0 0 auto;
    min-height: var(--payment-h);
    gap: .28rem;
}

body .aksa-payment-cell {
    min-width: 0;
    overflow: visible;
}

body .aksa-payment-cell--type {
    position: relative;
    z-index: 25;
    flex: .85 1 10rem;
    max-width: 13rem;
}

body .aksa-payment-cell--account,
body .aksa-payment-cell--detail {
    position: relative;
    z-index: 1;
    flex: 2.4 1 22rem;
}

body .aksa-payment-cell--account:focus-within,
body .aksa-payment-cell--detail:focus-within,
body .aksa-payment-cell--type:focus-within {
    z-index: 120;
}

body .aksa-payment-cell--amount {
    flex: .75 1 9rem;
    max-width: 11rem;
}

body .aksa-payment-cell--reference {
    flex: 1.1 1 12rem;
    max-width: 17rem;
}

body .aksa-payment-field {
    display: grid;
    gap: .28rem;
    min-width: 0;
}

body .aksa-payment-field__label {
    min-height: 1rem;
    overflow: hidden;
    color: var(--bs-secondary-color);
    font-size: .68rem;
    font-weight: 750;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body .aksa-payment-field__control {
    width: 100%;
    min-width: 0;
}

body .aksa-payment-cell--type .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    margin: 0 !important;
}

body .aksa-payment-cell--type .row > .col-12 {
    padding: 0 !important;
}

body .aksa-payment-details-card .aksa-payment-field__control .rz-dropdown,
body .aksa-payment-details-card .aksa-payment-field__control .rz-numeric,
body .aksa-payment-details-card .aksa-payment-field__control .rz-inputtext,
body .aksa-payment-details-card .aksa-payment-field__control .rz-form-field-content,
body .aksa-payment-details-card .aksa-account-picker-input,
body .aksa-payment-details-card .aksa-account-detail-picker-input {
    width: 100% !important;
    min-height: var(--payment-h) !important;
    height: var(--payment-h) !important;
    border-radius: var(--payment-radius) !important;
    box-shadow: none !important;
}

body .aksa-payment-details-card .aksa-payment-cell--type .rz-dropdown-label {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: var(--payment-h) !important;
    height: var(--payment-h) !important;
    padding-inline: .7rem 1.85rem;
    color: var(--bs-heading-color);
    font-size: .8rem;
    font-weight: 800;
    line-height: var(--payment-h) !important;
    text-align: start;
}

body .aksa-payment-details-card .aksa-payment-cell--type .rz-dropdown-trigger {
    width: 1.85rem;
}

body .aksa-payment-details-card .rz-numeric input,
body .aksa-payment-details-card input.rz-numeric-input {
    direction: ltr;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

body .aksa-payment-details-card .aksa-payment-cell--amount input {
    padding-inline: .6rem !important;
    font-size: .83rem !important;
    font-weight: 850;
}

body .aksa-payment-details-card .aksa-account-picker-field,
body .aksa-payment-details-card .aksa-account-detail-picker-field {
    width: 100%;
    margin: 0 !important;
}

body .aksa-payment-details-card .aksa-account-picker-field .rz-form-field-content,
body .aksa-payment-details-card .aksa-account-detail-picker-field .rz-form-field-content {
    min-height: var(--payment-h) !important;
    height: var(--payment-h) !important;
    border-radius: var(--payment-radius) !important;
    box-shadow: none !important;
}

body .aksa-payment-details-card .aksa-account-picker-input,
body .aksa-payment-details-card .aksa-account-detail-picker-input {
    min-height: calc(var(--payment-h) - 2px) !important;
    height: calc(var(--payment-h) - 2px) !important;
    font-size: .8rem !important;
}

body .aksa-payment-details-card .aksa-account-picker-action,
body .aksa-payment-details-card .aksa-account-detail-picker-action,
body .aksa-payment-details-card .erp-inner-btn {
    width: 1.65rem !important;
    min-width: 1.65rem !important;
    height: 1.65rem !important;
    min-height: 1.65rem !important;
    padding: 0 !important;
    border-radius: .4rem !important;
    box-shadow: none !important;
}

body .aksa-payment-line__actions {
    justify-content: flex-end;
}

body .aksa-payment-line__action,
body .aksa-payment-line__remove.rz-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--payment-h);
    height: var(--payment-h);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--payment-radius);
    box-shadow: none !important;
}

body .aksa-payment-line__action {
    gap: .32rem;
    padding: 0 .65rem;
    background: var(--bs-body-bg);
    color: var(--bs-secondary-color);
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
}

body .aksa-payment-line__action:hover,
body .aksa-payment-line__action:focus-visible,
body .aksa-payment-line__action--active {
    border-color: color-mix(in srgb, var(--bs-primary) 34%, var(--bs-border-color));
    background: var(--bs-primary-bg-subtle, var(--bs-tertiary-bg));
    color: var(--bs-primary);
    outline: none;
}

body .aksa-payment-line__remove.rz-button {
    width: var(--payment-h);
    min-width: var(--payment-h);
    padding: 0 !important;
}

body .aksa-payment-locked-party {
    display: grid;
    align-content: center;
    gap: .1rem;
    min-height: calc(var(--payment-h) + 1rem);
    padding: .35rem .55rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--payment-radius);
    background: var(--bs-tertiary-bg);
}

body .aksa-payment-locked-party--ok {
    border-color: var(--bs-success-border-subtle, var(--bs-border-color));
    background: var(--bs-success-bg-subtle, var(--bs-tertiary-bg));
}

body .aksa-payment-locked-party--required {
    border-color: var(--bs-warning-border-subtle, var(--bs-warning));
    background: var(--bs-warning-bg-subtle, var(--bs-tertiary-bg));
}

body .aksa-payment-locked-party__label {
    color: var(--bs-secondary-color);
    font-size: .66rem;
    font-weight: 750;
}

body .aksa-payment-locked-party__value {
    overflow: hidden;
    color: var(--bs-heading-color);
    font-size: .78rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body .aksa-payment-line__advanced {
    display: grid;
    gap: .55rem;
    margin: 0 .68rem .68rem;
    padding: .6rem;
    border: 1px solid color-mix(in srgb, var(--bs-border-color) 88%, transparent);
    border-radius: .6rem;
    background: color-mix(in srgb, var(--bs-tertiary-bg) 58%, var(--bs-card-bg, var(--bs-body-bg)) 42%);
    overflow: visible;
}

body .aksa-payment-line__advanced-head {
    display: flex;
    align-items: center;
    gap: .35rem;
    color: var(--bs-secondary-color);
    font-size: .7rem;
    font-weight: 800;
}

body .aksa-payment-line__advanced-head i {
    color: var(--bs-primary);
}

body .aksa-payment-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 18rem));
    justify-content: start;
    align-items: end;
    gap: .55rem;
    min-width: 0;
    padding: 0;
    overflow: visible;
}

body .aksa-payment-grid + .aksa-payment-grid {
    padding-top: .55rem;
    border-top: 1px dashed color-mix(in srgb, var(--bs-border-color) 82%, transparent);
}

body .aksa-payment-line__advanced .rz-form-field,
body .aksa-payment-line__advanced .aksa-account-picker-field,
body .aksa-payment-line__advanced .aksa-account-detail-picker-field {
    width: 100%;
    margin: 0 !important;
}

body .aksa-payment-line__advanced .rz-form-field-content,
body .aksa-payment-line__advanced .rz-dropdown,
body .aksa-payment-line__advanced .rz-inputtext,
body .aksa-payment-line__advanced .rz-numeric,
body .aksa-payment-line__advanced .rz-picker,
body .aksa-payment-line__advanced input {
    min-height: var(--payment-h) !important;
}

body .aksa-payment-line__advanced .rz-form-field-label,
body .aksa-payment-line__advanced label,
body .aksa-payment-line__advanced .form-label {
    font-size: .69rem;
    font-weight: 750;
}

body .aksa-payment-details-card--readonly .aksa-payment-line {
    background: color-mix(in srgb, var(--bs-tertiary-bg) 35%, var(--bs-card-bg, var(--bs-body-bg)));
}

@media (max-width: 1199.98px) {
    body .aksa-payment-line__main,
    body .aksa-payment-line__main--with-reference,
    body .aksa-payment-line__main--no-account,
    body .aksa-payment-line__main--no-detail,
    body .aksa-payment-line__main--no-index {
        flex-wrap: wrap;
    }

    body .aksa-payment-cell--type {
        flex: 1 1 10rem;
        max-width: none;
    }

    body .aksa-payment-cell--account,
    body .aksa-payment-cell--detail {
        flex: 2 1 18rem;
    }

    body .aksa-payment-cell--amount {
        flex: .8 1 9rem;
        max-width: 12rem;
    }

    body .aksa-payment-cell--reference {
        flex: 1 1 11rem;
        max-width: 15rem;
    }
}

@media (max-width: 767.98px) {
    body .aksa-payment-details-header {
        align-items: stretch;
        flex-direction: column;
    }

    body .aksa-payment-line__main,
    body .aksa-payment-line__main--with-reference,
    body .aksa-payment-line__main--no-account,
    body .aksa-payment-line__main--no-detail,
    body .aksa-payment-line__main--no-index {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: end;
        gap: .55rem;
        padding: .58rem;
    }

    body .aksa-payment-line__index,
    body .aksa-payment-cell--account,
    body .aksa-payment-cell--detail,
    body .aksa-payment-line__actions {
        grid-column: 1 / -1;
    }

    body .aksa-payment-cell--type,
    body .aksa-payment-cell--amount,
    body .aksa-payment-cell--reference {
        width: 100%;
        max-width: none;
    }

    body .aksa-payment-line__actions {
        justify-content: flex-start;
        min-height: 0;
    }

    body .aksa-payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    body .aksa-payment-line__main,
    body .aksa-payment-line__main--with-reference,
    body .aksa-payment-line__main--no-account,
    body .aksa-payment-line__main--no-detail,
    body .aksa-payment-line__main--no-index,
    body .aksa-payment-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body .aksa-payment-cell,
    body .aksa-payment-line__actions,
    body .aksa-payment-line__index {
        grid-column: 1 !important;
    }

    body .aksa-payment-line__action--advanced {
        flex: 1 1 auto;
    }
}

/* Product editor: keep identity, status and actions in a single compact header. */
.product-editor-page.product-editor-compact {
    --product-editor-tabbar-height: 3rem;
    gap: .45rem;
}

.product-editor-page.product-editor-compact .product-editor-controlbar-main {
    min-height: 4.5rem;
    padding: .55rem .75rem;
    gap: .5rem .85rem;
    align-items: center;
}

.product-editor-page.product-editor-compact .product-editor-heading {
    flex: 1 1 28rem;
    gap: .6rem;
}

.product-editor-page.product-editor-compact .product-record-avatar {
    flex: 0 0 2.75rem;
    width: 2.75rem;
    height: 2.75rem;
}

.product-editor-page.product-editor-compact .product-record-copy {
    flex: 1;
    min-width: 0;
}

.product-editor-page.product-editor-compact .product-editor-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
}

.product-editor-page.product-editor-compact .product-record-copy h1 {
    margin: 0;
    font-size: max(1.1rem, 15px);
    line-height: 1.45;
}

.product-editor-page.product-editor-compact .product-record-reference {
    gap: .2rem .65rem;
    margin-block-start: .2rem;
    font-size: max(.82rem, 12px);
    overflow-wrap: anywhere;
}

.product-editor-page.product-editor-compact .product-record-reference abbr {
    text-decoration: none;
}

.product-editor-page.product-editor-compact .product-record-flag {
    min-height: 1.6rem;
    padding: .1rem .4rem;
    font-size: max(.8rem, 11px);
}

.product-editor-page.product-editor-compact .product-editor-control-actions {
    flex: 0 1 auto;
    gap: .35rem;
}

.product-editor-page.product-editor-compact .product-editor-controlbar .rz-button,
.product-editor-page.product-editor-compact .product-editor-more-button {
    min-height: 2.4rem;
    font-size: max(.9rem, 12px);
}

.product-editor-page.product-editor-compact .product-editor-notebook-head {
    border-radius: .6rem .6rem 0 0;
}

.product-editor-page.product-editor-compact .product-editor-tab {
    min-height: 2.65rem;
    padding: .4rem .65rem;
    gap: .35rem;
    font-size: max(.9rem, 13px);
}

.product-editor-page.product-editor-compact .product-editor-content-body {
    padding-block-start: .5rem;
}

.product-editor-page.product-editor-compact .product-picture-card {
    padding: .75rem;
}

.product-editor-page.product-editor-compact .product-picture-heading {
    margin: .6rem 0 .35rem;
    padding: 0;
    border: 0;
    gap: .35rem;
}

.product-editor-page.product-editor-compact .product-picture-heading h2 {
    font-size: max(.9rem, 13px);
}

.product-editor-page.product-editor-compact .product-picture-count {
    margin-inline-start: 0;
    padding: 0 .35rem;
    border: 0;
    font-size: max(.82rem, 12px);
}

@media (max-width: 767.98px) {
    .product-editor-page.product-editor-compact .product-editor-heading {
        flex-basis: 100%;
    }

    .product-editor-page.product-editor-compact .product-editor-control-actions {
        flex: 1 1 100%;
    }
}

@media (max-width: 575.98px) {
    .product-editor-page.product-editor-compact .product-editor-breadcrumb > span,
    .product-editor-page.product-editor-compact .product-editor-breadcrumb-arrow {
        display: none;
    }
}

@media (pointer: coarse) {
    .product-editor-page.product-editor-compact .product-editor-controlbar .rz-button,
    .product-editor-page.product-editor-compact .product-editor-more-button,
    .product-editor-page.product-editor-compact .product-editor-tab {
        min-height: 44px;
    }
}

.product-editor-page .product-main-editor .product-toggle-card > .form-label {
    margin: 0;
    min-width: 0;
    font-size: max(.92rem, 13px);
    font-weight: 550;
    line-height: 1.5;
}
.product-editor-page .product-main-editor--create .product-overview-stack {
    grid-template-columns: minmax(0, 1fr);
    gap: .65rem;
}
.product-editor-page .product-main-editor--create .product-overview-card { padding: .75rem; }
.product-editor-page .product-main-editor--create .product-core-pricing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
}
@media (max-width: 991.98px) {
    .product-editor-page .product-main-editor--create .product-core-pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .product-editor-page .product-main-editor--create .product-core-pricing-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Product manufacturing: use the product editor's toolbar and compact field rhythm. */
.product-editor-page .mfg-shell .mfg-toolbar {
    position: static;
    padding-block: .65rem;
    margin-block-end: .5rem;
}
.product-editor-page .mfg-shell .mfg-reload { margin-inline-start: auto; }
.product-editor-page.product-editor-compact .mfg-shell .rz-button {
    min-height: 30px;
    height: 30px;
    padding: 0 .6rem;
    font-size: 12px;
    line-height: 1.2;
}
.product-editor-page.product-editor-compact .mfg-shell .rz-button .rzi { font-size: 16px; }
.product-editor-page.product-editor-compact .mfg-shell .rz-datepicker > .rz-datepicker-trigger {
    inset-block: 0;
    height: 100%;
    min-height: 0;
    margin-block: 0;
    padding: 0;
    transform: none;
}
.product-editor-page.product-editor-compact .mfg-shell .mfg-section {
    min-height: 32px;
    padding: .35rem .65rem;
    font-size: 12px;
}
.product-editor-page.product-editor-compact .mfg-shell .mfg-icon-button {
    width: 30px;
    min-height: 30px;
    height: 30px;
    padding: .25rem;
}
.product-editor-page.product-editor-compact .mfg-shell .mfg-add-line { min-height: 30px; font-size: 12px; }
.product-editor-page .mfg-shell .mfg-fields {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    padding: .75rem;
    margin-block: .5rem .75rem;
}
.product-editor-page .mfg-shell .mfg-configurable {
    margin-block: .5rem;
    padding: .6rem .75rem;
    min-height: 0;
}
.product-editor-page .mfg-shell .product-field { display: grid; gap: .4rem; min-width: 0; }
.product-editor-page .mfg-shell .product-toggle-card .rz-label { margin: 0; }
.product-editor-page .mfg-shell .rz-switch input { width: auto; min-height: 0; padding: 0; }
.product-editor-page .mfg-shell .mfg-quantity-editor { width: 6rem; min-width: 5.5rem; max-width: 100%; }
.product-editor-page .mfg-shell .mfg-table .rz-dropdown { min-width: 8rem; }
.product-editor-page .mfg-shell .mfg-table--bom :is(th, td) { padding: .55rem .65rem; }
.product-editor-page .mfg-shell .mfg-table--bom input[type="number"] { min-width: 5.5rem; width: 6rem; }
.product-editor-page .mfg-shell .mfg-table--bom select { min-width: 7.5rem; }
.product-editor-page .mfg-shell .mfg-table--bom .mfg-required { text-align: center; }
.product-editor-page .mfg-shell .mfg-lines-heading { margin-block: .75rem .5rem; }
.product-editor-page .mfg-shell .mfg-component-picker {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: .5rem;
    max-width: 44rem;
    margin-block: .75rem;
}
.product-editor-page .mfg-shell .mfg-center-picker {
    display: flex;
    align-items: center;
    gap: .35rem;
    min-width: 12rem;
}
.product-editor-page .mfg-shell .mfg-center-picker > .rz-dropdown { flex: 1; min-width: 0; }
.product-editor-page .mfg-shell .mfg-inline-center {
    display: grid;
    grid-template-columns: minmax(6rem, .6fr) minmax(10rem, 1fr) auto auto;
    align-items: end;
    gap: .6rem;
    padding: .75rem;
    margin-block: .75rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
}
@media (max-width: 1100px) {
    .product-editor-page .mfg-shell .mfg-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .product-editor-page .mfg-shell :is(.mfg-table--bom, .mfg-table--routing),
    .product-editor-page .mfg-shell :is(.mfg-table--bom, .mfg-table--routing) tbody { display: block; }
    .product-editor-page .mfg-shell :is(.mfg-table--bom, .mfg-table--routing) thead { display: none; }
    .product-editor-page .mfg-shell :is(.mfg-table--bom, .mfg-table--routing) tbody tr {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .6rem;
        padding: .65rem;
        border-block-end: 1px solid var(--bs-border-color);
    }
    .product-editor-page .mfg-shell :is(.mfg-table--bom, .mfg-table--routing) tbody :is(th, td) {
        display: grid;
        align-content: start;
        gap: .3rem;
        min-width: 0;
        padding: 0;
        border: 0;
        text-align: start;
    }
    .product-editor-page .mfg-shell :is(.mfg-table--bom, .mfg-table--routing) td[data-label]::before {
        content: attr(data-label);
        color: var(--bs-secondary-color);
        font-size: 12px;
    }
    .product-editor-page .mfg-shell :is(.mfg-material-name, .mfg-center-cell, td[colspan]) { grid-column: 1 / -1; }
    .product-editor-page .mfg-shell .mfg-table :is(input, .rz-numeric, .rz-dropdown, .rz-textbox, .mfg-quantity-editor) {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
    .product-editor-page .mfg-shell .mfg-center-picker { min-width: 0; }
}
@media (max-width: 575.98px) {
    .product-editor-page .mfg-shell .mfg-fields { grid-template-columns: minmax(0, 1fr); }
    .product-editor-page .mfg-shell .mfg-inline-center { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Shared widget placement picker. Popup rows move to body in Radzen. */
.widget-zone-selector { display: grid; gap: .5rem; min-width: 0; width: 100%; }
.widget-zone-selector .wz-area, .widget-zone-selector .wz-selection { min-width: 0; max-width: 100%; }
.widget-zone-selector .rz-dropdown-label { min-width: 0; white-space: normal; }
.widget-zone-selector .rz-chips, .widget-zone-selector .rz-multiselect-label { flex-wrap: wrap; min-width: 0; }
.wz-option { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .15rem .6rem; min-width: 0; line-height: 1.45; padding-block: .1rem; }
.wz-option-title { font-weight: 600; overflow-wrap: anywhere; }
.wz-option-area, .wz-option-status { font-size: .72rem; color: var(--kt-text-muted, #78829d); }
.wz-option-code { grid-column: 1 / -1; font-size: .7rem; color: var(--kt-text-muted, #78829d); white-space: normal; overflow-wrap: anywhere; text-align: start; }
.wz-selected-label { white-space: normal; overflow-wrap: anywhere; }

/* Widget placements: visible, searchable choices with separate saved selections. */
.widget-zone-selector { container: widget-zone-picker / inline-size; }
.wz-lookup { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: .45rem; }
.wz-search { min-width: 0; width: 100%; }
.wz-selected { display: flex; flex-wrap: wrap; gap: .35rem; }
.wz-chip { display: inline-flex; align-items: center; gap: .35rem; max-width: 100%; border: 1px solid var(--bs-primary-border-subtle); border-radius: .4rem; padding: .25rem .45rem; background: var(--bs-primary-bg-subtle); font-size: .8rem; }
.wz-chip > span { min-width: 0; overflow-wrap: anywhere; }
.wz-chip button { flex: 0 0 auto; display: grid; place-items: center; border: 0; padding: .1rem; background: transparent; color: inherit; }
.wz-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: .3rem; max-height: 18rem; overflow: auto; overscroll-behavior: contain; padding: .15rem; }
.wz-choice { display: flex; align-items: center; gap: .5rem; min-width: 0; margin: 0; padding: .45rem .5rem; border: 1px solid var(--bs-border-color); border-radius: .45rem; cursor: pointer; }
.wz-choice.is-selected { border-color: var(--bs-primary); background: var(--bs-primary-bg-subtle); }
.wz-choice.is-unavailable { color: var(--bs-secondary-color); cursor: default; }
.wz-choice > input { flex: 0 0 auto; margin: 0; }
.wz-choice-copy { display: grid; gap: .1rem; min-width: 0; flex: 1; }
.wz-choice-copy strong { font-size: .8rem; font-weight: 600; overflow-wrap: anywhere; }
.wz-choice-copy small { color: var(--bs-secondary-color); font-size: .72rem; }
.wz-choice .wz-option-status { flex: 0 0 auto; font-size: .65rem; }
@container widget-zone-picker (max-width: 440px) {
    .wz-choices { grid-template-columns: minmax(0,1fr); }
}
@container widget-zone-picker (max-width: 340px) {
    .wz-lookup { grid-template-columns: minmax(0,1fr); }
}

.wz-selected { max-height: 6rem; overflow: auto; }
.wz-choices { max-height: min(18rem, 35dvh); }

/* Legacy public blog headings follow the active dark palette. */
[data-bs-theme="dark"] [data-aksa-layout="frontend"] a.text-dark[href^="/blog/"]:not(:hover) {
    color: var(--bs-body-color) !important;
}

.shared-google-settings {
    display: grid;
    gap: 1rem;
    min-width: 0;
    padding: 1rem 1.15rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .85rem;
    background: var(--bs-body-bg);
}
.shared-google-settings__header,
.shared-google-settings__actions,
.shared-google-settings__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    flex-wrap: wrap;
}
.shared-google-settings__header h3 { margin: 0; }
.shared-google-settings__actions { justify-content: flex-end; }
.shared-google-badge {
    display: inline-flex;
    margin-top: .35rem;
    padding: .2rem .55rem;
    border-radius: 999px;
    background: var(--bs-tertiary-bg);
    color: var(--bs-secondary-color);
    font-size: .8rem;
}
.shared-google-badge.is-ready { color: var(--bs-success); }
.shared-google-alert {
    padding: .75rem .85rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .7rem;
    overflow-wrap: anywhere;
}
.shared-google-alert.is-error { border-color: color-mix(in srgb, var(--bs-danger) 35%, var(--bs-border-color)); }
.shared-google-alert.is-success { border-color: color-mix(in srgb, var(--bs-success) 35%, var(--bs-border-color)); }
.shared-google-facts,
.shared-google-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}
.shared-google-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.shared-google-facts > div {
    display: grid;
    gap: .2rem;
    min-width: 0;
    padding: .75rem .85rem;
    border-radius: .7rem;
    background: var(--bs-tertiary-bg);
    overflow-wrap: anywhere;
}
.shared-google-facts span { color: var(--bs-secondary-color); font-size: .82rem; }
.shared-google-wide { grid-column: 1 / -1; }
.shared-google-check {
    display: flex;
    align-items: center;
    gap: .65rem;
}
.shared-google-enable { margin-block: .75rem; }
@media (max-width: 900px) {
    .shared-google-facts,
    .shared-google-grid { grid-template-columns: 1fr; }
    .shared-google-wide { grid-column: auto; }
}
