/* ==================================================
   POS TYPOGRAPHY SYSTEM
================================================== */
:root {
    --pos-font-family: Inter, "Source Sans 3", "Segoe UI", Arial, sans-serif;
    --pos-font-size-page-title: 28px;
    --pos-font-size-section-title: 21px;
    --pos-font-size-navigation: 15px;
    --pos-font-size-label: 14px;
    --pos-font-size-input: 16px;
    --pos-font-size-button: 15px;
    --pos-font-size-body: 15px;
    --pos-font-size-body-sm: 14px;
    --pos-font-size-helper: 13px;
    --pos-font-size-kpi: 24px;
    --pos-text-primary: #111827;
    --pos-text-body: #374151;
    --pos-text-secondary: #6B7280;
    --pos-text-muted: #64748B;
    --pos-text-inverse: #FFFFFF;
}
body {
    font-family: var(--pos-font-family);
    font-size: var(--pos-font-size-body);
    font-weight: 400;
    line-height: 1.45;
    color: var(--pos-text-body);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.content-wrapper,
.main-header,
.main-sidebar,
.dropdown-menu,
.popover,
.tooltip {
    font-family: var(--pos-font-family);
}
.content-header h1,
.content-wrapper .page-title,
.content-wrapper > .content-header h1 {
    color: var(--pos-text-primary);
    font-size: var(--pos-font-size-page-title);
    font-weight: 700;
    line-height: 1.25;
}
.content-wrapper .section-title,
.content-wrapper .card-body > h2,
.content-wrapper .card-body > .section-title {
    color: var(--pos-text-primary);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.28;
}
.content-wrapper .card-body > h3,
.content-wrapper .card-body > h4,
.content-wrapper .card-header .card-title,
.content-wrapper .card-title {
    color: var(--pos-text-primary);
    font-size: var(--pos-font-size-section-title);
    font-weight: 700;
    line-height: 1.3;
}
.content-wrapper .card-body > h5,
.content-wrapper .card-body > h6 {
    color: var(--pos-text-primary);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}
.content-wrapper .card-body > p,
.content-wrapper .content > p,
.content-wrapper .card-body li,
.content-wrapper .content li {
    color: var(--pos-text-body);
    font-size: var(--pos-font-size-body-sm);
    font-weight: 400;
    line-height: 1.45;
}
.content-wrapper .card-body > small,
.content-wrapper .card-body > .text-muted,
.content-wrapper .content > .text-muted,
.content-wrapper form .text-muted,
.content-wrapper form .help-block,
.content-wrapper form .form-text {
    color: var(--pos-text-secondary) !important;
    font-size: var(--pos-font-size-helper);
    font-weight: 400;
    line-height: 1.35;
}
.content-wrapper .form-group > label,
.content-wrapper .form-label,
.content-wrapper .custom-file-label,
.content-wrapper .custom-control-label {
    color: var(--pos-text-body);
    font-size: var(--pos-font-size-label);
    font-weight: 600;
    line-height: 1.3;
}
.content-wrapper form .form-control,
.content-wrapper form .form-select,
.content-wrapper form textarea,
.content-wrapper form input:not([type="checkbox"]):not([type="radio"]),
.content-wrapper form select,
.content-wrapper .form-group .form-control,
.content-wrapper .form-group .form-select,
.content-wrapper .input-group .form-control,
.content-wrapper .custom-file .custom-file-input {
    font-family: var(--pos-font-family);
    font-size: var(--pos-font-size-input);
    font-weight: 400;
    color: var(--pos-text-body);
}
.content-wrapper form .form-control::placeholder,
.content-wrapper form textarea::placeholder,
.content-wrapper form input::placeholder,
.content-wrapper .form-group .form-control::placeholder,
.content-wrapper .input-group .form-control::placeholder {
    color: var(--pos-text-muted);
    font-size: var(--pos-font-size-input);
    font-weight: 400;
}
.main-sidebar .nav-link,
.main-header .nav-link,
.dropdown-menu .dropdown-item,
.navbar-nav .nav-link,
.settings-pills .nav-link {
    font-family: var(--pos-font-family);
    font-size: var(--pos-font-size-navigation);
    font-weight: 600;
}
.content-wrapper form .btn:not(.dt-button):not(.paginate_button),
.content-wrapper .content-header .btn:not(.dt-button):not(.paginate_button),
.content-wrapper .card-header .btn:not(.dt-button):not(.paginate_button),
.content-wrapper .card-body > .btn:not(.dt-button):not(.paginate_button),
.content-wrapper .card-body > .btn-group .btn:not(.dt-button):not(.paginate_button),
.content-wrapper .card-body > .btn-toolbar .btn:not(.dt-button):not(.paginate_button),
.content-wrapper .card-footer .btn:not(.dt-button):not(.paginate_button) {
    font-family: var(--pos-font-family);
    font-size: var(--pos-font-size-button);
    font-weight: 600;
}
.sales-history-kpi-copy strong,
.dashboard-kpi-card strong,
.admin-dashboard-kpi strong,
.cash-flow-kpi-copy strong,
.users-design-kpi-copy strong,
.roles-design-kpi-copy strong,
.settings-kpi-copy strong {
    font-family: var(--pos-font-family);
    font-size: var(--pos-font-size-kpi);
    font-weight: 700;
    line-height: 1.08;
}
.kajo-trial-register,
.kajo-trial-welcome {
    min-height: 100vh;
    background: var(--soft, #f4f9fd);
}
.kajo-trial-simple-register {
    position: relative;
    overflow-x: hidden;
    padding: 18px clamp(20px, 5vw, 72px) 44px;
    background:
        linear-gradient(90deg, rgba(0, 31, 63, .96) 0%, rgba(0, 61, 121, .86) 48%, rgba(0, 86, 168, .54) 100%),
        url("../img/kajofondo.png") center / cover no-repeat;
}
.kajo-trial-simple-nav {
    width: min(1180px, 100%);
    margin: 0 auto;
}
.kajo-trial-simple-shell {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 450px);
    gap: clamp(28px, 6vw, 78px);
    justify-content: space-between;
    width: min(1180px, 100%);
    min-height: calc(100vh - 118px);
    margin: 0 auto;
    padding: clamp(48px, 8vw, 88px) 0 0;
}
.kajo-trial-simple-copy {
    min-width: 0;
    color: #fff;
}
.kajo-trial-simple-copy h1 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(42px, 5.2vw, 68px);
    font-weight: 900;
    line-height: .98;
    letter-spacing: 0;
}
.kajo-trial-simple-copy p {
    max-width: 610px;
    margin: 1.25rem 0 0;
    color: rgba(255, 255, 255, .84);
    font-size: clamp(17px, 2vw, 21px);
    font-weight: 700;
    line-height: 1.55;
}
.kajo-trial-proof {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    max-width: 610px;
    margin-top: 1.6rem;
}
.kajo-trial-proof div {
    min-width: 0;
    padding: .9rem;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 8px;
    background: rgba(255, 255, 255, .1);
    backdrop-filter: blur(12px);
}
.kajo-trial-proof strong {
    display: block;
    color: #fff;
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 1;
}
.kajo-trial-proof span {
    display: block;
    margin-top: .35rem;
    color: rgba(255, 255, 255, .78);
    font-size: .78rem;
    font-weight: 800;
}
.kajo-trial-simple-benefits {
    display: grid;
    gap: .65rem;
    max-width: 610px;
    margin: 1.45rem 0 0;
    padding: 0;
    list-style: none;
}
.kajo-trial-simple-benefits li {
    display: flex;
    gap: .55rem;
    color: rgba(255, 255, 255, .9);
    font-weight: 800;
}
.kajo-trial-simple-benefits i {
    color: #00c26f;
    margin-top: .18rem;
}
.kajo-trial-simple-card {
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(216, 229, 239, .9);
    border-radius: 8px;
    box-shadow: var(--shadow, 0 24px 70px rgba(0, 40, 86, .18));
    padding: 1.65rem;
    width: 100%;
    backdrop-filter: blur(16px);
}
.kajo-trial-simple-head {
    margin-bottom: 1.05rem;
}
.kajo-trial-simple-head h2 {
    color: var(--ink, #102033);
    font-size: 1.55rem;
    font-weight: 900;
    line-height: 1.15;
    margin: .65rem 0 .4rem;
}
.kajo-trial-simple-head p {
    color: var(--muted, #5d6b7a);
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.5;
    margin: 0;
}
.kajo-trial-gift-banner {
    align-items: center;
    background: #fff8ec;
    border: 1px solid rgba(255, 138, 0, .38);
    border-radius: 8px;
    color: #9a4f00;
    display: flex;
    gap: .45rem;
    justify-content: center;
    margin: .9rem 0 1.1rem;
    min-height: 38px;
    padding: .45rem .7rem;
}
.kajo-trial-gift-banner strong {
    font-size: .84rem;
    font-weight: 900;
}
.kajo-trial-simple-card .form-group {
    margin-bottom: .82rem;
}
.kajo-trial-simple-card label {
    color: var(--ink, #102033);
    display: block;
    font-size: .72rem;
    font-weight: 900;
    margin-bottom: .32rem;
    text-transform: uppercase;
}
.kajo-trial-simple-card .form-control {
    border: 1px solid var(--line, #d8e5ef);
    border-radius: 8px;
    color: var(--ink, #102033);
    font-size: .88rem;
    font-weight: 700;
    min-height: 44px;
}
.kajo-trial-simple-card .form-control:focus {
    border-color: var(--blue-700, #0072ce);
    box-shadow: 0 0 0 .15rem rgba(0, 114, 206, .14);
}
.kajo-trial-simple-card .kajo-trial-terms {
    font-size: .82rem;
    line-height: 1.35;
}
.kajo-trial-simple-card .kajo-trial-terms a,
.kajo-trial-login-link a {
    color: var(--blue-700, #0072ce);
    font-weight: 900;
}
.kajo-trial-simple-submit {
    border: 1px solid var(--orange, #ff8a00);
    border-radius: 8px;
    background: var(--orange, #ff8a00);
    color: #fff;
    box-shadow: 0 16px 30px rgba(255, 138, 0, .28);
    font-size: .95rem;
    font-weight: 900;
    min-height: 46px;
}
.kajo-trial-simple-submit:hover {
    border-color: var(--orange, #ff8a00);
    background: var(--orange, #ff8a00);
    color: #fff;
    transform: translateY(-1px);
}
.kajo-trial-login-link {
    color: var(--muted, #5d6b7a);
    font-size: .82rem;
    font-weight: 800;
    margin: 1rem 0 0;
    text-align: center;
}
.kajo-trial-shell {
    display: grid;
    grid-template-columns: minmax(280px, .85fr) minmax(320px, 1.15fr);
    gap: 24px;
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto 40px;
    align-items: start;
}
.kajo-trial-summary,
.kajo-trial-form,
.kajo-trial-welcome-card,
.saas-subscription-panel {
    background: #ffffff;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    box-shadow: 0 14px 35px rgba(15, 23, 42, .08);
}
.kajo-trial-summary {
    padding: 28px;
    position: sticky;
    top: 18px;
}
.kajo-public-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: #e9f2ff;
    color: #1d4ed8;
    font-weight: 700;
    font-size: .82rem;
}
.kajo-trial-summary h1 {
    margin: 18px 0 12px;
    font-size: 2rem;
    font-weight: 800;
    color: #111827;
}
.kajo-trial-summary p {
    color: #4b5563;
}
.kajo-trial-plan-pill {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    margin: 20px 0;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
}
.kajo-trial-checks {
    list-style: none;
    padding: 0;
    margin: 0;
}
.kajo-trial-checks li {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
    color: #374151;
}
.kajo-trial-checks i {
    color: #059669;
    margin-top: 4px;
}
.kajo-trial-form {
    padding: 26px;
}
.kajo-trial-form-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}
.kajo-trial-form-head h2,
.saas-subscription-panel h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 800;
    color: #111827;
}
.kajo-trial-divider {
    height: 1px;
    background: #e5e7eb;
    margin: 12px 0 18px;
}
.kajo-trial-terms {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #4b5563;
    margin: 8px 0 18px;
}
.kajo-trial-terms input {
    margin-top: 4px;
}

.kajo-legal-modal .modal-dialog {
    width: calc(100vw - 1.25rem);
    max-width: min(920px, calc(100vw - 1.25rem));
    height: calc(100vh - 1.25rem);
    margin: 0.625rem auto;
}

.kajo-legal-modal .modal-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: calc(100vh - 1.25rem);
    border: 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.28);
}

.kajo-legal-modal .modal-header {
    flex: 0 0 auto;
    align-items: center;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid #e5eef6;
    background: #f8fbff;
}

.kajo-legal-modal .modal-title {
    color: #102033;
    font-size: 1.05rem;
    font-weight: 800;
}

.kajo-legal-modal .modal-body {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 1.1rem 1.2rem 1.4rem;
    background: #fff;
}

.kajo-legal-modal .modal-footer {
    flex: 0 0 auto;
    padding: 0.85rem 1.15rem;
    border-top: 1px solid #e5eef6;
    background: #fff;
}

.kajo-legal-modal .modal-footer .btn {
    min-width: 120px;
    font-weight: 800;
}

.saas-accounts-detail-modal .modal-dialog {
    width: calc(100vw - 1.25rem);
    max-width: min(1100px, calc(100vw - 1.25rem));
    height: calc(100vh - 1.25rem);
    margin: 0.625rem auto;
}

.saas-accounts-detail-modal .modal-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: calc(100vh - 1.25rem);
    border: 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.28);
}

.saas-accounts-detail-modal .modal-header {
    flex: 0 0 auto;
    align-items: flex-start;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid #e5eef6;
    background: #f8fbff;
}

.saas-accounts-detail-modal .modal-body {
    flex: 1 1 auto;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 1rem 1.15rem 1.25rem;
    background: #fff;
}

.saas-accounts-detail-modal .modal-footer {
    flex: 0 0 auto;
    border-top: 1px solid #e5eef6;
    background: #fff;
}

.saas-accounts-detail-modal .table th,
.saas-accounts-detail-modal .table td {
    vertical-align: middle;
}

#saasResetPasswordModal {
    z-index: 1060;
}

.modal-backdrop.saas-nested-backdrop.show {
    z-index: 1055;
}

@media (max-width: 576px) {
    .saas-accounts-detail-modal .modal-dialog {
        width: calc(100vw - 0.75rem);
        max-width: calc(100vw - 0.75rem);
        height: calc(100vh - 0.75rem);
        margin: 0.375rem auto;
    }

    .saas-accounts-detail-modal .modal-content {
        max-height: calc(100vh - 0.75rem);
        border-radius: 10px;
    }
}

.kajo-legal-doc {
    color: #334155;
    font-size: 0.92rem;
    line-height: 1.55;
}

.kajo-legal-doc .kajo-legal-updated {
    margin: 0 0 1rem;
    color: #64748b;
    font-size: 0.8rem;
    font-weight: 700;
}

.kajo-legal-doc h4 {
    margin: 1.15rem 0 0.45rem;
    color: #102033;
    font-size: 0.98rem;
    font-weight: 800;
}

.kajo-legal-doc h4:first-of-type {
    margin-top: 0;
}

.kajo-legal-doc p,
.kajo-legal-doc ul {
    margin: 0 0 0.7rem;
}

.kajo-legal-doc ul {
    padding-left: 1.15rem;
}

.kajo-legal-doc li + li {
    margin-top: 0.28rem;
}

.kajo-legal-doc a {
    color: #0072ce;
    font-weight: 700;
}

@media (max-width: 576px) {
    .kajo-legal-modal .modal-dialog {
        width: calc(100vw - 0.75rem);
        max-width: calc(100vw - 0.75rem);
        height: calc(100vh - 0.75rem);
        margin: 0.375rem auto;
    }

    .kajo-legal-modal .modal-content {
        max-height: calc(100vh - 0.75rem);
        border-radius: 10px;
    }

    .kajo-legal-modal .modal-header,
    .kajo-legal-modal .modal-body,
    .kajo-legal-modal .modal-footer {
        padding-inline: 0.9rem;
    }
}

.kajo-trial-welcome {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
}
.kajo-trial-welcome-card {
    width: min(620px, 100%);
    padding: 34px;
    text-align: center;
}
.kajo-trial-success-icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #dcfce7;
    color: #15803d;
    font-size: 1.35rem;
}
.kajo-trial-welcome-card h1 {
    margin: 18px 0 10px;
    font-size: 2rem;
    font-weight: 800;
}
.kajo-trial-countdown {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 18px;
    margin: 20px 0 10px;
    border-radius: 8px;
    background: #f8fafc;
}
.kajo-trial-countdown strong {
    font-size: 2.4rem;
    line-height: 1;
    color: #2563eb;
}
.kajo-trial-date {
    color: #64748b;
}
.kajo-trial-welcome-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}
.saas-subscription-page {
    padding-bottom: 28px;
}
.saas-subscription-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    border-radius: 8px;
}
.saas-subscription-hero h2 {
    margin: 8px 0 4px;
    font-weight: 800;
}
.saas-subscription-days {
    min-width: 130px;
    text-align: center;
}
.saas-subscription-days strong {
    display: block;
    font-size: 2.6rem;
    line-height: 1;
}
.saas-subscription-panel {
    padding: 20px;
    margin-bottom: 18px;
}
.saas-subscription-grid,
.saas-limit-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}
.saas-subscription-grid div,
.saas-limit-list span {
    padding: 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #f8fafc;
}
.saas-subscription-grid span {
    display: block;
    color: #64748b;
    font-size: .85rem;
}
.saas-subscription-grid strong {
    color: #111827;
}
.saas-module-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}
.saas-module-tags span {
    padding: 6px 10px;
    border-radius: 999px;
    background: #eef2ff;
    color: #3730a3;
    font-weight: 700;
    font-size: .82rem;
}
.saas-plan-pick-list {
    display: grid;
    gap: 10px;
    max-height: 360px;
    overflow: auto;
}
.saas-plan-pick {
    display: block;
    margin: 0;
    cursor: pointer;
}
.saas-plan-pick input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.saas-plan-pick-body {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 12px;
    padding: 12px 14px;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    background: #fff;
}
.saas-plan-pick-body strong {
    color: #111827;
}
.saas-plan-pick-body small,
.saas-plan-pick-body span {
    grid-column: 1 / -1;
    color: #64748b;
    font-size: .85rem;
}
.saas-plan-pick-body em {
    font-style: normal;
    font-weight: 700;
    color: #0f766e;
    text-align: right;
}
.saas-plan-pick.is-current .saas-plan-pick-body,
.saas-plan-pick input:checked + .saas-plan-pick-body {
    border-color: #0d9488;
    background: #f0fdfa;
    box-shadow: inset 0 0 0 1px #0d9488;
}
.saas-installations-head {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding: 20px;
}
.saas-installations-head h2 {
    font-weight: 800;
    margin: 8px 0 4px;
}
.saas-installation-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.saas-wizard-steps {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 18px;
}
.saas-wizard-steps button {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    color: #475569;
    display: flex;
    gap: 10px;
    padding: 12px;
    text-align: left;
}
.saas-wizard-steps span {
    align-items: center;
    background: #e2e8f0;
    border-radius: 50%;
    display: inline-flex;
    font-weight: 800;
    height: 28px;
    justify-content: center;
    width: 28px;
}
.saas-wizard-steps button.active {
    border-color: #2563eb;
    color: #1d4ed8;
}
.saas-wizard-steps button.active span,
.saas-wizard-steps button.completed span {
    background: #2563eb;
    color: #ffffff;
}
.saas-wizard-pane {
    display: none;
}
.saas-wizard-pane.active {
    display: block;
}
.saas-terminal-list {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}
.saas-terminal-list div {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 10px;
}
.saas-terminal-list span {
    color: #64748b;
    display: block;
    font-size: .85rem;
}
.saas-installations-kpis {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media (max-width: 900px) {
    .kajo-trial-simple-shell {
        grid-template-columns: 1fr;
        min-height: auto;
    }
    .kajo-trial-simple-card {
        max-width: 520px;
        margin: 0 auto;
    }
    .kajo-trial-simple-copy {
        text-align: left;
    }
    .kajo-trial-shell {
        grid-template-columns: 1fr;
    }
    .kajo-trial-summary {
        position: static;
    }
    .saas-subscription-hero {
        align-items: flex-start;
        flex-direction: column;
    }
    .saas-installations-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .saas-wizard-steps,
    .saas-installations-kpis {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 640px) {
    .kajo-trial-simple-register {
        padding: 14px 14px 28px;
    }
    .kajo-trial-simple-shell {
        gap: 24px;
        padding-top: 34px;
    }
    .kajo-trial-simple-copy h1 {
        font-size: clamp(36px, 12vw, 48px);
    }
    .kajo-trial-proof {
        grid-template-columns: 1fr;
    }
    .kajo-trial-simple-card {
        padding: 1.25rem;
    }
    .kajo-trial-shell {
        width: calc(100% - 20px);
    }
    .kajo-trial-summary,
    .kajo-trial-form,
    .kajo-trial-welcome-card {
        padding: 20px;
    }
    .saas-subscription-grid,
    .saas-limit-list {
        grid-template-columns: 1fr;
    }
}
.lock-screen-active { overflow: hidden; }
.auth-gradient { background: radial-gradient(circle at top left, rgba(13,110,253,.22), transparent 30%), linear-gradient(135deg, #eff6ff 0%, #f8fafc 55%, #e2e8f0 100%); }
.login-page:has(.license-activation-screen) {
    align-items: center;
    justify-content: center;
    min-height: 100svh;
    padding: 12px;
    overflow: hidden;
}
.license-activation-screen {
    width: min(980px, 100%);
    max-height: calc(100svh - 24px);
}
.license-activation-card {
    display: flex;
    flex-direction: column;
    max-height: calc(100svh - 24px);
    overflow: hidden;
    border: 1px solid #dbe7f3;
    border-top: 3px solid #0d6efd;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .14);
}
.license-activation-head {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: 168px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 14px 18px;
    border-bottom: 1px solid #e5eaf1;
    background: #fbfdff;
}
.license-activation-logo-link {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}
.license-activation-logo {
    display: block;
    width: auto;
    max-width: 150px;
    max-height: 52px;
    object-fit: contain;
}
.license-activation-title span,
.license-activation-status span,
.license-activation-meta span {
    display: block;
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}
.license-activation-title h1 {
    margin: 2px 0 0;
    color: #0f172a;
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: 0;
}
.license-activation-login {
    min-width: 86px;
    font-weight: 800;
}
.license-activation-flash {
    flex: 0 0 auto;
    margin: 12px 18px 0;
    padding: .62rem .75rem;
    border-radius: 6px;
    font-size: .9rem;
    font-weight: 700;
}
.license-activation-body {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 16px;
    overflow-y: auto;
    padding: 16px 18px 18px;
}
.license-activation-status {
    align-self: start;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    border: 1px solid #fde68a;
    border-radius: 8px;
    background: #fff8e1;
}
.license-activation-status.is-ok {
    border-color: #bbf7d0;
    background: #f0fdf4;
}
.license-activation-status-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #92400e;
    background: #fbbf24;
}
.license-activation-status.is-ok .license-activation-status-icon {
    color: #fff;
    background: #16a34a;
}
.license-activation-status strong {
    display: block;
    margin-top: 2px;
    color: #111827;
    font-size: .96rem;
    font-weight: 900;
}
.license-activation-status p {
    margin: 7px 0 0;
    color: #1f2937;
    font-size: .82rem;
    line-height: 1.35;
}
.license-activation-form {
    min-width: 0;
    display: grid;
    gap: 12px;
}
.license-activation-admin {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
}
.license-activation-admin span {
    display: block;
    color: #2563eb;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}
.license-activation-admin strong {
    display: block;
    margin-top: 2px;
    color: #0f172a;
    font-size: .92rem;
    font-weight: 900;
}
.license-activation-admin p {
    margin: 4px 0 0;
    color: #475569;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.35;
}
.license-activation-admin .btn {
    flex: 0 0 auto;
    min-height: 36px;
    border-radius: 6px;
    font-size: .8rem;
    font-weight: 900;
}
.license-activation-copy h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 900;
}
.license-activation-copy p {
    margin: 3px 0 0;
    color: #64748b;
    font-size: .86rem;
    font-weight: 700;
}
.license-activation-token {
    margin-bottom: 0;
}
.license-activation-token label {
    margin-bottom: .35rem;
    color: #111827;
    font-size: .86rem;
    font-weight: 900;
}
.license-activation-token textarea {
    min-height: 118px;
    max-height: 180px;
    resize: vertical;
    border-color: #cbd5e1;
    border-radius: 6px;
    font-size: .92rem;
}
.license-activation-token small {
    display: block;
    margin-top: .35rem;
    color: #64748b;
    font-size: .78rem;
    font-weight: 700;
}
.license-activation-meta-grid {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 10px;
}
.license-activation-meta {
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #dbe7f3;
    border-radius: 8px;
    background: #f8fbff;
}
.license-activation-meta strong {
    display: block;
    min-width: 0;
    margin-top: 3px;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
    overflow-wrap: anywhere;
}
.license-activation-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}
.license-activation-actions .btn {
    min-height: 38px;
    border-radius: 6px;
    font-weight: 800;
}
@media (max-width: 767.98px) {
    .login-page:has(.license-activation-screen) {
        padding: 8px;
    }
    .license-activation-screen,
    .license-activation-card {
        max-height: calc(100svh - 16px);
    }
    .license-activation-head {
        grid-template-columns: minmax(0, 112px) minmax(0, 1fr);
        gap: 10px;
        padding: 12px;
    }
    .license-activation-logo {
        max-width: 108px;
        max-height: 42px;
    }
    .license-activation-title h1 {
        font-size: 1.05rem;
        line-height: 1.08;
    }
    .license-activation-title span {
        font-size: .62rem;
    }
    .license-activation-login {
        grid-column: 1 / -1;
        width: 100%;
        min-height: 32px;
    }
    .license-activation-flash {
        margin: 10px 12px 0;
        font-size: .8rem;
    }
    .license-activation-body {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 12px;
    }
    .license-activation-admin {
        align-items: stretch;
        flex-direction: column;
    }
    .license-activation-admin .btn {
        width: 100%;
    }
    .license-activation-status {
        grid-template-columns: 36px minmax(0, 1fr);
        padding: 12px;
    }
    .license-activation-status-icon {
        width: 36px;
        height: 36px;
    }
    .license-activation-status strong {
        font-size: .9rem;
    }
    .license-activation-status p {
        font-size: .78rem;
    }
    .license-activation-token textarea {
        min-height: 106px;
    }
    .license-activation-meta-grid {
        grid-template-columns: 1fr;
    }
    .license-activation-actions {
        justify-content: stretch;
    }
    .license-activation-actions .btn {
        flex: 1 1 0;
        min-width: 0;
        padding-right: .55rem;
        padding-left: .55rem;
    }
}
@media (max-width: 420px) {
    .license-activation-head {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .license-activation-logo-link {
        justify-content: center;
    }
    .license-activation-status {
        grid-template-columns: 1fr;
    }
    .license-activation-status-icon {
        margin: 0 auto;
    }
    .license-activation-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .license-activation-actions .btn {
        width: 100%;
    }
}
.app-listing-card-body {
    padding-top: 1rem;
}
.app-listing-table-shell .dataTables_length,
.app-listing-table-shell .dataTables_filter {
    margin-bottom: .75rem;
}
.app-listing-table-shell .dataTables_length label,
.app-listing-table-shell .dataTables_filter label {
    font-size: .9rem;
    font-weight: 700;
    color: #334155;
    margin-bottom: 0;
}
.app-listing-table-shell .dataTables_length select,
.app-listing-table-shell .dataTables_filter input {
    min-height: 36px;
    border-radius: .7rem;
    border-color: #d7e2f0;
    box-shadow: none;
}
.app-listing-table {
    margin-top: .2rem !important;
    table-layout: fixed;
}
.app-listing-table thead th {
    padding: .72rem .82rem;
    background: #1b365d;
    color: #fff;
    font-size: .77rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    border-bottom: 0;
    white-space: nowrap;
    vertical-align: middle;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .12);
}
.app-listing-table tbody td {
    padding: .48rem .82rem;
    font-size: .85rem;
    line-height: 1.1;
    color: #0f172a;
    vertical-align: middle;
}
.app-listing-table tbody tr {
    transition: background-color .14s ease, box-shadow .14s ease;
}
.app-listing-table tbody tr:hover {
    background: #f8fbff;
}
.app-listing-table tbody td small {
    display: inline-block;
    margin-top: 0;
    margin-left: .38rem;
    font-size: .68rem;
    line-height: 1.05;
    color: #64748b !important;
    white-space: nowrap;
}
.app-listing-table .badge {
    padding: .24rem .42rem;
    font-size: .62rem;
    font-weight: 800;
    border-radius: .48rem;
}
.app-listing-table .btn {
    width: 29px;
    height: 29px;
    padding: 0;
    border-radius: .48rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    flex: 0 0 auto;
}
.app-listing-table .btn i {
    font-size: .72rem;
}
.app-listing-table .btn + .btn {
    margin-left: 0;
}
.app-listing-actions-cell {
    text-align: center;
    white-space: nowrap;
}
.app-listing-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .22rem;
    flex-wrap: nowrap;
    white-space: nowrap;
    min-width: 0;
}
.app-listing-table .dataTables_paginate .paginate_button {
    padding: .28rem .7rem !important;
    border-radius: .65rem;
}
.app-listing-table th:last-child,
.app-listing-table td:last-child {
    white-space: nowrap;
}
.main-sidebar {
    background: linear-gradient(180deg, #0b1220 0%, #111827 48%, #172033 100%);
}
.main-sidebar::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 220px;
    background: radial-gradient(circle at top left, rgba(37, 99, 235, .24), transparent 60%);
    pointer-events: none;
}
.app-skip-link {
    position: fixed;
    top: .75rem;
    left: .75rem;
    z-index: 2000;
    transform: translateY(-160%);
    border-radius: 8px;
    background: #ffffff;
    color: #0f172a;
    padding: .55rem .82rem;
    font-weight: 900;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .22);
    transition: transform .14s ease;
}
.app-skip-link:focus,
.app-skip-link:focus-visible {
    color: #0f172a;
    outline: 3px solid #facc15;
    outline-offset: 2px;
    transform: translateY(0);
}
.brand-link {
    border-bottom: 1px solid rgba(148, 163, 184, .18) !important;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .62rem;
    min-height: 64px;
    padding: .65rem .95rem !important;
}
.brand-logo-image {
    display: block;
    max-width: 44px;
    max-height: 42px;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 6px 18px rgba(15, 23, 42, .28));
}
.app-sidebar-brand-logo {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 34px;
    object-fit: contain;
}
.app-sidebar-brand-text {
    min-width: 0;
    color: #f8fafc;
    font-size: .92rem;
    font-weight: 900;
    line-height: 1.05;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.login-brand-image-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: .35rem 0;
}
.login-brand-image {
    display: block;
    max-width: min(100%, 260px);
    max-height: 72px;
    width: auto;
    object-fit: contain;
}
.login-page:has(.kajo-login-screen) {
    align-items: stretch;
    justify-content: stretch;
    min-height: 100vh;
    background: #031432;
}
.kajo-login-screen {
    position: relative;
    min-height: 100vh;
    width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5vh 7vw 15vh;
    color: #ffffff;
}
.kajo-login-bg,
.kajo-login-shade {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.kajo-login-bg {
    background-image: url("../img/kajofondo.png");
    background-size: cover;
    background-position: center;
    transform: scale(1.012);
}
.kajo-login-shade {
    background:
        radial-gradient(circle at 50% 44%, rgba(0, 94, 255, .06), transparent 30%),
        linear-gradient(90deg, rgba(4, 15, 43, .2), rgba(3, 14, 39, .02) 45%, rgba(2, 12, 31, .24)),
        linear-gradient(180deg, rgba(3, 12, 33, .06), rgba(2, 9, 25, .48));
}
.kajo-login-industries {
    position: absolute;
    z-index: 2;
    left: clamp(24px, 5.2vw, 96px);
    top: 17vh;
    display: grid;
    gap: 12px;
}
.kajo-login-industry {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 210px;
    color: #f8fbff;
    text-shadow: 0 2px 12px rgba(1, 12, 36, .5);
}
.kajo-login-industry span,
.kajo-login-feature span {
    width: 48px;
    height: 48px;
    border: 1px solid rgba(55, 170, 255, .72);
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #63d6ff;
    background: rgba(5, 37, 91, .62);
    box-shadow: inset 0 0 24px rgba(18, 130, 255, .22), 0 12px 28px rgba(0, 18, 56, .32);
    flex: 0 0 auto;
}
.kajo-login-industry span i {
    font-size: 1.25rem;
}
.kajo-login-industry strong {
    font-size: 1.12rem;
    font-weight: 700;
}
.kajo-login-stage {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(560px, 100%);
    min-height: 450px;
}
.kajo-login-mascot {
    position: absolute;
    z-index: 4;
    width: 250px;
    height: 210px;
    right: -127px;
    top: -106px;
    background-image: url("../img/countdown-mascot.png");
    background-size: 325px auto;
    background-position: right 2px top -2px;
    background-repeat: no-repeat;
    border-radius: 0 150px 110px 0;
    filter: drop-shadow(0 20px 34px rgba(0, 22, 74, .32));
    -webkit-mask-image:
        radial-gradient(ellipse at 65% 43%, #000 0 55%, transparent 73%),
        linear-gradient(90deg, transparent 0 4%, #000 15% 100%);
    -webkit-mask-composite: source-over;
    mask-image:
        radial-gradient(ellipse at 65% 43%, #000 0 55%, transparent 73%),
        linear-gradient(90deg, transparent 0 4%, #000 15% 100%);
    pointer-events: none;
}
.kajo-login-card {
    position: relative;
    z-index: 2;
    width: min(318px, 88vw);
    min-height: 386px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(246,249,255,.98));
    box-shadow: 0 30px 90px rgba(1, 10, 33, .34);
    color: #0f172a;
    padding: 36px 22px 18px;
    text-align: center;
}
.kajo-login-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    border: 1px solid rgba(255, 255, 255, .8);
    pointer-events: none;
}
.kajo-login-logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 152px;
    max-width: 90%;
    min-height: 48px;
}
.kajo-login-logo {
    max-width: 100%;
    max-height: 48px;
    object-fit: contain;
}
.kajo-login-subtitle {
    margin-top: 4px;
    font-size: .86rem;
    font-weight: 700;
    color: #0b63dc;
}
.kajo-login-copy {
    margin: 10px 0 12px;
    color: #1f2937;
    font-size: .8rem;
}
.kajo-login-alert {
    margin: 18px 0 0;
    text-align: left;
    border-radius: 10px;
    font-size: .9rem;
}
.kajo-login-form {
    display: grid;
    gap: 9px;
}
.kajo-login-field {
    margin: 0;
    height: 38px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #c7d7ee;
    border-radius: 7px;
    background: linear-gradient(180deg, #f8fbff 0%, #edf4ff 100%);
    padding: 0 12px;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, .04);
}
.kajo-login-field > i {
    width: 18px;
    color: #031a58;
    font-size: .8rem;
    flex: 0 0 auto;
}
.kajo-login-field input,
.kajo-login-field select {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #0f172a;
    font-size: .95rem;
}
.kajo-login-field input::placeholder {
    color: #475569;
}
.kajo-login-field select {
    appearance: none;
    cursor: pointer;
}
.kajo-branch-picker {
    position: relative;
}
.kajo-branch-trigger {
    align-items: center;
    background: linear-gradient(180deg, #ffffff 0%, #f3f7ff 100%);
    border: 1px solid #c7d7ee;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255, 255, 255, .85);
    color: #0f172a;
    cursor: pointer;
    display: flex;
    gap: 11px;
    min-height: 58px;
    padding: 9px 12px;
    text-align: left;
    width: 100%;
}
.kajo-branch-trigger:hover,
.kajo-branch-trigger:focus {
    border-color: #0b63dc;
    box-shadow: 0 14px 32px rgba(11, 99, 220, .14), 0 0 0 3px rgba(11, 99, 220, .10);
    outline: 0;
}
.kajo-branch-trigger-icon,
.kajo-branch-option-icon {
    align-items: center;
    background: #eaf2ff;
    border: 1px solid #cfe0fb;
    border-radius: 8px;
    color: #0b63dc;
    display: inline-flex;
    flex: 0 0 auto;
    height: 34px;
    justify-content: center;
    width: 34px;
}
.kajo-branch-trigger-copy {
    display: grid;
    flex: 1 1 auto;
    min-width: 0;
}
.kajo-branch-trigger-copy strong {
    color: #0f172a;
    font-size: .92rem;
    font-weight: 900;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.kajo-branch-trigger-copy small {
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
}
.kajo-branch-chevron {
    color: #64748b;
    font-size: .78rem;
    margin-left: auto;
    transition: transform .18s ease;
}
.kajo-branch-picker.is-open .kajo-branch-chevron {
    transform: rotate(180deg);
}
.kajo-branch-menu {
    background: #ffffff;
    border: 1px solid #c7d7ee;
    border-radius: 8px;
    box-shadow: 0 22px 44px rgba(15, 23, 42, .20);
    display: none;
    left: 0;
    margin-top: 8px;
    max-height: 245px;
    overflow-y: auto;
    padding: 6px;
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 20;
}
.kajo-branch-picker.is-open .kajo-branch-menu {
    display: grid;
    gap: 4px;
}
.kajo-branch-option {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 7px;
    color: #0f172a;
    cursor: pointer;
    display: flex;
    gap: 10px;
    min-height: 54px;
    padding: 8px;
    text-align: left;
    width: 100%;
}
.kajo-branch-option:hover,
.kajo-branch-option:focus,
.kajo-branch-option.is-selected {
    background: #eef6ff;
    outline: 0;
}
.kajo-branch-option strong,
.kajo-branch-option small {
    display: block;
    line-height: 1.2;
}
.kajo-branch-option strong {
    color: #0f172a;
    font-size: .86rem;
    font-weight: 900;
}
.kajo-branch-option small {
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
    margin-top: 3px;
}
.kajo-branch-check {
    color: #0b63dc;
    display: none;
    font-size: .8rem;
    margin-left: auto;
}
.kajo-branch-option.is-selected .kajo-branch-check {
    display: inline-flex;
}
.kajo-login-eye {
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: #98a5ba;
    cursor: pointer;
    flex: 0 0 auto;
}
.kajo-login-eye:hover,
.kajo-login-eye:focus {
    color: #0b63dc;
    background: rgba(11, 99, 220, .08);
    outline: 0;
}
.kajo-login-submit {
    height: 39px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(90deg, #005dff 0%, #0078ff 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: .9rem;
    font-weight: 800;
    box-shadow: 0 14px 30px rgba(0, 96, 255, .32);
}
.kajo-login-submit i {
    position: absolute;
    right: 22px;
}
.kajo-login-submit:hover,
.kajo-login-submit:focus {
    color: #fff;
    filter: brightness(1.04);
    outline: 0;
}
.kajo-login-link {
    display: inline-flex;
    margin-top: 9px;
    font-size: .84rem;
    color: #005dff;
    font-weight: 600;
}
.kajo-login-link:hover {
    color: #003fbb;
}
.kajo-login-license {
    margin: 9px auto 0;
    min-height: 38px;
    width: min(226px, 100%);
    font-size: .86rem;
    border: 1px solid #006dff;
    border-radius: 8px;
    color: #005dff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-weight: 700;
    background: rgba(255, 255, 255, .66);
}
.kajo-login-license:hover {
    color: #003fbb;
    background: #eef6ff;
}
.kajo-login-features {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 62px;
    transform: translateX(-50%);
    width: min(1060px, calc(100vw - 96px));
    min-height: 104px;
    border: 1px solid rgba(80, 159, 255, .22);
    border-radius: 0 0 24px 24px;
    background: linear-gradient(90deg, rgba(4, 24, 67, .56), rgba(5, 39, 99, .5));
    backdrop-filter: blur(7px);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: center;
    padding: 14px 28px;
    box-shadow: 0 22px 60px rgba(0, 11, 36, .24);
}
.kajo-login-feature {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 0 14px;
    border-right: 1px solid rgba(122, 177, 255, .18);
}
.kajo-login-feature:last-child {
    border-right: 0;
}
.kajo-login-feature span {
    width: 50px;
    height: 50px;
    border-radius: 13px;
}
.kajo-login-feature strong,
.kajo-login-feature small {
    display: block;
    line-height: 1.15;
}
.kajo-login-feature strong {
    color: #ffffff;
    font-size: .94rem;
    font-weight: 800;
}
.kajo-login-feature small {
    margin-top: 4px;
    color: #e4eeff;
    font-size: .83rem;
}
.kajo-login-footer {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 18px;
    text-align: center;
    color: rgba(255, 255, 255, .88);
    font-size: .88rem;
    text-shadow: 0 2px 14px rgba(0, 9, 30, .7);
}
@media (max-width: 1199.98px) {
    .kajo-login-industries {
        left: 28px;
    }
    .kajo-login-industry {
        min-width: 0;
    }
    .kajo-login-industry strong {
        display: none;
    }
    .kajo-login-mascot {
        right: -88px;
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) and (orientation: portrait) {
    .kajo-login-mascot {
        right: -128px;
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) and (max-height: 680px) and (orientation: landscape) {
    .kajo-login-stage {
        min-height: 360px;
        transform: scale(.65);
        transform-origin: center center;
    }
    .kajo-login-mascot {
        right: -128px;
    }
    .kajo-login-features {
        bottom: 44px;
        width: min(742px, calc(100vw - 160px));
        min-height: 73px;
        padding: 10px 20px;
        border-radius: 0 0 17px 17px;
    }
    .kajo-login-feature {
        gap: 9px;
        padding: 0 10px;
    }
    .kajo-login-feature span {
        width: 35px;
        height: 35px;
        border-radius: 9px;
    }
    .kajo-login-feature span i {
        font-size: .78rem;
    }
    .kajo-login-feature strong {
        font-size: .66rem;
    }
    .kajo-login-feature small {
        margin-top: 3px;
        font-size: .58rem;
    }
}
@media (max-width: 991.98px) {
    .kajo-login-screen {
        min-height: 100svh;
        padding: 28px 16px 154px;
        overflow-y: auto;
    }
    .kajo-login-bg {
        background-position: center;
        filter: blur(1px);
    }
    .kajo-login-industries {
        position: relative;
        left: auto;
        top: auto;
        z-index: 3;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
        margin: 0 auto 18px;
        width: min(520px, 100%);
    }
    .kajo-login-industry {
        min-width: auto;
        gap: 7px;
    }
    .kajo-login-industry span {
        width: 38px;
        height: 38px;
        border-radius: 11px;
    }
    .kajo-login-industry strong {
        display: block;
        font-size: .82rem;
    }
    .kajo-login-stage {
        min-height: auto;
    }
    .kajo-login-mascot {
        width: 188px;
        height: 160px;
        right: -54px;
        top: -76px;
        background-size: 246px auto;
    }
    .kajo-login-card {
        width: min(310px, 92vw);
        padding: 34px 18px 18px;
        min-height: auto;
    }
    .kajo-login-features {
        bottom: 48px;
        width: calc(100vw - 24px);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 12px;
        border-radius: 18px;
    }
    .kajo-login-feature {
        border-right: 0;
        padding: 0;
    }
    .kajo-login-feature:nth-child(n+5) {
        display: none;
    }
    .kajo-login-feature span {
        width: 40px;
        height: 40px;
    }
    .kajo-login-feature strong {
        font-size: .8rem;
    }
    .kajo-login-feature small {
        font-size: .72rem;
    }
}
@media (max-width: 575.98px) {
    .kajo-login-screen {
        min-height: 100svh;
        padding: 10px 10px 116px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .kajo-login-industries {
        position: absolute;
        top: 8px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 5;
        width: min(250px, 100%);
        margin: 0 auto 10px;
        gap: 6px;
        flex-wrap: nowrap;
    }
    .kajo-login-industry span {
        width: 28px;
        height: 28px;
        border-radius: 9px;
    }
    .kajo-login-industry span i {
        font-size: .82rem;
    }
    .kajo-login-industry strong {
        display: none;
    }
    .kajo-login-stage {
        width: min(238px, 100%);
        margin: 0 auto;
    }
    .kajo-login-mascot {
        width: 104px;
        height: 88px;
        right: -55px;
        top: -43px;
        background-size: 136px auto;
        z-index: 1;
    }
    .kajo-login-card {
        z-index: 2;
    }
    .kajo-login-card {
        width: 100%;
        border-radius: 13px;
        padding: 20px 10px 12px;
        min-height: 0;
    }
    .kajo-login-logo-link {
        width: 112px;
        min-height: 35px;
    }
    .kajo-login-logo {
        max-height: 35px;
    }
    .kajo-login-subtitle {
        font-size: .74rem;
    }
    .kajo-login-copy {
        margin: 7px 0 8px;
        font-size: .68rem;
    }
    .kajo-login-form {
        gap: 7px;
    }
    .kajo-login-field {
        height: 30px;
        padding: 0 8px;
        gap: 7px;
    }
    .kajo-login-field > i {
        width: 14px;
        font-size: .7rem;
    }
    .kajo-login-field input {
        font-size: .7rem;
    }
    .kajo-login-eye {
        width: 22px;
        height: 22px;
    }
    .kajo-login-submit {
        height: 32px;
        font-size: .76rem;
    }
    .kajo-login-submit i {
        right: 12px;
    }
    .kajo-login-link {
        margin-top: 6px;
        font-size: .7rem;
    }
    .kajo-login-license {
        width: min(178px, 100%);
        min-height: 30px;
        margin-top: 6px;
        font-size: .72rem;
    }
    .kajo-login-features {
        bottom: 32px;
        width: min(306px, calc(100vw - 24px));
        min-height: 112px;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: center;
        gap: 8px 0;
        overflow: visible;
        padding: 10px;
        border-radius: 14px;
    }
    .kajo-login-feature {
        min-width: 0;
        gap: 7px;
        padding: 0 8px;
        border-right: 1px solid rgba(122, 177, 255, .18);
    }
    .kajo-login-feature:nth-child(n+5) {
        display: flex;
    }
    .kajo-login-feature:nth-child(2n) {
        border-right: 0;
    }
    .kajo-login-feature:nth-child(5) {
        grid-column: 1 / -1;
        justify-content: center;
        border-right: 0;
        border-top: 1px solid rgba(122, 177, 255, .14);
        padding-top: 7px;
    }
    .kajo-login-feature:last-child {
        border-right: 0;
    }
    .kajo-login-feature span {
        display: inline-flex;
        width: 26px;
        height: 26px;
        border-radius: 9px;
    }
    .kajo-login-feature span i {
        font-size: .7rem;
    }
    .kajo-login-feature strong {
        font-size: .62rem;
        line-height: 1.02;
    }
    .kajo-login-feature small {
        margin-top: 2px;
        font-size: .52rem;
        line-height: 1.08;
    }
    .kajo-login-footer {
        bottom: 8px;
        font-size: .62rem;
    }
}
.sale-latest-sales-header .modal-title {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.15;
}
.sale-latest-sales-header .text-muted {
    margin-top: .12rem;
    font-size: .76rem;
    font-weight: 700;
}
#saleLatestSalesModal .sale-latest-sales-body {
    box-sizing: border-box;
    flex: 0 0 650px;
    width: 100%;
    max-width: 100%;
    height: 650px !important;
    min-height: 650px !important;
    max-height: 650px !important;
    padding: .75rem .9rem;
    background: #f8fafc;
    overflow: hidden;
}
.sale-latest-sales-summary,
.sale-latest-sales-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(160px, max-content));
    gap: .55rem;
    width: 100%;
    max-width: 100%;
    margin-bottom: .65rem;
}
.sale-latest-sales-kpis .sales-history-kpi-card {
    min-height: 58px;
    padding: .5rem .6rem;
    box-shadow: none;
    background: #fff;
}
.sale-latest-sales-kpis .sales-history-kpi-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    font-size: .86rem;
}
.sale-latest-sales-kpis .sales-history-kpi-copy strong {
    font-size: .9rem;
}
.sale-latest-sales-table-wrap {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
}
#saleLatestSalesTable_wrapper {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}
#saleLatestSalesTable_wrapper .row {
    margin-right: 0;
    margin-left: 0;
}
#saleLatestSalesTable_wrapper .col-sm-12 {
    padding-right: 0;
    padding-left: 0;
}
.sale-latest-sales-table {
    width: max-content !important;
    max-width: none !important;
    min-width: 0;
    table-layout: auto;
}
.sale-latest-sales-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    border-top: 0;
    border-bottom: 1px solid #dbe4f0;
    background: #f8fafc;
    color: #334155;
    font-size: .64rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
    padding: .38rem .5rem;
    line-height: 1;
    white-space: nowrap;
}
.sale-latest-sales-table thead th,
.sale-latest-sales-table tbody td {
    width: 1%;
}
.sale-latest-sales-table thead th:nth-child(3),
.sale-latest-sales-table tbody td:nth-child(3) {
    width: auto;
}
.sale-latest-sales-table tbody td {
    padding: .34rem .5rem;
    border-top: 1px solid #edf2f7;
    color: #0f172a;
    font-size: .76rem;
    line-height: 1.1;
    vertical-align: middle;
    white-space: nowrap;
}
.sale-latest-sales-table tbody td:nth-child(3) {
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sale-latest-sales-table tbody tr:hover {
    background: #f8fbff;
}
#saleLatestSalesModal .sale-latest-sales-footer {
    box-sizing: border-box;
    flex: 0 0 70px;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    padding: .6rem .9rem;
    border-top: 1px solid #e2e8f0;
    background: #fff;
}
.sale-latest-sales-pagination {
    display: flex;
    justify-content: center;
    padding: .5rem .45rem .45rem;
    border-top: 1px solid #edf2f7;
    background: #fff;
}
.sale-latest-sales-pagination .pagination {
    margin: 0;
    gap: .22rem;
}
.sale-latest-sales-pagination .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-width: 28px;
    height: 28px;
    padding: .25rem .46rem;
    border-radius: 6px;
    border-color: #dbe4f0;
    color: #2563eb;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.2;
}
.sale-latest-sales-pagination .page-item.active .page-link {
    border-color: #2563eb;
    background: #2563eb;
    color: #fff;
}
.sale-latest-sales-pagination .page-item.disabled .page-link {
    color: #94a3b8;
    background: #f8fafc;
}
#saleLatestSalesModal.show {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 16px 0;
    overflow: hidden;
}
#saleAnnulModal.pos-stacked-modal {
    z-index: 1075;
}
.modal-backdrop.pos-stacked-backdrop {
    z-index: 1070;
}
.pos-latest-sales-modal {
    box-sizing: border-box;
    width: 680px !important;
    min-width: 680px !important;
    max-width: 680px !important;
    height: min(800px, calc(100vh - 32px)) !important;
    min-height: 0 !important;
    max-height: calc(100vh - 32px) !important;
    display: grid;
    grid-template-rows: 72px 1fr 58px;
    overflow: hidden;
    border: 0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 24px 64px rgba(15, 23, 42, .22);
}
.pos-latest-sales-header {
    box-sizing: border-box;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .75rem .9rem;
    border-bottom: 1px solid #e2e8f0;
    background: #fff;
}
.pos-latest-sales-header h4 {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.1;
}
.pos-latest-sales-header span {
    display: block;
    margin-top: .15rem;
    color: #64748b;
    font-size: .74rem;
    font-weight: 800;
    line-height: 1;
}
.pos-latest-sales-close {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #ef4444;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.pos-latest-sales-body {
    box-sizing: border-box;
    min-height: 0;
    padding: .75rem;
    background: #f8fafc;
    overflow: auto;
}
.pos-latest-sales-footer {
    box-sizing: border-box;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
    padding: .65rem .75rem;
    border-top: 1px solid #e2e8f0;
    background: #fff;
}
#saleLatestSalesTable_wrapper {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-rows: 1fr auto;
}
#saleLatestSalesTable_wrapper .row,
#saleLatestSalesTable_wrapper .col-sm-12 {
    margin: 0;
    padding: 0;
}
.pos-latest-sales-table {
    width: 100% !important;
    margin: 0 !important;
    table-layout: fixed;
    color: #0f172a;
    font-size: .74rem;
}
.pos-latest-sales-table thead th {
    padding: .38rem .42rem;
    border-top: 0;
    border-bottom: 1px solid #dbe4f0;
    background: #fff;
    color: #334155;
    font-size: .62rem;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}
.pos-latest-sales-table tbody td {
    padding: .34rem .42rem;
    border-top: 1px solid #edf2f7;
    line-height: 1.08;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pos-latest-sales-table th:nth-child(1) { width: 18%; }
.pos-latest-sales-table th:nth-child(2) { width: 12%; }
.pos-latest-sales-table th:nth-child(3) { width: 23%; }
.pos-latest-sales-table th:nth-child(4) { width: 14%; }
.pos-latest-sales-table th:nth-child(5) { width: 11%; }
.pos-latest-sales-table th:nth-child(6) { width: 12%; }
.pos-latest-sales-table th:nth-child(7) { width: 10%; text-align: center; }
.pos-latest-sales-table td:nth-child(7) {
    text-align: center;
}
.pos-latest-sales-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}
.pos-latest-sales-ticket {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    color: #2563eb;
    padding: 0;
}
.pos-latest-sales-ticket:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .16);
}
.pos-latest-sales-ticket:hover {
    border-color: #93c5fd;
    color: #1d4ed8;
}
.pos-latest-sales-delete {
    color: #dc2626;
}
.pos-latest-sales-delete:focus {
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .16);
}
.pos-latest-sales-delete:hover {
    border-color: #fca5a5;
    color: #b91c1c;
}
#saleTicketPreviewModal.show,
#reportsSaleTicketModal.show {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 16px 0;
    overflow: hidden;
}
#reportsSaleTicketModal {
    z-index: 1060;
}
#reportsSaleTicketModal .pos-ticket-preview-header,
#reportsSaleTicketModal .pos-ticket-preview-footer {
    position: relative;
    z-index: 2;
}
.pos-ticket-preview-modal {
    box-sizing: border-box;
    width: 385px !important;
    min-width: 385px !important;
    max-width: 385px !important;
    height: min(785px, calc(100vh - 32px)) !important;
    min-height: 0 !important;
    max-height: calc(100vh - 32px) !important;
    display: grid;
    grid-template-rows: 44px 1fr 58px;
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 24px 64px rgba(15, 23, 42, .24);
}
.pos-ticket-preview-header {
    box-sizing: border-box;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .45rem .55rem .45rem .75rem;
    border-bottom: 1px solid #e2e8f0;
    background: #fff;
}
.pos-ticket-preview-header h4 {
    margin: 0;
    color: #0f172a;
    font-size: .92rem;
    font-weight: 900;
    line-height: 1;
}
.pos-ticket-preview-close {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #ef4444;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.pos-ticket-preview-body {
    min-height: 0;
    padding: .55rem;
    background: #f8fafc;
    overflow: auto;
}
.pos-ticket-preview-body iframe {
    width: 100%;
    height: 100%;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
}
.pos-ticket-preview-footer {
    box-sizing: border-box;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
    padding: .65rem .75rem;
    border-top: 1px solid #e2e8f0;
    background: #fff;
}
.pos-latest-sales-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: .55rem;
}
.pos-latest-sales-pagination .pagination {
    margin: 0;
    gap: .22rem;
}
.pos-latest-sales-pagination .page-link {
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .2rem .45rem;
    border-radius: 6px;
    border-color: #dbe4f0;
    color: #2563eb;
    font-size: .7rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
}
.pos-latest-sales-pagination .page-item.active .page-link {
    border-color: #2563eb;
    background: #2563eb;
    color: #fff;
}
.pos-latest-sales-pagination .page-item.disabled .page-link {
    color: #94a3b8;
    background: #f8fafc;
}
@media (max-width: 991.98px) {
    .sale-latest-sales-summary,
    .sale-latest-sales-kpis {
        grid-template-columns: 1fr;
    }
    .import-guide-hero {
        grid-template-columns: 1fr;
    }
    .import-inspection-head {
        flex-direction: column;
    }
    .import-inspection-stats {
        grid-template-columns: 1fr;
    }
}
.small-box .icon > i { font-size: 52px; }
.table td, .table th { vertical-align: middle; }
.content-header h1 { font-weight: 600; }
.table td .btn.btn-sm:not(.btn-link):not(.btn-block):not(.dt-button) {
    min-width: 34px;
    height: 34px;
    padding: .35rem .58rem;
    border-radius: .72rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
    transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
}
.table td .btn.btn-sm:not(.btn-link):not(.btn-block):not(.dt-button) + .btn.btn-sm:not(.btn-link):not(.btn-block):not(.dt-button) {
    margin-left: .28rem;
}
.table td .btn.btn-sm:not(.btn-link):not(.btn-block):not(.dt-button):hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 22px rgba(15, 23, 42, .12);
    filter: saturate(1.03);
}
.table td .btn.btn-sm:not(.btn-link):not(.btn-block):not(.dt-button) i {
    font-size: .9rem;
    line-height: 1;
}
.table td .btn.btn-sm.btn-info:not(.btn-link):not(.btn-block):not(.dt-button) {
    background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);
    border-color: transparent;
    color: #fff;
}
.table td .btn.btn-sm.btn-danger:not(.btn-link):not(.btn-block):not(.dt-button) {
    background: linear-gradient(135deg, #fb7185 0%, #f43f5e 100%);
    border-color: transparent;
    color: #fff;
}
.table td .btn.btn-sm.btn-warning:not(.btn-link):not(.btn-block):not(.dt-button) {
    background: linear-gradient(135deg, #facc15 0%, #f59e0b 100%);
    border-color: transparent;
    color: #1f2937;
}
.table td .btn.btn-sm.btn-success:not(.btn-link):not(.btn-block):not(.dt-button) {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    border-color: transparent;
    color: #fff;
}
.topbar-user-avatar {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    object-fit: cover;
    border: 2px solid rgba(37, 99, 235, .16);
    box-shadow: 0 4px 10px rgba(15, 23, 42, .06);
}
.topbar-business-branch {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: .05rem;
    max-width: 260px;
    min-width: 0;
    text-align: right;
}
.topbar-business-branch strong,
.topbar-business-branch span {
    display: block;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.topbar-business-branch strong {
    color: #0f172a;
    font-weight: 800;
    line-height: 1.1;
}
.topbar-business-branch span {
    color: #64748b;
    line-height: 1.15;
}

.main-header .nav-item.dropdown {
    position: relative;
}

.topbar-notifications-toggle {
    position: relative;
}

.topbar-notifications-badge {
    position: absolute;
    top: 4px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    color: #1f2937;
    background: #f5c451;
    font-size: 10px;
    font-weight: 800;
    line-height: 16px;
    text-align: center;
}

.main-header .topbar-notifications {
    right: 0;
    left: auto;
    width: min(400px, calc(100vw - 24px));
    padding: 0;
    border: 1px solid #e6edf5;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .14);
}

.topbar-notifications-head,
.topbar-notifications-foot {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.topbar-notifications-head {
    padding: .75rem .9rem;
    border-bottom: 1px solid #e8eef5;
}

.topbar-notifications-head strong {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 700;
}

.topbar-notifications-count {
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    color: #fff;
    background: #ef4444;
    font-size: 11px;
    font-weight: 800;
    line-height: 20px;
    text-align: center;
}

.topbar-notifications-list {
    max-height: 460px;
    overflow-y: auto;
}

.topbar-notifications-item {
    display: grid;
    grid-template-columns: 8px 40px minmax(0, 1fr) auto 12px;
    align-items: center;
    gap: .55rem;
    padding: .65rem .8rem;
    border-bottom: 1px solid #eef2f6;
    color: #0f172a;
    background: #f4f8ff;
    text-decoration: none;
    transition: background .15s ease;
}

.topbar-notifications-item:last-child {
    border-bottom: 0;
}

.topbar-notifications-item:hover,
.topbar-notifications-item:focus {
    color: #0f172a;
    background: #e8f1ff;
    text-decoration: none;
}

.topbar-notifications-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #0d6efd;
}

.topbar-notifications-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    font-size: .9rem;
}

.topbar-notifications-icon.is-order {
    color: #0d6efd;
    background: #e7f1ff;
}

.topbar-notifications-copy {
    display: grid;
    min-width: 0;
}

.topbar-notifications-copy strong {
    font-size: .86rem;
    font-weight: 600;
    line-height: 1.2;
}

.topbar-notifications-copy em,
.topbar-notifications-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-style: normal;
}

.topbar-notifications-copy em {
    color: #334155;
    font-size: .8rem;
    font-weight: 600;
}

.topbar-notifications-copy small,
.topbar-notifications-time {
    color: #64748b;
    font-size: .74rem;
    font-weight: 600;
}

.topbar-notifications-time {
    white-space: nowrap;
}

.topbar-notifications-item .fa-chevron-right {
    color: #94a3b8;
    font-size: .68rem;
}

.topbar-notifications-empty {
    display: grid;
    justify-items: center;
    gap: .2rem;
    padding: 1.4rem 1rem 1.2rem;
    text-align: center;
}

.topbar-notifications-empty i {
    margin-bottom: .25rem;
    color: #94a3b8;
    font-size: 1.4rem;
}

.topbar-notifications-empty strong {
    color: #334155;
    font-size: .9rem;
}

.topbar-notifications-empty span {
    max-width: 240px;
    color: #64748b;
    font-size: .75rem;
}

.topbar-notifications-foot {
    justify-content: center;
    padding: .7rem .9rem;
    color: #0d6efd;
    background: #f3f8ff;
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none;
}

.topbar-notifications-foot:hover,
.topbar-notifications-foot:focus {
    color: #0b5ed7;
    background: #e7f1ff;
    text-decoration: none;
}

.supplier-order-sent-modal {
    border: 0;
    border-radius: 12px;
}

.supplier-order-sent-body {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 22px 18px;
}

.supplier-order-sent-body strong {
    color: #0f172a;
    font-size: 15px;
    line-height: 1.3;
}

.supplier-order-email-sending,
#supplierOrderEmailActions {
    box-sizing: border-box;
}

#supplierOrderEmailActions[hidden],
.supplier-order-email-sending[hidden] {
    display: none !important;
}

.supplier-order-email-sending {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 14px 18px;
    border-top: 1px solid #e9ecef;
}

.supplier-order-email-sending strong {
    display: block;
    color: #0d6efd;
    font-weight: 700;
    line-height: 1.25;
}

.supplier-order-email-sending small {
    display: block;
    margin-top: 2px;
    color: #334155;
    font-size: 13px;
    line-height: 1.3;
}

.supplier-order-email-spinner {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border: 3px solid #d6e6ff;
    border-top-color: #0d6efd;
    border-radius: 50%;
    animation: supplier-order-email-spin .7s linear infinite;
}

@keyframes supplier-order-email-spin {
    to { transform: rotate(360deg); }
}

.supplier-orders-table .btn-order-approve,
.supplier-orders-table .btn-order-email,
.supplier-orders-table .btn-order-mark-sent {
    width: 28px;
    height: 28px;
    padding: 0;
}
.topbar-settings-shortcut {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe5f2;
    border-radius: 999px;
    background: #ffffff;
    color: #334155;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .05);
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease;
}
.topbar-settings-shortcut:hover,
.topbar-settings-shortcut:focus {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #2563eb;
    box-shadow: 0 10px 20px rgba(37, 99, 235, .08);
    transform: translateY(-1px);
}
.topbar-user-toggle {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    border-radius: 999px;
    padding: .24rem .55rem .24rem .32rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid #dbe5f2;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .05);
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.topbar-user-toggle:hover {
    background: #eff6ff;
    border-color: #bfdbfe;
    box-shadow: 0 10px 20px rgba(37, 99, 235, .08);
    transform: translateY(-1px);
}
.topbar-user-toggle .fa-chevron-down {
    font-size: 80%;
    font-weight: 900;
    line-height: 1;
}
.topbar-user-name {
    font-weight: 700;
    font-size: .92rem;
    color: #0f172a;
    line-height: 1;
    max-width: 126px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sidebar-user-avatar {
    width: 34px;
    height: 34px;
    object-fit: cover;
}
.main-sidebar .sidebar {
    position: relative;
    z-index: 1;
}
.app-sidebar-shell {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 64px);
    min-height: 0;
    padding-bottom: .65rem;
}
.main-sidebar .user-panel {
    margin: .75rem .72rem .7rem !important;
    padding: .64rem .68rem !important;
    border-radius: 8px;
    background: rgba(15, 23, 42, .52);
    border: 1px solid rgba(148, 163, 184, .16);
    gap: .56rem;
}
.main-sidebar .user-panel .info {
    min-width: 0;
    padding-left: 0;
}
.app-sidebar-user-name {
    display: block;
    max-width: 158px;
    color: #f8fafc;
    font-size: .82rem;
    font-weight: 900;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.app-sidebar-user-role {
    display: block;
    margin-top: .12rem;
    color: rgba(203, 213, 225, .78);
    font-size: .68rem;
    font-weight: 800;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.app-sidebar-nav {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding-bottom: .55rem;
    scrollbar-color: rgba(148, 163, 184, .34) transparent;
    scrollbar-width: thin;
}
.app-sidebar-nav::-webkit-scrollbar {
    width: 6px;
}
.app-sidebar-nav::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, .28);
    border-radius: 999px;
}
.app-sidebar-nav::-webkit-scrollbar-track {
    background: transparent;
}
.main-sidebar .nav-sidebar {
    padding: 0 .58rem .2rem;
    gap: .08rem;
}
.main-sidebar .nav-header {
    padding: .72rem .58rem .24rem;
    margin: .22rem 0 0;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(148, 163, 184, .8);
}
.main-sidebar .nav-header:first-of-type {
    padding-top: .22rem;
}
.nav-sidebar > .nav-item {
    margin-bottom: .08rem;
}
.nav-sidebar > .nav-item > .nav-link,
.nav-sidebar .nav-treeview > .nav-item > .nav-link {
    width: 100%;
    border: 0;
    border-radius: 8px;
    min-height: 34px;
    padding: .42rem .6rem;
    background: transparent;
    color: rgba(226, 232, 240, .88);
    text-align: left;
    transition: background-color .12s ease, color .12s ease, transform .12s ease, box-shadow .12s ease;
}
.nav-sidebar > .nav-item > .nav-link:hover,
.nav-sidebar .nav-treeview > .nav-item > .nav-link:hover {
    background: rgba(255, 255, 255, .075);
    color: #fff;
    transform: translateX(1px);
}
.brand-link:focus-visible,
.nav-sidebar > .nav-item > .nav-link:focus-visible,
.nav-sidebar .nav-treeview > .nav-item > .nav-link:focus-visible {
    outline: 3px solid #facc15;
    outline-offset: 2px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    box-shadow: 0 0 0 3px rgba(15, 23, 42, .54);
}
.nav-sidebar > .nav-item > button.nav-link:focus,
.nav-sidebar .nav-treeview > .nav-item > button.nav-link:focus {
    color: #fff;
}
.nav-sidebar > .nav-item > .nav-link.active,
.nav-sidebar .nav-treeview > .nav-item > .nav-link.active {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    color: #fff;
    box-shadow: 0 8px 18px rgba(29, 78, 216, .22);
}
.nav-sidebar > .nav-item > .nav-link.active .nav-icon,
.nav-sidebar .nav-treeview > .nav-item > .nav-link.active .nav-icon {
    color: #fff !important;
}
.nav-sidebar .has-treeview.menu-open > .nav-link {
    background: rgba(255, 255, 255, .075);
    color: #fff;
}
.nav-sidebar .nav-icon {
    width: 1.05rem;
    font-size: .82rem;
    color: rgba(191, 219, 254, .86);
}
.nav-sidebar .nav-link p {
    font-size: .8rem;
    font-weight: 800;
    line-height: 1.1;
    white-space: normal;
}
.nav-sidebar .has-treeview > .nav-link > p .right {
    margin-top: .04rem;
    color: rgba(148, 163, 184, .82);
    transition: transform .12s ease, color .12s ease;
}
.nav-sidebar .has-treeview.menu-open > .nav-link > p .right {
    transform: rotate(-90deg);
    color: rgba(255, 255, 255, .92);
}
.nav-sidebar .nav-treeview {
    padding: .14rem 0 .18rem .38rem;
    margin-left: .54rem;
    border-left: 1px solid rgba(148, 163, 184, .16);
}
.nav-sidebar .nav-treeview > .nav-item > .nav-link {
    min-height: 30px;
    padding: .34rem .52rem;
    background: transparent;
}
.nav-sidebar .nav-treeview > .nav-item > .nav-link .nav-icon {
    font-size: .64rem;
    color: rgba(148, 163, 184, .86);
}
.nav-sidebar .nav-treeview > .nav-item > .nav-link p {
    font-size: .74rem;
    font-weight: 800;
}
.nav-sidebar .nav-treeview > .nav-item > .nav-link:hover {
    background: rgba(255,255,255,.055);
}
.app-sidebar-context {
    flex: 0 0 auto;
    margin: .56rem .72rem 0;
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 8px;
    background: rgba(2, 6, 23, .26);
    padding: .56rem .62rem;
}
.app-sidebar-context-row + .app-sidebar-context-row {
    margin-top: .48rem;
    padding-top: .48rem;
    border-top: 1px solid rgba(148, 163, 184, .14);
}
.app-sidebar-context-row span,
.app-sidebar-context-row strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.app-sidebar-context-row span {
    color: rgba(203, 213, 225, .74);
    font-size: .62rem;
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
}
.app-sidebar-context-row span i {
    width: 14px;
    margin-right: .28rem;
    color: rgba(147, 197, 253, .9);
    text-align: center;
}
.app-sidebar-context-row strong {
    margin-top: .18rem;
    color: #f8fafc;
    font-size: .74rem;
    font-weight: 900;
    line-height: 1.15;
}
#mainContent:focus {
    outline: none;
}
body.sidebar-collapse .app-sidebar-brand-text,
body.sidebar-collapse .app-sidebar-user .info,
body.sidebar-collapse .app-sidebar-context {
    display: none;
}
body.sidebar-collapse .brand-link {
    justify-content: center;
    padding-left: .5rem !important;
    padding-right: .5rem !important;
}
body.sidebar-collapse .brand-logo-image {
    max-width: 38px;
}
body.sidebar-collapse .app-sidebar-shell {
    height: calc(100vh - 64px);
}
.app-reference-sidebar.main-sidebar {
    background: linear-gradient(180deg, #06344a 0%, #052e43 42%, #04293b 100%);
    box-shadow: 8px 0 28px rgba(2, 20, 32, .28);
}
.app-reference-sidebar.main-sidebar::before {
    display: none;
}
.app-reference-sidebar .brand-link {
    min-height: 64px;
    padding: .58rem .56rem !important;
    gap: .42rem;
    border-bottom: 1px solid rgba(104, 151, 173, .2) !important;
    background: rgba(2, 35, 52, .22);
}
.app-reference-sidebar .app-sidebar-brand-logo {
    max-width: 218px;
    max-height: 50px;
    margin: 0 auto;
}
.app-reference-sidebar .app-sidebar-brand-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 4px;
    background: #0877f2;
    color: #ffffff;
    font-size: .92rem;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
}
.app-reference-sidebar .app-sidebar-brand-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: linear-gradient(135deg, #0877f2 0%, #00a6c8 100%);
    color: #ffffff;
    font-size: .86rem;
    font-weight: 900;
    line-height: 1;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2), 0 10px 22px rgba(0, 0, 0, .18);
}
.app-reference-sidebar .app-sidebar-brand-text {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1;
}
.app-reference-sidebar .app-sidebar-shell {
    height: calc(100vh - 64px);
    padding: 0 0 .42rem;
}
.app-reference-sidebar .app-sidebar-nav {
    padding: .08rem .34rem .45rem;
    scrollbar-color: rgba(132, 183, 205, .38) transparent;
}
.app-reference-sidebar .main-sidebar .nav-sidebar,
.app-reference-sidebar .nav-sidebar {
    padding: 0;
}
.app-reference-sidebar .nav-header {
    padding: .72rem .1rem .22rem;
    margin: 0;
    color: #7fa4b6;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1;
}
.app-reference-sidebar .nav-header:first-of-type {
    padding-top: .28rem;
}
.app-reference-sidebar .nav-sidebar > .nav-item {
    margin-bottom: .05rem;
}
.app-reference-sidebar .nav-sidebar > .nav-item > .nav-link,
.app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link {
    min-height: 34px;
    border-radius: 4px;
    padding: .34rem .42rem;
    color: #d8e7ef;
    background: transparent;
    box-shadow: none;
    gap: .34rem;
}
.app-reference-sidebar .nav-sidebar > .nav-item > .nav-link:hover,
.app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link:hover {
    background: rgba(15, 124, 209, .2);
    color: #ffffff;
    transform: none;
}
.app-reference-sidebar .nav-sidebar > .nav-item > .nav-link.active,
.app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link.active {
    background: #0877f2;
    color: #ffffff;
    box-shadow: none;
}
.app-reference-sidebar .nav-sidebar .has-treeview.menu-open > .nav-link {
    background: transparent;
    color: #ffffff;
}
.app-reference-sidebar .nav-sidebar .nav-icon {
    width: 18px;
    min-width: 18px;
    margin-right: .28rem;
    color: #c8dce8;
    font-size: 1.01rem;
    text-align: center;
}
.app-reference-sidebar .nav-sidebar .nav-link.active .nav-icon,
.app-reference-sidebar .nav-sidebar .nav-link:hover .nav-icon {
    color: #ffffff;
}
.app-reference-sidebar .nav-sidebar .nav-link p {
    margin: 0;
    color: inherit;
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.15;
}
.app-reference-sidebar .nav-sidebar .has-treeview > .nav-link > p .right {
    right: .42rem;
    margin-top: .08rem;
    color: #91b1c1;
    font-size: .88rem;
}
.app-reference-sidebar .nav-sidebar .has-treeview.menu-open > .nav-link > p .right {
    transform: rotate(-90deg);
    color: #dbeaf1;
}
.app-reference-sidebar .nav-sidebar .nav-treeview {
    padding: .08rem 0 .16rem .42rem;
    margin: 0 0 0 .55rem;
    border-left: 1px solid rgba(126, 164, 182, .24);
}
.app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link {
    min-height: 31px;
    padding: .3rem .36rem;
}
.app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link .nav-icon {
    width: 14px;
    min-width: 14px;
    font-size: .7rem;
}
.app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link p {
    font-size: .9rem;
    font-weight: 700;
}
.app-reference-sidebar .nav-sidebar .nav-link.is-plan-blocked {
    cursor: pointer;
    opacity: .72;
}
.app-reference-sidebar .nav-sidebar .nav-link.is-plan-blocked:hover,
.app-reference-sidebar .nav-sidebar .nav-link.is-plan-blocked:focus {
    opacity: 1;
    background: rgba(245, 158, 11, .16);
    color: #fef3c7;
}
.app-reference-sidebar .app-sidebar-context {
    margin: 0;
    padding: .48rem .44rem;
    border-width: 1px 0 0;
    border-color: rgba(104, 151, 173, .2);
    border-radius: 0;
    background: rgba(3, 32, 47, .72);
}
.app-reference-sidebar .app-sidebar-context-row {
    position: relative;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 14px;
    column-gap: .25rem;
    align-items: center;
}
.app-reference-sidebar .app-sidebar-context-row > i:first-child {
    grid-row: 1 / span 2;
    width: 18px;
    color: #d8e7ef;
    font-size: .86rem;
    text-align: center;
}
.app-reference-sidebar .app-sidebar-context-row span {
    color: #9fbdca;
    font-size: .58rem;
    font-weight: 800;
    line-height: 1.05;
    text-transform: none;
}
.app-reference-sidebar .app-sidebar-context-row strong {
    grid-column: 2;
    margin-top: .05rem;
    color: #ffffff;
    font-size: .62rem;
    font-weight: 800;
    line-height: 1.05;
}
.app-reference-sidebar .app-sidebar-context-caret {
    grid-column: 3;
    grid-row: 1 / span 2;
    color: #8caebe;
    font-size: .58rem;
}
body.sidebar-collapse .app-reference-sidebar .app-sidebar-brand-icon {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
}
body.sidebar-collapse .app-reference-sidebar .app-sidebar-brand-avatar {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
    font-size: .78rem;
}
body.sidebar-collapse .app-reference-sidebar .app-sidebar-brand-logo {
    max-width: 42px;
    max-height: 42px;
}
body.sidebar-collapse .app-reference-sidebar .app-sidebar-brand-text,
body.sidebar-collapse .app-reference-sidebar .app-sidebar-context {
    display: none;
}
body.sidebar-collapse .app-reference-sidebar .brand-link {
    min-height: 64px;
    justify-content: center;
}
.app-reference-sidebar,
.app-reference-sidebar .nav-sidebar,
.app-reference-sidebar .nav-sidebar .nav-link {
    font-family: "Inter", "Segoe UI", system-ui, sans-serif;
}
:root {
    --app-sidebar-expanded-width: 290px;
}
@media (min-width: 992px) {
    body:not(.sidebar-collapse) .app-reference-sidebar.main-sidebar,
    body:not(.sidebar-collapse) .app-reference-sidebar.main-sidebar::before {
        width: var(--app-sidebar-expanded-width) !important;
        min-width: var(--app-sidebar-expanded-width);
    }
    body:not(.sidebar-collapse) .content-wrapper,
    body:not(.sidebar-collapse) .main-header,
    body:not(.sidebar-collapse) .main-footer {
        margin-left: var(--app-sidebar-expanded-width) !important;
    }
    body.sidebar-mini:not(.sidebar-collapse) .content-wrapper,
    body.sidebar-mini:not(.sidebar-collapse) .main-header,
    body.sidebar-mini:not(.sidebar-collapse) .main-footer {
        margin-left: var(--app-sidebar-expanded-width) !important;
    }
    body.sidebar-mini:not(.sidebar-collapse) .main-sidebar,
    body.sidebar-mini:not(.sidebar-collapse) .main-sidebar::before {
        width: var(--app-sidebar-expanded-width) !important;
    }
}
.app-reference-sidebar.main-sidebar {
    background: linear-gradient(180deg, #073f53 0%, #06384b 44%, #052e3f 100%);
    box-shadow: 8px 0 28px rgba(2, 20, 32, .26);
}
.app-reference-sidebar .brand-link {
    min-height: 66px;
    padding: .62rem .8rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, .09) !important;
    background: rgba(2, 29, 43, .34);
}
.app-reference-sidebar .app-sidebar-brand-logo {
    max-width: 236px;
    max-height: 52px;
}
.app-reference-sidebar .app-sidebar-brand-avatar {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #0d86f7;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18), 0 8px 18px rgba(0, 0, 0, .16);
}
.app-reference-sidebar .app-sidebar-brand-text {
    font-size: 1.02rem;
    font-weight: 800;
}
.app-reference-sidebar .app-sidebar-shell {
    height: calc(100vh - 66px);
    padding: .72rem .58rem .54rem;
}
.app-sidebar-search {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 28px;
    align-items: center;
    gap: .42rem;
    height: 40px;
    margin: 0 .16rem .72rem;
    padding: 0 .42rem 0 .72rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    background: rgba(255, 255, 255, .06);
    color: #8da6b7;
}
.app-sidebar-search:focus-within {
    border-color: rgba(13, 134, 247, .52);
    background: rgba(255, 255, 255, .085);
    box-shadow: 0 0 0 3px rgba(13, 134, 247, .12);
}
.app-sidebar-search > i {
    width: 22px;
    color: #8da6b7;
    font-size: .92rem;
    text-align: center;
}
.app-sidebar-search input {
    min-width: 0;
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #ffffff;
    font-size: .9rem;
    font-weight: 600;
}
.app-sidebar-search input::placeholder {
    color: #8da6b7;
}
.app-sidebar-search button {
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    visibility: hidden;
    opacity: 0;
    background: rgba(255, 255, 255, .08);
    color: #dce7ef;
    transition: opacity .15s ease, visibility .15s ease, background .15s ease;
}
.app-sidebar-search button.is-visible {
    visibility: visible;
    opacity: 1;
}
.app-sidebar-search button:hover,
.app-sidebar-search button:focus {
    background: rgba(255, 255, 255, .14);
    color: #fff;
    outline: 0;
}
.app-reference-sidebar .app-sidebar-nav {
    padding: 0 .04rem .45rem;
    scrollbar-color: rgba(255, 255, 255, .2) transparent;
    scrollbar-width: thin;
}
.app-reference-sidebar .app-sidebar-nav::-webkit-scrollbar {
    width: 5px;
}
.app-reference-sidebar .app-sidebar-nav::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(255, 255, 255, .2);
}
.app-reference-sidebar .app-sidebar-nav::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, .35);
}
.app-reference-sidebar .app-sidebar-nav::-webkit-scrollbar-track {
    background: transparent;
}
.app-reference-sidebar .nav-sidebar {
    padding: 0;
}
.app-reference-sidebar .nav-header.app-sidebar-section-header {
    min-height: 48px;
    margin: 12px 7px 4px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, .06);
    color: #d9e4ed;
    cursor: pointer;
    line-height: 1;
    user-select: none;
}
.app-reference-sidebar .nav-header.app-sidebar-section-header:focus-visible {
    outline: 2px solid rgba(56, 189, 248, .9);
    outline-offset: 2px;
}
.app-reference-sidebar .nav-header.app-sidebar-section-header:first-of-type {
    margin-top: 0;
}
.app-sidebar-section-icon {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #9fd5ea;
    font-size: 1rem;
}
.app-sidebar-section-title {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
}
.app-sidebar-section-caret {
    margin-left: auto;
    color: #9fb4c3;
    font-size: .78rem;
    transition: transform .16s ease;
}
.app-sidebar-section-header.is-open .app-sidebar-section-caret {
    transform: rotate(90deg);
}
.app-reference-sidebar .nav-sidebar > .nav-item {
    margin: 2px 7px;
}
.app-reference-sidebar .nav-sidebar > .nav-item > .nav-link,
.app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link {
    position: relative;
    min-height: 46px;
    width: 100%;
    border: 0;
    border-radius: 7px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 12px;
    color: #dce7ef;
    background: transparent;
    box-shadow: none;
    text-align: left;
    transition: background .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.app-reference-sidebar .nav-sidebar > .nav-item > .nav-link:hover,
.app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link:hover {
    background: rgba(255, 255, 255, .10);
    color: #ffffff;
    transform: translateX(1px);
}
.app-reference-sidebar .nav-sidebar > .nav-item > .nav-link.active,
.app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link.active {
    background: #0d86f7;
    color: #ffffff;
    font-weight: 700;
    box-shadow: 0 3px 10px rgba(13, 134, 247, .20);
}
.app-reference-sidebar .nav-sidebar > .nav-item > .nav-link.active::before,
.app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link.active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    bottom: 9px;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: #ffffff;
}
.app-reference-sidebar .nav-sidebar .has-treeview.menu-open > .nav-link {
    background: rgba(255, 255, 255, .07);
    color: #ffffff;
}
.app-reference-sidebar .nav-sidebar .nav-icon {
    flex: 0 0 24px;
    width: 24px;
    min-width: 24px;
    margin-right: 0;
    color: #c8dce8;
    font-size: 1.18rem;
    line-height: 1;
    text-align: center;
}
.app-reference-sidebar .nav-sidebar .nav-link.active .nav-icon,
.app-reference-sidebar .nav-sidebar .nav-link:hover .nav-icon {
    color: #ffffff !important;
}
.app-reference-sidebar .nav-sidebar .nav-link p {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .45rem;
    margin: 0;
    color: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    white-space: normal;
}
.app-reference-sidebar .nav-sidebar .has-treeview > .nav-link > p .right {
    position: static;
    margin-left: auto;
    margin-top: 0;
    color: #9fb4c3;
    font-size: .82rem;
    transition: transform .15s ease, color .15s ease;
}
.app-reference-sidebar .nav-sidebar .has-treeview.menu-open > .nav-link > p .right {
    transform: rotate(-90deg);
    color: #dce7ef;
}
.app-reference-sidebar .nav-sidebar .nav-treeview {
    margin: 3px 0 7px 19px;
    padding: 3px 0 3px 9px;
    border-left: 1px solid rgba(255, 255, 255, .10);
}
.app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item {
    margin: 2px 0 2px 5px;
}
.app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link {
    min-height: 40px;
    padding: 0 10px;
    border-radius: 7px;
}
.app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link .nav-icon {
    flex-basis: 20px;
    width: 20px;
    min-width: 20px;
    font-size: .82rem;
}
.app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link p {
    font-size: 14px;
    font-weight: 600;
}
.app-reference-sidebar .nav-sidebar .nav-link.is-plan-blocked {
    opacity: .72;
}
.app-reference-sidebar .nav-sidebar .nav-link.is-plan-blocked:hover,
.app-reference-sidebar .nav-sidebar .nav-link.is-plan-blocked:focus {
    opacity: 1;
    background: rgba(245, 158, 11, .16);
    color: #fef3c7;
}
.app-reference-sidebar .app-sidebar-context {
    margin: .62rem .2rem 0;
    padding: .58rem .64rem;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    background: rgba(255, 255, 255, .055);
}
.app-reference-sidebar .app-sidebar-context-row {
    grid-template-columns: 24px minmax(0, 1fr) 14px;
    column-gap: .45rem;
}
.app-reference-sidebar .app-sidebar-context-row > i:first-child {
    width: 24px;
    color: #9fd5ea;
    font-size: 1rem;
}
.app-reference-sidebar .app-sidebar-context-row span {
    color: #8fa9b8;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
}
.app-reference-sidebar .app-sidebar-context-row strong {
    color: #ffffff;
    font-size: .78rem;
    font-weight: 800;
}
.app-sidebar-search-hidden {
    display: none !important;
}
body.sidebar-collapse .app-reference-sidebar .app-sidebar-shell {
    padding: .54rem .32rem;
}
body.sidebar-collapse .app-reference-sidebar .app-sidebar-search,
body.sidebar-collapse .app-reference-sidebar .nav-header,
body.sidebar-collapse .app-reference-sidebar .app-sidebar-context {
    display: none;
}
body.sidebar-collapse .app-reference-sidebar .nav-sidebar > .nav-item {
    margin: 4px 0;
}
body.sidebar-collapse .app-reference-sidebar .nav-sidebar > .nav-item > .nav-link,
body.sidebar-collapse .app-reference-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link {
    width: 100%;
    min-height: 44px;
    justify-content: center;
    padding: 0;
}
body.sidebar-collapse .app-reference-sidebar .nav-sidebar .nav-icon {
    margin: 0;
    flex-basis: 24px;
}
body.sidebar-collapse .app-reference-sidebar .nav-sidebar .nav-link p {
    display: none;
}
body.sidebar-collapse .app-reference-sidebar .nav-sidebar .nav-treeview {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
}
@media (max-width: 991.98px) {
    .app-reference-sidebar .app-sidebar-shell {
        padding: .72rem .58rem .54rem;
    }
}
.app-reference-sidebar .brand-link.app-sidebar-brand {
    min-height: 104px;
    padding: 12px 14px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .06) !important;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    background: rgba(0, 0, 0, .10);
}
.app-reference-sidebar .app-sidebar-brand-mark {
    flex: 0 0 68px;
    width: 68px;
    height: 68px;
    min-width: 68px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #ffffff;
    padding: 5px;
}
.app-reference-sidebar .app-sidebar-brand-mark .app-sidebar-brand-logo {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    margin: 0;
}
.app-reference-sidebar .app-sidebar-brand-copy {
    min-width: 0;
    flex: 1 1 auto;
    display: grid;
    align-content: center;
    gap: 3px;
}
.app-reference-sidebar .app-sidebar-brand-copy .app-sidebar-brand-text {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: #ffffff;
    font-family: "Segoe UI", "Inter", system-ui, sans-serif;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .1px;
    line-height: 1.15;
    white-space: normal;
}
.app-reference-sidebar .app-sidebar-brand-subtitle {
    display: block;
    overflow: hidden;
    color: rgba(255, 255, 255, .65);
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.app-reference-sidebar .app-sidebar-brand-mark .app-sidebar-brand-avatar {
    width: 100%;
    height: 100%;
    flex-basis: auto;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(7, 63, 83, .92);
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    box-shadow: none;
}
.app-reference-sidebar .brand-link.app-sidebar-brand + .app-sidebar-shell,
.app-reference-sidebar .app-sidebar-shell {
    height: calc(100vh - 104px);
}
.app-reference-sidebar .app-sidebar-search {
    margin-top: 0;
    margin-bottom: 12px;
}
body.sidebar-collapse .app-reference-sidebar .brand-link.app-sidebar-brand {
    min-height: 64px;
    padding: 11px !important;
    justify-content: center;
    gap: 0;
}
body.sidebar-collapse .app-reference-sidebar .app-sidebar-brand-mark {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    min-width: 42px;
    padding: 3px;
}
body.sidebar-collapse .app-reference-sidebar .app-sidebar-brand-copy {
    display: none;
}
body.sidebar-collapse .app-reference-sidebar .app-sidebar-brand-mark .app-sidebar-brand-avatar {
    font-size: .78rem;
}
body.sidebar-collapse .app-reference-sidebar .brand-link.app-sidebar-brand + .app-sidebar-shell,
body.sidebar-collapse .app-reference-sidebar .app-sidebar-shell {
    height: calc(100vh - 64px);
}
.dropdown-user-card {
    width: 308px;
    padding: 0;
    border: 0;
    border-radius: .9rem;
    overflow: hidden;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .14);
    transform-origin: top right;
    animation: dropdownUserCardIn .18s ease-out;
}
.dropdown-user-card-header {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .8rem .9rem;
    background: linear-gradient(135deg, #0f172a 0%, #1d4ed8 100%);
    color: #fff;
}
.dropdown-user-card-avatar {
    width: 52px;
    height: 52px;
    border-radius: 999px;
    object-fit: cover;
    border: 2px solid rgba(255,255,255,.35);
    box-shadow: 0 8px 18px rgba(2, 6, 23, .22);
}
.dropdown-user-card-meta {
    min-width: 0;
}
.dropdown-user-card-name {
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.15;
}
.dropdown-user-card-role {
    font-size: .8rem;
    color: rgba(255,255,255,.86);
    margin-top: .1rem;
}
.dropdown-user-card-username {
    margin-top: .16rem;
    font-size: .76rem;
    color: rgba(255,255,255,.72);
}
.dropdown-user-card-body {
    padding: .55rem .9rem;
    background: #fff;
}
.dropdown-user-card-info {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .75rem;
    padding: .5rem 0;
    border-bottom: 1px solid #eef2f7;
}
.dropdown-user-card-info:last-child {
    border-bottom: 0;
}
.dropdown-user-card-info span {
    font-size: .75rem;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    gap: .34rem;
}
.dropdown-user-card-info strong {
    max-width: 57%;
    text-align: right;
    color: #0f172a;
    font-weight: 700;
    word-break: break-word;
    font-size: .8rem;
    line-height: 1.2;
}
.dropdown-user-card-actions {
    padding: .75rem .9rem .85rem;
    background: #f8fafc;
}
.dropdown-user-card-actions .btn {
    border-radius: .72rem;
    font-weight: 700;
    min-height: 40px;
    padding-top: .45rem;
    padding-bottom: .45rem;
    font-size: .84rem;
}
.dropdown-user-shortcut {
    display: inline-block;
    margin-left: .35rem;
    padding: .08rem .34rem;
    border-radius: 999px;
    background: rgba(13, 110, 253, .1);
    color: #1d4ed8;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .04em;
}

@keyframes dropdownUserCardIn {
    from {
        opacity: 0;
        transform: translateY(-8px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
.nav-sidebar .has-treeview > .nav-link > p { font-weight: 700; }
.settings-nav-card .card-body { background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%); }
.settings-pills .nav-link { border-radius: .65rem; color: #334155; font-weight: 600; margin-bottom: 0; }
.settings-pills .nav-link.active { background: #0d6efd; box-shadow: 0 10px 24px rgba(13, 110, 253, .18); }
.settings-pills .nav-link:not(.active):hover { background: rgba(13, 110, 253, .08); }
.settings-preview-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: .85rem; padding: 1rem; height: 100%; }
.settings-preview-box { min-height: 180px; border: 1px dashed #cbd5e1; border-radius: .75rem; display: flex; align-items: center; justify-content: center; background: #fff; color: #64748b; overflow: hidden; }
.settings-preview-box img { max-height: 140px; object-fit: contain; }
.settings-brand-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0877f2 0%, #00a6c8 100%);
    color: #fff;
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: 0;
    box-shadow: 0 14px 28px rgba(8, 119, 242, .22);
}
.settings-brand-avatar-sm {
    width: 58px;
    height: 58px;
    border-radius: 10px;
    font-size: 1rem;
}
.settings-preview-meta { display: flex; gap: .4rem; flex-wrap: wrap; padding-top: .45rem; }
.settings-file-summary { background: linear-gradient(180deg, #f8fafc 0%, #eef4ff 100%); border: 1px solid #dbe5f2; border-radius: .85rem; padding: .95rem 1rem; }
.settings-file-summary-header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .35rem; }
.settings-file-summary-badge { display: inline-flex; align-items: center; font-size: .72rem; font-weight: 700; color: #1d4ed8; background: rgba(59, 130, 246, .12); border: 1px solid rgba(59, 130, 246, .22); border-radius: 999px; padding: .2rem .55rem; }
.settings-file-actions { display: flex; gap: .55rem; flex-wrap: wrap; }
.settings-certificate-status { display: inline-flex; align-items: center; border-radius: .8rem; font-size: .82rem; font-weight: 700; padding: .45rem .7rem; margin-bottom: .7rem; }
.settings-certificate-status-success { background: rgba(22, 163, 74, .12); color: #166534; border: 1px solid rgba(22, 163, 74, .2); }
.settings-certificate-status-warning { background: rgba(245, 158, 11, .12); color: #92400e; border: 1px solid rgba(245, 158, 11, .24); }
.settings-certificate-status-danger { background: rgba(220, 38, 38, .12); color: #991b1b; border: 1px solid rgba(220, 38, 38, .18); }
.settings-certificate-status-info { background: rgba(37, 99, 235, .12); color: #1d4ed8; border: 1px solid rgba(37, 99, 235, .18); }
.settings-certificate-status-secondary { background: rgba(100, 116, 139, .12); color: #475569; border: 1px solid rgba(100, 116, 139, .16); }
.import-hub-card,
.import-templates-card,
.import-run-card,
.import-guide-card {
    border-radius: 1.1rem;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(15, 23, 42, .06);
}
.import-hub-card .card-body,
.import-run-card .card-body,
.import-guide-card .card-body,
.import-templates-card .card-body {
    padding: 1.2rem 1.25rem;
}
.import-hub-badge {
    display: inline-flex;
    align-items: center;
    padding: .34rem .68rem;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: .85rem;
}
.import-hub-steps {
    display: grid;
    gap: .65rem;
}
.import-hub-step {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
    border: 1px solid #dbe4f0;
    border-radius: .9rem;
    background: linear-gradient(180deg, #f8fafc 0%, #eef4ff 100%);
    padding: .7rem .8rem;
}
.import-hub-step span {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0d6efd 0%, #38bdf8 100%);
    color: #fff;
    font-weight: 800;
}
.import-hub-step strong {
    color: #0f172a;
    font-size: .92rem;
}
.import-template-counter {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .3rem .65rem;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .76rem;
    font-weight: 800;
}
.import-template-grid {
    display: grid;
    gap: .9rem;
}
.import-template-card {
    display: block;
    border: 1px solid #dbe4f0;
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    padding: 1rem;
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.import-template-card:hover {
    transform: translateY(-2px);
    border-color: #93c5fd;
    box-shadow: 0 18px 30px rgba(37, 99, 235, .12);
}
.import-template-card.active {
    border-color: #2563eb;
    box-shadow: 0 18px 34px rgba(37, 99, 235, .14);
}
.import-template-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .8rem;
}
.import-template-card-icon {
    width: 46px;
    height: 46px;
    border-radius: .95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0f172a 0%, #2563eb 100%);
    color: #fff;
    font-size: 1.05rem;
    box-shadow: 0 10px 22px rgba(37, 99, 235, .18);
}
.import-template-download {
    color: #2563eb;
    font-size: .78rem;
    font-weight: 700;
}
.import-template-card h4 {
    color: #0f172a;
    font-size: 1.02rem;
    font-weight: 800;
    margin: 0 0 .35rem;
}
.import-template-card p {
    color: #64748b;
    margin: 0 0 .8rem;
    font-size: .9rem;
}
.import-template-card-actions {
    display: flex;
    gap: .55rem;
    flex-wrap: wrap;
    margin-top: .95rem;
}
.import-template-card-actions .btn {
    border-radius: .8rem;
    font-weight: 700;
    min-width: 104px;
}
.import-template-card-meta {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}
.import-template-card-meta span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .26rem .58rem;
    background: #f1f5f9;
    color: #334155;
    font-size: .74rem;
    font-weight: 700;
}
.import-guide-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
    gap: 1rem;
    align-items: start;
    margin-bottom: 1rem;
}
.import-guide-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .28rem .58rem;
    background: #e0f2fe;
    color: #0369a1;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: .6rem;
}
.import-guide-hero h4 {
    margin: 0 0 .35rem;
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
}
.import-guide-hero p {
    margin: 0;
    color: #64748b;
}
.import-guide-rule {
    border: 1px solid #dbe4f0;
    border-radius: 1rem;
    background: linear-gradient(180deg, #f8fafc 0%, #eef4ff 100%);
    padding: .9rem 1rem;
}
.import-guide-rule span {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #64748b;
    margin-bottom: .28rem;
}
.import-guide-rule strong {
    color: #0f172a;
    line-height: 1.45;
}
.import-guide-tips {
    display: grid;
    gap: .6rem;
    margin-bottom: 1rem;
}
.import-guide-tip {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: .65rem;
    align-items: start;
    color: #334155;
    font-size: .92rem;
}
.import-guide-tip i {
    color: #16a34a;
    margin-top: .1rem;
}
.import-guide-table thead th {
    background: #eff6ff;
    color: #0f172a;
    border-top: 0;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.import-guide-table td code {
    color: #1d4ed8;
    background: #eff6ff;
    border-radius: .45rem;
    padding: .15rem .38rem;
}
.import-guide-samples {
    margin-top: 1rem;
    border: 1px solid #dbe4f0;
    border-radius: 1rem;
    overflow: hidden;
}
.import-guide-samples-title {
    padding: .85rem 1rem;
    background: #f8fafc;
    border-bottom: 1px solid #dbe4f0;
    font-weight: 800;
    color: #0f172a;
}
.import-guide-samples table {
    margin-bottom: 0;
}
.import-guide-samples thead th {
    background: #eef4ff;
    font-size: .76rem;
    color: #0f172a;
    white-space: nowrap;
}
.import-inspection-card {
    margin-top: 1rem;
    border: 1px solid #dbe4f0;
    border-radius: 1rem;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    padding: 1rem;
}
.import-inspection-ready {
    border-color: rgba(22, 163, 74, .26);
    box-shadow: 0 16px 34px rgba(22, 163, 74, .08);
}
.import-inspection-warning {
    border-color: rgba(245, 158, 11, .26);
    box-shadow: 0 16px 34px rgba(245, 158, 11, .08);
}
.import-inspection-danger {
    border-color: rgba(220, 38, 38, .22);
    box-shadow: 0 16px 34px rgba(220, 38, 38, .08);
}
.import-inspection-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}
.import-inspection-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .28rem .58rem;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: .55rem;
}
.import-inspection-head h4 {
    margin: 0 0 .3rem;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}
.import-inspection-head p {
    margin: 0;
    color: #64748b;
    font-size: .9rem;
}
.import-inspection-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    border-radius: .9rem;
    padding: .5rem .85rem;
    background: #f1f5f9;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 800;
    text-align: center;
}
.import-inspection-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}
.import-inspection-stats div {
    border-radius: .9rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    padding: .8rem .85rem;
}
.import-inspection-stats span {
    display: block;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #64748b;
    margin-bottom: .22rem;
}
.import-inspection-stats strong {
    display: block;
    color: #0f172a;
    font-size: 1rem;
}
.import-inspection-groups {
    display: grid;
    gap: .8rem;
}
.import-inspection-group {
    border-radius: .95rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    padding: .85rem .9rem;
}
.import-inspection-group > span {
    display: block;
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #64748b;
    margin-bottom: .5rem;
}
.import-inspection-tags {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
}
.import-inspection-tag {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .26rem .58rem;
    font-size: .75rem;
    font-weight: 700;
}
.import-inspection-tag-success {
    background: rgba(22, 163, 74, .12);
    color: #166534;
}
.import-inspection-tag-warning {
    background: rgba(245, 158, 11, .14);
    color: #92400e;
}
.import-inspection-tag-danger {
    background: rgba(220, 38, 38, .12);
    color: #991b1b;
}
.import-inspection-data-errors {
    margin-top: .9rem;
}
.import-inspection-data-errors > span {
    display: block;
    margin-bottom: .45rem;
    color: #7f1d1d;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}
.import-inspection-data-errors table {
    background: #fff;
    font-size: .82rem;
}
.import-inspection-data-errors th {
    color: #7f1d1d;
    background: #fff1f2;
}
.import-progress-card {
    margin-top: 1rem;
    border: 1px solid #dbe4f0;
    border-radius: 1rem;
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
    padding: 1rem;
    box-shadow: 0 16px 34px rgba(37, 99, 235, .08);
}
.import-progress-head {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: .85rem;
    align-items: center;
    margin-bottom: .85rem;
}
.import-progress-spinner {
    width: 42px;
    height: 42px;
    border-radius: .95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1d4ed8 0%, #38bdf8 100%);
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 12px 24px rgba(37, 99, 235, .18);
}
.import-progress-title {
    color: #0f172a;
    font-size: .98rem;
    font-weight: 800;
    margin-bottom: .18rem;
}
.import-progress-text {
    color: #64748b;
    font-size: .9rem;
}
.import-progress-bar {
    height: 12px;
    border-radius: 999px;
    background: #dbeafe;
    overflow: hidden;
}
.import-progress-bar-fill {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #1d4ed8 0%, #38bdf8 100%);
    transition: width .22s ease;
}
.import-progress-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .6rem;
    color: #334155;
    font-size: .8rem;
    font-weight: 700;
}
.imports-page {
    display: grid;
    gap: .75rem;
}
.imports-choice-card,
.imports-run-card,
.imports-steps-card {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
    padding: .85rem;
}
.imports-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .8rem;
}
.imports-section-head h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
}
.imports-section-head p {
    margin: .18rem 0 0;
    color: #64748b;
    font-size: .78rem;
    font-weight: 700;
}
.imports-section-head > span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    border-radius: 6px;
    padding: .16rem .48rem;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .68rem;
    font-weight: 900;
    white-space: nowrap;
}
.imports-template-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}
.imports-template-tile {
    --import-tile-accent: #2563eb;
    --import-tile-accent-soft: rgba(37, 99, 235, .28);
    --import-tile-fill: #eff6ff;
    min-width: 0;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    padding: .8rem;
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background-color .16s ease;
}
.imports-template-tile.is-purple {
    --import-tile-accent: #9333ea;
    --import-tile-accent-soft: rgba(147, 51, 234, .3);
    --import-tile-fill: #f3e8ff;
}
.imports-template-tile.is-green {
    --import-tile-accent: #059669;
    --import-tile-accent-soft: rgba(5, 150, 105, .3);
    --import-tile-fill: #d1fae5;
}
.imports-template-tile.is-blue {
    --import-tile-accent: #0d6efd;
    --import-tile-accent-soft: rgba(13, 110, 253, .3);
    --import-tile-fill: #dbeafe;
}
.imports-template-tile.is-orange {
    --import-tile-accent: #f97316;
    --import-tile-accent-soft: rgba(249, 115, 22, .32);
    --import-tile-fill: #ffedd5;
}
.imports-template-tile:hover:not(.active) {
    border-color: #93c5fd;
    box-shadow: 0 12px 28px rgba(37, 99, 235, .1);
    transform: translateY(-1px);
}
.imports-template-tile.active {
    background: var(--import-tile-fill);
    border-color: var(--import-tile-accent);
    box-shadow: 0 0 0 1px var(--import-tile-accent);
    transform: none;
    transition: background-color .16s ease;
    animation: imports-selected-border-blink 1.05s ease-in-out infinite;
}
.imports-template-tile.active .imports-template-meta div {
    background: rgba(255, 255, 255, .82);
}
@keyframes imports-selected-border-blink {
    0%, 100% {
        border-color: var(--import-tile-accent);
        box-shadow: 0 0 0 1px var(--import-tile-accent);
    }
    50% {
        border-color: var(--import-tile-accent-soft);
        box-shadow: 0 0 0 3px var(--import-tile-accent-soft);
    }
}
@media (prefers-reduced-motion: reduce) {
    .imports-template-tile.active {
        animation: none;
        border-color: var(--import-tile-accent);
        box-shadow: 0 0 0 2px var(--import-tile-accent);
    }
}
.imports-template-top {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: .72rem;
    align-items: center;
}
.imports-template-icon {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
}
.imports-template-tile.is-purple .imports-template-icon { color: #9333ea; background: #f3e8ff; }
.imports-template-tile.is-green .imports-template-icon { color: #059669; background: #d1fae5; }
.imports-template-tile.is-blue .imports-template-icon { color: #0d6efd; background: #dbeafe; }
.imports-template-tile.is-orange .imports-template-icon { color: #f97316; background: #ffedd5; }
.imports-template-top h4 {
    margin: 0;
    color: #0f172a;
    font-size: .92rem;
    font-weight: 900;
}
.imports-template-top p {
    margin: .18rem 0 0;
    color: #475569;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.25;
}
.imports-template-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
    margin: .8rem 0 .7rem;
}
.imports-template-meta div {
    min-width: 0;
    border-radius: 7px;
    padding: .55rem;
}
.imports-template-tile.is-purple .imports-template-meta div { background: #faf5ff; }
.imports-template-tile.is-green .imports-template-meta div { background: #f0fdf4; }
.imports-template-tile.is-blue .imports-template-meta div { background: #eff6ff; }
.imports-template-tile.is-orange .imports-template-meta div { background: #fff7ed; }
.imports-template-meta i,
.imports-template-meta span,
.imports-template-meta strong {
    display: block;
}
.imports-template-meta i {
    margin-bottom: .3rem;
    font-size: .82rem;
}
.imports-template-meta span {
    color: #64748b;
    font-size: .62rem;
    font-weight: 800;
}
.imports-template-meta strong {
    margin-top: .12rem;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
}
.imports-template-actions {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: .45rem;
}
.imports-template-download-btn,
.imports-template-import-btn {
    min-height: 34px;
    border-radius: 6px;
    font-size: .74rem;
    font-weight: 900;
}
.imports-template-download-btn {
    width: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    border-color: #dbe4f0;
    background: #fff;
}
.imports-template-tile.is-purple .imports-template-import-btn { color: #fff; background: #9333ea; border-color: #9333ea; }
.imports-template-tile.is-green .imports-template-import-btn { color: #fff; background: #059669; border-color: #059669; }
.imports-template-tile.is-blue .imports-template-import-btn { color: #fff; background: #0d6efd; border-color: #0d6efd; }
.imports-template-tile.is-orange .imports-template-import-btn { color: #fff; background: #f97316; border-color: #f97316; }
.imports-run-card {
    display: grid;
    grid-template-columns: minmax(220px, .75fr) minmax(0, 1.6fr);
    gap: .85rem;
    align-items: center;
}
.imports-run-copy span,
.imports-run-copy strong,
.imports-run-copy small {
    display: block;
}
.imports-run-copy span {
    color: #64748b;
    font-size: .66rem;
    font-weight: 900;
    text-transform: uppercase;
}
.imports-run-copy strong {
    margin-top: .12rem;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
}
.imports-run-copy small {
    margin-top: .18rem;
    color: #475569;
    font-size: .76rem;
    font-weight: 700;
}
.imports-run-form {
    display: grid;
    grid-template-columns: 150px 190px minmax(0, 1fr) 148px;
    gap: .55rem;
    align-items: center;
}
.imports-run-form .form-control,
.imports-file-control .custom-file-label,
.imports-file-control .custom-file-input {
    height: 34px;
    min-height: 34px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}
.imports-file-control .custom-file-label {
    padding-top: .36rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.imports-run-form .btn {
    min-height: 34px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 900;
}
.imports-run-card .import-progress-card,
.imports-run-card .import-inspection-card {
    grid-column: 1 / -1;
    margin-top: 0;
}
.imports-steps-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: .9rem;
}
.imports-step-line {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .75rem;
    align-items: start;
}
.imports-step-line div {
    position: relative;
    min-width: 0;
}
.imports-step-line span {
    position: absolute;
    top: 18px;
    left: 0;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #0d6efd;
    font-size: .58rem;
    font-weight: 900;
}
.imports-step-line i {
    width: 48px;
    height: 48px;
    margin-left: 24px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0d6efd;
    background: #eff6ff;
    font-size: 1rem;
}
.imports-step-line strong,
.imports-step-line small {
    display: block;
}
.imports-step-line strong {
    margin-top: .5rem;
    color: #0f172a;
    font-size: .72rem;
    font-weight: 900;
}
.imports-step-line small {
    margin-top: .18rem;
    color: #64748b;
    font-size: .66rem;
    font-weight: 700;
    line-height: 1.3;
}
.imports-help-card {
    border-radius: 8px;
    background: #eff6ff;
    padding: .9rem;
}
.imports-help-card i,
.imports-help-card strong,
.imports-help-card span {
    display: block;
}
.imports-help-card > i {
    color: #0d6efd;
    font-size: 1.05rem;
    margin-bottom: .55rem;
}
.imports-help-card strong {
    color: #0d6efd;
    font-size: .82rem;
    font-weight: 900;
}
.imports-help-card span {
    margin: .45rem 0 .75rem;
    color: #334155;
    font-size: .74rem;
    font-weight: 700;
    line-height: 1.45;
}
.imports-help-card .btn {
    width: 100%;
    min-height: 32px;
    border-radius: 6px;
    font-size: .74rem;
    font-weight: 900;
}
.imports-recent-card .card-body,
.imports-result-card .card-body {
    padding: .65rem;
}
.imports-recent-table {
    table-layout: fixed;
}
.imports-recent-table th:nth-child(1) { width: 16%; }
.imports-recent-table th:nth-child(2) { width: 38%; }
.imports-recent-table th:nth-child(3) { width: 16%; }
.imports-recent-table th:nth-child(4) { width: 12%; }
.imports-recent-table th:nth-child(5) { width: 12%; }
.imports-recent-table th:nth-child(6) { width: 8%; }
.imports-recent-table td {
    overflow: hidden;
    text-overflow: ellipsis;
}
.imports-type-chip,
.import-status-badge {
    display: inline-flex;
    align-items: center;
    gap: .36rem;
    min-height: 22px;
    border-radius: 6px;
    padding: .14rem .46rem;
    font-size: .64rem;
    font-weight: 900;
    white-space: nowrap;
}
.imports-type-chip.is-purple { color: #9333ea; background: #f3e8ff; }
.imports-type-chip.is-green { color: #059669; background: #d1fae5; }
.imports-type-chip.is-blue { color: #0d6efd; background: #dbeafe; }
.imports-type-chip.is-orange { color: #f97316; background: #ffedd5; }
.import-status-badge.is-complete {
    color: #047857;
    background: #dcfce7;
}
.imports-empty-recent {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    background: #f8fafc;
    font-size: .82rem;
    font-weight: 800;
}
.imports-guide-dialog {
    max-width: 1080px;
}
.imports-guide-modal-content {
    border-radius: 12px;
}
.imports-guide-modal-body {
    max-height: min(72vh, 720px);
    overflow: auto;
}
.imports-guide-modal-body .import-guide-hero {
    margin-bottom: .75rem;
}
.imports-guide-table-shell {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    overflow: auto;
}
.imports-guide-table-shell .import-guide-table {
    margin-bottom: 0;
}
.imports-guide-modal-footer .btn {
    min-height: 34px;
    border-radius: 6px;
    font-size: .78rem;
    font-weight: 900;
}
.imports-result-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: .75rem;
}
.imports-result-grid div {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    padding: .75rem;
}
.imports-result-grid span,
.imports-result-grid strong {
    display: block;
}
.imports-result-grid span {
    color: #64748b;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}
.imports-result-grid strong {
    margin-top: .2rem;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
}
.import-validation-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .8rem;
}
.import-validation-title {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
}
.import-validation-excel-icon,
.import-validation-file-icon {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e9f7ef;
    color: #198754;
    font-size: 1.35rem;
    flex-shrink: 0;
}
.import-validation-close {
    width: 34px;
    height: 34px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    background: #fff;
    transition: color .16s ease, background .16s ease, border-color .16s ease;
}
.import-validation-close:hover {
    color: #dc3545;
    background: #fff5f5;
    border-color: #fecaca;
}
.import-validation-stepper {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
    margin-bottom: .8rem;
}
.import-validation-step {
    min-width: 0;
    position: relative;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    padding: .58rem .62rem .58rem 2.65rem;
    color: #64748b;
}
.import-validation-step span {
    position: absolute;
    left: .62rem;
    top: .62rem;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #64748b;
    font-size: .72rem;
    font-weight: 900;
}
.import-validation-step strong,
.import-validation-step small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.import-validation-step strong {
    color: #334155;
    font-size: .76rem;
    font-weight: 900;
}
.import-validation-step small {
    margin-top: .08rem;
    font-size: .66rem;
    font-weight: 700;
}
.import-validation-step.is-active {
    border-color: #93c5fd;
    background: #eff6ff;
}
.import-validation-step.is-active span {
    background: #0d6efd;
    color: #fff;
}
.import-validation-step.is-complete {
    border-color: #bbf7d0;
    background: #f0fdf4;
}
.import-validation-step.is-complete span {
    background: #16a34a;
    color: #fff;
}
.import-validation-overview {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: .75rem;
    margin-bottom: .75rem;
}
.import-validation-file-card,
.import-validation-template-card {
    min-width: 0;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    padding: .78rem;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .035);
}
.import-validation-file-card {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    gap: .72rem;
    align-items: center;
}
.import-validation-file-body {
    min-width: 0;
}
.import-validation-file-body strong,
.import-validation-file-body small,
.import-validation-file-state {
    display: block;
}
.import-validation-file-body strong {
    color: #0f172a;
    font-size: .92rem;
    font-weight: 900;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.import-validation-file-body small {
    margin-top: .15rem;
    color: #64748b;
    font-size: .74rem;
    font-weight: 700;
}
.import-validation-file-state {
    margin-top: .3rem;
    color: #15803d;
    font-size: .74rem;
    font-weight: 800;
}
.import-validation-file-state.is-danger {
    color: #b91c1c;
}
.import-validation-template-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}
.import-validation-template-kicker {
    display: block;
    color: #0d6efd;
    font-size: .74rem;
    font-weight: 900;
}
.import-validation-template-card p {
    max-width: 38ch;
    margin: .18rem 0 0;
    color: #475569;
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.35;
}
.import-validation-result {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: .7rem;
    align-items: center;
    border: 1px solid #dbe4f0;
    border-radius: 10px;
    background: #f8fafc;
    padding: .7rem .78rem;
    margin-bottom: .75rem;
}
.import-validation-result > span {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}
.import-validation-result strong,
.import-validation-result p {
    display: block;
    margin: 0;
}
.import-validation-result strong {
    color: #0f172a;
    font-size: .88rem;
    font-weight: 900;
    text-transform: uppercase;
}
.import-validation-result p {
    margin-top: .12rem;
    color: #475569;
    font-size: .78rem;
    font-weight: 700;
}
.import-validation-result.is-success {
    border-color: #bbf7d0;
    background: #f0fdf4;
}
.import-validation-result.is-success > span {
    color: #15803d;
    background: #dcfce7;
}
.import-validation-result.is-warning {
    border-color: #fde68a;
    background: #fffbeb;
}
.import-validation-result.is-warning > span {
    color: #b45309;
    background: #fef3c7;
}
.import-validation-result.is-danger {
    border-color: #fecaca;
    background: #fff5f5;
}
.import-validation-result.is-danger > span {
    color: #b91c1c;
    background: #fee2e2;
}
@keyframes import-validation-blink {
    0%, 100% {
        background-color: #f97316;
        border-color: #c2410c;
        box-shadow: 0 0 0 0 rgba(249, 115, 22, .55);
    }
    50% {
        background-color: #facc15;
        border-color: #a16207;
        box-shadow: 0 0 0 8px rgba(250, 204, 21, 0);
    }
}
.import-validation-result.is-checking {
    border-width: 2px;
    background: #f97316;
    border-color: #c2410c;
    animation: import-validation-blink .85s ease-in-out infinite;
}
.import-validation-result.is-checking > span {
    color: #c2410c;
    background: #fff7ed;
}
.import-validation-result.is-checking strong,
.import-validation-result.is-checking p {
    color: #1c1917;
}
@keyframes import-button-blink {
    0%, 100% {
        background-color: #0d6efd;
        border-color: #0a58ca;
        color: #fff;
        box-shadow: 0 0 0 0 rgba(13, 110, 253, .55);
    }
    50% {
        background-color: #f97316;
        border-color: #c2410c;
        color: #fff;
        box-shadow: 0 0 0 8px rgba(249, 115, 22, 0);
    }
}
#importSubmitBtn.is-importing,
#importValidationContinueBtn.is-importing,
#importSubmitBtn.is-importing:disabled,
#importValidationContinueBtn.is-importing:disabled {
    opacity: 1 !important;
    color: #fff !important;
    animation: import-button-blink .85s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
    .import-validation-result.is-checking {
        animation: none;
        background: #f97316;
        border-color: #c2410c;
        box-shadow: 0 0 0 3px rgba(249, 115, 22, .35);
    }
    #importSubmitBtn.is-importing,
    #importValidationContinueBtn.is-importing,
    #importSubmitBtn.is-importing:disabled,
    #importValidationContinueBtn.is-importing:disabled {
        animation: none;
        background: #f97316 !important;
        border-color: #c2410c !important;
        box-shadow: 0 0 0 3px rgba(249, 115, 22, .35);
    }
}
.import-validation-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: .75rem;
}
.import-validation-kpi {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    padding: .72rem .78rem;
}
.import-validation-kpi span,
.import-validation-kpi small {
    display: block;
}
.import-validation-kpi span {
    color: #0f172a;
    font-size: 1.22rem;
    line-height: 1;
    font-weight: 950;
    font-variant-numeric: tabular-nums;
}
.import-validation-kpi small {
    margin-top: .28rem;
    color: #64748b;
    font-size: .7rem;
    font-weight: 900;
    text-transform: uppercase;
}
.import-validation-kpi.is-rows { border-color: #bfdbfe; background: #eff6ff; }
.import-validation-kpi.is-valid { border-color: #bbf7d0; background: #f0fdf4; }
.import-validation-kpi.is-valid span { color: #15803d; }
.import-validation-kpi.is-errors { border-color: #fecaca; background: #fff5f5; }
.import-validation-kpi.is-errors span { color: #b91c1c; }
.import-validation-kpi.is-warnings { border-color: #fde68a; background: #fffbeb; }
.import-validation-kpi.is-warnings span { color: #b45309; }
.import-validation-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: .75rem;
    align-items: start;
}
.import-validation-columns-card,
.import-validation-side-card,
.import-validation-recommendations {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
}
.import-validation-columns-card {
    min-width: 0;
    overflow: hidden;
}
.import-validation-section-title {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    padding: .75rem .85rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}
.import-validation-section-title h5 {
    margin: 0;
    color: #0f172a;
    font-size: .88rem;
    font-weight: 900;
}
.import-validation-section-title p {
    margin: .16rem 0 0;
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
}
.import-validation-columns-table-wrap {
    max-height: 330px;
}
.import-validation-columns-table {
    font-size: .78rem;
}
.import-validation-columns-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    border-top: 0;
    background: #f8fafc;
    color: #475569;
    font-size: .66rem;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}
.import-validation-columns-table td {
    vertical-align: middle;
    color: #334155;
}
.import-validation-columns-table td strong,
.import-validation-columns-table td small {
    display: block;
}
.import-validation-columns-table td strong {
    color: #0f172a;
    font-weight: 900;
}
.import-validation-columns-table td small {
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}
.import-column-status {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    min-height: 23px;
    border-radius: 6px;
    padding: .14rem .46rem;
    font-size: .68rem;
    font-weight: 900;
    white-space: nowrap;
}
.import-column-status.is-ok {
    color: #166534;
    background: #dcfce7;
}
.import-column-status.is-warning {
    color: #92400e;
    background: #fef3c7;
}
.import-column-status.is-error {
    color: #991b1b;
    background: #fee2e2;
}
.import-validation-side-card {
    padding: .85rem;
}
.import-validation-side-card.is-success {
    border-color: #bbf7d0;
    background: #f0fdf4;
}
.import-validation-side-card.is-danger {
    border-color: #fecaca;
    background: #fff5f5;
}
.import-validation-side-card > strong {
    display: block;
    color: #0f172a;
    font-size: .9rem;
    font-weight: 900;
}
.import-validation-side-card > p {
    margin: .22rem 0 .72rem;
    color: #475569;
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.35;
}
.import-validation-side-card .import-inspection-groups {
    gap: .5rem;
}
.import-validation-side-card .import-inspection-group {
    border-radius: 8px;
    padding: .58rem .62rem;
}
.import-validation-side-card .import-inspection-group > span {
    font-size: .62rem;
    margin-bottom: .35rem;
}
.import-validation-recommendations {
    margin-top: .75rem;
    padding: .72rem .85rem;
    background: #fffbeb;
    border-color: #fde68a;
}
.import-validation-recommendations strong {
    display: block;
    color: #92400e;
    font-size: .82rem;
    font-weight: 900;
}
.import-validation-recommendations ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .22rem .9rem;
    margin: .48rem 0 0;
    padding-left: 1rem;
    color: #713f12;
    font-size: .73rem;
    font-weight: 700;
}
.import-validation-footer {
    position: sticky;
    bottom: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    margin: .8rem -1rem -1rem;
    padding: .72rem 1rem;
    border-top: 1px solid #e2e8f0;
    border-radius: 0 0 1rem 1rem;
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(8px);
}
.import-validation-footer > div {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.import-validation-footer .btn {
    min-height: 34px;
    border-radius: 7px;
    font-size: .78rem;
    font-weight: 900;
}
.import-validation-footer-hint {
    color: #b91c1c;
    font-size: .74rem;
    font-weight: 900;
}
@media (max-width: 1199.98px) {
    .imports-template-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .imports-run-card,
    .imports-run-form,
    .imports-steps-card {
        grid-template-columns: 1fr;
    }
    .import-validation-overview,
    .import-validation-main-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 767.98px) {
    .imports-template-grid,
    .imports-step-line,
    .imports-result-grid,
    .import-validation-stepper,
    .import-validation-overview {
        grid-template-columns: 1fr;
    }
    .import-validation-kpis,
    .import-validation-recommendations ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .import-validation-file-card,
    .import-validation-template-card,
    .import-validation-footer {
        align-items: stretch;
        grid-template-columns: 1fr;
        flex-direction: column;
    }
    .imports-section-head {
        flex-direction: column;
    }
}
.dashboard-sunat-alert { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-radius: 1rem; padding: 1rem 1.15rem; margin-bottom: 1rem; color: #fff; box-shadow: 0 18px 40px rgba(15, 23, 42, .12); }
.dashboard-sunat-alert-warning { background: linear-gradient(135deg, #b45309 0%, #f59e0b 100%); }
.dashboard-sunat-alert-danger { background: linear-gradient(135deg, #b91c1c 0%, #ef4444 100%); }
.dashboard-sunat-alert-icon { width: 3rem; height: 3rem; border-radius: .9rem; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.18); font-size: 1.25rem; flex-shrink: 0; }
.dashboard-sunat-alert-body { flex: 1; min-width: 0; }
.dashboard-sunat-alert-title { font-size: 1rem; font-weight: 800; margin-bottom: .2rem; }
.dashboard-sunat-alert-text { font-size: .92rem; opacity: .96; }
.dashboard-sunat-alert-actions { display: flex; gap: .55rem; flex-wrap: wrap; }
.dashboard-sunat-alert-actions .btn-outline-light { border-color: rgba(255,255,255,.6); color: #fff; }
.dashboard-sunat-alert-actions .btn-outline-light:hover { background: rgba(255,255,255,.14); color: #fff; }
.dashboard-hub {
    display: grid;
    gap: 18px;
}

.dashboard-hub-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    padding: 22px 24px;
    border-radius: 28px;
    background: radial-gradient(circle at top right, rgba(56, 189, 248, .18), transparent 28%), linear-gradient(135deg, #f8fbff 0%, #eef4ff 48%, #ffffff 100%);
    border: 1px solid #dbe4f0;
    box-shadow: 0 22px 50px rgba(15, 23, 42, .06);
}

.dashboard-hub-eyebrow {
    display: inline-flex;
    align-items: center;
    padding: .36rem .8rem;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: .8rem;
}

.dashboard-hub-title {
    margin: 0;
    font-size: 2rem;
    font-weight: 800;
    color: #0f172a;
}

.dashboard-hub-copy {
    max-width: 760px;
    margin: .7rem 0 0;
    color: #475569;
    font-size: 1rem;
    line-height: 1.75;
}

.dashboard-hub-hero-badge {
    min-width: 230px;
    padding: 18px 20px;
    border-radius: 22px;
    background: linear-gradient(180deg, #0f172a 0%, #1d4ed8 100%);
    color: #fff;
    box-shadow: 0 18px 36px rgba(29, 78, 216, .14);
}

.dashboard-hub-hero-badge span {
    display: block;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    opacity: .86;
    margin-bottom: .5rem;
}

.dashboard-hub-hero-badge strong {
    display: block;
    font-size: 1.25rem;
    line-height: 1.25;
}

.dashboard-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.dashboard-kpi-card {
    min-height: 138px;
    padding: 18px 18px 16px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid #dbe4f0;
    box-shadow: 0 16px 32px rgba(15, 23, 42, .05);
}

.dashboard-kpi-card span {
    display: block;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: .6rem;
}

.dashboard-kpi-card strong {
    display: block;
    font-size: 1.62rem;
    line-height: 1.1;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: .55rem;
}

.dashboard-kpi-card small {
    display: block;
    color: #64748b;
    font-size: .88rem;
    line-height: 1.45;
}

.dashboard-kpi-card-primary {
    background: linear-gradient(180deg, #0f172a 0%, #1d4ed8 100%);
    border-color: transparent;
}

.dashboard-kpi-card-primary span,
.dashboard-kpi-card-primary strong,
.dashboard-kpi-card-primary small {
    color: #fff;
}

.dashboard-kpi-card-warning {
    background: linear-gradient(180deg, #fff7ed 0%, #ffffff 100%);
}

.dashboard-kpi-card-info {
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
}

.sales-history-kpi-row.dashboard-history-kpis {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .55rem;
    margin-bottom: 18px;
}

.dashboard-history-kpi-card {
    min-width: 0;
}

.dashboard-history-kpis .sales-history-kpi-copy span,
.dashboard-history-kpis .sales-history-kpi-copy strong,
.dashboard-history-kpis .sales-history-kpi-copy small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dashboard-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(320px, .95fr);
    gap: 18px;
}

.dashboard-side-stack,
.dashboard-lower-grid {
    display: grid;
    gap: 18px;
}

.dashboard-lower-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-panel {
    padding: 20px 22px;
    border-radius: 28px;
    background: #fff;
    border: 1px solid #dbe4f0;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .05);
}

.dashboard-panel-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 16px;
}

.dashboard-panel-label {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: .35rem;
}

.dashboard-panel-head h3 {
    margin: 0;
    font-size: 1.18rem;
    font-weight: 800;
    color: #0f172a;
}

.dashboard-panel-link {
    white-space: nowrap;
    color: #2563eb;
    font-size: .88rem;
    font-weight: 700;
}

.dashboard-panel-head-pill {
    min-width: 150px;
    padding: 14px 16px;
    border-radius: 18px;
    background: #f8fbff;
    border: 1px solid #dbe4f0;
    text-align: right;
}

.dashboard-panel-head-pill strong {
    display: block;
    font-size: 1.1rem;
    color: #0f172a;
}

.dashboard-panel-head-pill span {
    display: block;
    color: #64748b;
    font-size: .78rem;
}

.dashboard-sales-chart {
    padding: 12px 10px 4px;
    border-radius: 22px;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    border: 1px solid #e2e8f0;
}

.dashboard-sales-chart svg {
    display: block;
    width: 100%;
    height: 250px;
}

.dashboard-sales-chart-axis {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
    padding: 0 8px 2px;
}

.dashboard-sales-chart-axis span {
    text-align: center;
    font-size: .78rem;
    font-weight: 700;
    color: #64748b;
}

.dashboard-sales-chart-summary {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.dashboard-sales-day-card {
    padding: 12px 10px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    text-align: center;
}

.dashboard-sales-day-card span,
.dashboard-sales-day-card small {
    display: block;
    color: #64748b;
    font-size: .75rem;
}

.dashboard-sales-day-card strong {
    display: block;
    margin: .22rem 0;
    color: #0f172a;
    font-size: .98rem;
}

.dashboard-sunat-health {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 15px 16px;
    border-radius: 20px;
    margin-bottom: 14px;
}

.dashboard-sunat-health-success { background: #ecfdf5; color: #166534; }
.dashboard-sunat-health-warning { background: #fff7ed; color: #b45309; }
.dashboard-sunat-health-danger { background: #fef2f2; color: #b91c1c; }
.dashboard-sunat-health-secondary { background: #f8fafc; color: #475569; }

.dashboard-sunat-health-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.7);
    font-size: 1.05rem;
    flex-shrink: 0;
}

.dashboard-sunat-health strong,
.dashboard-sunat-health p {
    margin: 0;
}

.dashboard-sunat-health p {
    font-size: .85rem;
    line-height: 1.5;
    opacity: .9;
    margin-top: .2rem;
}

.dashboard-mini-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.dashboard-mini-stats div,
.dashboard-cash-grid div {
    padding: 12px 14px;
    border-radius: 18px;
    background: #f8fbff;
    border: 1px solid #dbe4f0;
}

.dashboard-mini-stats span,
.dashboard-cash-grid span {
    display: block;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: .35rem;
}

.dashboard-mini-stats strong,
.dashboard-cash-grid strong {
    display: block;
    font-size: 1rem;
    color: #0f172a;
}

.dashboard-status-list,
.dashboard-alert-list,
.dashboard-activity-list,
.dashboard-rank-list {
    display: grid;
    gap: 10px;
}

.dashboard-status-item,
.dashboard-alert-item,
.dashboard-activity-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 13px 14px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.dashboard-status-item strong,
.dashboard-alert-item strong,
.dashboard-activity-item strong {
    display: block;
    color: #0f172a;
}

.dashboard-status-item span,
.dashboard-alert-item span,
.dashboard-activity-item span,
.dashboard-status-item small,
.dashboard-alert-item small,
.dashboard-activity-item small {
    display: block;
    color: #64748b;
    font-size: .82rem;
}

.dashboard-status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .28rem .72rem;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 800;
    margin-bottom: .25rem;
}

.dashboard-status-chip-aceptado { background: #dcfce7; color: #166534; }
.dashboard-status-chip-pendiente,
.dashboard-status-chip-generado,
.dashboard-status-chip-firmado,
.dashboard-status-chip-enviado { background: #dbeafe; color: #1d4ed8; }
.dashboard-status-chip-rechazado,
.dashboard-status-chip-error { background: #fee2e2; color: #b91c1c; }

.dashboard-cash-open-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 13px 15px;
    border-radius: 18px;
    background: linear-gradient(180deg, #dcfce7 0%, #ecfdf5 100%);
    color: #166534;
    margin-bottom: 14px;
}

.dashboard-cash-open-banner-muted {
    background: linear-gradient(180deg, #eff6ff 0%, #f8fafc 100%);
    color: #334155;
}

.dashboard-cash-open-banner span,
.dashboard-cash-open-banner strong {
    margin: 0;
}

.dashboard-cash-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.dashboard-active-boxes-panel {
    margin-bottom: 24px;
}

.dashboard-active-boxes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}

.dashboard-active-box-card {
    border: 1px solid #dbe4f0;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    padding: 16px 18px;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}

.dashboard-active-box-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 12px;
}

.dashboard-active-box-badge {
    display: inline-flex;
    align-items: center;
    padding: .32rem .72rem;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: .5rem;
}

.dashboard-active-box-top strong,
.dashboard-active-box-top small {
    display: block;
}

.dashboard-active-box-top strong {
    font-size: 1rem;
    color: #0f172a;
}

.dashboard-active-box-top small {
    margin-top: .2rem;
    color: #64748b;
    font-size: .82rem;
}

.dashboard-active-box-total {
    flex-shrink: 0;
    padding: .55rem .8rem;
    border-radius: 16px;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 800;
    font-size: .95rem;
}

.dashboard-active-box-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.dashboard-active-box-stats div {
    padding: 11px 12px;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

.dashboard-active-box-stats span,
.dashboard-active-box-footer span {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #64748b;
}

.dashboard-active-box-stats strong {
    display: block;
    margin-top: .35rem;
    color: #0f172a;
    font-size: .96rem;
}

.dashboard-active-box-footer {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e2e8f0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.dashboard-active-box-footer a {
    color: #2563eb;
    font-weight: 700;
    text-decoration: none;
}

.dashboard-empty-note {
    padding: 16px 18px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    color: #64748b;
}

.dashboard-rank-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #eef2f7;
}

.dashboard-rank-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.dashboard-rank-index {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 800;
    flex-shrink: 0;
}

.dashboard-rank-main {
    flex: 1;
    min-width: 0;
}

.dashboard-rank-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.dashboard-rank-head strong {
    display: block;
    min-width: 0;
}

.dashboard-rank-head span,
.dashboard-rank-main small {
    color: #64748b;
    font-size: .82rem;
}

.dashboard-rank-bar {
    width: 100%;
    height: 9px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
    margin-bottom: 8px;
}

.dashboard-rank-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #1d4ed8 0%, #38bdf8 100%);
}

.dashboard-payment-grid {
    display: grid;
    gap: 10px;
}

.dashboard-payment-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 13px 14px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.dashboard-payment-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1rem;
}

.dashboard-payment-copy strong,
.dashboard-payment-copy span {
    display: block;
}

.dashboard-payment-copy span {
    color: #64748b;
    font-size: .82rem;
}

.dashboard-payment-total {
    font-weight: 800;
    color: #0f172a;
    white-space: nowrap;
}

.dashboard-activity-item {
    align-items: flex-start;
}

.dashboard-activity-dot {
    width: 11px;
    height: 11px;
    border-radius: 999px;
    margin-top: .42rem;
    flex-shrink: 0;
}

.dashboard-activity-dot-success { background: #16a34a; }
.dashboard-activity-dot-info { background: #2563eb; }
.dashboard-activity-dot-warning { background: #f59e0b; }
.dashboard-activity-dot-danger { background: #dc2626; }

.dashboard-activity-copy {
    flex: 1;
    min-width: 0;
}

.dashboard-activity-meta {
    text-align: right;
    white-space: nowrap;
}

.admin-dashboard-redesign {
    display: grid;
    gap: 18px;
}

.dashboard-date-filter {
    align-items: center;
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 9px;
    justify-content: flex-end;
    width: max-content;
    max-width: 100%;
}

.dashboard-date-filter-field {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dde6f1;
    border-radius: 8px;
    display: inline-flex;
    gap: 8px;
    height: 38px;
    padding: 0 10px;
}

.dashboard-date-filter-field i {
    color: #0d6efd;
    font-size: .9rem;
}

.dashboard-date-filter-field span {
    color: #64748b;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.dashboard-date-filter-field input,
.dashboard-date-filter-field select {
    background: transparent;
    border: 0;
    color: #111827;
    font-size: .86rem;
    font-weight: 800;
    height: 34px;
    outline: 0;
}

.dashboard-date-filter-field input[type="date"] {
    width: 128px;
}

.dashboard-date-filter-field select {
    max-width: 220px;
    min-width: 160px;
}

.dashboard-date-filter-branch {
    max-width: 220px;
}

.dashboard-date-filter-today {
    align-items: center;
    background: #10b981;
    border-radius: 8px;
    color: #ffffff;
    display: inline-flex;
    font-size: .84rem;
    font-weight: 900;
    height: 38px;
    justify-content: center;
    padding: 0 16px;
    text-decoration: none;
}

.dashboard-date-filter-today:hover,
.dashboard-date-filter-today:focus {
    color: #ffffff;
    text-decoration: none;
}

@media (max-width: 991.98px) {
    .dashboard-date-filter {
        flex-wrap: wrap;
        justify-content: flex-start;
        width: 100%;
    }
}

.admin-dashboard-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.admin-dashboard-kpi,
.admin-dashboard-card {
    background: #ffffff;
    border: 1px solid #dde6f1;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .045);
}

.admin-dashboard-kpi {
    min-width: 0;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    min-height: 98px;
    padding: 15px 16px;
}

.admin-dashboard-kpi-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.admin-dashboard-kpi small,
.admin-dashboard-kpi strong,
.admin-dashboard-kpi em {
    display: block;
    min-width: 0;
}

.admin-dashboard-kpi small {
    color: #334155;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.admin-dashboard-kpi strong {
    color: #111827;
    font-size: 1.42rem;
    font-weight: 900;
    line-height: 1.18;
    margin-top: .22rem;
}

.admin-dashboard-period-sales-kpi {
    align-items: center;
}

.admin-dashboard-period-sales-kpi .admin-dashboard-kpi-icon {
    flex: 0 0 auto;
}

.admin-dashboard-period-sales-content {
    min-width: 0;
    flex: 1;
    overflow: hidden;
}

.content-wrapper .admin-dashboard-period-sales-kpi .admin-dashboard-period-sales-value {
    display: inline-block;
    width: 100%;
    max-width: 100%;
    flex-shrink: 0;
    color: #111827;
    font-size: clamp(18px, 1.25vw, 22px);
    font-weight: 700;
    line-height: 1.05;
    white-space: nowrap;
    letter-spacing: 0;
}

.admin-dashboard-kpi em {
    color: #64748b;
    font-size: .72rem;
    font-style: normal;
    font-weight: 700;
    margin-top: .28rem;
}

.admin-dashboard-kpi.is-orange .admin-dashboard-kpi-icon { background: #fff1e7; color: #ff6b00; }
.admin-dashboard-kpi.is-green .admin-dashboard-kpi-icon { background: #eafaf2; color: #10b981; }
.admin-dashboard-kpi.is-blue .admin-dashboard-kpi-icon { background: #e8f3ff; color: #0d6efd; }
.admin-dashboard-kpi.is-purple .admin-dashboard-kpi-icon { background: #f0e8ff; color: #7c3aed; }
.admin-dashboard-kpi.is-red .admin-dashboard-kpi-icon { background: #ffe9ea; color: #ef4444; }

.admin-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: 18px;
}

.admin-dashboard-lower {
    display: grid;
    grid-template-columns: minmax(280px, .92fr) minmax(360px, 1.02fr) minmax(330px, 1fr);
    gap: 18px;
}

.admin-dashboard-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr);
    gap: 18px;
}

.admin-dashboard-summary-column,
.admin-dashboard-stack {
    display: grid;
    gap: 18px;
}

.admin-dashboard-card {
    min-width: 0;
    padding: 18px 20px;
}

.admin-dashboard-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.admin-dashboard-card-head.is-tight {
    margin-top: 2px;
    margin-bottom: 10px;
}

.admin-dashboard-card-head h3 {
    color: #111827;
    font-size: .98rem;
    font-weight: 900;
    line-height: 1.22;
    margin: 0;
}

.admin-dashboard-card-head span,
.admin-dashboard-card-head a {
    color: #64748b;
    display: block;
    font-size: .78rem;
    font-weight: 700;
    margin-top: .25rem;
}

.admin-dashboard-card-head a {
    color: #ff6b00;
    margin-top: 0;
    text-decoration: none;
    white-space: nowrap;
}

.admin-dashboard-period {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    color: #334155;
    display: inline-flex !important;
    font-size: .74rem !important;
    font-weight: 800 !important;
    height: 30px;
    justify-content: center;
    margin-top: 0 !important;
    min-width: 54px;
    padding: 0 .7rem;
}

.admin-dashboard-line-chart {
    min-height: 286px;
}

.admin-dashboard-line-chart svg {
    display: block;
    width: 100%;
    height: 250px;
}

.admin-dashboard-line-chart line {
    stroke: #dbe4f0;
    stroke-dasharray: 5 7;
}

.admin-dashboard-line-chart polyline {
    fill: none;
    stroke: #ff6b00;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 4;
}

.admin-dashboard-line-chart circle {
    fill: #ffffff;
    stroke: #ff6b00;
    stroke-width: 3;
}

.admin-dashboard-axis {
    display: grid;
    gap: 5px;
    padding: 0 4px;
}

.admin-dashboard-axis span {
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
}

.admin-dashboard-donut-wrap {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: 180px minmax(0, 1fr);
}

.admin-dashboard-donut-wrap.is-compact {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
}

.admin-dashboard-donut-wrap.is-compact .admin-dashboard-legend {
    display: grid;
    grid-template-columns: 10px max-content max-content 48px;
    align-items: center;
    justify-content: center;
    column-gap: 10px;
    row-gap: 8px;
    width: 100%;
    max-width: 100%;
}

.admin-dashboard-donut-wrap.is-compact .admin-dashboard-legend div {
    display: contents;
}

.admin-dashboard-donut-wrap.is-compact .admin-dashboard-legend span {
    overflow: visible;
    text-overflow: unset;
    white-space: nowrap;
}

.admin-dashboard-donut {
    border-radius: 50%;
    display: grid;
    height: 180px;
    place-items: center;
    position: relative;
    width: 180px;
}

.admin-dashboard-donut.is-small {
    height: 150px;
    width: 150px;
}

.admin-dashboard-donut::after {
    background: #ffffff;
    border-radius: 50%;
    content: "";
    inset: 36px;
    position: absolute;
}

.admin-dashboard-donut.is-small::after {
    inset: 30px;
}

.admin-dashboard-donut > div {
    position: relative;
    text-align: center;
    z-index: 1;
}

.admin-dashboard-donut small,
.admin-dashboard-donut strong {
    display: block;
}

.admin-dashboard-donut small {
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
}

.admin-dashboard-donut strong {
    color: #111827;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.2;
}

.admin-dashboard-legend {
    display: grid;
    gap: 11px;
    min-width: 0;
}

.admin-dashboard-legend div {
    align-items: center;
    display: grid;
    gap: 9px;
    grid-template-columns: 10px minmax(0, 1fr) auto 44px;
}

.admin-dashboard-legend i {
    border-radius: 999px;
    height: 10px;
    width: 10px;
}

.admin-dashboard-legend span,
.admin-dashboard-legend strong,
.admin-dashboard-legend em {
    color: #334155;
    font-size: .75rem;
    font-style: normal;
    font-weight: 800;
    min-width: 0;
}

.admin-dashboard-legend span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-dashboard-legend strong {
    color: #111827;
    text-align: right;
    white-space: nowrap;
}

.admin-dashboard-legend em {
    color: #64748b;
    text-align: right;
}

.admin-dashboard-products {
    display: grid;
    gap: 8px;
}

.admin-dashboard-products-head,
.admin-dashboard-product-row {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 82px 92px;
    gap: 10px;
    align-items: center;
}

.admin-dashboard-products-head span {
    color: #334155;
    font-size: .72rem;
    font-weight: 900;
}

.admin-dashboard-product-row {
    border-bottom: 1px solid #edf2f7;
    min-height: 38px;
    padding: 4px 0 10px;
    position: relative;
}

.admin-dashboard-product-row:last-child {
    border-bottom: 0;
}

.admin-dashboard-product-row span,
.admin-dashboard-product-row strong {
    color: #111827;
    font-size: .76rem;
    font-weight: 800;
    min-width: 0;
}

.admin-dashboard-product-row strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-dashboard-product-row i {
    background: linear-gradient(90deg, #ff6b00, #ffb36b);
    border-radius: 999px;
    bottom: 4px;
    height: 3px;
    left: 38px;
    max-width: calc(100% - 232px);
    position: absolute;
}

.admin-dashboard-cash-state {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-dashboard-cash-state div {
    border-radius: 8px;
    min-width: 0;
    padding: 13px 12px;
}

.admin-dashboard-cash-state i,
.admin-dashboard-cash-state span,
.admin-dashboard-cash-state strong,
.admin-dashboard-cash-state em {
    display: block;
}

.admin-dashboard-cash-state i {
    font-size: 1rem;
    margin-bottom: .35rem;
}

.admin-dashboard-cash-state span {
    color: #334155;
    font-size: .72rem;
    font-weight: 900;
}

.admin-dashboard-cash-state strong {
    color: #111827;
    font-size: 1.24rem;
    font-weight: 900;
    line-height: 1.12;
}

.admin-dashboard-cash-state em {
    font-size: .7rem;
    font-style: normal;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-dashboard-cash-state .is-open { background: #ecfdf5; color: #059669; }
.admin-dashboard-cash-state .is-process { background: #fff7ed; color: #f59e0b; }
.admin-dashboard-cash-state .is-closed { background: #f8fafc; color: #64748b; }

.admin-dashboard-alerts {
    display: grid;
    gap: 8px;
}

.admin-dashboard-alerts div {
    align-items: center;
    border-top: 1px solid #eef2f7;
    display: grid;
    gap: 10px;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    min-height: 38px;
    padding-top: 8px;
}

.admin-dashboard-alerts i {
    color: #ff6b00;
}

.admin-dashboard-alerts span,
.admin-dashboard-alerts a {
    font-size: .76rem;
    font-weight: 800;
}

.admin-dashboard-alerts span {
    color: #334155;
    min-width: 0;
}

.admin-dashboard-alerts a {
    color: #ff6b00;
    text-decoration: none;
}

.admin-dashboard-table {
    min-width: 780px;
}

.admin-dashboard-recent-sales {
    overflow-x: auto;
}

.admin-dashboard-table-head,
.admin-dashboard-table-row {
    display: grid;
    grid-template-columns: 62px 1fr 74px 118px 1.1fr 86px 112px 92px;
    gap: 10px;
    align-items: center;
}

.admin-dashboard-table-head {
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 9px;
}

.admin-dashboard-table-head span {
    color: #334155;
    font-size: .68rem;
    font-weight: 900;
}

.admin-dashboard-table-row {
    border-bottom: 1px solid #edf2f7;
    min-height: 42px;
}

.admin-dashboard-table-row:last-child {
    border-bottom: 0;
}

.admin-dashboard-table-row span,
.admin-dashboard-table-row strong,
.admin-dashboard-table-row em {
    color: #334155;
    font-size: .74rem;
    font-style: normal;
    font-weight: 800;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-dashboard-table-row strong {
    color: #111827;
}

.admin-dashboard-table-row em {
    background: #dcfce7;
    border-radius: 999px;
    color: #15803d;
    justify-self: start;
    padding: .22rem .55rem;
}

.admin-dashboard-summary {
    display: grid;
    gap: 9px;
}

.admin-dashboard-summary div {
    align-items: center;
    border-bottom: 1px solid #edf2f7;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    min-height: 35px;
}

.admin-dashboard-summary div:last-child {
    border-bottom: 0;
}

.admin-dashboard-summary span,
.admin-dashboard-summary strong {
    color: #334155;
    font-size: .78rem;
    font-weight: 800;
}

.admin-dashboard-summary strong {
    color: #111827;
    white-space: nowrap;
}

.admin-dashboard-summary .is-total {
    margin-top: 3px;
}

.admin-dashboard-summary .is-total strong {
    color: #10b981;
    font-size: 1rem;
}

.admin-dashboard-goal {
    align-items: center;
    display: grid;
    justify-items: center;
}

.admin-dashboard-goal-ring {
    align-items: center;
    background: conic-gradient(#10b981 0deg var(--goal-angle), #e2e8f0 var(--goal-angle) 360deg);
    border-radius: 50%;
    display: flex;
    height: 128px;
    justify-content: center;
    margin-bottom: 12px;
    position: relative;
    width: 128px;
}

.admin-dashboard-goal-ring::after {
    background: #ffffff;
    border-radius: 50%;
    content: "";
    inset: 18px;
    position: absolute;
}

.admin-dashboard-goal-ring strong {
    color: #111827;
    font-size: 1.55rem;
    font-weight: 900;
    position: relative;
    z-index: 1;
}

.admin-dashboard-goal span {
    color: #334155;
    font-size: .76rem;
    font-weight: 800;
}

@media (max-width: 1320px) {
    .admin-dashboard-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-dashboard-grid,
    .admin-dashboard-lower,
    .admin-dashboard-bottom {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .admin-dashboard-kpis,
    .admin-dashboard-cash-state {
        grid-template-columns: 1fr;
    }

    .admin-dashboard-donut-wrap,
    .admin-dashboard-donut-wrap.is-compact {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .admin-dashboard-card-head {
        flex-direction: column;
    }

    .admin-dashboard-product-row i {
        max-width: calc(100% - 190px);
    }
}
.sunat-console {
    display: grid;
    gap: 1rem;
}
.sunat-console-hero {
    overflow: hidden;
    border-radius: 1.15rem;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .06);
}
.sunat-console-hero .card-body {
    padding: 1.35rem;
}
.sunat-console-hero-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}
.sunat-console-badge {
    display: inline-flex;
    align-items: center;
    padding: .38rem .8rem;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: .85rem;
}
.sunat-console-title {
    font-size: 1.95rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: .45rem;
}
.sunat-console-copy,
.sunat-console-section-copy,
.sunat-console-form-copy {
    color: #475569;
    line-height: 1.6;
}
.sunat-console-toolbar {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    margin-top: 1.1rem;
}
.sunat-console-toolbar-btn,
.sunat-console-inline-btn {
    border-radius: .85rem;
    font-weight: 700;
}
.sunat-console-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    min-width: min(100%, 470px);
}
.sunat-console-stat {
    border: 1px solid #dbe4f0;
    border-radius: 1rem;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    padding: .95rem 1rem;
}
.sunat-console-stat span {
    display: block;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #64748b;
    margin-bottom: .25rem;
}
.sunat-console-stat strong {
    display: block;
    font-size: 1.6rem;
    line-height: 1;
    color: #0f172a;
}
.sunat-console-stat-success {
    border-color: #bbf7d0;
    background: linear-gradient(180deg, #f0fdf4 0%, #fff 100%);
}
.sunat-console-stat-warning {
    border-color: #fde68a;
    background: linear-gradient(180deg, #fffbeb 0%, #fff 100%);
}
.sunat-console-stat-danger {
    border-color: #fecdd3;
    background: linear-gradient(180deg, #fff1f2 0%, #fff 100%);
}
.sunat-console-card {
    border-radius: 1.05rem;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .05);
}
.sunat-console-header-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}
.sunat-console-filter {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .42rem .55rem;
    border: 1px solid #dbe4f0;
    border-radius: .85rem;
    background: #f8fafc;
}
.sunat-console-filter label {
    color: #334155;
    font-size: .8rem;
    font-weight: 700;
    white-space: nowrap;
}
.sunat-console-filter .form-control {
    min-width: 168px;
    border-radius: .7rem;
    font-weight: 700;
}
.sunat-console-modal {
    border: 0;
    border-radius: 1.15rem;
    overflow: hidden;
    box-shadow: 0 24px 48px rgba(15, 23, 42, .18);
}
.sunat-console-modal .modal-header,
.sunat-console-modal .modal-footer {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.sunat-console-modal .modal-body {
    padding: 1.1rem 1.25rem 1.25rem;
}
.sunat-console-readonly {
    height: auto;
    min-height: calc(1.5em + .75rem + 2px);
    display: flex;
    align-items: center;
    border-radius: .75rem;
    background: #f8fafc;
    color: #0f172a;
    font-weight: 700;
}
.sunat-queue-preview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
    margin-bottom: 1rem;
}
.sunat-queue-preview-item {
    border: 1px solid #dbe4f0;
    border-radius: .9rem;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    padding: .8rem .9rem;
}
.sunat-queue-preview-item span {
    display: block;
    color: #64748b;
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: .24rem;
}
.sunat-queue-preview-item strong {
    display: block;
    color: #0f172a;
    font-size: .96rem;
    line-height: 1.25;
}
.sunat-console-modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .6rem;
    flex-wrap: wrap;
}
.sunat-console-info-list {
    display: grid;
    gap: .65rem;
}
.sunat-console-info-item {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
    padding: .72rem .8rem;
    border: 1px solid #e2e8f0;
    border-radius: .85rem;
    background: #f8fafc;
}
.sunat-console-info-item span {
    color: #64748b;
    font-size: .82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.sunat-console-info-item strong {
    color: #0f172a;
    text-align: right;
    word-break: break-word;
}
.sunat-monitor-table-wrap {
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    overflow: hidden;
}
.sunat-monitor-table {
    margin-bottom: 0;
}
.sunat-monitor-table thead th {
    white-space: nowrap;
    border-top: 0;
    border-bottom: 0;
    background: #1b365d;
    color: #fff;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.sunat-monitor-table tbody td {
    vertical-align: top;
    padding: 1rem .9rem;
    border-color: #edf2f7;
}
.sunat-doc-main {
    display: grid;
    gap: .35rem;
    min-width: 220px;
}
.sunat-doc-main strong {
    color: #0f172a;
    font-size: .98rem;
}
.sunat-doc-main span {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    color: #64748b;
    font-size: .83rem;
}
.sunat-status-chip {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .46rem .8rem;
    border-radius: 999px;
    font-weight: 800;
    font-size: .8rem;
    white-space: nowrap;
}
.sunat-status-chip-success { background: #dcfce7; color: #166534; }
.sunat-status-chip-info { background: #dbeafe; color: #1d4ed8; }
.sunat-status-chip-primary,
.sunat-status-chip-indigo { background: #e0e7ff; color: #4338ca; }
.sunat-status-chip-warning { background: #fef3c7; color: #92400e; }
.sunat-status-chip-danger { background: #fee2e2; color: #b91c1c; }
.sunat-status-chip-secondary { background: #e2e8f0; color: #475569; }
.sunat-status-meta {
    display: grid;
    gap: .25rem;
    margin-top: .55rem;
    color: #64748b;
    font-size: .8rem;
}
.sunat-status-meta strong {
    color: #0f172a;
}
.sunat-file-links {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
    min-width: 170px;
}
.sunat-file-pill {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    padding: .44rem .72rem;
    border-radius: 999px;
    border: 1px solid #dbe4f0;
    background: #fff;
    color: #1e293b;
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none !important;
}
.sunat-file-pill:hover {
    color: #1d4ed8;
    border-color: #93c5fd;
    background: #eff6ff;
}
.sunat-file-pill-primary {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}
.sunat-response-box {
    display: grid;
    gap: .4rem;
    min-width: 220px;
}
.sunat-response-box strong {
    color: #0f172a;
    font-size: .9rem;
}
.sunat-response-box span {
    color: #64748b;
    font-size: .82rem;
    line-height: 1.5;
}
.sunat-response-box code {
    display: block;
    padding: .6rem .72rem;
    border-radius: .75rem;
    background: #0f172a;
    color: #cbd5e1;
    font-size: .74rem;
    word-break: break-all;
}
.sunat-action-stack {
    display: grid;
    gap: .45rem;
    min-width: 154px;
}
.sunat-action-stack .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .75rem;
    font-weight: 700;
    white-space: nowrap;
}
.sunat-action-hint {
    display: block;
    margin-top: .1rem;
    color: #64748b;
    font-size: .78rem;
    line-height: 1.45;
    text-align: left;
}
.sunat-row-spotlight {
    animation: sunatRowSpotlight 2.2s ease;
}
@keyframes sunatRowSpotlight {
    0% { box-shadow: inset 0 0 0 9999px rgba(59, 130, 246, .18); }
    55% { box-shadow: inset 0 0 0 9999px rgba(59, 130, 246, .1); }
    100% { box-shadow: inset 0 0 0 9999px rgba(59, 130, 246, 0); }
}
@media (max-width: 1199.98px) {
    .sunat-console-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        min-width: 100%;
    }
}
@media (max-width: 767.98px) {
    .sunat-console-title {
        font-size: 1.45rem;
    }
    .sunat-console-summary {
        grid-template-columns: 1fr 1fr;
    }
    .sunat-console-toolbar,
    .sunat-console-header-actions,
    .sunat-console-modal-footer {
        flex-direction: column;
        align-items: stretch;
    }
    .sunat-queue-preview {
        grid-template-columns: 1fr;
    }
    .sunat-console-info-item {
        grid-template-columns: 1fr;
    }
    .sunat-console-info-item strong {
        text-align: left;
    }
}

.sunat-console.sales-history-page {
    display: grid;
    gap: .8rem;
}

.sunat-console-page-header {
    align-items: center;
    gap: .75rem;
}

.sunat-console-top-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .45rem;
    flex-wrap: wrap;
}

.sunat-console-top-actions .btn,
.sunat-console-filter-actions .btn {
    width: auto;
    flex: 0 0 auto;
    min-height: 30px;
    padding: .28rem .7rem;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: 0;
    white-space: nowrap;
}

.sunat-console-top-actions .btn {
    min-height: 32px;
    min-width: 104px;
}

.sunat-console-filter-actions .btn {
    min-width: 96px;
}

.sunat-console-filter-card.card,
.sunat-console-card.card {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}

.sunat-console-filter-card .card-header,
.sunat-console-card .card-header {
    padding: .65rem .8rem;
    background: #fff;
    border-bottom: 1px solid #edf1f6;
}

.sunat-console-filter-card .card-header .card-title,
.sunat-console-card .card-header .card-title {
    margin: 0;
    font-size: .9rem;
    font-weight: 900;
    color: #0f172a;
}

.sunat-console-filter-card .card-body {
    padding: .6rem .7rem .7rem;
}

.sunat-console-card .card-body {
    padding: .75rem .8rem .85rem;
}

.sunat-console-filter-row {
    display: grid;
    grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
    gap: .6rem;
    align-items: end;
}

.sunat-console-filter-row label {
    margin-bottom: .25rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.sunat-console-filter-row .form-control {
    height: 30px;
    border-color: #dbe4f0;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 700;
}

.sunat-console-filter-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .4rem;
    flex-wrap: wrap;
}

.sunat-console-filter-row > .sunat-console-filter-actions .btn {
    width: auto;
    min-width: 104px;
    max-width: max-content;
}

.sunat-console-kpis.sales-history-kpi-row {
    margin: 0;
}

.sunat-monitor-table-wrap {
    border-radius: 8px;
}

.sunat-monitor-table thead th {
    border-bottom: 0;
    background: #1b365d;
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: 0;
}

.sunat-monitor-table tbody td {
    padding: .62rem .8rem;
    border-color: #edf1f6;
    font-size: .78rem;
}

.sunat-monitor-table th:nth-child(4),
.sunat-monitor-table td:nth-child(4) {
    width: 34%;
    min-width: 320px;
    max-width: 480px;
}

.sunat-doc-main {
    gap: .25rem;
}

.sunat-doc-main strong {
    font-size: .84rem;
    font-weight: 900;
}

.sunat-doc-main span {
    font-size: .74rem;
}

.sunat-status-chip {
    gap: .35rem;
    padding: .32rem .55rem;
    font-size: .68rem;
    font-weight: 900;
}

.sunat-status-meta {
    margin-top: .42rem;
    font-size: .72rem;
}

.sunat-file-links {
    gap: .35rem;
}

.sunat-file-pill {
    padding: .32rem .5rem;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 800;
}

.sunat-response-box {
    display: grid;
    gap: .28rem;
    min-width: 0;
    max-width: 100%;
}

.sunat-response-box strong {
    font-size: .78rem;
}

.sunat-response-box span {
    font-size: .74rem;
    line-height: 1.35;
}

.sunat-response-box code {
    padding: .45rem .55rem;
    border-radius: 6px;
    font-size: .68rem;
}

.sunat-response-message {
    display: -webkit-box;
    overflow: hidden;
    color: #0f172a;
    font-weight: 900;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.sunat-response-observation {
    display: block;
    overflow: hidden;
    color: #64748b;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sunat-response-hash {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: #dbeafe;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sunat-action-stack {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-width: 0;
}

.sunat-action-stack .btn {
    width: 28px;
    height: 28px;
    min-height: 28px;
    padding: 0;
    border-radius: 6px;
}

.sunat-action-hint {
    display: none;
    font-size: .7rem;
    line-height: 1.35;
    max-width: 148px;
    text-align: right;
}

.sunat-console-modal {
    border-radius: 8px;
}

.sunat-console-modal .modal-header,
.sunat-console-modal .modal-footer {
    padding-left: .95rem;
    padding-right: .95rem;
}

.sunat-console-modal .modal-body {
    padding: .85rem .95rem .95rem;
}

.sunat-queue-preview-item,
.sunat-console-info-item,
.sunat-console-readonly {
    border-radius: 8px;
}

@media (max-width: 1199.98px) {
    .sunat-console-filter-row {
        grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
    }
}

@media (max-width: 767.98px) {
    .sunat-console-page-header,
    .sunat-console-top-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .sunat-console-filter-row {
        grid-template-columns: 1fr;
    }

    .sunat-console-filter-actions {
        justify-content: flex-start;
    }
}
.settings-font-scale-box { min-height: calc(1.5em + .75rem + 2px); border: 1px solid #dbeafe; background: #f8fafc; border-radius: .65rem; padding: .7rem .9rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.settings-print-method-card { border: 1px solid #dbeafe; border-radius: .75rem; background: #f8fbff; padding: .85rem .95rem; }
.settings-print-status { min-height: 42px; border: 1px solid #e2e8f0; border-radius: .65rem; background: #fff; padding: .55rem .7rem; display: grid; grid-template-columns: 10px minmax(0, 1fr); column-gap: .55rem; align-items: center; }
.settings-print-status strong { color: #0f172a; font-size: .82rem; font-weight: 900; line-height: 1.15; }
.settings-print-status small { grid-column: 2; color: #64748b; font-size: .72rem; font-weight: 800; line-height: 1.2; }
.settings-print-status-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.settings-print-status-dot.is-success { background: #22c55e; box-shadow: 0 0 0 3px rgba(34, 197, 94, .14); }
.settings-print-status-dot.is-warning { background: #f59e0b; box-shadow: 0 0 0 3px rgba(245, 158, 11, .14); }
.settings-print-status-dot.is-danger { background: #ef4444; box-shadow: 0 0 0 3px rgba(239, 68, 68, .14); }
.settings-print-status-dot.is-secondary { background: #94a3b8; box-shadow: 0 0 0 3px rgba(148, 163, 184, .14); }
.settings-print-section { border-top: 1px solid #edf2f7; padding-top: .85rem; margin-top: .85rem; }
.settings-print-section:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.settings-print-section h4 { color: #0f172a; font-size: .82rem; font-weight: 900; margin: 0 0 .7rem; }
.settings-print-actions { gap: .45rem; }
.settings-print-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem .7rem; }
.settings-print-checks label { margin: 0; display: flex; align-items: center; gap: .45rem; color: #334155; font-size: .75rem; font-weight: 800; }
.settings-print-checks input { flex: 0 0 auto; }
@media (max-width: 767.98px) { .settings-print-checks { grid-template-columns: 1fr; } }
.credit-notes-page {
    display: grid;
    gap: .8rem;
}

.credit-notes-filter-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr));
}

.credit-notes-search-field {
    grid-column: span 4 !important;
}

.credit-notes-status-field {
    grid-column: span 2 !important;
}

.credit-notes-filter-actions {
    grid-column: span 2 !important;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: .45rem;
}

.credit-notes-kpi-row.sales-history-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.credit-notes-table-wrap {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}

.credit-notes-table td {
    white-space: normal;
}

.credit-note-doc {
    display: grid;
    gap: .18rem;
    min-width: 132px;
}

.credit-note-doc strong {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
    line-height: 1.2;
}

.credit-note-doc span,
.credit-note-items-count {
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
}

.credit-note-client {
    display: block;
    max-width: 170px;
    overflow: hidden;
    color: #0f172a;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.credit-note-reason {
    display: grid;
    gap: .18rem;
    min-width: 160px;
    max-width: 260px;
}

.credit-note-reason span {
    width: max-content;
    padding: .12rem .38rem;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #f8fafc;
    color: #475569;
    font-size: .68rem;
    font-weight: 900;
}

.credit-note-reason strong {
    display: -webkit-box;
    overflow: hidden;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.credit-note-total {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
    white-space: nowrap;
}

.credit-note-status,
.credit-note-scope-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: .22rem .48rem;
    border-radius: 6px;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.credit-note-status-success {
    background: #dcfce7;
    color: #166534;
}

.credit-note-status-warning {
    background: #fef3c7;
    color: #92400e;
}

.credit-note-status-secondary {
    background: #e2e8f0;
    color: #475569;
}

.credit-note-scope-total {
    background: #dbeafe;
    color: #1d4ed8;
}

.credit-note-scope-partial {
    background: #cffafe;
    color: #0f766e;
}

.credit-notes-table-actions .btn {
    width: 28px;
    height: 28px;
    padding: 0;
    border-radius: 6px;
}

.credit-note-dialog {
    max-width: 1040px;
}

.credit-note-modal-subtitle {
    color: #64748b;
    font-size: .76rem;
    font-weight: 700;
}

.credit-note-modal-body label {
    margin-bottom: .25rem;
    color: #475569;
    font-size: .72rem;
    font-weight: 800;
}

.credit-note-modal-body .form-control {
    border-color: #dbe4f0;
    border-radius: 6px;
    font-size: .8rem;
    font-weight: 700;
}

.credit-note-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.credit-note-scope-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
}

.credit-note-scope-option {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    margin: 0;
    padding: .68rem .75rem;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
}

.credit-note-scope-option strong,
.credit-note-scope-option small {
    display: block;
}

.credit-note-scope-option strong {
    color: #0f172a;
    font-size: .8rem;
    font-weight: 900;
}

.credit-note-scope-option small {
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
}

.credit-note-sale-preview {
    margin-bottom: .85rem;
    padding: .72rem .8rem;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: .78rem;
    font-weight: 800;
}

.credit-note-items-card.card {
    margin-bottom: .85rem;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    box-shadow: none;
}

.credit-note-items-card .card-header {
    min-height: 34px;
    padding: .5rem .65rem;
    background: #fff;
    border-bottom: 1px solid #edf1f6;
}

.credit-note-items-card .card-title {
    margin: 0;
    color: #0f172a;
    font-size: .86rem;
    font-weight: 900;
}

.credit-note-items-card .card-body {
    padding: 0;
}

.credit-note-items-table .form-control-sm {
    height: 28px;
    padding: .15rem .35rem;
    font-size: .74rem;
}

@media (max-width: 991.98px) {
    .credit-notes-search-field,
    .credit-notes-status-field,
    .credit-notes-filter-actions {
        grid-column: span 10 !important;
    }

    .credit-notes-kpi-row.sales-history-kpi-row,
    .credit-note-form-grid,
    .credit-note-scope-options {
        grid-template-columns: 1fr;
    }
}
.debit-notes-page {
    display: grid;
    gap: .8rem;
}

.debit-notes-filter-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr));
}

.debit-notes-search-field {
    grid-column: span 4 !important;
}

.debit-notes-status-field {
    grid-column: span 2 !important;
}

.debit-notes-filter-actions {
    grid-column: span 2 !important;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: .45rem;
}

.debit-notes-kpi-row.sales-history-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.debit-notes-table-wrap {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}

.debit-note-doc {
    display: grid;
    gap: .18rem;
    min-width: 132px;
}

.debit-note-doc strong {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
    line-height: 1.2;
}

.debit-note-doc span,
.debit-note-reason small {
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
}

.debit-note-client {
    display: block;
    max-width: 170px;
    overflow: hidden;
    color: #0f172a;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.debit-note-reason {
    display: grid;
    gap: .18rem;
    min-width: 170px;
    max-width: 280px;
}

.debit-note-reason span {
    width: max-content;
    padding: .12rem .38rem;
    border: 1px solid #fecaca;
    border-radius: 6px;
    background: #fff5f5;
    color: #dc2626;
    font-size: .68rem;
    font-weight: 900;
}

.debit-note-reason strong {
    display: -webkit-box;
    overflow: hidden;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.debit-note-total {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
    white-space: nowrap;
}

.debit-note-status {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: .22rem .48rem;
    border-radius: 6px;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.debit-note-status-success {
    background: #dcfce7;
    color: #166534;
}

.debit-note-status-warning {
    background: #fef3c7;
    color: #92400e;
}

.debit-note-status-secondary {
    background: #e2e8f0;
    color: #475569;
}

.debit-note-dialog {
    max-width: 920px;
}

.debit-note-modal-subtitle {
    color: #64748b;
    font-size: .76rem;
    font-weight: 700;
}

.debit-note-modal-body label {
    margin-bottom: .25rem;
    color: #475569;
    font-size: .72rem;
    font-weight: 800;
}

.debit-note-modal-body .form-control {
    border-color: #dbe4f0;
    border-radius: 6px;
    font-size: .8rem;
    font-weight: 700;
}

.debit-note-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.debit-note-sale-preview {
    margin-bottom: .85rem;
    padding: .72rem .8rem;
    border: 1px solid #fde68a;
    border-radius: 8px;
    background: #fffbeb;
    color: #92400e;
    font-size: .78rem;
    font-weight: 800;
}

@media (max-width: 991.98px) {
    .debit-notes-search-field,
    .debit-notes-status-field,
    .debit-notes-filter-actions {
        grid-column: span 10 !important;
    }

    .debit-notes-kpi-row.sales-history-kpi-row,
    .debit-note-form-grid {
        grid-template-columns: 1fr;
    }
}
.dispatch-guides-page {
    display: grid;
    gap: .8rem;
}

.dispatch-guides-filter-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr));
}

.dispatch-guides-search-field {
    grid-column: span 4 !important;
}

.dispatch-guides-status-field,
.dispatch-guides-sunat-field {
    grid-column: span 2 !important;
}

.dispatch-guides-filter-actions {
    grid-column: span 2 !important;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: .45rem;
}

.dispatch-guides-kpi-row.sales-history-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dispatch-guides-table-wrap {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}

.dispatch-guide-doc {
    display: grid;
    gap: .18rem;
    min-width: 132px;
}

.dispatch-guide-doc strong {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
    line-height: 1.2;
}

.dispatch-guide-doc span,
.dispatch-guide-date {
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
}

.dispatch-guide-client {
    display: block;
    max-width: 170px;
    overflow: hidden;
    color: #0f172a;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dispatch-guide-transfer {
    display: grid;
    gap: .18rem;
    min-width: 118px;
}

.dispatch-guide-transfer span {
    width: max-content;
    max-width: 150px;
    padding: .12rem .38rem;
    overflow: hidden;
    border: 1px solid #bae6fd;
    border-radius: 6px;
    background: #f0f9ff;
    color: #0369a1;
    font-size: .68rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dispatch-guide-transfer strong {
    color: #0f172a;
    font-size: .74rem;
    font-weight: 800;
}

.dispatch-guide-route {
    display: grid;
    gap: .22rem;
    min-width: 220px;
    max-width: 360px;
}

.dispatch-guide-route span {
    display: -webkit-box;
    overflow: hidden;
    color: #475569;
    font-size: .73rem;
    font-weight: 700;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.dispatch-guide-route strong {
    color: #0f172a;
    font-weight: 900;
}

.dispatch-guide-status,
.dispatch-guide-sunat-badge,
.dispatch-guide-route-chip {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: .22rem .48rem;
    border-radius: 6px;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.dispatch-guide-status-success,
.dispatch-guide-sunat-success {
    background: #dcfce7;
    color: #166534;
}

.dispatch-guide-status-info,
.dispatch-guide-sunat-info {
    background: #cffafe;
    color: #0f766e;
}

.dispatch-guide-status-secondary,
.dispatch-guide-sunat-muted {
    background: #e2e8f0;
    color: #475569;
}

.dispatch-guide-sunat-warning {
    background: #fef3c7;
    color: #92400e;
}

.dispatch-guide-sunat-primary,
.dispatch-guide-route-chip {
    background: #dbeafe;
    color: #1d4ed8;
}

.dispatch-guide-sunat-danger {
    background: #fee2e2;
    color: #b91c1c;
}

.dispatch-guide-dialog {
    max-width: 1060px;
}

.dispatch-guide-modal-subtitle {
    color: #64748b;
    font-size: .76rem;
    font-weight: 700;
}

.dispatch-guide-modal-body label {
    margin-bottom: .25rem;
    color: #475569;
    font-size: .72rem;
    font-weight: 800;
}

.dispatch-guide-modal-body .form-control {
    border-color: #dbe4f0;
    border-radius: 6px;
    font-size: .8rem;
    font-weight: 700;
}

.dispatch-guide-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.dispatch-guide-form-grid-main {
    grid-template-columns: 2fr 1fr 1fr;
}

.dispatch-guide-form-grid-transport {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dispatch-guide-form-grid-notes {
    grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr);
}

.dispatch-guide-sale-preview {
    margin-bottom: .85rem;
    padding: .72rem .8rem;
    border: 1px solid #bae6fd;
    border-radius: 8px;
    background: #f0f9ff;
    color: #075985;
    font-size: .78rem;
    font-weight: 800;
}

@media (max-width: 991.98px) {
    .dispatch-guides-search-field,
    .dispatch-guides-status-field,
    .dispatch-guides-sunat-field,
    .dispatch-guides-filter-actions {
        grid-column: span 10 !important;
    }

    .dispatch-guides-kpi-row.sales-history-kpi-row,
    .dispatch-guide-form-grid,
    .dispatch-guide-form-grid-main,
    .dispatch-guide-form-grid-transport,
    .dispatch-guide-form-grid-notes {
        grid-template-columns: 1fr;
    }
}
.settings-ticket-preview-card { background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%); border: 1px solid #dbeafe; border-radius: 1rem; padding: 1rem; }
.settings-ticket-preview-shell { background: radial-gradient(circle at top, rgba(148, 163, 184, .22), transparent 35%), #cbd5e1; border-radius: 1rem; padding: 1rem; min-height: 920px; overflow: hidden; display: flex; align-items: flex-start; justify-content: center; }
.settings-ticket-preview-frame { width: 100%; min-height: 880px; height: 880px; border: 0; background: transparent; overflow: hidden; }
.settings-lock-preview { background: linear-gradient(160deg, #e8f2fb 0%, #ffffff 58%); color: #102033; border-radius: 12px; padding: 1.15rem 1.1rem 1.05rem; box-shadow: none; text-align: center; overflow: visible; }
.settings-lock-preview-logo { margin-bottom: .55rem; }
.settings-lock-preview-logo img { max-height: 36px; width: auto; object-fit: contain; }
.settings-lock-preview-name { font-weight: 800; color: #003d79; margin-bottom: .85rem; }
.settings-lock-preview-item { position: relative; width: min(100%, 260px); margin: 0 auto 1rem; background: #fff; border-radius: 4px; min-height: 48px; overflow: visible; }
.settings-lock-preview-avatar { position: absolute; left: -8px; top: -18px; width: 56px; height: 56px; border-radius: 999px; background: #fff; border: 4px solid #fff; box-shadow: 0 0 0 1px #e5e7eb; display: inline-flex; align-items: center; justify-content: center; color: #6c757d; }
.settings-lock-preview-input { display: flex; align-items: center; justify-content: space-between; margin-left: 56px; padding: .8rem .85rem; color: #adb5bd; font-size: .92rem; }
.settings-lock-preview-help { color: #6c757d; font-size: .86rem; }
.settings-lock-preview-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; text-align: left; }
.settings-lock-preview-metrics div { border-radius: 4px; background: #fff; border: 1px solid #ced4da; padding: .85rem .95rem; }
.settings-lock-preview-metrics span { display: block; font-size: .76rem; text-transform: uppercase; letter-spacing: .05em; color: #6c757d; margin-bottom: .2rem; }
.settings-lock-preview-metrics strong { display: block; font-size: 1rem; color: #343a40; }
.settings-series-header {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .15rem;
    flex-wrap: nowrap;
}
.settings-series-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: nowrap;
}
.settings-series-header .card-title {
    float: none;
    display: block;
    margin: 0;
    min-width: 0;
    white-space: nowrap;
}
.settings-series-header-btn {
    flex: 0 0 auto;
    white-space: nowrap;
}
.settings-series-subtitle {
    display: block;
    margin: 0;
    min-width: 0;
    color: #64748b;
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.settings-series-kpis .small-box {
    min-height: 118px;
    margin-bottom: .85rem;
    overflow: hidden;
}
.settings-series-kpis .small-box .icon {
    top: 10px;
    right: 12px;
    transform: none;
    font-size: 52px;
}
.settings-series-alert {
    border-radius: 1rem;
}
.settings-series-table {
    width: 100%;
    min-width: 1080px;
}
.settings-series-table thead th {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
    min-width: max-content;
}
.settings-series-sort {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #334155;
    font-weight: 700;
    line-height: inherit;
    white-space: nowrap;
    text-decoration: none !important;
    cursor: pointer;
}
.settings-series-sort:hover,
.settings-series-sort-active {
    color: #0d6efd;
}
.settings-series-table td {
    vertical-align: middle;
}
.settings-series-empty {
    border: 1px dashed #cbd5e1;
    border-radius: 1rem;
    background: #f8fafc;
}
.settings-series-pagination {
    gap: 1rem;
}
.settings-series-footer {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .95rem 1rem;
    border-radius: 1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.settings-series-modal-preview {
    border-radius: 1rem;
}
.app-lock-screen-error {
    display: none;
}
.sale-cart-row-active { box-shadow: inset 3px 0 0 #0d6efd; }
.sale-cart-row-active td { background: #eff6ff !important; }
.sale-pos-shell {
    height: calc(100vh - 9.85rem);
    min-height: calc(100vh - 9.85rem);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.sale-pos-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .45rem;
    flex-wrap: wrap;
    padding: .5rem .7rem;
}
.sale-pos-header-main {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-width: 0;
}
.sale-pos-mode-btn {
    min-height: 29px;
    padding: .18rem .56rem;
    border-radius: .46rem;
    font-size: .84rem;
    line-height: 1;
    font-weight: 700;
}
body.pos-sales-focus .sale-pos-mode-btn {
    color: #fff !important;
    border-color: #1d4ed8 !important;
    background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%) !important;
    box-shadow: 0 10px 22px rgba(37, 99, 235, .24);
}
body.pos-sales-focus .sale-pos-mode-btn:hover,
body.pos-sales-focus .sale-pos-mode-btn:focus {
    color: #fff !important;
    border-color: #1e40af !important;
    background: linear-gradient(135deg, #1e40af 0%, #1d4ed8 100%) !important;
    box-shadow: 0 12px 24px rgba(29, 78, 216, .28);
}
.sale-pos-header .card-title {
    font-size: 1.16rem;
    line-height: 1;
}
.sale-pos-header-actions {
    display: flex;
    align-items: center;
    gap: .3rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.sale-pos-header-actions .sale-product-shortcut-btn {
    min-height: 31px;
}
.sale-pos-header-actions .btn.btn-sm {
    min-height: 31px;
    padding: .24rem .58rem;
    font-size: .86rem;
    line-height: 1;
    border-radius: .42rem;
    border-color: #cbd5e1;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 6px 14px rgba(15, 23, 42, .05);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.sale-pos-header-actions .btn.btn-sm:hover,
.sale-pos-header-actions .btn.btn-sm:focus {
    border-color: #93c5fd;
    background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
    box-shadow: 0 8px 18px rgba(37, 99, 235, .12);
}
.sale-pos-header-actions .btn-outline-primary.btn-sm {
    color: #1d4ed8;
}
.sale-pos-header-actions .btn-outline-secondary.btn-sm {
    color: #475569;
}
.sale-pos-header-actions .btn-outline-dark.btn-sm,
.sale-pos-header-main .btn-outline-secondary.btn-sm {
    color: #0f172a;
}
#btnPosBrowserFullscreen.active {
    color: #fff !important;
    border-color: #0f766e !important;
    background: linear-gradient(135deg, #0f766e 0%, #10b981 100%) !important;
    box-shadow: 0 10px 22px rgba(16, 185, 129, .24);
}
#btnPosBrowserFullscreen.active:hover,
#btnPosBrowserFullscreen.active:focus {
    color: #fff !important;
    border-color: #115e59 !important;
    background: linear-gradient(135deg, #115e59 0%, #0f766e 100%) !important;
    box-shadow: 0 12px 24px rgba(15, 118, 110, .28);
}
.sale-pos-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: .72rem;
    min-height: 0;
    padding: .75rem;
    overflow: hidden;
}
.sale-pos-top {
    flex: 0 0 auto;
    position: sticky;
    top: calc(2.85rem + .55rem);
    z-index: 30;
    margin: -.75rem -.75rem 0;
    padding: .72rem .75rem .58rem;
    background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,250,252,.96) 100%);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(219, 228, 240, .9);
    box-shadow: 0 8px 16px rgba(15, 23, 42, .045);
}
.sale-pos-top .row {
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.sale-pos-top .form-group {
    margin-bottom: .45rem;
}
.sale-pos-top label {
    margin-bottom: .28rem;
    font-size: .84rem;
    line-height: 1.05;
}
.sale-pos-top .form-control {
    height: calc(1.4em + .5rem + 2px);
    padding: .28rem .65rem;
    font-size: .92rem;
}
.sale-pos-top .input-group > .btn {
    min-width: 38px;
    padding: .28rem .55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.sale-product-search-column {
    position: relative;
    z-index: 6;
}
@keyframes sale-product-search-focus-blink {
    0%, 100% {
        border-color: #15803d;
        box-shadow: 0 0 0 2px #16a34a, 0 0 0 6px rgba(22, 163, 74, .38);
    }
    50% {
        border-color: #4ade80;
        box-shadow: 0 0 0 3px #22c55e, 0 0 0 8px rgba(34, 197, 94, .16);
    }
}
#sale_product_search:focus {
    border-color: #16a34a;
    border-width: 2px;
    outline: none;
    box-shadow: 0 0 0 2px #16a34a, 0 0 0 6px rgba(22, 163, 74, .32);
    animation: sale-product-search-focus-blink .95s ease-in-out infinite;
}
.sale-client-search-column {
    position: relative;
    z-index: 6;
}
.sale-document-column {
    position: relative;
    z-index: 5;
}
@media (min-width: 992px) {
    .sale-pos-top .row {
        flex-wrap: nowrap;
        justify-content: space-between;
    }
    .sale-pos-top .sale-product-search-column.col-lg-5 {
        flex: 0 0 700px;
        max-width: 700px;
        width: 700px;
    }
    .sale-pos-top .sale-client-search-column.col-lg-3 {
        flex: 0 0 335px;
        max-width: 335px;
        width: 335px;
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
    }
    .sale-pos-top .sale-client-quick-group {
        width: 100%;
    }
    .sale-pos-top .sale-document-column.col-lg-3 {
        flex: 0 1 210px;
        max-width: 220px;
        width: auto;
        margin-left: 0;
    }
    .sale-pos-top .sale-product-shortcuts {
        width: 100%;
    }
}
.sale-invoice-customer-panel {
    margin-top: .42rem;
}
.sale-invoice-customer-card {
    border: 1px solid rgba(219, 228, 240, .95);
    border-radius: .55rem;
    background: #fff;
    padding: .5rem .7rem .55rem;
}
.sale-invoice-customer-title {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin-bottom: .38rem;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .02em;
    color: #1e3a5f;
}
.sale-invoice-customer-title i {
    color: #0d6efd;
}
.sale-invoice-ruc-group .btn {
    font-weight: 600;
    white-space: nowrap;
}
#sale_invoice_ruc {
    letter-spacing: .08em;
    font-variant-numeric: tabular-nums;
}
.sale-invoice-lookup-status {
    min-height: 1.25rem;
    margin-top: .18rem;
    font-size: .82rem;
    line-height: 1.3;
}
.sale-invoice-lookup-status.is-ok {
    color: #0f7b3d;
}
.sale-invoice-lookup-status.is-warn {
    color: #9a6700;
}
.sale-invoice-lookup-status.is-error {
    color: #b42318;
}
.sale-invoice-lookup-status i {
    margin-right: .28rem;
}
.sale-invoice-customer-preview {
    margin-top: .12rem;
}
.sale-invoice-customer-name {
    display: flex;
    align-items: flex-start;
    gap: .4rem;
    font-size: .88rem;
    color: #123;
}
.sale-invoice-customer-name i {
    margin-top: .18rem;
    color: #345;
}
.sale-invoice-customer-address {
    margin-top: .08rem;
    padding-left: 1.2rem;
    font-size: .8rem;
}
@media (max-width: 991.98px) {
    .sale-invoice-customer-panel {
        margin-top: .55rem;
    }
    .sale-invoice-ruc-group {
        margin-bottom: .35rem;
    }
}
.sale-product-shortcuts {
    position: relative;
    z-index: 7;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: .24rem;
    margin-top: .36rem;
    width: calc(180% + 30px);
    overflow: visible;
}
.sale-product-shortcut-btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .28rem;
    min-height: 1.62rem;
    padding: .22rem .46rem;
    border: 1px solid #2563eb;
    border-radius: .42rem;
    background: #2563eb;
    color: #ffffff;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
    box-shadow: 0 5px 12px rgba(37, 99, 235, .16), 0 3px 0 #1e3a8a;
    transform: translateY(0);
    transition: transform .1s ease, box-shadow .1s ease, background-color .1s ease, filter .1s ease;
}
.sale-product-shortcut-btn i {
    font-size: .72rem;
    line-height: 1;
}
.sale-product-shortcut-btn kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 1.18rem;
    padding: 0 .36rem;
    border: 1px solid rgba(219, 234, 254, .95);
    border-radius: .32rem;
    background: #ffffff;
    color: #2563eb;
    font-family: inherit;
    font-size: .8rem;
    font-weight: 900;
    line-height: 1;
    box-shadow: inset 0 -1px 0 rgba(37, 99, 235, .12), 0 1px 2px rgba(15, 23, 42, .12);
    transition: transform .08s ease, box-shadow .08s ease, background-color .08s ease;
}
#btnSaleHelada kbd {
    overflow: hidden;
    font-size: 1.22rem;
    line-height: 1.18rem;
}
.sale-product-shortcut-btn:hover,
.sale-product-shortcut-btn:focus {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #ffffff;
    outline: none;
    box-shadow: 0 0 0 .14rem rgba(37, 99, 235, .18), 0 3px 0 #1e3a8a;
}
.sale-product-shortcut-btn:active,
.sale-product-shortcut-btn.is-pressed,
.sale-product-shortcut-btn:hover.is-pressed,
.sale-product-shortcut-btn:focus.is-pressed {
    transform: translateY(3px) scale(.97);
    background: #1e3a8a;
    border-color: #172554;
    color: #ffffff;
    box-shadow: inset 0 4px 8px rgba(15, 23, 42, .45);
    filter: brightness(.92);
}
.sale-product-shortcut-btn:active kbd,
.sale-product-shortcut-btn.is-pressed kbd {
    transform: translateY(1px);
    background: #bfdbfe;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, .28);
}
.sale-unregistered-product-dialog {
    max-width: 430px;
}
.sale-unregistered-product-modal {
    border: 0;
    border-radius: .72rem;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .16);
}
.sale-unregistered-product-modal .modal-header {
    align-items: flex-start;
    padding: .95rem 1.05rem .8rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}
.sale-unregistered-product-modal .modal-title {
    font-weight: 800;
    color: #0f172a;
}
.sale-unregistered-product-modal .modal-body {
    padding: 1rem 1.05rem;
}
.sale-unregistered-product-modal .modal-footer {
    padding: .8rem 1.05rem .95rem;
    border-top: 1px solid #e2e8f0;
}
.sale-price-checker-dialog {
    max-width: 540px;
}
.sale-price-checker-modal {
    border: 0;
    border-radius: .72rem;
    overflow: visible;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .16);
}
.sale-price-checker-modal .modal-header {
    align-items: flex-start;
    padding: .95rem 1.05rem .8rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}
.sale-price-checker-modal .modal-title {
    font-weight: 800;
    color: #0f172a;
}
.sale-price-checker-modal .modal-body {
    padding: 1rem 1.05rem;
    overflow: visible;
}
.sale-price-checker-modal .form-group {
    overflow: visible;
}
.sale-price-checker-modal .modal-footer {
    justify-content: space-between;
    align-items: center;
    gap: .55rem;
    padding: .8rem 1.05rem .95rem;
    border-top: 1px solid #e2e8f0;
}
.sale-price-checker-footer-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
}
.sale-price-checker-footer-actions .btn {
    margin: 0;
    font-weight: 700;
}
#btnSalePriceCheckerStock {
    background: #16a34a;
    border-color: #15803d;
    color: #fff;
    box-shadow: 0 8px 16px rgba(22, 163, 74, .22);
}
#btnSalePriceCheckerStock:hover,
#btnSalePriceCheckerStock:focus {
    background: #15803d;
    border-color: #166534;
    color: #fff;
}
#btnSalePriceCheckerStock:disabled {
    background: #86efac;
    border-color: #86efac;
    color: #fff;
    box-shadow: none;
}
.sale-price-checker-results {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 1085;
    display: none;
    max-height: 240px;
    overflow-y: auto;
    border: 1px solid #dbe4f0;
    border-radius: .45rem;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .12);
    background: #fff;
}
.sale-price-checker-results .sale-search-result {
    padding: .28rem .5rem;
    border-color: #e2e8f0;
}
.sale-price-checker-results .sale-search-result-item {
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    text-align: left;
    padding: .12rem 0;
    display: flex;
    align-items: center;
    gap: .55rem;
    width: 100%;
}
.sale-price-checker-results .sale-search-result-item:hover,
.sale-price-checker-results .sale-search-result-item:focus {
    background: transparent;
    color: inherit;
}
.sale-price-checker-results .sale-search-result-stock {
    flex: 0 0 auto;
    white-space: nowrap;
}
.sale-price-checker-selection {
    display: grid;
    gap: .16rem;
    padding: .72rem .82rem;
    border: 1px solid #dbeafe;
    border-radius: .55rem;
    background: #eff6ff;
}
.sale-price-checker-selection span {
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}
.sale-price-checker-selection strong {
    color: #0f172a;
    font-size: .95rem;
}
.sale-price-checker-selection em {
    color: #334155;
    font-size: .82rem;
    font-style: normal;
    font-weight: 700;
}
.sale-price-checker-selection em.is-low {
    color: #b91c1c;
}
.sale-price-checker-stock-confirm {
    text-align: left;
    font-size: 14px;
    line-height: 1.5;
}
.sale-price-checker-stock-confirm p {
    margin: 0 0 .35rem;
}
.sale-price-checker-stock-confirm p:last-child {
    margin-bottom: 0;
}
.sale-price-checker-stock-label {
    display: block;
    margin: .85rem 0 .35rem;
    color: #0f172a;
    font-size: .95rem;
    font-weight: 700;
    text-align: center;
}
.swal2-popup .sale-price-checker-stock-input.swal2-input,
.sale-price-checker-stock-input {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: .72rem .85rem;
    box-sizing: border-box;
    border: 2px solid #cbd5e1;
    border-radius: .5rem;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 700;
    box-shadow: none;
}
.swal2-popup .sale-price-checker-stock-input.swal2-input:focus,
.sale-price-checker-stock-input:focus {
    border-color: #16a34a;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, .18);
}
.swal2-popup .sale-price-checker-stock-input.is-awaiting-amount,
.sale-price-checker-stock-input.is-awaiting-amount {
    border-color: #16a34a;
    animation: sale-cash-awaiting-pulse 1s ease-in-out infinite;
}
.sale-price-checker-amount {
    margin: .9rem 0 0;
    color: #1d4ed8;
    font-size: 2.1rem;
    font-weight: 900;
    text-align: center;
    line-height: 1.1;
}
.sale-document-preview {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: .35rem;
    margin-top: .28rem;
    padding: .16rem .48rem;
    min-height: 0;
    max-width: 100%;
    border: 1px solid rgba(37, 99, 235, .18);
    border-radius: .4rem;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: .78rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
}
.sale-document-preview span {
    font-weight: 700;
    white-space: nowrap;
    flex: 0 0 auto;
}
.sale-document-preview strong {
    display: inline;
    min-width: 0;
    font-size: .78rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}
.sale-document-preview.is-loading {
    border-color: rgba(100, 116, 139, .22);
    background: #f8fafc;
    color: #64748b;
}
.sale-document-preview.is-error {
    border-color: rgba(220, 38, 38, .24);
    background: #fef2f2;
    color: #991b1b;
}
body.pos-sales-focus {
    overflow: hidden;
}
body.pos-sales-focus .main-header,
body.pos-sales-focus .main-sidebar,
body.pos-sales-focus .content-header {
    display: none !important;
}
body.pos-sales-focus .content-wrapper {
    margin-left: 0 !important;
    min-height: 100vh !important;
    background: linear-gradient(180deg, #eef4fb 0%, #f8fbff 100%);
}
body.pos-sales-focus .content-wrapper > .content {
    padding-top: .35rem;
}
body.pos-sales-focus .content-wrapper > .content > .container-fluid {
    max-width: 100%;
    padding-left: .42rem;
    padding-right: .42rem;
}
body.pos-sales-focus .sale-pos-shell {
    height: calc(100vh - .8rem);
    min-height: calc(100vh - .8rem);
    border-radius: .95rem;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
}
body.pos-sales-focus .sale-pos-header {
    padding: .42rem .62rem;
}
body.pos-sales-focus .sale-pos-body {
    padding: .55rem;
    gap: .55rem;
}
body.pos-sales-focus .sale-pos-top {
    top: 0;
    margin: -.55rem -.55rem 0;
    padding: .62rem .55rem .48rem;
}
body.pos-sales-focus .sale-pos-bottom {
    padding-bottom: .1rem;
}
body.pos-sales-focus .sale-ticket-tabs-shell-inline {
    margin-bottom: .45rem !important;
}
.sale-cash-command {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .72rem .85rem;
    border: 1px solid #dbeafe;
    border-radius: .9rem;
    background: linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%);
}
.sale-cash-command-header {
    min-height: 31px;
    padding: .2rem .34rem;
    border-radius: .62rem;
    gap: .32rem;
    background: linear-gradient(135deg, #f8fbff 0%, #f1f7ff 100%);
}
.sale-cash-command-header .sale-cash-command-main {
    display: flex;
    align-items: center;
    gap: .3rem;
}
.sale-cash-command-header .sale-cash-command-badge {
    margin-bottom: 0;
    white-space: nowrap;
    padding: .14rem .38rem;
    font-size: .66rem;
    line-height: .95;
}
.sale-cash-command-header .sale-cash-command-kpis {
    margin-bottom: 0;
    gap: .22rem;
}
.sale-cash-command-header .sale-cash-command-kpi {
    min-width: 66px;
    padding: .16rem .3rem;
    border-radius: .5rem;
}
.sale-cash-command-header .sale-cash-command-kpi span {
    font-size: .76rem;
    line-height: .9;
    margin-bottom: .02rem;
}
.sale-cash-command-header .sale-cash-command-kpi strong {
    font-size: 1.06rem;
    line-height: .95;
}
.sale-cash-command-header .sale-cash-command-actions {
    gap: .22rem;
}
.sale-cash-command-header .sale-cash-command-actions .btn {
    min-height: 28px;
    padding: .18rem .46rem;
    font-size: .72rem;
    line-height: 1;
    border-radius: .48rem;
}
.sale-cash-command-header .sale-cash-command-actions #btnQuickCloseCash {
    min-height: 34px;
    padding: .3rem .64rem;
    font-size: 1.01rem;
}
.sale-pos-header-actions .sale-cash-command-header .btn-danger.btn-sm,
.sale-cash-command-header .btn-danger.btn-sm {
    color: #fff;
    border-color: #dc2626;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    box-shadow: 0 8px 18px rgba(220, 38, 38, .22);
}
.sale-pos-header-actions .sale-cash-command-header .btn-danger.btn-sm:hover,
.sale-pos-header-actions .sale-cash-command-header .btn-danger.btn-sm:focus,
.sale-cash-command-header .btn-danger.btn-sm:hover,
.sale-cash-command-header .btn-danger.btn-sm:focus {
    color: #fff;
    border-color: #b91c1c;
    background: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);
    box-shadow: 0 10px 20px rgba(185, 28, 28, .28);
}
.sale-pos-header-actions .sale-cash-command-header #btnOpenCashFromBanner,
.sale-cash-command-header #btnOpenCashFromBanner {
    color: #fff;
    border-color: #047857;
    background: linear-gradient(135deg, #10b981 0%, #047857 100%);
    box-shadow: 0 8px 18px rgba(4, 120, 87, .22);
}
.sale-pos-header-actions .sale-cash-command-header #btnOpenCashFromBanner:hover,
.sale-pos-header-actions .sale-cash-command-header #btnOpenCashFromBanner:focus,
.sale-cash-command-header #btnOpenCashFromBanner:hover,
.sale-cash-command-header #btnOpenCashFromBanner:focus {
    color: #fff;
    border-color: #065f46;
    background: linear-gradient(135deg, #059669 0%, #065f46 100%);
    box-shadow: 0 10px 20px rgba(6, 95, 70, .28);
}
.sale-cash-command-main {
    min-width: 0;
}
.sale-cash-command-badge {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .2rem .5rem;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: .32rem;
}
.sale-cash-command-badge i {
    font-size: .5rem;
}
.sale-cash-command-badge.is-open {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #bbf7d0;
}
.sale-cash-command-badge.is-pending {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
}
.sale-cash-command-title {
    font-size: .92rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.15;
    margin-bottom: .22rem;
}
.sale-cash-command-kpis {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-bottom: .32rem;
}
.sale-cash-command-kpi {
    min-width: 90px;
    padding: .38rem .52rem;
    border-radius: .75rem;
    background: rgba(255,255,255,.78);
    border: 1px solid #dbeafe;
}
.sale-cash-command-kpi span {
    display: block;
    font-size: .56rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #64748b;
    margin-bottom: .08rem;
}
.sale-cash-command-kpi strong {
    display: block;
    font-size: .82rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}
.sale-cash-command-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .8rem;
    color: #475569;
    font-size: .7rem;
    line-height: 1.25;
}
.sale-cash-command-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .45rem;
}
.sale-cash-command-actions .btn {
    min-height: 34px;
    border-radius: .65rem;
    padding: .34rem .72rem;
    font-size: .72rem;
    font-weight: 700;
    white-space: nowrap;
}
.sale-client-quick-group {
    gap: .35rem;
}
.sale-client-quick-group > .form-control {
    border-radius: .32rem !important;
}
.sale-client-quick-group > .input-group-append {
    margin-left: 0 !important;
}
.sale-pos-top .sale-client-quick-group.sale-selected-client {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: calc(1.288rem + .5rem + 2px);
    min-height: calc(1.288rem + .5rem + 2px);
    max-height: calc(1.288rem + .5rem + 2px);
    margin: 0;
    padding: 0 3px 0 4px;
    gap: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #3b82f6;
    border-radius: .38rem;
    box-shadow: none;
    flex-wrap: nowrap;
}
.sale-selected-client-icon,
.sale-selected-client-check {
    box-sizing: border-box;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #2563eb;
    box-shadow: none;
}
.sale-selected-client-icon {
    margin-right: 4px;
    background: #e8f1ff;
    font-size: .62rem;
}
.sale-selected-client-info {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    padding: 0 6px;
    border-left: 1px solid #e8eef6;
    border-right: 1px solid #e8eef6;
}
.sale-selected-client-caption {
    display: block;
    font-size: .58rem;
    line-height: 1;
    font-weight: 500;
    color: #3b82f6;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 0 1px;
}
.sale-pos-top .sale-selected-client #sale_client_search.form-control {
    height: auto;
    min-height: 0;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent;
    box-shadow: none !important;
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.1;
    color: #0b1f3a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sale-pos-top .sale-selected-client #sale_client_search.form-control:focus {
    box-shadow: none !important;
    outline: none;
}
.sale-selected-client-check {
    margin: 0 3px 0 4px;
    background: #fff;
    border: 1px solid #3b82f6;
    font-size: .5rem;
}
.sale-selected-client-name,
#saleTicketTabs .sale-ticket-tab-name {
    display: block;
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.1;
    color: #0b1f3a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#saleTicketTabs .sale-ticket-client-info {
    justify-content: center;
    border-right: 0;
}
#saleTicketTabs .sale-ticket-tab-name {
    font-size: .82rem;
    line-height: 1;
}
#saleClientSearchResults {
    overflow: auto;
    background: #fff;
}
#saleTicketClientModal .sale-ticket-client-dialog {
    max-width: 460px;
    width: calc(100% - 1.5rem);
    margin: .75rem auto;
}
#saleTicketClientModal .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: .9rem;
}
#saleTicketClientModal .modal-body {
    overflow: visible;
}
.sale-ticket-client-search {
    position: relative;
}
#saleTicketClientSearchResults {
    position: relative;
    display: none;
    margin-top: .45rem;
    max-height: 240px;
    overflow: auto;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: .55rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
}
#saleClientSearchResults .sale-search-result-item,
#saleTicketClientSearchResults .sale-search-result-item {
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    text-align: left;
    padding: .12rem 0;
    display: flex;
    align-items: center;
    gap: .55rem;
}
#saleClientSearchResults .sale-search-result-item:hover,
#saleClientSearchResults .sale-search-result-item:focus,
#saleTicketClientSearchResults .sale-search-result-item:hover,
#saleTicketClientSearchResults .sale-search-result-item:focus {
    background: transparent;
    color: inherit;
}
.sale-client-search-result:hover,
.sale-client-search-result.is-active {
    background: #eaf2ff;
}
.sale-client-credit-badge {
    flex: 0 0 auto;
    width: 1.7rem;
    height: 1.7rem;
    margin: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.sale-client-credit-badge i {
    font-size: .92rem;
}
.sale-client-credit-badge.is-active,
.sale-client-credit-badge.is-active i {
    background: transparent;
    color: #16a34a;
}
.sale-client-credit-badge.is-inactive,
.sale-client-credit-badge.is-inactive i {
    background: transparent;
    color: #dc2626;
}
#saleTicketTabs .sale-ticket-tab,
.sale-ticket-tabs .sale-ticket-tab {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: .38rem .78rem;
    min-height: 36px;
    max-height: 36px;
    min-width: 128px;
    background: #fff;
    border: 1px solid #3b82f6;
    border-radius: .38rem;
    box-shadow: none;
    gap: 0;
    overflow: hidden;
}
#saleTicketTabs .sale-ticket-tab:hover,
.sale-ticket-tabs .sale-ticket-tab:hover {
    transform: none;
    box-shadow: none;
    background: #fff;
}
#saleTicketTabs .sale-ticket-tab.active,
.sale-ticket-tabs .sale-ticket-tab.active {
    border-color: #3b82f6;
    box-shadow: none;
    background: #f8fbff;
}
.sale-client-quick-add-btn {
    min-width: 34px;
    width: 34px;
    height: calc(1.4em + .5rem + 2px);
    padding: 0;
    border-radius: .32rem !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    border-color: #cbd5e1;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    color: #2563eb;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .06);
}
.sale-selected-client .sale-client-quick-add-btn {
    min-width: 20px;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    color: #2563eb;
}
.sale-client-quick-add-btn i {
    font-size: .84rem;
}
.sale-selected-client .sale-client-quick-add-btn i {
    font-size: .7rem;
}
.sale-client-quick-add-btn:hover,
.sale-client-quick-add-btn:focus {
    border-color: #93c5fd;
    background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
    color: #1d4ed8;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .14);
}
.sale-selected-client .sale-client-quick-add-btn:hover,
.sale-selected-client .sale-client-quick-add-btn:focus {
    border-color: transparent;
    background: #eff6ff;
    box-shadow: none;
}
.sale-latest-sales-table .btn.btn-sm {
    min-height: 26px;
    padding: .16rem .46rem;
    border-radius: 6px;
    font-size: .7rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 5px 12px rgba(15, 23, 42, .04);
}
.sale-latest-sales-table td.text-right .btn-outline-primary.btn-sm {
    width: 28px;
    min-width: 28px;
    padding-right: 0;
    padding-left: 0;
    justify-content: center;
}
.sale-latest-sales-table .btn-outline-primary.btn-sm,
.sale-latest-sales-table .btn-outline-secondary.btn-sm,
.sale-latest-sales-table .btn-outline-danger.btn-sm {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border-color: #cbd5e1;
}
.sale-latest-sales-table .btn-outline-primary.btn-sm:hover,
.sale-latest-sales-table .btn-outline-secondary.btn-sm:hover,
.sale-latest-sales-table .btn-outline-danger.btn-sm:hover,
.sale-latest-sales-table .btn-outline-primary.btn-sm:focus,
.sale-latest-sales-table .btn-outline-secondary.btn-sm:focus,
.sale-latest-sales-table .btn-outline-danger.btn-sm:focus {
    border-color: #93c5fd;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .12);
}
.sale-ticket-tabs-shell-inline {
    margin-bottom: .5rem !important;
}
.sale-ticket-tabs-shell {
    padding: .25rem 0;
}
.sale-pos-middle {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.sale-cart-table-wrap {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    border: 1px solid #dbe4f0;
    border-radius: .8rem;
    overflow: hidden;
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.sale-cart-table-responsive {
    height: 100%;
    min-height: 0;
    max-height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}
.sale-pos-bottom {
    --sale-pos-summary-scale: 1.7;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(.4rem * var(--sale-pos-summary-scale));
    padding: calc(.24rem * var(--sale-pos-summary-scale)) calc(.45rem * var(--sale-pos-summary-scale));
    border: 1px solid #dbe4f0;
    border-radius: calc(.58rem * var(--sale-pos-summary-scale));
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 -10px 22px rgba(15, 23, 42, .04);
}
.sale-pos-bottom-summary {
    display: flex;
    align-items: center;
    gap: calc(.42rem * var(--sale-pos-summary-scale));
    min-width: 0;
    flex: 1 1 auto;
}
.sale-pos-bottom-counter {
    min-width: calc(108px * var(--sale-pos-summary-scale));
    padding-right: calc(.48rem * var(--sale-pos-summary-scale));
    border-right: 1px solid #dbe4f0;
}
.sale-pos-bottom-counter strong {
    display: block;
    font-size: calc(1.08rem * var(--sale-pos-summary-scale));
    line-height: .9;
    color: #1d4ed8;
    font-weight: 800;
}
.sale-pos-bottom-counter span {
    display: block;
    margin-top: calc(.04rem * var(--sale-pos-summary-scale));
    font-size: calc(.68rem * var(--sale-pos-summary-scale));
    line-height: .95;
    color: #475569;
    font-weight: 700;
}
.sale-pos-bottom-totals {
    display: flex;
    align-items: stretch;
    gap: calc(.34rem * var(--sale-pos-summary-scale));
    flex-wrap: wrap;
}
.sale-pos-total-chip {
    min-width: calc(84px * var(--sale-pos-summary-scale));
    padding: calc(.18rem * var(--sale-pos-summary-scale)) calc(.46rem * var(--sale-pos-summary-scale));
    border-radius: calc(.54rem * var(--sale-pos-summary-scale));
    background: #eff6ff;
    border: 1px solid #bfdbfe;
}
.sale-pos-total-chip span {
    display: block;
    font-size: calc(.58rem * var(--sale-pos-summary-scale));
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #64748b;
    margin-bottom: calc(.02rem * var(--sale-pos-summary-scale));
    line-height: .9;
}
.sale-pos-total-chip strong {
    display: block;
    font-size: calc(.88rem * var(--sale-pos-summary-scale));
    line-height: .95;
    color: #0f172a;
    font-weight: 800;
}
.sale-pos-total-chip-grand {
    background: linear-gradient(135deg, #052e16 0%, #15803d 100%);
    border-color: #15803d;
}
.sale-pos-total-chip-grand span,
.sale-pos-total-chip-grand strong {
    color: #fff;
}
.sale-pos-charge-btn {
    min-width: calc(126px * var(--sale-pos-summary-scale));
    border-radius: calc(.58rem * var(--sale-pos-summary-scale));
    padding: calc(.24rem * var(--sale-pos-summary-scale)) calc(.72rem * var(--sale-pos-summary-scale));
    min-height: calc(34px * var(--sale-pos-summary-scale));
    font-size: calc(.9rem * var(--sale-pos-summary-scale));
    line-height: 1;
    font-weight: 800;
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    box-shadow: 0 14px 28px rgba(21, 128, 61, .22);
}
.sale-pos-charge-btn i {
    font-size: calc(1rem * var(--sale-pos-summary-scale));
    margin-right: calc(.25rem * var(--sale-pos-summary-scale)) !important;
}
.sale-pos-charge-btn .text-monospace {
    font-size: calc(.72rem * var(--sale-pos-summary-scale));
}
.sale-ticket-tabs-shell {
    flex: 0 0 auto;
}
@media (min-width: 992px) {
    body.pos-sales-page:not(.pos-sales-focus) {
        overflow: hidden;
    }
    body.pos-sales-page:not(.pos-sales-focus) .wrapper {
        height: 100dvh;
        max-height: 100dvh;
        overflow: hidden;
    }
    body.pos-sales-page:not(.pos-sales-focus) .content-wrapper {
        display: flex;
        flex-direction: column;
        height: calc(100dvh - 3.5rem);
        max-height: calc(100dvh - 3.5rem);
        min-height: 0;
        overflow: hidden;
    }
    body.pos-sales-page:not(.pos-sales-focus) .content-wrapper > .content {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        padding-top: .4rem;
        padding-bottom: .4rem;
        overflow: hidden;
    }
    body.pos-sales-page:not(.pos-sales-focus) .content-wrapper > .content > .container-fluid {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
    }
    body.pos-sales-page:not(.pos-sales-focus) .content-wrapper > .content > .container-fluid > .row {
        display: flex;
        flex: 1 1 auto;
        width: 100%;
        min-height: 0;
        margin-left: 0;
        margin-right: 0;
    }
    body.pos-sales-page:not(.pos-sales-focus) .content-wrapper > .content > .container-fluid > .row > [class*="col-"] {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        max-width: 100%;
        min-height: 0;
        padding-left: 0;
        padding-right: 0;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-shell {
        flex: 1 1 auto;
        height: auto;
        min-height: 0;
        max-height: none;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-middle,
    body.pos-sales-page:not(.pos-sales-focus) .sale-cart-table-wrap {
        min-height: 10.5rem;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-top {
        position: relative;
        top: auto;
        z-index: 4;
        padding-bottom: .7rem;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-top .row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(220px, 280px) minmax(220px, 250px);
        grid-template-areas:
            "search client document"
            "shortcuts shortcuts preview";
        align-items: start;
        column-gap: .65rem;
        row-gap: .42rem;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-top .sale-product-search-column.col-lg-5 {
        display: contents;
        flex: unset;
        max-width: none;
        width: auto;
        min-width: 0;
        padding-left: 0;
        padding-right: 0;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-product-search-column .form-group {
        grid-area: search;
        margin-bottom: 0;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-top .sale-client-search-column.col-lg-3 {
        grid-area: client;
        flex: unset;
        max-width: none;
        width: auto;
        min-width: 0;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-top .sale-document-column.col-lg-3 {
        display: contents;
        flex: unset;
        max-width: none;
        width: auto;
        align-self: start;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-document-fields {
        grid-area: document;
        margin-bottom: 0;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-document-preview {
        grid-area: preview;
        align-self: center;
        justify-self: stretch;
        margin-top: 0;
        height: 1.62rem;
        min-height: 1.62rem;
        box-sizing: border-box;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-product-shortcuts {
        grid-area: shortcuts;
        width: 100%;
        max-width: 100%;
        flex-wrap: nowrap;
        margin-top: 0;
        margin-bottom: 0;
        align-self: center;
        z-index: 1;
        overflow: visible;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-middle {
        position: relative;
        z-index: 1;
        margin-top: .1rem;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-cart-table thead th {
        padding-top: .62rem;
        padding-bottom: .5rem;
    }
}
@media (min-width: 992px) and (max-height: 900px) {
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-header {
        padding: .38rem .6rem;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-body {
        gap: .42rem;
        padding: .5rem .6rem .55rem;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-top {
        margin: -.5rem -.6rem 0;
        padding: .42rem .6rem .62rem;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-ticket-tabs-shell-inline {
        margin-bottom: 0 !important;
        padding: 0;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-bottom {
        --sale-pos-summary-scale: 1.12;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-middle,
    body.pos-sales-page:not(.pos-sales-focus) .sale-cart-table-wrap {
        min-height: 12rem;
    }
}
@media (min-width: 992px) and (max-height: 768px) {
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-bottom {
        --sale-pos-summary-scale: 1;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-pos-header-actions .btn.btn-sm {
        min-height: 28px;
        padding: .18rem .46rem;
        font-size: .78rem;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-product-shortcut-btn {
        min-height: 1.45rem;
        padding: .16rem .38rem;
        font-size: .72rem;
    }
    body.pos-sales-page:not(.pos-sales-focus) .sale-document-preview {
        height: 1.45rem;
        min-height: 1.45rem;
    }
}
.sale-cart-table {
    table-layout: fixed;
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
    font-family: Inter, "Source Sans 3", Arial, sans-serif;
    font-variant-numeric: tabular-nums;
}
.sale-cart-table tbody td {
    height: 50px;
    padding: .34rem .42rem;
    vertical-align: middle;
    line-height: 1.15;
    background: #fff;
    border-color: #e2e8f0;
    color: #334155;
    transition: background-color .15s ease;
}
.sale-cart-table thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #f8fafc;
    box-shadow: inset 0 -1px 0 #dbe4f0;
    white-space: nowrap;
    font-size: 11px;
    font-weight: 700;
    color: #111827;
    text-transform: uppercase;
    letter-spacing: 0;
    line-height: 1;
    padding: .48rem .42rem;
    border-color: #e2e8f0;
}
.sale-cart-table tbody tr:hover td {
    background: #f8fafc;
}
.sale-cart-table tbody tr.sale-cart-row-active:hover td {
    background: #eff6ff !important;
}
.sale-cart-table thead th:nth-child(3),
.sale-cart-table thead th:nth-child(4),
.sale-cart-table thead th:nth-child(5),
.sale-cart-table tbody td:nth-child(3),
.sale-cart-table tbody td:nth-child(4),
.sale-cart-table tbody td:nth-child(5) {
    text-align: center;
}
.sale-cart-table thead th:nth-child(6),
.sale-cart-table tbody td:nth-child(6) {
    text-align: right;
}
.sale-cart-table thead th:nth-child(7),
.sale-cart-table thead th:nth-child(8),
.sale-cart-table tbody td:nth-child(7),
.sale-cart-table tbody td:nth-child(8) {
    text-align: center;
}
.sale-cart-table th:nth-child(1) { width: 11%; }
.sale-cart-table th:nth-child(2) { width: 26%; }
.sale-cart-table th:nth-child(3) { width: 13%; }
.sale-cart-table th:nth-child(4) { width: 16%; }
.sale-cart-table th:nth-child(5) { width: 8%; }
.sale-cart-table th:nth-child(6) { width: 10%; }
.sale-cart-table th:nth-child(7) { width: 9%; }
.sale-cart-table th:nth-child(8) { width: 5%; }
.sale-cart-barcode {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    font-size: 12px;
    line-height: 1.1;
    font-weight: 500;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sale-cart-product-name {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .14rem;
    font-weight: 700;
    color: #111827;
    font-size: 15px;
    line-height: 1.15;
    margin: 0;
    min-width: 0;
}
.sale-cart-product-name span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sale-cart-promotion-components {
    color: #64748b;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.1;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sale-cart-money {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    max-width: 100%;
    font-weight: 700;
    color: #0f172a;
    text-align: right;
    white-space: nowrap;
    font-family: "Courier New", monospace;
    font-variant-numeric: tabular-nums;
    font-size: .74rem;
    line-height: 1;
}
.sale-cart-igv {
    display: inline-block;
    font-size: 13px;
    font-weight: 500;
    color: #475569;
    font-variant-numeric: tabular-nums;
}
.sale-cart-line-total {
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.sale-price-group {
    width: 100px;
    margin: 0 auto;
    flex-wrap: nowrap;
    border-radius: 6px;
    transition: box-shadow .2s ease;
}
.sale-price-group.is-price-flash-wholesale,
.sale-price-group.is-price-flash-regular,
.sale-price-group.is-price-flash-special,
.sale-price-group.is-price-flash-helada {
    animation: sale-price-flash .85s ease-out;
}
.sale-price-group.is-price-flash-wholesale .input-group-text,
.sale-price-group.is-price-flash-wholesale .sale-price {
    border-color: #f59e0b;
    background: #fffbeb;
    color: #92400e;
}
.sale-price-group.is-price-flash-special .input-group-text,
.sale-price-group.is-price-flash-special .sale-price {
    border-color: #7c3aed;
    background: #f5f3ff;
    color: #5b21b6;
}
.sale-price-group.is-price-flash-regular .input-group-text,
.sale-price-group.is-price-flash-regular .sale-price {
    border-color: #2563eb;
    background: #eff6ff;
    color: #1e3a8a;
}
.sale-price-group.is-price-flash-helada .input-group-text,
.sale-price-group.is-price-flash-helada .sale-price {
    border-color: #0284c7;
    background: #e0f2fe;
    color: #0c4a6e;
}
@keyframes sale-price-flash {
    0% {
        box-shadow: 0 0 0 0 rgba(245, 158, 11, 0);
        filter: brightness(1);
    }
    18% {
        box-shadow: 0 0 0 7px rgba(245, 158, 11, .42);
        filter: brightness(1.18);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(245, 158, 11, 0);
        filter: brightness(1);
    }
}
.sale-price-group.is-price-flash-regular {
    animation-name: sale-price-flash-regular;
}
.sale-price-group.is-price-flash-special {
    animation-name: sale-price-flash-special;
}
@keyframes sale-price-flash-regular {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 99, 235, 0);
        filter: brightness(1);
    }
    18% {
        box-shadow: 0 0 0 7px rgba(37, 99, 235, .38);
        filter: brightness(1.16);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(37, 99, 235, 0);
        filter: brightness(1);
    }
}
@keyframes sale-price-flash-special {
    0% {
        box-shadow: 0 0 0 0 rgba(124, 58, 237, 0);
        filter: brightness(1);
    }
    18% {
        box-shadow: 0 0 0 7px rgba(124, 58, 237, .4);
        filter: brightness(1.16);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(124, 58, 237, 0);
        filter: brightness(1);
    }
}
.sale-price-group .input-group-text {
    height: 36px;
    padding: 0 .36rem;
    border-color: #cbd5e1;
    border-right: 0;
    border-radius: 6px 0 0 6px;
    background: #f8fafc;
    color: #475569;
    font-size: 13px;
    font-weight: 700;
}
.sale-cart-table .sale-price,
.sale-cart-table .sale-qty {
    height: 36px;
    min-height: 36px;
    text-align: center;
    border-color: #cbd5e1;
    border-radius: 6px;
    color: #0f172a;
    font-family: Inter, "Source Sans 3", Arial, sans-serif;
    font-variant-numeric: tabular-nums;
    box-shadow: none;
}
.sale-cart-table .sale-price {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 62px;
    font-size: 14px;
    font-weight: 600;
    padding: .25rem .28rem;
    border-radius: 0 6px 6px 0;
    background: #fff;
    cursor: default;
    user-select: none;
    pointer-events: none;
}
.sale-cart-table .sale-qty {
    width: 92px;
    min-width: 92px;
    max-width: 92px;
    padding: .25rem .34rem;
    font-size: 14px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
}
.sale-cart-table .sale-qty::-webkit-outer-spin-button,
.sale-cart-table .sale-qty::-webkit-inner-spin-button {
    margin: 0;
}
.sale-cart-table .sale-price:focus,
.sale-cart-table .sale-qty:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 .14rem rgba(13, 110, 253, .16);
    position: relative;
    z-index: 2;
}
.sale-qty-stepper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 172px;
    margin: 0 auto;
}
.sale-qty-stepper-btn {
    width: 40px;
    min-width: 40px;
    height: 36px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.sale-qty-stepper-btn:first-child {
    border-radius: 6px 0 0 6px;
}
.sale-qty-stepper-btn:last-child {
    border-radius: 0 6px 6px 0;
}
.sale-qty-stepper-btn:hover,
.sale-qty-stepper-btn:focus {
    background: #eff6ff;
    border-color: #0d6efd;
    color: #0d6efd;
    outline: 0;
}
.sale-qty-stepper-btn i {
    font-size: 10px;
}
.sale-cart-table tbody td:nth-child(7) .sale-stock-badge,
.sale-cart-table tbody td:nth-child(7) .sale-stock-alert {
    margin-left: auto;
    margin-right: auto;
}
.sale-stock-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 66px;
    padding: .18rem .38rem;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1;
    font-weight: 600;
    border: 1px solid transparent;
    font-variant-numeric: tabular-nums;
}
.sale-cart-table .btn-remove-item {
    width: 28px;
    height: 28px;
    min-width: 28px;
    padding: 0;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-width: 1px;
    box-shadow: none;
}
.sale-cart-table .btn-remove-item i {
    font-size: .7rem;
}
.sale-stock-badge-ok {
    background: #dcfce7;
    color: #166534;
    border-color: #bbf7d0;
}
.sale-stock-badge-low {
    background: #fef3c7;
    color: #92400e;
    border-color: #fde68a;
}
.sale-stock-badge-out {
    background: #fee2e2;
    color: #b91c1c;
    border-color: #fecaca;
}
.sale-stock-alert {
    margin-top: .18rem;
    font-size: .6rem;
    line-height: 1;
    font-weight: 700;
    line-height: 1.2;
}
.sale-stock-alert-low {
    color: #b45309;
}
.sale-stock-alert-out {
    color: #b91c1c;
}
.sale-search-result-item {
    padding: .34rem .56rem;
}
.sale-search-result {
    display: flex;
    align-items: center;
    gap: .4rem;
    padding: .28rem .5rem;
}
.sale-search-result .btn-add-product {
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    text-align: left;
    padding: .12rem 0;
    display: flex;
    align-items: center;
    gap: .55rem;
}
.sale-search-result .btn-add-product:hover,
.sale-search-result .btn-add-product:focus {
    background: transparent;
    color: inherit;
}
.sale-search-result-item.is-active,
.sale-search-result-item.active,
.sale-search-result.is-active {
    color: #0f172a;
    background: #eaf2ff;
    border-color: #bfdbfe;
}
.sale-search-favorite-btn {
    flex: 0 0 auto;
    width: 1.7rem;
    height: 1.7rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    cursor: pointer;
}
.sale-search-favorite-btn i {
    font-size: .92rem;
}
.sale-search-favorite-btn:hover {
    color: #f5c518;
    background: #fffbeb;
}
.sale-search-result .sale-search-result-name {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
}
.sale-search-result-price {
    flex: 0 0 auto;
    color: #16a34a;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: -.02em;
    white-space: nowrap;
    line-height: 1;
}
.sale-search-match {
    padding: 0;
    background: #fef08a;
    color: inherit;
    font-weight: 800;
}
#saleSearchResults .sale-search-result.is-out-of-stock .sale-search-result-name,
#saleSearchResults .sale-search-result.is-out-of-stock .btn-add-product,
#saleSearchResults .sale-search-result.is-out-of-stock .btn-add-product.disabled,
#saleSearchResults .sale-search-result.is-out-of-stock .btn-add-product:disabled {
    color: #dc2626;
    opacity: 1;
}
#saleSearchResults .sale-search-result-price,
#saleSearchResults .sale-search-result.is-out-of-stock .sale-search-result-price {
    color: #16a34a;
}
.sale-search-favorite-btn.is-on,
.sale-search-favorite-btn.is-on i {
    color: #f5c518;
}
.sale-search-favorite-btn.is-on:hover,
.sale-search-favorite-btn.is-on:hover i {
    color: #eab308;
    background: #fffbeb;
}
.sale-search-result-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    align-items: center;
    gap: .22rem;
    width: 100%;
}
.sale-search-result-name {
    min-width: 0;
    font-weight: 700;
    color: #0f172a;
    font-size: .64rem;
    line-height: 1.05;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sale-search-result-meta {
    color: #64748b;
    font-size: .64rem;
    white-space: nowrap;
}
.sale-search-result-stock {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .08rem .24rem;
    border-radius: 999px;
    background: #f8fafc;
    color: #0f172a;
    font-size: .62rem;
    font-weight: 800;
    white-space: nowrap;
}
.sale-search-result-stock.is-low {
    background: #fee2e2;
    color: #b91c1c;
}
.sale-search-result-stock.is-fraction {
    background: #e0f2fe;
    color: #0369a1;
}
.sale-cash-shortcuts { display: flex; flex-wrap: wrap; gap: .4rem; }
.sale-checkout-dialog { max-width: 820px; }
.sale-checkout-modal { border-radius: 1rem; overflow: hidden; }
.sale-checkout-header { padding: 1rem 1rem 0; }
.sale-checkout-header-copy { font-size: .92rem; }
.sale-checkout-body { padding: .85rem 1rem 1rem; }
.sale-checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: .8rem; align-items: start; }
.sale-checkout-main { min-width: 0; }
.sale-checkout-total-hero { text-align: center; padding: .12rem 0 .02rem; }
.sale-checkout-toolbar { display: block; }
.sale-checkout-method-strip { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .32rem; }
.sale-checkout-method-btn { border: 1px solid #dbe4f0; border-radius: .72rem; background: #fff; min-height: 50px; height: 50px; padding: .28rem .22rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .12rem; font-size: .72rem; font-weight: 700; line-height: 1; color: #334155; transition: all .15s ease; position: relative; overflow: hidden; }
.sale-checkout-method-btn i { font-size: .8rem; }
.sale-checkout-method-btn span:last-child { white-space: nowrap; }
.sale-checkout-method-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(15, 23, 42, .08); }
.sale-checkout-method-btn.active { border: 1px solid #1d4ed8; background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%); color: #1d4ed8; box-shadow: 0 10px 22px rgba(37, 99, 235, .16); transform: translateY(-1px); }
.sale-checkout-method-btn.active::after { content: none; }
.sale-checkout-mixed-btn:not(.active) { border-color: #cbd5e1; background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); color: #1e293b; }
.sale-checkout-mixed-btn:not(.active):hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(15, 23, 42, .08); }
.sale-mixed-payment-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem .65rem;
}
.sale-mixed-payment-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 6.35rem;
    justify-content: stretch;
    align-items: center;
    gap: .5rem;
    margin: 0;
    color: #475569;
    font-size: 1.01rem;
    font-weight: 700;
}
.sale-mixed-payment-row .form-control {
    width: 6.35rem;
    max-width: 6.35rem;
    height: 28px;
    min-height: 28px;
    padding: 0 .45rem;
    line-height: 26px;
    border-color: #d9e2ef;
    border-radius: 6px;
    font-size: 1.01rem;
    font-weight: 700;
    text-align: left;
}
#saleMixedRemaining.sale-mixed-remaining {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin-top: 0;
    padding: .32rem .65rem;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: #f8fafc;
    color: #475569;
    font-size: 1.01rem;
    font-weight: 700;
}
.sale-mixed-remaining strong {
    color: #dc2626;
    font-size: 1.01rem;
    font-weight: 900;
}
.sale-mixed-remaining.is-covered {
    border-color: #bbf7d0;
    background: #f0fdf4;
}
.sale-mixed-remaining.is-covered strong {
    color: #16a34a;
}
.sale-mixed-remaining.is-over {
    border-color: #fed7aa;
    background: #fff7ed;
}
.sale-mixed-remaining.is-over strong {
    color: #c2410c;
}
.sale-checkout-method-yape { color: #6d28d9; }
.sale-checkout-method-plin { color: #00AEEF; }
.sale-checkout-brand-badge { width: 20px; height: 20px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-weight: 800; font-size: .64rem; }
.sale-checkout-method-yape .sale-checkout-brand-badge { background: #6d28d9; }
.sale-checkout-method-plin .sale-checkout-brand-badge { background: linear-gradient(135deg, #00d4ff 0%, #0072ff 100%); }
.sale-checkout-method-plin.active {
    border-color: #00AEEF;
    background: linear-gradient(180deg, #e6f9ff 0%, #c7efff 100%);
    color: #0284c7;
    box-shadow: 0 10px 22px rgba(0, 174, 239, .18);
}
.sale-checkout-total-amount { font-size: 2.28rem; font-weight: 800; line-height: 1; color: #0f172a; }
.sale-checkout-config-card { border-radius: 1rem; }
.sale-checkout-config-body { display: grid; gap: .85rem; }
.sale-checkout-config-card.is-brand-pay,
.sale-checkout-config-card.is-brand-pay.card,
.sale-checkout-config-card.is-brand-pay.card-outline {
    border-top: 0 !important;
    box-shadow: none;
    overflow: hidden;
}
.sale-checkout-config-card.is-yape { border-color: #e9d5ff; }
.sale-checkout-config-card.is-plin { border-color: #7dd3fc; }
.sale-checkout-config-card.is-tarjeta { border-color: #bfdbfe; }
.sale-checkout-config-card.is-transferencia { border-color: #fed7aa; }
.sale-checkout-config-card.is-efectivo { border-color: #bbf7d0; }
.sale-checkout-config-card.is-credito { border-color: #fde68a; }
.sale-checkout-config-card.is-mixto { border-color: #ddd6fe; }
.sale-checkout-config-card.is-brand-pay > .card-body.sale-checkout-config-body,
.sale-checkout-config-card.is-brand-pay > .card-body.py-3 {
    gap: 0;
    margin: 0;
    padding: 0 !important;
    border: 0;
    background: transparent;
}
.sale-yape-panel {
    background: #fff;
    margin: 0;
    padding: 0;
    border: 0;
}
.sale-yape-hero {
    display: flex;
    align-items: stretch;
    height: 76px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #f4e9ff;
    border: 0;
    border-bottom: 1px solid #e9d5ff;
}
.sale-yape-hero-content {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
    gap: .65rem;
    padding: 0 .75rem;
}
.sale-yape-logo {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
    flex: 0 0 42px;
}
.sale-yape-copy {
    min-width: 0;
}
.sale-yape-copy strong {
    display: block;
    color: #6b21a8;
    font-size: .98rem;
    font-weight: 900;
    line-height: 1.15;
}
.sale-yape-copy span {
    display: block;
    margin-top: .18rem;
    color: #64748b;
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.3;
}
.sale-yape-art {
    display: block;
    height: 100%;
    width: auto;
    max-width: 132px;
    object-fit: cover;
    object-position: right center;
    flex: 0 0 auto;
    align-self: stretch;
}
.sale-yape-body {
    display: grid;
    gap: .7rem;
    padding: .85rem .85rem .9rem;
}
.sale-yape-field {
    margin: 0;
}
.sale-yape-field label {
    display: block;
    margin-bottom: .32rem;
    color: #334155;
    font-size: .76rem;
    font-weight: 800;
}
.sale-yape-field label small {
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}
.sale-yape-field .form-control {
    min-height: 38px;
    border-color: #d9e2ef;
    border-radius: 6px;
    font-size: .84rem;
    font-weight: 700;
}
.sale-yape-amount {
    position: relative;
    display: flex;
    align-items: center;
}
.sale-yape-amount .form-control {
    padding-left: 2.35rem;
    padding-right: 2.4rem;
    background: #f8fafc;
    color: #0f172a;
    cursor: default;
}
.sale-yape-currency {
    position: absolute;
    left: .75rem;
    color: #6b21a8;
    font-size: .82rem;
    font-weight: 900;
    pointer-events: none;
}
.sale-yape-lock {
    position: absolute;
    right: .55rem;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f4e9ff;
    color: #7c3aed;
    font-size: .78rem;
    pointer-events: none;
}
.sale-yape-confirm {
    padding: .7rem .8rem;
    border: 1px solid #e9d5ff;
    border-radius: 8px;
    background: #f4e9ff;
    color: #475569;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.4;
}
.sale-yape-confirm strong {
    color: #6b21a8;
    font-weight: 900;
}
.sale-checkout-config-card.is-plin .sale-yape-hero {
    background: #e6f9ff;
    border-bottom-color: #7dd3fc;
}
.sale-checkout-config-card.is-plin .sale-yape-copy strong,
.sale-checkout-config-card.is-plin .sale-yape-currency,
.sale-checkout-config-card.is-plin .sale-yape-confirm strong {
    color: #0284c7;
}
.sale-checkout-config-card.is-plin .sale-yape-lock {
    background: #e6f9ff;
    color: #00AEEF;
}
.sale-checkout-config-card.is-plin .sale-yape-confirm {
    background: #e6f9ff;
    border-color: #7dd3fc;
}
.sale-checkout-config-card.is-tarjeta .sale-yape-hero {
    background: #eff6ff;
    border-bottom-color: #bfdbfe;
}
.sale-checkout-config-card.is-tarjeta .sale-yape-copy strong,
.sale-checkout-config-card.is-tarjeta .sale-yape-currency,
.sale-checkout-config-card.is-tarjeta .sale-yape-confirm strong {
    color: #1d4ed8;
}
.sale-checkout-config-card.is-tarjeta .sale-yape-lock {
    background: #eff6ff;
    color: #2563eb;
}
.sale-checkout-config-card.is-tarjeta .sale-yape-confirm {
    background: #eff6ff;
    border-color: #bfdbfe;
}
.sale-checkout-config-card.is-transferencia .sale-yape-hero {
    background: #fff7ed;
    border-bottom-color: #fed7aa;
}
.sale-checkout-config-card.is-transferencia .sale-yape-copy strong,
.sale-checkout-config-card.is-transferencia .sale-yape-currency,
.sale-checkout-config-card.is-transferencia .sale-yape-confirm strong {
    color: #c2410c;
}
.sale-checkout-config-card.is-transferencia .sale-yape-lock {
    background: #fff7ed;
    color: #ea580c;
}
.sale-checkout-config-card.is-transferencia .sale-yape-confirm {
    background: #fff7ed;
    border-color: #fed7aa;
}
.sale-checkout-config-card.is-efectivo .sale-yape-hero {
    background: #ecfdf5;
    border-bottom-color: #bbf7d0;
}
.sale-checkout-config-card.is-efectivo .sale-yape-copy strong,
.sale-checkout-config-card.is-efectivo .sale-yape-confirm strong {
    color: #047857;
}
.sale-checkout-config-card.is-efectivo .sale-yape-confirm {
    background: #ecfdf5;
    border-color: #bbf7d0;
}
.sale-checkout-config-card.is-efectivo .sale-checkout-cash-panel {
    max-width: none;
    margin: 0;
    text-align: left;
}
.sale-checkout-config-card.is-efectivo .sale-checkout-pay-input {
    display: inline-flex;
    width: auto;
    flex-wrap: nowrap;
}
.sale-checkout-pay-row {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: nowrap;
}
.sale-exact-cash-f3 {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    line-height: 1;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
.sale-exact-cash-f3 kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.9rem;
    height: 44px;
    padding: 0 .5rem;
    border: 1px solid #94a3b8;
    border-bottom-width: 4px;
    border-radius: .46rem;
    background: linear-gradient(180deg, #ffffff 0%, #e2e8f0 100%);
    color: #0f172a;
    font-family: inherit;
    font-size: .9rem;
    font-weight: 900;
    letter-spacing: .04em;
    box-shadow: inset 0 1px 0 #fff, 0 3px 0 #64748b, 0 4px 6px rgba(15, 23, 42, .18);
    transform: translateY(0);
    transition: transform .08s ease, box-shadow .08s ease, border-width .08s ease, background .08s ease, color .08s ease;
}
.sale-exact-cash-f3:hover kbd,
.sale-exact-cash-f3:focus kbd {
    background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
    border-color: #2563eb;
    color: #1d4ed8;
    outline: none;
}
.sale-exact-cash-f3:active kbd,
.sale-exact-cash-f3.is-pressed kbd,
.sale-exact-cash-f3:active:hover kbd,
.sale-exact-cash-f3.is-pressed:hover kbd,
.sale-exact-cash-f3.is-pressed:focus kbd {
    transform: translateY(3px);
    border-color: #64748b;
    border-bottom-width: 1px;
    background: linear-gradient(180deg, #cbd5e1 0%, #e2e8f0 55%, #f8fafc 100%);
    color: #0f172a;
    box-shadow: inset 0 3px 5px rgba(15, 23, 42, .28);
}
.sale-exact-cash-f3:disabled,
.sale-exact-cash-f3.is-disabled {
    cursor: not-allowed;
    opacity: .45;
}
.sale-exact-cash-f3:disabled kbd,
.sale-exact-cash-f3.is-disabled kbd {
    transform: none;
    box-shadow: inset 0 1px 0 #fff, 0 2px 0 #94a3b8;
}
.sale-checkout-config-card.is-efectivo .sale-checkout-pay-input .form-control {
    flex: 0 0 100px;
    width: 100px;
    max-width: 100px;
}
.sale-checkout-config-card.is-efectivo .sale-checkout-change-line {
    justify-content: flex-start;
}
.sale-checkout-config-card.is-credito .sale-yape-hero {
    background: #fffbeb;
    border-bottom-color: #fde68a;
}
.sale-checkout-config-card.is-credito .sale-yape-copy strong,
.sale-checkout-config-card.is-credito .sale-yape-confirm strong {
    color: #b45309;
}
.sale-checkout-config-card.is-credito .sale-yape-confirm {
    background: #fffbeb;
    border-color: #fde68a;
}
#saleCreditBox {
    display: grid;
    gap: .7rem;
}
#saleCreditBox .sale-yape-field label {
    font-size: .78rem;
    font-weight: 700;
    color: #475569;
}
#saleCreditBox .sale-yape-field .form-control {
    width: auto;
    max-width: 11.5rem;
    height: 32px;
    min-height: 32px;
    padding-top: .2rem;
    padding-bottom: .2rem;
    font-size: .78rem;
}
#saleCreditBox #sale_credit_notes {
    width: 300px;
    max-width: 300px;
}
.sale-checkout-config-card.is-mixto .sale-yape-hero {
    background: #f5f3ff;
    border-bottom-color: #ddd6fe;
}
.sale-checkout-config-card.is-mixto .sale-yape-copy strong,
.sale-checkout-config-card.is-mixto .sale-yape-confirm strong {
    color: #6d28d9;
}
.sale-checkout-config-card.is-mixto .sale-yape-confirm {
    background: #f5f3ff;
    border-color: #ddd6fe;
}
.sale-checkout-cash-panel { max-width: 340px; margin: 0 auto; text-align: center; }
.sale-checkout-field-label { display: block; font-size: .92rem; font-weight: 700; color: #334155; }
.sale-checkout-pay-input .input-group-text { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; font-weight: 700; }
.sale-checkout-pay-input .form-control,
.sale-checkout-pay-input .btn { min-height: 44px; }
@keyframes sale-cash-awaiting-pulse {
    0%, 100% {
        box-shadow: 0 0 0 2px #16a34a;
    }
    50% {
        box-shadow: 0 0 0 5px rgba(22, 163, 74, .28);
    }
}
.sale-checkout-pay-input.is-awaiting-amount {
    border-radius: .5rem;
    animation: sale-cash-awaiting-pulse 1s ease-in-out infinite;
}
.sale-checkout-pay-input.is-awaiting-amount .input-group-text,
.sale-checkout-pay-input.is-awaiting-amount .form-control,
.sale-checkout-pay-input.is-awaiting-amount .btn {
    border-color: #16a34a;
}
.sale-checkout-pay-input.is-awaiting-amount .form-control:focus {
    border-color: #15803d;
    box-shadow: none;
}
.sale-checkout-change-line { display: flex; align-items: center; justify-content: center; gap: .45rem; font-size: 1rem; color: #475569; }
.sale-checkout-change-line strong { font-size: 1.45rem; color: #0f766e; }
@keyframes sale-cash-insufficient-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: .28; }
}
.sale-checkout-change-line.is-insufficient {
    color: #dc2626;
}
.sale-checkout-change-line.is-insufficient #saleChangeLabel {
    display: none;
}
.sale-checkout-change-line.is-insufficient strong {
    color: #dc2626;
    font-size: 1.02rem;
    font-weight: 800;
    line-height: 1.25;
    animation: sale-cash-insufficient-blink .9s ease-in-out infinite;
}
#saleEnableCreditModal,
#saleAuthorizeCreditModal {
    z-index: 2000;
}
.modal-backdrop.sale-enable-credit-backdrop {
    z-index: 1990;
}
.sale-enable-credit-modal .cash-flow-movement-hero {
    grid-template-columns: minmax(0, 1fr) 42px;
    padding: .85rem 2.9rem .85rem 1rem;
}
.sale-enable-credit-modal .cash-flow-movement-hero-icon {
    width: 42px;
    height: 42px;
    font-size: 1rem;
}
.sale-enable-credit-modal .cash-flow-movement-hero h5 {
    font-size: 1rem;
}
.sale-enable-credit-modal .cash-flow-movement-hero p {
    font-size: .78rem;
}
.sale-checkout-actions-panel { display: grid; gap: .45rem; }
.sale-checkout-action-btn { width: 100%; border: 0; border-radius: .78rem; min-height: 43px; padding: .52rem .68rem; display: flex; align-items: center; gap: .5rem; font-weight: 700; font-size: .82rem; text-align: left; transition: all .15s ease; box-shadow: 0 10px 22px rgba(15, 23, 42, .07); }
.sale-checkout-action-btn i { width: 15px; text-align: center; font-size: .82rem; }
.sale-checkout-action-btn:hover { transform: translateY(-1px); }
.sale-checkout-action-print { background: linear-gradient(135deg, #0f766e 0%, #16a34a 100%); color: #fff; }
.sale-checkout-action-cash { background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #fff; }
.sale-checkout-action-cancel { background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%); color: #0f172a; }
.sale-checkout-action-note { background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%); color: #9a3412; border: 1px solid #fdba74; box-shadow: none; }
.sale-checkout-articles { padding: .62rem .55rem; border-radius: .82rem; background: #f8fafc; border: 1px solid #dbeafe; text-align: center; }
.sale-checkout-articles span { display: block; font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; color: #64748b; margin-bottom: .22rem; }
.sale-checkout-articles strong { display: block; font-size: 1.34rem; line-height: 1; color: #0f172a; }
.sale-notes-modal { border-radius: 1rem; overflow: hidden; }
.payment-row { background: #fff; border-color: #dbeafe !important; border-radius: .95rem !important; box-shadow: 0 10px 20px rgba(15, 23, 42, .04); }
.payment-row .form-control { min-height: calc(1.5em + .8rem + 2px); border-radius: .8rem; }
.cash-opening-modal { border: 0; border-radius: 1.2rem; overflow: hidden; box-shadow: 0 24px 60px rgba(15, 23, 42, .2); }
.cash-opening-showcase { min-height: 100%; background: radial-gradient(circle at top left, rgba(255,255,255,.16), transparent 30%), linear-gradient(155deg, #0f172a 0%, #1d4ed8 70%, #38bdf8 100%); color: #fff; padding: 2rem; display: flex; flex-direction: column; justify-content: center; }
.cash-opening-badge { display: inline-flex; align-items: center; padding: .38rem .75rem; border-radius: 999px; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.18); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 1rem; }
.cash-opening-showcase h2 { font-size: 2rem; font-weight: 700; margin-bottom: .8rem; }
.cash-opening-showcase p { color: rgba(255,255,255,.86); line-height: 1.65; max-width: 440px; }
.cash-opening-feature { display: grid; gap: .65rem; margin-top: 1.35rem; }
.cash-opening-feature span { display: flex; align-items: center; gap: .65rem; padding: .7rem .85rem; border-radius: .9rem; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.1); }
.cash-opening-form-wrap { padding: 2rem; background: #fff; display: flex; flex-direction: column; justify-content: center; min-height: 100%; }
.cash-opening-form-head { margin-bottom: 1.4rem; }
.modal-dialog.sale-cash-close-dialog {
    width: calc(100vw - 32px);
    max-width: 980px;
    height: auto;
    max-height: calc(100vh - 32px);
    margin: 16px auto;
}
.sale-cash-close-modal {
    --kajo-blue-950: #001f3f;
    --kajo-blue-900: #003d79;
    --kajo-blue-800: #0056a8;
    --kajo-blue-700: #0072ce;
    --kajo-blue-100: #e6f5ff;
    --kajo-orange: #ff8a00;
    --kajo-ink: #102033;
    --kajo-muted: #5d6b7a;
    --kajo-line: #d8e5ef;
    --kajo-surface: #ffffff;
    --kajo-soft: #f4f9fd;
    --kajo-shadow: 0 24px 70px rgba(0, 40, 86, 0.18);
    display: flex;
    flex-direction: column;
    height: auto;
    max-height: calc(100vh - 32px);
    overflow: hidden;
    border: 1px solid var(--kajo-line);
    border-radius: 8px;
    background: var(--kajo-surface);
    box-shadow: var(--kajo-shadow);
    font-family: Inter, Arial, sans-serif;
    color: var(--kajo-ink);
}
.sale-cash-close-modal form {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: auto;
}
.sale-cash-close-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex: 0 0 auto;
    padding: 16px 20px 10px;
    border: 0;
    background: var(--kajo-soft);
}
.sale-cash-close-heading .modal-title {
    margin: 0;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.15;
    color: var(--kajo-blue-950);
}
.sale-cash-close-heading p {
    margin: 4px 0 0;
    font-size: 13px;
    line-height: 1.35;
    color: var(--kajo-muted);
}
.sale-cash-close-modal .close {
    margin: 0;
    padding: 0;
    color: var(--kajo-blue-800);
    opacity: 1;
}
.sale-cash-close-guide {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    flex: 0 0 auto;
    margin: 0;
    padding: 0 20px 12px;
    background: var(--kajo-soft);
    border-bottom: 1px solid var(--kajo-line);
}
.sale-cash-close-guide-step {
    appearance: none;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 10px;
    border: 1px solid var(--kajo-line);
    border-radius: 8px;
    background: var(--kajo-surface);
    text-align: left;
    box-shadow: none;
    cursor: pointer;
}
.sale-cash-close-guide-step span {
    width: 22px;
    height: 22px;
    margin: 0;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--kajo-blue-100);
    color: var(--kajo-blue-800);
    font-size: 12px;
    font-weight: 800;
    flex: 0 0 22px;
}
.sale-cash-close-guide-step strong {
    display: block;
    font-size: 13px;
    color: var(--kajo-ink);
    line-height: 1.1;
}
.sale-cash-close-guide-step small {
    display: block;
    font-size: 11px;
    color: var(--kajo-muted);
    margin-top: 1px;
}
.sale-cash-close-body {
    flex: 0 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 16px 20px;
}
.sale-cash-close-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    gap: 8px;
    margin: 0 0 10px;
}
.sale-cash-close-guide-step.is-done span {
    background: var(--kajo-blue-800);
    color: #fff;
}
.sale-cash-close-guide-step.is-active {
    border-color: var(--kajo-orange);
    background: #fff8f0;
}
.sale-cash-close-guide-step.is-active span {
    background: var(--kajo-orange);
    color: #fff;
}
.sale-cash-close-step {
    height: auto;
    min-height: 0;
}
.sale-cash-close-summary-card {
    position: relative;
    padding: 10px 12px;
    border-radius: 8px;
    background: var(--kajo-surface);
    border: 1px solid var(--kajo-line);
    box-shadow: none;
    overflow: hidden;
}
.sale-cash-close-summary-card > i {
    position: absolute;
    top: 9px;
    right: 10px;
    color: currentColor;
    font-size: 1rem;
    opacity: .9;
}
.sale-cash-close-summary-card span {
    display: block;
    min-height: 26px;
    padding-right: 1.35rem;
    font-size: 11px;
    font-weight: 700;
    color: inherit;
    opacity: .92;
    margin-bottom: 4px;
    line-height: 1.2;
}
.sale-cash-close-summary-card strong {
    display: block;
    font-size: 22px;
    font-weight: 900;
    color: inherit;
    line-height: 1.05;
}
.sale-cash-close-summary-card-opening {
    color: #ffffff;
    border-color: #1d4ed8;
    background: #2563eb;
}
.sale-cash-close-summary-card-cash,
.sale-cash-close-summary-card-income,
.sale-cash-close-summary-card-credit {
    color: #ffffff;
    border-color: #047857;
    background: #059669;
}
.sale-cash-close-summary-card-yape {
    color: #ffffff;
    border-color: #7c3aed;
    background: #8b5cf6;
}
.sale-cash-close-summary-card-plin {
    color: #ffffff;
    border-color: #0891b2;
    background: #06a6c9;
}
.sale-cash-close-summary-card-card {
    color: #ffffff;
    border-color: #1d4ed8;
    background: #2563eb;
}
.sale-cash-close-summary-card-transfer {
    color: #ffffff;
    border-color: #c2410c;
    background: #ea580c;
}
.sale-cash-close-summary-card-out {
    color: #ffffff;
    border-color: #b91c1c;
    background: #dc2626;
}
.sale-cash-close-summary-card-rounding {
    color: #ffffff;
    border-color: #b45309;
    background: #d97706;
}
.sale-cash-close-summary-card-emphasis {
    border-color: #047857;
    background: #059669;
    color: #ffffff;
}
.sale-cash-close-tip {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 8px;
    background: #fff8f0;
    border: 1px solid #ffd7a8;
    color: #8a4b00;
    font-size: 13px;
    line-height: 1.4;
    margin: 0;
}
.sale-cash-close-tip i {
    margin-top: 2px;
    color: var(--kajo-orange);
}
.sale-cash-close-count-layout,
.sale-cash-close-confirm-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(260px, .9fr);
    gap: 16px;
    height: auto;
    min-height: 0;
    align-items: start;
}
.sale-cash-close-panel-title,
.sale-cash-close-count-side label,
.sale-cash-close-notes label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--kajo-ink);
}
.sale-cash-close-denoms {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
}
.sale-cash-close-denom {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
}
.sale-cash-close-denom span {
    font-size: 12px;
    font-weight: 700;
    color: var(--kajo-muted);
}
.sale-cash-close-denom .form-control,
.sale-cash-close-modal .form-control,
.sale-cash-close-modal .input-group-text {
    border-radius: 8px;
    border-color: var(--kajo-line);
    color: var(--kajo-ink);
}
.sale-cash-close-modal .form-control:focus {
    border-color: var(--kajo-blue-700);
    box-shadow: 0 0 0 3px rgba(0, 114, 206, .16);
}
.sale-cash-close-denom .form-control.has-value,
.sale-cash-close-count-side .form-control.has-value {
    border-color: #047857;
    background: #059669;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    caret-color: #ffffff;
    font-weight: 800;
}
.sale-cash-close-denom .form-control.has-value:focus,
.sale-cash-close-count-side .form-control.has-value:focus {
    border-color: #065f46;
    background: #047857;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    caret-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(5, 150, 105, .26);
}
.sale-cash-close-help {
    margin: 10px 0 0;
    font-size: 12px;
    color: var(--kajo-muted);
}
.sale-cash-close-count-side,
.sale-cash-close-notes {
    padding: 14px;
    border: 1px solid var(--kajo-line);
    border-radius: 8px;
    background: var(--kajo-soft);
}
.sale-cash-close-live {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 12px;
}
.sale-cash-close-live > div {
    padding: 10px;
    border-radius: 8px;
    background: var(--kajo-surface);
    border: 1px solid var(--kajo-line);
}
.sale-cash-close-live span {
    display: block;
    font-size: 11px;
    color: var(--kajo-muted);
    margin-bottom: 2px;
}
.sale-cash-close-live strong {
    font-size: 15px;
    color: var(--kajo-ink);
}
.sale-cash-close-live .sale-cash-close-live-difference {
    color: #c62828;
}
.sale-cash-close-audit {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 0;
}
.sale-cash-close-audit-item {
    position: relative;
    padding: 12px 14px;
    border-radius: 8px;
    background: #2563eb;
    border: 1px solid #1d4ed8;
    color: #ffffff;
    overflow: hidden;
}
.sale-cash-close-audit-item > i {
    position: absolute;
    top: 11px;
    right: 12px;
    color: currentColor;
    font-size: 1.05rem;
    opacity: .9;
}
.sale-cash-close-audit-item span {
    display: block;
    min-height: 26px;
    padding-right: 1.35rem;
    font-size: 11px;
    font-weight: 700;
    color: inherit;
    opacity: .92;
    margin-bottom: 4px;
    line-height: 1.2;
}
.sale-cash-close-audit-item strong {
    display: block;
    font-size: 22px;
    font-weight: 900;
    color: inherit;
    line-height: 1.05;
}
.sale-cash-close-audit-item-theoretical,
.sale-cash-close-audit-item-status.is-ok,
.sale-cash-close-audit-item-difference.is-ok {
    border-color: #047857;
    background: #059669;
}
.sale-cash-close-audit-item-status.is-pending {
    border-color: #1d4ed8;
    background: #2563eb;
}
.sale-cash-close-audit-item-difference.is-short,
.sale-cash-close-audit-item-status.is-short {
    border-color: #b91c1c;
    background: #dc2626;
}
.sale-cash-close-audit-item-difference.is-over,
.sale-cash-close-audit-item-status.is-over {
    border-color: #c2410c;
    background: #ea580c;
}
.sale-cash-close-audit-item #saleCashCloseDifferenceLabel {
    color: #ffffff;
}
.sale-cash-close-notes .form-control {
    min-height: 148px;
    resize: none;
    background: var(--kajo-surface);
}
.sale-cash-close-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex: 0 0 auto;
    padding: 12px 20px 16px;
    border-top: 1px solid var(--kajo-line);
    background: var(--kajo-surface);
}
.sale-cash-close-footer-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}
.sale-cash-close-btn-ghost,
.sale-cash-close-btn-secondary,
.sale-cash-close-btn-primary {
    min-height: 40px;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    box-shadow: none;
}
.sale-cash-close-btn-ghost {
    border: 1px solid var(--kajo-line);
    background: var(--kajo-surface);
    color: var(--kajo-muted);
}
.sale-cash-close-btn-secondary {
    border: 1px solid var(--kajo-blue-700);
    background: var(--kajo-surface);
    color: var(--kajo-blue-800);
}
.sale-cash-close-btn-primary {
    border: 1px solid var(--kajo-orange);
    background: var(--kajo-orange);
    color: #fff;
}
.sale-cash-close-btn-primary:hover,
.sale-cash-close-btn-primary:focus {
    border-color: #e67d00;
    background: #e67d00;
    color: #fff;
}
@media (max-width: 980px) {
    .sale-cash-close-summary,
    .sale-cash-close-denoms {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .sale-cash-close-count-layout,
    .sale-cash-close-confirm-layout {
        grid-template-columns: 1fr;
        overflow: auto;
    }
}
@media (max-width: 760px) {
    .modal-dialog.sale-cash-close-dialog {
        width: calc(100vw - 16px);
        height: auto;
        max-height: calc(100vh - 16px);
        margin: 8px auto;
    }
    .sale-cash-close-guide,
    .sale-cash-close-summary,
    .sale-cash-close-denoms,
    .sale-cash-close-live {
        grid-template-columns: 1fr 1fr;
    }
    .sale-cash-close-footer {
        flex-wrap: wrap;
    }
    .sale-cash-close-footer .btn,
    .sale-cash-close-footer-actions {
        width: 100%;
    }
    .sale-cash-close-footer-actions .btn {
        flex: 1 1 auto;
    }
}
@media (max-width: 420px) {
    .sale-cash-close-guide {
        grid-template-columns: 1fr;
    }
}
.cash-card-soft { border: 1px solid #e2e8f0; box-shadow: 0 12px 24px rgba(15, 23, 42, .04); }
.cash-card-soft .card-header {
    padding: .7rem .9rem;
}
.cash-card-soft .card-header .card-title {
    font-size: .98rem;
    font-weight: 700;
}
.cash-card-soft .card-body {
    padding: .9rem;
}
.cash-card-soft .form-group {
    margin-bottom: .7rem;
}
.cash-card-soft label {
    font-size: .8rem;
    margin-bottom: .28rem;
}
.cash-card-soft .form-control,
.cash-card-soft .input-group-text,
.cash-card-soft .btn {
    min-height: 36px;
    font-size: .88rem;
}
.cash-card-soft textarea.form-control {
    min-height: 72px;
}
.cash-hero-panel {
    background: linear-gradient(180deg, #0f2f55 0%, #123f77 100%);
    border-radius: 1.2rem;
    color: #fff;
    padding: .95rem;
    display: grid;
    gap: .78rem;
    box-shadow: 0 18px 34px rgba(15, 23, 42, .12);
}
.cash-hero-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}
.cash-hero-summary-card {
    background: rgba(255,255,255,.97);
    border-radius: 1rem;
    padding: .68rem .8rem;
    color: #0f172a;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}
.cash-hero-summary-card span {
    display: block;
    font-size: .6rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #64748b;
    margin-bottom: .2rem;
}
.cash-hero-summary-card strong {
    display: block;
    font-size: 1.08rem;
    line-height: 1.1;
    font-weight: 800;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
}
.cash-hero-opening-bar {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: .65rem;
    align-items: center;
    background: linear-gradient(135deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.08) 100%);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 1rem;
    padding: .7rem .82rem;
}
.cash-hero-opening-icon {
    width: 38px;
    height: 38px;
    border-radius: .8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.14);
    color: #fff;
    font-size: .86rem;
}
.cash-hero-opening-content span {
    display: block;
    font-size: .58rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(255,255,255,.72);
    margin-bottom: .18rem;
}
.cash-hero-opening-content strong {
    display: block;
    font-size: .9rem;
    line-height: 1.2;
    color: #fff;
}
.cash-hero-ledgers {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}
.cash-hero-ledger-card {
    background: rgba(255,255,255,.98);
    border-radius: 1.05rem;
    padding: .72rem;
    color: #0f172a;
    box-shadow: 0 10px 20px rgba(15, 23, 42, .08);
}
.cash-hero-ledger-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    margin-bottom: .6rem;
}
.cash-hero-ledger-kicker {
    display: block;
    font-size: .58rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #64748b;
    margin-bottom: .22rem;
}
.cash-hero-ledger-head h4 {
    margin: 0;
    font-size: .86rem;
    font-weight: 800;
    color: #0f172a;
}
.cash-hero-ledger-head > i {
    width: 30px;
    height: 30px;
    border-radius: .7rem;
    display: grid;
    place-items: center;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .76rem;
}
.cash-hero-ledger-list {
    display: grid;
    gap: .32rem;
}
.cash-hero-ledger-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
    border: 1px solid #e2e8f0;
    border-radius: .72rem;
    padding: .52rem .6rem;
    background: #fff;
}
.cash-hero-ledger-item strong {
    font-size: .82rem;
    color: #0f172a;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.cash-hero-ledger-item-label {
    display: grid;
    grid-template-columns: .95rem minmax(0, 1fr);
    align-items: center;
    column-gap: .4rem;
    min-width: 0;
}
.cash-hero-ledger-item-label i {
    width: .82rem;
    text-align: center;
    font-size: .68rem;
    color: #64748b;
}
.cash-hero-ledger-item-label span {
    display: block;
    min-width: 0;
    line-height: 1.1;
    font-size: .68rem;
    font-weight: 700;
    color: #334155;
}
.cash-hero-ledger-total {
    margin-top: .55rem;
    border-radius: .92rem;
    background: linear-gradient(135deg, #0f172a 0%, #1d4ed8 100%);
    padding: .62rem .72rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
}
.cash-hero-ledger-total span {
    font-size: .58rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(255,255,255,.72);
}
.cash-hero-ledger-total strong {
    font-size: .94rem;
    font-weight: 800;
    color: #fff;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.cash-hero-ledger-item-positive {
    border-left: 4px solid #16a34a;
}
.cash-hero-ledger-item-negative {
    border-left: 4px solid #ef4444;
}
.cash-hero-ledger-item-cash {
    border-left: 4px solid #2563eb;
}
.cash-hero-ledger-item-digital {
    border-left: 4px solid #eab308;
}
.cash-hero-ledger-item-credit {
    border-left: 4px solid #7c3aed;
}
.cash-hero-ledger-item-neutral {
    border-left: 4px solid #94a3b8;
}

@media (max-width: 767.98px) {
    .cash-hero-summary,
    .cash-hero-ledgers {
        grid-template-columns: 1fr;
    }
    .cash-hero-summary-card strong { font-size: 1.18rem; }
    .cash-hero-opening-content strong { font-size: .96rem; }
    .cash-hero-ledger-item { grid-template-columns: 1fr; }
    .cash-hero-ledger-item strong { text-align: left; }
    .cash-hero-ledger-total { grid-template-columns: 1fr; }
    .cash-hero-ledger-total strong { text-align: left; }
}

@media (max-width: 1400px) {
    .cash-hero-ledgers {
        grid-template-columns: 1fr;
    }
}
.cash-payment-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.cash-chip { display: inline-flex; align-items: center; padding: .45rem .75rem; border-radius: 999px; background: #eff6ff; border: 1px solid #bfdbfe; color: #1d4ed8; font-weight: 600; }
.cash-cut-stat { background: linear-gradient(180deg, #fff 0%, #f8fafc 100%); border: 1px solid #e2e8f0; border-radius: .82rem; padding: .72rem .82rem; height: 100%; }
.cash-cut-stat span { display: block; font-size: .62rem; text-transform: uppercase; color: #64748b; margin-bottom: .16rem; }
.cash-cut-stat strong { display: block; font-size: .9rem; color: #0f172a; line-height: 1.15; }
.cash-denominations { border: 1px solid #e2e8f0; border-radius: .82rem; padding: .72rem .82rem; background: #f8fafc; }
.cash-card-soft .table {
    margin-bottom: 0;
}
.cash-card-soft .table thead th {
    padding: .62rem .72rem;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #475569;
    background: #f8fafc;
    vertical-align: middle;
    white-space: nowrap;
}
.cash-card-soft .table tbody td {
    padding: .56rem .72rem;
    font-size: .8rem;
    line-height: 1.15;
    vertical-align: middle;
}
.cash-card-soft .table tbody td small {
    font-size: .66rem;
    line-height: 1.05;
}
.cash-card-soft .table-responsive {
    border: 1px solid #e2e8f0;
    border-radius: .82rem;
}
.cash-card-soft .btn.btn-sm,
.cash-card-soft .btn-group-sm > .btn {
    min-height: 32px;
    padding: .35rem .7rem;
    font-size: .76rem;
}
.cash-card-soft .small {
    font-size: .72rem;
}
.cash-card-soft .form-inline label {
    font-size: .78rem;
    font-weight: 700;
}
.cash-card-soft .form-inline .form-control {
    min-height: 34px;
    font-size: .82rem;
}
.cash-card-soft .d-flex.flex-wrap.align-items-center.mt-3,
.cash-card-soft .d-flex.flex-wrap {
    gap: .4rem !important;
}
.cash-close-audit {
    display: grid;
    gap: .5rem;
    margin-bottom: .75rem;
}
.cash-close-audit-item {
    border: 1px solid #e2e8f0;
    border-radius: .75rem;
    padding: .6rem .7rem;
    background: #f8fafc;
}
.cash-close-audit-item span {
    display: block;
    font-size: .62rem;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: .16rem;
}
.cash-close-audit-item strong {
    display: block;
    font-size: .86rem;
    color: #0f172a;
    line-height: 1.15;
}
.cash-flow-close-dialog {
    max-width: min(760px, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    margin: 1rem auto;
}
.cash-flow-close-modal {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 2rem);
    overflow: hidden;
}
.cash-flow-close-modal form {
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: calc(100vh - 2rem);
}
.cash-flow-close-hero {
    flex: 0 0 auto;
    background: linear-gradient(135deg, #fef2f2 0%, #ffffff 55%, #f8fafc 100%);
    border-bottom-color: #fecaca;
}
.cash-flow-close-hero .cash-flow-movement-kicker {
    color: #dc2626;
}
.cash-flow-close-hero .cash-flow-movement-hero-icon {
    background: linear-gradient(135deg, #dc2626, #ef4444);
    box-shadow: 0 14px 24px rgba(220, 38, 38, .18);
}
.cash-flow-close-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 1rem 1.15rem;
}
.cash-flow-close-modal .cash-close-audit {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: .9rem;
}
.cash-flow-close-modal .cash-close-audit-item {
    border-color: #e5eaf1;
    border-radius: 8px;
    background: #f8fafc;
}
.cash-flow-close-modal .cash-close-audit-item-status {
    border-color: #fecaca;
    background: #fef2f2;
}
.cash-flow-close-modal .form-group label,
.cash-flow-close-modal .cash-denominations .text-muted {
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b !important;
}
.cash-flow-close-modal .form-control {
    min-height: 38px;
    border-color: #d9e2ef;
    border-radius: 6px;
    font-weight: 700;
}
.cash-flow-close-modal .cash-denominations {
    border-radius: 8px;
    padding: .8rem;
}
.cash-flow-close-modal .cash-denominations .row {
    margin-left: -.25rem;
    margin-right: -.25rem;
}
.cash-flow-close-modal .cash-denominations .row > div {
    padding-left: .25rem;
    padding-right: .25rem;
    margin-bottom: .5rem !important;
}
.cash-flow-close-modal .cash-denominations label.small {
    display: block;
    color: #475569;
    font-size: .68rem;
    font-weight: 800;
    margin-bottom: .2rem !important;
}
.cash-flow-close-footer {
    flex: 0 0 auto;
}
.cash-flow-close-footer .btn-light {
    background: #e2e8f0;
    border-color: #e2e8f0;
    color: #334155;
}
.cash-flow-close-footer .btn-light:hover,
.cash-flow-close-footer .btn-light:focus {
    background: #cbd5e1;
    border-color: #cbd5e1;
    color: #0f172a;
}
.cash-flow-close-submit {
    background: #dc2626;
    border-color: #dc2626;
    color: #fff;
}
.cash-flow-close-submit:hover,
.cash-flow-close-submit:focus {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #fff;
}
.cash-flow-page {
    position: relative;
    container-type: inline-size;
    color: #111827;
    padding: 1.75rem 0 1rem;
    max-width: 100%;
    overflow-x: clip;
}
.cash-flow-page * {
    min-width: 0;
    letter-spacing: 0;
}
.cash-flow-update-overlay {
    position: absolute;
    inset: 0;
    z-index: 40;
    display: grid;
    place-items: start center;
    padding-top: 5.5rem;
    background: rgba(248, 250, 252, .72);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
}
.cash-flow-page.is-updating .cash-flow-update-overlay {
    opacity: 1;
    pointer-events: auto;
}
.cash-flow-page.is-updating > :not(.cash-flow-update-overlay) {
    filter: saturate(.75);
}
.cash-flow-update-box {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    min-height: 46px;
    padding: .7rem .95rem;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #fff;
    color: #1d4ed8;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .14);
}
.cash-flow-update-box strong {
    font-size: .84rem;
    font-weight: 900;
}
.cash-flow-update-spinner {
    width: 22px;
    height: 22px;
    border: 3px solid #dbeafe;
    border-top-color: #2563eb;
    border-radius: 50%;
    animation: cash-flow-spin .72s linear infinite;
}
.cash-flow-filters.is-loading .cash-flow-icon-button i,
.cash-flow-page.is-updating .cash-flow-icon-button i {
    animation: cash-flow-spin .72s linear infinite;
}
@keyframes cash-flow-spin {
    to { transform: rotate(360deg); }
}
.cash-flow-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-left: .25rem;
    margin: 0 0 1.15rem;
}
.cash-flow-topbar-title {
    display: inline-flex;
    align-items: center;
    font-size: 1.15rem;
    font-weight: 800;
}
.cash-flow-topbar-title i {
    color: #334155;
    font-size: 1rem;
}
.cash-flow-filters {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    min-width: 0;
}
.cash-flow-filter {
    min-height: 36px;
    min-width: 172px;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin: 0;
    border: 1px solid #d9e2ef;
    border-radius: 4px;
    background: #fff;
    padding: 0 .75rem;
    color: #475569;
}
.cash-flow-filter > i,
.cash-flow-filter > span {
    flex: 0 0 auto;
}
.cash-flow-filter > span {
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
}
.cash-flow-filter input,
.cash-flow-filter select {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #0f172a;
    font-size: .84rem;
}
.cash-flow-filter input[type="date"] {
    flex-basis: 8.25rem;
    min-width: 8.25rem;
}
.cash-flow-icon-button {
    width: 36px;
    height: 36px;
    border: 1px solid #d9e2ef;
    border-radius: 4px;
    background: #fff;
    color: #2563eb;
}
.cash-flow-today-button {
    min-height: 36px;
    padding: 0 .9rem;
    border: 1px solid #bfdbfe;
    border-radius: 4px;
    background: #eff6ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .84rem;
    font-weight: 800;
    text-decoration: none !important;
}
.cash-flow-today-button:hover {
    background: #dbeafe;
    color: #1d4ed8;
}
.cash-flow-status,
.cash-flow-empty-open {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 78px;
    padding: 1rem 1.15rem;
    margin-bottom: .9rem;
    border: 1px solid #e5eaf1;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
}
.cash-flow-branch-flow {
    align-items: stretch;
    gap: 1rem;
    min-height: 170px;
    padding: .75rem 1rem;
}
.cash-flow-branch-rail {
    width: 54px;
    display: grid;
    grid-template-rows: 42px repeat(5, minmax(28px, 1fr));
    align-items: center;
    justify-items: center;
    padding-right: .8rem;
    border-right: 1px solid #dbe4f0;
}
.cash-flow-branch-rail .cash-flow-status-dot {
    width: 32px;
    height: 32px;
    box-shadow: 0 0 0 12px rgba(34, 197, 94, .13), 0 0 0 24px rgba(34, 197, 94, .07);
}
.cash-flow-branch-rail span:not(.cash-flow-status-dot) {
    width: 34px;
    height: 26px;
    border-radius: 7px;
    display: grid;
    place-items: center;
    background: #ecfdf5;
    color: #059669;
    font-size: .9rem;
}
.cash-flow-branch-content {
    flex: 1 1 auto;
    min-width: 0;
}
.cash-flow-branch-title {
    min-height: 42px;
    display: flex;
    align-items: center;
    border-bottom: 3px solid transparent;
    border-image: linear-gradient(90deg, #10b981, rgba(16, 185, 129, .14)) 1;
}
.cash-flow-branch-title h2 {
    margin: 0;
    color: #065f46;
    font-size: 1.42rem;
    font-weight: 900;
    line-height: 1.05;
}
.cash-flow-branch-rows {
    border: 1px solid #e5eaf1;
    border-top: 0;
    border-radius: 0 8px 8px 0;
    overflow: hidden;
}
.cash-flow-branch-row {
    min-height: 28px;
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    padding: .28rem .75rem;
    border-top: 1px solid #e5eaf1;
}
.cash-flow-branch-row > span {
    color: #475569;
    font-size: .86rem;
    font-weight: 800;
}
.cash-flow-branch-row > strong {
    min-width: 0;
    color: #111827;
    font-size: .95rem;
    font-weight: 900;
    line-height: 1.15;
}
.cash-flow-branch-row-cashiers {
    min-height: 34px;
}
.cash-flow-status-left {
    display: flex;
    align-items: center;
    gap: 1.35rem;
    min-width: 0;
}
.cash-flow-status-dot {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 12px rgba(34, 197, 94, .14);
    flex: 0 0 auto;
    animation: cashFlowStatusPulse 1.35s ease-in-out infinite;
}
.cash-flow-status.is-closed .cash-flow-status-dot {
    background: #94a3b8;
    box-shadow: 0 0 0 12px rgba(148, 163, 184, .14);
    animation: none;
}
.cash-flow-status.is-closed .cash-flow-status-left strong {
    color: #64748b;
}
.cash-flow-status-copy {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: 1rem;
    row-gap: .12rem;
    padding-left: .2rem;
}
.cash-flow-status-copy > strong,
.cash-flow-status-copy > span {
    grid-column: 1;
}
.cash-flow-status-actions {
    grid-column: 2;
    grid-row: 4;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    min-width: 0;
    margin-top: -.18rem;
}
.cash-flow-status-actions .btn {
    min-height: 30px;
    border: 0;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    padding: .42rem .62rem;
    white-space: nowrap;
}
.cash-flow-status-actions .btn-purple {
    background: linear-gradient(135deg, #7c3aed, #a855f7);
}
.cash-flow-day-sessions {
    grid-column: 2;
    display: flex;
    align-items: stretch;
    gap: .45rem;
    max-width: 100%;
    margin-top: .2rem;
    padding: .18rem .02rem .1rem;
    overflow-x: auto;
    scrollbar-width: thin;
}
.cash-flow-day-session {
    flex: 0 0 auto;
    min-width: 154px;
    max-width: 190px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .12rem .5rem;
    padding: .5rem .58rem;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #f8fafc;
    color: #0f172a;
    line-height: 1.1;
    text-decoration: none;
    transition: border-color .18s ease, border-width .18s ease, box-shadow .18s ease, transform .18s ease;
}
.cash-flow-global-sessions .cash-flow-day-session {
    min-width: 245px;
    max-width: 285px;
}
.cash-flow-global-sessions .cash-flow-day-session strong {
    overflow: hidden;
    font-size: .96rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cash-flow-global-sessions .cash-flow-day-session em {
    overflow: hidden;
    font-size: .91rem;
    text-overflow: ellipsis;
}
.cash-flow-global-sessions .cash-flow-day-session small {
    font-size: .86rem;
}
.cash-flow-global-sessions .cash-flow-day-session b {
    font-size: .94rem;
}
.cash-flow-global-sessions .cash-flow-day-session b span {
    font-size: .73rem;
}
.cash-flow-day-session:hover,
.cash-flow-day-session:focus {
    color: #0f172a;
    text-decoration: none;
    transform: translateY(-1px);
}
.cash-flow-day-session.is-selected {
    border-width: 3px;
    border-color: #059669;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, .16);
}
.cash-flow-day-session strong,
.cash-flow-day-session em,
.cash-flow-day-session small {
    min-width: 0;
}
.cash-flow-day-session strong {
    color: #0f172a;
    font-size: .74rem;
    font-weight: 900;
}
.cash-flow-day-session em {
    grid-column: 1;
    color: #334155;
    font-size: .7rem;
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}
.cash-flow-day-session em span {
    display: block;
}
.cash-flow-day-session small {
    grid-column: 1 / -1;
    overflow: hidden;
    color: #64748b;
    font-size: .66rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cash-flow-day-session b {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    color: #0f172a;
    font-size: .72rem;
    font-weight: 900;
    text-align: right;
    white-space: nowrap;
}
.cash-flow-day-session b span {
    display: block;
    margin-bottom: .08rem;
    color: #64748b;
    font-size: .56rem;
    font-weight: 900;
    text-transform: uppercase;
}
.cash-flow-day-session.is-open {
    border-color: #86efac;
    background: #f0fdf4;
}
.cash-flow-day-session.is-open.is-selected {
    border-color: #10b981;
}
.cash-flow-day-session.is-open strong,
.cash-flow-day-session.is-open b {
    color: #047857;
}
.cash-flow-day-session.is-open b span {
    color: #15803d;
}
.cash-flow-day-session.is-closed {
    border-color: #e2e8f0;
    background: #ffffff;
}
.cash-flow-day-session.is-closed.is-selected {
    border-color: #059669;
}
.cash-flow-day-session-all {
    border-color: #bfdbfe;
    background: #eff6ff;
}
.cash-flow-day-session-all strong,
.cash-flow-day-session-all b {
    color: #1d4ed8;
}
.cash-flow-day-session-all.is-selected {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .16);
}
.cash-flow-cashier-switcher {
    flex: 1 1 auto;
    min-width: 220px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .45rem;
    flex-wrap: wrap;
    align-self: center;
    padding-top: 2.15rem;
}
.cash-flow-branch-row .cash-flow-cashier-switcher {
    min-width: 0;
    padding-top: 0;
    align-self: auto;
}
.cash-flow-cashier-button {
    min-height: 32px;
    max-width: 210px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .35rem .72rem;
    border: 1px solid #dbe4f0;
    border-radius: 4px;
    background: #fff;
    color: #334155;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.1;
    text-decoration: none !important;
    white-space: nowrap;
}
.cash-flow-branch-row .cash-flow-cashier-button {
    min-height: 28px;
    max-width: 180px;
    padding: .24rem .55rem;
    font-size: .74rem;
}
.cash-flow-cashier-button span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cash-flow-cashier-button img {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 auto;
    box-shadow: 0 0 0 1px rgba(37, 99, 235, .18);
}
.cash-flow-cashier-button i {
    color: #2563eb;
    font-size: .78rem;
}
.cash-flow-cashier-button:hover,
.cash-flow-cashier-button.is-active {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
}
.cash-flow-cashier-button.is-active i {
    color: #1d4ed8;
}
.cash-flow-status-left strong,
.cash-flow-empty-open strong {
    display: block;
    color: #16a34a;
    font-size: .98rem;
    font-weight: 800;
}
.cash-flow-status-left span:not(.cash-flow-status-dot),
.cash-flow-empty-open span {
    display: block;
    color: #1f2937;
    font-size: .82rem;
    line-height: 1.25;
}
.cash-flow-status-time {
    text-align: right;
    min-width: 130px;
}
.cash-flow-status-time strong {
    display: block;
    font-size: 1.04rem;
    color: #111827;
}
.cash-flow-status-time span {
    display: block;
    color: #64748b;
    font-size: .72rem;
}
.cash-flow-status-time b {
    color: #2563eb;
    font-size: .82rem;
}
@keyframes cashFlowStatusPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(34, 197, 94, .38), 0 0 0 12px rgba(34, 197, 94, .14);
        transform: scale(.94);
    }
    50% {
        box-shadow: 0 0 0 10px rgba(34, 197, 94, .13), 0 0 0 18px rgba(34, 197, 94, .06);
        transform: scale(1);
    }
    100% {
        box-shadow: 0 0 0 18px rgba(34, 197, 94, 0), 0 0 0 12px rgba(34, 197, 94, .14);
        transform: scale(.94);
    }
}
.cash-flow-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .9rem;
    margin-bottom: .9rem;
}
.cash-flow-metric {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    align-items: center;
    gap: .9rem;
    min-height: 86px;
    padding: .9rem 1rem;
    border: 1px solid #e5eaf1;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
}
.cash-flow-metric-icon {
    width: 70px;
    height: 70px;
    border-radius: 6px;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 1.8rem;
}
.cash-flow-metric span {
    display: block;
    color: #6b7280;
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: .25rem;
}
.cash-flow-metric strong {
    display: block;
    color: #111827;
    font-size: 1.5rem;
    line-height: 1.08;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
.cash-flow-metric-blue .cash-flow-metric-icon { background: linear-gradient(135deg, #1d4ed8, #3b82f6); }
.cash-flow-metric-green .cash-flow-metric-icon { background: linear-gradient(135deg, #16a34a, #22c55e); }
.cash-flow-metric-teal .cash-flow-metric-icon { background: linear-gradient(135deg, #0f766e, #14b8a6); }
.cash-flow-metric-red .cash-flow-metric-icon { background: linear-gradient(135deg, #ef4444, #fb7185); }
.cash-flow-metric-purple .cash-flow-metric-icon { border-radius: 50%; background: linear-gradient(135deg, #7c3aed, #a855f7); }
.cash-flow-metric-orange .cash-flow-metric-icon { border-radius: 50%; background: linear-gradient(135deg, #f59e0b, #fb923c); }
.cash-flow-metric-indigo .cash-flow-metric-icon { border-radius: 50%; background: linear-gradient(135deg, #1d4ed8, #2563eb); }
.cash-flow-metric-cyan .cash-flow-metric-icon { border-radius: 50%; background: linear-gradient(135deg, #06b6d4, #38bdf8); }
.cash-flow-history-kpis {
    gap: .55rem;
    margin-bottom: .9rem;
}
.cash-flow-history-kpis-wide {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.cash-flow-history-kpi-card {
    min-width: 0;
}
.cash-flow-history-kpi-icon {
    box-shadow: none;
}
.cash-flow-history-kpis .sales-history-kpi-brand img {
    object-fit: contain;
    padding: 4px;
}
.cash-flow-history-kpi-blue { background: #0d6efd; }
.cash-flow-history-kpi-green { background: #198754; }
.cash-flow-history-kpi-teal { background: #0f766e; }
.cash-flow-history-kpi-red { background: #dc3545; }
.cash-flow-history-kpi-purple { background: #6f42c1; }
.cash-flow-history-kpi-orange { background: #fd7e14; }
.cash-flow-history-kpi-indigo { background: #6610f2; }
.cash-flow-history-kpi-cyan { background: #0dcaf0; color: #0f172a; }
.cash-flow-history-kpis .sales-history-kpi-copy span,
.cash-flow-history-kpis .sales-history-kpi-copy strong,
.cash-flow-history-kpis .sales-history-kpi-copy small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cash-sessions-page {
    gap: .75rem;
}

.cash-sessions-kpi-row {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.cash-sessions-kpi-row .sales-history-kpi-copy span,
.cash-sessions-kpi-row .sales-history-kpi-copy strong,
.cash-sessions-kpi-row .sales-history-kpi-copy small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cash-sessions-filter-card {
    margin-bottom: 0;
}

.cash-sessions-filter-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.cash-sessions-filter-grid > .form-group {
    grid-column: span 2;
}

.cash-sessions-filter-grid .cash-sessions-branch-filter {
    grid-column: span 3;
}

.cash-sessions-filter-actions {
    grid-column: span 3 !important;
    gap: .45rem;
    align-items: end;
    justify-content: flex-start;
}

.cash-sessions-filter-actions .btn {
    width: auto;
    min-width: 86px;
}

.cash-sessions-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.cash-sessions-list-card .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.cash-sessions-context {
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
}

.cash-sessions-table {
    min-width: 940px;
}

.cash-sessions-table td small {
    display: block;
    margin-top: .12rem;
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
}

.cash-session-code {
    color: #6f42c1;
    font-weight: 900;
    text-decoration: none;
}

.cash-session-code:hover {
    color: #5b21b6;
    text-decoration: none;
}

.cash-session-status,
.cash-session-online,
.cash-session-balance {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    min-height: 20px;
    border-radius: 999px;
    padding: .15rem .45rem;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.cash-session-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex: 0 0 8px;
}

.cash-session-status.is-open,
.cash-session-online.is-online,
.cash-session-balance.is-ok {
    color: #047857;
    background: #dcfce7;
}

.cash-session-status.is-open .cash-session-status-dot {
    background: #22c55e;
}

.cash-session-status.is-closed,
.cash-session-online.is-offline {
    color: #475569;
    background: #e2e8f0;
}

.cash-session-status.is-closed .cash-session-status-dot {
    background: #fff;
    border: 1px solid #94a3b8;
}

.cash-session-balance.is-pending {
    color: #92400e;
    background: #fef3c7;
}

.cash-session-balance.is-bad {
    color: #b91c1c;
    background: #fee2e2;
}

.cash-session-balance-cell small,
.cash-session-note {
    display: block;
    margin-top: .22rem;
    color: #64748b;
    font-size: .66rem;
    font-weight: 800;
    white-space: normal;
}

.cash-session-note {
    color: #92400e;
}

.cash-session-no-actions {
    color: #94a3b8;
    font-weight: 900;
}

.cash-sessions-side {
    display: grid;
    gap: .75rem;
}

.cash-session-detail-card,
.cash-session-summary-card {
    margin-bottom: 0;
    padding: 1rem 1.1rem 1.1rem;
}

.cash-session-detail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    margin-bottom: .75rem;
}

.cash-session-detail-head h3,
.cash-session-summary-card h3 {
    margin: 0;
    color: #0f172a;
    font-size: .94rem;
    font-weight: 900;
}

.cash-session-detail-code {
    margin-bottom: .8rem;
    color: #6f42c1;
    font-size: 1.15rem;
    font-weight: 900;
}

.cash-session-detail-list,
.cash-session-money-list {
    display: grid;
}

.cash-session-detail-list div,
.cash-session-money-list div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .52rem 0;
    border-bottom: 1px solid #edf1f6;
}

.cash-session-detail-list span,
.cash-session-money-list span {
    color: #64748b;
    font-size: .74rem;
    font-weight: 900;
}

.cash-session-detail-list strong,
.cash-session-money-list strong {
    min-width: 0;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 900;
    text-align: right;
}

.cash-session-money-list {
    margin-top: .8rem;
}

.cash-session-money-list strong.is-positive,
.cash-session-detail-list strong.is-positive {
    color: #059669;
}

.cash-session-money-list strong.is-negative,
.cash-session-detail-list strong.is-negative {
    color: #dc2626;
}

.cash-session-empty {
    padding: 1rem 0;
    color: #64748b;
    font-size: .8rem;
    font-weight: 800;
}

.cash-session-summary-mini {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    margin: .8rem 0 .7rem;
}

.cash-session-summary-mini div {
    min-width: 0;
    padding: .65rem .45rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    text-align: center;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .04);
}

.cash-session-summary-mini i {
    display: block;
    margin-bottom: .38rem;
    color: #6f42c1;
    font-size: .9rem;
}

.cash-session-summary-mini strong {
    display: block;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
}

.cash-session-summary-mini span {
    display: block;
    margin-top: .25rem;
    color: #64748b;
    font-size: .64rem;
    font-weight: 800;
}

@media (max-width: 1199.98px) {
    .cash-sessions-kpi-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cash-sessions-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .cash-sessions-filter-grid > .form-group,
    .cash-sessions-filter-grid .cash-sessions-branch-filter,
    .cash-sessions-filter-actions {
        grid-column: span 12 !important;
    }

    .cash-sessions-filter-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 767.98px) {
    .cash-sessions-kpi-row {
        grid-template-columns: 1fr;
    }

    .cash-sessions-list-card .card-header,
    .cash-sessions-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .cash-sessions-context {
        white-space: normal;
    }

    .cash-sessions-filter-actions .btn {
        width: 100%;
    }

    .cash-session-detail-card,
    .cash-session-summary-card {
        padding: .9rem;
    }
}
.cash-flow-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(300px, .92fr) 360px;
    gap: .9rem;
    align-items: stretch;
    margin-bottom: .9rem;
    min-width: 0;
}
.cash-flow-main-grid.is-charts-only {
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, 1fr);
}
.cash-flow-top-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto auto auto auto;
    gap: .9rem;
    align-items: stretch;
    margin-bottom: .9rem;
    min-width: 0;
}
.cash-flow-top-cards.is-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cash-flow-top-cards.is-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cash-flow-page .cash-flow-top-cards.is-three {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 500px), 1fr));
    grid-template-rows: none;
    align-items: start;
}
.cash-flow-top-cards > .cash-flow-panel,
.cash-flow-top-cards > .cash-flow-cashbox-stack {
    min-width: 0;
    height: auto;
}
.cash-flow-cashbox-stack {
    display: grid;
    grid-row: auto;
    grid-template-rows: none;
    align-content: start;
    gap: .65rem;
}
.cash-flow-card-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    min-width: 0;
}
.cash-flow-card-pair > .cash-flow-total-sales-card {
    min-width: 0;
}
.cash-flow-panel-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    min-width: 0;
    align-items: stretch;
}
.cash-flow-panel-pair > .cash-flow-panel {
    min-width: 0;
    height: 100%;
}
.cash-flow-empty-slot {
    min-height: 0;
}
.cash-flow-top-cards > .cash-flow-actions-panel {
    grid-row: span 4;
}
.cash-flow-total-sales-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 64px;
    min-width: 0;
    padding: .78rem .9rem;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 54%, #ecfeff 100%);
    box-shadow: 0 8px 18px rgba(37, 99, 235, .08);
}
.cash-flow-total-sales-copy {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-width: 0;
    max-width: calc(100% - 72px);
}
.cash-flow-total-sales-copy span {
    display: inline-block;
    color: #1d4ed8;
    font-size: calc(.72rem + 3px);
    font-weight: 800;
    line-height: 1.15;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cash-flow-total-sales-card > strong {
    display: inline-block;
    color: #0f172a;
    font-size: 1.08rem;
    font-weight: 900;
    line-height: 1.12;
    white-space: nowrap;
}
.cash-flow-total-sales-copy > i {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2563eb;
    color: #ffffff;
    font-size: 1rem;
    box-shadow: 0 8px 14px rgba(37, 99, 235, .2);
}
.cash-flow-profit-card {
    border-color: #bbf7d0;
    background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 54%, #ecfdf5 100%);
    box-shadow: 0 8px 18px rgba(22, 163, 74, .08);
}
.cash-flow-profit-card .cash-flow-total-sales-copy span {
    color: #15803d;
}
.cash-flow-profit-card .cash-flow-total-sales-copy > i {
    background: #16a34a;
    box-shadow: 0 8px 14px rgba(22, 163, 74, .2);
}
.cash-flow-profit-card.is-restricted > strong {
    color: #94a3b8;
    letter-spacing: .18em;
    min-width: 2.2rem;
    text-align: right;
}
.cash-flow-placeholder-card {
    border-color: #e5e7eb;
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 54%, #f1f5f9 100%);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .05);
}
.cash-flow-placeholder-card .cash-flow-total-sales-copy span {
    color: #475569;
}
.cash-flow-placeholder-card .cash-flow-total-sales-copy > i {
    background: #64748b;
    box-shadow: 0 8px 14px rgba(100, 116, 139, .16);
}
.cash-flow-placeholder-panel {
    border-style: dashed;
    background: #fbfdff;
}
.cash-flow-cash-income-card {
    border-color: #bbf7d0;
    background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 54%, #ecfdf5 100%);
    box-shadow: 0 8px 18px rgba(22, 163, 74, .08);
}
.cash-flow-cash-income-card .cash-flow-total-sales-copy span {
    color: #15803d;
}
.cash-flow-cash-income-card .cash-flow-total-sales-copy > i {
    background: #16a34a;
    box-shadow: 0 8px 14px rgba(22, 163, 74, .2);
}
.cash-flow-cash-output-card {
    border-color: #fecaca;
    background: linear-gradient(135deg, #fef2f2 0%, #ffffff 54%, #fff1f2 100%);
    box-shadow: 0 8px 18px rgba(220, 38, 38, .08);
}
.cash-flow-cash-output-card .cash-flow-total-sales-copy span {
    color: #b91c1c;
}
.cash-flow-cash-output-card .cash-flow-total-sales-copy > i {
    background: #dc2626;
    box-shadow: 0 8px 14px rgba(220, 38, 38, .2);
}
.cash-flow-credit-payments-card {
    border-color: #c4b5fd;
    background: linear-gradient(135deg, #f5f3ff 0%, #ffffff 54%, #eef2ff 100%);
    box-shadow: 0 8px 18px rgba(124, 58, 237, .08);
}
.cash-flow-credit-payments-card .cash-flow-total-sales-copy span {
    color: #6d28d9;
}
.cash-flow-credit-payments-card .cash-flow-total-sales-copy > i {
    background: #7c3aed;
    box-shadow: 0 8px 14px rgba(124, 58, 237, .2);
}
.cash-flow-refunds-card {
    border-color: #fecdd3;
    background: linear-gradient(135deg, #fff1f2 0%, #ffffff 54%, #fdf2f8 100%);
    box-shadow: 0 8px 18px rgba(225, 29, 72, .08);
}
.cash-flow-refunds-card .cash-flow-total-sales-copy span {
    color: #be123c;
}
.cash-flow-refunds-card .cash-flow-total-sales-copy > i {
    background: #e11d48;
    box-shadow: 0 8px 14px rgba(225, 29, 72, .2);
}
.cash-flow-breakdown-panel {
    min-height: 96px;
    padding: .72rem .85rem;
}
.cash-flow-progress-rows {
    display: grid;
    gap: .58rem;
}
.cash-flow-progress-row {
    display: grid;
    grid-template-columns: minmax(92px, .9fr) minmax(74px, 1fr) auto;
    align-items: center;
    gap: .62rem;
    min-width: 0;
}
.cash-flow-progress-row span {
    min-width: 0;
    color: #334155;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.15;
}
.cash-flow-progress-row strong {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
    line-height: 1.15;
    white-space: nowrap;
}
.cash-flow-progress-track {
    overflow: hidden;
    height: 8px;
    border-radius: 999px;
    background: #e5eaf1;
}
.cash-flow-progress-track i {
    display: block;
    height: 100%;
    min-width: 4px;
    border-radius: inherit;
    background: #2563eb;
}
.cash-flow-progress-blue i,
.cash-flow-progress-blue .cash-flow-progress-track i { background: #2563eb; }
.cash-flow-progress-green i,
.cash-flow-progress-green .cash-flow-progress-track i { background: #16a34a; }
.cash-flow-progress-teal i,
.cash-flow-progress-teal .cash-flow-progress-track i { background: #0f766e; }
.cash-flow-progress-orange i,
.cash-flow-progress-orange .cash-flow-progress-track i { background: #f97316; }
.cash-flow-progress-red i,
.cash-flow-progress-red .cash-flow-progress-track i { background: #dc2626; }
.cash-flow-progress-rose i,
.cash-flow-progress-rose .cash-flow-progress-track i { background: #e11d48; }
.cash-flow-progress-purple i,
.cash-flow-progress-purple .cash-flow-progress-track i { background: #7c3aed; }
.cash-flow-progress-cyan i,
.cash-flow-progress-cyan .cash-flow-progress-track i { background: #0891b2; }
.cash-flow-progress-slate i,
.cash-flow-progress-slate .cash-flow-progress-track i { background: #64748b; }
.cash-flow-panel {
    border: 1px solid #e5eaf1;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
}
.cash-flow-panel-pair > .cash-flow-cashbox,
.cash-flow-panel-pair > .cash-flow-state,
.cash-flow-panel-pair > .cash-flow-placeholder-panel {
    min-height: 204px;
}
.cash-flow-panel h3 {
    margin: 0;
    font-size: .94rem;
    font-weight: 800;
    color: #111827;
}
.cash-flow-panel-head,
.cash-flow-panel header,
.cash-flow-detail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .85rem 1rem .45rem;
}
.cash-flow-panel-head select {
    min-height: 36px;
    border: 1px solid #d9e2ef;
    border-radius: 4px;
    background: #fff;
    color: #334155;
    padding: 0 .7rem;
    font-size: .82rem;
}
.cash-flow-chart-legend {
    display: flex;
    gap: 1rem;
    padding: 0 1rem;
    color: #334155;
    font-size: .78rem;
}
.cash-flow-chart-legend span,
.cash-flow-payment-row span {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}
.cash-flow-chart-legend i,
.cash-flow-payment-row i {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    display: inline-block;
}
.cash-flow-chart-legend .is-income { background: #22c55e; }
.cash-flow-chart-legend .is-expense { background: #ef4444; }
.cash-flow-bars {
    min-height: 205px;
    padding: 1rem 1rem .8rem;
    display: grid;
    grid-template-columns: repeat(12, minmax(28px, 1fr));
    gap: .55rem;
    align-items: end;
    background-image: linear-gradient(to bottom, #edf2f7 1px, transparent 1px);
    background-size: 100% 34px;
    background-origin: content-box;
}
.cash-flow-bar-group {
    display: grid;
    justify-items: center;
    gap: .4rem;
}
.cash-flow-bar-pair {
    height: 145px;
    display: flex;
    align-items: end;
    gap: .2rem;
}
.cash-flow-bar {
    width: 10px;
    border-radius: 2px 2px 0 0;
    display: block;
}
.cash-flow-bar.income { background: #22c55e; }
.cash-flow-bar.expense { background: #ef4444; }
.cash-flow-bar-group small {
    color: #334155;
    font-size: .72rem;
}
.cash-flow-donut-layout {
    display: grid;
    grid-template-columns: 145px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: .8rem 1rem 1rem;
}
.cash-flow-donut {
    width: 142px;
    height: 142px;
    border-radius: 50%;
    display: grid;
    place-items: center;
}
.cash-flow-donut span {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #fff;
    display: block;
}
.cash-flow-payment-list {
    display: grid;
    gap: .62rem;
}
.cash-flow-payment-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    font-size: .78rem;
    color: #111827;
}
.cash-flow-payment-row strong {
    text-align: right;
    font-size: .78rem;
    font-weight: 800;
}
.cash-flow-payment-row small {
    display: block;
    color: #334155;
    font-weight: 500;
}
.cash-flow-side-stack {
    display: grid;
    gap: .9rem;
}
.cash-flow-cashbox header,
.cash-flow-state header {
    padding: .55rem .85rem .2rem;
}
.cash-flow-cashbox,
.cash-flow-state,
.cash-flow-credit-detail-panel,
.cash-flow-actions-panel {
    padding-bottom: .45rem;
}
.cash-flow-credit-detail-panel header {
    padding: .55rem .85rem .2rem;
}
.cash-flow-cashbox-rows {
    padding: 0 1.25rem .4rem .85rem;
    display: grid;
    gap: 0;
}
.cash-flow-cashbox-row {
    --cash-flow-detail-scale: 1.3;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(76px, .85fr) minmax(96px, auto);
    align-items: center;
    gap: calc(.5rem * var(--cash-flow-detail-scale));
    min-height: calc(21px * var(--cash-flow-detail-scale));
    padding: calc(1px * var(--cash-flow-detail-scale)) 0;
    border-bottom: 0;
    line-height: 1.15;
    font-size: calc(.82rem * var(--cash-flow-detail-scale));
    color: #334155;
}
.cash-flow-cashbox-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}
.cash-flow-cashbox-row span {
    text-align: left;
    min-width: 0;
    line-height: 1.15;
    align-self: center;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cash-flow-cashbox-row strong {
    text-align: right;
    padding-right: .75rem;
    font-size: calc(.82rem * var(--cash-flow-detail-scale));
    font-weight: 800;
    line-height: 1.15;
    color: #111827;
    white-space: nowrap;
}
.cash-flow-cashbox-row.is-in strong {
    color: #16a34a;
}
.cash-flow-cashbox-row.is-out strong {
    color: #dc2626;
}
.cash-flow-cashbox-row.cash-flow-credit-payment-row strong {
    color: #0f172a;
}
.cash-flow-cashbox-row.cash-flow-refund-row strong {
    color: #0f172a;
}
.cash-flow-cashbox-row.cash-flow-output-detail-row strong {
    color: #0f172a;
}
.cash-flow-cashbox-row.cash-flow-income-detail-row strong {
    color: #0f172a;
}
.cash-flow-cashbox-sum-row {
    min-height: 16px;
    padding-top: 0;
}
.cash-flow-cashbox-sum-row strong {
    color: #0f172a;
    border-top: 1px solid #0f172a;
    padding-top: 1px;
}
.cash-flow-cashbox-total-block {
    align-items: center;
    padding-bottom: 0;
    padding-top: 1px;
}
.cash-flow-cashbox-row > .cash-flow-progress-track {
    align-self: center;
    width: 100%;
    min-width: 58px;
}
.cash-flow-cashbox-total-amounts {
    display: grid;
    width: max-content;
    justify-items: stretch;
    gap: 2px;
    align-self: start;
}
.cash-flow-cashbox-total-amounts strong {
    display: block;
    text-align: right;
    line-height: 1.15;
}
.cash-flow-cashbox-total-amounts strong.is-out {
    border-bottom: 1px solid #0f172a;
    padding-bottom: 1px;
    color: #dc2626;
}
.cash-flow-cashbox-total-amounts strong.is-sum {
    padding-top: 1px;
    color: #0f172a;
}
.cash-flow-cashline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 .85rem .45rem;
    padding: .65rem .75rem;
    border-radius: 6px;
    background: #f8fafc;
    border: 1px solid #e5eaf1;
    font-size: .82rem;
}
.cash-flow-cashline strong {
    font-size: .9rem;
    color: #111827;
}
.cash-flow-cashline.is-diff {
    background: #ffe4e6;
    border-color: #fecdd3;
    color: #dc2626;
}
.cash-flow-cashline.is-diff strong { color: #dc2626; }
.cash-flow-state-box {
    margin: 0 .85rem;
    padding: .65rem .75rem;
    border: 1px solid #e5eaf1;
    border-radius: 6px;
}
.cash-flow-state-box div {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    padding: .32rem 0;
    font-size: .78rem;
}
.cash-flow-state-box span {
    color: #64748b;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}
.cash-flow-state-box i {
    color: #16a34a;
    width: 14px;
}
.cash-flow-state-box strong {
    text-align: right;
    color: #111827;
}
.cash-flow-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
    padding: 0 .85rem;
}
.cash-flow-actions .btn {
    min-height: 36px;
    border-radius: 4px;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    color: #fff;
    font-size: .76rem;
    font-weight: 800;
    white-space: normal;
}
.cash-flow-actions .btn-purple {
    grid-column: span 1;
    background: linear-gradient(135deg, #7c3aed, #a855f7);
}
.cash-flow-lower-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: .9rem;
    margin-bottom: .9rem;
}
.cash-flow-latest {
    grid-column: span 1;
}
.cash-flow-payment-summary {
    grid-column: span 1;
}
.cash-flow-timeline,
.cash-flow-payment-bars {
    padding: .45rem 1rem 1rem;
}
.cash-flow-timeline-row {
    display: grid;
    grid-template-columns: 72px 28px minmax(0, 1fr) auto 104px;
    align-items: center;
    gap: .6rem;
    min-height: 36px;
    font-size: .78rem;
}
.cash-flow-timeline-row time {
    color: #64748b;
}
.cash-flow-timeline-row > i {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: .7rem;
}
.cash-flow-timeline-row > i.is-in { background: #22c55e; }
.cash-flow-timeline-row > i.is-out { background: #ef4444; }
.cash-flow-timeline-row span {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cash-flow-timeline-row strong {
    white-space: nowrap;
    font-size: .78rem;
}
.cash-flow-timeline-row strong.is-in { color: #16a34a; }
.cash-flow-timeline-row strong.is-out { color: #ef4444; }
.cash-flow-timeline-row em {
    border-radius: 4px;
    padding: .18rem .42rem;
    background: #dcfce7;
    color: #16a34a;
    font-style: normal;
    font-weight: 800;
    font-size: .68rem;
    text-align: center;
}
.cash-flow-payment-badge {
    display: flex;
    align-items: stretch;
    width: 104px;
    min-width: 104px;
    height: 24px;
    overflow: hidden;
    padding: 0;
    background: transparent;
    border-radius: 999px;
    color: #fff;
}
.cash-flow-timeline-row .cash-flow-payment-badge {
    display: flex;
    padding: 0;
    background: transparent;
    border-radius: 999px;
    color: #fff;
    box-shadow: none;
}
.cash-flow-payment-badge b {
    flex: 1 1 0;
    display: grid;
    place-items: center;
    min-width: 0;
    color: #fff;
    font-size: .62rem;
    font-weight: 900;
    line-height: 1;
}
.cash-flow-payment-badge.is-single b {
    padding: 0 .42rem;
    font-size: .6rem;
    text-transform: uppercase;
}
.cash-flow-payment-badge b + b {
    border-left: 1px solid rgba(255, 255, 255, .55);
}
.cash-flow-payment-bar-row {
    display: grid;
    grid-template-columns: 95px minmax(0, 1fr) 110px 44px;
    align-items: center;
    gap: .75rem;
    min-height: 33px;
    font-size: .78rem;
}
.cash-flow-payment-bar-row div {
    height: 6px;
    background: #e5e7eb;
    border-radius: 999px;
    overflow: hidden;
}
.cash-flow-payment-bar-row i {
    height: 100%;
    display: block;
    border-radius: 999px;
}
.cash-flow-payment-bar-row strong {
    text-align: right;
    color: #111827;
    font-size: .78rem;
}
.cash-flow-payment-bar-row em {
    text-align: right;
    color: #334155;
    font-style: normal;
    font-size: .78rem;
}
.cash-flow-detail-head {
    padding-bottom: .75rem;
}
.cash-flow-detail {
    margin-bottom: .9rem;
    min-width: 0;
    overflow: hidden;
}
.cash-flow-detail-head > div {
    display: flex;
    align-items: center;
    gap: .55rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.cash-flow-detail-head label {
    min-height: 36px;
    min-width: 230px;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    border: 1px solid #d9e2ef;
    border-radius: 4px;
    padding: 0 .75rem;
    color: #64748b;
}
.cash-flow-detail-head input {
    border: 0;
    outline: 0;
    min-width: 0;
    width: 100%;
    font-size: .82rem;
}
.cash-flow-export-excel {
    background: #16a34a;
    border-color: #16a34a;
    color: #fff;
    font-weight: 800;
}
.cash-flow-export-excel:hover,
.cash-flow-export-excel:focus {
    background: #15803d;
    border-color: #15803d;
    color: #fff;
}
.cash-flow-detail .table-responsive {
    border-top: 1px solid #e5eaf1;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.cash-flow-table {
    margin: 0;
    min-width: 1120px;
}
.cash-flow-table thead th {
    background: #1b365d;
    border-top: 0;
    border-bottom: 0;
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    padding: .72rem .8rem;
}
.cash-flow-table tbody td {
    border-color: #edf1f6;
    color: #111827;
    font-size: .78rem;
    padding: .62rem .8rem;
}
.cash-flow-datatable-footer {
    border-top: 1px solid #edf1f6;
    color: #64748b;
    font-size: .78rem;
}
.cash-flow-datatable-footer .dataTables_info {
    padding-top: .45rem;
}
.cash-flow-datatable-footer .pagination {
    justify-content: flex-end;
    margin: .35rem 0 0;
}
.cash-flow-datatable-footer .page-link {
    border-color: #dbeafe;
    color: #2563eb;
    font-weight: 700;
}
.cash-flow-datatable-footer .page-item.active .page-link {
    background: #2563eb;
    border-color: #2563eb;
}
.cash-flow-type {
    font-weight: 800;
    font-size: .76rem;
}
.cash-flow-type.is-in,
.cash-flow-money-in {
    color: #16a34a;
}
.cash-flow-type.is-out,
.cash-flow-money-out {
    color: #ef4444;
}
.cash-flow-table tbody td.cash-flow-money-in {
    color: #16a34a;
    font-weight: 800;
}
.cash-flow-table tbody td.cash-flow-money-out {
    color: #ef4444;
    font-weight: 800;
}
.cash-flow-table .cash-flow-payment-badge-table {
    vertical-align: middle;
}
.cash-flow-payment-icons {
    font-style: normal;
    justify-content: center;
}
.cash-flow-payment-icons .sales-history-method-unknown .sales-history-method-visual {
    background: #334155;
}
.cash-flow-view-button {
    width: 30px;
    height: 30px;
    border: 1px solid #dbeafe;
    border-radius: 4px;
    display: inline-grid;
    place-items: center;
    background: #eff6ff;
    color: #2563eb;
}
.cash-flow-view-button:disabled {
    background: #f1f5f9;
    border-color: #e2e8f0;
    color: #94a3b8;
    cursor: not-allowed;
}
.cash-document-preview-dialog {
    max-width: min(760px, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    margin: 1rem auto;
}
#cashDocumentPreviewModal.is-ticket .cash-document-preview-dialog {
    max-width: min(380px, calc(100vw - 2rem));
}
#cashDocumentPreviewModal.is-a4 .cash-document-preview-dialog {
    max-width: min(760px, calc(100vw - 2rem));
}
.cash-document-preview-modal {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 2rem);
    overflow: hidden;
}
.cash-document-preview-body {
    flex: 1 1 auto;
    height: min(72vh, 720px);
    min-height: 240px;
    padding: 0;
    background: #f8fafc;
    overflow: hidden;
}
#cashDocumentPreviewModal.is-ticket .cash-document-preview-body {
    height: min(68vh, 620px);
}
.cash-document-preview-body iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #fff;
}
.cash-document-preview-close {
    min-width: 180px;
    background: #dc2626;
    border-color: #dc2626;
    color: #fff;
    font-weight: 800;
}
.cash-document-preview-close:hover,
.cash-document-preview-close:focus {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #fff;
}
.cash-flow-empty-row {
    padding: .75rem 0;
    color: #64748b;
    font-size: .86rem;
}
.cash-flow-modal {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .18);
}
.cash-flow-modal .modal-header,
.cash-flow-modal .modal-footer {
    border-color: #e5eaf1;
}
.cash-flow-modal .form-control,
.cash-flow-modal .input-group-text,
.cash-flow-modal .btn {
    border-radius: 4px;
}
.cash-flow-movement-dialog {
    max-width: 560px;
}
.cash-flow-movement-dialog-compact {
    max-width: 380px;
    margin: 1rem auto;
}
.cash-flow-movement-hero-compact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .7rem .85rem;
    background: #f8fafc;
    border-bottom: 1px solid #e5eaf1;
}
.cash-flow-movement-modal-compact.is-egress .cash-flow-movement-hero-compact {
    background: #fff7f7;
    border-bottom-color: #fecdd3;
}
.cash-flow-movement-modal-compact.is-withdrawal .cash-flow-movement-hero-compact {
    background: #fffbeb;
    border-bottom-color: #fde68a;
}
.cash-flow-movement-modal-compact.is-withdrawal .modal-title {
    color: #92400e;
}
.cash-flow-movement-hero-compact .modal-title {
    margin: 0;
    font-size: .95rem;
    font-weight: 800;
    color: #0f172a;
}
.cash-flow-movement-hero-compact .cash-flow-movement-close {
    position: static;
    margin: 0;
    padding: 0;
    line-height: 1;
}
.cash-flow-movement-body-compact {
    padding: .75rem .85rem .55rem;
}
.cash-flow-movement-modal-compact .cash-flow-movement-type {
    margin-bottom: .55rem;
}
.cash-flow-movement-modal-compact .cash-flow-movement-type span {
    min-height: 34px;
    padding: .3rem .5rem;
    font-size: .78rem;
}
.cash-flow-movement-modal-compact .cash-flow-movement-field {
    margin-bottom: .55rem;
}
.cash-flow-movement-modal-compact .cash-flow-movement-field .form-control,
.cash-flow-movement-modal-compact .cash-flow-movement-field .input-group-text {
    min-height: 34px;
    height: 34px;
    font-size: .86rem;
}
.cash-flow-movement-modal-compact .cash-flow-movement-amount .form-control {
    font-size: .95rem;
}
.cash-flow-movement-footer-compact {
    padding: .55rem .85rem;
}
.cash-flow-movement-footer-compact .btn {
    min-height: 32px;
    min-width: 0;
    padding: .28rem .7rem;
    font-size: .8rem;
}
.license-modal-dialog {
    max-width: 860px;
}
.cash-flow-movement-modal {
    overflow: hidden;
}
.license-form-modal {
    max-height: calc(100vh - 2rem);
}
.license-form-modal form {
    display: flex;
    min-height: 0;
    max-height: calc(100vh - 2rem);
    flex-direction: column;
}
.license-form-hero {
    flex: 0 0 auto;
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 55%, #f8fafc 100%);
    border-bottom-color: #dbeafe;
}
.license-form-hero .cash-flow-movement-kicker {
    color: #2563eb;
}
.license-form-hero .cash-flow-movement-hero-icon {
    background: linear-gradient(135deg, #2563eb, #3b82f6);
    box-shadow: 0 14px 24px rgba(37, 99, 235, .18);
}
.license-form-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: .9rem 1rem;
}
.license-form-footer {
    flex: 0 0 auto;
}
.license-wizard-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .45rem;
    margin-bottom: .75rem;
}
.license-wizard-steps button {
    min-height: 42px;
    padding: .42rem .5rem;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    font-size: .72rem;
    font-weight: 800;
}
.license-wizard-steps button span {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #e2e8f0;
    color: #334155;
    font-size: .68rem;
    font-weight: 900;
}
.license-wizard-steps button.active {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
}
.license-wizard-steps button.active span {
    background: #0d6efd;
    color: #fff;
}
.license-form-sections {
    display: grid;
    gap: .7rem;
}
.license-form-section {
    display: none;
    padding: .78rem .85rem;
    border: 1px solid #e5eaf1;
    border-radius: 8px;
    background: #fff;
}
.license-form-section.active {
    display: block;
}
.license-form-section-title {
    margin-bottom: .65rem;
    color: #0f172a;
    font-size: .86rem;
    font-weight: 900;
}
.license-form-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    margin-bottom: .65rem;
}
.license-form-section-head .license-form-section-title {
    margin-bottom: 0;
}
.license-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
}
.license-form-grid .cash-flow-movement-field {
    margin-bottom: 0;
}
.license-form-grid .cash-flow-movement-field label {
    font-size: .72rem;
}
.license-form-grid .cash-flow-movement-field .form-control,
.license-form-grid .cash-flow-movement-field .input-group-text {
    min-height: 36px;
    font-size: .82rem;
    font-weight: 700;
}
.license-form-grid .cash-flow-movement-field small {
    display: block;
    margin-top: .28rem;
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}
.license-form-grid .span-2 {
    grid-column: span 2;
}
.license-trial-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .45rem;
}
.license-form-modal .btn {
    font-weight: 800;
}
.license-form-modal .btn-sm {
    min-height: 30px;
    font-size: .72rem;
}
#licenseWizardSave {
    display: none;
}
.license-form-modal[data-current-step="5"] #licenseWizardNext {
    display: none;
}
.license-form-modal[data-current-step="5"] #licenseWizardSave {
    display: inline-flex;
}
.license-form-modal[data-current-step="1"] #licenseWizardPrev {
    opacity: .55;
    pointer-events: none;
}
@media (max-width: 768px) {
    .license-modal-dialog {
        max-width: calc(100vw - 1rem);
        margin: .5rem auto;
    }
    .license-form-modal,
    .license-form-modal form {
        max-height: calc(100vh - 1rem);
    }
    .license-form-grid,
    .license-module-grid {
        grid-template-columns: 1fr;
    }
    .license-wizard-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .license-form-grid .span-2 {
        grid-column: auto;
    }
    .license-form-hero {
        grid-template-columns: minmax(0, 1fr);
        padding-right: 3rem;
    }
    .license-form-hero .cash-flow-movement-hero-icon {
        display: none;
    }
    .license-form-footer {
        flex-wrap: wrap;
    }
    .license-form-footer .btn {
        flex: 1 1 140px;
    }
}
.cash-flow-movement-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 62px;
    align-items: center;
    gap: 1rem;
    padding: 1.05rem 3.4rem 1.05rem 1.15rem;
    background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 55%, #f8fafc 100%);
    border-bottom: 1px solid #dcfce7;
}
.cash-flow-movement-modal.is-egress .cash-flow-movement-hero {
    background: linear-gradient(135deg, #fff1f2 0%, #ffffff 55%, #f8fafc 100%);
    border-bottom-color: #ffe4e6;
}
.cash-flow-opening-modal .cash-flow-movement-hero {
    background: linear-gradient(135deg, #ecfdf5 0%, #ffffff 55%, #f8fafc 100%);
    border-bottom-color: #bbf7d0;
}
.cash-flow-movement-kicker {
    display: inline-flex;
    margin-bottom: .32rem;
    color: #16a34a;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}
.cash-flow-movement-modal.is-egress .cash-flow-movement-kicker {
    color: #ef4444;
}
.cash-flow-opening-modal .cash-flow-movement-kicker {
    color: #16a34a;
}
.cash-flow-movement-hero h5 {
    margin: 0 0 .18rem;
    color: #0f172a;
    font-size: 1.18rem;
    font-weight: 800;
}
.cash-flow-movement-hero p {
    margin: 0;
    color: #475569;
    font-size: .86rem;
    line-height: 1.35;
}
.cash-flow-movement-hero-icon {
    width: 58px;
    height: 58px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #16a34a, #22c55e);
    color: #fff;
    font-size: 1.35rem;
    box-shadow: 0 14px 24px rgba(34, 197, 94, .2);
}
.cash-flow-movement-modal.is-egress .cash-flow-movement-hero-icon {
    background: linear-gradient(135deg, #ef4444, #fb7185);
    box-shadow: 0 14px 24px rgba(239, 68, 68, .18);
}
.cash-flow-opening-modal .cash-flow-movement-hero-icon {
    background: linear-gradient(135deg, #16a34a, #22c55e);
    box-shadow: 0 14px 24px rgba(34, 197, 94, .2);
}
.cash-flow-movement-close {
    position: absolute;
    top: .7rem;
    right: .85rem;
    color: #64748b;
    opacity: 1;
}
.cash-flow-movement-body {
    padding: 1rem 1.15rem;
}
.cash-flow-movement-context {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
    margin-bottom: .9rem;
}
.cash-flow-movement-context div {
    padding: .75rem .85rem;
    border: 1px solid #e5eaf1;
    border-radius: 8px;
    background: #f8fafc;
}
.cash-flow-movement-context span {
    display: block;
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: .2rem;
}
.cash-flow-movement-context strong {
    display: block;
    color: #111827;
    font-size: .94rem;
    font-weight: 800;
    line-height: 1.15;
}
.cash-flow-movement-type {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin-bottom: .95rem;
}
.cash-flow-movement-type label {
    margin: 0;
    cursor: pointer;
}
.cash-flow-movement-type input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.cash-flow-movement-type span {
    min-height: 42px;
    border: 1px solid #d9e2ef;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    color: #334155;
    background: #fff;
    font-weight: 800;
    font-size: .86rem;
}
.cash-flow-movement-modal-compact .cash-flow-movement-type span {
    min-height: 34px;
    padding: .3rem .5rem;
    font-size: .78rem;
}
.cash-flow-movement-type input:checked + span {
    border-color: #86efac;
    background: #dcfce7;
    color: #166534;
}
.cash-flow-movement-type label:last-child input:checked + span {
    border-color: #fecdd3;
    background: #ffe4e6;
    color: #b91c1c;
}
.cash-flow-movement-modal.is-withdrawal .cash-flow-movement-type label:last-child input:checked + span {
    border-color: #fde68a;
    background: #fef3c7;
    color: #92400e;
}
.cash-flow-movement-field {
    margin-bottom: .9rem;
}
.cash-flow-movement-field label {
    color: #334155;
    font-size: .78rem;
    font-weight: 800;
}
.cash-flow-movement-field .form-control,
.cash-flow-movement-field .input-group-text {
    min-height: 42px;
    border-color: #d9e2ef;
}
.cash-flow-movement-modal-compact .cash-flow-movement-field .form-control,
.cash-flow-movement-modal-compact .cash-flow-movement-field .input-group-text {
    min-height: 34px;
    height: 34px;
    font-size: .86rem;
}
.cash-flow-movement-amount .form-control {
    font-size: 1.12rem;
    font-weight: 800;
}
.cash-flow-movement-footer {
    display: flex;
    justify-content: flex-end;
    gap: .55rem;
    padding: .85rem 1.15rem;
    background: #f8fafc;
}
.cash-flow-movement-footer .btn {
    min-height: 38px;
    min-width: 126px;
    font-weight: 800;
}
.cash-flow-movement-hero-compact .cash-flow-movement-close {
    position: static;
    top: auto;
    right: auto;
}
.cash-flow-movement-footer-compact .btn {
    min-height: 32px;
    min-width: 0;
    padding: .28rem .7rem;
    font-size: .8rem;
}
.pos-cash-opening-dialog {
    max-width: 500px;
}
.pos-cash-opening-modal {
    max-height: calc(100vh - 2rem);
}
.pos-cash-opening-hero {
    grid-template-columns: minmax(0, 1fr) 46px;
    padding: .85rem 2.9rem .85rem 1rem;
}
.pos-cash-opening-hero .cash-flow-movement-kicker {
    font-size: .68rem;
    margin-bottom: .22rem;
}
.pos-cash-opening-hero h5 {
    font-size: 1rem;
}
.pos-cash-opening-hero p {
    font-size: .78rem;
}
.pos-cash-opening-hero .cash-flow-movement-hero-icon {
    width: 42px;
    height: 42px;
    font-size: 1rem;
    box-shadow: 0 10px 18px rgba(34, 197, 94, .16);
}
.pos-cash-opening-body {
    max-height: calc(100vh - 190px);
    overflow-y: auto;
    padding: .85rem 1rem;
}
.pos-cash-opening-context {
    gap: .55rem;
    margin-bottom: .75rem;
}
.pos-cash-opening-context div {
    padding: .58rem .65rem;
}
.pos-cash-opening-context span {
    font-size: .62rem;
}
.pos-cash-opening-context strong {
    font-size: .82rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pos-cash-opening-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}
.pos-cash-opening-modal .cash-flow-movement-field {
    margin-bottom: .72rem;
}
.pos-cash-opening-modal .cash-flow-movement-field label {
    font-size: .72rem;
    margin-bottom: .25rem;
}
.pos-cash-opening-modal .cash-flow-movement-field .form-control,
.pos-cash-opening-modal .cash-flow-movement-field .input-group-text {
    font-size: .82rem;
    font-weight: 700;
    min-height: 36px;
}
.cash-opening-step-field label {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    color: #334155;
    font-weight: 800;
}
.cash-opening-step-badge {
    width: 22px;
    height: 22px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: #ef233c;
    color: #fff;
    font-size: .72rem;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 6px 14px rgba(239, 35, 60, .24);
}
.cash-opening-step-field.is-complete .cash-opening-step-badge {
    background: #16a34a;
    box-shadow: 0 6px 14px rgba(22, 163, 74, .22);
}
.cash-opening-step-field.is-complete > .form-control,
.cash-opening-step-field.is-complete .input-group-text,
.cash-opening-step-field.is-complete .input-group .form-control {
    border-color: #16a34a;
    box-shadow: 0 0 0 .12rem rgba(22, 163, 74, .12);
}
.cash-opening-step-field.is-attention > .form-control,
.cash-opening-step-field.is-attention .input-group-text,
.cash-opening-step-field.is-attention .input-group .form-control {
    border-color: #ef233c;
    animation: cash-opening-pulse-border 1s ease-in-out infinite;
}
.cash-opening-submit-btn.is-attention {
    animation: cash-opening-pulse-button 1s ease-in-out infinite;
}
@keyframes cash-opening-pulse-border {
    0%, 100% {
        border-color: #ef233c;
        box-shadow: 0 0 0 0 rgba(239, 35, 60, .34);
    }
    50% {
        border-color: #b91c1c;
        box-shadow: 0 0 0 .18rem rgba(239, 35, 60, .18);
    }
}
@keyframes cash-opening-pulse-button {
    0%, 100% {
        box-shadow: 0 10px 22px rgba(22, 163, 74, .24), 0 0 0 0 rgba(239, 35, 60, .36);
        transform: translateY(0);
    }
    50% {
        box-shadow: 0 12px 26px rgba(22, 163, 74, .28), 0 0 0 .2rem rgba(239, 35, 60, .2);
        transform: translateY(-1px);
    }
}
.pos-cash-opening-modal textarea.form-control {
    min-height: 62px;
}
.pos-cash-opening-modal .cash-flow-movement-footer {
    padding: .72rem 1rem;
}
.pos-cash-opening-modal .cash-flow-movement-footer .btn {
    min-height: 34px;
}
.cash-flow-audit-dialog {
    max-width: 720px;
}
.cash-flow-audit-modal .cash-flow-movement-hero {
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 55%, #f8fafc 100%);
    border-bottom-color: #dbeafe;
}
.cash-flow-audit-modal .cash-flow-movement-kicker {
    color: #2563eb;
}
.cash-flow-audit-modal .cash-flow-movement-hero-icon {
    background: linear-gradient(135deg, #2563eb, #3b82f6);
    box-shadow: 0 14px 24px rgba(37, 99, 235, .18);
}
.cash-flow-audit-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
    margin-bottom: 1rem;
}
.cash-flow-audit-summary div {
    padding: .78rem .85rem;
    border: 1px solid #e5eaf1;
    border-radius: 8px;
    background: #f8fafc;
}
.cash-flow-audit-summary span,
.cash-flow-audit-denomination span {
    display: block;
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: .22rem;
}
.cash-flow-audit-summary strong {
    display: block;
    color: #111827;
    font-size: 1.04rem;
    font-weight: 800;
}
.cash-flow-audit-summary .is-diff {
    background: #eff6ff;
    border-color: #bfdbfe;
}
.cash-flow-audit-summary .is-diff strong.is-ok {
    color: #16a34a;
}
.cash-flow-audit-summary .is-diff strong.is-bad {
    color: #ef4444;
}
.cash-flow-audit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
}
.cash-flow-audit-denomination {
    margin: 0;
    padding: .65rem .7rem;
    border: 1px solid #e5eaf1;
    border-radius: 8px;
    background: #fff;
}
.cash-flow-audit-denomination .form-control {
    min-height: 36px;
    text-align: center;
    font-weight: 800;
    border-color: #d9e2ef;
}
.cash-audit-print-button {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}
.cash-audit-print-button:hover,
.cash-audit-print-button:focus {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #fff;
}
.cash-audit-close-button {
    background: #16a34a;
    border-color: #16a34a;
    color: #fff;
}
.cash-audit-close-button:hover,
.cash-audit-close-button:focus {
    background: #15803d;
    border-color: #15803d;
    color: #fff;
}

@media (max-width: 1400px) {
    .cash-flow-main-grid,
    .cash-flow-main-grid.is-charts-only {
        grid-template-columns: minmax(0, 1.35fr) minmax(300px, .9fr);
    }
    .cash-flow-side-stack {
        grid-column: span 2;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .cash-flow-lower-grid {
        grid-template-columns: 1fr 1fr;
    }
    .cash-flow-payment-summary {
        grid-column: span 1;
    }
    .cash-flow-top-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1535.98px) {
    .cash-flow-page {
        padding-top: 1rem;
    }

    .cash-flow-topbar {
        gap: .75rem;
        margin-bottom: .8rem;
    }

    .cash-flow-filter {
        min-width: 148px;
        padding: 0 .58rem;
    }

    .cash-flow-status,
    .cash-flow-empty-open {
        min-height: 66px;
        padding: .75rem .85rem;
        gap: .7rem;
    }

    .cash-flow-status-left {
        gap: .9rem;
    }

    .cash-flow-status-copy {
        column-gap: .7rem;
    }

    .cash-flow-status-actions {
        gap: .35rem;
    }

    .cash-flow-status-actions .btn {
        min-height: 28px;
        padding: .34rem .48rem;
        font-size: .68rem;
    }

    .cash-flow-status-time {
        min-width: 112px;
    }

    .cash-flow-history-kpis {
        grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
        gap: .45rem;
        margin-bottom: .75rem;
    }

    .cash-flow-history-kpi-card {
        min-height: 62px;
        padding: .52rem .48rem;
        gap: .45rem;
    }

    .cash-flow-history-kpi-icon {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
        font-size: .88rem;
    }

    .cash-flow-history-kpis .sales-history-kpi-copy span {
        font-size: .58rem;
    }

    .cash-flow-history-kpis .sales-history-kpi-copy strong {
        font-size: .88rem;
    }

    .cash-flow-history-kpis .sales-history-kpi-copy small {
        font-size: .62rem;
    }

    .cash-flow-top-cards.is-three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .65rem;
        grid-template-rows: none;
        margin-bottom: .75rem;
    }

    .cash-flow-cashbox-stack {
        grid-row: auto;
        grid-template-rows: none;
        gap: .5rem;
    }

    .cash-flow-new-stack {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
    }

    .cash-flow-new-stack > .cash-flow-total-sales-card,
    .cash-flow-new-stack > .cash-flow-panel {
        height: 100%;
    }

    .cash-flow-total-sales-card {
        min-height: 52px;
        padding: .6rem .68rem;
    }

    .cash-flow-total-sales-copy {
        gap: .42rem;
        max-width: calc(100% - 58px);
    }

    .cash-flow-total-sales-copy > i {
        width: 27px;
        height: 27px;
        font-size: .86rem;
    }

    .cash-flow-total-sales-copy span {
        font-size: .78rem;
    }

    .cash-flow-total-sales-card > strong {
        font-size: .94rem;
    }

    .cash-flow-panel h3 {
        font-size: .84rem;
    }

    .cash-flow-panel-head,
    .cash-flow-panel header,
    .cash-flow-detail-head {
        padding: .62rem .75rem .35rem;
    }

    .cash-flow-cashbox header,
    .cash-flow-state header,
    .cash-flow-credit-detail-panel header {
        padding: .46rem .65rem .12rem;
    }

    .cash-flow-cashbox-rows {
        padding: 0 .9rem .28rem .65rem;
    }

    .cash-flow-cashbox-row {
        grid-template-columns: minmax(0, 1fr) minmax(58px, .8fr) minmax(82px, auto);
        gap: calc(.38rem * 1.3);
        min-height: calc(19px * 1.3);
        font-size: calc(.75rem * 1.3);
    }

    .cash-flow-cashbox-row strong {
        padding-right: .55rem;
        font-size: calc(.75rem * 1.3);
    }

    .cash-flow-detail-head {
        align-items: flex-start;
        gap: .55rem;
    }

    .cash-flow-detail-head label {
        min-width: 190px;
    }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .cash-flow-page .cash-flow-top-cards.is-three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cash-flow-page .cash-flow-new-stack {
        grid-column: 1 / -1;
    }
}

@media (min-width: 1200px) and (max-height: 820px) {
    .cash-flow-page {
        padding-top: .65rem;
        padding-bottom: .65rem;
    }

    .cash-flow-page .cash-flow-topbar,
    .cash-flow-page .cash-flow-status,
    .cash-flow-page .cash-flow-history-kpis,
    .cash-flow-page .cash-flow-top-cards,
    .cash-flow-page .cash-flow-detail {
        margin-bottom: .55rem;
    }

    .cash-flow-page .cash-flow-history-kpi-card {
        min-height: 56px;
        padding-top: .42rem;
        padding-bottom: .42rem;
    }

    .cash-flow-page .cash-flow-total-sales-card {
        min-height: 48px;
    }

    .cash-flow-page .cash-flow-cashbox-row {
        min-height: calc(17px * 1.3);
        padding: 0;
    }

    .cash-flow-page .cash-flow-table thead th {
        padding: .52rem .62rem;
    }

    .cash-flow-page .cash-flow-table tbody td {
        padding: .48rem .62rem;
    }
}

@container (max-width: 1500px) {
    .cash-flow-page .cash-flow-top-cards.is-three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cash-flow-page .cash-flow-new-stack {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
    }

    .cash-flow-page .cash-flow-new-stack > :nth-child(1) {
        grid-column: 1;
        grid-row: 1;
    }

    .cash-flow-page .cash-flow-new-stack > :nth-child(2) {
        grid-column: 1;
        grid-row: 2;
    }

    .cash-flow-page .cash-flow-new-stack > :nth-child(3) {
        grid-column: 2;
        grid-row: 1;
    }

    .cash-flow-page .cash-flow-new-stack > :nth-child(4) {
        grid-column: 2;
        grid-row: 2;
    }

    .cash-flow-page .cash-flow-new-stack > .cash-flow-total-sales-card,
    .cash-flow-page .cash-flow-new-stack > .cash-flow-panel {
        height: 100%;
    }
}

@container (max-width: 980px) {
    .cash-flow-page .cash-flow-top-cards.is-three,
    .cash-flow-page .cash-flow-new-stack {
        grid-template-columns: minmax(0, 1fr);
    }

    .cash-flow-page .cash-flow-new-stack {
        grid-column: auto;
    }
}

@media (max-width: 991.98px) {
    .cash-flow-topbar,
    .cash-flow-status {
        align-items: stretch;
        flex-direction: column;
    }
    .cash-flow-status-copy {
        grid-template-columns: 1fr;
    }
    .cash-flow-status-actions {
        grid-column: 1;
        grid-row: auto;
        margin-top: .35rem;
    }
    .cash-flow-day-sessions {
        grid-column: 1;
        width: 100%;
        margin-top: .35rem;
    }
    .cash-flow-day-session {
        min-width: 168px;
    }
    .cash-flow-cashier-switcher {
        justify-content: flex-start;
        min-width: 100%;
        padding-top: .35rem;
    }
    .cash-flow-branch-flow {
        gap: .75rem;
    }
    .cash-flow-branch-rail {
        display: none;
    }
    .cash-flow-branch-title h2 {
        font-size: 1.12rem;
    }
    .cash-flow-branch-row {
        grid-template-columns: 92px minmax(0, 1fr);
        gap: .65rem;
    }
    .cash-flow-branch-row .cash-flow-cashier-switcher {
        min-width: 0;
        padding-top: 0;
    }
    .cash-flow-cashier-button {
        flex: 1 1 150px;
        max-width: none;
    }
    .cash-flow-filters {
        justify-content: flex-start;
    }
    .cash-flow-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .cash-flow-main-grid,
    .cash-flow-main-grid.is-charts-only,
    .cash-flow-lower-grid,
    .cash-flow-side-stack,
    .cash-flow-top-cards,
    .cash-flow-top-cards.is-two,
    .cash-flow-top-cards.is-three {
        grid-template-columns: 1fr;
    }
    .cash-flow-side-stack {
        grid-column: auto;
    }
    .cash-flow-donut-layout {
        grid-template-columns: 1fr;
        justify-items: center;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) and (orientation: portrait) {
    .kajo-login-mascot {
        right: -99px;
    }
}

@media (max-width: 575.98px) {
    .cash-flow-card-pair,
    .cash-flow-panel-pair {
        grid-template-columns: 1fr;
    }
    .cash-flow-metrics {
        grid-template-columns: 1fr;
    }
    .cash-flow-metric {
        grid-template-columns: 58px minmax(0, 1fr);
    }
    .cash-flow-metric-icon {
        width: 54px;
        height: 54px;
        font-size: 1.25rem;
    }
    .cash-flow-metric strong {
        font-size: 1.25rem;
    }
    .cash-flow-bars {
        overflow-x: auto;
        grid-template-columns: repeat(12, 38px);
    }
    .cash-flow-actions,
    .cash-flow-payment-bar-row,
    .cash-flow-timeline-row {
        grid-template-columns: 1fr;
    }
    .cash-flow-timeline-row span {
        white-space: normal;
    }
    .cash-flow-detail-head label,
    .cash-flow-filter {
        min-width: 100%;
    }
    .cash-flow-close-modal .cash-close-audit {
        grid-template-columns: 1fr;
    }
    .cash-flow-close-footer {
        flex-direction: column;
    }
    .cash-flow-close-footer .btn {
        width: 100%;
    }
    .pos-cash-opening-dialog {
        max-width: calc(100vw - 1rem);
        margin-left: .5rem;
        margin-right: .5rem;
    }
    .pos-cash-opening-grid,
    .pos-cash-opening-context {
        grid-template-columns: minmax(0, 1fr);
    }
    .pos-cash-opening-hero {
        grid-template-columns: minmax(0, 1fr);
        padding-right: 1rem;
    }
    .pos-cash-opening-hero .cash-flow-movement-hero-icon {
        display: none;
    }
}

@media (max-width: 1700px) {
    .cash-flow-page .cash-flow-top-cards.is-three {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: none !important;
        align-items: start !important;
    }

    .cash-flow-page .cash-flow-top-cards.is-three > .cash-flow-cashbox-stack {
        grid-row: auto !important;
        grid-template-rows: none !important;
        height: auto !important;
    }

    .cash-flow-page .cash-flow-top-cards.is-three > .cash-flow-new-stack {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: stretch !important;
    }

    .cash-flow-page .cash-flow-top-cards.is-three > .cash-flow-new-stack > :nth-child(1) {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .cash-flow-page .cash-flow-top-cards.is-three > .cash-flow-new-stack > :nth-child(2) {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .cash-flow-page .cash-flow-top-cards.is-three > .cash-flow-new-stack > :nth-child(3) {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    .cash-flow-page .cash-flow-top-cards.is-three > .cash-flow-new-stack > :nth-child(4) {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }
}

@media (max-width: 1200px) {
    .cash-flow-page .cash-flow-top-cards.is-three,
    .cash-flow-page .cash-flow-top-cards.is-three > .cash-flow-new-stack {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .cash-flow-page .cash-flow-top-cards.is-three > .cash-flow-new-stack {
        grid-column: auto !important;
    }

    .cash-flow-page .cash-flow-new-stack > :nth-child(n),
    .cash-flow-page .cash-flow-top-cards.is-three > .cash-flow-new-stack > :nth-child(n) {
        grid-column: auto !important;
        grid-row: auto !important;
    }
}

@media (min-width: 992px) {
    .cash-flow-page .cash-flow-top-cards.is-three {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-template-rows: auto minmax(170px, auto) auto minmax(170px, auto) !important;
        align-items: stretch !important;
    }

    .cash-flow-page .cash-flow-top-cards.is-three > .cash-flow-cashbox-stack,
    .cash-flow-page .cash-flow-top-cards.is-three > .cash-flow-new-stack {
        grid-column: auto !important;
        grid-row: span 4 !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: 52px minmax(170px, auto) 52px minmax(170px, auto) !important;
        height: 100% !important;
    }

    .cash-flow-page .cash-flow-new-stack > :nth-child(n),
    .cash-flow-page .cash-flow-top-cards.is-three > .cash-flow-new-stack > :nth-child(n) {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .cash-flow-page .cash-flow-top-cards.is-three .cash-flow-total-sales-card,
    .cash-flow-page .cash-flow-top-cards.is-three .cash-flow-panel {
        height: 100% !important;
    }
}

@supports (grid-template-rows: subgrid) {
    @media (min-width: 992px) {
        .cash-flow-page .cash-flow-top-cards.is-three > .cash-flow-cashbox-stack,
        .cash-flow-page .cash-flow-top-cards.is-three > .cash-flow-new-stack {
            grid-template-rows: subgrid !important;
        }
    }
}

@media (min-width: 992px) and (max-width: 1500px) {
    .cash-flow-page .cash-flow-top-cards.is-three {
        gap: .45rem !important;
        grid-template-rows: auto minmax(154px, auto) auto minmax(154px, auto) !important;
    }

    .cash-flow-page .cash-flow-cashbox-stack {
        gap: .42rem;
        grid-template-rows: 44px minmax(154px, auto) 44px minmax(154px, auto) !important;
    }

    .cash-flow-page .cash-flow-total-sales-card {
        min-height: 44px;
        padding: .48rem .52rem;
        gap: .38rem;
    }

    .cash-flow-page .cash-flow-total-sales-copy {
        gap: .32rem;
        max-width: calc(100% - 58px);
    }

    .cash-flow-page .cash-flow-total-sales-copy > i {
        width: 24px;
        height: 24px;
        font-size: .76rem;
    }

    .cash-flow-page .cash-flow-total-sales-copy span {
        font-size: .66rem;
    }

    .cash-flow-page .cash-flow-total-sales-card > strong {
        font-size: .78rem;
    }

    .cash-flow-page .cash-flow-panel h3 {
        font-size: .78rem;
    }

    .cash-flow-page .cash-flow-panel header,
    .cash-flow-page .cash-flow-detail-head {
        padding: .5rem .55rem .18rem;
    }

    .cash-flow-page .cash-flow-cashbox-rows {
        padding: 0 .78rem .25rem .55rem;
    }

    .cash-flow-page .cash-flow-cashbox-row {
        grid-template-columns: minmax(0, .95fr) minmax(34px, .58fr) minmax(70px, auto);
        gap: calc(.28rem * 1.3);
        min-height: calc(18px * 1.3);
        font-size: calc(.66rem * 1.3);
    }

    .cash-flow-page .cash-flow-cashbox-row strong {
        padding-right: .45rem;
        font-size: calc(.66rem * 1.3);
    }

    .cash-flow-page .cash-flow-cashbox-row > .cash-flow-progress-track {
        min-width: 36px;
    }
}
.trial-quick-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.users-modal-dialog {
    max-width: 920px;
}

.users-modal-header {
    border-bottom: 1px solid #dbe7ff;
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.18), transparent 34%),
        linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    padding: .9rem 1.15rem;
}

.users-modal-kicker {
    display: inline-flex;
    align-items: center;
    padding: .22rem .52rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: .35rem;
}

.users-modal-subtitle {
    color: #5b6b84;
    font-size: .84rem;
}

.users-modal-body {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    padding: 1rem;
}

.users-modal-grid {
    align-items: stretch;
}

.users-profile-card,
.users-form-panel {
    background: #ffffff;
    border: 1px solid #dbe7ff;
    border-radius: 18px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.07);
}

.users-profile-card {
    padding: .95rem;
    height: 100%;
}

.users-profile-card-top {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-bottom: .85rem;
}

.users-photo-preview {
    width: 92px;
    height: 92px;
    border-radius: 22px;
    background: linear-gradient(135deg, #2563eb 0%, #38bdf8 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: .06em;
    flex-shrink: 0;
    border: 3px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 10px 18px rgba(37, 99, 235, 0.18);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.users-photo-preview.has-image {
    color: transparent;
}

.users-profile-title {
    font-size: .94rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: .2rem;
}

.users-profile-text {
    color: #5b6b84;
    font-size: .8rem;
    line-height: 1.35;
}

.users-photo-actions {
    padding: .8rem;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%);
    border: 1px dashed #bfd3ff;
}

.users-photo-file {
    color: #5b6b84;
    font-size: .8rem;
    line-height: 1.3;
}

.users-profile-hints {
    margin-top: .85rem;
    display: grid;
    gap: .35rem;
    color: #52627d;
    font-size: .78rem;
}

.users-profile-hints i {
    color: #16a34a;
    margin-right: .35rem;
}

.users-form-panel {
    padding: .72rem;
}

.users-form-section + .users-form-section {
    margin-top: .55rem;
}

.users-form-section {
    border: 1px solid #e4edff;
    border-radius: 14px;
    padding: .62rem .7rem 0;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.users-form-section-title {
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #1d4ed8;
    margin-bottom: .45rem;
}

.users-form-panel label {
    color: #0f172a;
    font-weight: 700;
    font-size: .86rem;
    margin-bottom: .32rem;
}

.users-form-panel .form-control,
.users-form-panel .custom-select {
    min-height: 36px;
    height: 36px;
    border-radius: 10px;
    border-color: #cbd9f1;
    box-shadow: none;
    font-size: .9rem;
    padding-top: .28rem;
    padding-bottom: .28rem;
}

.users-form-panel .form-control:focus,
.users-form-panel .custom-select:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 .18rem rgba(59, 130, 246, 0.12);
}

.users-password-field {
    position: relative;
}

.users-password-field .form-control {
    padding-right: 2.55rem;
}

.users-password-toggle {
    position: absolute;
    top: 50%;
    right: .45rem;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 9px;
    background: #eff6ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}

.users-password-toggle:hover,
.users-password-toggle:focus {
    background: #dbeafe;
    color: #1d4ed8;
    box-shadow: 0 0 0 .16rem rgba(59, 130, 246, 0.14);
    outline: 0;
}

.users-password-toggle.is-visible {
    background: #1d4ed8;
    color: #ffffff;
}

.saas-admin-shell {
    min-height: 100vh;
    background: #f1f5f9;
    color: #0f172a;
    font-family: "Source Sans 3", Arial, sans-serif;
}

.login-page:has(.saas-admin-login-screen) {
    align-items: stretch;
    background: #eaf1f7;
}

.saas-admin-login-screen {
    min-height: 100vh;
    width: 100%;
    background:
        linear-gradient(135deg, rgba(7, 48, 68, .94), rgba(13, 110, 253, .78)),
        #073044;
    display: grid;
    place-items: center;
    padding: 1rem;
}

.saas-admin-login-panel {
    width: min(440px, 100%);
    background: #ffffff;
    border: 1px solid #dbe4f0;
    border-radius: 10px;
    padding: 1.15rem;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .2);
}

.saas-admin-login-brand {
    display: flex;
    align-items: center;
    gap: .65rem;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: .85rem;
    margin-bottom: .9rem;
}

.saas-admin-login-brand span {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #0d6efd;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 20px rgba(13, 110, 253, .22);
}

.saas-admin-login-brand strong,
.saas-admin-login-brand small {
    display: block;
    line-height: 1.05;
}

.saas-admin-login-brand strong {
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 900;
}

.saas-admin-login-brand small {
    color: #64748b;
    font-size: .74rem;
    font-weight: 800;
}

.saas-admin-login-copy span {
    color: #1d4ed8;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.saas-admin-login-copy h1 {
    color: #0f172a;
    font-size: 1.35rem;
    font-weight: 900;
    margin: .2rem 0 .35rem;
}

.saas-admin-login-copy p {
    color: #475569;
    font-size: .88rem;
    font-weight: 700;
    margin-bottom: .95rem;
}

.saas-admin-login-alert {
    border-radius: 8px;
    font-size: .86rem;
    font-weight: 800;
}

.saas-admin-login-form {
    display: grid;
    gap: .72rem;
}

.saas-admin-login-form label {
    display: grid;
    gap: .28rem;
    margin: 0;
}

.saas-admin-login-form label > span {
    color: #334155;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.saas-admin-login-field {
    position: relative;
}

.saas-admin-login-field > i {
    position: absolute;
    top: 50%;
    left: .72rem;
    color: #64748b;
    transform: translateY(-50%);
}

.saas-admin-login-field input {
    width: 100%;
    min-height: 42px;
    border: 1px solid #cbd9f1;
    border-radius: 8px;
    color: #0f172a;
    font-weight: 800;
    padding: .5rem 2.75rem .5rem 2.25rem;
}

.saas-admin-login-field input:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 .18rem rgba(59, 130, 246, .12);
    outline: 0;
}

.saas-admin-login-field button {
    position: absolute;
    top: 50%;
    right: .45rem;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 8px;
    background: #eff6ff;
    color: #1d4ed8;
    transform: translateY(-50%);
}

.saas-admin-login-submit {
    min-height: 44px;
    border: 0;
    border-radius: 8px;
    background: #0d6efd;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(13, 110, 253, .22);
}

.saas-admin-login-submit:hover,
.saas-admin-login-submit:focus {
    background: #0b5ed7;
    outline: 0;
}

.saas-admin-login-links {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .9rem;
}

.saas-admin-login-links a {
    color: #1d4ed8;
    font-size: .78rem;
    font-weight: 900;
}

.saas-admin-layout {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
}

.saas-admin-sidebar {
    background: #073044;
    color: #d9eef7;
    padding: .9rem .75rem;
    display: flex;
    flex-direction: column;
    gap: .9rem;
}

.saas-admin-brand {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .65rem .7rem .85rem;
    color: #ffffff;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.saas-admin-brand:hover {
    color: #ffffff;
    text-decoration: none;
}

.saas-admin-brand-mark {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: #0d6efd;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 20px rgba(13, 110, 253, .22);
}

.saas-admin-brand strong,
.saas-admin-brand small {
    display: block;
    line-height: 1.05;
}

.saas-admin-brand strong {
    font-size: 1rem;
    font-weight: 900;
}

.saas-admin-brand small {
    color: #9fd2e6;
    font-size: .72rem;
    font-weight: 800;
}

.saas-admin-nav {
    display: grid;
    gap: .28rem;
}

.saas-admin-nav-group {
    display: grid;
    gap: .28rem;
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding-top: .65rem;
}

.saas-admin-nav-title {
    color: #9fd2e6;
    font-size: .66rem;
    font-weight: 900;
    text-transform: uppercase;
    padding: 0 .62rem .1rem;
}

.saas-admin-nav-link,
.saas-admin-secondary-link {
    display: flex;
    align-items: center;
    gap: .58rem;
    min-height: 40px;
    padding: .52rem .62rem;
    border-radius: 8px;
    color: #c6deea;
    font-size: .86rem;
    font-weight: 800;
}

.saas-admin-nav-link i,
.saas-admin-secondary-link i {
    width: 18px;
    text-align: center;
}

.saas-admin-nav-link:hover,
.saas-admin-secondary-link:hover,
.saas-admin-nav-link.is-active {
    background: #0d6efd;
    color: #ffffff;
    text-decoration: none;
}

.saas-admin-nav-link-muted {
    color: #afd1de;
    min-height: 36px;
    font-size: .8rem;
}

.saas-admin-sidebar-foot {
    margin-top: auto;
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding-top: .65rem;
}

.saas-admin-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.saas-admin-topbar {
    min-height: 66px;
    background: #ffffff;
    border-bottom: 1px solid #dbe4f0;
    padding: .7rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.saas-admin-kicker {
    display: block;
    color: #64748b;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.saas-admin-topbar h1 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 900;
    color: #0f172a;
}

.saas-admin-user {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.saas-admin-notifications {
    position: relative;
}

.saas-admin-notification-btn {
    width: 36px;
    height: 36px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #ffffff;
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.saas-admin-notification-btn span {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #dc2626;
    color: #ffffff;
    font-size: .65rem;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 .25rem;
}

.saas-admin-notification-menu {
    width: min(360px, calc(100vw - 1.5rem));
    padding: 0;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .16);
    overflow: hidden;
}

.saas-admin-notification-head,
.saas-admin-notification-item,
.saas-admin-notification-empty,
.saas-admin-notification-link {
    padding: .75rem .85rem;
}

.saas-admin-notification-head {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.saas-admin-notification-head strong {
    color: #0f172a;
    font-size: .86rem;
}

.saas-admin-notification-head small,
.saas-admin-notification-item span,
.saas-admin-notification-item small,
.saas-admin-notification-empty {
    color: #64748b;
    font-size: .76rem;
}

.saas-admin-notification-item {
    border-bottom: 1px solid #eef2f7;
}

.saas-admin-notification-item strong,
.saas-admin-notification-item span,
.saas-admin-notification-item small {
    display: block;
}

.saas-admin-notification-actions {
    display: flex;
    gap: .35rem;
    margin-top: .55rem;
}

.saas-admin-notification-link {
    display: block;
    color: #1d4ed8;
    font-weight: 900;
    text-align: center;
    background: #f8fafc;
}

.saas-admin-user strong,
.saas-admin-user small {
    display: block;
    line-height: 1.05;
}

.saas-admin-user strong {
    font-size: .86rem;
    font-weight: 900;
}

.saas-admin-user small {
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
}

.saas-admin-avatar {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #eff6ff;
    color: #1d4ed8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

.saas-admin-content {
    padding: .9rem;
}

.saas-admin-context-strip {
    background: #ffffff;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    padding: .55rem .7rem;
    margin-bottom: .9rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}

.saas-admin-context-strip span {
    color: #334155;
    font-size: .78rem;
    font-weight: 900;
}

.saas-admin-context-strip span i {
    color: #0d6efd;
    margin-right: .35rem;
}

.saas-admin-context-strip div {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.saas-admin-context-strip a {
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    padding: .28rem .52rem;
    color: #1d4ed8;
    font-size: .74rem;
    font-weight: 900;
}

.saas-admin-context-strip a:hover {
    background: #eff6ff;
    text-decoration: none;
}

.saas-admin-dashboard {
    display: grid;
    gap: .9rem;
}

.saas-admin-action-strip {
    background: #ffffff;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    padding: .65rem;
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}

.saas-admin-alert-list {
    max-height: 440px;
    overflow: auto;
}

.saas-admin-shell .sales-history-page {
    gap: .9rem;
}

.saas-admin-shell .sales-history-card,
.saas-admin-shell .sales-history-list-card,
.saas-admin-shell .sales-history-filter-card {
    border-color: #dbe4f0;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}

.saas-admin-shell .table th {
    color: #334155;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.saas-admin-shell .table td {
    font-size: .8rem;
    vertical-align: middle;
}

@media (max-width: 900px) {
    .saas-admin-layout {
        grid-template-columns: 1fr;
    }

    .saas-admin-sidebar {
        position: static;
    }

    .saas-admin-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .saas-admin-topbar,
    .saas-admin-user {
        align-items: flex-start;
        flex-direction: column;
    }

    .saas-admin-context-strip {
        align-items: flex-start;
        flex-direction: column;
    }
}

.users-trial-resume {
    border: 1px solid #dbe7ff;
    background: linear-gradient(180deg, #f8fbff 0%, #f1f6ff 100%);
    border-radius: 13px;
    padding: .75rem .85rem;
}

.users-modal-footer {
    border-top: 1px solid #dbe7ff;
    background: #f8fbff;
    padding: .8rem 1rem;
}

.users-modal-footer .btn {
    min-height: 40px;
    border-radius: 10px;
    padding: .48rem .95rem;
}

.users-table-avatar {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    object-fit: cover;
    display: inline-block;
    border: 2px solid #e0ebff;
    box-shadow: 0 6px 14px rgba(37, 99, 235, 0.14);
    background: #eef5ff;
}

.users-design-page {
    display: grid;
    gap: .85rem;
}

.users-design-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.users-design-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .85rem;
    align-items: start;
}

.users-design-page .sales-history-kpi-card,
.users-design-list-card,
.users-design-activity-card,
.users-design-role-card {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}

.users-design-list-head {
    gap: .75rem;
    padding: .75rem .9rem;
}

.users-design-list-card .card-body {
    padding: .72rem .75rem;
}

.users-design-list-head .btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 800;
}

.users-design-filter-row {
    display: flex;
    align-items: flex-end;
    gap: .75rem;
    justify-content: space-between;
    margin-bottom: .75rem;
}

.users-design-filter-fields {
    display: grid;
    grid-template-columns: minmax(210px, 1.4fr) minmax(130px, .85fr) minmax(130px, .85fr) minmax(150px, 1fr);
    align-items: end;
    gap: .6rem;
    min-width: 0;
    flex: 1 1 auto;
    max-width: 690px;
}

.users-design-filter-fields .form-group {
    min-width: 0;
    margin-bottom: 0;
}

.users-design-page .users-design-filter-fields label {
    margin-bottom: .16rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.users-design-page .users-design-filter-fields .form-control {
    height: 30px;
    min-height: 30px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
    padding: .2rem .42rem;
    box-shadow: none;
}

.users-design-page .users-design-filter-fields .form-control:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 .12rem rgba(37, 99, 235, .12);
}

.users-design-page .users-design-filter-fields .sales-history-search-box {
    height: 30px;
}

.users-design-page .users-design-filter-fields .sales-history-search-box i {
    left: .5rem;
    color: #2563eb;
    font-size: .75rem;
}

.users-design-page .users-design-filter-fields .sales-history-search-box .form-control {
    padding-left: 1.55rem;
}

.users-design-filter-actions {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    gap: .45rem;
    flex-wrap: nowrap;
    flex: 0 0 auto;
    min-width: 0;
    margin-left: auto;
}

.users-design-filter-actions .btn {
    width: auto;
    min-height: 30px;
    height: 30px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
}

.users-design-page .users-design-filter-actions .btn {
    width: auto;
    height: 30px;
    min-height: 30px;
    max-height: 30px;
    padding: .2rem .58rem;
}

.users-design-export-btn {
    color: #fff;
    border: 0;
}

.users-design-table td,
.users-design-table th {
    vertical-align: middle;
}

.users-design-table .btn-sm {
    width: 28px;
    height: 28px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    margin: 0 .05rem;
}

.users-design-row:hover td {
    background: #f8fbff;
}

.users-design-user-cell {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-width: 210px;
}

.users-design-user-cell .users-table-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border-color: #e2e8f0;
    box-shadow: 0 6px 12px rgba(15, 23, 42, .12);
}

.users-design-user-cell strong {
    display: block;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.15;
}

.users-design-user-cell small {
    display: block;
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.25;
    margin-top: .08rem;
}

.users-design-role-badge {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: .13rem .42rem;
    border-radius: 5px;
    background: #eef4ff;
    color: #0d6efd;
    border: 1px solid #d7e6ff;
    font-size: .66rem;
    font-weight: 900;
}

.users-design-session-cell {
    width: 72px;
}

.users-design-session-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    vertical-align: middle;
    flex: 0 0 10px;
}

.users-design-session-dot.is-online {
    background: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, .18);
    animation: users-session-blink 1.15s ease-in-out infinite;
}

.users-design-session-dot.is-offline {
    background: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .16);
}

@keyframes users-session-blink {
    0%, 100% {
        opacity: 1;
        box-shadow: 0 0 0 0 rgba(34, 197, 94, .45);
    }
    50% {
        opacity: .35;
        box-shadow: 0 0 0 6px rgba(34, 197, 94, 0);
    }
}

.users-design-actions-cell {
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
}

.users-design-table .users-design-actions-cell .btn-sm,
.content-wrapper .users-design-table td .btn.btn-sm.users-design-edit-action:not(.btn-link):not(.btn-block),
.content-wrapper .users-design-table td .btn.btn-sm.users-design-action-btn:not(.btn-link):not(.btn-block) {
    width: 28px;
    min-width: 28px;
    max-width: 28px;
    height: 28px;
    min-height: 28px;
    padding: 0;
    border-radius: 5px;
    box-shadow: none;
}

.users-design-table .users-design-edit-action,
.content-wrapper .users-design-table td .btn.btn-sm.btn-warning.users-design-edit-action:not(.btn-link):not(.btn-block) {
    background: #ffc107;
    border-color: #ffc107;
    color: #1a1a1a;
}

.content-wrapper .users-design-table td .btn.btn-sm.btn-warning.users-design-edit-action:not(.btn-link):not(.btn-block):hover {
    background: #ffca2c;
    border-color: #ffca2c;
    color: #1a1a1a;
}

.content-wrapper .users-design-table td .btn.btn-sm.btn-warning.users-design-edit-action:not(.btn-link):not(.btn-block):focus,
.content-wrapper .users-design-table td .btn.btn-sm.btn-warning.users-design-edit-action:not(.btn-link):not(.btn-block):active {
    background: #e0a800;
    border-color: #e0a800;
    color: #1a1a1a;
}

.users-design-table .users-design-password-action,
.content-wrapper .users-design-table td .btn.btn-sm.users-design-password-action:not(.btn-link):not(.btn-block) {
    background: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
}

.content-wrapper .users-design-table td .btn.btn-sm.users-design-password-action:not(.btn-link):not(.btn-block):hover {
    background: #3d8bfd;
    border-color: #3d8bfd;
    color: #fff;
}

.content-wrapper .users-design-table td .btn.btn-sm.users-design-password-action:not(.btn-link):not(.btn-block):focus,
.content-wrapper .users-design-table td .btn.btn-sm.users-design-password-action:not(.btn-link):not(.btn-block):active {
    background: #0a58ca;
    border-color: #0a58ca;
    color: #fff;
}

.users-design-table .users-design-delete-action,
.content-wrapper .users-design-table td .btn.btn-sm.users-design-delete-action:not(.btn-link):not(.btn-block) {
    background: #dc3545;
    border-color: #dc3545;
    color: #fff;
}

.content-wrapper .users-design-table td .btn.btn-sm.users-design-delete-action:not(.btn-link):not(.btn-block):hover {
    background: #e35d6a;
    border-color: #e35d6a;
    color: #fff;
}

.content-wrapper .users-design-table td .btn.btn-sm.users-design-delete-action:not(.btn-link):not(.btn-block):focus,
.content-wrapper .users-design-table td .btn.btn-sm.users-design-delete-action:not(.btn-link):not(.btn-block):active {
    background: #b02a37;
    border-color: #b02a37;
    color: #fff;
}

.users-design-action-menu {
    display: inline-block;
}

.users-design-action-menu .dropdown-toggle::after {
    display: none;
}

.users-design-action-menu .dropdown-menu {
    min-width: 205px;
    border-radius: 6px;
    border-color: #e2e8f0;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .12);
}

.users-design-action-menu .dropdown-item {
    font-size: .76rem;
    font-weight: 800;
    padding: .48rem .75rem;
}

.users-design-table-footer {
    margin-top: .55rem;
}

.users-design-pagination {
    display: flex;
    align-items: center;
    gap: .35rem;
}

.users-design-pagination .btn {
    width: 30px;
    height: 30px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 800;
}

.users-design-pagination span {
    color: #64748b;
    font-size: .76rem;
    font-weight: 800;
    padding: 0 .15rem;
}

.users-design-activity-card h3,
.users-design-role-card h3 {
    margin: 0;
    color: #0f172a;
    font-size: .92rem;
    font-weight: 900;
}

.users-design-activity-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .72rem;
}

.users-design-activity-header a {
    color: #0d6efd;
    font-size: .72rem;
    font-weight: 900;
    white-space: nowrap;
}

.users-design-activity-feed {
    display: flex;
    flex-direction: column;
    gap: .18rem;
}

.users-design-activity-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: .68rem;
    padding: .66rem 0;
    border-top: 1px solid #eef2f7;
}

.users-design-activity-item:first-of-type {
    border-top: 0;
    padding-top: .1rem;
}

.users-design-activity-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #e2e8f0;
    box-shadow: 0 6px 12px rgba(15, 23, 42, .12);
}

.users-design-activity-copy {
    min-width: 0;
}

.users-design-activity-topline {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
}

.users-design-activity-topline strong {
    color: #0f172a;
    font-size: .8rem;
    font-weight: 900;
    line-height: 1.2;
}

.users-design-activity-topline time {
    color: #64748b;
    font-size: .68rem;
    font-weight: 900;
    white-space: nowrap;
}

.users-design-activity-copy p {
    margin: .12rem 0 .18rem;
    color: #334155;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.25;
}

.users-design-activity-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .32rem;
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
}

.users-design-activity-meta span + span::before {
    content: "·";
    margin-right: .32rem;
    color: #94a3b8;
}

.users-design-activity-empty {
    min-height: 118px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    color: #94a3b8;
    font-size: .76rem;
    font-weight: 800;
    border-top: 1px solid #eef2f7;
}

.users-design-bottom-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    gap: .85rem;
}

.users-design-activity-card,
.users-design-role-card {
    padding: 1rem 1.2rem 1.1rem;
}

.users-design-role-summary {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: .9rem;
    align-items: center;
    min-height: 180px;
}

.users-design-donut {
    width: 132px;
    height: 132px;
    border-radius: 50%;
    position: relative;
    display: grid;
    place-items: center;
    margin: 0 auto;
}

.users-design-donut::after {
    content: "";
    position: absolute;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: #fff;
    box-shadow: inset 0 0 0 1px #edf1f6;
}

.users-design-donut span {
    position: relative;
    z-index: 1;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
}

.users-design-role-legend {
    display: grid;
    gap: .45rem;
}

.users-design-role-legend div {
    display: grid;
    grid-template-columns: 9px minmax(0, 1fr) auto;
    align-items: center;
    gap: .45rem;
    color: #475569;
    font-size: .72rem;
    font-weight: 800;
}

.users-design-role-legend i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.users-design-role-legend strong {
    color: #0f172a;
    font-weight: 900;
}

@media (max-width: 1199.98px) {
    .users-design-main-grid,
    .users-design-bottom-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .users-design-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .users-design-filter-row {
        align-items: stretch;
        flex-direction: column;
    }

    .users-design-filter-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: none;
        width: 100%;
    }

    .users-design-filter-actions {
        min-width: 0;
        flex-wrap: wrap;
        justify-content: flex-end;
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .users-design-kpi-row,
    .users-design-filter-fields,
    .users-design-role-summary {
        grid-template-columns: 1fr;
    }

    .users-design-list-head,
    .users-design-filter-actions,
    .users-design-table-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .users-design-filter-actions .btn,
    .users-design-list-head .btn {
        width: 100%;
    }
}

.roles-modal-dialog {
    max-width: 1180px;
    margin-top: .75rem;
    margin-bottom: .75rem;
}

.roles-form-panel .roles-description-field {
    min-height: 72px;
    height: auto;
    resize: vertical;
}

.roles-permissions-section {
    padding-bottom: .7rem;
}

.roles-permissions-section .roles-permissions-card {
    margin-top: .1rem;
    border-radius: 8px;
}

#userModal .form-group {
    margin-bottom: .48rem;
}

#userModal .text-muted.small,
#userModal small.text-muted {
    font-size: .69rem;
    line-height: 1.18;
}

@media (max-width: 991.98px) {
    .users-modal-dialog {
        max-width: 94vw;
    }

    .users-photo-preview {
        width: 78px;
        height: 78px;
        font-size: 1.45rem;
    }

    .users-profile-card-top {
        align-items: flex-start;
    }
}
.sale-trial-chip { align-items: center; background: #fffbeb; border: 1px solid #f59e0b; border-radius: 6px; color: #92400e; display: inline-flex; font-size: .76rem; font-weight: 900; gap: .35rem; min-height: 30px; padding: .32rem .65rem; white-space: nowrap; }
.support-design-page { gap: .8rem; }
.support-topic-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .55rem;
}
.support-topic-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 34px;
    padding: .38rem .55rem;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #0f172a;
    font-size: .74rem;
    font-weight: 800;
}
.support-topic-link:hover {
    color: #0d6efd;
    border-color: #bfdbfe;
    background: #f8fbff;
}
.support-topic-link.is-active {
    color: #0d6efd;
    border-color: #93c5fd;
    background: #eff6ff;
}
.support-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: .8rem;
    align-items: start;
}
.support-content-stack,
.support-side-stack {
    display: grid;
    gap: .8rem;
}
.support-section-card .card-header,
.support-side-stack .card-header {
    border-bottom: 1px solid #edf1f6;
    padding: .7rem .8rem;
}
.support-section-card .card-title,
.support-side-stack .card-title {
    font-size: .9rem;
    font-weight: 900;
    color: #0f172a;
}
.support-section-card .card-body,
.support-side-stack .card-body {
    padding: .8rem;
}
.support-section-card .sales-history-list-table th,
.support-section-card .support-detail-table th {
    width: 220px;
    min-width: 220px;
    max-width: 220px;
    color: #475569;
    font-size: .74rem;
    font-weight: 900;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
    vertical-align: top;
}
.support-section-card .sales-history-list-table td,
.support-section-card .support-detail-table td {
    color: #0f172a;
    font-size: .78rem;
    font-weight: 700;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    vertical-align: top;
}
.support-step-list,
.support-check-list,
.support-operation-grid {
    display: grid;
    gap: .55rem;
}
.support-step-row,
.support-check-list > div,
.support-operation-grid > div {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    min-height: 38px;
    padding: .55rem .65rem;
    border: 1px solid #edf1f6;
    border-radius: 6px;
    background: #f8fafc;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 700;
}
.support-step-row strong {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: #0d6efd;
    color: #fff;
    font-size: .72rem;
    font-weight: 900;
    flex: 0 0 22px;
}
.support-check-list i {
    margin-top: .15rem;
}
.support-operation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.support-operation-grid > div {
    display: grid;
    gap: .2rem;
}
.support-operation-grid strong {
    font-size: .78rem;
    font-weight: 900;
}
.support-operation-grid span {
    color: #64748b;
    font-size: .74rem;
}
.support-inline-alert {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    padding: .6rem .7rem;
    border-radius: 6px;
    font-size: .78rem;
    font-weight: 800;
}
.support-inline-alert.is-info {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
}
.support-inline-alert.is-warning {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
}
.support-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .58rem 0;
    border-bottom: 1px solid #edf1f6;
}
.support-summary-row:last-child {
    border-bottom: 0;
}
.support-summary-row span {
    color: #64748b;
    font-size: .76rem;
    font-weight: 900;
}
.support-summary-row strong,
.support-summary-row a {
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
    text-align: right;
}
.support-action-stack {
    display: grid;
    gap: .5rem;
}
.support-action-stack .btn {
    min-height: 34px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
}
.support-license-status {
    display: grid;
    gap: .45rem;
}
.support-license-status strong {
    color: #0f172a;
    font-size: .92rem;
    font-weight: 900;
}
.support-license-status p {
    margin: 0;
    color: #64748b;
    font-size: .78rem;
    font-weight: 700;
}
@media (max-width: 1199.98px) {
    .support-topic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .support-main-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
    .support-topic-grid,
    .support-operation-grid { grid-template-columns: 1fr; }
    .support-section-card .sales-history-list-table th,
    .support-section-card .support-detail-table th {
        width: 160px;
        min-width: 160px;
        max-width: 160px;
        white-space: nowrap;
    }
}
.label-preview-barcode-wrap {
    min-height: 122px;
    margin: 1rem 0 .85rem;
    border-radius: .9rem;
    border: 1px dashed #cbd5e1;
    background: #fff;
    padding: .75rem;
}
.label-preview-barcode-wrap svg {
    width: 100%;
    max-height: 92px;
}
.label-card {
    margin-bottom: .85rem;
}
.label-card .card-header {
    min-height: 38px;
    padding: .55rem .8rem;
}
.label-card .card-title {
    font-size: .95rem;
    font-weight: 800;
}
.label-card .card-body {
    padding: .75rem .85rem;
}
.label-card .form-group {
    margin-bottom: .55rem;
}
.label-card label {
    margin-bottom: .22rem;
    font-size: .78rem;
    font-weight: 700;
}
.label-card .form-control,
.label-product-searchbox {
    min-height: 34px;
}
.label-card .form-control {
    height: 34px;
    padding: .32rem .55rem;
    font-size: .84rem;
}
.label-product-searchbox {
    border-radius: 8px;
    gap: .45rem;
    padding: 0 .55rem;
}
.label-product-searchbox .price-checker-search-input {
    min-height: 32px;
    font-size: .84rem;
}
.label-product-searchbox button {
    width: 28px;
    height: 28px;
    border-radius: 8px;
}
.label-visible-options {
    font-size: .84rem;
}
.label-visible-options .font-weight-bold {
    margin-bottom: .35rem !important;
    font-size: .82rem;
}
.label-visible-options .custom-control {
    min-height: 22px;
    margin-bottom: .28rem !important;
}
.label-visible-options .custom-control-label {
    font-size: .78rem;
}
.label-submit-btn {
    min-height: 34px;
    padding: .38rem .9rem;
    font-size: .85rem;
    font-weight: 800;
}
.label-submit-actions {
    display: flex;
    justify-content: flex-end;
}
.label-preview-card .card-body {
    display: flex;
    align-items: center;
    justify-content: center;
}
#labelPreview {
    width: min(100%, 430px);
}
#labelPreview h5 {
    margin-bottom: .45rem;
    font-size: .98rem;
    font-weight: 800;
}
#preview_price {
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.1;
}
#labelPreview small {
    font-size: .72rem;
}
#labelPreview .badge {
    font-size: .66rem;
}
.label-preview-card .label-preview-barcode-wrap {
    min-height: 86px;
    max-height: 118px;
    overflow: hidden;
    margin: .45rem 0;
    padding: .45rem;
}
.label-preview-card .label-preview-barcode-wrap svg {
    max-height: 100px;
}
.label-history-card {
    margin-top: .2rem;
}
.label-history-card .card-header {
    padding: .55rem .8rem;
}
.label-history-card .card-body {
    padding: .75rem;
}
.label-generated-dialog {
    max-width: 980px;
}
.label-generated-modal {
    border: 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .24);
}
.label-generated-header {
    align-items: center;
    border-bottom: 0;
    background: linear-gradient(135deg, #0f172a 0%, #1d4ed8 100%);
    color: #fff;
    padding: 1rem 1.15rem;
}
.label-generated-header .modal-title {
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.15;
}
.label-generated-header span {
    display: block;
    margin-top: .18rem;
    color: rgba(255,255,255,.78);
    font-size: .82rem;
}
.label-generated-close {
    color: #fff;
    opacity: .92;
    text-shadow: none;
}
.label-generated-body {
    height: min(72vh, 680px);
    padding: .85rem;
    background: #f8fafc;
}
.label-generated-body iframe {
    width: 100%;
    height: 100%;
    border: 1px solid #dbe4f0;
    border-radius: 12px;
    background: #fff;
}
.label-generated-footer {
    border-top: 1px solid #e2e8f0;
    background: #fff;
    padding: .75rem .9rem;
    gap: .45rem;
}
.roles-permissions-card {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}
.roles-permissions-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .75rem;
    padding: .72rem .8rem;
    border-bottom: 1px solid #e5eaf1;
    background: #f8fafc;
}
.roles-permissions-title {
    font-size: .9rem;
    font-weight: 900;
    color: #0f172a;
}
.roles-permissions-subtitle {
    margin-top: .12rem;
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
    max-width: 420px;
}
.roles-permissions-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .4rem;
    align-items: center;
}
.roles-permissions-search {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-width: 190px;
    height: 30px;
    padding: .2rem .55rem;
    border-radius: 6px;
    border: 1px solid #dbe4f0;
    background: #fff;
}
.roles-permissions-search > i {
    flex: 0 0 auto;
    color: #94a3b8;
    font-family: "Font Awesome 6 Free";
    font-size: .78rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
}
.roles-permissions-search .form-control {
    border: 0;
    box-shadow: none;
    background: transparent;
    padding: 0;
    height: auto;
    min-height: 0;
}
.roles-permissions-search .form-control:focus {
    box-shadow: none;
}
.roles-permissions-counter {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: .35rem .55rem;
    border-radius: 6px;
    background: #fff;
    border: 1px solid #dbe4f0;
    color: #334155;
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
}
.roles-permissions-tabs {
    display: flex;
    gap: .35rem;
    align-items: center;
    padding: .55rem .7rem;
    border-bottom: 1px solid #e5eaf1;
    background: #fff;
    overflow-x: auto;
}
.roles-permissions-tab {
    flex: 0 0 auto;
    min-height: 32px;
    padding: .38rem .68rem;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #f8fafc;
    color: #334155;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: 0;
    cursor: pointer;
}
.roles-permissions-tab:hover {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
}
.roles-permissions-tab.is-active {
    border-color: #0d6efd;
    background: #0d6efd;
    color: #fff;
}
.roles-permissions-accordion {
    max-height: 56vh;
    overflow: auto;
    background: #fff;
    display: grid;
    gap: .45rem;
    padding: .65rem .7rem .75rem;
}
.roles-permissions-section-panel {
    display: none;
}
.roles-permissions-section-panel.is-active,
.roles-permissions-section-panel.is-searching {
    display: grid;
    gap: .45rem;
}
.roles-permissions-section-title {
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .45rem .15rem .15rem;
    color: #475569;
    font-size: .7rem;
    font-weight: 900;
    text-transform: uppercase;
}
.roles-permissions-section-title small {
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
    text-transform: none;
}
.roles-permissions-item {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
}
.roles-permissions-item.has-selection {
    border-color: #93c5fd;
    background: #f8fbff;
}
.roles-permissions-item.is-complete {
    border-color: #86efac;
    background: #f0fdf4;
}
.roles-permissions-item-summary {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: .55rem;
    min-height: 44px;
    padding: .55rem .7rem;
    cursor: pointer;
    list-style: none;
}
.roles-permissions-item-summary:focus {
    outline: none;
}
.roles-permissions-item-summary:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(37, 99, 235, .35);
}
.roles-permissions-item-summary::-webkit-details-marker {
    display: none;
}
.roles-permissions-item-summary::marker {
    content: '';
    font-size: 0;
}
.roles-menu-permission-row .roles-permissions-item-summary,
.roles-extra-permission-row .roles-permissions-item-summary {
    grid-template-columns: 18px 30px minmax(0, 1fr) auto auto;
}
.roles-menu-permission-row.is-depth-1 {
    margin-left: 1rem;
}
.roles-menu-permission-row.is-depth-2,
.roles-menu-permission-row.is-depth-3 {
    margin-left: 1.75rem;
}
.roles-permissions-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    color: #64748b;
    font-size: .68rem;
    transition: transform .18s cubic-bezier(0.16, 1, 0.3, 1);
}
.roles-permissions-item[open] .roles-permissions-chevron {
    transform: rotate(90deg);
    color: #1d4ed8;
}
.roles-menu-permission-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: #eff6ff;
    color: #2563eb;
    font-size: .78rem;
}
.roles-permissions-item-copy {
    min-width: 0;
    display: grid;
    gap: .08rem;
}
.roles-permissions-item-copy strong,
.roles-permissions-item-copy small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.roles-permissions-item-copy strong {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
}
.roles-permissions-item-copy small {
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}
.roles-permissions-item-count {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: .12rem .45rem;
    border-radius: 999px;
    background: #eef2f7;
    color: #334155;
    font-size: .68rem;
    font-weight: 800;
    white-space: nowrap;
}
.roles-permissions-item.is-partial .roles-permissions-item-count {
    background: #dbeafe;
    color: #1d4ed8;
}
.roles-permissions-item.is-complete .roles-permissions-item-count {
    background: #d1fae5;
    color: #047857;
}
.roles-permissions-free-badge {
    background: #f1f5f9;
    color: #64748b;
}
.roles-permissions-item-summary .roles-row-toggle {
    font-size: .72rem;
    font-weight: 800;
    text-transform: none;
    padding: 0 !important;
    line-height: 1.1;
    white-space: nowrap;
}
.roles-permissions-item-body {
    padding: 0 .7rem .7rem 2.05rem;
    border-top: 1px solid #edf1f6;
}
.roles-menu-permission-row .roles-permissions-item-body,
.roles-extra-permission-row .roles-permissions-item-body {
    padding-left: 3.95rem;
}
.roles-permissions-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    padding-top: .65rem;
}
.roles-permission-group + .roles-permission-group {
    margin-top: .7rem;
}
.roles-permission-group-title {
    color: #475569;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}
.roles-permission-note {
    margin-top: .42rem;
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}
.roles-permission-chip {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 32px;
    padding: .22rem .58rem .22rem .4rem;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #0f172a;
    font-size: .74rem;
    font-weight: 800;
    cursor: pointer;
}
.roles-permission-chip input {
    position: absolute;
    opacity: 0;
    inset: 0;
    cursor: pointer;
}
.roles-permission-chip-check {
    position: relative;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    border-radius: 4px;
    border: 1px solid #cbd5e1;
    background: #fff;
    transition: background-color .16s ease, border-color .16s ease;
}
.roles-permission-chip-check::after {
    content: '';
    position: absolute;
    top: 1px;
    left: 5px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0);
    transition: transform .15s ease;
}
.roles-permission-chip-text {
    line-height: 1.1;
}
.roles-permission-chip:hover {
    border-color: #93c5fd;
    background: #f8fbff;
}
.roles-permission-chip:focus-within {
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .18);
}
.roles-permission-chip input:checked + .roles-permission-chip-check {
    background: #0d6efd;
    border-color: #0d6efd;
}
.roles-permission-chip input:checked + .roles-permission-chip-check::after {
    transform: rotate(45deg) scale(1);
}
.roles-permission-chip input:checked ~ .roles-permission-chip-text {
    color: #0f172a;
}
.roles-permission-chip:has(input:checked) {
    border-color: #93c5fd;
    background: #eff6ff;
}
.roles-permission-chip.is-crear input:checked + .roles-permission-chip-check {
    background: #16a34a;
    border-color: #16a34a;
}
.roles-permission-chip.is-crear:has(input:checked) {
    border-color: #86efac;
    background: #f0fdf4;
}
.roles-permission-chip.is-editar input:checked + .roles-permission-chip-check,
.roles-permission-chip.is-aprobar input:checked + .roles-permission-chip-check,
.roles-permission-chip.is-cerrar_caja input:checked + .roles-permission-chip-check,
.roles-permission-chip.is-enviar_sunat input:checked + .roles-permission-chip-check {
    background: #f59e0b;
    border-color: #f59e0b;
}
.roles-permission-chip.is-editar:has(input:checked),
.roles-permission-chip.is-aprobar:has(input:checked),
.roles-permission-chip.is-cerrar_caja:has(input:checked),
.roles-permission-chip.is-enviar_sunat:has(input:checked) {
    border-color: #fde68a;
    background: #fffbeb;
}
.roles-permission-chip.is-eliminar input:checked + .roles-permission-chip-check,
.roles-permission-chip.is-anular input:checked + .roles-permission-chip-check,
.roles-permission-chip.is-reapertura input:checked + .roles-permission-chip-check {
    background: #dc2626;
    border-color: #dc2626;
}
.roles-permission-chip.is-eliminar:has(input:checked),
.roles-permission-chip.is-anular:has(input:checked),
.roles-permission-chip.is-reapertura:has(input:checked) {
    border-color: #fecaca;
    background: #fff5f5;
}
.roles-permission-chip.is-imprimir input:checked + .roles-permission-chip-check {
    background: #7c3aed;
    border-color: #7c3aed;
}
.roles-permission-chip.is-imprimir:has(input:checked) {
    border-color: #ddd6fe;
    background: #f5f3ff;
}
.roles-permission-chip.is-exportar input:checked + .roles-permission-chip-check {
    background: #0f766e;
    border-color: #0f766e;
}
.roles-permission-chip.is-exportar:has(input:checked) {
    border-color: #99f6e4;
    background: #f0fdfa;
}
.roles-column-toggle,
.roles-row-toggle {
    font-size: .72rem;
    font-weight: 700;
    text-transform: none;
    padding: 0 !important;
}
.roles-permission-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    cursor: pointer;
}
.roles-permission-toggle input {
    position: absolute;
    opacity: 0;
    inset: 0;
    cursor: pointer;
}
.roles-permission-toggle span {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border: 1px solid #cbd5e1;
    background: #fff;
    transition: all .18s ease;
    box-shadow: none;
}
.roles-permission-toggle span::after {
    content: '';
    position: absolute;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0);
    transition: transform .15s ease;
    top: 5px;
    left: 9px;
}
.roles-permission-toggle input:checked + span {
    background: #0d6efd;
    border-color: #0d6efd;
    box-shadow: none;
}
.roles-permission-toggle.is-crear input:checked + span {
    background: #16a34a;
    border-color: #16a34a;
}
.roles-permission-toggle.is-editar input:checked + span {
    background: #f59e0b;
    border-color: #f59e0b;
}
.roles-permission-toggle.is-eliminar input:checked + span {
    background: #dc2626;
    border-color: #dc2626;
}
.roles-permission-toggle.is-imprimir input:checked + span {
    background: #7c3aed;
    border-color: #7c3aed;
}
.roles-permission-toggle.is-exportar input:checked + span {
    background: #0f766e;
    border-color: #0f766e;
}
.roles-permission-toggle.is-anular input:checked + span,
.roles-permission-toggle.is-reapertura input:checked + span {
    background: #dc2626;
    border-color: #dc2626;
}
.roles-permission-toggle.is-aprobar input:checked + span,
.roles-permission-toggle.is-cerrar_caja input:checked + span,
.roles-permission-toggle.is-enviar_sunat input:checked + span {
    background: #f59e0b;
    border-color: #f59e0b;
}
.roles-permission-toggle input:checked + span::after {
    transform: rotate(45deg) scale(1);
}
.roles-permission-toggle:hover span {
    border-color: #93c5fd;
    box-shadow: none;
}
.roles-wizard-modal {
    display: flex;
    max-height: calc(100vh - 1.5rem);
    border: 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .18);
}
.roles-wizard-modal form {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    flex-direction: column;
}
.roles-wizard-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    flex: 0 0 auto;
    padding: .72rem .9rem;
}
.roles-wizard-header .users-modal-header-copy {
    min-width: 0;
    flex: 1 1 auto;
}
.roles-wizard-header .modal-title {
    color: #0f172a;
    font-size: .78rem;
    font-weight: 800;
}
.roles-wizard-header.is-editing .modal-title {
    color: #4338ca;
}
.roles-wizard-editing-name {
    display: none;
    align-items: center;
    gap: .55rem;
    min-width: 0;
    margin: .28rem 0 .18rem;
}
.roles-wizard-header.is-editing .roles-wizard-editing-name {
    display: inline-flex;
    max-width: 100%;
}
.roles-wizard-editing-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #7c3aed;
    color: #fff;
    font-size: .92rem;
    flex: 0 0 34px;
    box-shadow: 0 8px 16px rgba(124, 58, 237, .28);
}
.roles-wizard-editing-name strong {
    min-width: 0;
    color: #0f172a;
    font-size: 1.28rem;
    font-weight: 900;
    letter-spacing: -.02em;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.roles-wizard-header .users-modal-subtitle {
    font-size: .74rem;
    font-weight: 700;
}
.roles-wizard-steps {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
    padding: .55rem .9rem;
    border-bottom: 1px solid #e5eaf1;
    background: #f8fafc;
}
.roles-wizard-step {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: 30px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #64748b;
    padding: .28rem .5rem;
    text-align: left;
    font-size: .74rem;
    font-weight: 900;
}
.roles-wizard-step span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 6px;
    background: #f1f5f9;
    color: #475569;
    font-size: .72rem;
}
.roles-wizard-step.is-active {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #0d6efd;
}
.roles-wizard-step.is-active span {
    background: #0d6efd;
    color: #fff;
}
.roles-wizard-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: .75rem .9rem;
    background: #fff;
}
.roles-wizard-panel {
    border: 0;
    background: transparent;
    padding: 0;
}
.roles-wizard-pane {
    display: none;
}
.roles-wizard-pane.is-active {
    display: block;
}
.roles-wizard-pane-head {
    margin-bottom: .65rem;
}
.roles-wizard-pane-head h3 {
    margin: 0;
    color: #0f172a;
    font-size: .94rem;
    font-weight: 900;
}
.roles-wizard-pane-head p {
    margin: .18rem 0 0;
    color: #64748b;
    font-size: .74rem;
    font-weight: 700;
}
.roles-wizard-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .6rem;
}
.roles-wizard-fields .form-group {
    margin-bottom: 0;
}
.roles-wizard-fields label {
    margin-bottom: .25rem;
    color: #475569;
    font-size: .72rem;
    font-weight: 900;
}
.roles-wizard-fields .form-control {
    min-height: 34px;
    border: 1px solid #d9e2ef;
    border-radius: 4px;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 700;
}
.roles-wizard-description-field {
    grid-column: 1 / -1;
}
.roles-wizard-description-field textarea {
    min-height: 74px;
}
.roles-wizard-footer {
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    padding: .6rem .9rem;
}
.roles-wizard-footer-actions {
    display: flex;
    align-items: center;
    gap: .45rem;
}
.roles-wizard-footer .btn {
    min-height: 32px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 900;
}
.roles-wizard-pane .roles-permissions-card {
    border-color: #dbe4f0;
    box-shadow: none;
}
.roles-wizard-pane .roles-permissions-toolbar {
    padding: .58rem .7rem;
}
.roles-wizard-pane .roles-permissions-title {
    font-size: .9rem;
    font-weight: 900;
}
.roles-wizard-pane .roles-permissions-subtitle {
    font-size: .74rem;
    max-width: 470px;
}
.roles-wizard-pane .roles-permissions-accordion {
    max-height: min(46vh, 390px);
}
.roles-design-page {
    gap: .75rem;
}
.roles-design-header-actions {
    display: flex;
    align-items: center;
    gap: .45rem;
}
.roles-design-header-actions .btn {
    min-height: 34px;
    border-radius: 6px;
    font-size: .78rem;
    font-weight: 800;
}
.roles-design-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.roles-design-kpi-purple {
    background: #7c3aed;
}
.roles-design-filter-card .card-body {
    padding: .65rem;
}
.roles-design-filter-row {
    display: grid;
    grid-template-columns: minmax(260px, 420px) minmax(160px, 220px) minmax(0, 1fr);
    gap: .6rem;
    align-items: center;
}
.roles-design-search,
.roles-design-module-search {
    min-height: 30px;
}
.roles-design-search .form-control,
.roles-design-module-search .form-control,
.roles-design-status-filter {
    height: 30px;
    border-radius: 6px;
    border-color: #dbe4f0;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}
.roles-design-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}
.roles-design-left-column {
    display: grid;
    gap: .75rem;
    min-width: 0;
}
.roles-design-list-card {
    overflow: hidden;
}
.roles-design-table th,
.roles-design-table td {
    vertical-align: middle;
}
.roles-design-role-name {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: center;
    gap: .55rem;
}
.roles-design-role-name strong,
.roles-design-module-cell strong {
    display: block;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.15;
}
.roles-design-role-name small,
.roles-design-module-cell small {
    display: block;
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.15;
}
.roles-design-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
}

.roles-design-count i {
    color: #64748b;
    font-size: .78rem;
}

.roles-design-role-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    color: #fff;
    font-size: .75rem;
}
.roles-design-role-color-0 { background: #7c3aed; }
.roles-design-role-color-1 { background: #0d6efd; }
.roles-design-role-color-2 { background: #16a34a; }
.roles-design-role-color-3 { background: #f59e0b; }
.roles-design-role-color-4 { background: #dc2626; }
.roles-design-role-color-5 { background: #64748b; }
.roles-design-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    padding: .2rem .45rem;
    border-radius: 6px;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
}
.roles-design-status-badge.is-active {
    border: 1px solid #86efac;
    background: #dcfce7;
    color: #15803d;
}
.roles-design-status-badge.is-inactive {
    border: 1px solid #fecaca;
    background: #fee2e2;
    color: #dc2626;
}
.roles-design-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
}
.roles-design-row-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border-radius: 4px;
}
.roles-design-table-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .55rem .75rem;
    border-top: 1px solid #edf1f6;
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
}
.roles-design-detail-card,
.roles-design-permissions-panel {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}
.roles-design-detail-card {
    position: sticky;
    top: .85rem;
    padding: 1rem 1.1rem;
}
.roles-design-detail-head,
.roles-design-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
}
.roles-design-detail-head h3,
.roles-design-panel-head h3 {
    margin: 0;
    color: #0f172a;
    font-size: .94rem;
    font-weight: 900;
}
.roles-design-detail-profile {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
    padding: 1rem 0;
    border-bottom: 1px solid #edf1f6;
}
.roles-design-detail-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: #7c3aed;
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 8px 18px rgba(124, 58, 237, .2);
}
.roles-design-detail-profile strong {
    display: block;
    color: #7c3aed;
    font-size: .92rem;
    font-weight: 900;
}
.roles-design-detail-profile small {
    display: block;
    margin-top: .18rem;
    color: #64748b;
    font-size: .74rem;
    font-weight: 700;
    line-height: 1.25;
}
.roles-design-detail-section {
    padding: .85rem 0;
    border-bottom: 1px solid #edf1f6;
}
.roles-design-detail-section h4 {
    margin: 0 0 .55rem;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
}
.roles-design-detail-section dl {
    display: grid;
    gap: .48rem;
    margin: 0;
}
.roles-design-detail-section dl div {
    display: flex;
    justify-content: space-between;
    gap: .65rem;
}
.roles-design-detail-section dt,
.roles-design-detail-section dd {
    margin: 0;
    font-size: .72rem;
    line-height: 1.25;
}
.roles-design-detail-section dt {
    color: #64748b;
    font-weight: 900;
}
.roles-design-detail-section dd {
    color: #0f172a;
    font-weight: 900;
    text-align: right;
}
.roles-design-user-summary {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: .6rem;
    align-items: center;
}
.roles-design-user-summary i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: #eff6ff;
    color: #0d6efd;
}
.roles-design-user-summary strong,
.roles-design-user-summary small {
    display: block;
}
.roles-design-user-summary strong {
    color: #0f172a;
    font-size: .76rem;
    font-weight: 900;
}
.roles-design-user-summary small {
    margin-top: .12rem;
    color: #64748b;
    font-size: .7rem;
    font-weight: 700;
}
.roles-design-detail-actions {
    display: grid;
    gap: .55rem;
    padding-top: .85rem;
}
.roles-design-detail-actions .btn {
    min-height: 34px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 900;
}
.roles-design-permissions-panel {
    padding: .85rem;
}
.roles-design-tabs {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin-top: .55rem;
}
.roles-design-tabs button {
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: #64748b;
    padding: 0 0 .28rem;
    font-size: .72rem;
    font-weight: 900;
}
.roles-design-tabs button.active {
    border-bottom-color: #7c3aed;
    color: #7c3aed;
}
.roles-design-permission-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .45rem .7rem;
    max-width: 420px;
}
.roles-design-action-dot {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    color: #475569;
    font-size: .68rem;
    font-weight: 800;
}
.roles-design-action-dot::before {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 3px;
    background: #0d6efd;
}
.roles-design-action-dot.is-crear::before { background: #16a34a; }
.roles-design-action-dot.is-editar::before { background: #f59e0b; }
.roles-design-action-dot.is-eliminar::before { background: #dc2626; }
.roles-design-action-dot.is-imprimir::before { background: #7c3aed; }
.roles-design-action-dot.is-exportar::before { background: #0f766e; }
.roles-design-module-search {
    width: min(100%, 330px);
    margin: .75rem 0 .55rem;
}
.roles-design-permission-table-wrap {
    max-height: 440px;
    overflow: auto;
}
.roles-design-permission-table {
    min-width: 720px;
}
.roles-design-module-cell {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: .48rem;
}
.roles-design-module-cell i {
    color: #0d6efd;
    font-size: .82rem;
    text-align: center;
}
.roles-design-permission-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: transparent;
    font-size: .58rem;
}
.roles-design-permission-check.is-granted {
    border-color: #0d6efd;
    background: #0d6efd;
    color: #fff;
}
.roles-design-permission-check.is-crear.is-granted {
    border-color: #16a34a;
    background: #16a34a;
}
.roles-design-permission-check.is-editar.is-granted {
    border-color: #f59e0b;
    background: #f59e0b;
}
.roles-design-permission-check.is-eliminar.is-granted {
    border-color: #dc2626;
    background: #dc2626;
}
.roles-design-permission-check.is-imprimir.is-granted {
    border-color: #7c3aed;
    background: #7c3aed;
}
.roles-design-permission-check.is-exportar.is-granted {
    border-color: #0f766e;
    background: #0f766e;
}
.roles-design-permission-empty {
    color: #94a3b8;
    font-size: .72rem;
    font-weight: 800;
}
.branches-design-page {
    gap: .75rem;
}
.branches-design-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.branches-design-kpi-purple {
    background: #7c3aed;
}
.branches-design-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}
.branches-design-left-column {
    display: grid;
    gap: .75rem;
    min-width: 0;
}
.branches-design-list-card {
    overflow: hidden;
}
.branches-design-toolbar {
    display: grid;
    grid-template-columns: minmax(240px, 340px) minmax(160px, 220px) minmax(0, 1fr);
    gap: .6rem;
    align-items: center;
    padding: .65rem;
    border-bottom: 1px solid #edf1f6;
}
.branches-design-search .form-control,
.branches-design-status-filter {
    height: 30px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}
.branches-design-toolbar-actions {
    display: flex;
    justify-content: flex-end;
    gap: .45rem;
}
.branches-design-toolbar-actions .btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 900;
}
.branches-design-table th,
.branches-design-table td {
    vertical-align: middle;
}
.branches-design-table tbody tr {
    cursor: pointer;
}
.branches-design-table tbody tr.is-selected td {
    background: #eff6ff;
}
.branches-design-code-cell {
    display: inline-grid;
    grid-template-columns: 10px auto;
    gap: .5rem;
    align-items: center;
}
.branches-design-code-cell strong,
.branches-design-name-cell strong {
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
}
.branches-design-status-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #94a3b8;
}
.branches-design-status-dot.is-active {
    background: #16a34a;
}
.branches-design-status-dot.is-inactive {
    background: #dc2626;
}
.branches-design-name-cell {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}
.branches-design-name-cell span {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: .15rem .38rem;
    border-radius: 5px;
    background: #ede9fe;
    color: #7c3aed;
    font-size: .66rem;
    font-weight: 900;
}
.branches-design-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 24px;
    border: 1px solid #dbeafe;
    border-radius: 6px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .72rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}
.branches-design-count-badge.is-cash {
    border-color: #ccfbf1;
    background: #f0fdfa;
    color: #0f766e;
}
.branches-design-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    padding: .2rem .45rem;
    border-radius: 6px;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
}
.branches-design-status-badge.is-active {
    border: 1px solid #86efac;
    background: #dcfce7;
    color: #15803d;
}
.branches-design-status-badge.is-inactive {
    border: 1px solid #fecaca;
    background: #fee2e2;
    color: #dc2626;
}
.branches-design-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
}
.branches-design-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border-radius: 4px;
}
.branches-design-table-footer {
    padding: .55rem .75rem;
    border-top: 1px solid #edf1f6;
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
}
.branches-design-map-card,
.branches-design-city-card {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}
.branches-design-map-card h3,
.branches-design-city-card h3 {
    margin: 0;
    color: #0f172a;
    font-size: .94rem;
    font-weight: 900;
}
.branches-design-lower-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
    gap: .75rem;
}
.branches-design-map-card,
.branches-design-city-card {
    padding: .85rem;
}
.branches-design-map {
    position: relative;
    height: 230px;
    margin-top: .7rem;
    overflow: hidden;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #e2e8f0;
}
.branches-design-map-empty {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: none;
    place-items: center;
    padding: 1rem;
    background: rgba(248, 250, 252, .86);
    color: #475569;
    font-size: .82rem;
    font-weight: 800;
    text-align: center;
}
.branches-design-map-empty.is-visible {
    display: grid;
}
.branches-design-google-canvas,
.branches-design-google-embed {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.branches-design-google-canvas {
    z-index: 1;
    border: 0;
    background: #f8fafc;
}
.branches-design-google-embed {
    z-index: 2;
    display: none;
    border: 0;
}
.branches-design-map-popup-card {
    display: grid;
    gap: .2rem;
    min-width: 180px;
    color: #0f172a;
}
.branches-design-map-popup-card strong {
    color: #111827;
    font-size: .88rem;
    font-weight: 900;
}
.branches-design-map-popup-card span,
.branches-design-map-popup-card small {
    color: #475569;
    font-size: .75rem;
    font-weight: 700;
}
.branches-design-city-content {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    min-height: 230px;
}
.branches-design-donut {
    position: relative;
    display: grid;
    place-items: center;
    width: 126px;
    height: 126px;
    border-radius: 50%;
    background: conic-gradient(var(--branch-donut-gradient, #e5eaf1 0% 100%));
}
.branches-design-donut::before {
    content: '';
    position: absolute;
    inset: 27px;
    border-radius: 50%;
    background: #fff;
}
.branches-design-donut strong,
.branches-design-donut span {
    position: relative;
    z-index: 1;
    display: block;
    text-align: center;
}
.branches-design-donut strong {
    color: #0f172a;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1;
}
.branches-design-donut span {
    color: #64748b;
    font-size: .72rem;
    font-weight: 900;
}
.branches-design-city-list {
    display: grid;
    gap: .65rem;
}
.branches-design-city-list div {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    align-items: center;
    gap: .5rem;
    color: #475569;
    font-size: .75rem;
    font-weight: 800;
}
.branches-design-city-list i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}
.branches-design-city-list .city-color-0 { background: #7c3aed; }
.branches-design-city-list .city-color-1 { background: #16a34a; }
.branches-design-city-list .city-color-2 { background: #f59e0b; }
.branches-design-city-list .city-color-3 { background: #0d6efd; }
.branches-design-city-list .city-color-4 { background: #64748b; }
.branches-design-city-list strong {
    color: #0f172a;
    font-weight: 900;
}
.branches-modal-dialog {
    margin-top: .75rem;
    margin-bottom: .75rem;
}
.branches-modal-content {
    display: flex;
    max-height: calc(100vh - 1.5rem);
    border: 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .18);
}
.branches-modal-content form {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    flex-direction: column;
}
.branches-modal-body {
    min-height: 0;
    overflow: auto;
}
.branches-wizard-dialog {
    max-width: 780px;
}
.branches-wizard-modal {
    max-height: calc(100vh - 1.5rem);
}
.branches-wizard-header {
    flex: 0 0 auto;
    padding: .72rem .9rem;
}
.branches-wizard-steps {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
    padding: .55rem .9rem;
    border-bottom: 1px solid #e5eaf1;
    background: #f8fafc;
}
.branches-wizard-step {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 0 .5rem;
    align-items: center;
    min-height: 34px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #64748b;
    padding: .32rem .55rem;
    text-align: left;
    font-size: .72rem;
    font-weight: 900;
}
.branches-wizard-step span {
    grid-row: span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: #f1f5f9;
    color: #475569;
    font-size: .72rem;
    font-weight: 900;
}
.branches-wizard-step strong,
.branches-wizard-step small {
    display: block;
    min-width: 0;
}
.branches-wizard-step small {
    color: #64748b;
    font-size: .66rem;
    font-weight: 800;
}
.branches-wizard-step.is-active {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #0d6efd;
}
.branches-wizard-step.is-active span,
.branches-wizard-step.is-complete span {
    background: #0d6efd;
    color: #fff;
}
.branches-wizard-step.is-complete {
    border-color: #bbf7d0;
    background: #f0fdf4;
}
.branches-wizard-panel {
    min-height: 286px;
}
.branches-wizard-pane {
    display: none;
}
.branches-wizard-pane.is-active {
    display: block;
}
.branches-wizard-pane-head {
    margin-bottom: .65rem;
}
.branches-wizard-pane-head h3 {
    margin: 0;
    color: #0f172a;
    font-size: .94rem;
    font-weight: 900;
}
.branches-wizard-pane-head p {
    margin: .18rem 0 0;
    color: #64748b;
    font-size: .74rem;
    font-weight: 700;
}
.branches-wizard-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .6rem;
}
.branches-wizard-fields .form-group {
    margin-bottom: 0;
}
.branches-wizard-fields label {
    margin-bottom: .25rem;
    color: #475569;
    font-size: .72rem;
    font-weight: 900;
}
.branches-wizard-fields .form-control {
    min-height: 34px;
    border: 1px solid #d9e2ef;
    border-radius: 4px;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 700;
}
.branches-wizard-wide {
    grid-column: 1 / -1;
}
.branches-wizard-wide textarea {
    min-height: 86px;
}
.branches-wizard-footer {
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    padding: .6rem .9rem;
}
.branches-wizard-progress {
    color: #64748b;
    font-size: .72rem;
    font-weight: 900;
}
.branches-wizard-footer-actions {
    display: flex;
    align-items: center;
    gap: .45rem;
}
.branches-wizard-footer .btn {
    min-height: 32px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 900;
}

@media (max-width: 1199.98px) {
    .branches-design-main-grid,
    .branches-design-lower-grid {
        grid-template-columns: 1fr;
    }
    .roles-design-main-grid {
        grid-template-columns: 1fr;
    }
    .roles-design-detail-card {
        position: static;
    }
}

@media (max-width: 991.98px) {
    .branches-design-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .branches-design-toolbar {
        grid-template-columns: 1fr 180px;
    }
    .branches-design-toolbar-actions {
        grid-column: 1 / -1;
    }
    .roles-wizard-fields {
        grid-template-columns: 1fr;
    }
    .branches-wizard-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .roles-design-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .roles-design-filter-row {
        grid-template-columns: 1fr 180px;
    }
}

@media (max-width: 575.98px) {
    .branches-design-kpis,
    .branches-design-toolbar,
    .branches-design-city-content {
        grid-template-columns: 1fr;
    }
    .branches-design-toolbar-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .branches-design-toolbar-actions .btn {
        width: 100%;
    }
    .roles-wizard-steps,
    .branches-wizard-steps,
    .roles-wizard-footer,
    .roles-wizard-footer-actions,
    .branches-wizard-fields {
        grid-template-columns: 1fr;
    }
    .roles-wizard-footer,
    .roles-wizard-footer-actions,
    .branches-wizard-footer,
    .branches-wizard-footer-actions {
        display: grid;
        align-items: stretch;
        width: 100%;
    }
    .roles-wizard-footer .btn,
    .branches-wizard-footer .btn {
        width: 100%;
    }
    .roles-design-kpis,
    .roles-design-filter-row {
        grid-template-columns: 1fr;
    }
    .roles-design-panel-head,
    .roles-design-detail-head {
        flex-direction: column;
    }
    .roles-design-permission-legend {
        justify-content: flex-start;
    }
}

.sales-history-page {
    display: grid;
    gap: .65rem;
}
.swal2-container {
    z-index: 2095 !important;
}
.swal2-popup,
.app-swal-popup {
    font-family: var(--pos-font-family);
    width: min(390px, calc(100vw - 2rem));
    padding: 1rem 1.1rem .95rem;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .18);
}
.swal2-title,
.app-swal-title {
    margin: .15rem 0 0;
    padding: 0;
    color: #0f172a;
    font-family: var(--pos-font-family);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.28;
    letter-spacing: 0;
}
.swal2-html-container,
.app-swal-html,
.swal2-html-container.app-swal-html {
    margin: .45rem 0 0;
    color: #64748b;
    font-family: var(--pos-font-family);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
}
.swal2-icon,
.app-swal-icon.swal2-icon {
    width: 5em;
    height: 5em;
    margin: .1rem auto .65rem;
    border-width: .25em;
    font-size: .62rem;
}
.swal2-icon.swal2-success,
.app-swal-icon.swal2-success {
    border-color: #16a34a;
    color: #16a34a;
}
.swal2-icon.swal2-error,
.app-swal-icon.swal2-error {
    border-color: #dc2626;
    color: #dc2626;
}
.swal2-icon.swal2-warning,
.app-swal-icon.swal2-warning {
    border-color: #f59e0b;
    color: #f59e0b;
}
.swal2-icon.swal2-info,
.swal2-icon.swal2-question,
.app-swal-icon.swal2-info,
.app-swal-icon.swal2-question {
    border-color: #0d6efd;
    color: #0d6efd;
}
.swal2-actions,
.app-swal-actions,
.swal2-actions.app-swal-actions {
    gap: .45rem;
    margin: .9rem 0 0;
}
.swal2-styled,
.app-swal-button {
    min-height: 32px;
    border-radius: 6px;
    padding: .34rem .72rem;
    font-family: var(--pos-font-family);
    font-size: 14px;
    font-weight: 600;
    box-shadow: none;
}
.app-swal-confirm {
    border-color: #0d6efd;
    background: #0d6efd;
    color: #fff;
}
.app-swal-confirm:hover,
.app-swal-confirm:focus {
    border-color: #1d4ed8;
    background: #1d4ed8;
    color: #fff;
}
.app-swal-cancel {
    border-color: #dbe4f0;
    background: #fff;
    color: #475569;
}
.app-swal-cancel:hover,
.app-swal-cancel:focus {
    border-color: #cbd5e1;
    background: #f8fafc;
    color: #0f172a;
}
.app-swal-deny {
    border-color: #dc2626;
    background: #fff;
    color: #dc2626;
}
.app-swal-deny:hover,
.app-swal-deny:focus {
    background: #dc2626;
    color: #fff;
}
.swal2-input,
.swal2-textarea,
.swal2-select,
.app-swal-input,
.swal2-input.app-swal-input,
.swal2-textarea.app-swal-input,
.swal2-select.app-swal-input {
    min-height: 34px;
    margin: .75rem 0 0;
    border: 1px solid #d9e2ef;
    border-radius: 4px;
    color: #0f172a;
    font-family: var(--pos-font-family);
    font-size: 14px;
    font-weight: 400;
    box-shadow: none;
}
.app-swal-input:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 .14rem rgba(13, 110, 253, .12);
}
.sale-cash-close-positive-swal {
    padding: 1rem 1.1rem !important;
}
.sale-cash-close-positive-swal-title {
    font-size: 1rem !important;
    line-height: 1.28 !important;
}
.swal2-validation-message,
.app-swal-validation,
.swal2-validation-message.app-swal-validation {
    margin: .65rem 0 0;
    border: 1px solid #fecaca;
    border-radius: 6px;
    background: #fff5f5;
    color: #dc2626;
    font-family: var(--pos-font-family);
    font-size: 13px;
    font-weight: 500;
}
.sales-history-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 36px;
}
.app-module-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 36px;
    padding-top: .7rem;
}
.app-module-header h1 {
    margin: 0;
    line-height: 1.1;
}
.sales-history-page-header h1 {
    margin: 0;
    color: #0f172a;
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: 0;
}
.sales-history-filter-card {
    width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
    overflow: visible;
}
.sales-history-filter-card .card-header {
    display: flex;
    align-items: center;
    min-height: 34px;
    padding: .42rem .65rem;
    border-bottom: 1px solid #e2e8f0;
    background: #fff;
}
.sales-history-filter-card .card-title {
    margin: 0;
    color: #0f172a;
    font-size: .86rem;
    font-weight: 900;
}
.sales-history-filter-card .card-body {
    padding: .72rem .8rem .82rem;
    background: #fff;
}
.sales-history-filter-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: .62rem;
}
.sales-history-filter-grid > .sales-history-filter-row {
    grid-column: 1 / -1;
}
.sales-history-filter-row {
    display: flex;
    align-items: end;
    gap: 14px;
    min-width: 0;
}
.sales-history-filter-grid .form-group {
    margin-bottom: 0;
    min-width: 0;
}
.sales-history-filter-row-primary .sales-history-date-field {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
}
.sales-history-filter-row-primary > .form-group:not(.sales-history-date-field) {
    flex: 1 1 0;
}
.sales-history-filter-row-secondary > .form-group {
    flex: 1 1 0;
}
.sales-history-filter-row-secondary .sales-history-search-field {
    flex: 1.35 1 0;
}
.sales-history-filter-row-secondary .sales-history-filter-actions {
    flex: 0 0 233px;
}
.sales-history-filter-grid label {
    margin-bottom: .22rem;
    color: #475569;
    font-size: .7rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}
.sales-history-filter-grid .form-control {
    height: 38px;
    min-height: 38px;
    border-color: #dbe4f0;
    border-radius: 8px;
    color: #0f172a;
    font-size: .84rem;
    font-weight: 800;
    padding: .32rem .52rem;
}
.sales-history-dashboard-control {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dde6f1;
    border-radius: 8px;
    display: flex;
    gap: 8px;
    height: 38px;
    min-width: 0;
    padding: 0 10px;
}
.sales-history-dashboard-control i {
    color: #0d6efd;
    flex: 0 0 auto;
    font-size: .9rem;
}
.sales-history-dashboard-control span {
    color: #64748b;
    flex: 0 0 auto;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}
.sales-history-dashboard-control .form-control {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    height: 34px;
    min-height: 34px;
    min-width: 0;
    outline: 0;
    padding: 0;
}
.sales-history-dashboard-control input[type="date"] {
    flex: 1 1 128px;
    min-width: 128px;
}
.sales-history-dashboard-control-select .form-control {
    flex: 1 1 auto;
    width: 100%;
}
.sales-history-filter-grid .sales-history-date-field .sales-history-dashboard-control {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
}
.sales-history-filter-grid .sales-history-date-field .sales-history-dashboard-control input[type="date"] {
    flex: 0 0 116px;
    min-width: 116px;
    width: 116px;
}
.sales-history-search-field {
    grid-column: span 4 !important;
}
.sales-history-search-box {
    position: relative;
}
.sales-history-search-box i {
    position: absolute;
    top: 50%;
    left: .5rem;
    z-index: 2;
    color: #2563eb;
    font-size: .82rem;
    transform: translateY(-50%);
}
.sales-history-search-box .form-control {
    padding-left: 1.7rem;
}
.sales-history-filter-actions {
    grid-column: span 2 !important;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    gap: .45rem;
}
.sales-history-filter-actions .btn {
    width: auto;
    height: 38px;
    min-height: 38px;
    max-height: 38px;
    align-self: flex-end;
    padding: .32rem .75rem;
    border-radius: 8px;
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
    line-height: 1;
}
.sales-history-kpi-row {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: .55rem;
}
.sales-history-kpi-card {
    min-height: 74px;
    margin-bottom: 0;
    padding: .72rem .65rem;
    border: 1px solid #e5edf7;
    border-radius: 8px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .05);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .6rem;
}
.sales-history-kpi-icon {
    width: 38px;
    height: 38px;
    border-radius: 7px;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    font-size: 1rem;
}
.sales-history-kpi-yape {
    background: #5A0E6F;
}
.sales-history-kpi-plin {
    background: #00AEEF;
}
.sales-history-kpi-efectivo {
    background: #198754;
}
.sales-history-kpi-tarjeta {
    background: #0d6efd;
}
.sales-history-kpi-transferencia {
    background: #6c757d;
}
.sales-history-kpi-credito {
    background: #dc3545;
}
.sales-history-kpi-brand {
    padding: 0;
    overflow: hidden;
}
.sales-history-kpi-brand img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.sales-history-kpi-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}
.sales-history-kpi-copy span {
    color: #64748b;
    font-size: .64rem;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}
.sales-history-kpi-copy strong {
    margin-top: .22rem;
    color: #0f172a;
    font-size: .98rem;
    font-weight: 900;
    white-space: nowrap;
}
.sales-history-kpi-copy small {
    margin-top: .24rem;
    color: #475569;
    font-size: .68rem;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sales-history-list-card {
    margin-bottom: 0;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
    overflow: hidden;
}
.sales-history-list-card .card-header {
    min-height: 36px;
    padding: .48rem .7rem;
    border-bottom: 1px solid #e2e8f0;
    background: #fff;
}
.sales-history-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    flex-wrap: wrap;
}
.sales-history-export-toolbar {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    margin-left: auto;
}
.sales-history-list-card .card-title {
    margin: 0;
    color: #0f172a;
    font-size: .88rem;
    font-weight: 900;
}
.sales-history-list-card .card-body {
    padding: .65rem;
}
.sales-history-list-table {
    width: 100% !important;
    color: #0f172a;
    font-size: .78rem;
}
.sales-history-list-table thead th {
    border-top: 0;
    border-bottom: 0;
    background: #1b365d;
    color: #fff;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .12);
}
.sales-history-list-table td {
    vertical-align: middle;
    border-top: 1px solid #edf2f7;
    white-space: nowrap;
}
.sales-history-list-table th.sales-history-doc-type-column,
.sales-history-list-table td.sales-history-doc-type-column,
.sales-history-list-table td.sales-history-doc-type-cell {
    width: 1%;
    min-width: 72px;
    max-width: 82px;
}
.sales-history-date-cell {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.1;
}
.sales-history-date-cell strong {
    font-size: .78rem;
    font-weight: 800;
}
.sales-history-date-cell small {
    margin-top: .16rem;
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
}
.sales-history-doc-number-cell {
    font-variant-numeric: tabular-nums;
}
.sales-history-branch-cell {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    color: #0f172a;
    font-weight: 700;
}
.sales-history-branch-cell i {
    color: #2563eb;
    font-size: .84rem;
}
.sales-history-table-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .3rem;
}
.sales-history-table-actions .btn-group {
    display: inline-flex;
}
.sales-history-table-actions .btn {
    width: 28px;
    height: 28px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
}
.sales-history-table-actions .btn-toggle-sale-detail.active {
    color: #fff;
    background: #0d6efd;
    border-color: #0d6efd;
}
.sales-history-pdf-download .dropdown-menu {
    min-width: 168px;
    border-color: #fecaca;
    border-radius: 8px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .14);
}
.sales-history-pdf-download .dropdown-item {
    display: flex;
    align-items: center;
    color: #7f1d1d;
    font-size: .78rem;
    font-weight: 800;
}
.sales-history-pdf-download .dropdown-item:hover,
.sales-history-pdf-download .dropdown-item:focus {
    background: #fef2f2;
    color: #991b1b;
}
.credit-notes-table.sales-history-list-table td {
    white-space: normal;
}

.credit-notes-table .credit-notes-table-actions .btn {
    width: 28px;
    height: 28px;
    padding: 0;
}

.debit-notes-table.sales-history-list-table td {
    white-space: normal;
}

.debit-notes-table .debit-notes-table-actions .btn {
    width: 28px;
    height: 28px;
    padding: 0;
}

.dispatch-guides-table.sales-history-list-table td {
    white-space: normal;
}

.dispatch-guides-table .dispatch-guides-table-actions .btn {
    width: 28px;
    height: 28px;
    padding: 0;
}
.sales-history-modal-dialog {
    max-width: 980px;
}
.sales-history-print-dialog {
    --ticket-preview-width: 336px;
    width: calc(var(--ticket-preview-width) + 34px);
    max-width: calc(100vw - 1rem);
}
.sales-history-modal {
    border: 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .24);
}
.sales-history-modal-header {
    align-items: center;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
    padding: .85rem 1rem;
}
.sales-history-modal-header .modal-title {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.15;
}
.sales-history-modal-header span {
    display: block;
    margin-top: .2rem;
    color: #64748b;
    font-size: .8rem;
    font-weight: 700;
}
.modal .modal-header {
    position: relative;
    padding-right: 3.35rem;
}
.modal .modal-header .close,
.modal .modal-header .sales-history-modal-close,
.modal .modal-header button[data-dismiss="modal"].close,
.swal2-popup .swal2-close {
    position: absolute;
    top: .65rem;
    right: .65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    margin: 0;
    padding: 0 !important;
    border: 1px solid rgba(190, 18, 60, .24);
    border-radius: 8px;
    background: #ef4444;
    color: #fff !important;
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1;
    opacity: 1;
    text-shadow: none;
    box-shadow: 0 8px 18px rgba(239, 68, 68, .24);
}
.modal .modal-header .close span,
.modal .modal-header .sales-history-modal-close span {
    display: inline;
    margin: 0;
    color: #fff !important;
    font-size: inherit;
    font-weight: 900;
    line-height: 1;
}
.modal .modal-header .close:hover,
.modal .modal-header .close:focus,
.modal .modal-header .sales-history-modal-close:hover,
.modal .modal-header .sales-history-modal-close:focus,
.swal2-popup .swal2-close:hover,
.swal2-popup .swal2-close:focus {
    background: #dc2626;
    color: #fff !important;
    opacity: 1;
    outline: none;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .18), 0 10px 22px rgba(239, 68, 68, .28);
}
.sales-history-modal-close {
    color: #64748b;
    opacity: 1;
    text-shadow: none;
}
.sales-history-modal-body {
    padding: .9rem;
    background: #f8fafc;
}
.sales-history-modal-summary {
    display: block;
    margin-bottom: .75rem;
}
.sales-history-detail-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: .65rem;
}
.sales-history-detail-section {
    min-width: 0;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    padding: .72rem;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .05);
}
.sales-history-detail-section h6 {
    margin: 0 0 .55rem;
    color: #0f172a;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
}
.sales-history-detail-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem .55rem;
}
.sales-history-detail-field {
    min-width: 0;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: center;
    gap: .42rem;
    padding: .42rem .45rem;
    border: 1px solid #edf2f7;
    border-radius: 7px;
    background: #f8fafc;
}
.sales-history-detail-field.wide {
    grid-column: 1 / -1;
}
.sales-history-detail-field-icon {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #eaf2ff;
    color: #0d6efd;
    font-size: .82rem;
}
.sales-history-detail-field-copy {
    min-width: 0;
    line-height: 1.08;
}
.sales-history-detail-field-copy span {
    display: block;
    color: #64748b;
    font-size: .62rem;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}
.sales-history-detail-field-copy strong {
    display: block;
    margin-top: .18rem;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sales-history-detail-field.strong .sales-history-detail-field-copy strong,
.sales-history-detail-field.money.strong .sales-history-detail-field-copy strong {
    font-weight: 900;
    color: #0d47a1;
}
.sales-history-detail-field.money .sales-history-detail-field-copy strong,
.sales-history-detail-field.mono .sales-history-detail-field-copy strong {
    font-variant-numeric: tabular-nums;
}
.sales-history-detail-field.mono .sales-history-detail-field-copy strong {
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: .72rem;
}
.sales-history-tax-state {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    border-radius: 6px;
    padding: .1rem .35rem;
    background: #e2e8f0;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sales-history-tax-aceptado,
.sales-history-tax-aceptado-con-observaciones {
    background: #dcfce7;
    color: #166534;
}
.sales-history-tax-rechazado,
.sales-history-tax-error-datos,
.sales-history-tax-error-envio {
    background: #fee2e2;
    color: #991b1b;
}
.sales-history-tax-pendiente-generacion,
.sales-history-tax-pendiente-envio,
.sales-history-tax-ticket-pendiente,
.sales-history-tax-procesando-sunat {
    background: #fef3c7;
    color: #92400e;
}
.sales-history-modal-summary-item {
    min-height: 74px;
    min-width: 0;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    padding: .72rem .65rem;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .05);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .6rem;
}
.sales-history-modal-summary-icon {
    width: 38px;
    height: 38px;
    border-radius: 7px;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    font-size: 1rem;
}
.sales-history-modal-summary-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}
.sales-history-modal-summary-copy span {
    display: block;
    color: #64748b;
    font-size: .64rem;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}
.sales-history-modal-summary-copy strong {
    display: block;
    margin-top: .22rem;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    min-width: 0;
}
.sales-history-modal-total {
    border-color: #e2e8f0;
    background: #fff;
}
.sales-history-modal-total .sales-history-modal-summary-copy strong {
    color: #1d4ed8;
}
.sales-history-modal-section-title {
    margin: .2rem 0 .5rem;
    color: #334155;
    font-size: .76rem;
    font-weight: 900;
    text-transform: uppercase;
}
.sales-history-modal-items {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}
.sales-history-modal-table {
    color: #0f172a;
    font-size: .8rem;
}
.sales-history-modal-table thead th {
    border-bottom: 0;
    background: #1b365d;
    color: #fff;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}
.sales-history-modal-table td {
    vertical-align: middle;
    border-top: 1px solid #edf2f7;
}
.sales-history-print-body {
    height: min(72vh, 680px);
    padding: .7rem;
    background: #f8fafc;
    display: flex;
    justify-content: center;
    overflow: auto;
}
.sales-history-print-body iframe {
    width: var(--ticket-preview-width);
    min-width: var(--ticket-preview-width);
    height: 100%;
    border: 1px solid #dbe4f0;
    border-radius: 10px;
    background: #fff;
}
.sales-history-modal-footer {
    border-top: 1px solid #e2e8f0;
    background: #fff;
    padding: .7rem .9rem;
    gap: .45rem;
    justify-content: flex-end;
}
.sales-history-datatable-toolbar {
    gap: .5rem;
}
.sales-history-datatable-buttons {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
}
.sales-history-datatable-buttons .btn {
    margin: 0 !important;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
}
.sales-history-datatable-buttons .btn + .btn {
    margin-left: .7rem !important;
}
.sales-history-datatable-search label {
    margin-bottom: 0;
    color: #64748b;
    font-size: .76rem;
    font-weight: 700;
}
.sales-history-datatable-search input {
    min-height: 30px;
    margin-left: .35rem;
    border-radius: 6px;
    border-color: #dbe4f0;
    font-size: .78rem;
}
.sales-history-detail-row td { background: #f8fafc; }
.sales-history-detail-row .table td,
.sales-history-detail-row .table th { background: #fff; }
.sales-history-table-wrap { max-height: 78vh; overflow-y: auto; overflow-x: hidden; }
.sales-history-table { table-layout: fixed; width: 100%; min-width: 100%; }
.sales-history-table thead th {
    position: sticky;
    top: 0;
    z-index: 5;
    background: #1b365d;
    color: #fff;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .12);
}
.sales-history-table thead th .sales-history-sort {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}
.sales-history-table thead th .sales-history-sort:hover {
    color: #dbeafe;
}
.sales-history-table th:nth-child(1) { width: 11%; }
.sales-history-table th:nth-child(2) { width: 17%; }
.sales-history-table th:nth-child(3) { width: 19%; }
.sales-history-table th:nth-child(4) { width: 25%; }
.sales-history-table th:nth-child(5) { width: 13%; }
.sales-history-table th:nth-child(6) { width: 7%; }
.sales-history-table th:nth-child(7) { width: 14%; }
.sales-history-table td { vertical-align: top; }
.sales-history-row-annulled td {
    background: linear-gradient(180deg, #fff5f5 0%, #fff 100%);
}
.sales-history-row-annulled td:first-child {
    box-shadow: inset 4px 0 0 #dc3545;
}
.sales-history-method-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    align-items: center;
}
.sales-history-method-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    box-shadow: none;
    color: #111827;
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
}
.sales-history-method-visual {
    width: 100%;
    height: 100%;
    border-radius: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 100%;
    overflow: hidden;
    color: #fff;
    font-size: .72rem;
}
.sales-history-method-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.sales-history-method-cash .sales-history-method-visual { background: #198754; }
.sales-history-method-yape .sales-history-method-visual,
.sales-history-method-plin .sales-history-method-visual { background: transparent; }
.sales-history-method-card .sales-history-method-visual { background: #ffc107; color: #111827; }
.sales-history-method-bank .sales-history-method-visual { background: #6c757d; }
.sales-history-method-credit .sales-history-method-visual { background: #dc3545; }
.sales-history-payment-stack { display: flex; flex-wrap: wrap; gap: .4rem; }
.sales-history-payment-item {
    display: inline-flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 96px;
    padding: .45rem .55rem;
    border-radius: .7rem;
    border: 1px solid #dbeafe;
    background: #f8fafc;
}
.sales-history-payment-item.cash { background: #f0fdf4; border-color: #bbf7d0; }
.sales-history-payment-item.yape { background: #ecfeff; border-color: #a5f3fc; }
.sales-history-payment-item.plin { background: #fdf4ff; border-color: #f5d0fe; }
.sales-history-payment-item.card { background: #eef2ff; border-color: #c7d2fe; }
.sales-history-payment-item.bank { background: #fff7ed; border-color: #fed7aa; }
.sales-history-payment-label {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
}
.sales-history-actions-btn { min-width: 98px; }
.sales-history-quick-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding-top: .25rem;
}
.sales-history-mixed-highlight {
    height: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    padding: 1rem;
    background: linear-gradient(135deg, #fff 0%, #f8fafc 100%);
}
.sales-history-mixed-amount {
    font-size: 2rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.05;
    margin: .45rem 0 .35rem;
}
.sales-history-hourly-chart {
    display: grid;
    gap: .65rem;
}
.sales-history-hour-row {
    display: grid;
    grid-template-columns: 70px 1fr 130px;
    gap: .75rem;
    align-items: center;
}
.sales-history-hour-label {
    font-weight: 700;
    color: #334155;
}
.sales-history-hour-bar-wrap {
    height: 12px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}
.sales-history-hour-bar {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #0d6efd 0%, #38bdf8 100%);
}
.sales-history-hour-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    color: #64748b;
    font-size: .85rem;
}
.sales-history-hour-meta strong {
    color: #0f172a;
}
.credits-ledger-page {
    gap: 1rem;
}
.credits-ledger-kpi-row.sales-history-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.credits-ledger-kpi-card {
    border: 0;
    color: #fff;
    overflow: hidden;
}
.credits-ledger-kpi-card.is-total {
    --kajo-kpi-bg: #0d6efd;
    background: #0d6efd;
}
.credits-ledger-kpi-card.is-overdue {
    --kajo-kpi-bg: #dc3545;
    background: #dc3545;
}
.credits-ledger-kpi-card.is-soon {
    --kajo-kpi-bg: #f59e0b;
    background: #f59e0b;
    color: #fff;
}
.credits-ledger-kpi-card.is-current {
    --kajo-kpi-bg: #198754;
    background: #198754;
}
.credits-ledger-kpi-card .sales-history-kpi-copy span,
.credits-ledger-kpi-card .sales-history-kpi-copy strong,
.credits-ledger-kpi-card .sales-history-kpi-copy small {
    color: inherit;
}
.credits-ledger-kpi-card .credits-ledger-kpi-icon {
    background: rgba(0, 0, 0, .12);
    color: #fff;
}
.credits-ledger-kpi-icon.is-total { background: #0d6efd; }
.credits-ledger-kpi-icon.is-overdue { background: #dc3545; }
.credits-ledger-kpi-icon.is-soon { background: #ffc107; color: #111827; }
.credits-ledger-kpi-icon.is-current { background: #198754; }
.credits-ledger-filter-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) minmax(140px, .85fr) minmax(170px, 1fr) minmax(190px, 1fr) auto;
    align-items: end;
    gap: .62rem;
}
.credits-ledger-filter-grid > .form-group:not(.d-none) {
    min-width: 0;
}
.credits-ledger-filter-grid .credits-ledger-search-field {
    grid-column: auto !important;
}
.credits-ledger-filter-grid .credits-ledger-credit-type-field {
    grid-column: auto !important;
}
.credits-ledger-filter-grid .credits-ledger-branch-field {
    grid-column: auto !important;
    min-width: 0;
}
.credits-ledger-filter-grid .credits-ledger-actions {
    grid-column: auto !important;
    display: flex;
    align-items: flex-end;
    gap: .35rem;
    justify-content: flex-end;
    padding-left: 0;
}
.credits-ledger-actions .btn {
    width: auto;
    padding-left: .45rem;
    padding-right: .45rem;
}
.credits-ledger-actions .btn,
.credits-ledger-actions .clients-create-btn,
.credits-ledger-actions .clients-export-excel-btn,
.credits-ledger-actions .clients-export-pdf-btn {
    height: 30px;
    min-height: 30px;
    max-height: 30px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
}
.credits-detail-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
}
.credits-detail-kpi-row .sales-history-kpi-card {
    min-width: 0;
}
.credits-detail-kpi-row .sales-history-kpi-copy strong,
.credits-detail-kpi-row .sales-history-kpi-copy small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}
.credits-detail-kpi-row .sales-history-kpi-copy small .credit-status-badge {
    margin-top: .1rem;
    min-width: 0;
    padding: .18rem .55rem;
    font-size: .68rem;
}
.credits-ledger-list-card .card-body {
    padding: 0;
}
.credits-ledger-table {
    font-size: .94rem;
}
.credits-ledger-table thead th {
    padding: 1rem 1.25rem;
    background: #1b365d;
    color: #fff;
    font-size: .9rem;
    text-transform: none;
}
.credits-ledger-table td {
    padding: 1rem 1.25rem;
    color: #243247;
    font-size: .95rem;
}
.credits-ledger-table,
.credits-ledger-table.app-listing-table {
    table-layout: auto;
}
.credits-ledger-table th:last-child,
.credits-ledger-table td:last-child {
    width: 1%;
    min-width: 140px;
    overflow: visible;
    position: relative;
    z-index: 2;
}
.credits-ledger-table .sales-history-table-actions {
    position: relative;
    z-index: 3;
    flex-wrap: nowrap;
    pointer-events: auto;
}
.credits-ledger-table .sales-history-table-actions .btn,
.credits-ledger-table .sales-history-table-actions a.btn {
    position: relative;
    z-index: 3;
    pointer-events: auto;
    cursor: pointer;
}
.credits-ledger-table .sales-history-table-actions .btn i,
.credits-ledger-table .sales-history-table-actions a.btn i {
    pointer-events: none;
}
.credits-ledger-table .btn-credit-statement {
    white-space: nowrap;
}
.modal-dialog.credit-statement-dialog {
    width: 1300px;
    max-width: 1300px;
    height: auto;
    margin: 1rem auto;
}
.credit-statement-dialog .modal-content {
    height: auto;
    max-height: calc(100vh - 2rem);
    display: flex;
    flex-direction: column;
}
.credit-statement-dialog .modal-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 0;
    overflow: auto;
}
.credit-statement-client {
    display: flex;
    align-items: center;
    gap: .85rem;
}
.credit-statement-client strong,
.credit-statement-client small {
    display: block;
}
.credit-statement-client strong {
    color: #0f172a;
    font-size: 1.05rem;
}
.credit-statement-client small {
    color: #64748b;
}
.credit-statement-layout {
    display: flex;
    gap: .75rem;
    align-items: stretch;
    min-height: 420px;
}
.credit-statement-ledger {
    flex: 1.35 1 0;
    min-width: 0;
    max-height: 68vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: .5rem;
}
.credit-statement-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    padding: .7rem .75rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}
.credit-statement-actions .btn i {
    margin-right: .35rem;
}
.modal-dialog.credit-abono-dialog {
    width: 640px;
    max-width: calc(100vw - 1.5rem);
}
#creditPaymentModal {
    z-index: 1060;
}
.credit-abono-header {
    align-items: flex-start;
}
.credit-abono-header .modal-title {
    margin-bottom: .1rem;
    font-weight: 800;
}
.credit-abono-header small {
    display: block;
    color: #6b7280;
    font-size: .86rem;
}
.credit-abono-debt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    border-radius: .55rem;
    background: #f8fafc;
}
.credit-abono-debt span {
    color: #6b7280;
}
.credit-abono-debt strong {
    color: #111827;
    font-size: 1.45rem;
    line-height: 1;
}
.credit-abono-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.credit-abono-fields .form-group {
    margin-bottom: .35rem;
}
.credit-abono-amount {
    display: flex;
    align-items: stretch;
    border: 1px solid #ced4da;
    border-radius: .35rem;
    overflow: hidden;
    background: #fff;
}
.credit-abono-amount span {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 0 .75rem;
    border-right: 1px solid #e5e7eb;
    background: #f8fafc;
    color: #6b7280;
    font-weight: 700;
    white-space: nowrap;
}
.credit-abono-amount .form-control {
    border: 0;
    box-shadow: none;
    font-size: 1.05rem;
    font-weight: 700;
}
.credit-abono-hints {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .35rem;
}
.credit-abono-hints .btn-link {
    padding: 0;
    font-weight: 700;
}
.credit-abono-hints span {
    color: #6b7280;
}
.credit-abono-hints strong {
    color: #111827;
}
.credit-liquidate-kpi.credits-ledger-kpi-card,
.credit-abono-kpi.credits-ledger-kpi-card {
    width: 100%;
    margin-bottom: 1.1rem;
}
.credit-statement-ledger .table-responsive {
    overflow: auto;
}
.credit-statement-side {
    flex: 1 1 0;
    min-width: 340px;
    max-height: 68vh;
    display: flex;
    flex-direction: column;
    gap: .65rem;
}
.credit-statement-debt.credits-ledger-kpi-card {
    width: 100%;
    min-height: 84px;
    margin: 0;
    justify-content: flex-start;
}
.credit-statement-debt.is-pendiente {
    background: #f59e0b;
}
.credit-statement-debt.is-parcial {
    background: #0d6efd;
}
.credit-statement-debt.is-cancelada {
    background: #198754;
}
.credit-statement-debt .sales-history-kpi-copy {
    min-width: 0;
}
.credit-statement-debt .sales-history-kpi-copy span {
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.credit-statement-debt-side {
    margin-left: auto;
    text-align: right;
}
.credit-statement-debt-side strong {
    display: block;
    color: #fff;
    font-size: 1.35rem;
    line-height: 1.1;
}
.credit-statement-debt-badge {
    display: inline-flex;
    margin-top: .28rem;
    padding: .12rem .55rem;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    color: #111827;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.2;
}
.credit-statement-receipt {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}
.credit-statement-when span,
.credit-statement-when small {
    display: block;
    line-height: 1.2;
}
.credit-statement-when small {
    margin-top: .15rem;
    color: #64748b;
    font-size: .78rem;
}
.credit-statement-table {
    margin-bottom: 0;
    font-size: .9rem;
}
.credit-statement-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #1b365d;
    color: #fff;
    white-space: nowrap;
}
.credit-statement-table tbody tr {
    cursor: pointer;
}
.credit-statement-table tbody tr.is-selected {
    background: #e8f3ff;
}
.credit-receipt-paper {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: .65rem;
    padding: .85rem .9rem .75rem;
    color: #111827;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.credit-receipt-paper p {
    margin: 0 0 .28rem;
}
.credit-receipt-head {
    position: relative;
    padding-bottom: .7rem;
    margin-bottom: .7rem;
    border-bottom: 1px solid #e5e7eb;
    text-align: center;
}
.credit-receipt-kicker {
    display: block;
    color: #6b7280;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.credit-receipt-document {
    display: block;
    margin-top: .15rem;
    color: #111827;
    font-size: 1.05rem;
    font-weight: 800;
    text-align: center;
}
.credit-receipt-badge {
    position: absolute;
    top: 0;
    right: 0;
    padding: .16rem .5rem;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}
.credit-receipt-badge.is-pendiente {
    color: #b45309;
    background: #fff7ed;
}
.credit-receipt-badge.is-parcial {
    color: #1d4ed8;
    background: #dbeafe;
}
.credit-receipt-badge.is-cancelada {
    color: #047857;
    background: #d1fae5;
}
.credit-receipt-meta {
    padding-bottom: .55rem;
    margin-bottom: .45rem;
    border-bottom: 1px solid #e5e7eb;
}
.credit-receipt-line {
    display: flex;
    align-items: baseline;
    gap: .35rem;
}
.credit-receipt-line span {
    display: inline;
    flex: 0 0 auto;
    min-width: 4.4rem;
    color: #6b7280;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}
.credit-receipt-paper table {
    width: 100%;
    margin: 0 0 .35rem;
    font-size: .78rem;
    border-collapse: collapse;
}
.credit-receipt-paper th {
    padding: .15rem 0 .35rem;
    border-bottom: 0;
    color: #6b7280;
    font-size: .75rem;
    font-weight: 600;
}
.credit-receipt-paper td {
    padding: .42rem 0;
    border-bottom: 1px solid #e5e7eb;
    line-height: 1.2;
    vertical-align: top;
}
.credit-receipt-paper th:first-child,
.credit-receipt-paper td:first-child {
    width: 2.4rem;
}
.credit-receipt-total {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: .55rem;
    margin: .15rem 0 0;
    padding: .55rem 0 .65rem;
    border-bottom: 1px solid #e5e7eb;
}
.credit-receipt-total span {
    color: #6b7280;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.credit-receipt-total strong {
    color: #111827;
    font-size: 1rem;
}
.credit-receipt-foot {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    padding-top: .65rem;
}
.credit-receipt-foot p {
    margin: 0;
}
.credit-receipt-foot span {
    display: block;
    color: #6b7280;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.credit-receipt-foot strong {
    display: block;
    margin-top: .15rem;
    color: #111827;
    font-size: .95rem;
}
.credit-receipt-pending {
    text-align: right;
}
.credit-receipt-empty {
    color: #64748b;
    padding: 1rem;
}
@media (max-width: 1340px) {
    .modal-dialog.credit-statement-dialog {
        width: calc(100vw - 1.5rem);
        max-width: calc(100vw - 1.5rem);
    }
}
.tooltip {
    pointer-events: none !important;
}
.credit-client-cell {
    display: flex;
    align-items: center;
    gap: .85rem;
}
.credit-client-cell strong,
.credit-client-cell small,
.credit-due-meta {
    display: block;
}
.credit-client-cell strong {
    color: #0f172a;
    font-size: .95rem;
    font-weight: 900;
}
.credit-client-cell small,
.credit-due-meta {
    margin-top: .22rem;
    color: #475569;
    font-size: .85rem;
    font-weight: 500;
}
.credit-client-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    font-size: .82rem;
    font-weight: 900;
}
.credit-client-avatar.is-blue { color: #005bbb; background: #e6f3ff; }
.credit-client-avatar.is-green { color: #008f3f; background: #e7f8ec; }
.credit-client-avatar.is-purple { color: #7b1fa2; background: #f3e8f8; }
.credit-client-avatar.is-cyan { color: #0084b8; background: #e1f7ff; }
.credit-client-avatar.is-orange { color: #f97316; background: #fff0d8; }
.credit-contact-icon {
    margin-right: .55rem;
    color: #334155;
    font-size: .82rem;
}
.credit-money-overdue { color: #ff0033; }
.credit-money-warning { color: #ff7a00; }
.credit-money-current { color: #008a3a; }
.credit-status-badge {
    min-width: 70px;
    padding: .34rem .85rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .78rem;
    font-weight: 800;
}
.credit-status-badge.is-overdue { color: #ff0033; background: #ffe9e9; }
.credit-status-badge.is-soon { color: #ff7a00; background: #fff2db; }
.credit-status-badge.is-next { color: #f97316; background: #fff3e3; }
.credit-status-badge.is-current { color: #008a3a; background: #e8f7ea; }
.credit-status-badge.is-active { color: #0078c8; background: #e8f5ff; }
.credit-state-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    font-size: 1.05rem;
}
.credit-state-icon.is-up {
    color: #008a3a;
    background: #e8f7ea;
}
.credit-state-icon.is-down {
    color: #ff0033;
    background: #ffe9e9;
}
.credits-ledger-footer {
    min-height: 64px;
    padding: 1rem 1.25rem;
    border-top: 1px solid #edf2f7;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #334155;
    font-size: .9rem;
}
.credits-ledger-pagination {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}
.credits-ledger-pagination .btn {
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 7px;
    font-weight: 900;
}
.price-checker-price-main {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
    color: #0f766e;
}
.price-checker-focus-card {
    border-radius: 1rem;
}
.price-checker-search-input {
    min-height: 4rem;
    font-size: 1.35rem;
    font-weight: 700;
}
.price-checker-dashboard .dashboard-hub-hero {
    align-items: stretch;
}
.price-checker-dashboard-search {
    min-width: min(460px, 100%);
    padding: 18px 20px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #dbe4f0;
    box-shadow: 0 18px 36px rgba(15, 23, 42, .06);
}
.price-checker-dashboard-search label {
    display: block;
    margin: 0 0 .55rem;
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.price-checker-dashboard-searchbox {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: 0 .8rem;
    border: 1px solid #dbe4f0;
    border-radius: 16px;
    background: #f8fbff;
}
.price-checker-dashboard-searchbox i {
    color: #2563eb;
}
.price-checker-dashboard-searchbox input {
    flex: 1;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 800;
}
.price-checker-dashboard-searchbox button {
    width: 36px;
    height: 36px;
    border: 1px solid #dbe4f0;
    border-radius: 12px;
    background: #fff;
    color: #475569;
}
.price-checker-search-holder {
    position: relative;
}
.price-checker-search-results {
    position: absolute;
    top: calc(100% + .35rem);
    left: 0;
    right: 0;
    z-index: 1050;
    display: none;
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid #dbe4f0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .14);
}
.price-checker-search-results .sale-search-result-line {
    grid-template-columns: minmax(0, 1fr) auto auto auto auto;
}
.price-checker-search-placeholder {
    visibility: hidden;
}
.price-checker-dashboard-grid {
    grid-template-columns: minmax(0, 1.7fr) minmax(300px, .8fr);
    align-items: start;
}
.price-checker-dashboard-grid > .dashboard-panel,
.price-checker-dashboard-grid > .dashboard-side-stack > .dashboard-panel {
    max-height: calc(100vh - 330px);
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}
.price-checker-results-grid {
    margin-left: -.5rem;
    margin-right: -.5rem;
}
.price-checker-results-grid > [class*="col-"] {
    padding-left: .5rem;
    padding-right: .5rem;
}
.price-checker-empty-state {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    text-align: center;
}
.price-checker-empty-state i {
    color: #2563eb;
    font-size: 2rem;
}
.price-checker-product-shell {
    display: grid;
    gap: 18px;
}
.price-checker-product-main {
    padding: 26px;
    border: 1px solid #dbe4f0;
    border-radius: 14px;
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
    min-width: 0;
}
.price-checker-product-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.6rem;
}
.price-checker-product-head h4 {
    margin: 0;
    color: #0f172a;
    font-size: 1.2rem;
    font-weight: 900;
    line-height: 1.25;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}
.price-checker-product-head small {
    display: block;
    margin-top: .65rem;
    color: #64748b;
    font-size: .88rem;
    font-weight: 700;
}
.price-checker-product-head small b,
.price-checker-summary-title b {
    color: #94a3b8;
    font-weight: 800;
    margin: 0 .55rem;
}
.price-checker-product-head em {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    flex-shrink: 0;
    padding: .34rem .7rem;
    border-radius: 999px;
    background: #dcfce7;
    color: #047857;
    font-size: .68rem;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}
.price-checker-product-head em i {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #10b981;
}
.price-checker-feature-row {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 1.1rem;
    align-items: center;
}
.price-checker-feature-icon {
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    font-size: 1.45rem;
}
.price-checker-feature-row.is-price .price-checker-feature-icon,
.price-checker-summary-item.is-price i {
    background: #eaf4ff;
    color: #007aff;
}
.price-checker-feature-row.is-stock .price-checker-feature-icon,
.price-checker-summary-item.is-stock i {
    background: #dcfce7;
    color: #10b981;
}
.price-checker-feature-row span,
.price-checker-summary-item span {
    display: block;
    font-size: .76rem;
    font-weight: 900;
    text-transform: uppercase;
}
.price-checker-feature-row.is-price span,
.price-checker-summary-item.is-price span {
    color: #007aff;
}
.price-checker-feature-row.is-stock span,
.price-checker-summary-item.is-stock span {
    color: #00a651;
}
.price-checker-feature-row strong {
    display: block;
    margin-top: .25rem;
    color: #0f172a;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.05;
    overflow-wrap: anywhere;
}
.price-checker-feature-row.is-price strong {
    font-size: 2.65rem;
}
.price-checker-product-divider {
    height: 1px;
    margin: 2rem 0 1.6rem;
    background: #dbe4f0;
}
.price-checker-product-updated {
    text-align: right;
}
.price-checker-product-updated span {
    color: #64748b;
    font-size: .78rem;
    font-weight: 700;
    text-transform: none;
}
.price-checker-product-updated b {
    display: block;
    margin-top: .25rem;
    color: #0f172a;
    font-size: .88rem;
}
.price-checker-fraction {
    display: grid;
    gap: .18rem;
    margin: 1.2rem 0 0 4.45rem;
    padding: .85rem 1rem;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    overflow-wrap: anywhere;
}
.price-checker-fraction span,
.price-checker-fraction small {
    color: #64748b;
    font-size: .78rem;
}
.price-checker-fraction strong {
    color: #0f172a;
    font-size: 1.08rem;
}
.price-checker-card-actions {
    display: grid !important;
    gap: .8rem;
}
.price-checker-stock-cta {
    width: 100%;
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .95rem 1.1rem;
    border: 1px solid #bfdbfe;
    border-radius: 11px;
    background: linear-gradient(180deg, #f8fbff 0%, #eff6ff 100%);
    color: #007aff;
    text-align: left;
}
.price-checker-stock-cta span {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    column-gap: .9rem;
    align-items: center;
}
.price-checker-stock-cta span > i {
    grid-row: span 2;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #eaf4ff;
    font-size: 1.35rem;
}
.price-checker-stock-cta b {
    color: #007aff;
    font-size: .95rem;
    font-weight: 900;
    overflow-wrap: anywhere;
}
.price-checker-stock-cta small {
    color: #64748b;
    font-size: .78rem;
    font-weight: 700;
}
.price-checker-stock-cta:hover {
    border-color: #93c5fd;
    box-shadow: 0 14px 28px rgba(37, 99, 235, .1);
}
.price-checker-summary-title {
    display: grid;
    gap: .25rem;
    margin-bottom: 1rem;
}
.price-checker-summary-title strong {
    color: #0f172a;
    font-size: 1.14rem;
    line-height: 1.25;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}
.price-checker-summary-title span {
    color: #64748b;
    font-size: .82rem;
}
.price-checker-summary-list {
    display: grid;
    gap: 1rem;
}
.price-checker-summary-item {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: .9rem;
    align-items: center;
    min-height: 74px;
    padding: .85rem 1rem;
    border-radius: 12px;
}
.price-checker-summary-item i {
    grid-row: span 2;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    font-size: 1.35rem;
}
.price-checker-summary-item.is-price {
    border: 1px solid #bfdbfe;
    background: linear-gradient(180deg, #f8fbff 0%, #eff6ff 100%);
}
.price-checker-summary-item.is-stock {
    border: 1px solid #bbf7d0;
    background: linear-gradient(180deg, #f8fffb 0%, #ecfdf5 100%);
}
.price-checker-summary-item.is-presentation {
    border: 1px solid #fed7aa;
    background: linear-gradient(180deg, #fffdf8 0%, #fff7ed 100%);
}
.price-checker-summary-item.is-presentation i {
    background: #fff7ed;
    color: #f59e0b;
}
.price-checker-summary-item.is-presentation span {
    color: #f59e0b;
}
.price-checker-summary-list span {
    font-size: .76rem;
}
.price-checker-summary-list strong {
    color: #0f172a;
    font-size: 1.05rem;
    line-height: 1.1;
    overflow-wrap: anywhere;
}
.price-checker-summary-status {
    min-height: 74px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: .9rem;
    align-items: center;
    padding: .9rem 1rem;
    border-radius: 12px;
}
.price-checker-summary-status > i {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #fff;
}
.price-checker-summary-status.is-available {
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
}
.price-checker-summary-status.is-available > i {
    background: #10b981;
}
.price-checker-summary-status.is-empty {
    border: 1px solid #fecaca;
    background: #fff1f2;
}
.price-checker-summary-status.is-empty > i {
    background: #ef4444;
}
.price-checker-summary-status strong {
    display: block;
    color: #047857;
    font-size: .95rem;
}
.price-checker-summary-status.is-empty strong {
    color: #b91c1c;
}
.price-checker-summary-status span {
    display: block;
    margin-top: .2rem;
    color: #64748b;
    font-size: .8rem;
    text-transform: none;
}
.price-checker-notice {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: .9rem;
    align-items: center;
    padding: 1rem 1.2rem;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    background: linear-gradient(180deg, #f8fbff 0%, #eff6ff 100%);
}
.price-checker-notice-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #007aff;
    border-radius: 999px;
    color: #007aff;
}
.price-checker-notice strong {
    display: block;
    color: #007aff;
    font-size: .82rem;
    font-weight: 900;
    text-transform: uppercase;
}
.price-checker-notice span {
    display: block;
    margin-top: .18rem;
    color: #64748b;
    font-size: .86rem;
}

@media (max-width: 991.98px) {
    .sales-history-filter-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .62rem .7rem;
    }
    .sales-history-filter-row .form-group,
    .sales-history-filter-row .sales-history-search-field,
    .sales-history-filter-row .sales-history-filter-actions {
        width: 100%;
    }
}
@media (max-width: 575.98px) {
    .sales-history-filter-row {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 991.98px) {
    .price-checker-dashboard .dashboard-hub-hero {
        flex-direction: column;
    }
    .price-checker-dashboard-grid {
        grid-template-columns: 1fr;
    }
    .price-checker-dashboard-search {
        min-width: 0;
        width: 100%;
    }
    .price-checker-dashboard-grid > .dashboard-panel,
    .price-checker-dashboard-grid > .dashboard-side-stack > .dashboard-panel {
        max-height: none;
        overflow: visible;
    }
    .price-checker-feature-row {
        grid-template-columns: 54px minmax(0, 1fr);
    }
    .price-checker-product-updated {
        grid-column: 2;
        text-align: left;
    }
}
@media (max-width: 575.98px) {
    .price-checker-product-main {
        padding: 18px;
    }
    .price-checker-product-head,
    .price-checker-feature-row {
        align-items: flex-start;
    }
    .price-checker-product-head {
        flex-direction: column;
    }
    .price-checker-feature-row.is-price strong {
        font-size: 2.15rem;
    }
    .price-checker-feature-row strong {
        font-size: 1.55rem;
    }
    .price-checker-fraction {
        margin-left: 0;
    }
}
@media (max-height: 780px) and (min-width: 992px) {
    .price-checker-dashboard .dashboard-hub-hero {
        padding-top: 16px;
        padding-bottom: 16px;
    }
    .price-checker-dashboard .dashboard-hub-copy {
        margin-top: .35rem;
        line-height: 1.45;
    }
    .price-checker-product-main {
        padding: 18px;
    }
    .price-checker-product-head {
        margin-bottom: 1rem;
    }
    .price-checker-product-divider {
        margin: 1.2rem 0 1rem;
    }
    .price-checker-feature-row.is-price strong {
        font-size: 2.1rem;
    }
    .price-checker-feature-row strong {
        font-size: 1.45rem;
    }
    .price-checker-summary-list {
        gap: .7rem;
    }
    .price-checker-summary-item,
    .price-checker-summary-status {
        min-height: 62px;
        padding-top: .65rem;
        padding-bottom: .65rem;
    }
}
.price-checker-dashboard {
    gap: 12px;
}
.price-checker-dashboard .dashboard-hub-hero {
    padding: 14px 16px;
    border-radius: 18px;
}
.price-checker-dashboard .dashboard-hub-eyebrow {
    margin-bottom: .35rem;
    padding: .2rem .55rem;
    font-size: .6rem;
}
.price-checker-dashboard .dashboard-hub-title {
    font-size: 1.35rem;
}
.price-checker-dashboard .dashboard-hub-copy {
    margin-top: .28rem;
    font-size: .82rem;
    line-height: 1.32;
}
.price-checker-dashboard-search {
    padding: 10px 12px;
    border-radius: 14px;
}
.price-checker-dashboard-search label {
    margin-bottom: .35rem;
    font-size: .62rem;
}
.price-checker-dashboard-searchbox {
    min-height: 38px;
    border-radius: 10px;
}
.price-checker-dashboard-searchbox input {
    font-size: .86rem;
}
.price-checker-dashboard-searchbox button {
    width: 30px;
    height: 30px;
}
.price-checker-dashboard-grid {
    gap: 12px;
}
.price-checker-dashboard-grid > .dashboard-panel,
.price-checker-dashboard-grid > .dashboard-side-stack > .dashboard-panel {
    max-height: none;
    overflow: visible;
}
.price-checker-dashboard .dashboard-panel {
    padding: 12px 14px;
    border-radius: 16px;
}
.price-checker-dashboard .dashboard-panel-head {
    margin-bottom: 8px;
}
.price-checker-dashboard .dashboard-panel-label {
    margin-bottom: .12rem;
    font-size: .6rem;
}
.price-checker-dashboard .dashboard-panel-head h3 {
    font-size: .92rem;
}
.price-checker-empty-state {
    min-height: 112px;
}
.price-checker-product-shell {
    gap: 10px;
}
.price-checker-product-main {
    padding: 12px;
    border-radius: 12px;
}
.price-checker-product-head {
    margin-bottom: .65rem;
}
.price-checker-product-head h4 {
    font-size: .9rem;
}
.price-checker-product-head small {
    margin-top: .25rem;
    font-size: .68rem;
}
.price-checker-product-head em {
    padding: .18rem .45rem;
    font-size: .58rem;
}
.price-checker-feature-row {
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: .55rem;
}
.price-checker-feature-icon {
    width: 34px;
    height: 34px;
    font-size: .9rem;
}
.price-checker-feature-row span,
.price-checker-summary-item span {
    font-size: .58rem;
}
.price-checker-feature-row strong {
    font-size: 1.1rem;
}
.price-checker-feature-row.is-price strong {
    font-size: 1.65rem;
}
.price-checker-product-divider {
    margin: .65rem 0 .55rem;
}
.price-checker-product-updated span {
    font-size: .6rem;
}
.price-checker-product-updated b {
    font-size: .64rem;
}
.price-checker-fraction {
    margin: .55rem 0 0 2.55rem;
    padding: .45rem .6rem;
}
.price-checker-fraction span,
.price-checker-fraction small {
    font-size: .64rem;
}
.price-checker-fraction strong {
    font-size: .86rem;
}
.price-checker-stock-cta {
    min-height: 44px;
    padding: .48rem .65rem;
    border-radius: 9px;
}
.price-checker-stock-cta span {
    grid-template-columns: 28px minmax(0, 1fr);
    column-gap: .55rem;
}
.price-checker-stock-cta span > i {
    width: 28px;
    height: 28px;
    font-size: .84rem;
}
.price-checker-stock-cta b {
    font-size: .72rem;
}
.price-checker-stock-cta small {
    font-size: .6rem;
}
.price-checker-summary-title {
    margin-bottom: .45rem;
}
.price-checker-summary-title strong {
    font-size: .86rem;
}
.price-checker-summary-title span {
    font-size: .64rem;
}
.price-checker-summary-list {
    gap: .45rem;
}
.price-checker-summary-item {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: .5rem;
    min-height: 42px;
    padding: .42rem .55rem;
    border-radius: 10px;
}
.price-checker-summary-item i {
    width: 30px;
    height: 30px;
    font-size: .82rem;
}
.price-checker-summary-list strong {
    font-size: .76rem;
}
.price-checker-summary-status {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: .5rem;
    min-height: 44px;
    padding: .45rem .6rem;
    border-radius: 10px;
}
.price-checker-summary-status > i {
    width: 26px;
    height: 26px;
    font-size: .74rem;
}
.price-checker-summary-status strong {
    font-size: .74rem;
}
.price-checker-summary-status span {
    margin-top: .08rem;
    font-size: .6rem;
}
.price-checker-notice {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: .55rem;
    padding: .5rem .65rem;
    border-radius: 12px;
}
.price-checker-notice-icon {
    width: 24px;
    height: 24px;
    font-size: .75rem;
}
.price-checker-notice strong {
    font-size: .6rem;
}
.price-checker-notice span {
    margin-top: .08rem;
    font-size: .64rem;
}

.price-checker-design-page {
    display: grid;
    gap: .75rem;
}

.price-checker-design-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.price-checker-design-header h1 {
    margin: 0;
    color: #0f172a;
    font-size: 1.35rem;
    font-weight: 900;
}

.price-checker-design-header p {
    margin: .16rem 0 0;
    color: #64748b;
    font-size: .78rem;
    font-weight: 700;
}

.price-checker-design-badge {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    padding: .28rem .6rem;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #0d6efd;
    font-size: .7rem;
    font-weight: 900;
    white-space: nowrap;
}

.price-checker-filter-card {
    border-color: #dbe4f0;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}

.price-checker-filter-card .card-header {
    min-height: 38px;
    padding: .55rem 1rem;
    border-bottom: 1px solid #edf1f6;
    background: #fff;
}

.price-checker-filter-card .card-title {
    margin: 0;
    color: #0f172a;
    font-size: .9rem;
    font-weight: 900;
}

.price-checker-filter-card .card-body {
    padding: .72rem 1rem;
}

.price-checker-dashboard-search {
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.price-checker-dashboard-searchbox {
    min-height: 36px;
    gap: .55rem;
    padding: 0 .65rem;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
}

.price-checker-dashboard-searchbox > i {
    color: #0d6efd;
    font-size: .86rem;
}

.price-checker-dashboard-searchbox input,
.price-checker-search-input {
    min-height: 34px;
    border: 0;
    background: transparent;
    color: #0f172a;
    font-size: .84rem;
    font-weight: 800;
}

.price-checker-dashboard-searchbox button {
    width: 30px;
    height: 30px;
    border: 1px solid #dbe4f0;
    border-radius: 4px;
    background: #fff;
    color: #64748b;
}

.price-checker-dashboard-searchbox button:hover,
.price-checker-dashboard-searchbox button:focus {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #0d6efd;
}

.price-checker-search-results {
    top: calc(100% + .25rem);
    max-height: 300px;
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .12);
}

.price-checker-search-results .list-group-item {
    padding: .58rem .75rem;
    border-color: #edf1f6;
    font-size: .76rem;
}

.price-checker-search-results .sale-search-result-line {
    grid-template-columns: minmax(0, 1fr) auto auto auto auto;
    gap: .45rem;
}

.price-checker-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .85fr);
    gap: .75rem;
    align-items: start;
}

.price-checker-results-panel,
.price-checker-summary-panel {
    min-width: 0;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
    overflow: hidden;
}

.price-checker-panel-head {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .65rem 1rem;
    border-bottom: 1px solid #edf1f6;
}

.price-checker-panel-head h3 {
    margin: 0;
    color: #0f172a;
    font-size: .92rem;
    font-weight: 900;
}

.price-checker-panel-head span {
    display: block;
    margin-top: .08rem;
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}

.price-checker-results-grid {
    margin: 0;
    padding: 1rem;
}

.price-checker-results-grid > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}

.price-checker-empty-state,
.price-checker-summary-empty {
    min-height: 132px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: 1rem;
    border: 1px dashed #dbe4f0;
    border-radius: 8px;
    background: #f8fafc;
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
    text-align: center;
}

.price-checker-empty-state {
    flex-direction: column;
}

.price-checker-empty-state i {
    color: #0d6efd;
    font-size: 1.45rem;
}

.price-checker-product-shell {
    display: grid;
    gap: .75rem;
}

.price-checker-product-main {
    padding: 1rem 1.2rem 1.1rem;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
}

.price-checker-product-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .9rem;
}

.price-checker-product-head h4 {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.25;
    text-transform: none;
    overflow-wrap: anywhere;
}

.price-checker-product-head small {
    display: block;
    margin-top: .28rem;
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
}

.price-checker-product-head small b,
.price-checker-summary-title b {
    margin: 0 .35rem;
    color: #94a3b8;
}

.price-checker-product-head em {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    min-height: 22px;
    padding: .14rem .45rem;
    border-radius: 6px;
    background: #dcfce7;
    color: #047857;
    font-size: .62rem;
    font-style: normal;
    font-weight: 900;
}

.price-checker-product-head em i {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #10b981;
}

.price-checker-feature-row {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: .65rem;
    align-items: center;
}

.price-checker-feature-icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    font-size: .98rem;
}

.price-checker-feature-row span,
.price-checker-summary-item span {
    display: block;
    color: #64748b;
    font-size: .66rem;
    font-weight: 900;
    text-transform: uppercase;
}

.price-checker-feature-row strong {
    display: block;
    margin-top: .1rem;
    color: #0f172a;
    font-size: 1.12rem;
    font-weight: 900;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.price-checker-feature-row.is-price strong {
    color: #0f172a;
    font-size: 1.5rem;
}

.price-checker-feature-row.is-price .price-checker-feature-icon,
.price-checker-summary-item.is-price i {
    background: #dbeafe;
    color: #0d6efd;
}

.price-checker-feature-row.is-stock .price-checker-feature-icon,
.price-checker-summary-item.is-stock i {
    background: #dcfce7;
    color: #198754;
}

.price-checker-product-divider {
    height: 1px;
    margin: .8rem 0;
    background: #edf1f6;
}

.price-checker-product-updated {
    text-align: right;
}

.price-checker-product-updated span {
    color: #64748b;
    font-size: .66rem;
    font-weight: 800;
    text-transform: none;
}

.price-checker-product-updated b {
    display: block;
    margin-top: .12rem;
    color: #0f172a;
    font-size: .72rem;
    font-weight: 900;
}

.price-checker-fraction {
    display: grid;
    gap: .12rem;
    margin: .75rem 0 0 3.2rem;
    padding: .58rem .7rem;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    background: #eff6ff;
}

.price-checker-fraction span,
.price-checker-fraction small {
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
}

.price-checker-fraction strong {
    color: #0f172a;
    font-size: .9rem;
    font-weight: 900;
}

.price-checker-card-actions {
    display: flex !important;
    flex-wrap: wrap;
    gap: .55rem;
}

.price-checker-stock-cta {
    width: auto;
    min-height: 36px;
    flex: 1 1 220px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
    padding: .48rem .65rem;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #0d6efd;
    text-align: left;
    box-shadow: none;
}

.price-checker-stock-cta span {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    column-gap: .5rem;
    align-items: center;
}

.price-checker-stock-cta span > i {
    grid-row: span 2;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: #eff6ff;
    color: #0d6efd;
    font-size: .84rem;
}

.price-checker-stock-cta b {
    color: #0f172a;
    font-size: .74rem;
    font-weight: 900;
}

.price-checker-stock-cta small {
    color: #64748b;
    font-size: .62rem;
    font-weight: 700;
}

.price-checker-stock-cta:hover,
.price-checker-stock-cta:focus {
    border-color: #93c5fd;
    background: #eff6ff;
    box-shadow: none;
}

.price-checker-summary {
    padding: 1rem;
}

.price-checker-summary-title {
    display: grid;
    gap: .18rem;
    margin-bottom: .7rem;
}

.price-checker-summary-title strong {
    color: #0f172a;
    font-size: .92rem;
    font-weight: 900;
    line-height: 1.25;
    text-transform: none;
    overflow-wrap: anywhere;
}

.price-checker-summary-title span {
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
}

.price-checker-summary-list {
    display: grid;
    gap: 0;
}

.price-checker-summary-item {
    min-height: 0;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: .55rem;
    align-items: center;
    padding: .58rem 0;
    border: 0;
    border-bottom: 1px solid #edf1f6;
    border-radius: 0;
    background: transparent !important;
}

.price-checker-summary-item i {
    grid-row: span 2;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: .82rem;
}

.price-checker-summary-item.is-presentation i {
    background: #fff7ed;
    color: #f59e0b;
}

.price-checker-summary-list strong {
    color: #0f172a;
    font-size: .8rem;
    font-weight: 900;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.price-checker-summary-status {
    min-height: 0;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: .55rem;
    align-items: center;
    margin-top: .7rem;
    padding: .65rem;
    border-radius: 8px;
}

.price-checker-summary-status > i {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #fff;
    font-size: .76rem;
}

.price-checker-summary-status strong {
    display: block;
    color: #047857;
    font-size: .78rem;
    font-weight: 900;
}

.price-checker-summary-status span {
    display: block;
    margin-top: .08rem;
    color: #64748b;
    font-size: .66rem;
    font-weight: 700;
    text-transform: none;
}

.price-checker-notice {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: .6rem;
    padding: .72rem 1rem;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #f8fafc;
}

.price-checker-notice-icon {
    width: 30px;
    height: 30px;
    border: 1px solid #dbeafe;
    border-radius: 6px;
    background: #eff6ff;
    color: #0d6efd;
}

.price-checker-notice strong {
    color: #0f172a;
    font-size: .74rem;
    font-weight: 900;
    text-transform: none;
}

.price-checker-notice span {
    margin-top: .06rem;
    color: #64748b;
    font-size: .7rem;
    font-weight: 700;
}

.price-checker-stock-summary {
    padding: .72rem .85rem;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #f8fafc;
}

.price-checker-stock-summary strong {
    display: block;
    color: #0f172a;
    font-size: .86rem;
    font-weight: 900;
}

.price-checker-stock-summary span {
    display: block;
    margin-top: .12rem;
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
}

@media (max-width: 991.98px) {
    .price-checker-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .price-checker-design-header {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 575.98px) {
    .price-checker-product-head,
    .price-checker-feature-row {
        align-items: flex-start;
    }

    .price-checker-product-head {
        flex-direction: column;
    }

    .price-checker-feature-row {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .price-checker-product-updated {
        grid-column: 2;
        text-align: left;
    }

    .price-checker-fraction {
        margin-left: 0;
    }
}
.reports-dashboard-page {
    display: grid;
    gap: .75rem;
}
.reports-dashboard-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
}
.reports-dashboard-header h1 {
    display: inline-block;
    margin: 0 .45rem 0 0;
    color: #0f172a;
    font-size: 1.3rem;
    font-weight: 900;
}
.reports-dashboard-header span {
    color: #64748b;
    font-size: .78rem;
    font-weight: 700;
}
.reports-dashboard-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .75rem;
}
.reports-dashboard-kpi {
    position: relative;
    min-width: 0;
    min-height: 80px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    padding: .75rem;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: .65rem;
    align-items: center;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
}
.reports-dashboard-kpi-icon {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: .98rem;
}
.reports-dashboard-kpi-icon.is-blue { background: #0d6efd; }
.reports-dashboard-kpi-icon.is-green { background: #10b981; }
.reports-dashboard-kpi-icon.is-amber { background: #f59e0b; }
.reports-dashboard-kpi-icon.is-purple { background: #6d28d9; }
.reports-dashboard-kpi-icon.is-cyan { background: #06b6d4; }
.reports-dashboard-kpi-icon.is-red { background: #f43f5e; }
.reports-dashboard-kpi small,
.reports-dashboard-kpi strong,
.reports-dashboard-kpi em {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.reports-dashboard-kpi small {
    color: #64748b;
    font-size: .62rem;
    font-weight: 900;
    text-transform: uppercase;
}
.reports-dashboard-kpi strong {
    margin-top: .16rem;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
}
.reports-dashboard-kpi em {
    margin-top: .14rem;
    color: #64748b;
    font-size: .68rem;
    font-style: normal;
    font-weight: 700;
}
.reports-dashboard-control,
.reports-dashboard-card {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
}
.reports-dashboard-tabs {
    display: flex;
    align-items: center;
    gap: .25rem;
    overflow-x: auto;
    padding: .45rem .6rem 0;
    border-bottom: 1px solid #edf2f7;
}
.reports-dashboard-tab {
    min-height: 34px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: #475569;
    padding: .42rem .65rem;
    font-size: .74rem;
    font-weight: 900;
    white-space: nowrap;
}
.reports-dashboard-tab.active {
    color: #0d6efd;
    border-bottom-color: #0d6efd;
}
.reports-dashboard-filters {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr auto;
    gap: .65rem;
    align-items: end;
    padding: .75rem;
}

.reports-dashboard-page.is-products-panel .reports-dashboard-filters {
    grid-template-columns: 1.35fr 1fr auto;
}

.reports-dashboard-page.is-products-panel .reports-filter-user {
    display: none;
}

.reports-dashboard-page.is-products-panel .reports-filter-user,
.reports-dashboard-page.is-cash-panel .reports-filter-user,
.reports-dashboard-page.is-cash-panel .reports-dashboard-actions {
    display: none;
}

.reports-dashboard-page.is-cash-panel .reports-dashboard-filters {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
}

.reports-dashboard-page.is-clients-panel .reports-dashboard-filters,
.reports-dashboard-page.is-inventory-panel .reports-dashboard-filters,
.reports-dashboard-page.is-purchases-panel .reports-dashboard-filters,
.reports-dashboard-page.is-utility-panel .reports-dashboard-filters,
.reports-dashboard-page.is-electronic-panel .reports-dashboard-filters {
    display: none;
}
.reports-dashboard-filters .form-group {
    margin-bottom: 0;
}
.reports-dashboard-filters label {
    margin-bottom: .18rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 900;
}
.reports-dashboard-filters .form-control {
    height: 34px;
    min-height: 34px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}
.reports-date-range-control {
    display: grid;
    grid-template-columns: minmax(136px, 1fr) 8px minmax(136px, 1fr);
    gap: .25rem;
    align-items: center;
}
.reports-date-range-control span {
    height: 1px;
    background: #94a3b8;
}
.reports-dashboard-actions {
    display: flex;
    gap: .45rem;
    align-items: center;
    justify-content: flex-end;
}
.reports-dashboard-actions .btn {
    min-height: 34px;
    border-radius: 6px;
    font-size: .74rem;
    font-weight: 900;
    white-space: nowrap;
}
.reports-export-btn {
    min-width: 74px;
    border: 0;
    color: #fff !important;
    box-shadow: none;
}
.reports-export-btn i {
    color: #fff;
}
.reports-export-btn-excel {
    background: #00a651;
}
.reports-export-btn-excel:hover,
.reports-export-btn-excel:focus {
    background: #008f45;
    color: #fff;
}
.reports-export-btn-pdf {
    background: #ff1f3d;
}
.reports-export-btn-pdf:hover,
.reports-export-btn-pdf:focus {
    background: #e61732;
    color: #fff;
}
.reports-dashboard-charts {
    display: grid;
    grid-template-columns: 1.05fr .95fr 1.2fr;
    gap: .75rem;
}
.reports-dashboard-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
}
.reports-dashboard-card-head {
    min-height: 38px;
    padding: .65rem .75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border-bottom: 1px solid #edf2f7;
}
.reports-dashboard-card-head h3 {
    margin: 0;
    color: #0f172a;
    font-size: .86rem;
    font-weight: 900;
}
.reports-card-period {
    display: block;
    margin-top: .12rem;
    color: #64748b;
    font-size: .66rem;
    font-weight: 800;
}
.reports-dashboard-page.is-loading .reports-dashboard-panel.is-active .reports-dashboard-card,
.reports-dashboard-page.is-loading .reports-dashboard-panel.is-active .reports-dashboard-kpi,
.reports-dashboard-panel.is-loading .reports-dashboard-card,
.reports-dashboard-panel.is-loading .reports-dashboard-kpi {
    opacity: .68;
}
.reports-dashboard-page.is-loading .reports-dashboard-panel.is-active .reports-dashboard-card::after,
.reports-dashboard-page.is-loading .reports-dashboard-panel.is-active .reports-dashboard-kpi::after,
.reports-dashboard-panel.is-loading .reports-dashboard-card::after,
.reports-dashboard-panel.is-loading .reports-dashboard-kpi::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 5;
    background:
        linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, .72) 48%, transparent 100%),
        rgba(248, 250, 252, .45);
    background-size: 220% 100%, auto;
    animation: reports-loading-sheen 1s ease-in-out infinite;
    pointer-events: none;
}
.reports-dashboard-page.is-loading .reports-dashboard-panel.is-active .reports-dashboard-card::before,
.reports-dashboard-panel.is-loading .reports-dashboard-card::before {
    content: "";
    position: absolute;
    top: .7rem;
    right: .75rem;
    width: 16px;
    height: 16px;
    border: 2px solid #bfdbfe;
    border-top-color: #0d6efd;
    border-radius: 999px;
    z-index: 6;
    animation: reports-loading-spin .72s linear infinite;
}
@keyframes reports-loading-sheen {
    from { background-position: -120% 0, 0 0; }
    to { background-position: 120% 0, 0 0; }
}
@keyframes reports-loading-spin {
    to { transform: rotate(360deg); }
}
.reports-line-chart,
.reports-bar-chart {
    min-height: 220px;
    padding: .8rem;
}
.reports-line-chart svg {
    width: 100%;
    height: 190px;
}
.reports-line-area {
    fill: rgba(13, 110, 253, .12);
}
.reports-line-path {
    fill: none;
    stroke: #0d6efd;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.reports-line-dot {
    fill: #0d6efd;
    stroke: #fff;
    stroke-width: 2;
}
.reports-chart-axis {
    display: flex;
    justify-content: space-between;
    color: #64748b;
    font-size: .66rem;
    font-weight: 800;
}
.reports-donut-layout {
    min-height: 220px;
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
    padding: .8rem;
}
.reports-donut-ring {
    width: 142px;
    height: 142px;
    border-radius: 999px;
    position: relative;
}
.reports-donut-ring::after {
    content: "";
    position: absolute;
    inset: 36px;
    border-radius: inherit;
    background: #fff;
}
.reports-donut-ring span {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
}
.reports-donut-legend {
    display: grid;
    gap: .45rem;
}
.reports-donut-legend div {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr);
    gap: .45rem;
    align-items: center;
}
.reports-donut-legend i {
    width: 10px;
    height: 10px;
    border-radius: 999px;
}
.reports-donut-legend span,
.reports-donut-legend strong {
    min-width: 0;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.reports-donut-legend span {
    color: #0f172a;
    font-size: .72rem;
    font-weight: 900;
}
.reports-donut-legend strong {
    grid-column: 2;
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}
.reports-bar-chart {
    display: flex;
    align-items: end;
    gap: .38rem;
}
.reports-bar-item {
    min-width: 0;
    flex: 1 1 0;
    height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: .35rem;
}
.reports-bar-item span {
    position: relative;
    width: 100%;
    max-width: 22px;
    border-radius: 5px 5px 0 0;
    background: linear-gradient(180deg, #0d6efd 0%, #60a5fa 100%);
}
.reports-bar-item span em {
    display: none;
}
.reports-bar-item span:hover em {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 6px);
    display: block;
    transform: translateX(-50%);
    border-radius: 6px;
    background: #0f172a;
    color: #fff;
    padding: .2rem .38rem;
    font-size: .62rem;
    font-style: normal;
    white-space: nowrap;
}
.reports-bar-item small {
    color: #64748b;
    font-size: .6rem;
    font-weight: 800;
}
.reports-chart-empty {
    min-height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: .8rem;
    font-weight: 800;
}
.reports-dashboard-tables {
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    gap: .75rem;
}
.reports-dashboard-table {
    table-layout: fixed;
}
.reports-dashboard-table thead th {
    background: #1b365d;
    color: #fff;
}
.reports-dashboard-table td,
.reports-dashboard-table th {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.reports-dashboard-card .table-responsive {
    padding: .65rem;
}

.reports-dashboard-panel {
    display: none;
    gap: .75rem;
}

.reports-dashboard-panel.is-active {
    display: grid;
}

.reports-sales-filters {
    padding: .75rem;
}

.reports-sales-filter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) 1.6fr;
    gap: .65rem;
    align-items: end;
}

.reports-products-filters {
    padding: .75rem;
}

.reports-products-filter-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    align-items: end;
}

.reports-sales-filter-grid .form-group {
    margin-bottom: 0;
}

.reports-products-filter-grid .form-group {
    margin-bottom: 0;
}

.reports-sales-filter-grid label {
    margin-bottom: .18rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 900;
}

.reports-products-filter-grid label {
    margin-bottom: .18rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 900;
}

.reports-sales-filter-grid .form-control {
    height: 34px;
    min-height: 34px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}

.reports-products-filter-grid .form-control {
    height: 34px;
    min-height: 34px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}

.reports-sales-search-control {
    position: relative;
}

.reports-sales-search-control i {
    position: absolute;
    top: 50%;
    left: .72rem;
    color: #64748b;
    transform: translateY(-50%);
    z-index: 2;
}

.reports-sales-search-control .form-control {
    padding-left: 2rem;
}

.reports-sales-filter-actions,
.reports-sales-table-actions,
.reports-products-filter-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .45rem;
}

.reports-sales-filter-actions .btn,
.reports-sales-table-actions .btn,
.reports-products-filter-actions .btn {
    min-height: 34px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 900;
    white-space: nowrap;
}

.reports-sales-detail-card .table-responsive {
    padding: 0;
}

.reports-sales-table {
    min-width: 1180px;
    table-layout: fixed;
}
.reports-sales-table th:nth-child(1),
.reports-sales-table td:nth-child(1) {
    width: 88px;
}
.reports-sales-table th:nth-child(2),
.reports-sales-table td:nth-child(2) {
    width: 96px;
}
.reports-sales-table th:nth-child(3),
.reports-sales-table td:nth-child(3) {
    width: 148px;
}
.reports-sales-table .sales-history-date-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 100%;
}
.reports-sales-table .sales-history-date-cell strong,
.reports-sales-table .sales-history-date-cell small {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-products-table {
    width: 100%;
    min-width: 0;
    table-layout: auto;
}
.reports-products-table th:first-child,
.reports-products-table td:first-child {
    text-align: center;
    width: 36px;
}
.reports-products-table th:nth-child(n+4),
.reports-products-table td:nth-child(n+4) {
    text-align: right;
    white-space: nowrap;
}
.reports-products-table th:nth-child(10),
.reports-products-table td:nth-child(10) {
    text-align: left;
}
.reports-products-table td:nth-child(2) {
    overflow: visible;
    white-space: normal;
    min-width: 160px;
}
.reports-products-table td:nth-child(5) {
    overflow: visible;
    white-space: normal;
}
.reports-products-name {
    color: #0f172a;
    font-size: .74rem;
    font-weight: 800;
    line-height: 1.25;
}
.reports-products-code,
.reports-products-share {
    display: block;
    margin-top: .12rem;
    color: #64748b;
    font-size: .62rem;
    font-weight: 700;
    line-height: 1.2;
}
.reports-products-kpis {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.reports-kpi-delta {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    font-weight: 800;
}
.content-wrapper .reports-products-kpis .reports-kpi-delta {
    color: var(--kajo-kpi-muted);
}
.content-wrapper .reports-products-kpis .reports-kpi-delta.is-up {
    color: #bbf7d0;
}
.content-wrapper .reports-products-kpis .reports-kpi-delta.is-down {
    color: #fecaca;
}
.reports-products-alerts {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
}
.reports-products-alert {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-height: 32px;
    padding: .28rem .75rem;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #334155;
    font-size: .72rem;
    font-weight: 800;
}
.reports-products-alert i {
    font-size: .78rem;
}
.reports-products-alert.is-stockout {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}
.reports-products-alert.is-low {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #c2410c;
}
.reports-products-alert.is-idle {
    background: #f1f5f9;
    border-color: #e2e8f0;
    color: #475569;
}

.reports-sales-table th,
.reports-products-table th,
.reports-products-low-table th {
    background: #f8fafc;
    color: #0f172a;
    font-size: .66rem;
    font-weight: 900;
}

.reports-sales-table td,
.reports-products-table td,
.reports-products-low-table td {
    color: #0f172a;
    font-size: .68rem;
    font-weight: 700;
    vertical-align: middle;
}

.reports-sales-table td,
.reports-sales-table th,
.reports-products-table td,
.reports-products-table th,
.reports-products-low-table td,
.reports-products-low-table th {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.reports-sales-table td:nth-child(1),
.reports-sales-table td:nth-child(2),
.reports-sales-table td:nth-child(3),
.reports-sales-table td:nth-child(6),
.reports-sales-table td:nth-child(12),
.reports-products-table td:nth-child(2),
.reports-products-table td:nth-child(5) {
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
}

.reports-sales-table .sales-history-method-chip {
    cursor: help;
}

.reports-sales-table .sales-history-method-name {
    display: none;
}

.reports-products-analytics {
    display: grid;
    grid-template-columns: .95fr 1fr 1.25fr;
    gap: .75rem;
}

.reports-clients-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.reports-clients-main {
    min-width: 0;
    display: grid;
    gap: .75rem;
}

.reports-clients-filters {
    padding: .75rem;
}

.reports-clients-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(130px, 1fr)) minmax(180px, 1.25fr) auto;
    gap: .65rem;
    align-items: end;
}

.reports-clients-filter-grid .form-group {
    margin-bottom: 0;
}

.reports-clients-filter-grid label {
    margin-bottom: .18rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 900;
}

.reports-clients-filter-grid .form-control {
    height: 34px;
    min-height: 34px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}

.reports-clients-range {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .35rem;
}

.reports-clients-filter-actions {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: .45rem;
}

.reports-clients-filter-actions .btn {
    min-height: 34px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 900;
    white-space: nowrap;
}

.reports-clients-kpis {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    width: 100%;
}

.reports-clients-detail-card .table-responsive {
    padding: 0;
}

.reports-clients-table {
    min-width: 1180px;
    table-layout: auto;
}

.reports-clients-table th {
    background: #f8fafc;
    color: #0f172a;
    font-size: .66rem;
    font-weight: 900;
}

.reports-clients-table td {
    color: #0f172a;
    font-size: .68rem;
    font-weight: 700;
    vertical-align: middle;
}

.reports-clients-table td,
.reports-clients-table th {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-clients-table tbody tr {
    cursor: pointer;
}

.reports-clients-table tbody tr.is-selected,
.reports-clients-table tbody tr:hover {
    background: #eff6ff;
}

.reports-clients-analytics {
    display: grid;
    grid-template-columns: .9fr .9fr 1.35fr;
    gap: .75rem;
}

.reports-cash-filters {
    padding: .75rem;
}

.reports-cash-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(130px, 1fr)) auto;
    gap: .65rem;
    align-items: end;
}

.reports-cash-filter-grid .form-group {
    margin-bottom: 0;
}

.reports-cash-filter-grid label {
    margin-bottom: .18rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 900;
}

.reports-cash-filter-grid .form-control {
    height: 34px;
    min-height: 34px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}

.reports-cash-filter-actions {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: .45rem;
}

.reports-cash-filter-actions .btn {
    min-height: 34px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 900;
    white-space: nowrap;
}

.reports-closures-filter-grid {
    grid-template-columns: minmax(180px, 260px);
}

.reports-cash-kpis {
    grid-template-columns: repeat(6, minmax(150px, 1fr));
}

.reports-dashboard-panel[data-report-panel="ventas_caja"] .reports-dashboard-kpi {
    min-height: 72px;
    padding: .55rem .7rem;
    align-items: center;
}

.reports-dashboard-panel[data-report-panel="ventas_caja"] .reports-dashboard-kpi small {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: none;
    word-break: keep-all;
    overflow-wrap: normal;
}

.reports-dashboard-panel[data-report-panel="ventas_caja"] .reports-dashboard-kpi strong,
.reports-dashboard-panel[data-report-panel="ventas_caja"] .reports-dashboard-kpi em {
    white-space: nowrap;
}

.reports-cash-diff-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .75rem;
    align-items: center;
    padding: .45rem .75rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
}

.reports-cash-diff-summary > span {
    color: #475569;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}

.reports-cash-diff-summary em {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .18rem .5rem;
    border-radius: 999px;
    font-size: .7rem;
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

.reports-cash-diff-summary em.is-faltante {
    background: #fee2e2;
    color: #b91c1c;
}

.reports-cash-diff-summary em.is-sobrante {
    background: #fef3c7;
    color: #b45309;
}

.reports-cash-diff-summary em.is-neto {
    background: #e2e8f0;
    color: #0f172a;
}

.reports-cash-result-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 .5rem;
    border-radius: 999px;
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.reports-cash-result-badge.is-cuadre {
    background: #dcfce7;
    color: #047857;
}

.reports-cash-result-badge.is-faltante {
    background: #fee2e2;
    color: #b91c1c;
}

.reports-cash-result-badge.is-sobrante {
    background: #fef3c7;
    color: #b45309;
}

.reports-cash-result-badge.is-open {
    background: #dbeafe;
    color: #1d4ed8;
}

.reports-cash-diff.is-cuadre { color: #047857; }
.reports-cash-diff.is-faltante { color: #b91c1c; }
.reports-cash-diff.is-sobrante { color: #b45309; }
.reports-cash-diff.is-open { color: #64748b; }

#reportsCashDiffTotal.is-cuadre { color: #047857; }
#reportsCashDiffTotal.is-faltante { color: #b91c1c; }
#reportsCashDiffTotal.is-sobrante { color: #b45309; }

.reports-cash-table {
    min-width: 0;
    table-layout: auto;
}

.reports-cash-table th,
.reports-cash-table td {
    white-space: nowrap;
}

.reports-cash-table td:first-child,
.reports-cash-table th:first-child {
    white-space: normal;
}

.reports-cash-stack-cell small {
    display: block;
    color: #64748b;
    font-weight: 700;
}

.reports-cash-register-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: 1rem;
}

.reports-cash-register-kpis article {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: .55rem .7rem;
    background: #f8fafc;
}

.reports-cash-register-kpis small {
    display: block;
    color: #64748b;
    font-size: .64rem;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}

.reports-cash-register-kpis strong {
    display: block;
    margin-top: .2rem;
    color: #0f172a;
    font-size: .95rem;
    font-weight: 900;
}

.reports-cash-register-heading {
    margin: 0 0 .55rem;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.reports-cash-sessions-table {
    min-width: 980px;
}

.reports-cash-analytics {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
}

.reports-cash-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.reports-cash-main {
    min-width: 0;
    display: grid;
    gap: .75rem;
}

.reports-cash-detail-card .table-responsive {
    padding: 0;
}

.reports-cash-table th {
    background: #f8fafc;
    color: #0f172a;
    font-size: .66rem;
    font-weight: 900;
}

.reports-cash-table td {
    color: #0f172a;
    font-size: .68rem;
    font-weight: 700;
    vertical-align: middle;
}

.reports-cash-table td,
.reports-cash-table th {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-cash-movement span,
.reports-cash-movement em,
.reports-cash-alert span,
.reports-cash-alert em {
    color: #475569;
    font-size: .68rem;
    font-weight: 800;
}

.reports-cash-alerts {
    padding: .75rem;
    display: grid;
    gap: .55rem;
}

.reports-cash-movement,
.reports-cash-alert {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: .55rem;
    align-items: center;
}

.reports-cash-movement i,
.reports-cash-alert i {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eff6ff;
    color: #0d6efd;
    font-size: .72rem;
}

.reports-cash-movement i.is-green {
    background: #dcfce7;
    color: #059669;
}

.reports-cash-movement i.is-red,
.reports-cash-alert i {
    background: #fee2e2;
    color: #dc2626;
}

.reports-cash-movement strong,
.reports-cash-alert strong {
    display: block;
    overflow: hidden;
    color: #0f172a;
    font-size: .7rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-cash-movement span,
.reports-cash-alert span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-cash-movement em,
.reports-cash-alert em {
    color: #0f172a;
    font-style: normal;
    font-weight: 900;
    white-space: nowrap;
}

.reports-inventory-filters {
    padding: .75rem;
}

.reports-inventory-filter-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(130px, 1fr)) auto;
    gap: .65rem;
    align-items: end;
}

.reports-inventory-filter-grid .form-group {
    margin-bottom: 0;
}

.reports-inventory-filter-grid label {
    margin-bottom: .18rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 900;
}

.reports-inventory-filter-grid .form-control {
    height: 34px;
    min-height: 34px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}

.reports-inventory-filter-actions {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    gap: .45rem;
    min-width: 0;
}

.reports-inventory-filter-actions .btn {
    width: auto;
    flex: 0 0 auto;
    min-height: 34px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 900;
    white-space: nowrap;
}

.reports-inventory-kpis {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.reports-inventory-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.reports-inventory-main {
    min-width: 0;
    display: grid;
    gap: .75rem;
}

.reports-cash-summary-list {
    padding: .75rem;
    display: grid;
    gap: .45rem;
}

.reports-cash-summary-list div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding-bottom: .42rem;
    border-bottom: 1px solid #edf2f7;
}

.reports-cash-summary-list span,
.reports-cash-summary-list strong {
    color: #475569;
    font-size: .68rem;
    font-weight: 800;
}

.reports-cash-summary-list strong {
    color: #0f172a;
    font-weight: 900;
}

.reports-inventory-detail-card .table-responsive {
    padding: 0;
}

.reports-inventory-table {
    min-width: 980px;
    width: 100%;
    table-layout: auto;
}

.reports-inventory-table th {
    background: #f8fafc;
    color: #0f172a;
    font-size: .66rem;
    font-weight: 900;
}

.reports-inventory-table td {
    color: #0f172a;
    font-size: .68rem;
    font-weight: 700;
    vertical-align: middle;
}

.reports-inventory-table td,
.reports-inventory-table th {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sales-history-list-table.reports-inventory-table th:nth-child(2),
.sales-history-list-table.reports-inventory-table td:nth-child(2) {
    min-width: 180px;
    overflow: visible;
    white-space: normal;
}

.sales-history-list-table.reports-inventory-table th:nth-child(4),
.sales-history-list-table.reports-inventory-table td:nth-child(4) {
    width: 108px;
    min-width: 108px;
    max-width: none;
    overflow: visible;
    text-align: right;
    white-space: nowrap;
}

.sales-history-list-table.reports-inventory-table th:last-child,
.sales-history-list-table.reports-inventory-table td:last-child {
    width: 1%;
    min-width: 86px;
    overflow: visible;
    white-space: nowrap;
    text-align: right;
    padding-right: .75rem;
}

.reports-inventory-table .reports-sales-actions {
    justify-content: flex-end;
}

.reports-inventory-product-cell {
    min-width: 0;
    max-width: 280px;
}

.reports-inventory-product-cell small {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
}

.reports-inventory-product-cell small i {
    color: #64748b;
    font-size: .68rem;
}

.reports-inventory-analytics {
    display: grid;
    grid-template-columns: .95fr .95fr 1.05fr 1.2fr;
    gap: .75rem;
}

.reports-inventory-movements {
    padding: .75rem;
    display: grid;
    gap: .55rem;
}

.reports-inventory-movement {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: .55rem;
    align-items: center;
}

.reports-inventory-movement i {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dcfce7;
    color: #059669;
    font-size: .72rem;
}

.reports-inventory-movement strong {
    display: block;
    overflow: hidden;
    color: #0f172a;
    font-size: .7rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-inventory-movement span,
.reports-inventory-movement em {
    display: block;
    overflow: hidden;
    color: #475569;
    font-size: .68rem;
    font-style: normal;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-purchases-filters {
    padding: .75rem;
}

.reports-purchases-filter-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.45fr) repeat(4, minmax(130px, 1fr));
    gap: .65rem;
    align-items: end;
}

.reports-purchases-filter-grid .form-group {
    margin-bottom: 0;
}

.reports-purchases-filter-grid label {
    margin-bottom: .18rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 900;
}

.reports-purchases-filter-grid .form-control {
    height: 34px;
    min-height: 34px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}

.reports-purchases-filter-actions {
    grid-column: 4 / -1;
    justify-self: end;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: .45rem;
}

.reports-purchases-filter-actions .btn {
    min-height: 34px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 900;
    white-space: nowrap;
}

.reports-purchases-kpis {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.reports-purchases-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.reports-purchases-main {
    min-width: 0;
    display: grid;
    gap: .75rem;
}

.reports-purchases-summary-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: .75rem;
}

.reports-purchases-detail-card .table-responsive {
    padding: 0;
}

.reports-purchases-table {
    min-width: 1180px;
    table-layout: auto;
}

.reports-purchases-table th {
    background: #f8fafc;
    color: #0f172a;
    font-size: .66rem;
    font-weight: 900;
}

.reports-purchases-table td {
    color: #0f172a;
    font-size: .68rem;
    font-weight: 700;
    vertical-align: middle;
}

.reports-purchases-table td,
.reports-purchases-table th {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-purchases-top-list {
    padding: .75rem;
    display: grid;
    gap: .5rem;
}

.reports-purchases-top-list div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem;
    align-items: center;
    padding-bottom: .45rem;
    border-bottom: 1px solid #edf2f7;
}

.reports-purchases-top-list span {
    overflow: hidden;
    color: #0f172a;
    font-size: .68rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-purchases-top-list strong,
.reports-purchases-top-list em {
    color: #475569;
    font-size: .66rem;
    font-style: normal;
    font-weight: 900;
    text-align: right;
    white-space: nowrap;
}

.reports-purchases-analytics {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: .75rem;
}

.reports-utility-filters {
    padding: .75rem;
}

.reports-utility-filter-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.4fr) minmax(140px, 1fr) minmax(140px, 1fr) auto;
    gap: .65rem;
    align-items: end;
}

.reports-utility-filter-grid .form-group {
    margin-bottom: 0;
}

.reports-utility-filter-grid label {
    margin-bottom: .18rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 900;
}

.reports-utility-filter-grid .form-control {
    height: 34px;
    min-height: 34px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}

.reports-utility-filter-actions {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    gap: .45rem;
    flex-wrap: nowrap;
    min-width: 0;
}

.reports-utility-filter-actions .btn {
    flex: 0 0 auto;
    width: auto;
    min-height: 34px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 900;
    white-space: nowrap;
}

.reports-utility-kpis {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.reports-utility-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.reports-utility-main {
    min-width: 0;
    display: grid;
    gap: .75rem;
}

.reports-utility-summary-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
}

.reports-utility-detail-card .table-responsive {
    padding: 0;
}

.reports-utility-table {
    min-width: 1080px;
    table-layout: auto;
}

.reports-utility-table th {
    background: #f8fafc;
    color: #0f172a;
    font-size: .66rem;
    font-weight: 900;
}

.reports-utility-table td {
    color: #0f172a;
    font-size: .68rem;
    font-weight: 700;
    vertical-align: middle;
}

.reports-utility-table td,
.reports-utility-table th {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-utility-table tfoot td {
    background: #eff6ff;
    font-weight: 900;
}

.reports-utility-margin-bar {
    display: grid;
    grid-template-columns: minmax(50px, 1fr) 48px;
    align-items: center;
    gap: .45rem;
}

.reports-utility-margin-bar i {
    display: block;
    height: 8px;
    border-radius: 999px;
    background: #10b981;
}

.reports-utility-margin-bar strong {
    color: #0f172a;
    font-size: .68rem;
    font-weight: 900;
    text-align: right;
}

.reports-utility-analytics {
    display: grid;
    grid-template-columns: 1fr .95fr 1fr 1.35fr;
    gap: .75rem;
}

.reports-electronic-kpis {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.reports-dashboard-page.is-electronic-panel .reports-dashboard-kpi {
    padding-left: 1rem;
    padding-right: 1rem;
}

.reports-electronic-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.reports-electronic-main {
    min-width: 0;
    display: grid;
    gap: .75rem;
}

.reports-electronic-summary-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: .75rem;
}

.reports-electronic-tabs {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .6rem 1rem;
    border-bottom: 1px solid #edf2f7;
    overflow-x: auto;
}

.reports-electronic-tabs button {
    min-height: 34px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #475569;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    padding: .38rem .58rem;
    font-size: .72rem;
    font-weight: 900;
    white-space: nowrap;
    box-shadow: none;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.reports-electronic-tabs button i {
    color: #0d6efd;
    font-size: .78rem;
}

.reports-electronic-tabs button small {
    min-width: 22px;
    min-height: 18px;
    border-radius: 4px;
    background: #f1f5f9;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .62rem;
    font-weight: 900;
}

.reports-electronic-tabs button:hover,
.reports-electronic-tabs button:focus {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #0d6efd;
}

.reports-electronic-tabs button.active {
    border-color: #0d6efd;
    background: #0d6efd;
    color: #fff;
}

.reports-electronic-tabs button.active i {
    color: #fff;
}

.reports-electronic-tabs button.active small {
    background: rgba(255, 255, 255, .2);
    color: #fff;
}

.reports-electronic-filter-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(180px, .75fr) minmax(320px, 1.4fr);
    gap: .65rem;
    align-items: end;
    padding: .75rem 1rem;
    border-bottom: 1px solid #edf2f7;
}

.reports-electronic-filter-grid .form-group {
    margin-bottom: 0;
}

.reports-electronic-filter-grid .form-control {
    height: 34px;
    min-height: 34px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}

.reports-electronic-list-card .table-responsive {
    padding: 0;
}

.reports-electronic-table {
    min-width: 980px;
    table-layout: auto;
}

.reports-electronic-table th {
    background: #f8fafc;
    color: #0f172a;
    font-size: .66rem;
    font-weight: 900;
}

.reports-electronic-table td {
    color: #0f172a;
    font-size: .68rem;
    font-weight: 700;
    vertical-align: middle;
}

.reports-electronic-table td,
.reports-electronic-table th {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-electronic-type {
    display: inline-flex;
    min-height: 22px;
    align-items: center;
    border-radius: 6px;
    padding: .12rem .45rem;
    font-size: .66rem;
    font-weight: 900;
}

.reports-electronic-type.is-boleta { background: #dcfce7; color: #059669; }
.reports-electronic-type.is-factura { background: #ede9fe; color: #6d28d9; }
.reports-electronic-type.is-nota { background: #fff7ed; color: #f97316; }

.reports-electronic-config,
.reports-electronic-links {
    padding: .85rem 1rem;
    display: grid;
    gap: .6rem;
}

.reports-electronic-config div,
.reports-electronic-links a {
    display: grid;
    grid-template-columns: minmax(84px, .45fr) minmax(0, 1fr);
    align-items: center;
    gap: .6rem;
}

.reports-electronic-config span {
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
}

.reports-electronic-config strong {
    color: #0f172a;
    font-size: .68rem;
    font-weight: 900;
    text-align: right;
    overflow-wrap: anywhere;
}

.reports-electronic-links a {
    grid-template-columns: 18px minmax(0, 1fr) 14px;
    min-height: 34px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #0d6efd;
    padding: .38rem .55rem;
    font-size: .7rem;
    font-weight: 900;
    text-decoration: none;
}

.reports-electronic-links a:hover,
.reports-electronic-links a:focus {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #0d6efd;
    text-decoration: none;
}

.reports-electronic-links span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reports-electronic-summary-row .btn {
    margin: 0 1rem .85rem;
    min-height: 34px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 900;
}

.reports-electronic-card-button {
    border: 1px solid #dbe4f0;
    background: #fff;
    color: #0d6efd;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    box-shadow: none;
    text-decoration: none;
}

.reports-electronic-card-button i {
    font-size: .78rem;
}

.reports-electronic-card-button:hover,
.reports-electronic-card-button:focus {
    border-color: #0d6efd;
    background: #eff6ff;
    color: #0d6efd;
    text-decoration: none;
}

.reports-dashboard-page.is-electronic-panel .reports-dashboard-card-head {
    padding-left: 1rem;
    padding-right: 1rem;
}

.reports-dashboard-page.is-electronic-panel .reports-sales-pagination {
    padding-left: 1rem;
    padding-right: 1rem;
}

.reports-dashboard-page.is-electronic-panel .reports-sales-actions {
    gap: .3rem;
}

.reports-dashboard-page.is-electronic-panel .reports-sales-actions button {
    width: 30px;
    height: 30px;
    border-radius: 4px;
    color: #0d6efd;
    font-size: .78rem;
}

.reports-dashboard-page.is-electronic-panel .reports-sales-actions button:nth-child(2) {
    color: #198754;
}

.reports-dashboard-page.is-electronic-panel .reports-sales-actions button:nth-child(3) {
    color: #64748b;
}

.reports-dashboard-page.is-electronic-panel #reportsElectronicPaginationButtons button {
    min-width: 30px;
    height: 30px;
    border-radius: 4px;
}

.reports-products-profit-chart {
    min-height: 220px;
    padding: .85rem;
    display: grid;
    gap: .52rem;
}

.reports-products-profit-row {
    display: grid;
    grid-template-columns: 125px minmax(0, 1fr) 74px;
    gap: .55rem;
    align-items: center;
}

.reports-products-profit-row span,
.reports-products-profit-row strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #0f172a;
    font-size: .68rem;
    font-weight: 800;
}

.reports-products-profit-row div {
    height: 16px;
    border-radius: 999px;
    background: #ecfdf5;
    overflow: hidden;
}

.reports-products-profit-row i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #10b981;
}

.reports-sales-badge {
    display: inline-flex;
    min-height: 20px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: .12rem .42rem;
    font-size: .62rem;
    font-weight: 900;
}

.reports-sales-badge.is-green {
    background: #dcfce7;
    color: #059669;
}

.reports-sales-badge.is-blue {
    background: #dbeafe;
    color: #0d6efd;
}

.reports-sales-badge.is-purple {
    background: #ede9fe;
    color: #6d28d9;
}

.reports-sales-badge.is-cyan {
    background: #cffafe;
    color: #0891b2;
}

.reports-sales-badge.is-amber {
    background: #fff7ed;
    color: #f97316;
}

.reports-sales-badge.is-red {
    background: #fee2e2;
    color: #dc2626;
}

.reports-sales-badge.is-muted {
    background: #f1f5f9;
    color: #64748b;
}
.reports-sales-actions {
    display: inline-flex;
    gap: .35rem;
}

.reports-sales-actions a,
.reports-sales-actions button {
    width: 24px;
    height: 24px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0d6efd;
    text-decoration: none;
    padding: 0;
    cursor: pointer;
}

.reports-sales-actions button:disabled,
.reports-sales-actions button.is-printing {
    opacity: .55;
    cursor: wait;
}

.reports-sales-actions a:hover,
.reports-sales-actions button:hover {
    border-color: #93c5fd;
    background: #eff6ff;
}

.reports-sales-pagination {
    min-height: 48px;
    border-top: 1px solid #edf2f7;
    padding: .65rem .75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.reports-sales-pagination span {
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
}

#reportsSalesPaginationButtons,
#reportsProductsPaginationButtons,
#reportsClientsPaginationButtons,
#reportsCashPaginationButtons,
#reportsClosuresPaginationButtons,
#reportsInventoryPaginationButtons,
#reportsPurchasesPaginationButtons,
#reportsElectronicPaginationButtons {
    display: flex;
    align-items: center;
    gap: .3rem;
}

#reportsSalesPaginationButtons button,
#reportsProductsPaginationButtons button,
#reportsClientsPaginationButtons button,
#reportsCashPaginationButtons button,
#reportsClosuresPaginationButtons button,
#reportsInventoryPaginationButtons button,
#reportsPurchasesPaginationButtons button,
#reportsElectronicPaginationButtons button {
    min-width: 30px;
    height: 30px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #0f172a;
    font-size: .72rem;
    font-weight: 900;
}

#reportsSalesPaginationButtons button.active,
#reportsProductsPaginationButtons button.active,
#reportsClientsPaginationButtons button.active,
#reportsCashPaginationButtons button.active,
#reportsClosuresPaginationButtons button.active,
#reportsInventoryPaginationButtons button.active,
#reportsPurchasesPaginationButtons button.active,
#reportsElectronicPaginationButtons button.active {
    border-color: #0d6efd;
    background: #0d6efd;
    color: #fff;
}

#reportsSalesPaginationButtons button:disabled,
#reportsProductsPaginationButtons button:disabled,
#reportsClientsPaginationButtons button:disabled,
#reportsCashPaginationButtons button:disabled,
#reportsClosuresPaginationButtons button:disabled,
#reportsInventoryPaginationButtons button:disabled,
#reportsPurchasesPaginationButtons button:disabled,
#reportsElectronicPaginationButtons button:disabled {
    cursor: not-allowed;
    opacity: .45;
}
.reports-hub-card,
.reports-catalog-card,
.reports-filters-card,
.reports-placeholder-card {
    border-radius: 1rem;
    overflow: hidden;
}
.reports-catalog-card {
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, .08), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.reports-catalog-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.reports-catalog-summary {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.reports-catalog-summary-item {
    min-width: 130px;
    padding: .8rem .95rem;
    border-radius: 1rem;
    border: 1px solid #dbeafe;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 26px rgba(15, 23, 42, .04);
}
.reports-catalog-summary-item span {
    display: block;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #64748b;
    margin-bottom: .2rem;
}
.reports-catalog-summary-item strong {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}
.reports-hub-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.2rem;
    padding: .35rem;
}
.reports-hub-badge {
    display: inline-flex;
    align-items: center;
    padding: .36rem .7rem;
    border-radius: 999px;
    background: rgba(29, 78, 216, .1);
    color: #1d4ed8;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: .85rem;
}
.reports-hub-hero h2 {
    margin-bottom: .45rem;
    font-size: 1.7rem;
    font-weight: 800;
    color: #0f172a;
}
.reports-hub-hero p {
    margin-bottom: 0;
    max-width: 720px;
    color: #64748b;
    line-height: 1.6;
}
.reports-hub-sections {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.reports-hub-section-chip {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-width: 150px;
    padding: .85rem 1rem;
    border-radius: 1rem;
    border: 1px solid #dbeafe;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    color: #334155;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .04);
}
.reports-hub-section-chip:hover {
    color: #0f172a;
    transform: translateY(-1px);
}
.reports-hub-section-chip.active {
    border-color: #2563eb;
    background: linear-gradient(135deg, #0f172a 0%, #2563eb 100%);
    color: #fff;
    box-shadow: 0 18px 34px rgba(37, 99, 235, .22);
}
.reports-catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.1rem;
}
.reports-catalog-item {
    appearance: none;
    width: 100%;
    text-align: left;
    border: 1px solid #dbe4f0;
    border-radius: 1.15rem;
    background:
        radial-gradient(circle at top right, rgba(96, 165, 250, .10), transparent 26%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    padding: 1.05rem;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .05);
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.reports-catalog-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 42px rgba(15, 23, 42, .10);
    border-color: #93c5fd;
}
.reports-catalog-item:focus {
    outline: 0;
    box-shadow: 0 0 0 .2rem rgba(37, 99, 235, .15);
}
.reports-catalog-item.active {
    border-color: #2563eb;
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, .16), transparent 28%),
        linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
    box-shadow: 0 22px 42px rgba(37, 99, 235, .15);
}
.reports-catalog-item-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .9rem;
}
.reports-catalog-icon {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eff6ff;
    color: #1d4ed8;
}
.reports-catalog-item h4 {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: .45rem;
}
.reports-catalog-item p {
    margin-bottom: 0;
    color: #64748b;
    line-height: 1.55;
    font-size: .93rem;
    min-height: 4.3rem;
}
.reports-catalog-item-footer {
    margin-top: 1rem;
    padding-top: .9rem;
    border-top: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}
.reports-catalog-open {
    font-size: .84rem;
    font-weight: 800;
    color: #1d4ed8;
    letter-spacing: .02em;
}
.reports-catalog-arrow {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eff6ff;
    color: #1d4ed8;
    transition: transform .15s ease, background-color .15s ease;
}
.reports-catalog-item:hover .reports-catalog-arrow,
.reports-catalog-item.active .reports-catalog-arrow {
    transform: translateX(2px);
    background: #dbeafe;
}
.reports-placeholder-card .card-body {
    padding: 2rem;
    text-align: center;
}
.reports-placeholder-icon {
    width: 4.4rem;
    height: 4.4rem;
    margin: 0 auto 1rem;
    border-radius: 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0f172a 0%, #2563eb 100%);
    color: #fff;
    font-size: 1.4rem;
    box-shadow: 0 18px 36px rgba(37, 99, 235, .18);
}
.reports-placeholder-card h3 {
    font-size: 1.35rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: .5rem;
}
.reports-placeholder-card p {
    max-width: 760px;
    margin: 0 auto;
    color: #64748b;
    line-height: 1.65;
}
.reports-placeholder-tags {
    display: flex;
    justify-content: center;
    gap: .6rem;
    flex-wrap: wrap;
    margin-top: 1.2rem;
}
.reports-placeholder-tags span {
    display: inline-flex;
    align-items: center;
    padding: .48rem .8rem;
    border-radius: 999px;
    border: 1px solid #dbeafe;
    background: #f8fbff;
    color: #1d4ed8;
    font-weight: 700;
    font-size: .84rem;
}
.reports-runtime-card {
    border-radius: 1rem;
    overflow: hidden;
    transition: box-shadow .18s ease, border-color .18s ease, transform .18s ease;
}
.reports-runtime-card-focus {
    border-color: #2563eb !important;
    box-shadow: 0 18px 38px rgba(37, 99, 235, .14);
    transform: translateY(-1px);
}
.reports-modal {
    border: 0;
    border-radius: 1.15rem;
    overflow: hidden;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .22);
}
.reports-modal-badge {
    display: inline-flex;
    align-items: center;
    padding: .34rem .65rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, .1);
    color: #1d4ed8;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: .65rem;
}
.reports-modal-toolbar {
    display: flex;
    justify-content: flex-end;
    gap: .6rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}
.reports-modal-filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .85rem;
    margin-bottom: 1rem;
}
.reports-modal-filter-card {
    border: 1px solid #dbe4f0;
    border-radius: 1rem;
    padding: .85rem .95rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.reports-modal-filter-card label {
    display: block;
    font-size: .73rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #64748b;
    margin-bottom: .4rem;
}
.reports-modal-filter-card .form-control {
    border-radius: .8rem;
}
.reports-modal-filter-empty {
    padding: .9rem 1rem;
    border: 1px dashed #dbe4f0;
    border-radius: 1rem;
    background: #f8fafc;
    color: #64748b;
    font-size: .92rem;
}
.reports-modal-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: .8rem;
    margin-bottom: 1rem;
}
.reports-modal-summary-item {
    border: 1px solid #dbe4f0;
    border-radius: 1rem;
    padding: .9rem 1rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.reports-modal-summary-item span {
    display: block;
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #64748b;
    margin-bottom: .22rem;
}
.reports-modal-summary-item strong {
    display: block;
    font-size: 1.18rem;
    color: #0f172a;
    line-height: 1.15;
}
.reports-modal-table-wrap {
    border: 1px solid #dbe4f0;
    border-radius: 1rem;
    overflow: hidden;
    background: #fff;
}
.reports-modal-table-wrap .table {
    margin-bottom: 0;
}
.reports-modal-table-wrap thead th {
    background: #1b365d;
    color: #fff;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
}
.reports-kpi-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
}
.reports-kpi-item {
    border: 1px solid #dbe4f0;
    border-radius: 1rem;
    padding: 1rem 1.05rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.reports-kpi-item span {
    display: block;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #64748b;
    margin-bottom: .28rem;
}
.reports-kpi-item strong {
    display: block;
    font-size: 1.45rem;
    color: #0f172a;
    line-height: 1.1;
}
.inventory-hub {
    display: grid;
    gap: 1rem;
}
.inventory-hub-hero {
    border-radius: 1.1rem;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .06);
}
.inventory-hub-hero .card-body {
    padding: 1.35rem;
}
.inventory-hub-badge {
    display: inline-flex;
    align-items: center;
    padding: .38rem .8rem;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: .9rem;
}
.inventory-hub-title {
    font-size: 2rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: .5rem;
}
.inventory-hub-copy {
    max-width: 760px;
    color: #475569;
    font-size: 1rem;
    line-height: 1.65;
    margin-bottom: 1.15rem;
}
.inventory-hub-actions {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .55rem;
}
.inventory-hub-action-card {
    min-height: 82px;
    border: 1px solid #dbe4f0;
    border-radius: .8rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    padding: .65rem .5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    text-align: center;
    color: #0f172a;
    text-decoration: none !important;
    font-weight: 700;
    font-size: .78rem;
    box-shadow: 0 12px 24px rgba(15, 23, 42, .04);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
    appearance: none;
    cursor: pointer;
}
.inventory-hub-action-card:hover {
    color: #1d4ed8;
    border-color: #93c5fd;
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(37, 99, 235, .12);
}
.inventory-hub-action-icon {
    width: 40px;
    height: 40px;
    border-radius: .8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #dbeafe 0%, #eff6ff 100%);
    color: #1d4ed8;
    font-size: .95rem;
}
.inventory-hub-action-label {
    display: block;
    line-height: 1.15;
}
.inventory-add-modal {
    border-radius: 1rem;
    overflow: hidden;
}
.product-editor-dialog {
    max-width: 1080px;
}
.product-editor-modal-header {
    padding: .8rem 1rem;
}
.product-editor-modal-subtitle {
    margin-top: .18rem;
    color: #475569;
    font-size: .76rem;
    font-weight: 700;
}
.product-editor-modal-product-name,
.product-wizard-edit-name {
    display: inline-flex;
    align-items: center;
    max-width: min(760px, 72vw);
    margin-top: .18rem;
    padding: .2rem .48rem;
    border: 1px solid rgba(14, 116, 144, .22);
    border-radius: 6px;
    background: rgba(240, 249, 255, .92);
    color: #0f172a;
    font-size: .9rem;
    font-weight: 900;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.product-editor-modal-footer {
    gap: .45rem;
}
.product-editor-modal-footer .btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
}
.product-editor-layout {
    display: grid;
    gap: .65rem;
}
.product-editor-tabs-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .45rem;
    margin-bottom: .65rem;
}
.product-editor-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    min-height: 34px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #475569;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
    text-align: center;
    padding: .25rem .45rem;
    transition: box-shadow .15s ease, border-color .15s ease, color .15s ease, background .15s ease;
}
.product-editor-tab:hover,
.product-editor-tab:focus {
    color: #1d4ed8;
    text-decoration: none;
    border-color: #93c5fd;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .08);
}
.product-editor-tab.active {
    background: #0d6efd;
    color: #fff;
    border-color: #0d6efd;
    box-shadow: 0 8px 18px rgba(13, 110, 253, .18);
}
.product-editor-tab-step {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(37, 99, 235, .12);
    color: #1d4ed8;
    font-size: .72rem;
    font-weight: 900;
    flex: 0 0 auto;
}
.product-editor-tab.active .product-editor-tab-step {
    background: rgba(255, 255, 255, .18);
    color: #fff;
}
.product-editor-section {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    padding: .7rem .75rem .15rem;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
}
.product-editor-section-head {
    display: grid;
    gap: .24rem;
    justify-items: start;
    margin-bottom: .55rem;
    padding-bottom: .45rem;
    border-bottom: 1px solid #eef2f7;
}
.product-editor-section-kicker {
    display: inline-flex;
    align-items: center;
    padding: .16rem .45rem;
    border-radius: 6px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
    margin-bottom: 0;
}
.product-editor-section-head h6 {
    margin: 0;
    color: #0f172a;
    font-size: .86rem;
    font-weight: 900;
}
.product-editor-modal .form-group {
    margin-bottom: .55rem;
}
.product-editor-modal .form-group label {
    margin-bottom: .16rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}
.product-editor-modal .form-control,
.product-editor-modal .input-group .btn {
    min-height: 30px;
    height: 30px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
    padding: .2rem .42rem;
}
.product-editor-modal .input-group .btn {
    min-width: 30px;
    padding: 0 .45rem;
}
.product-editor-modal .product-field-invalid {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 .15rem rgba(220, 53, 69, .14) !important;
    background: #fff7f7 !important;
}
.product-editor-modal .product-field-invalid:focus {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .2) !important;
}
.product-editor-modal textarea.form-control {
    height: auto;
    min-height: 58px;
    padding-top: .4rem;
    padding-bottom: .4rem;
}
.product-editor-modal-body {
    padding: .75rem;
    max-height: calc(100vh - 185px);
    overflow-y: auto;
    overflow-x: hidden;
}
.product-editor-layout.tab-content > .tab-pane {
    display: none;
}
.product-editor-layout.tab-content > .active {
    display: block;
}
.product-inline-modal {
    border: 0;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 24px 48px rgba(15, 23, 42, .14);
}
.product-inline-modal .modal-body,
.product-inline-modal .modal-footer {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
}
.product-inline-modal .form-group label {
    font-size: .82rem;
    margin-bottom: .34rem;
}
.product-inline-modal .form-control {
    min-height: 42px;
}
.product-fraction-card {
    margin-top: 0 !important;
}
.product-category-progress-card {
    max-width: 620px;
    border: 1px solid #dbe4f0;
    border-radius: 1.15rem;
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
    padding: 1.15rem 1.2rem;
    box-shadow: 0 18px 36px rgba(37, 99, 235, .08);
}
.product-category-progress-head {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: .9rem;
    align-items: center;
    margin-bottom: .95rem;
}
.product-category-progress-spinner {
    width: 48px;
    height: 48px;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0f172a 0%, #2563eb 100%);
    color: #fff;
    font-size: 1.1rem;
    box-shadow: 0 14px 28px rgba(37, 99, 235, .16);
    animation: productCategoryPulse 1.35s ease-in-out infinite;
}
.product-category-progress-title {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
    margin-bottom: .18rem;
}
.product-category-progress-text {
    color: #64748b;
    font-size: .92rem;
}
.product-category-progress-bar {
    height: 12px;
    border-radius: 999px;
    background: #dbeafe;
    overflow: hidden;
}
.product-category-progress-bar-fill {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #1d4ed8 0%, #38bdf8 100%);
    transition: width .24s ease;
}
.product-category-progress-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .65rem;
    color: #334155;
    font-size: .82rem;
    font-weight: 700;
}
@keyframes productCategoryPulse {
    0%, 100% { transform: scale(1); box-shadow: 0 14px 28px rgba(37, 99, 235, .16); }
    50% { transform: scale(1.03); box-shadow: 0 18px 34px rgba(37, 99, 235, .22); }
}
.products-table-shell {
    position: relative;
    min-height: 320px;
}
.products-table-shell .dataTables_length,
.products-table-shell .dataTables_filter {
    margin-bottom: .75rem;
}
.products-table-shell .dataTables_length label,
.products-table-shell .dataTables_filter label {
    font-size: .92rem;
    font-weight: 600;
    color: #334155;
    margin-bottom: 0;
}
.products-table-shell .dataTables_length select,
.products-table-shell .dataTables_filter input {
    min-height: 38px;
    border-radius: .7rem;
    border-color: #d7e2f0;
    box-shadow: none;
}
.products-table-shell #productsTable {
    margin-top: .2rem !important;
}
.products-table-shell #productsTable thead th {
    padding: .72rem .85rem;
    background: #1b365d;
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    border-bottom: 0;
    white-space: nowrap;
}
.products-table-shell #productsTable tbody td {
    padding: .72rem .85rem;
    font-size: .86rem;
    line-height: 1.25;
    color: #0f172a;
    white-space: normal;
    vertical-align: middle;
}
.products-table-shell #productsTable tbody tr {
    transition: background-color .14s ease;
}
.products-table-shell #productsTable tbody tr:hover {
    background: #f8fbff;
}
.products-table-shell #productsTable tbody td small {
    display: block;
    margin-top: .12rem;
    margin-left: 0;
    font-size: .69rem;
    line-height: 1.2;
    color: #64748b !important;
    white-space: nowrap;
}
.products-table-shell #productsTable .badge {
    padding: .24rem .42rem;
    font-size: .62rem;
    font-weight: 800;
    border-radius: .48rem;
}
.products-table-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .22rem;
    flex-wrap: nowrap;
    white-space: nowrap;
    min-width: 0;
}
.products-table-shell #productsTable .btn {
    width: 29px;
    height: 29px;
    padding: 0;
    border-radius: .48rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    flex: 0 0 auto;
}
.products-table-shell #productsTable .btn + .btn {
    margin-left: 0;
}
.products-table-shell #productsTable .btn i {
    font-size: .72rem;
}
.products-page {
    display: grid;
    gap: .75rem;
}
.products-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    min-height: 36px;
}
.products-page-header h1 {
    margin: 0;
    line-height: 1.1;
}
.products-page-actions {
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
}
.products-page-actions .btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
}
.products-create-btn {
    background: #0d6efd;
    border-color: #0d6efd;
}
.products-promotion-btn {
    color: #1f2937;
    background: #facc15;
    border-color: #eab308;
}
.products-promotion-btn:hover,
.products-promotion-btn:focus {
    color: #111827;
    background: #eab308;
    border-color: #ca8a04;
}
.product-promotion-dialog {
    max-width: 1040px;
}
.product-promotion-body {
    display: grid;
    gap: .75rem;
}
.product-promotion-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .4rem;
    padding: .25rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}
.product-promotion-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    min-height: 32px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #64748b;
    font-size: .74rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
}
.product-promotion-step span {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #e2e8f0;
    color: #475569;
    font-size: .68rem;
    font-weight: 900;
}
.product-promotion-step.is-active {
    background: #fff;
    color: #0d6efd;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .08);
}
.product-promotion-step.is-active span,
.product-promotion-step.is-complete span {
    background: #0d6efd;
    color: #fff;
}
.product-promotion-pane {
    display: none;
}
.product-promotion-pane.is-active {
    display: grid;
    gap: .75rem;
}
.product-promotion-pane-head {
    display: grid;
    gap: .16rem;
}
.product-promotion-pane-head h6 {
    margin: 0;
    color: #0f172a;
    font-size: .95rem;
    font-weight: 900;
}
.product-promotion-pane-head p {
    margin: 0;
    color: #64748b;
    font-size: .76rem;
    font-weight: 700;
}
.product-promotion-builder {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 120px 140px auto;
    align-items: end;
    gap: .55rem;
}
.product-promotion-product-field {
    min-width: 0;
}
.product-promotion-search {
    position: relative;
}
.product-promotion-search-results {
    display: none;
    position: absolute;
    top: calc(100% + .25rem);
    left: 0;
    right: 0;
    z-index: 1065;
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    box-shadow: 0 18px 34px rgba(15, 23, 42, .14);
}
.product-promotion-search-result {
    padding: .55rem .65rem;
}
.product-promotion-add-btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
    white-space: nowrap;
}
.product-promotion-selected-preview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 34px;
    margin-top: .65rem;
    padding: .45rem .6rem;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: #475569;
    font-size: .78rem;
    font-weight: 700;
}
.product-promotion-selected-preview strong {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
}
.product-promotion-selected-facts {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .35rem;
}
.product-promotion-selected-facts em {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .16rem .42rem;
    border-radius: 6px;
    background: #fff;
    border: 1px solid #dbeafe;
    color: #1e293b;
    font-style: normal;
    font-weight: 800;
}
.product-promotion-selected-facts i {
    color: #2563eb;
}
.product-promotion-table-wrap {
    margin-top: .65rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}
.product-promotion-table th {
    border-top: 0;
    background: #f8fafc;
    color: #475569;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
    white-space: nowrap;
}
.product-promotion-table td {
    vertical-align: middle;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 700;
}
.product-promotion-table td:first-child {
    min-width: 260px;
}
.product-promotion-table td:first-child strong,
.product-promotion-table td:first-child small {
    display: block;
}
.product-promotion-table td:first-child small {
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}
.product-promotion-empty-row td {
    padding: 1rem;
    text-align: center;
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
}
.product-promotion-table .form-control {
    min-width: 94px;
}
.product-promotion-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
}
.product-promotion-summary-item {
    display: grid;
    gap: .18rem;
    padding: .65rem .75rem;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #f8fafc;
}
.product-promotion-summary-item span {
    color: #64748b;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
}
.product-promotion-summary-item strong {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
}
.product-promotion-stock-field label {
    margin: 0;
    color: #64748b;
    font-size: .62rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.product-promotion-stock-field .form-control {
    height: 30px;
    padding: .22rem .45rem;
    font-size: .86rem;
    font-weight: 800;
}
.product-promotion-stock-field small {
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}
.product-promotion-review {
    display: grid;
    gap: .75rem;
}
.product-promotion-review-main {
    display: grid;
    gap: .18rem;
    padding-bottom: .7rem;
    border-bottom: 1px solid #e2e8f0;
}
.product-promotion-review-main span {
    color: #0d6efd;
    font-size: .7rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
}
.product-promotion-review-main strong {
    color: #0f172a;
    font-size: 1.12rem;
    font-weight: 900;
}
.product-promotion-review-main small {
    color: #64748b;
    font-size: .78rem;
    font-weight: 700;
}
.product-promotion-review-list {
    display: grid;
    gap: .4rem;
}
.product-promotion-review-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .45rem 0;
    border-bottom: 1px solid #eef2f7;
    color: #0f172a;
    font-size: .8rem;
    font-weight: 800;
}
.product-promotion-review-item strong {
    white-space: nowrap;
}
.product-promotion-review-empty {
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
}
.sales-history-kpi-row.products-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.products-kpi-card {
    min-width: 0;
}
.products-kpi-row .sales-history-kpi-copy span,
.products-kpi-row .sales-history-kpi-copy strong,
.products-kpi-row .sales-history-kpi-copy small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}
.products-filter-grid .products-search-field {
    grid-column: span 3 !important;
}
.products-filter-grid .form-group:not(.products-search-field):not(.products-filter-actions) {
    grid-column: span 2;
}
.products-filter-grid .products-filter-actions {
    grid-column: span 1 !important;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}
.products-filter-grid .products-filter-actions .btn {
    width: auto;
    height: 38px;
    min-height: 38px;
    max-height: 38px;
    align-self: flex-end;
    padding: .32rem .75rem;
    line-height: 1;
}
.products-list-card .card-body {
    padding: .65rem;
}
.products-page .products-table-shell {
    min-height: 0;
    max-height: min(78vh, calc(100vh - 200px));
    overflow: auto;
}
.products-page .products-table-shell #productsTable {
    margin-top: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
}
.products-page .products-table-shell #productsTable thead th {
    padding: .62rem .75rem;
    border-bottom: 0;
    background: #1b365d;
    color: #fff;
    font-size: .68rem;
    letter-spacing: .06em;
    vertical-align: middle;
    position: sticky;
    z-index: 6;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .12);
}
.products-page .products-table-shell #productsTable thead tr:first-child th {
    top: 0;
    z-index: 7;
}
.products-page .products-table-shell #productsTable thead tr:last-child th {
    top: 2.1rem;
    z-index: 6;
}
.products-page .products-table-shell #productsTable thead th.products-prices-group {
    text-align: center !important;
    padding-left: .5rem !important;
    padding-right: .5rem !important;
    cursor: default;
}
.products-page .products-table-shell #productsTable thead th.products-prices-group:before,
.products-page .products-table-shell #productsTable thead th.products-prices-group:after {
    display: none !important;
    content: none !important;
}
.products-page .products-table-shell #productsTable thead th.products-price-sub {
    text-align: center !important;
}
.products-page .products-table-shell #productsTable thead th.products-stock-head {
    text-align: center !important;
    white-space: nowrap;
}
.products-page .products-table-shell #productsTable thead .products-head-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    line-height: 1.12;
    text-transform: uppercase;
}
.products-page .products-table-shell #productsTable thead .products-head-stack small {
    display: block;
    margin: 0;
    color: inherit;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.1;
    text-transform: uppercase;
}
.products-page .products-table-shell #productsTable thead tr:last-child th {
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .04em;
    padding-top: .15rem;
    padding-bottom: .55rem;
    text-align: center;
}
.products-page .products-table-shell #productsTable tbody td {
    padding: .7rem .75rem;
    font-size: .8rem;
    border-top: 1px solid #edf2f7;
}
.products-page .products-table-shell #productsTable th:nth-child(1) { width: 22%; }
.products-page .products-table-shell #productsTable th:nth-child(2) { width: 16%; }
.products-page .products-table-shell #productsTable th:nth-child(3) { width: 12%; }
.products-page .products-table-shell #productsTable th:nth-child(4) { width: 7%; }
.products-page .products-table-shell #productsTable td:nth-child(4),
.products-page .products-table-shell #productsTable td:nth-child(5),
.products-page .products-table-shell #productsTable td:nth-child(6),
.products-page .products-table-shell #productsTable td:nth-child(8),
.products-page .products-table-shell #productsTable td:nth-child(9) {
    text-align: center;
}
.products-catalog-name {
    display: flex;
    flex-direction: column;
    gap: .12rem;
    min-width: 0;
}
.products-catalog-name strong {
    display: block;
    color: #0f172a;
    font-size: .9rem;
    font-weight: 800;
    line-height: 1.25;
}
.products-catalog-name span {
    color: #94a3b8;
    font-size: .72rem;
    font-weight: 500;
    line-height: 1.2;
}
.products-catalog-codes {
    display: flex;
    flex-direction: column;
    gap: .28rem;
    min-width: 0;
}
.products-catalog-sku {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-width: 0;
}
.products-catalog-sku span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 18px;
    padding: 0 .42rem;
    border-radius: 999px;
    background: #2563eb;
    color: #fff;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1;
}
.products-catalog-sku em {
    font-style: normal;
    color: #334155;
    font-size: .78rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.products-catalog-barcode {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    color: #64748b;
    font-size: .76rem;
    font-weight: 600;
}
.products-catalog-barcode i {
    color: #94a3b8;
    font-size: .78rem;
}
.products-catalog-category {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: .18rem .7rem;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .04em;
    white-space: nowrap;
}
.products-catalog-category.is-bebidas,
.products-catalog-category.is-azul {
    background: #dbeafe;
    color: #1d4ed8;
}
.products-catalog-category.is-abarrotes,
.products-catalog-category.is-verde {
    background: #dcfce7;
    color: #15803d;
}
.products-catalog-category.is-neutral {
    background: #e2e8f0;
    color: #475569;
}
.products-catalog-cost {
    display: inline-block;
    color: #0f172a;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.products-catalog-price {
    display: inline-block;
    color: #2563eb;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.products-page .products-table-shell #productsTable tbody td:nth-child(5),
.products-page .products-table-shell #productsTable tbody td:nth-child(6) {
    white-space: nowrap;
    min-width: 5.75rem;
    padding-left: .45rem;
    padding-right: .45rem;
}
.products-catalog-stock {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: .35rem;
    white-space: nowrap;
}
.products-catalog-stock strong,
.products-catalog-stock small {
    white-space: nowrap;
}
.products-catalog-stock strong {
    color: #2563eb;
    font-size: .88rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
.products-page .products-table-shell #productsTable tbody td:nth-child(7) {
    white-space: nowrap;
}
.products-catalog-stock-state {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .72rem;
    font-weight: 700;
}
.products-catalog-stock-state::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}
.products-catalog-stock-state.is-disponible {
    color: #16a34a;
}
.products-catalog-stock-state.is-bajo_stock {
    color: #ea580c;
}
.products-catalog-stock-state.is-sin_stock {
    color: #dc2626;
}
.products-catalog-status {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .28rem;
    min-width: 3.4rem;
    min-height: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    line-height: 1;
}
.products-catalog-status .products-status-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    display: block;
    flex: 0 0 auto;
}
.products-catalog-status .products-status-label {
    display: block;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .01em;
    white-space: nowrap;
}
.products-catalog-status.is-active {
    background: transparent;
    color: #15803d;
}
.products-catalog-status.is-active .products-status-dot {
    background: #16a34a;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, .18);
}
.products-catalog-status.is-active .products-status-label {
    color: #15803d;
}
.products-catalog-status.is-inactive {
    background: transparent;
    color: #dc2626;
}
.products-catalog-status.is-inactive .products-status-dot {
    background: #dc2626;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .16);
}
.products-catalog-status.is-inactive .products-status-label {
    color: #dc2626;
}
.products-table-shell .dataTables_paginate .paginate_button {
    padding: .28rem .7rem !important;
    border-radius: .65rem;
}
.products-table-shell.is-loading {
    min-height: 420px;
}
.products-table-shell.is-loading #productsTable {
    visibility: hidden;
}
.products-table-loading {
    position: absolute;
    inset: 0;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(1px);
    transition: opacity .22s ease, visibility .22s ease;
    min-height: 420px;
}
.products-table-loading.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.products-table-loading-card {
    width: min(100%, 420px);
    text-align: center;
    border: 1px solid #dbe4f0;
    border-radius: 1.2rem;
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
    padding: 1.35rem 1.25rem;
    box-shadow: 0 20px 42px rgba(37, 99, 235, .10);
}
.products-table-loading-spinner {
    width: 68px;
    height: 68px;
    margin: 0 auto .9rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0f172a 0%, #2563eb 100%);
    color: #fff;
    font-size: 1.35rem;
    box-shadow: 0 16px 32px rgba(37, 99, 235, .18);
}
.products-table-loading-spinner i {
    animation: productTableSpin 1s linear infinite;
}
.products-table-loading-title {
    color: #0f172a;
    font-size: 1.02rem;
    font-weight: 800;
    margin-bottom: .3rem;
}
.products-table-loading-text {
    color: #64748b;
    font-size: .92rem;
    line-height: 1.55;
}
@keyframes productTableSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.inventory-stock-table-card {
    border-radius: 1rem;
    border: 1px solid #dbe4f0;
    box-shadow: 0 14px 28px rgba(15, 23, 42, .04);
}
.inventory-stock-table-card .card-header {
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
}
.inventory-export-toolbar {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
}
.inventory-export-toolbar .dt-button {
    margin-right: 0 !important;
}
.inventory-export-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-width: 73px;
    min-height: 36px;
    padding: .42rem .68rem !important;
    border-radius: 6px !important;
    border: 0 !important;
    color: #fff !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    line-height: 1.2;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.inventory-export-btn:hover,
.inventory-export-btn:focus {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .16);
    filter: brightness(.97);
    outline: 0;
}
.inventory-export-btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: #fff !important;
    font-size: .85rem;
}
.inventory-export-btn-excel {
    background: #00a651 !important;
}
.inventory-export-btn-excel .inventory-export-btn-icon {
    color: #fff !important;
}
.inventory-export-btn-pdf {
    background: #ff1f3d !important;
}
.inventory-export-btn-pdf .inventory-export-btn-icon {
    color: #fff !important;
}
.inventory-export-btn-print {
    border-color: rgba(37, 99, 235, .18) !important;
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
    color: #1d4ed8 !important;
}
.inventory-export-btn-print .inventory-export-btn-icon {
    color: #2563eb;
}
.sale-ticket-tabs-shell {
    border: 1px solid #dbe4f0;
    border-radius: 1rem;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    padding: 1rem;
}
.sale-ticket-tabs-shell-inline {
    padding: .55rem;
    box-shadow: 0 14px 28px rgba(15, 23, 42, .04);
}
.sale-ticket-tabs-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: .85rem;
}
.sale-ticket-tabs-title {
    font-size: .95rem;
    font-weight: 800;
    color: #0f172a;
}
.sale-ticket-tabs-subtitle {
    font-size: .83rem;
    color: #64748b;
}
.sale-ticket-tabs {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
}
.sale-ticket-tab {
    min-width: 128px;
    border: 1px solid #d7e2f0;
    border-radius: .78rem;
    padding: .48rem .7rem;
    background: #fff;
    cursor: pointer;
    transition: all .15s ease;
}
.sale-ticket-tab:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, .08);
}
.sale-ticket-tab.active {
    border-color: #2563eb;
    box-shadow: 0 14px 28px rgba(37, 99, 235, .12);
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
}
.sale-ticket-tab-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .45rem;
}
.sale-ticket-tab-name {
    font-weight: 700;
    color: #0f172a;
    font-size: .84rem;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sale-ticket-tab-close {
    border: 0;
    background: transparent;
    color: #94a3b8;
    padding: 0;
    line-height: 1;
    flex: 0 0 auto;
}
.sale-ticket-tab-close:hover {
    color: #dc2626;
}
.sale-ticket-doc-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    padding: .18rem .45rem;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .03em;
}
.sale-ticket-badge-ticket {
    background: #e0f2fe;
    color: #0369a1;
}
.sale-ticket-badge-boleta {
    background: #dcfce7;
    color: #166534;
}
.sale-ticket-badge-factura {
    background: #fef3c7;
    color: #92400e;
}
.sale-ticket-tab-flags {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .5rem;
}
.sale-ticket-flag {
    display: inline-flex;
    align-items: center;
    padding: .16rem .46rem;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 700;
}
.sale-ticket-flag-credito {
    background: #fee2e2;
    color: #b91c1c;
}
.sale-ticket-flag-mixto {
    background: #ede9fe;
    color: #6d28d9;
}
@media (max-width: 991.98px) {
    body.pos-sales-page:not(.pos-sales-focus),
    body.pos-sales-page:not(.pos-sales-focus) .wrapper,
    body.pos-sales-page:not(.pos-sales-focus) .content-wrapper,
    body.pos-sales-page:not(.pos-sales-focus) .content-wrapper > .content,
    body.pos-sales-page:not(.pos-sales-focus) .content-wrapper > .content > .container-fluid {
        height: auto;
        max-height: none;
        overflow: visible;
    }
    .sale-pos-shell {
        min-height: auto;
        height: auto;
    }
    .sale-pos-body {
        min-height: auto;
        overflow: visible;
    }
    .sale-pos-top {
        top: 3.2rem;
        margin: -.75rem -.75rem 0;
        padding: .85rem .75rem .7rem;
    }
    .sale-pos-header {
        flex-direction: column;
        align-items: stretch;
    }
    .sale-cash-command {
        grid-template-columns: 1fr;
    }
    .sale-cash-command-header .sale-cash-command-main {
        flex-direction: column;
        align-items: flex-start;
    }
    .sale-cash-command-header .sale-cash-command-kpis {
        width: 100%;
    }
    .sale-cash-command-actions {
        justify-content: flex-start;
    }
    .sale-cash-close-guide {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .sale-pos-header-actions {
        width: 100%;
    }
    .sale-pos-header-actions .btn {
        flex: 1 1 180px;
    }
    .sale-trial-chip {
        flex: 1 1 100%;
        justify-content: center;
    }
    .sale-pos-header-main {
        width: 100%;
        justify-content: space-between;
    }
    .sale-product-shortcuts {
        width: 100%;
        flex-wrap: wrap;
    }
    .sale-pos-bottom {
        flex-direction: column;
        align-items: stretch;
    }
    .sale-pos-bottom-summary {
        flex-direction: column;
        align-items: stretch;
    }
    .sale-pos-bottom-counter {
        border-right: 0;
        border-bottom: 1px solid #dbe4f0;
        padding-right: 0;
        padding-bottom: .75rem;
        min-width: 0;
    }
    .sale-pos-charge-btn {
        width: 100%;
        min-width: 0;
    }
    .settings-ticket-preview-shell { min-height: 760px; overflow: hidden; }
    .settings-ticket-preview-frame { min-height: 720px; height: 720px; overflow: hidden; }
    .settings-lock-preview-metrics { grid-template-columns: 1fr; }
    .cash-opening-showcase, .cash-opening-form-wrap { padding: 1.4rem; }
    .sale-checkout-layout { grid-template-columns: 1fr; }
    .sale-checkout-method-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .sale-mixed-payment-panel { grid-template-columns: 1fr; }
    body.pos-sales-focus .content-wrapper > .content > .container-fluid {
        padding-left: .2rem;
        padding-right: .2rem;
    }
    body.pos-sales-focus .sale-pos-shell {
        height: calc(100vh - .4rem);
        min-height: calc(100vh - .4rem);
        border-radius: .75rem;
    }
    .sale-ticket-tabs-header {
        flex-direction: column;
        align-items: flex-start;
    }
    .inventory-hub-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .product-editor-tabs-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .product-editor-modal .modal-body {
        max-height: calc(100vh - 190px);
    }
    .inventory-export-toolbar {
        width: 100%;
    }
    .inventory-export-btn {
        flex: 1 1 calc(50% - .65rem);
        min-width: 0;
    }
    .reports-hub-hero {
        flex-direction: column;
    }
    .reports-catalog-header {
        flex-direction: column;
    }
    .reports-catalog-summary {
        justify-content: flex-start;
    }
    .reports-hub-sections {
        justify-content: flex-start;
        width: 100%;
    }
    .reports-hub-section-chip {
        min-width: 0;
        width: 100%;
    }
    .reports-kpi-grid {
        grid-template-columns: 1fr;
    }
    .sale-cart-table-wrap {
        min-height: 300px;
    }
    .sales-history-filter-grid .form-group,
    .sales-history-search-field,
    .sales-history-filter-actions {
        grid-column: span 6 !important;
    }
    .credits-ledger-filter-grid .credits-ledger-search-field,
    .credits-ledger-filter-grid .credits-ledger-credit-type-field,
    .credits-ledger-filter-grid .credits-ledger-branch-field,
    .credits-ledger-filter-grid .credits-ledger-actions {
        grid-column: auto !important;
    }
    .credits-ledger-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .credits-ledger-filter-grid .form-group:not(.d-none) {
        grid-column: auto !important;
    }
    .credits-ledger-filter-grid .credits-ledger-actions {
        grid-column: 1 / -1 !important;
    }
    .credits-ledger-kpi-row.sales-history-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sales-history-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sales-history-detail-info-grid {
        grid-template-columns: 1fr;
    }
    .sales-history-table-wrap { max-height: none; overflow: visible; }
    .products-page .products-table-shell.sales-history-table-wrap {
        max-height: min(70vh, calc(100vh - 160px));
        overflow: auto;
    }
    .sales-history-table { table-layout: auto; }
    .sales-history-hour-row {
        grid-template-columns: 1fr;
        gap: .4rem;
    }
    .sales-history-hour-meta {
        align-items: flex-start;
    }
    .dropdown-user-card {
        width: min(92vw, 340px);
    }
    .dropdown-user-card-info {
        flex-direction: column;
        gap: .25rem;
    }
    .dropdown-user-card-info strong {
        max-width: 100%;
        text-align: left;
    }
    .roles-permissions-toolbar {
        flex-direction: column;
    }
    .roles-permissions-actions {
        justify-content: flex-start;
    }
    .roles-permissions-search {
        min-width: min(100%, 260px);
    }
    .roles-permissions-accordion {
        max-height: 48vh;
    }
    .roles-wizard-editing-name strong {
        font-size: 1.08rem;
    }
    .roles-permissions-item-summary {
        grid-template-columns: 18px minmax(0, 1fr) auto;
        grid-template-areas:
            "chevron copy count"
            "chevron toggle toggle";
    }
    .roles-menu-permission-row .roles-permissions-item-summary,
    .roles-extra-permission-row .roles-permissions-item-summary {
        grid-template-columns: 18px 30px minmax(0, 1fr) auto;
        grid-template-areas:
            "chevron icon copy count"
            "chevron icon toggle toggle";
    }
    .roles-permissions-chevron { grid-area: chevron; }
    .roles-menu-permission-icon { grid-area: icon; }
    .roles-permissions-item-copy { grid-area: copy; }
    .roles-permissions-item-count { grid-area: count; justify-self: end; }
    .roles-permissions-item-summary .roles-row-toggle { grid-area: toggle; justify-self: start; }
    .roles-permissions-item-body {
        padding-left: .7rem;
    }
    .roles-menu-permission-row .roles-permissions-item-body,
    .roles-extra-permission-row .roles-permissions-item-body {
        padding-left: .7rem;
    }
    .roles-menu-permission-row.is-depth-1,
    .roles-menu-permission-row.is-depth-2,
    .roles-menu-permission-row.is-depth-3 {
        margin-left: 0;
    }
}
@media (max-width: 575.98px) {
    .sales-history-page-header h1 {
        font-size: 1.25rem;
    }
    .sales-history-filter-card .card-body {
        padding: .75rem;
    }
    .sales-history-filter-grid .form-group,
    .sales-history-search-field,
    .sales-history-filter-actions {
        grid-column: span 12 !important;
    }
    .credits-ledger-filter-grid .credits-ledger-search-field,
    .credits-ledger-filter-grid .credits-ledger-credit-type-field,
    .credits-ledger-filter-grid .credits-ledger-branch-field,
    .credits-ledger-filter-grid .credits-ledger-actions {
        grid-column: 1 / -1 !important;
    }
    .credits-ledger-filter-grid {
        grid-template-columns: 1fr;
    }
    .credits-ledger-filter-grid .form-group:not(.d-none) {
        grid-column: 1 / -1 !important;
    }
    .credits-ledger-kpi-row.sales-history-kpi-row {
        grid-template-columns: 1fr;
    }
    .sales-history-filter-actions {
        justify-content: stretch;
    }
    .sales-history-filter-actions .btn {
        width: 100%;
        height: 38px;
        min-height: 38px;
        max-height: 38px;
    }
    .sales-history-kpi-row {
        grid-template-columns: 1fr;
    }
    .credits-ledger-footer {
        align-items: flex-start;
        flex-direction: column;
    }
    .sales-history-detail-info-grid,
    .sales-history-detail-fields {
        grid-template-columns: 1fr;
    }
    .sales-history-print-body {
        height: 68vh;
    }
}
.bulk-sale-dialog {
    width: 70%;
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
}
.bulk-sale-modal {
    position: relative;
    border: 0;
    border-radius: 1.35rem;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .22);
}
.bulk-sale-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .55rem;
    padding: .75rem 2.6rem .4rem 1rem;
    border-bottom: 0;
}
.bulk-sale-header-copy {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    min-width: 0;
}
.bulk-sale-product-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #e8f1ff;
    color: #2563eb;
    font-size: 1.1rem;
}
.bulk-sale-header .modal-title {
    margin: 0;
    color: #163a66;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
}
.bulk-sale-subtitle {
    margin: .18rem 0 0;
    color: #64748b;
    font-size: .84rem;
    line-height: 1.3;
}
.bulk-sale-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 10;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 50%;
    background: #ef4444;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    line-height: 1;
    box-shadow: 0 8px 16px rgba(239, 68, 68, .28);
}
.bulk-sale-close:hover,
.bulk-sale-close:focus {
    background: #dc2626;
    color: #fff;
    outline: none;
}
.bulk-sale-body {
    padding: 0 1rem .35rem;
}
.bulk-sale-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
    margin-bottom: .45rem;
}
.bulk-sale-field label {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    margin-bottom: .16rem;
    color: #2563eb;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}
.bulk-sale-field label i {
    font-size: .78rem;
}
.bulk-sale-input-group {
    overflow: hidden;
    border: 1px solid #d7e2f0;
    border-radius: .85rem;
    background: #fff;
}
.bulk-sale-input-group .form-control,
.bulk-sale-input-group .input-group-text {
    height: 34px;
    border: 0;
    box-shadow: none;
    font-size: 1.05rem;
    font-weight: 700;
}
.bulk-sale-input-group .form-control {
    padding: 0 .5rem;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
}
.bulk-sale-input-group .form-control:focus {
    box-shadow: none;
}
.bulk-sale-input-group:focus-within {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}
.bulk-sale-unit-badge {
    min-width: 42px;
    padding-left: .4rem;
    padding-right: .4rem;
    justify-content: center;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: .7rem !important;
    font-weight: 800 !important;
    letter-spacing: .04em;
}
.bulk-sale-currency-badge {
    min-width: 38px;
    padding-left: .4rem;
    padding-right: .4rem;
    justify-content: center;
    background: #eef2f7;
    color: #334155;
    font-size: .75rem !important;
    font-weight: 800 !important;
}
.bulk-sale-hint {
    display: block;
    margin-top: .12rem;
    color: #94a3b8;
    font-size: .68rem;
}
.bulk-sale-price-card,
.bulk-sale-ticket-card {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .38rem;
    padding: .4rem .7rem;
    border-radius: 1rem;
}
.bulk-sale-price-card {
    background: #f3f8ff;
    border: 1px solid #cfe0fb;
}
.bulk-sale-ticket-card {
    background: #f3fbf4;
    border: 1px solid #c9ebd2;
}
.bulk-sale-card-icon {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .88rem;
}
.bulk-sale-card-icon.is-blue {
    background: #dbeafe;
    color: #2563eb;
}
.bulk-sale-card-icon.is-green {
    background: #dcfce7;
    color: #16a34a;
}
.bulk-sale-price-copy,
.bulk-sale-ticket-copy {
    min-width: 0;
    flex: 1 1 auto;
}
.bulk-sale-price-copy > span,
.bulk-sale-ticket-copy > span {
    display: block;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.bulk-sale-price-copy > span {
    color: #2563eb;
}
.bulk-sale-ticket-copy > span {
    color: #16a34a;
}
.bulk-sale-price-copy strong,
.bulk-sale-ticket-copy strong {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem .55rem;
    margin-top: .04rem;
    line-height: 1.2;
}
.bulk-sale-price-copy em {
    font-style: normal;
    color: #163a66;
    font-size: 1.18rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
.bulk-sale-price-copy small {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 .55rem;
    border-radius: 999px;
    background: #1d4ed8;
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: none;
}
.bulk-sale-ticket-copy em {
    font-style: normal;
    color: #166534;
    font-size: .95rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    white-space: normal;
}
.bulk-sale-ticket-copy b {
    color: #15803d;
    font-size: 1.12rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.bulk-sale-ticket-card.is-empty .bulk-sale-ticket-copy em,
.bulk-sale-ticket-card.is-empty .bulk-sale-ticket-copy b {
    color: #86a392;
}
.bulk-sale-info {
    display: flex;
    align-items: flex-start;
    gap: .4rem;
    padding: .32rem .6rem;
    border-radius: .8rem;
    background: #eef5ff;
    color: #1e40af;
    font-size: .76rem;
    line-height: 1.3;
}
.bulk-sale-info i {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin-top: .06rem;
    border-radius: 50%;
    background: #2563eb;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .62rem;
}
.bulk-sale-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .35rem;
    padding: .15rem 1rem .7rem;
    border-top: 0;
}
.bulk-sale-cancel,
.bulk-sale-confirm {
    width: auto;
    flex: 0 0 auto;
    min-height: 32px;
    font-size: .8rem;
}
.bulk-sale-cancel i,
.bulk-sale-confirm i {
    font-size: .72rem;
}
.bulk-sale-cancel {
    padding: 0 .65rem;
    border: 1px solid #d7e2f0;
    border-radius: .75rem;
    background: #fff;
    color: #334155;
    font-weight: 700;
}
.bulk-sale-cancel:hover {
    background: #f8fafc;
    color: #0f172a;
}
.bulk-sale-confirm {
    padding: 0 .75rem;
    border-radius: .75rem;
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
    font-weight: 800;
    box-shadow: 0 10px 18px rgba(37, 99, 235, .22);
}
.bulk-sale-confirm:hover,
.bulk-sale-confirm:focus {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #fff;
}
@media (max-width: 575.98px) {
    .bulk-sale-dialog {
        width: calc(100% - 1.3rem);
        max-width: none;
        margin: .65rem auto;
    }
    .bulk-sale-header,
    .bulk-sale-body,
    .bulk-sale-footer {
        padding-left: .85rem;
        padding-right: .85rem;
    }
    .bulk-sale-header {
        padding-right: 2.4rem;
    }
    .bulk-sale-header .modal-title {
        font-size: 1.1rem;
    }
    .bulk-sale-fields {
        grid-template-columns: 1fr;
    }
    .bulk-sale-footer {
        justify-content: flex-end;
    }
    .bulk-sale-ticket-copy em {
        white-space: normal;
    }
}

.sunat-document-modal-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 20px 22px;
    border-radius: 22px;
    background: linear-gradient(135deg, #f8fbff 0%, #eef4ff 100%);
    border: 1px solid #dbe4f0;
    margin-bottom: 18px;
}

.sunat-document-modal-hero-compact {
    padding: 16px 18px;
    margin-bottom: 14px;
}

.sunat-document-modal-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #0f172a;
}

.sunat-document-modal-summary {
    min-width: 180px;
    padding: 16px 18px;
    border-radius: 18px;
    background: linear-gradient(180deg, #0f172a 0%, #1d4ed8 100%);
    color: #fff;
    text-align: center;
    box-shadow: 0 18px 36px rgba(29, 78, 216, 0.16);
}

.sunat-document-modal-summary span {
    display: block;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    opacity: .85;
    margin-bottom: 8px;
}

.sunat-document-modal-summary strong {
    font-size: 1.6rem;
    font-weight: 800;
}

.sunat-document-actions-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.sunat-document-actions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.sunat-document-action-btn {
    width: 100%;
    border: 1px solid #dbe4f0;
    border-radius: 20px;
    background: #fff;
    padding: 18px 18px 16px;
    text-align: left;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    color: #0f172a;
}

.sunat-document-action-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 18px 30px rgba(15, 23, 42, 0.08);
    border-color: #93c5fd;
}

.sunat-document-action-btn:disabled,
.sunat-document-action-btn.disabled {
    opacity: .55;
    cursor: not-allowed;
    box-shadow: none;
}

.sunat-document-action-btn i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 1rem;
    margin-bottom: 12px;
}

.sunat-document-action-btn strong {
    display: block;
    font-size: 1rem;
    font-weight: 800;
    margin-bottom: 6px;
}

.sunat-document-action-btn span {
    display: block;
    font-size: .9rem;
    line-height: 1.5;
    color: #64748b;
}

.sunat-document-action-btn-compact {
    padding: 14px 10px 12px;
    text-align: center;
    border-radius: 18px;
}

.sunat-document-action-btn-compact i {
    margin-bottom: 8px;
    width: 38px;
    height: 38px;
    border-radius: 12px;
}

.sunat-document-action-btn-compact strong {
    margin-bottom: 0;
    font-size: .92rem;
}

.sunat-document-action-btn-compact span {
    display: none;
}

.sunat-document-mail-card {
    padding: 18px 20px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid #dbe4f0;
}

.sunat-document-mail-card-compact {
    padding: 16px;
    border-radius: 18px;
}

.sunat-document-email-dialog {
    max-width: 640px;
}

.sunat-document-email-modal {
    border-radius: 26px;
    overflow: hidden;
}

.sunat-document-email-modal .modal-header {
    padding: 1.25rem 1.4rem .4rem;
}

.sunat-document-email-modal .modal-body {
    padding: 0 1.4rem 1rem;
}

.sunat-document-email-modal .modal-footer {
    padding: .35rem 1.4rem 1.3rem;
}

.sunat-document-email-panel {
    border: 1px solid #dbe4f0;
    border-radius: 22px;
    background: linear-gradient(180deg, #fbfdff 0%, #f7faff 100%);
    padding: 18px 18px 16px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.sunat-document-email-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 14px;
}

.sunat-document-email-summary-copy {
    min-width: 0;
}

.sunat-document-email-summary-label {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 6px;
}

.sunat-document-email-summary-copy strong {
    display: block;
    font-size: 1.45rem;
    line-height: 1.15;
    font-weight: 800;
    color: #0f172a;
    word-break: break-word;
}

.sunat-document-email-field label {
    font-size: .92rem;
    font-weight: 700;
    color: #334155;
    margin-bottom: .45rem;
}

.sunat-document-email-field .form-control {
    height: 50px;
    border-radius: 14px;
    font-size: 1rem;
    padding: .75rem .95rem;
}

.sunat-document-mail-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 16px;
}

.sunat-document-mail-head-compact {
    align-items: center;
    margin-bottom: 12px;
}

.sunat-document-mail-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .85rem;
    font-weight: 700;
}

.license-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.license-assistant-panel {
    padding: 22px 24px;
    border-radius: 24px;
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 52%, #f8fafc 100%);
    border: 1px solid #dbeafe;
    box-shadow: 0 18px 38px rgba(37, 99, 235, 0.08);
}

.license-assistant-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}

.license-assistant-kicker {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.license-assistant-head h3 {
    margin: 0 0 6px;
    font-size: 1.55rem;
    font-weight: 800;
    color: #0f172a;
}

.license-assistant-head p {
    margin: 0;
    max-width: 720px;
    color: #475569;
}

.license-assistant-summary {
    min-width: 210px;
    padding: 16px 18px;
    border-radius: 18px;
    background: #0f172a;
    color: #fff;
}

.license-assistant-summary span {
    display: block;
    font-size: .74rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    opacity: .78;
    margin-bottom: 8px;
}

.license-assistant-summary strong {
    display: block;
    font-size: 1.18rem;
    line-height: 1.3;
}

.license-assistant-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.license-assistant-step {
    position: relative;
    display: flex;
    gap: 14px;
    padding: 18px;
    border-radius: 20px;
    border: 1px solid #dbeafe;
    background: rgba(255, 255, 255, 0.92);
    min-height: 190px;
}

.license-assistant-step.is-active {
    border-color: #60a5fa;
    box-shadow: 0 14px 26px rgba(37, 99, 235, 0.10);
}

.license-assistant-step.is-complete {
    border-color: #86efac;
    background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%);
}

.license-assistant-step-badge {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #dbeafe;
    color: #1d4ed8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    flex-shrink: 0;
}

.license-assistant-step.is-complete .license-assistant-step-badge {
    background: #16a34a;
    color: #fff;
}

.license-assistant-step-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.license-assistant-step-body strong {
    font-size: 1rem;
    color: #0f172a;
}

.license-assistant-step-body p {
    margin: 0;
    color: #475569;
    font-size: .92rem;
    line-height: 1.55;
    flex: 1;
}

.license-kpi-card {
    padding: 18px 20px;
    border-radius: 20px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
    border: 1px solid #d7e5ff;
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.06);
}

.license-kpi-card span {
    display: block;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #4b5563;
    margin-bottom: 8px;
}

.license-kpi-card strong {
    display: block;
    font-size: 2rem;
    line-height: 1;
    color: #0f172a;
}

.license-kpi-card-success {
    background: linear-gradient(180deg, #f0fdf4 0%, #dcfce7 100%);
    border-color: #bbf7d0;
}

.license-kpi-card-warning {
    background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
    border-color: #fde68a;
}

.license-kpi-card-danger {
    background: linear-gradient(180deg, #fff1f2 0%, #ffe4e6 100%);
    border-color: #fecdd3;
}

.license-module-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
}

.license-module-option {
    margin: 0;
    padding: .55rem .65rem;
    border-radius: 6px;
    border: 1px solid #d9e2ef;
    background: #f8fafc;
    display: flex;
    align-items: center;
    gap: .48rem;
    min-height: 36px;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease;
}

.license-module-option:hover {
    border-color: #93c5fd;
    background: #eff6ff;
}

.license-module-option input {
    width: 14px;
    height: 14px;
    margin: 0;
}

.license-module-option span {
    font-weight: 800;
    color: #334155;
    font-size: .76rem;
}

.license-followup-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.license-alert-panel,
.license-followup-panel {
    padding: 22px 24px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid #dbe7fb;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.06);
}

.license-followup-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.license-followup-head h4 {
    margin: 4px 0 6px;
    font-size: 1.18rem;
    font-weight: 800;
    color: #0f172a;
}

.license-followup-head p {
    margin: 0;
    color: #475569;
    font-size: .92rem;
}

.license-followup-kicker {
    display: inline-flex;
    align-items: center;
    padding: 5px 11px;
    border-radius: 999px;
    background: #e0ecff;
    color: #1d4ed8;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.license-alert-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.license-alert-card {
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid #d7e5ff;
    background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
}

.license-alert-card span {
    display: block;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #475569;
    margin-bottom: 10px;
}

.license-alert-card strong {
    display: block;
    font-size: 1.8rem;
    line-height: 1;
    color: #0f172a;
    margin-bottom: 8px;
}

.license-alert-card small {
    display: block;
    color: #64748b;
    line-height: 1.45;
}

.license-alert-card.is-danger {
    background: linear-gradient(180deg, #fff1f2 0%, #ffe4e6 100%);
    border-color: #fecdd3;
}

.license-alert-card.is-danger-soft {
    background: linear-gradient(180deg, #fff7ed 0%, #ffedd5 100%);
    border-color: #fdba74;
}

.license-alert-card.is-warning,
.license-alert-card.is-warning-soft {
    background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
    border-color: #fde68a;
}

.license-alert-card.is-info {
    background: linear-gradient(180deg, #ecfeff 0%, #cffafe 100%);
    border-color: #a5f3fc;
}

.license-followup-table thead th {
    border-top: 0;
    font-size: .77rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #fff;
    background: #1b365d;
}

.license-followup-table tbody td {
    vertical-align: middle;
    padding: 12px 10px;
    border-color: #e5eefc;
}

.license-followup-table tbody td strong,
.license-followup-table tbody td small {
    display: block;
}

.license-followup-table tbody td small {
    margin-top: 4px;
    color: #64748b;
}

.license-followup-table tbody tr.is-danger {
    background: #fff7f7;
}

.license-followup-table tbody tr.is-warning {
    background: #fffdf2;
}

.license-followup-table tbody tr.is-info {
    background: #f7fbff;
}

.license-followup-empty {
    min-height: 180px;
    border-radius: 20px;
    border: 1px dashed #cbd5e1;
    background: linear-gradient(180deg, #fbfdff 0%, #f8fafc 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    text-align: left;
    padding: 24px;
    color: #475569;
}

.license-followup-empty i {
    font-size: 1.8rem;
    color: #16a34a;
}

.license-followup-empty strong {
    display: block;
    color: #0f172a;
    margin-bottom: 4px;
}

.license-followup-empty p {
    margin: 0;
}

.license-history-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    padding: 18px 20px;
    border-radius: 22px;
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 55%, #f8fafc 100%);
    border: 1px solid #dbeafe;
    margin-bottom: 18px;
}

.license-history-kicker {
    display: inline-flex;
    padding: 5px 10px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.license-history-hero h4 {
    margin: 0 0 6px;
    font-size: 1.35rem;
    font-weight: 800;
    color: #0f172a;
}

.license-history-hero p {
    margin: 0;
    color: #475569;
}

.license-history-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    min-width: 280px;
}

.license-history-stat {
    padding: 14px 16px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #dbe7fb;
}

.license-history-stat span {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 8px;
}

.license-history-stat strong {
    display: block;
    color: #0f172a;
    font-size: 1.08rem;
}

.license-history-state {
    margin-bottom: 16px;
}

.license-history-status-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    padding: 12px 14px;
    border-radius: 16px;
    background: #f8fbff;
    border: 1px solid #e2e8f0;
    color: #334155;
}

.license-history-timeline {
    display: grid;
    gap: 12px;
}

.license-history-item {
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid #dbe7fb;
    background: #fff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.04);
}

.license-history-item-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.license-history-date {
    font-size: .82rem;
    color: #64748b;
    font-weight: 600;
}

.license-history-title {
    display: block;
    font-size: 1rem;
    color: #0f172a;
    margin-bottom: 6px;
}

.license-history-description {
    margin: 0 0 10px;
    color: #475569;
    line-height: 1.55;
}

.license-history-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    color: #64748b;
    font-size: .85rem;
}

.license-history-empty {
    min-height: 180px;
    border-radius: 20px;
    border: 1px dashed #cbd5e1;
    background: linear-gradient(180deg, #fbfdff 0%, #f8fafc 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    text-align: left;
    padding: 24px;
    color: #475569;
}

.license-history-empty i {
    font-size: 1.7rem;
    color: #1d4ed8;
}

.license-history-empty strong {
    display: block;
    color: #0f172a;
    margin-bottom: 4px;
}

.license-history-empty p {
    margin: 0;
}

.license-reminder-layout {
    display: grid;
    grid-template-columns: minmax(320px, .92fr) minmax(0, 1.08fr);
    gap: 18px;
    align-items: start;
}

.license-reminder-panel,
.license-reminder-list-panel {
    padding: 22px 24px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid #dbe7fb;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.06);
}

.license-reminder-kpis {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.license-reminder-kpi {
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid #d7e5ff;
    background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
}

.license-reminder-kpi span {
    display: block;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 10px;
}

.license-reminder-kpi strong {
    display: block;
    font-size: 1.55rem;
    line-height: 1;
    color: #0f172a;
}

.license-reminder-kpi.is-warning {
    background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
    border-color: #fde68a;
}

.license-reminder-kpi.is-danger {
    background: linear-gradient(180deg, #fff1f2 0%, #ffe4e6 100%);
    border-color: #fecdd3;
}

.license-reminder-kpi.is-info {
    background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
    border-color: #93c5fd;
}

.license-reminder-kpi.is-success {
    background: linear-gradient(180deg, #f0fdf4 0%, #dcfce7 100%);
    border-color: #bbf7d0;
}

.license-reminder-list {
    display: grid;
    gap: 12px;
}

.license-reminder-item {
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid #dbe7fb;
    background: #fff;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.04);
}

.license-reminder-item.is-warning {
    border-color: #fde68a;
    background: #fffdf2;
}

.license-reminder-item.is-danger {
    border-color: #fecdd3;
    background: #fff7f7;
}

.license-reminder-item-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 8px;
}

.license-reminder-item-head strong,
.license-reminder-item-head small {
    display: block;
}

.license-reminder-item-head small {
    margin-top: 4px;
    color: #64748b;
}

.license-reminder-item p {
    margin: 0 0 10px;
    color: #475569;
    line-height: 1.5;
}

.license-reminder-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    color: #64748b;
    font-size: .85rem;
}

.license-reminder-item-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.license-reminder-empty {
    min-height: 200px;
    border-radius: 20px;
    border: 1px dashed #cbd5e1;
    background: linear-gradient(180deg, #fbfdff 0%, #f8fafc 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    text-align: left;
    padding: 24px;
    color: #475569;
}

.license-reminder-empty i {
    font-size: 1.8rem;
    color: #1d4ed8;
}

.license-reminder-empty strong {
    display: block;
    color: #0f172a;
    margin-bottom: 4px;
}

.license-reminder-empty p {
    margin: 0;
}

.license-reminder-target {
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid #dbe7fb;
    background: #f8fbff;
    margin-bottom: 16px;
}

.license-reminder-target strong,
.license-reminder-target small {
    display: block;
}

.license-reminder-target small {
    margin-top: 4px;
    color: #64748b;
}

.license-plans-panel {
    padding: 22px 24px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid #dbe7fb;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.06);
}

.license-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.license-plan-card {
    padding: 18px;
    border-radius: 20px;
    border: 1px solid #dbe7fb;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.04);
}

.license-plan-card-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 12px;
}

.license-plan-code {
    display: inline-flex;
    padding: 5px 10px;
    border-radius: 999px;
    background: #e0ecff;
    color: #1d4ed8;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.license-plan-card h5 {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 800;
    color: #0f172a;
}

.license-plan-price {
    font-size: 2rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1;
    margin-bottom: 12px;
}

.license-plan-meta {
    display: grid;
    gap: 6px;
    color: #475569;
    font-size: .9rem;
    margin-bottom: 12px;
}

.license-plan-modules {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 14px;
}

.license-plan-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    color: #64748b;
    font-size: .85rem;
}

.commercial-plans-page {
    display: grid;
    gap: 18px;
}

.commercial-plan-card,
.commercial-plan-detail {
    border: 1px solid #dbe7fb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
}

.commercial-plans-toolbar {
    margin-bottom: 0;
}

.commercial-plan-filter-field label {
    display: block;
    margin-bottom: 6px;
    color: #0f172a;
    font-size: .72rem;
    font-weight: 900;
}

.commercial-plan-filter-field div,
.commercial-plan-filter-field select {
    width: 100%;
    height: 40px;
    border: 1px solid #cfe0f5;
    border-radius: 6px;
    background: #fff;
}

.commercial-plan-filter-field div {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
}

.commercial-plan-filter-field i {
    color: #64748b;
}

.commercial-plan-filter-field input,
.commercial-plan-filter-field select {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 800;
    outline: none;
}

.commercial-plan-filter-field input {
    width: 100%;
    border: 0;
}

.commercial-plan-filter-field select {
    padding: 0 12px;
}

.commercial-plan-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
}

.commercial-plans-filter-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr));
}

.commercial-plan-filter-spacer {
    grid-column: span 5 !important;
}

.commercial-plan-clear,
.commercial-plan-new {
    width: 100%;
}

.commercial-plan-mini-icon,
.commercial-plan-detail-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.commercial-plan-mini-icon.is-blue,
.commercial-plan-detail-icon.is-blue { background: #0d6efd; }
.commercial-plan-mini-icon.is-green,
.commercial-plan-detail-icon.is-green { background: #10b981; }
.commercial-plan-mini-icon.is-purple,
.commercial-plan-detail-icon.is-purple { background: #8b5cf6; }
.commercial-plan-mini-icon.is-orange,
.commercial-plan-detail-icon.is-orange { background: #f97316; }
.commercial-plan-mini-icon.is-slate,
.commercial-plan-detail-icon.is-slate { background: #64748b; }
.commercial-plan-mini-icon.is-pink,
.commercial-plan-detail-icon.is-pink { background: #fb7185; }

.commercial-plans-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, .95fr);
    gap: 18px;
    align-items: start;
}

.commercial-plan-card,
.commercial-plan-detail {
    overflow: hidden;
}

.commercial-plan-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid #e6eef8;
}

.commercial-plan-card-head h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 900;
}

.commercial-plan-card-head p {
    margin: 3px 0 0;
    color: #64748b;
    font-size: .82rem;
}

.commercial-plan-table-wrap,
.commercial-plan-compare-wrap {
    overflow-x: auto;
}

.commercial-plan-table,
.commercial-plan-compare-table {
    width: 100%;
    border-collapse: collapse;
}

.commercial-plan-table th,
.commercial-plan-table td,
.commercial-plan-compare-table th,
.commercial-plan-compare-table td {
    padding: 12px 14px;
    border-bottom: 1px solid #e6eef8;
    color: #0f172a;
    vertical-align: middle;
}

.commercial-plan-table th,
.commercial-plan-compare-table th {
    background: #f8fbff;
    font-size: .72rem;
    font-weight: 900;
}

.commercial-plan-row {
    cursor: pointer;
}

.commercial-plan-row.is-selected,
.commercial-plan-row:hover {
    background: #f8fbff;
}

.commercial-plan-name {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 190px;
}

.commercial-plan-mini-icon {
    width: 38px;
    height: 38px;
    border-radius: 7px;
    color: #fff;
}

.commercial-plan-name strong,
.commercial-plan-name small,
.commercial-plan-table td small {
    display: block;
}

.commercial-plan-name strong {
    font-weight: 900;
}

.commercial-plan-name small,
.commercial-plan-table td small {
    color: #64748b;
    font-weight: 700;
}

.commercial-plan-limits {
    display: grid;
    gap: 4px;
    min-width: 170px;
}

.commercial-plan-limits span {
    color: #0f172a;
    font-size: .78rem;
    font-weight: 700;
}

.commercial-plan-limits i {
    margin-right: 6px;
    color: #10b981;
}

.commercial-plan-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    border-radius: 999px;
    padding: 2px 9px;
    font-size: .68rem;
    font-weight: 900;
}

.commercial-plan-status.is-active {
    color: #059669;
    background: #dcfce7;
}

.commercial-plan-status.is-inactive {
    color: #64748b;
    background: #f1f5f9;
}

.commercial-plan-actions {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.commercial-plan-actions button {
    width: 28px;
    height: 28px;
    border: 1px solid #dbe7fb;
    border-radius: 7px;
    color: #0d6efd;
    background: #fff;
}

.commercial-plan-actions .btn-delete-plan {
    color: #ef4444;
}

.commercial-plan-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    color: #64748b;
    font-size: .82rem;
}

.commercial-plan-pagination div {
    display: inline-flex;
    gap: 7px;
}

.commercial-plan-pagination button {
    min-width: 32px;
    height: 32px;
    border: 1px solid #dbe7fb;
    border-radius: 7px;
    background: #fff;
    color: #0f172a;
    font-weight: 800;
}

.commercial-plan-pagination button.active {
    color: #fff;
    background: #0d6efd;
    border-color: #0d6efd;
}

.commercial-plan-detail {
    padding: 18px;
}

.commercial-plan-detail-top {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 18px;
}

.commercial-plan-detail-main {
    display: flex;
    gap: 14px;
}

.commercial-plan-detail-icon {
    width: 58px;
    height: 58px;
    border-radius: 9px;
    color: #fff;
    font-size: 1.5rem;
}

.commercial-plan-detail h3 {
    margin: 0 0 4px;
    color: #0f172a;
    font-size: 1.2rem;
    font-weight: 900;
}

.commercial-plan-detail p {
    margin: 0;
    color: #64748b;
    line-height: 1.5;
}

.commercial-plan-detail-price {
    margin-top: 12px;
    color: #0d6efd;
    font-size: 1.35rem;
    font-weight: 900;
}

.commercial-plan-detail-price span {
    color: #0f172a;
    font-size: .9rem;
    font-weight: 800;
}

.commercial-plan-detail-section {
    padding-top: 16px;
    margin-top: 16px;
    border-top: 1px solid #e6eef8;
}

.commercial-plan-detail-section h4 {
    margin: 0 0 12px;
    color: #0f172a;
    font-size: .9rem;
    font-weight: 900;
}

.commercial-plan-feature-list {
    display: grid;
    gap: 9px;
}

.commercial-plan-feature-list span {
    color: #0f172a;
    font-size: .84rem;
    font-weight: 700;
}

.commercial-plan-feature-list i {
    margin-right: 8px;
    color: #10b981;
}

.commercial-plan-info-list {
    display: grid;
    gap: 10px;
}

.commercial-plan-info-list div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #64748b;
    font-size: .84rem;
}

.commercial-plan-info-list strong {
    color: #0f172a;
    text-align: right;
}

.commercial-plan-detail-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 18px;
}

.commercial-plan-compare-table th:first-child,
.commercial-plan-compare-table td:first-child {
    min-width: 170px;
    font-weight: 900;
}

.commercial-plan-compare-table th i {
    margin-right: 8px;
    color: #0d6efd;
}

.licenses-design-page {
    gap: .9rem;
}

.licenses-design-kpis {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.licenses-design-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: .9rem;
    align-items: start;
}

.licenses-design-list-card .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.licenses-design-list-card .card-header .btn {
    margin-left: auto;
}

.licenses-design-list-card .card-body {
    padding: .55rem .65rem;
}

.licenses-design-filter-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr));
    margin-bottom: .55rem;
}

.licenses-design-filter-grid .sales-history-search-field {
    grid-column: span 3 !important;
}

.licenses-design-filter-grid .sales-history-filter-actions {
    grid-column: span 1 !important;
}

.licenses-design-table tbody tr {
    cursor: pointer;
}

.licenses-design-table tbody tr.is-selected,
.licenses-design-table tbody tr:hover {
    background: #f8fafc;
}

.license-design-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    padding: .65rem .15rem .1rem;
    color: #64748b;
    font-size: .78rem;
}

.license-design-pagination div {
    display: inline-flex;
    gap: .35rem;
}

.license-design-pagination button {
    min-width: 30px;
    height: 30px;
    border: 1px solid #dbeafe;
    border-radius: 4px;
    background: #fff;
    color: #2563eb;
    font-weight: 800;
}

.license-design-pagination button.active {
    color: #fff;
    background: #2563eb;
    border-color: #2563eb;
}

.license-design-detail {
    padding-bottom: .75rem;
}

.license-design-detail-head {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
    padding: .85rem 1rem .65rem;
    border-bottom: 1px solid #e5eaf1;
}

.license-design-detail-icon {
    width: 46px;
    height: 46px;
    border-radius: 7px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    color: #fff;
    background: #0d6efd;
    font-size: 1.15rem;
}

.license-design-detail-head h3 {
    margin: 0;
    color: #0f172a;
    font-size: .95rem;
    font-weight: 900;
}

.license-design-detail-head .badge {
    margin-top: .25rem;
}

.license-design-detail-section {
    padding: .75rem 1rem 0;
}

.license-design-detail-section h4 {
    margin: 0 0 .55rem;
    color: #111827;
    font-size: .82rem;
    font-weight: 900;
}

.license-design-info-list {
    display: grid;
    gap: .42rem;
}

.license-design-info-list div {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    color: #64748b;
    font-size: .76rem;
}

.license-design-info-list strong {
    color: #111827;
    text-align: right;
}

.license-design-usage {
    height: 7px;
    border-radius: 999px;
    background: #e5e7eb;
    overflow: hidden;
}

.license-design-usage span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #0d6efd;
}

.license-design-history {
    display: grid;
    gap: .5rem;
}

.license-design-history-row {
    display: grid;
    grid-template-columns: 8px minmax(0, 1fr);
    gap: .55rem;
    color: #64748b;
    font-size: .72rem;
}

.license-design-history-row i {
    width: 8px;
    height: 8px;
    margin-top: .25rem;
    border-radius: 50%;
    background: #22c55e;
}

.license-design-detail-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
    padding: .75rem 1rem 0;
}

.license-billing-page {
    gap: .85rem;
}

.license-billing-kpis {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.license-billing-layout {
    display: block;
}

.license-billing-list-card .card-body {
    padding: .75rem;
}

.license-billing-filter-grid {
    grid-template-columns: minmax(220px, 2fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(170px, 1fr) auto auto;
    align-items: end;
    margin-bottom: .75rem;
}

.license-billing-table td strong,
.license-billing-table td small {
    display: block;
}

.license-billing-table td small {
    margin-top: .18rem;
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}

.license-billing-row {
    cursor: pointer;
}

.license-billing-row.is-selected {
    background: #f8fbff;
}

.license-billing-info-list {
    display: grid;
    gap: .48rem;
}

.license-billing-info-list div {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: .55rem;
}

.license-billing-info-list span {
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
}

.license-billing-info-list strong {
    color: #111827;
    font-size: .76rem;
    font-weight: 900;
    text-align: right;
}

.license-billing-lower {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: .85rem;
}

.license-billing-chart-card,
.license-billing-status-card {
    padding-bottom: .85rem;
}

.license-billing-bars {
    height: 190px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: end;
    gap: .75rem;
    padding: .8rem 1rem 0;
    border-top: 1px solid #edf1f6;
}

.license-billing-bars div {
    height: 150px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: .18rem;
    position: relative;
}

.license-billing-bars span,
.license-billing-bars i,
.license-billing-bars b {
    display: block;
    min-height: 8px;
    border-radius: 4px 4px 0 0;
}

.license-billing-bars span {
    background: #7c3aed;
}

.license-billing-bars i {
    background: #16a34a;
}

.license-billing-bars b {
    background: #ef4444;
}

.license-billing-bars small {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1.25rem;
    text-align: center;
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
}

.license-billing-status-summary {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: .9rem 1rem 0;
    border-top: 1px solid #edf1f6;
}

.license-billing-donut {
    width: 132px;
    height: 132px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    align-content: center;
    background: conic-gradient(#16a34a 0 50%, #0d6efd 50% 82%, #ef4444 82% 100%);
    position: relative;
    color: #0f172a;
    margin: 0 auto;
}

.license-billing-donut::before {
    content: "";
    position: absolute;
    inset: 24px;
    border-radius: 50%;
    background: #fff;
}

.license-billing-donut strong,
.license-billing-donut span {
    position: relative;
    z-index: 1;
}

.license-billing-donut strong {
    font-size: 1.25rem;
    font-weight: 900;
}

.license-billing-donut span {
    color: #64748b;
    font-size: .7rem;
    font-weight: 800;
}

.license-billing-legend {
    display: grid;
    gap: .65rem;
}

.license-billing-legend div {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    align-items: center;
    gap: .45rem;
    color: #334155;
    font-size: .76rem;
    font-weight: 800;
}

.license-billing-legend i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.license-report-page {
    gap: .85rem;
}

.license-report-filter-card .card-body {
    padding: .72rem .75rem;
}

.license-report-filter-grid {
    grid-template-columns: minmax(140px, .9fr) minmax(140px, .9fr) minmax(180px, 1.1fr) minmax(150px, .9fr) auto auto;
    align-items: end;
}

.license-report-excel-btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 800;
}

.license-report-kpis {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.license-report-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: .85rem;
    align-items: start;
}

.license-report-left {
    display: grid;
    gap: .85rem;
}

.license-report-charts {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: .85rem;
}

.license-report-chart-card {
    padding-bottom: .85rem;
}

.license-report-table-card .card-header {
    padding: .75rem .9rem;
}

.license-report-table-card .card-body {
    padding: 0 .75rem .75rem;
}

.license-report-table td {
    vertical-align: middle;
}

.license-report-sidebar {
    display: grid;
    gap: .85rem;
}

.license-report-sidebar .cash-flow-panel {
    padding-bottom: .85rem;
}

.license-report-summary-list {
    display: grid;
    gap: .55rem;
    padding: .2rem 1rem 0;
}

.license-report-summary-list div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid #edf1f6;
}

.license-report-summary-list span,
.license-report-methods span {
    color: #64748b;
    font-size: .74rem;
    font-weight: 800;
}

.license-report-summary-list strong,
.license-report-methods strong {
    color: #111827;
    font-size: .78rem;
    font-weight: 900;
}

.license-report-methods {
    display: grid;
    gap: .68rem;
    padding: .2rem 1rem 0;
}

.license-report-methods div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 90px auto;
    gap: .5rem;
    align-items: center;
    padding-bottom: .5rem;
    border-bottom: 1px solid #edf1f6;
}

.license-report-methods b {
    height: 6px;
    overflow: hidden;
    border-radius: 99px;
    background: #e5eaf1;
}

.license-report-methods i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #7c3aed;
}

.license-report-top-list {
    display: grid;
    gap: .58rem;
    padding: .2rem 1rem 0;
}

.license-report-summary-list div:last-child,
.license-report-methods div:last-child,
.license-report-top-list div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.license-report-top-list div {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    gap: .5rem;
    align-items: center;
    color: #334155;
    font-size: .76rem;
    font-weight: 800;
    padding-bottom: .5rem;
    border-bottom: 1px solid #edf1f6;
}

.license-report-top-list span {
    color: #64748b;
}

.license-report-top-list strong {
    color: #0d6efd;
}

.license-report-top-list em {
    color: #111827;
    font-style: normal;
    font-weight: 900;
}

.license-report-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
    gap: .65rem;
}

.license-report-actions .btn {
    min-height: 44px;
    border-radius: 4px;
    font-size: .74rem;
    font-weight: 800;
}

.plan-wizard-dialog { max-width: 820px; }

.plan-wizard-modal {
    border: 0;
    border-radius: 8px;
    overflow: hidden;
    max-height: calc(100vh - 40px);
}

.plan-wizard-header {
    min-height: 48px;
    align-items: center;
    padding: 10px 14px;
    border-bottom: 1px solid #e6eef8;
}

.plan-wizard-header h5 {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
}

.plan-wizard-body {
    padding: 0;
    overflow: hidden;
}

.plan-wizard-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    padding: 10px 14px;
    border-bottom: 1px solid #e6eef8;
    background: #fff;
}

.plan-wizard-steps button {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    column-gap: 8px;
    align-items: center;
    border: 0;
    background: transparent;
    text-align: left;
    color: #64748b;
}

.plan-wizard-steps span {
    grid-row: span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    font-size: .72rem;
    border-radius: 999px;
    background: #e8eef7;
    color: #64748b;
    font-weight: 900;
}

.plan-wizard-steps strong,
.plan-wizard-steps small {
    display: block;
}

.plan-wizard-steps strong {
    color: #0f172a;
    font-size: .7rem;
    font-weight: 900;
}

.plan-wizard-steps small {
    display: none;
}

.plan-wizard-steps button.active span,
.plan-wizard-steps button.completed span {
    color: #fff;
    background: #0d6efd;
}

.plan-wizard-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    height: min(360px, calc(100vh - 190px));
    min-height: 320px;
}

.plan-wizard-main {
    padding: 14px;
    border-right: 1px solid #e6eef8;
    overflow-y: auto;
}

.plan-wizard-step {
    display: none;
}

.plan-wizard-step.active {
    display: block;
}

.plan-wizard-section-title {
    margin-bottom: 10px;
    color: #0f172a;
    font-size: .86rem;
    font-weight: 900;
}

.plan-wizard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.plan-wizard-grid .form-group label,
.plan-wizard-limit-grid label span {
    color: #0f172a;
    font-size: .76rem;
    font-weight: 900;
}

.plan-wizard-grid .form-group label span {
    color: #ef4444;
}

.plan-wizard-grid .form-control,
.plan-wizard-limit-grid .form-control {
    min-height: 34px;
    border-color: #cfe0f5;
    border-radius: 7px;
    font-weight: 700;
}

.plan-wizard-limit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.plan-wizard-limit-grid label {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 5px 10px;
    align-items: center;
    margin: 0;
    padding: 9px;
    border: 1px solid #dbe7fb;
    border-radius: 8px;
    background: #fff;
}

.plan-wizard-limit-grid label i {
    grid-row: span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 7px;
    color: #0d6efd;
    background: #eff6ff;
}

.plan-wizard-module-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.plan-wizard-module {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 3px 10px;
    align-items: center;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid #dbe7fb;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
}

.plan-wizard-module input {
    order: 3;
    width: 34px;
    height: 18px;
    accent-color: #0d6efd;
}

.plan-wizard-module span {
    grid-row: span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 7px;
    color: #0d6efd;
    background: #eff6ff;
}

.plan-wizard-module strong,
.plan-wizard-module em {
    display: block;
}

.plan-wizard-module strong {
    color: #0f172a;
    font-size: .72rem;
    font-weight: 900;
}

.plan-wizard-module em {
    display: none;
}

.plan-wizard-review {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.plan-wizard-review div {
    padding: 9px;
    border: 1px solid #dbe7fb;
    border-radius: 8px;
    background: #f8fbff;
}

.plan-wizard-review span,
.plan-wizard-review strong {
    display: block;
}

.plan-wizard-review span {
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
}

.plan-wizard-review strong {
    margin-top: 4px;
    color: #0f172a;
    font-size: .86rem;
}

.plan-wizard-preview {
    padding: 14px;
    background: #f8fbff;
    min-height: 0;
    overflow-y: auto;
}

.plan-wizard-preview > h6 {
    margin: 0 0 12px;
    color: #0f172a;
    font-weight: 900;
}

.plan-preview-card {
    padding: 14px;
    border: 1px solid #eadcff;
    border-radius: 8px;
    background: linear-gradient(135deg, #fff 0%, #fbf5ff 100%);
}

.plan-preview-top {
    display: flex;
    gap: 12px;
    align-items: center;
}

.plan-preview-top > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    color: #fff;
    background: #8b5cf6;
    font-size: 1.05rem;
}

.plan-preview-top strong,
.plan-preview-top small {
    display: block;
}

.plan-preview-top strong {
    color: #7c3aed;
    font-weight: 900;
}

.plan-preview-top small {
    color: #8b5cf6;
    font-size: .7rem;
}

.plan-preview-price {
    margin: 12px 0;
    color: #7c3aed;
}

.plan-preview-price strong {
    font-size: 1.12rem;
    font-weight: 900;
}

.plan-preview-price span {
    color: #0f172a;
    font-weight: 800;
}

.plan-preview-block {
    padding-top: 10px;
    margin-top: 10px;
    border-top: 1px solid #eadcff;
}

.plan-preview-block h6 {
    margin: 0 0 10px;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
}

.plan-preview-block div:not(.plan-preview-modules) {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 6px;
    color: #64748b;
    font-size: .76rem;
}

.plan-preview-block strong {
    color: #0f172a;
}

.plan-preview-modules {
    display: grid;
    gap: 7px;
}

.plan-preview-modules span,
.plan-preview-modules em {
    color: #0f172a;
    font-size: .76rem;
    font-style: normal;
    font-weight: 800;
}

.plan-preview-modules i {
    margin-right: 7px;
    color: #10b981;
}

.plan-wizard-footer {
    padding: 10px 14px;
    border-top: 1px solid #e6eef8;
    gap: 10px;
}

#planWizardPrev,
#planWizardSave {
    display: none;
}

@media (max-width: 1199px) {
    .commercial-plans-layout {
        grid-template-columns: 1fr;
    }

    .commercial-plan-kpis,
    .licenses-design-kpis,
    .license-billing-kpis,
    .license-report-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .licenses-design-layout,
    .license-billing-layout,
    .license-billing-lower,
    .license-report-main,
    .license-report-charts {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .commercial-plan-kpis,
    .licenses-design-kpis,
    .license-billing-kpis,
    .license-report-kpis {
        grid-template-columns: 1fr;
    }

    .commercial-plans-filter-grid,
    .commercial-plan-filter-spacer {
        grid-column: span 1 !important;
    }

    .commercial-plan-filter-spacer {
        display: none;
    }

    .commercial-plan-detail-actions {
        grid-template-columns: 1fr;
    }

    .licenses-design-filter-grid,
    .licenses-design-filter-grid .sales-history-search-field,
    .licenses-design-filter-grid .sales-history-filter-actions,
    .license-billing-filter-grid,
    .license-billing-filter-grid .sales-history-search-field,
    .license-billing-filter-grid .sales-history-filter-actions,
    .license-report-filter-grid,
    .license-report-filter-grid .sales-history-search-field,
    .license-report-filter-grid .sales-history-filter-actions,
    .license-design-detail-actions {
        grid-template-columns: 1fr;
        grid-column: span 1 !important;
    }

    .license-billing-status-summary {
        grid-template-columns: 1fr;
    }

    .commercial-plan-pagination {
        align-items: flex-start;
        flex-direction: column;
    }

    .plan-wizard-steps,
    .plan-wizard-layout,
    .plan-wizard-grid,
    .plan-wizard-limit-grid,
    .plan-wizard-module-grid,
    .plan-wizard-review {
        grid-template-columns: 1fr;
    }

    .plan-wizard-main {
        border-right: 0;
        border-bottom: 1px solid #e6eef8;
    }

    .plan-wizard-layout {
        height: auto;
        max-height: calc(100vh - 150px);
        overflow-y: auto;
    }

    .plan-wizard-main,
    .plan-wizard-preview {
        overflow: visible;
    }

    .plan-wizard-footer {
        justify-content: flex-start;
    }
}

.clients-overview {
    display: grid;
    grid-template-columns: minmax(180px, 20%) minmax(0, 80%);
    gap: 18px;
    align-items: stretch;
}

.clients-overview-sidebar,
.clients-overview-main {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
}

.clients-overview-sidebar {
    min-height: 148px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
}

.clients-overview-kicker {
    display: block;
    color: #2563eb;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.clients-overview-sidebar h1 {
    color: #0f172a;
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.1;
    margin: 0 0 8px;
}

.clients-overview-sidebar p {
    color: #64748b;
    font-size: .92rem;
    line-height: 1.45;
    margin: 0;
}

.clients-overview-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
}

.clients-overview-main {
    padding: 18px;
}

.clients-kpi-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    height: 100%;
}

.clients-kpi-card {
    min-height: 112px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}

.clients-kpi-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    border-radius: 8px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 1rem;
}

.clients-kpi-card span {
    display: block;
    color: #64748b;
    font-size: .74rem;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1.25;
    margin-bottom: 5px;
}

.clients-kpi-card strong {
    display: block;
    color: #0f172a;
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1;
}

.clients-board {
    background: transparent;
}

.clients-kpi-flow {
    margin: 0 0 14px;
}

.clients-kpi-flow.cash-flow-metrics {
    gap: 10px;
}

.clients-kpi-flow .cash-flow-metric {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    min-height: 86px;
    padding: 12px 14px;
    border: 1px solid #e5eaf1;
    border-radius: 8px;
    box-shadow: none;
    text-align: left;
    width: 100%;
    font: inherit;
    color: inherit;
    overflow: visible;
}

.clients-kpi-filter {
    border: 1px solid #e5eaf1;
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.clients-kpi-filter:hover,
.clients-kpi-filter:focus {
    border-color: #93c5fd;
    box-shadow: 0 8px 20px rgba(37, 99, 235, .12);
    outline: 0;
}

.clients-kpi-filter.is-active {
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .12);
}

.clients-kpi-flow .cash-flow-metric-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    font-size: .95rem;
}

.clients-kpi-flow .cash-flow-metric span,
.content-wrapper .clients-kpi-flow .cash-flow-metric span {
    display: block;
    font-size: .7rem;
    font-weight: 800 !important;
    line-height: 1.1;
    margin-bottom: 4px;
    max-width: none;
    min-width: 0;
    white-space: nowrap;
    overflow: visible;
    text-overflow: unset;
    word-break: keep-all;
    overflow-wrap: normal;
}

.clients-kpi-flow .cash-flow-metric strong,
.content-wrapper .clients-kpi-flow .cash-flow-metric strong {
    font-size: 1.2rem;
}

.content-wrapper .clients-kpi-flow .cash-flow-metric > div:not([class*="icon"]) {
    min-width: 0;
    max-width: none;
    overflow: visible;
}

.clients-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
}

.clients-list-panel {
    order: 1;
    min-width: 0;
    background: transparent;
}

.clients-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 0 12px;
}

.clients-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.clients-toolbar .btn {
    min-height: 42px;
    border-radius: 8px;
    font-weight: 700;
}

.clients-create-btn {
    background: #ff6b00;
    border-color: #ff6b00;
}

.clients-create-btn:hover,
.clients-create-btn:focus {
    background: #ea580c;
    border-color: #ea580c;
}

.clients-toolbar .clients-create-btn,
.clients-toolbar .clients-export-excel-btn,
.clients-toolbar .clients-export-pdf-btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
}
.clients-credit-switch {
    min-height: 38px;
    display: flex;
    align-items: center;
}
#client_limite_credito_value {
    color: #0f172a;
    font-size: .78rem;
    white-space: nowrap;
}

.clients-search {
    position: relative;
    width: min(100%, 300px);
}

.clients-search .form-control {
    height: 42px;
    border-radius: 8px;
    border-color: #e2e8f0;
    padding-right: 42px;
}

.clients-search i {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    color: #64748b;
}

.clients-table-shell {
    padding: 0;
}

.clients-table-shell .dataTables_filter,
.clients-table-shell .dataTables_length {
    display: none;
}

.clients-table-shell .dataTables_info {
    color: #64748b;
    font-size: .82rem;
    padding-left: 4px;
}

.clients-table-shell .pagination {
    margin-bottom: 0;
}

.clients-table {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border: 1px solid #e5eaf1;
    border-radius: 8px;
    overflow: hidden;
}

.clients-table thead th {
    border-top: 0;
    border-bottom: 0;
    background: #1b365d;
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    padding: 16px 14px;
    white-space: nowrap;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .12);
}

.clients-table tbody td {
    border-top: 1px solid #eef2f7;
    color: #1f2937;
    font-size: .86rem;
    padding: 15px 14px;
    vertical-align: middle;
}

.clients-table tbody tr:first-child td {
    border-top: 0;
}

.clients-table tbody td strong {
    color: #111827;
    font-weight: 800;
}

.clients-purchase-count,
.clients-last-purchase,
.clients-balance {
    white-space: nowrap;
}

.clients-credit-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 98px;
    padding: 5px 10px;
    border-radius: 8px;
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
}

.clients-credit-badge.is-enabled {
    background: #dcfce7;
    color: #15803d;
}

.clients-credit-badge.is-disabled {
    background: #f1f5f9;
    color: #64748b;
}

.clients-credit-badge.is-blocked {
    background: #fee2e2;
    color: #dc2626;
}

.clients-balance {
    display: inline-block;
}

.clients-balance.is-clear {
    color: #15803d;
}

.clients-balance.is-pending {
    color: #d97706;
}

.clients-balance.is-overdue {
    color: #dc2626;
}

.clients-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    padding: 5px 10px;
    border-radius: 8px;
    font-size: .72rem;
    font-weight: 800;
}

.clients-status-active,
.clients-status-success {
    background: #dcfce7;
    color: #16a34a;
}

.clients-status-inactive,
.clients-status-secondary {
    background: #fee2e2;
    color: #ef4444;
}

.clients-actions-cell {
    white-space: nowrap;
}

.clients-row-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.clients-row-actions .btn {
    position: relative;
    overflow: hidden;
    width: 32px;
    min-width: 32px;
    min-height: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0;
    border: 1px solid #eef2f7;
    border-radius: 8px;
    background: #fff;
    line-height: 1;
}

.clients-row-actions .btn-edit-client { color: #f59e0b; }
.clients-row-actions .clients-statement-action { color: #0d6efd; }
.clients-row-actions .btn-delete-client { color: #ef4444; }

.clients-row-actions .btn:hover,
.clients-row-actions .btn:focus {
    background: #f8fafc;
    outline: 0;
}

.clients-row-actions .btn-edit-client:hover,
.clients-row-actions .btn-edit-client:focus {
    border-color: #fde68a;
    background: #fffbeb;
}

.clients-row-actions .clients-statement-action:hover,
.clients-row-actions .clients-statement-action:focus {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.clients-row-actions .btn-delete-client:hover,
.clients-row-actions .btn-delete-client:focus {
    border-color: #fecaca;
    background: #fef2f2;
}

.clients-row-actions .btn span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.clients-detail-panel {
    order: 2;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid #e5eaf1;
    border-radius: 8px;
    min-width: 0;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}

.clients-detail-panel.is-muted {
    opacity: .55;
}

.clients-detail-header {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 22px;
    border-bottom: 1px solid #e5eaf1;
}

.clients-detail-header h3 {
    margin: 0;
    color: #111827;
    font-size: 1.08rem;
    font-weight: 800;
}

.clients-detail-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    color: #64748b;
}

.clients-detail-profile {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    padding: 18px 20px;
    border-bottom: 1px solid #e5eaf1;
}

.clients-detail-avatar {
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #ffedd5;
    color: #f97316;
    font-size: 1.55rem;
    font-weight: 900;
}

.clients-detail-name-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.clients-detail-profile h4 {
    margin: 0;
    color: #111827;
    font-size: 1rem;
    font-weight: 800;
}

.clients-detail-profile p {
    margin: 4px 0 0;
    color: #64748b;
    font-size: .8rem;
}

.clients-detail-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-bottom: 1px solid #e5eaf1;
}

.clients-detail-tabs button {
    min-height: 72px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: #fff;
    color: #475569;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-weight: 700;
    font-size: .76rem;
}

.clients-detail-tabs button.active {
    color: #ff6b00;
    border-bottom-color: #ff6b00;
}

.clients-detail-body {
    padding: 18px 20px 8px;
}

.clients-detail-tab-pane {
    display: none;
    min-height: 0;
}

.clients-detail-tab-pane.active {
    display: flex;
    flex-direction: column;
}

.clients-detail-body h5,
.clients-detail-summary h5 {
    margin: 0 0 18px;
    color: #374151;
    font-size: .88rem;
    font-weight: 800;
}

.clients-detail-row {
    display: grid;
    grid-template-columns: 18px 112px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    margin-bottom: 18px;
    color: #64748b;
    font-size: .82rem;
}

.clients-detail-row i {
    color: #3b82f6;
}

.clients-detail-row strong {
    color: #374151;
    font-weight: 700;
    text-align: right;
    overflow-wrap: anywhere;
}

.clients-detail-summary {
    margin: 0 20px 20px;
    padding: 18px;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    background: #f8fbff;
}

.clients-detail-summary div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: #1f4f76;
    font-size: .88rem;
    margin-top: 12px;
}

.clients-detail-summary div span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-weight: 800;
}

.clients-detail-summary strong {
    color: #0f4c81;
    font-weight: 900;
}

.clients-detail-footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: auto;
    padding: 18px 20px 20px;
    border-top: 1px solid #eef2f7;
}

.clients-detail-footer .btn {
    min-height: 40px;
    border-radius: 8px;
    font-weight: 800;
}

.clients-detail-credit-kpis,
.clients-detail-purchase-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 18px 20px 20px;
}

.clients-detail-credit-kpis .cash-flow-metric,
.clients-detail-purchase-kpis .cash-flow-metric {
    grid-template-columns: 1fr;
    min-height: 86px;
    padding: 12px 10px;
    border-radius: 8px;
    box-shadow: none;
    text-align: center;
}

.clients-detail-credit-kpis .cash-flow-metric-icon,
.clients-detail-purchase-kpis .cash-flow-metric-icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    font-size: .86rem;
    margin: 0 auto 7px;
}

.clients-detail-credit-kpis .cash-flow-metric span,
.clients-detail-purchase-kpis .cash-flow-metric span {
    font-size: .68rem;
    margin-bottom: 3px;
}

.clients-detail-credit-kpis .cash-flow-metric strong,
.clients-detail-purchase-kpis .cash-flow-metric strong {
    font-size: .98rem;
    white-space: nowrap;
}

.clients-detail-credit-kpis .clients-credit-disabled-kpi {
    display: none;
    grid-column: 1 / -1;
    grid-template-columns: 34px minmax(0, 1fr);
    min-height: 64px;
    text-align: left;
}

.clients-detail-credit-kpis .clients-credit-disabled-kpi .cash-flow-metric-icon {
    margin: 0;
}

.clients-detail-credit-kpis.is-credit-disabled {
    grid-template-columns: 1fr;
}

.clients-detail-credit-kpis.is-credit-disabled .clients-credit-enabled-kpi {
    display: none;
}

.clients-detail-credit-kpis.is-credit-disabled .clients-credit-disabled-kpi {
    display: grid;
}

.clients-detail-tab-summary {
    margin-top: 18px;
}

.clients-detail-placeholder {
    margin: 18px 20px 20px;
    padding: 18px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    color: #64748b;
    font-size: .88rem;
    text-align: center;
}

.clients-notes-panel {
    padding: 18px 20px 20px;
}

.clients-detail-new-note-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    border-radius: 8px;
    font-weight: 800;
    margin-bottom: 16px;
}

.clients-notes-timeline {
    position: relative;
    display: grid;
    gap: 14px;
}

.clients-notes-timeline::before {
    content: "";
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 16px;
    width: 1px;
    background: #dbeafe;
}

.clients-note-item {
    position: relative;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
}

.clients-note-dot {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #eff6ff;
    color: #2563eb;
    z-index: 1;
}

.clients-note-item > div {
    padding: 12px;
    border: 1px solid #e5eaf1;
    border-radius: 8px;
    background: #fff;
}

.clients-note-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
}

.clients-note-head strong {
    color: #0f172a;
    font-size: .86rem;
}

.clients-note-head small {
    color: #64748b;
    font-size: .76rem;
    white-space: nowrap;
}

.clients-note-item p {
    margin: 0;
    color: #475569;
    font-size: .84rem;
    line-height: 1.45;
}

.clients-notes-timeline .clients-detail-placeholder {
    margin: 0;
}

.clients-empty-detail {
    padding: 24px;
    color: #64748b;
}

@media (max-width: 767.98px) {
    .sales-history-kpi-row.dashboard-history-kpis,
    .dashboard-kpi-grid,
    .dashboard-sales-chart-summary,
    .dashboard-mini-stats,
    .dashboard-cash-grid,
    .dashboard-lower-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-panel,
    .dashboard-hub-hero {
        padding: 16px;
        border-radius: 22px;
    }

    .dashboard-panel-head,
    .dashboard-rank-head,
    .dashboard-status-item,
    .dashboard-alert-item,
    .dashboard-activity-item,
    .dashboard-cash-open-banner,
    .dashboard-hub-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .dashboard-payment-card {
        grid-template-columns: 44px 1fr;
    }

    .dashboard-payment-total,
    .dashboard-activity-meta {
        text-align: left;
    }

    .sunat-document-modal-hero,
    .sunat-document-mail-head {
        flex-direction: column;
        align-items: stretch;
    }

    .sunat-document-email-dialog {
        max-width: calc(100vw - 1.5rem);
        margin: .75rem auto;
    }

    .sunat-document-email-summary {
        flex-direction: column;
        align-items: flex-start;
    }

    .sunat-document-modal-summary {
        min-width: 0;
    }

    .sunat-document-actions-row,
    .sunat-document-actions-grid {
        grid-template-columns: 1fr;
    }

    .license-kpi-grid,
    .license-module-grid,
    .license-assistant-grid,
    .license-alert-grid,
    .license-followup-layout {
        grid-template-columns: 1fr;
    }

    .license-assistant-head {
        flex-direction: column;
    }

    .license-assistant-summary {
        min-width: 0;
        width: 100%;
    }

    .license-history-hero,
    .license-history-item-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .license-history-summary {
        grid-template-columns: 1fr;
        min-width: 0;
        width: 100%;
    }

    .license-reminder-layout,
    .license-reminder-kpis,
    .license-reminder-item-head,
    .license-plan-card-head,
    .license-plan-footer {
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .license-plan-grid {
        grid-template-columns: 1fr;
    }

    .clients-overview,
    .clients-kpi-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .dashboard-main-grid,
    .dashboard-lower-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-hub-hero {
        flex-direction: column;
    }

    .sales-history-kpi-row.dashboard-history-kpis,
    .dashboard-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-sales-chart-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-hub-hero-badge {
        min-width: 0;
        width: 100%;
    }

    .license-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .license-followup-layout {
        grid-template-columns: 1fr;
    }

    .license-reminder-layout {
        grid-template-columns: 1fr;
    }

    .license-plan-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .license-module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .license-assistant-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .clients-overview {
        grid-template-columns: 1fr;
    }

    .clients-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .clients-workspace {
        grid-template-columns: 1fr;
    }

    .clients-detail-panel {
        min-height: 0;
    }
}

@media (max-width: 767.98px) {
    .sales-history-kpi-row.dashboard-history-kpis {
        grid-template-columns: 1fr;
    }

    .products-page-header {
        align-items: stretch;
        flex-direction: column;
    }

    .products-page-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .products-page-actions .btn {
        flex: 1 1 auto;
    }

    .product-promotion-builder,
    .product-promotion-summary {
        grid-template-columns: 1fr;
    }

    .product-promotion-steps {
        grid-template-columns: 1fr;
    }

    .product-promotion-step {
        justify-content: flex-start;
        padding: 0 .55rem;
    }

    .product-promotion-selected-preview {
        align-items: flex-start;
        flex-direction: column;
    }

    .sales-history-kpi-row.products-kpi-row,
    .products-filter-grid .products-search-field,
    .products-filter-grid .form-group:not(.products-search-field):not(.products-filter-actions),
    .products-filter-grid .products-filter-actions {
        grid-column: span 12 !important;
    }

    .sales-history-kpi-row.products-kpi-row {
        grid-template-columns: 1fr;
    }

    .clients-overview,
    .clients-kpi-row {
        grid-template-columns: 1fr;
    }

    .clients-toolbar {
        align-items: stretch;
        flex-direction: column;
        padding: 18px 14px;
    }

    .clients-toolbar-actions,
    .clients-search {
        width: 100%;
    }

    .clients-toolbar-actions .btn {
        flex: 1 1 auto;
    }

    .clients-table-shell {
        padding: 0 14px 18px;
        overflow-x: auto;
    }

    .clients-table {
        min-width: 760px;
    }

    .clients-detail-profile {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 14px;
        padding: 18px;
    }

    .clients-detail-avatar {
        width: 64px;
        height: 64px;
        font-size: 1.35rem;
    }

    .clients-detail-tabs button {
        min-height: 74px;
        font-size: .74rem;
    }

    .clients-detail-row {
        grid-template-columns: 20px minmax(0, 1fr);
    }

    .clients-detail-row strong {
        grid-column: 2;
        text-align: left;
    }
}

@media (max-width: 991.98px) {
    .sales-history-kpi-row.products-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .products-filter-grid .products-search-field,
    .products-filter-grid .form-group:not(.products-search-field):not(.products-filter-actions),
    .products-filter-grid .products-filter-actions {
        grid-column: span 6 !important;
    }
}

@media (max-width: 575.98px) {
    .sales-history-kpi-row.products-kpi-row {
        grid-template-columns: 1fr;
    }

    .products-filter-grid .products-search-field,
    .products-filter-grid .form-group:not(.products-search-field):not(.products-filter-actions),
    .products-filter-grid .products-filter-actions {
        grid-column: span 12 !important;
    }
}

.categories-page {
    display: grid;
    gap: .75rem;
}

.categories-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
}

.categories-breadcrumb {
    margin-top: .22rem;
    color: #475569;
    font-size: .74rem;
    font-weight: 700;
}

.categories-page-actions {
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    gap: .45rem;
}

.categories-page-actions .btn,
.categories-filter-actions .btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
}

.categories-create-btn {
    background: #10b981;
    border-color: #10b981;
}

.categories-create-btn:hover,
.categories-create-btn:focus {
    background: #059669;
    border-color: #059669;
}

.sales-history-kpi-row.categories-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.categories-kpi-card {
    min-width: 0;
}

.categories-kpi-row .sales-history-kpi-copy span,
.categories-kpi-row .sales-history-kpi-copy strong,
.categories-kpi-row .sales-history-kpi-copy small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.categories-filter-grid .categories-search-field {
    grid-column: span 3 !important;
}

.categories-filter-grid .categories-status-field {
    grid-column: span 2;
}

.categories-filter-grid .categories-filter-actions {
    grid-column: span 5 !important;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: .45rem;
}

.categories-filter-grid .categories-filter-actions .btn,
.categories-filter-actions .btn {
    width: auto;
    height: 38px;
    min-height: 38px;
    max-height: 38px;
    align-self: flex-end;
    padding: .32rem .75rem;
    line-height: 1;
}

.categories-list-card .card-body {
    padding: .65rem;
}

.categories-table {
    table-layout: fixed;
}

.categories-table th:nth-child(1) { width: 7%; }
.categories-table th:nth-child(2) { width: 18%; }
.categories-table th:nth-child(3) { width: 25%; }
.categories-table th:nth-child(4) { width: 11%; }
.categories-table th:nth-child(5) { width: 11%; }
.categories-table th:nth-child(6) { width: 15%; }
.categories-table th:nth-child(7) { width: 13%; }

.categories-table td:nth-child(2),
.categories-table td:nth-child(3) {
    overflow: hidden;
    text-overflow: ellipsis;
}

.categories-name-cell {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-width: 0;
}

.categories-row-icon {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    font-size: .72rem;
}

.categories-row-icon-custom {
    box-shadow: inset 0 -10px 18px rgba(15, 23, 42, .12);
}

.categories-name-cell strong {
    min-width: 0;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.categories-products-pill {
    min-width: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .18rem .5rem;
    border-radius: 999px;
    background: #ede9fe;
    color: #6d28d9;
    font-size: .7rem;
    font-weight: 900;
}

.categories-table-actions {
    gap: .26rem;
    min-width: 96px;
    white-space: nowrap;
}

.category-editor-dialog {
    max-width: 640px;
}

.category-detail-dialog {
    max-width: 860px;
}

.category-editor-modal-header {
    padding: .8rem 1rem;
}

.category-editor-modal-subtitle {
    margin-top: .18rem;
    color: #475569;
    font-size: .76rem;
    font-weight: 700;
}

.category-editor-modal-body {
    display: grid;
    gap: .7rem;
    padding: .75rem;
}

.category-editor-modal-footer {
    gap: .45rem;
}

.category-editor-modal-footer .btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
}

.category-editor-section {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    padding: .7rem .75rem .65rem;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
}

.category-visual-section {
    padding-bottom: .75rem;
}

.category-visual-grid {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: .8rem;
    align-items: start;
}

.category-icon-preview-wrap {
    display: grid;
    justify-items: center;
    gap: .4rem;
    padding: .65rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}

.category-icon-preview-wrap span {
    color: #64748b;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.category-icon-preview {
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    color: #fff;
    font-size: 1.35rem;
    box-shadow: inset 0 -14px 24px rgba(15, 23, 42, .14), 0 8px 18px rgba(15, 23, 42, .08);
}

.category-visual-controls {
    min-width: 0;
}

.category-icon-picker,
.category-color-picker {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.category-icon-option,
.category-color-option {
    margin: 0;
    cursor: pointer;
}

.category-icon-option input,
.category-color-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.category-icon-option span {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #475569;
    font-size: .82rem;
}

.category-icon-option input:checked + span {
    border-color: #0d6efd;
    background: #eff6ff;
    color: #1d4ed8;
    box-shadow: 0 0 0 2px rgba(13, 110, 253, .12);
}

.category-color-row {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.category-color-picker {
    min-width: 0;
}

.category-color-option span {
    width: 24px;
    height: 24px;
    display: inline-flex;
    border: 2px solid #fff;
    border-radius: 6px;
    box-shadow: 0 0 0 1px #dbe4f0;
}

.category-color-option input:checked + span {
    box-shadow: 0 0 0 2px #0d6efd;
}

.category-color-input {
    width: 34px;
    height: 30px;
    flex: 0 0 34px;
    padding: 2px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
}

.category-editor-section-head {
    display: grid;
    gap: .24rem;
    justify-items: start;
    margin-bottom: .55rem;
    padding-bottom: .45rem;
    border-bottom: 1px solid #eef2f7;
}

.category-editor-section-kicker {
    display: inline-flex;
    align-items: center;
    padding: .16rem .45rem;
    border-radius: 6px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
}

.category-editor-section-head h6 {
    margin: 0;
    color: #0f172a;
    font-size: .86rem;
    font-weight: 900;
}

.category-editor-modal .form-group {
    margin-bottom: .55rem;
}

.category-editor-modal .form-group label {
    margin-bottom: .16rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.category-editor-modal .form-control {
    min-height: 30px;
    height: 30px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
    padding: .2rem .42rem;
}

.category-editor-modal textarea.form-control {
    height: auto;
    min-height: 72px;
    padding-top: .4rem;
    padding-bottom: .4rem;
}

.category-detail-modal-header {
    padding: .8rem 1rem;
}

.category-detail-modal-body {
    display: grid;
    gap: .75rem;
    padding: .75rem;
}

.category-detail-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.category-detail-kpis .sales-history-kpi-card {
    min-width: 0;
}

.category-detail-kpis .sales-history-kpi-copy span,
.category-detail-kpis .sales-history-kpi-copy strong,
.category-detail-kpis .sales-history-kpi-copy small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.category-detail-description {
    padding-bottom: .7rem;
}

.category-detail-description p {
    margin: 0;
    color: #334155;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.45;
}

@media (max-width: 991.98px) {
    .sales-history-kpi-row.categories-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .category-detail-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .category-visual-grid {
        grid-template-columns: 1fr;
    }

    .categories-filter-grid .categories-search-field,
    .categories-filter-grid .categories-status-field,
    .categories-filter-grid .categories-filter-actions {
        grid-column: span 6 !important;
    }
}

@media (max-width: 575.98px) {
    .categories-page-header {
        align-items: stretch;
        flex-direction: column;
    }

    .categories-page-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .categories-page-actions .btn {
        width: 100%;
    }

    .sales-history-kpi-row.categories-kpi-row {
        grid-template-columns: 1fr;
    }

    .category-detail-kpis {
        grid-template-columns: 1fr;
    }

    .categories-filter-grid .categories-search-field,
    .categories-filter-grid .categories-status-field,
    .categories-filter-grid .categories-filter-actions {
        grid-column: span 12 !important;
    }

    .categories-filter-grid .categories-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .categories-filter-actions .btn {
        width: 100%;
    }
}

.brands-page {
    display: grid;
    gap: .75rem;
}

.brands-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
}

.brands-page-actions {
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    gap: .45rem;
}

.brands-page-actions .btn,
.brands-filter-actions .btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
}

.brands-create-btn {
    background: #0d6efd;
    border-color: #0d6efd;
}

.brands-create-btn:hover,
.brands-create-btn:focus {
    background: #0b5ed7;
    border-color: #0b5ed7;
}

.sales-history-kpi-row.brands-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.brands-kpi-card {
    min-width: 0;
}

.brands-kpi-row .sales-history-kpi-copy span,
.brands-kpi-row .sales-history-kpi-copy strong,
.brands-kpi-row .sales-history-kpi-copy small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.brands-filter-grid .brands-search-field {
    grid-column: span 3 !important;
}

.brands-filter-grid .brands-status-field {
    grid-column: span 2;
}

.brands-filter-grid .brands-filter-actions {
    grid-column: span 5 !important;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: .45rem;
}

.brands-filter-grid .brands-filter-actions .btn,
.brands-filter-actions .btn {
    width: auto;
    height: 38px;
    min-height: 38px;
    max-height: 38px;
    align-self: flex-end;
    padding: .32rem .75rem;
    line-height: 1;
}

.brands-list-card .card-body {
    padding: .65rem;
}

.brands-table {
    table-layout: fixed;
}

.brands-table th:nth-child(1) { width: 7%; }
.brands-table th:nth-child(2) { width: 19%; }
.brands-table th:nth-child(3) { width: 29%; }
.brands-table th:nth-child(4) { width: 11%; }
.brands-table th:nth-child(5) { width: 11%; }
.brands-table th:nth-child(6) { width: 15%; }
.brands-table th:nth-child(7) { width: 8%; }

.brands-table td:nth-child(2),
.brands-table td:nth-child(3) {
    overflow: hidden;
    text-overflow: ellipsis;
}

.brands-name {
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.brands-products-pill {
    min-width: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .18rem .5rem;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: .7rem;
    font-weight: 900;
}

.brands-table-actions {
    gap: .26rem;
    min-width: 64px;
    white-space: nowrap;
}

.brand-editor-dialog {
    max-width: 640px;
}

.brand-editor-modal-header {
    padding: .8rem 1rem;
}

.brand-editor-modal-subtitle {
    margin-top: .18rem;
    color: #475569;
    font-size: .76rem;
    font-weight: 700;
}

.brand-editor-modal-body {
    padding: .75rem;
}

.brand-editor-modal-footer {
    gap: .45rem;
}

.brand-editor-modal-footer .btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
}

.brand-editor-section {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    padding: .7rem .75rem .65rem;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
}

.brand-editor-section-head {
    display: grid;
    gap: .24rem;
    justify-items: start;
    margin-bottom: .55rem;
    padding-bottom: .45rem;
    border-bottom: 1px solid #eef2f7;
}

.brand-editor-section-kicker {
    display: inline-flex;
    align-items: center;
    padding: .16rem .45rem;
    border-radius: 6px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
}

.brand-editor-section-head h6 {
    margin: 0;
    color: #0f172a;
    font-size: .86rem;
    font-weight: 900;
}

.brand-editor-modal .form-group {
    margin-bottom: .55rem;
}

.brand-editor-modal .form-group label {
    margin-bottom: .16rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.brand-editor-modal .form-control {
    min-height: 30px;
    height: 30px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
    padding: .2rem .42rem;
}

.brand-editor-modal textarea.form-control {
    height: auto;
    min-height: 72px;
    padding-top: .4rem;
    padding-bottom: .4rem;
}

@media (max-width: 991.98px) {
    .sales-history-kpi-row.brands-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brands-filter-grid .brands-search-field,
    .brands-filter-grid .brands-status-field,
    .brands-filter-grid .brands-filter-actions {
        grid-column: span 6 !important;
    }
}

@media (max-width: 575.98px) {
    .brands-page-header {
        align-items: stretch;
        flex-direction: column;
    }

    .brands-page-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .brands-page-actions .btn {
        width: 100%;
    }

    .sales-history-kpi-row.brands-kpi-row {
        grid-template-columns: 1fr;
    }

    .brands-filter-grid .brands-search-field,
    .brands-filter-grid .brands-status-field,
    .brands-filter-grid .brands-filter-actions {
        grid-column: span 12 !important;
    }

    .brands-filter-grid .brands-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .brands-filter-actions .btn {
        width: 100%;
    }
}

.units-page {
    display: grid;
    gap: .75rem;
}

.units-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
}

.units-page-actions {
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    gap: .45rem;
}

.units-page-actions .btn,
.units-filter-actions .btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
}

.units-create-btn {
    background: #0d6efd;
    border-color: #0d6efd;
}

.units-create-btn:hover,
.units-create-btn:focus {
    background: #0b5ed7;
    border-color: #0b5ed7;
}

.sales-history-kpi-row.units-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.units-kpi-card {
    min-width: 0;
}

.units-kpi-row .sales-history-kpi-copy span,
.units-kpi-row .sales-history-kpi-copy strong,
.units-kpi-row .sales-history-kpi-copy small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.units-filter-grid .units-search-field {
    grid-column: span 3 !important;
}

.units-filter-grid .units-status-field {
    grid-column: span 2;
}

.units-filter-grid .units-filter-actions {
    grid-column: span 5 !important;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: .45rem;
}

.units-filter-grid .units-filter-actions .btn,
.units-filter-actions .btn {
    width: auto;
    height: 38px;
    min-height: 38px;
    max-height: 38px;
    align-self: flex-end;
    padding: .32rem .75rem;
    line-height: 1;
}

.units-list-card .card-body {
    padding: .65rem;
}

.units-table {
    table-layout: fixed;
}

.units-table th:nth-child(1) { width: 6%; }
.units-table th:nth-child(2) { width: 17%; }
.units-table th:nth-child(3) { width: 10%; }
.units-table th:nth-child(4) { width: 16%; }
.units-table th:nth-child(5) { width: 11%; }
.units-table th:nth-child(6) { width: 10%; }
.units-table th:nth-child(7) { width: 18%; }
.units-table th:nth-child(8) { width: 12%; }

.units-table td:nth-child(2),
.units-table td:nth-child(4) {
    overflow: hidden;
    text-overflow: ellipsis;
}

.units-name {
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.units-symbol-pill,
.units-products-pill {
    min-width: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .18rem .5rem;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 900;
}

.units-symbol-pill {
    background: #dbeafe;
    color: #1d4ed8;
}

.units-products-pill {
    background: #ede9fe;
    color: #6d28d9;
}

.units-table-actions {
    gap: .26rem;
    min-width: 64px;
    white-space: nowrap;
}

.unit-editor-dialog {
    max-width: 760px;
}

.unit-editor-modal-header {
    padding: .8rem 1rem;
}

.unit-editor-modal-subtitle {
    margin-top: .18rem;
    color: #475569;
    font-size: .76rem;
    font-weight: 700;
}

.unit-editor-modal-body {
    padding: .75rem;
}

.unit-editor-modal-footer {
    gap: .45rem;
}

.unit-editor-modal-footer .btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
}

.unit-editor-section {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    padding: .7rem .75rem .65rem;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
}

.unit-editor-section-head {
    display: grid;
    gap: .24rem;
    justify-items: start;
    margin-bottom: .55rem;
    padding-bottom: .45rem;
    border-bottom: 1px solid #eef2f7;
}

.unit-editor-section-kicker {
    display: inline-flex;
    align-items: center;
    padding: .16rem .45rem;
    border-radius: 6px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
}

.unit-editor-section-head h6 {
    margin: 0;
    color: #0f172a;
    font-size: .86rem;
    font-weight: 900;
}

.unit-editor-modal .form-group {
    margin-bottom: .55rem;
}

.unit-editor-modal .form-group label {
    margin-bottom: .16rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.unit-editor-modal .form-control {
    min-height: 30px;
    height: 30px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
    padding: .2rem .42rem;
}

@media (max-width: 991.98px) {
    .sales-history-kpi-row.units-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .units-filter-grid .units-search-field,
    .units-filter-grid .units-status-field,
    .units-filter-grid .units-filter-actions {
        grid-column: span 6 !important;
    }
}

@media (max-width: 575.98px) {
    .units-page-header {
        align-items: stretch;
        flex-direction: column;
    }

    .units-page-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .units-page-actions .btn {
        width: 100%;
    }

    .sales-history-kpi-row.units-kpi-row {
        grid-template-columns: 1fr;
    }

    .units-filter-grid .units-search-field,
    .units-filter-grid .units-status-field,
    .units-filter-grid .units-filter-actions {
        grid-column: span 12 !important;
    }

    .units-filter-grid .units-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .units-filter-actions .btn {
        width: 100%;
    }
}

.stock-page {
    display: grid;
    gap: .75rem;
}

.stock-loading-modal {
    position: fixed;
    inset: 0;
    z-index: 2060;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.stock-loading-modal.is-visible {
    display: flex;
}

.stock-loading-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .42);
    backdrop-filter: blur(2px);
}

.stock-loading-dialog {
    position: relative;
    z-index: 1;
    width: min(520px, 100%);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .95rem;
    align-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
    box-shadow: 0 28px 70px rgba(15, 23, 42, .24);
    padding: 1rem;
    transform: translateY(8px) scale(.98);
    opacity: 0;
    animation: stock-loading-enter .24s ease-out forwards;
}

.stock-loading-icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    color: #0d6efd;
    background: #eff6ff;
    font-size: 1.45rem;
    box-shadow: inset 0 0 0 1px rgba(13, 110, 253, .12);
}

.stock-loading-icon i {
    animation: stock-loading-pulse 1.1s ease-in-out infinite;
}

.stock-loading-content {
    min-width: 0;
}

.stock-loading-content h4 {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.15;
}

.stock-loading-content p {
    margin: .25rem 0 .75rem;
    color: #64748b;
    font-size: .8rem;
    font-weight: 700;
}

.stock-loading-progress {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8eef7;
}

.stock-loading-progress-bar {
    position: relative;
    height: 100%;
    width: 8%;
    border-radius: inherit;
    background: linear-gradient(90deg, #0d6efd 0%, #22c55e 100%);
    transition: width .22s ease;
}

.stock-loading-progress-bar::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.42) 45%, transparent 100%);
    transform: translateX(-100%);
    animation: stock-loading-shine 1.05s linear infinite;
}

.stock-loading-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    margin-top: .5rem;
    color: #475569;
    font-size: .74rem;
    font-weight: 800;
}

.stock-loading-meta strong {
    color: #0d6efd;
    font-size: .82rem;
    font-weight: 900;
}

.stock-loading-modal.is-complete {
    pointer-events: none;
}

@keyframes stock-loading-enter {
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes stock-loading-pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.12);
    }
}

@keyframes stock-loading-shine {
    to {
        transform: translateX(100%);
    }
}

.stock-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
}

.stock-page-actions {
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
}

.stock-page-actions .btn,
.stock-filter-actions .btn,
.stock-status-tabs .btn {
    height: 30px;
    min-height: 30px;
    max-height: 30px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
}

.sales-history-kpi-row.stock-kpi-row {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.stock-kpi-card {
    min-width: 0;
}

.stock-kpi-row .sales-history-kpi-copy span,
.stock-kpi-row .sales-history-kpi-copy strong,
.stock-kpi-row .sales-history-kpi-copy small {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.stock-filter-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.45fr) repeat(5, minmax(130px, 1fr)) auto;
    gap: .62rem .7rem;
    align-items: end;
}

.stock-filter-grid .stock-search-field {
    grid-column: auto !important;
}

.stock-filter-grid .form-group:not(.stock-search-field):not(.stock-filter-actions) {
    grid-column: auto;
}

.stock-filter-grid .stock-filter-actions {
    grid-column: auto !important;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}

.stock-filter-grid .form-control,
.stock-filter-grid .sales-history-search-box {
    height: 30px;
    min-height: 30px;
}

.stock-filter-grid .sales-history-search-box .form-control,
.stock-filter-grid #stock_status {
    height: 30px;
    min-height: 30px;
    border-radius: 6px;
    padding-top: .2rem;
    padding-bottom: .2rem;
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.2;
}

.stock-filter-actions .btn {
    width: auto;
    padding-left: .65rem;
    padding-right: .65rem;
}

.stock-down-select-native {
    display: none !important;
}

.stock-down-select-control {
    position: relative;
    width: 100%;
}

.stock-down-select-toggle {
    width: 100%;
    height: 30px;
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .35rem;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #0f172a;
    padding: .2rem .42rem;
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
}

.stock-down-select-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stock-down-select-toggle i {
    color: #64748b;
    font-size: .64rem;
    transition: transform .16s ease;
}

.stock-down-select-control.is-open .stock-down-select-toggle {
    border-color: #0d6efd;
    box-shadow: 0 0 0 .12rem rgba(13, 110, 253, .12);
}

.stock-down-select-control.is-open .stock-down-select-toggle i {
    transform: rotate(180deg);
}

.stock-down-select-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 1080;
    display: none;
    max-height: 220px;
    overflow-y: auto;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .14);
}

.stock-down-select-control.is-open .stock-down-select-menu {
    display: block;
}

.stock-down-select-option {
    width: 100%;
    display: block;
    border: 0;
    border-bottom: 1px solid #edf2f7;
    background: #fff;
    color: #0f172a;
    padding: .38rem .5rem;
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
}

.stock-down-select-option:last-child {
    border-bottom: 0;
}

.stock-down-select-option:hover,
.stock-down-select-option.active {
    color: #0d6efd;
    background: #eff6ff;
}

.stock-list-card .card-body {
    padding: .65rem;
}

.stock-page .stock-list-card.sales-history-list-card {
    overflow: visible;
}

.stock-table-shell.sales-history-table-wrap {
    max-height: none !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
}

.stock-status-tabs {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .65rem;
    flex-wrap: wrap;
}

.stock-status-tab {
    min-height: 30px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #475569;
    padding: .22rem .65rem;
    font-size: .72rem;
    font-weight: 800;
}

.stock-status-tab.active {
    border-color: #0d6efd;
    color: #0d6efd;
    background: #eff6ff;
    box-shadow: inset 0 -2px 0 #0d6efd;
}

.stock-status-tab::before {
    content: "";
    width: 7px;
    height: 7px;
    display: inline-block;
    margin-right: .35rem;
    border-radius: 999px;
    background: #94a3b8;
}

.stock-status-tab.is-normal::before { background: #16a34a; }
.stock-status-tab.is-low::before { background: #f59e0b; }
.stock-status-tab.is-empty::before { background: #ef4444; }

.stock-table {
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.stock-table thead {
    position: sticky;
    top: 0;
    z-index: 40;
}

.stock-table thead th {
    position: static;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .16), 0 4px 10px rgba(15, 23, 42, .12);
}

.stock-table th:nth-child(1) { width: 5%; }
.stock-table th:nth-child(2) { width: 12%; }
.stock-table th:nth-child(3) { width: 28%; }
.stock-table th:nth-child(4) { width: 16%; }
.stock-table th:nth-child(5) { width: 8%; }
.stock-table th:nth-child(6) { width: 12%; }
.stock-table th:nth-child(7) { width: 10%; }
.stock-table th:nth-child(8) { width: 9%; }

.stock-table td:nth-child(2),
.stock-table td:nth-child(3),
.stock-table td:nth-child(4) {
    overflow: hidden;
    text-overflow: ellipsis;
}

.stock-table th:nth-child(8) {
    overflow: hidden;
    text-align: center;
}

.stock-table td:nth-child(8) {
    overflow: visible;
    text-align: center;
}

.stock-product-name {
    display: block;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.stock-table td small {
    display: block;
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.stock-quantity {
    font-weight: 900;
}

.stock-quantity-normal { color: #16a34a; }
.stock-quantity-bajo { color: #f59e0b; }
.stock-quantity-sin_stock { color: #ef4444; }

.stock-table-actions {
    gap: .26rem;
    min-width: 74px;
    white-space: nowrap;
}

.stock-detail-dialog {
    max-width: 740px;
    margin: .55rem auto;
}

.stock-detail-modal {
    border: 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 22px 54px rgba(15, 23, 42, .2);
}

.stock-detail-header {
    display: flex;
    align-items: flex-start;
    border-bottom: 0;
    background: #fff;
    padding: .7rem 2.7rem .2rem .9rem;
}

.stock-detail-header-copy {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    min-width: 0;
}

.stock-detail-header-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #e8f1ff;
    color: #2563eb;
    font-size: .82rem;
}

.stock-detail-header .modal-title {
    color: #163a66;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -.02em;
}

.stock-detail-header span#stockProductDetailSubtitle,
.stock-detail-header span#inventoryMovementDetailSubtitle {
    display: block;
    margin-top: .06rem;
    color: #64748b;
    font-size: .7rem;
    font-weight: 600;
}

.modal .modal-header.stock-detail-header .close,
.modal .modal-header.stock-detail-header .stock-detail-close {
    position: absolute;
    top: .6rem;
    right: .65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 50%;
    background: #ef4444;
    color: #fff !important;
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1;
    opacity: 1;
    box-shadow: 0 6px 12px rgba(239, 68, 68, .26);
}

.modal .modal-header.stock-detail-header .close:hover,
.modal .modal-header.stock-detail-header .close:focus,
.modal .modal-header.stock-detail-header .stock-detail-close:hover,
.modal .modal-header.stock-detail-header .stock-detail-close:focus {
    background: #dc2626;
    color: #fff !important;
    opacity: 1;
}

.stock-detail-body {
    padding: .35rem .9rem .7rem;
    max-height: calc(100vh - 8rem);
    overflow-y: auto;
}

.stock-detail-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(140px, .85fr) minmax(140px, .85fr);
    gap: .55rem;
    padding: .65rem;
    border: 1px solid #e6edf5;
    border-radius: 12px;
    background: #fff;
}

.stock-detail-identity {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-width: 0;
}

.stock-detail-thumb {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    overflow: hidden;
    border-radius: 10px;
    background: #e8f1ff;
    color: #3b82f6;
    font-size: 1.15rem;
}

.stock-detail-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.stock-detail-identity-copy {
    min-width: 0;
}

.stock-detail-identity-copy h5 {
    margin: 0;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.2;
}

.stock-detail-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    margin-top: .22rem;
}

.stock-detail-tags span {
    display: inline-flex;
    align-items: center;
    padding: .08rem .4rem;
    border-radius: 999px;
    background: #eef4ff;
    color: #2563eb;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.stock-detail-tags span.is-purchase {
    color: #047857;
    background: #dcfce7;
}

.stock-detail-branch {
    display: flex;
    align-items: center;
    gap: .28rem;
    margin-top: .22rem;
    color: #64748b;
    font-size: .66rem;
}

.stock-detail-branch i {
    color: #94a3b8;
}

.stock-detail-branch strong {
    color: #334155;
    font-weight: 700;
}

.stock-detail-branch small {
    color: #94a3b8;
    font-weight: 600;
}

.stock-detail-hero-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 78px;
    padding: .5rem .65rem;
    border-radius: 10px;
}

.stock-detail-hero-card.is-stock { background: #ecfdf3; }
.stock-detail-hero-card.is-value { background: #eff6ff; }

.stock-detail-hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-bottom: .08rem;
    border-radius: 6px;
    font-size: .68rem;
}

.stock-detail-hero-card.is-stock .stock-detail-hero-icon {
    background: rgba(22, 163, 74, .12);
    color: #16a34a;
}

.stock-detail-hero-card.is-value .stock-detail-hero-icon {
    background: rgba(37, 99, 235, .12);
    color: #2563eb;
}

.stock-detail-hero-card small {
    color: #64748b;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.stock-detail-hero-card.is-stock small { color: #16a34a; }
.stock-detail-hero-card.is-value small { color: #2563eb; }

.stock-detail-hero-card strong {
    margin-top: .06rem;
    color: #0f172a;
    font-size: 1.12rem;
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.15;
}

.stock-detail-hero-card.is-stock strong { color: #15803d; }
.stock-detail-hero-card.is-value strong { color: #1d4ed8; }

.stock-detail-hero-card strong span {
    margin-left: .2rem;
    font-size: .72em;
    font-weight: 800;
}

.stock-detail-hero-card em {
    margin-top: .08rem;
    color: #64748b;
    font-size: .62rem;
    font-style: normal;
    font-weight: 600;
}

.stock-detail-section {
    margin-top: .7rem;
}

.stock-detail-section h6 {
    display: flex;
    align-items: center;
    gap: .35rem;
    margin: 0 0 .42rem;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 800;
}

.stock-detail-section h6::before {
    content: "";
    width: 3px;
    height: 12px;
    border-radius: 999px;
    background: #2563eb;
}

.stock-detail-info-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .42rem;
}

.stock-detail-info-card {
    display: flex;
    align-items: flex-start;
    gap: .38rem;
    min-width: 0;
    padding: .42rem .48rem;
    border: 1px solid #e6edf5;
    border-radius: 9px;
    background: #fff;
}

.stock-detail-info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: #eef4ff;
    color: #2563eb;
    font-size: .62rem;
}

.stock-detail-info-card small {
    display: block;
    color: #94a3b8;
    font-size: .58rem;
    font-weight: 700;
}

.stock-detail-info-card strong {
    display: block;
    overflow: hidden;
    color: #0f172a;
    font-size: .72rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stock-detail-state {
    display: inline-flex;
    align-items: center;
    padding: .06rem .4rem;
    border-radius: 999px;
    font-size: .62rem;
    font-style: normal;
    font-weight: 800;
}

.stock-detail-state.is-normal,
.stock-detail-state.is-success {
    background: #dbeafe;
    color: #1d4ed8;
}

.stock-detail-state.is-bajo,
.stock-detail-state.is-warning {
    background: #ffedd5;
    color: #c2410c;
}

.stock-detail-state.is-sin_stock,
.stock-detail-state.is-danger,
.stock-detail-state.is-empty,
.stock-detail-state.is-out {
    background: #fee2e2;
    color: #b91c1c;
}

.stock-detail-state.is-in {
    background: #dcfce7;
    color: #047857;
}

.stock-detail-state.is-adjust {
    background: #ffedd5;
    color: #c2410c;
}

.stock-detail-metrics,
.stock-detail-prices {
    display: grid;
    gap: .42rem;
}

.stock-detail-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stock-detail-prices { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.stock-detail-metric,
.stock-detail-price {
    min-width: 0;
    padding: .5rem .58rem;
    border-radius: 10px;
}

.stock-detail-metric.is-green,
.stock-detail-price.is-green { background: #ecfdf3; }
.stock-detail-metric.is-orange,
.stock-detail-price.is-orange { background: #fff7ed; }
.stock-detail-metric.is-blue { background: #eff6ff; }
.stock-detail-metric.is-purple,
.stock-detail-price.is-purple { background: #f5f3ff; }

.stock-detail-metric-icon,
.stock-detail-price-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-bottom: .18rem;
    border-radius: 6px;
    font-size: .66rem;
}

.stock-detail-metric.is-green .stock-detail-metric-icon,
.stock-detail-price.is-green .stock-detail-price-icon {
    background: rgba(22, 163, 74, .12);
    color: #16a34a;
}

.stock-detail-metric.is-orange .stock-detail-metric-icon,
.stock-detail-price.is-orange .stock-detail-price-icon {
    background: rgba(234, 88, 12, .12);
    color: #ea580c;
}

.stock-detail-metric.is-blue .stock-detail-metric-icon {
    background: rgba(37, 99, 235, .12);
    color: #2563eb;
}

.stock-detail-metric.is-purple .stock-detail-metric-icon,
.stock-detail-price.is-purple .stock-detail-price-icon {
    background: rgba(124, 58, 237, .12);
    color: #7c3aed;
}

.stock-detail-metric small,
.stock-detail-price small {
    display: block;
    color: #64748b;
    font-size: .6rem;
    font-weight: 700;
}

.stock-detail-metric strong,
.stock-detail-price strong {
    display: block;
    margin-top: .06rem;
    color: #0f172a;
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: -.02em;
}

.stock-detail-metric.is-green strong,
.stock-detail-price.is-green strong { color: #15803d; }
.stock-detail-metric.is-orange strong,
.stock-detail-price.is-orange strong { color: #c2410c; }
.stock-detail-metric.is-blue strong { color: #1d4ed8; }
.stock-detail-metric.is-purple strong,
.stock-detail-price.is-purple strong { color: #6d28d9; }

.stock-detail-metric strong span {
    margin-left: .15rem;
    font-size: .72em;
}

.stock-detail-price em {
    display: block;
    margin-top: .08rem;
    color: #64748b;
    font-size: .6rem;
    font-style: normal;
    font-weight: 600;
}

.stock-detail-footer {
    justify-content: flex-end;
    border-top: 0;
    padding: .05rem .9rem .75rem;
}

.stock-detail-close-btn {
    min-width: 72px;
    padding: .28rem .7rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    color: #334155;
    font-size: .78rem;
    font-weight: 700;
}

.stock-detail-close-btn:hover {
    background: #f1f5f9;
    color: #0f172a;
}

@media (max-width: 991.98px) {
    .stock-detail-hero,
    .stock-detail-info-grid,
    .stock-detail-metrics,
    .stock-detail-prices {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stock-detail-identity {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575.98px) {
    .stock-detail-dialog {
        max-width: calc(100% - .8rem);
        margin: .4rem auto;
    }

    .stock-detail-hero,
    .stock-detail-info-grid,
    .stock-detail-metrics,
    .stock-detail-prices {
        grid-template-columns: 1fr;
    }
}

.stock-adjustment-dialog {
    max-width: 720px;
}

.stock-adjustment-modal .sales-history-modal-header,
.stock-adjustment-modal-header {
    padding: .65rem .85rem;
}

.stock-adjustment-modal .sales-history-modal-header .modal-title {
    font-size: .92rem;
}

.stock-adjustment-modal .sales-history-modal-header span {
    margin-top: .08rem;
    font-size: .72rem;
}

.stock-adjustment-modal-body {
    padding: .7rem .85rem .8rem;
}

.stock-adjust-steps {
    display: grid;
    gap: .65rem;
}

.stock-adjust-split {
    display: grid;
    grid-template-columns: 1fr;
    gap: .55rem;
}

.stock-adjust-step {
    padding: .55rem .6rem .6rem;
    border: 1px solid #e6edf5;
    border-radius: 8px;
    background: #f8fbff;
}

.stock-adjust-step-head {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    margin-bottom: .45rem;
}

.stock-adjust-step-num {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin: 0;
    border-radius: 999px;
    background: #2563eb;
    color: #fff;
    font-size: .68rem;
    font-style: normal;
    font-weight: 800;
    line-height: 22px;
    text-align: center;
    box-shadow: none;
    transition: background-color .16s ease;
}

.stock-adjust-step.is-done .stock-adjust-step-num {
    background: #16a34a;
    box-shadow: none;
}

.stock-adjust-step-head h6 {
    margin: 0;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 800;
}

.stock-adjust-step-head p {
    margin: 0;
    color: #64748b;
    font-size: .68rem;
    line-height: 1.25;
}

.stock-adjust-product-card {
    margin-top: .45rem;
    padding: .4rem .5rem;
    border: 1px solid #dbeafe;
    border-radius: 7px;
    background: #fff;
}

.stock-adjust-product-card strong {
    display: block;
    margin-bottom: .15rem;
    color: #0f172a;
    font-size: .76rem;
}

.stock-adjust-product-card div {
    display: flex;
    flex-wrap: wrap;
    gap: .15rem .55rem;
}

.stock-adjust-product-card small {
    color: #64748b;
    font-size: .66rem;
}

.stock-adjust-qty-row {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    align-items: stretch;
    gap: .4rem;
}

.stock-adjust-stock-box {
    display: grid;
    gap: 0;
    min-height: 0;
    padding: .35rem .45rem;
    border-radius: 6px;
    background: #fff;
    border: 1px solid #dbe6f3;
}

.stock-adjust-stock-box span {
    color: #64748b;
    font-size: .6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.stock-adjust-stock-box strong {
    color: #0f172a;
    font-size: .78rem;
    font-weight: 800;
}

.stock-adjust-stock-box.is-zero,
.stock-adjust-stock-box.is-zero span,
.stock-adjust-stock-box.is-zero strong,
.stock-adjust-stock-box.is-zero small {
    color: #dc2626;
}

.stock-adjust-stock-box small {
    color: #b45309;
    font-size: .64rem;
    font-weight: 700;
}

.stock-adjustment-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}

.stock-adjustment-field {
    margin-bottom: 0;
}

.stock-adjustment-field-wide {
    grid-column: 1 / -1;
}

.stock-adjustment-field label {
    display: block;
    margin-bottom: .2rem;
    color: #334155;
    font-size: .68rem;
    font-weight: 800;
}

.stock-adjustment-field .form-control {
    min-height: 32px;
    height: 32px;
    padding: .25rem .55rem;
    border-color: #dbe6f3;
    border-radius: 6px;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 700;
}

.stock-adjustment-results {
    position: absolute;
    top: calc(100% + .2rem);
    left: 0;
    right: 0;
    z-index: 1055;
    display: none;
    max-height: 180px;
    overflow-y: auto;
    border: 1px solid #dbe6f3;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .12);
}

.stock-adjustment-results .list-group-item {
    border-color: #edf2f7;
    color: #0f172a;
    font-size: .76rem;
    padding: .4rem .55rem;
}

.stock-adjustment-modal-footer,
.stock-adjustment-modal .sales-history-modal-footer {
    padding: .55rem .85rem .7rem;
}

.stock-adjustment-modal-footer .btn {
    min-height: 30px;
    padding: .28rem .7rem;
    border-radius: 6px;
    font-size: .74rem;
    font-weight: 800;
}

.warehouse-summary-dialog {
    max-width: 1120px;
}

.warehouse-summary-body {
    display: grid;
    gap: .8rem;
}

.warehouse-summary-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
}

.warehouse-summary-toolbar label {
    margin-bottom: .16rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 800;
}

.warehouse-summary-toolbar .form-control {
    width: 150px;
    height: 30px;
    min-height: 30px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
    padding: .2rem .42rem;
}

.warehouse-summary-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.warehouse-summary-table-wrap {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
}

.warehouse-summary-table {
    width: 100% !important;
    font-size: .78rem;
}

.warehouse-summary-table thead th {
    border-top: 0;
    background: #1b365d;
    color: #fff;
}

.warehouse-summary-table td,
.warehouse-summary-table th {
    vertical-align: middle;
}

.warehouse-summary-table td:nth-child(2) {
    white-space: normal;
}

.warehouse-summary-table td:nth-child(2) strong {
    color: #0f172a;
    font-weight: 900;
}

.warehouse-summary-stock {
    font-weight: 900;
}

.warehouse-summary-table tfoot td {
    border-top: 1px solid #dbe4f0;
    background: #eef4ff;
    color: #0f172a;
    font-weight: 900;
}

.warehouse-summary-table tfoot small {
    display: block;
    margin-top: .12rem;
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}

.warehouse-summary-note {
    width: fit-content;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border-radius: 7px;
    background: #eff6ff;
    color: #1d4ed8;
    padding: .55rem .7rem;
    font-size: .74rem;
    font-weight: 800;
}

.warehouse-summary-footer .btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
}

.stock-table-shell .dataTables_length label {
    color: #475569;
    font-size: .74rem;
    font-weight: 800;
}

.stock-table-shell .dataTables_length select {
    height: 30px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}

@media (max-width: 1199.98px) {
    .sales-history-kpi-row.stock-kpi-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .stock-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stock-filter-grid .stock-search-field,
    .stock-filter-grid .form-group:not(.stock-search-field):not(.stock-filter-actions),
    .stock-filter-grid .stock-filter-actions {
        grid-column: auto !important;
    }

    .stock-filter-grid .stock-search-field,
    .stock-filter-grid .stock-filter-actions {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 575.98px) {
    .stock-page-header {
        align-items: stretch;
        flex-direction: column;
    }

    .stock-page-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .stock-page-actions .btn {
        flex: 1 1 auto;
    }

    .sales-history-kpi-row.stock-kpi-row {
        grid-template-columns: 1fr;
    }

    .stock-filter-grid .stock-search-field,
    .stock-filter-grid .form-group:not(.stock-search-field):not(.stock-filter-actions),
    .stock-filter-grid .stock-filter-actions {
        grid-column: 1 / -1 !important;
    }

    .stock-filter-grid .stock-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .stock-filter-actions .btn {
        width: 100%;
    }

    .stock-status-tabs .btn,
    .stock-status-tab {
        flex: 1 1 100%;
    }

    .stock-adjustment-grid,
    .stock-adjust-qty-row,
    .stock-adjust-split {
        grid-template-columns: 1fr;
    }

    .warehouse-summary-kpi-row {
        grid-template-columns: 1fr;
    }

    .stock-loading-dialog {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .stock-loading-icon {
        margin: 0 auto;
    }
}

.inventory-movements-page {
    display: grid;
    gap: .75rem;
}

.inventory-movements-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
}

.inventory-movements-actions {
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    gap: .45rem;
}

.inventory-movements-actions .btn,
.inventory-movements-export .btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
}

.inventory-movements-filter-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.inventory-movements-filter-grid .inventory-movements-search-field {
    grid-column: span 3 !important;
}

.inventory-movements-filter-grid .form-group:not(.inventory-movements-search-field):not(.inventory-movements-filter-actions) {
    grid-column: span 2;
}

.inventory-movements-filter-grid .inventory-movements-filter-actions {
    grid-column: span 1 !important;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: .45rem;
}

.inventory-movements-kpi-row {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.inventory-movements-list-card .card-body {
    padding: .65rem;
}

.inventory-movements-tabs {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .65rem;
    flex-wrap: wrap;
}

.inventory-movements-tab {
    min-height: 30px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #475569;
    padding: .22rem .65rem;
    font-size: .72rem;
    font-weight: 800;
}

.inventory-movements-tab.active {
    border-color: #0d6efd;
    color: #0d6efd;
    background: #eff6ff;
    box-shadow: inset 0 -2px 0 #0d6efd;
}

.inventory-movements-tab::before {
    content: "";
    width: 7px;
    height: 7px;
    display: inline-block;
    margin-right: .35rem;
    border-radius: 999px;
    background: #94a3b8;
}

.inventory-movements-tab.is-in::before { background: #16a34a; }
.inventory-movements-tab.is-out::before { background: #ef4444; }
.inventory-movements-tab.is-adjust::before { background: #f59e0b; }

.inventory-movements-export {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.inventory-movements-table-wrap {
    max-height: none;
    overflow: visible;
}

.inventory-movements-table {
    table-layout: fixed;
}

.inventory-movements-table th,
.inventory-movements-table td {
    padding-left: .7rem;
    padding-right: .7rem;
    vertical-align: middle;
}

.inventory-movements-table thead th {
    white-space: normal;
    line-height: 1.15;
}

.inventory-movements-table th:nth-child(1) { width: 11%; }
.inventory-movements-table th:nth-child(2) { width: 9%; }
.inventory-movements-table th:nth-child(3) { width: 22%; }
.inventory-movements-table th:nth-child(4) { width: 12%; }
.inventory-movements-table th:nth-child(5) { width: 10%; }
.inventory-movements-table th:nth-child(6) { width: 8%; }
.inventory-movements-table th:nth-child(7) { width: 10%; }
.inventory-movements-table th:nth-child(8) { width: 7%; }
.inventory-movements-table th:nth-child(9) { width: 8%; }
.inventory-movements-table th:nth-child(10) { width: 5%; }

.inventory-movements-table td:nth-child(3),
.inventory-movements-table td:nth-child(4),
.inventory-movements-table td:nth-child(9) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inventory-movements-table td:nth-child(10) {
    overflow: visible;
    white-space: nowrap;
}

.inventory-movement-datetime {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.15;
}

.inventory-movement-datetime strong {
    color: #0f172a;
    font-size: 13px;
    font-weight: 600;
}

.inventory-movement-datetime small {
    color: #64748b;
    font-size: 11px;
    font-weight: 400;
}

.inventory-movement-product {
    display: block;
    overflow: hidden;
    color: #0f172a;
    font-size: 13px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inventory-movement-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    border-radius: 6px;
    padding: .12rem .42rem;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
}

.inventory-movement-badge.is-in {
    color: #047857;
    background: #dcfce7;
}

.inventory-movement-badge.is-out {
    color: #dc2626;
    background: #fee2e2;
}

.inventory-movement-badge.is-adjust {
    color: #d97706;
    background: #ffedd5;
}

.inventory-movement-quantity {
    font-size: 13px;
    font-weight: 600;
}

.inventory-movement-quantity.is-in { color: #16a34a; }
.inventory-movement-quantity.is-out { color: #ef4444; }
.inventory-movement-quantity.is-adjust { color: #f59e0b; }

.inventory-movement-editor-dialog,
.inventory-movement-detail-dialog {
    max-width: 780px;
    margin: .6rem auto;
}

.inventory-movement-editor-modal {
    max-height: calc(100vh - 1.2rem);
    overflow: hidden;
}

.inventory-movement-editor-modal > form {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 1.2rem);
    min-height: 0;
}

.inventory-movement-editor-modal > form > .modal-header {
    flex: 0 0 auto;
}

.inventory-movement-editor-body {
    flex: 1 1 auto;
    overflow-y: auto;
    min-height: 0;
    padding-top: .85rem !important;
    padding-bottom: .85rem !important;
}

.inventory-movement-editor-footer {
    flex: 0 0 auto;
    z-index: 2;
    background: #fff;
    padding-top: .65rem !important;
    padding-bottom: .65rem !important;
    border-top: 1px solid #e2e8f0;
}

.inventory-movement-editor-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}

.inventory-movement-flow {
    display: grid;
    gap: .8rem;
}

.inventory-movement-section {
    min-width: 0;
}

.inventory-movement-section-head {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .4rem;
    color: #334155;
    font-size: .78rem;
    font-weight: 800;
}

.inventory-movement-row {
    margin-left: -6px;
    margin-right: -6px;
}

.inventory-movement-row > [class*="col-"] {
    padding-left: 6px;
    padding-right: 6px;
    margin-bottom: .55rem;
}

.inventory-movement-row > [class*="col-"]:last-child {
    margin-bottom: 0;
}

.inventory-movement-flow-branches.is-transfer #inventoryAdjustmentStockHostPanel {
    display: none !important;
}

.inventory-movement-sede-row {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.inventory-movement-sede-row #inventoryAdjustmentBranchId {
    flex: 1 1 auto;
    min-width: 0;
}

#inventoryMovementModal #inventoryAdjustmentStockHostPanel {
    width: auto;
    max-width: 100%;
    flex: 0 0 auto;
    align-self: center;
}

.inventory-movement-editor-body .inventory-movement-step.position-relative {
    z-index: 6;
}

.inventory-movement-editor-body .stock-adjustment-results {
    z-index: 1080;
}

.inventory-movement-field-label {
    display: block;
    margin-bottom: .28rem;
    color: #475569;
    font-size: .72rem;
    font-weight: 700;
}

.inventory-movement-step-quantity {
    max-width: none;
}

.inventory-movement-product-card {
    margin-top: .45rem;
    border: 1px solid #dbe6f3;
    border-radius: 8px;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    padding: .5rem .7rem;
}

.inventory-movement-product-card strong {
    display: block;
    color: #0f172a;
    font-size: .84rem;
    font-weight: 800;
    line-height: 1.25;
}

.inventory-movement-product-card small {
    display: inline-block;
    color: #64748b;
    font-size: .7rem;
    font-weight: 600;
    margin-top: .1rem;
    margin-right: .65rem;
}

.inventory-movement-section.is-done .inventory-movement-step-num {
    background: #16a34a;
}

.inventory-movement-stock-box {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    width: max-content;
    max-width: 100%;
    min-height: 0;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
    padding: .35rem .55rem;
}

.inventory-movement-stock-box span {
    color: #1e40af;
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .02em;
    line-height: 1.2;
    white-space: nowrap;
}

.inventory-movement-stock-box strong {
    color: #1d4ed8;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.inventory-movement-stock-box.is-zero {
    border-color: #fecaca;
    background: #fef2f2;
}

.inventory-movement-stock-box.is-zero span,
.inventory-movement-stock-box.is-zero strong {
    color: #dc2626;
}

.inventory-movement-stock-box.is-hint {
    min-height: 0;
    margin-top: .35rem;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: .35rem;
    border: 0;
    background: transparent;
    padding: 0;
}

.inventory-movement-stock-box.is-hint span,
.inventory-movement-stock-box.is-hint strong {
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
}

.inventory-movement-stock-box.is-hint strong {
    color: #1d4ed8;
    font-weight: 800;
}

.inventory-movement-qty-hint {
    display: block;
    margin-top: .28rem;
    color: #166534;
    font-size: .72rem;
    font-weight: 600;
}

@keyframes inventory-entry-pulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(22, 163, 74, 0);
        border-color: #86efac;
    }
    50% {
        box-shadow: 0 0 0 3px rgba(22, 163, 74, .45);
        border-color: #16a34a;
    }
}

#inventoryMovementModal .form-control.is-entry-focus,
#inventoryMovementModal .inventory-movement-qty-control.is-entry-focus .form-control,
#inventoryMovementModal .inventory-movement-qty-control.is-entry-focus .btn,
#inventoryMovementModal .inventory-movement-stock-box.is-stock-attention {
    animation: inventory-entry-pulse 1.15s ease-in-out infinite;
}

#inventoryMovementModal .inventory-movement-stock-box.is-stock-attention {
    border-style: solid;
    border-width: 1px;
    border-radius: 8px;
}

@media (prefers-reduced-motion: reduce) {
    #inventoryMovementModal .form-control.is-entry-focus,
    #inventoryMovementModal .inventory-movement-qty-control.is-entry-focus .form-control,
    #inventoryMovementModal .inventory-movement-qty-control.is-entry-focus .btn,
    #inventoryMovementModal .inventory-movement-stock-box.is-stock-attention {
        animation: none;
        border-color: #16a34a;
        box-shadow: 0 0 0 3px rgba(22, 163, 74, .35);
    }
}

.inventory-movement-qty-unit-row {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
    gap: .85rem;
}

.inventory-movement-qty-control {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    gap: .35rem;
}

.inventory-movement-qty-control .btn {
    min-height: 34px;
    padding: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #1e3a8a;
    border-color: #dbe6f3;
}

.inventory-movement-observation {
    min-height: 62px;
    max-height: 110px;
    resize: vertical;
    line-height: 1.35;
}

.inventory-movement-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem 1.1rem;
    min-height: 42px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    padding: .45rem .75rem;
}

.inventory-movement-meta span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #64748b;
    font-size: .74rem;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
}

.inventory-movement-meta span i {
    color: #94a3b8;
    width: 14px;
    text-align: center;
}

.inventory-movement-meta strong {
    color: #0f172a;
    font-size: .74rem;
    font-weight: 800;
}

.inventory-movement-step-label {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .28rem;
    color: #334155;
    font-size: .74rem;
    font-weight: 800;
}

.inventory-movement-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background: #2563eb;
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
    flex-shrink: 0;
}

.inventory-movement-editor-grid .form-group {
    margin-bottom: 0;
}

.inventory-movement-editor-wide {
    grid-column: 1 / -1;
}

.inventory-movement-editor-grid label,
.inventory-movement-detail-item span {
    margin-bottom: .35rem;
    color: #334155;
    font-size: .74rem;
    font-weight: 800;
}

.inventory-movement-editor-grid .form-control,
.inventory-movement-flow .form-control {
    min-height: 34px;
    border-color: #dbe6f3;
    border-radius: 7px;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 700;
}

.inventory-movement-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

.inventory-movement-detail-item {
    min-width: 0;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    padding: .65rem;
}

.inventory-movement-detail-item span,
.inventory-movement-detail-item strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inventory-movement-detail-item strong {
    margin-top: .18rem;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
}

.sales-history-kpi-row.purchases-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.purchases-page-header {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
}

.purchases-page-actions {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: .4rem;
}

.purchases-create-btn {
    min-height: 34px;
    white-space: nowrap;
    font-weight: 800;
}

.purchases-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.purchases-main-column,
.purchases-side-column {
    min-width: 0;
    display: grid;
    gap: .75rem;
}

.purchases-register-card .card-body {
    padding: .65rem;
}

.purchases-form-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: .5rem;
    align-items: end;
}

.purchases-form-grid .form-group {
    grid-column: span 3;
    margin-bottom: 0;
}

.purchases-form-grid .purchases-product-field {
    grid-column: span 5;
}

.purchases-form-grid .purchases-observation-field {
    grid-column: span 5;
}

.purchases-form-grid label {
    margin-bottom: .16rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.purchases-form-grid .form-control,
.purchases-list-toolbar .form-control {
    height: 30px;
    min-height: 30px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
    padding: .2rem .42rem;
}

.purchases-supplier-search {
    position: relative;
}

.purchases-supplier-search .purchases-search-results {
    top: calc(100% - .15rem);
    min-width: 320px;
}

.purchases-supplier-search .sale-search-result {
    gap: .35rem;
}

.purchases-supplier-search .purchase-supplier-search-doc {
    flex: 0 0 auto;
    max-width: 42%;
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.purchases-product-search {
    position: relative;
}

.purchases-search-results {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 1080;
    max-height: 260px;
    overflow-y: auto;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .14);
}

.purchases-search-results:empty {
    display: none;
}

.purchases-search-results .list-group-item {
    border-color: #edf2f7;
    padding: .5rem .65rem;
}

.purchases-search-results .list-group-item strong,
.purchases-search-results .list-group-item small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.purchases-search-results .list-group-item strong {
    color: #0f172a;
    font-size: .8rem;
    font-weight: 900;
}

.purchases-search-results .list-group-item small {
    margin-top: .12rem;
    color: #64748b;
    font-size: .7rem;
    font-weight: 700;
}

.purchases-items-card .card-header,
.purchases-summary-card .card-header,
.purchases-detail-card .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.purchases-items-count {
    color: #64748b;
    font-size: .7rem;
    font-weight: 800;
}

.purchases-items-card .card-body,
.purchases-list-card .card-body {
    padding: .65rem;
}

.purchases-items-shell,
.purchases-history-shell {
    overflow: auto;
}

.purchases-items-table {
    table-layout: fixed;
}

.purchases-items-table thead th {
    padding: .28rem .5rem;
}

.purchases-items-table tbody td {
    padding: .18rem .5rem;
    line-height: 1.15;
}

.purchases-items-table th:nth-child(1) { width: 44px; }
.purchases-items-table th:nth-child(2) { width: auto; }
.purchases-items-table th:nth-child(3) { width: 22%; }
.purchases-items-table th:nth-child(4) { width: 22%; }

.purchases-items-table thead th {
    text-transform: uppercase;
    letter-spacing: .02em;
    font-size: .68rem;
}

.purchases-items-table .purchases-check-col,
.purchases-items-table td.purchases-check-col {
    width: 44px;
    text-align: center;
    vertical-align: middle;
}

.purchases-items-table tbody tr.is-picked {
    background: #f0fdf4;
}

.purchases-items-table tbody tr.is-picked td {
    background: transparent;
}

.purchases-items-table .purchase-qty,
.purchases-items-table .purchase-cost {
    max-width: 100%;
}

.purchases-items-table .form-control-sm:disabled {
    background: #f8fafc;
    color: #94a3b8;
}

.purchases-items-table td strong,
.purchases-items-table td small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.purchases-items-table td small {
    margin-top: 0;
    color: #64748b;
    font-size: .62rem;
    font-weight: 700;
    line-height: 1.1;
}

.purchases-items-table .form-control-sm {
    height: 22px;
    min-height: 22px;
    padding: 0 .4rem;
    border-color: #dbe4f0;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 800;
}

.purchases-items-table .btn-remove-purchase-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    min-width: 16px;
    height: 16px;
    min-height: 16px;
    padding: 0;
    line-height: 1;
    border-radius: 4px;
    font-size: .55rem;
}
.purchases-items-table .btn-remove-purchase-item i {
    font-size: .55rem;
    line-height: 1;
}

.purchases-empty-row td {
    padding: 0 !important;
}

.purchases-empty-state {
    min-height: 112px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    color: #64748b;
    background: #f8fafc;
    font-size: .82rem;
    font-weight: 800;
}

.purchases-empty-state i {
    color: #0d6efd;
    font-size: 1rem;
}

.purchases-list-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: .5rem;
    margin-bottom: .65rem;
}

.purchases-history-table {
    table-layout: fixed;
}

.purchases-history-table th:nth-child(1) { width: 12%; }
.purchases-history-table th:nth-child(2) { width: 10%; }
.purchases-history-table th:nth-child(3) { width: 20%; }
.purchases-history-table th:nth-child(4) { width: 13%; }
.purchases-history-table th:nth-child(5) { width: 13%; }
.purchases-history-table th:nth-child(6) { width: 10%; }
.purchases-history-table th:nth-child(7) { width: 12%; }
.purchases-history-table th:nth-child(8) { width: 10%; }

.purchases-history-table tbody tr {
    cursor: default;
}

.purchases-history-table tbody tr.active td {
    background: #eff6ff;
}

.purchases-wizard-dialog {
    max-width: 1080px;
}

.purchases-wizard-layout {
    display: block;
    gap: 0 1.15rem;
    align-items: stretch;
    min-height: 460px;
}

.purchases-wizard-stage {
    min-width: 0;
    border-left: 1px solid #e2e8f0;
    padding-left: 1.15rem;
}

.purchases-wizard-modal .modal-header {
    align-items: flex-start;
    border-bottom: 1px solid #e2e8f0;
}

.purchases-wizard-modal .modal-title {
    margin: 0;
    color: #0f172a;
    font-size: 1.15rem;
    font-weight: 900;
}

.purchases-wizard-modal .modal-header p {
    margin: .28rem 0 0;
    color: #475569;
    font-size: .8rem;
    font-weight: 600;
}

.purchases-wizard-steps {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.purchases-wizard-steps li {
    position: relative;
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 56px;
    margin: 0;
    padding: .5rem .65rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    box-sizing: border-box;
    transition: all .2s ease;
}

.purchases-wizard-steps li.is-current {
    border: 2px solid #ef1010;
    border-radius: 12px;
    background: #ef1010;
    box-shadow: 0 10px 22px rgba(239, 16, 16, .22);
    transform: translateY(-2px);
}

.purchases-wizard-steps em {
    position: relative;
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #94a3b8;
    color: #fff;
    font-size: .82rem;
    font-style: normal;
    font-weight: 800;
    transition: all .2s ease;
}

.purchases-wizard-steps li.is-current em {
    background: #fff;
    color: #ef1010;
}

.purchases-wizard-steps li.is-complete em {
    background: #fff;
    color: transparent;
    font-size: 0;
}

.purchases-wizard-steps li.is-complete em::before {
    content: "\f00c";
    color: #08a65c;
    font-family: "Font Awesome 5 Free";
    font-size: .82rem;
    font-weight: 900;
}

.purchases-wizard-steps li.is-complete {
    border-color: #08a65c;
    border-radius: 12px;
    background: #08a65c;
}

.purchases-wizard-steps li.is-current.is-complete {
    border-color: #08a65c;
    background: #08a65c;
    box-shadow: 0 10px 22px rgba(8, 166, 92, .22);
}

.purchases-wizard-steps li.is-current.is-complete em {
    background: #fff;
    color: #08a65c;
}

.purchases-wizard-steps strong,
.purchases-wizard-steps small {
    display: block;
    transition: color .2s ease;
}

.purchases-wizard-steps strong {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 800;
}

.purchases-wizard-steps small {
    margin-top: .08rem;
    color: #64748b;
    font-size: .7rem;
    font-weight: 700;
}

.purchases-wizard-steps li.is-current strong,
.purchases-wizard-steps li.is-complete strong {
    color: #fff;
    font-weight: 700;
}

.purchases-wizard-steps li.is-current small,
.purchases-wizard-steps li.is-complete small {
    color: rgba(255, 255, 255, .85);
}

.purchases-wizard-pane {
    display: none;
}

.purchases-wizard-pane.is-active {
    display: block;
}

.purchases-wizard-modal .purchases-form-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.purchases-wizard-modal .purchases-document-grid {
    grid-template-columns: minmax(0, 2.6fr) minmax(132px, .72fr) minmax(180px, 1.15fr);
    grid-template-areas:
        "supplier date type"
        "supplier serie correlativo";
    align-items: start;
}

.purchases-wizard-modal .purchases-document-grid .purchases-supplier-field { grid-area: supplier; }
.purchases-wizard-modal .purchases-document-grid .purchases-date-field { grid-area: date; }
.purchases-wizard-modal .purchases-document-grid .purchases-doc-type-field { grid-area: type; }
.purchases-wizard-modal .purchases-document-grid .purchases-serie-field { grid-area: serie; }
.purchases-wizard-modal .purchases-document-grid .purchases-correlativo-field { grid-area: correlativo; }

.purchases-wizard-modal .purchases-document-grid .purchases-supplier-field .form-control {
    height: 44px;
    min-height: 44px;
    font-size: .92rem;
    padding: .45rem .7rem;
}

.purchases-wizard-modal .purchases-form-grid:not(.purchases-document-grid) .form-group {
    grid-column: span 2;
}

.purchases-wizard-modal .purchases-payment-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas:
        "condition method paydate"
        "amount note note";
}

.purchases-wizard-modal .purchases-form-grid.purchases-payment-grid .form-group {
    grid-column: auto;
}

.purchases-wizard-modal .purchases-payment-grid .purchases-pay-condition { grid-area: condition; }
.purchases-wizard-modal .purchases-payment-grid .purchases-pay-method { grid-area: method; }
.purchases-wizard-modal .purchases-payment-grid .purchases-pay-date { grid-area: paydate; }
.purchases-wizard-modal .purchases-payment-grid .purchases-pay-amount { grid-area: amount; }
.purchases-wizard-modal .purchases-payment-grid .purchases-observation-field { grid-area: note; }

.purchases-wizard-modal .purchases-payment-grid [data-purchase-payment-field="fecha_vencimiento"],
.purchases-wizard-modal .purchases-payment-grid [data-purchase-payment-field="operacion"] {
    grid-column: 1 / -1;
}

@keyframes purchase-field-blink {
    0%, 100% {
        box-shadow: 0 0 0 2px #16a34a;
    }
    50% {
        box-shadow: 0 0 0 5px rgba(22, 163, 74, .28);
    }
}

.purchases-wizard-modal .form-control.is-purchase-attention,
.purchases-wizard-modal .purchases-choice-row.is-purchase-attention {
    border-color: #16a34a;
    animation: purchase-field-blink 1s ease-in-out infinite;
}

.purchases-wizard-modal .form-control.is-purchase-attention:focus {
    border-color: #15803d;
    box-shadow: none;
}

.purchases-supplier-card {
    display: grid;
    gap: .15rem;
    margin-top: .45rem;
    padding: .55rem .7rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    font-size: .78rem;
    color: #475569;
}

.purchases-supplier-card strong {
    color: #0f172a;
}

.purchases-new-supplier {
    display: inline-block;
    margin-top: .35rem;
    font-size: .78rem;
    font-weight: 700;
}

.purchases-cost-hint,
.purchases-reception-note {
    display: block;
    margin-top: .25rem;
    color: #64748b;
    font-size: .72rem;
}

.purchases-reception-diff.is-match { color: #15803d; font-weight: 800; }
.purchases-reception-diff.is-short { color: #dc2626; font-weight: 800; }
.purchases-reception-diff.is-over { color: #c2410c; font-weight: 800; }

.purchases-wizard-modal .purchases-wizard-stage {
    border-left: 0;
    padding-left: 0;
    margin-top: .85rem;
}

.purchases-wizard-modal .purchases-wizard-steps {
    flex-direction: row;
    gap: .35rem;
    overflow-x: auto;
}

.purchases-wizard-modal .purchases-wizard-steps li {
    flex: 1 1 0;
    min-height: 42px;
    justify-content: center;
    border-radius: 999px;
    background: #f8fafc;
    box-shadow: none;
    transform: none;
}

.purchases-wizard-modal .purchases-wizard-steps li.is-current {
    border: 1px solid #2563eb;
    background: #eff6ff;
    color: #1d4ed8;
    box-shadow: none;
}

.purchases-wizard-modal .purchases-wizard-steps li.is-current em,
.purchases-wizard-modal .purchases-wizard-steps li.is-complete em {
    background: #2563eb;
    color: #fff;
}

.purchases-wizard-modal .purchases-wizard-steps li.is-complete {
    border-color: #bfdbfe;
    background: #f8fafc;
}

.purchases-wizard-modal .purchases-wizard-steps li.is-complete em::before {
    color: #fff;
}

.purchases-wizard-modal .purchases-wizard-steps strong,
.purchases-wizard-modal .purchases-wizard-steps li.is-current strong,
.purchases-wizard-modal .purchases-wizard-steps li.is-complete strong {
    color: #1e293b;
    font-size: .78rem;
}

.purchases-wizard-modal .purchases-wizard-steps li.is-current strong {
    color: #1d4ed8;
}

.purchases-wizard-modal .purchases-pane-title {
    margin: 0 0 .75rem;
    font-size: .95rem;
    font-weight: 800;
}

.purchases-supplier-row,
.purchases-doc-row,
.purchases-product-add,
.purchases-pay-layout,
.purchases-confirm-grid {
    display: grid;
    gap: .75rem;
}

.purchases-supplier-row {
    grid-template-columns: minmax(0, 1.8fr) minmax(220px, .8fr);
    align-items: end;
    margin-bottom: .8rem;
}

.purchases-supplier-controls {
    display: flex;
    align-items: center;
    gap: .6rem;
}

.purchases-supplier-controls .form-control {
    flex: 1 1 auto;
    min-width: 0;
}

.purchases-wizard-modal .purchases-new-supplier {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    flex: 0 0 auto;
    height: 38px;
    margin: 0;
    padding: .4rem .85rem;
    border: 0;
    border-radius: 8px;
    background: #2563eb;
    color: #fff;
    font-size: .84rem;
    font-weight: 700;
    white-space: nowrap;
    line-height: 1;
}

.purchases-wizard-modal .purchases-new-supplier span {
    white-space: nowrap;
}

.purchases-wizard-modal .purchases-new-supplier:hover {
    background: #1d4ed8;
    color: #fff;
}

.purchases-doc-row {
    grid-template-columns: 1.4fr .7fr .9fr;
    margin-bottom: .7rem;
}

.purchases-doc-row-split {
    grid-template-columns: .8fr 1.4fr;
}

.purchases-supplier-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
    margin: 0;
}

.purchases-supplier-meta span,
.purchases-pay-summary div,
.purchases-confirm-grid div div,
.purchases-lines-totals div {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    font-size: .82rem;
}

.purchases-supplier-meta small,
.purchases-pay-summary span,
.purchases-confirm-grid span,
.purchases-lines-totals span {
    color: #64748b;
}

.purchases-choice-row,
.purchases-method-grid {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.purchases-choice {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin: 0;
    padding: .45rem .7rem;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    background: #fff;
    font-weight: 700;
    font-size: .82rem;
}

.purchases-product-add {
    grid-template-columns: 1fr auto;
    position: relative;
    margin-bottom: .75rem;
}

.purchases-lines-table {
    table-layout: fixed;
    width: 100%;
}

.purchases-lines-table th:nth-child(1),
.purchases-lines-table td:nth-child(1) {
    width: 2rem;
}

.purchases-lines-table th:nth-child(3),
.purchases-lines-table td:nth-child(3) {
    width: 5rem;
}

.purchases-lines-table th:nth-child(4),
.purchases-lines-table td:nth-child(4) {
    width: 3.6rem;
    white-space: nowrap;
}

.purchases-lines-table th:nth-child(5),
.purchases-lines-table td:nth-child(5) {
    width: 7.6rem;
}

.purchases-lines-table th:nth-child(6),
.purchases-lines-table td:nth-child(6) {
    width: 6.8rem;
}

.purchases-lines-table th:nth-child(7),
.purchases-lines-table td:nth-child(7) {
    width: 5.8rem;
}

.purchases-lines-table th:nth-child(8),
.purchases-lines-table td:nth-child(8) {
    width: 6.6rem;
}

.purchases-lines-table th:nth-child(9),
.purchases-lines-table td:nth-child(9) {
    width: 2.6rem;
}

.purchases-lines-table th:nth-child(3),
.purchases-lines-table th:nth-child(5),
.purchases-lines-table th:nth-child(6),
.purchases-lines-table th:nth-child(7),
.purchases-lines-table th:nth-child(8) {
    white-space: nowrap;
}

.purchases-reception-table {
    table-layout: fixed;
    width: 100%;
}

.purchases-reception-table th:nth-child(1),
.purchases-reception-table td:nth-child(1) {
    width: 2rem;
}

.purchases-reception-table th:nth-child(3),
.purchases-reception-table td:nth-child(3) {
    width: 6.2rem;
}

.purchases-reception-table th:nth-child(4),
.purchases-reception-table td:nth-child(4) {
    width: 6.2rem;
}

.purchases-reception-table th:nth-child(5),
.purchases-reception-table td:nth-child(5) {
    width: 5.4rem;
}

.purchases-reception-table th:nth-child(6),
.purchases-reception-table td:nth-child(6) {
    width: 7.5rem;
}

.purchases-reception-table th:nth-child(7),
.purchases-reception-table td:nth-child(7) {
    width: 8rem;
}

.purchases-reception-table th:nth-child(3),
.purchases-reception-table th:nth-child(4),
.purchases-reception-table th:nth-child(5) {
    white-space: nowrap;
    font-size: .68rem;
}

.purchases-confirm-table {
    table-layout: fixed;
    width: 100%;
}

.purchases-confirm-table th:nth-child(1),
.purchases-confirm-table td:nth-child(1) {
    width: 2rem;
}

.purchases-confirm-table th:nth-child(3),
.purchases-confirm-table td:nth-child(3) {
    width: 8.4rem;
}

.purchases-confirm-table th:nth-child(4),
.purchases-confirm-table td:nth-child(4) {
    width: 6.4rem;
}

.purchases-confirm-table th:nth-child(5),
.purchases-confirm-table td:nth-child(5),
.purchases-confirm-table th:nth-child(6),
.purchases-confirm-table td:nth-child(6) {
    width: 6.6rem;
}

.purchases-confirm-table th:nth-child(3),
.purchases-confirm-table th:nth-child(4),
.purchases-confirm-table th:nth-child(5),
.purchases-confirm-table th:nth-child(6) {
    white-space: nowrap;
}

.purchases-lines-totals,
.purchases-pay-summary,
.purchases-confirm-grid > div {
    margin-top: .8rem;
    padding: .8rem 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}

.purchases-lines-totals .is-total strong,
.purchases-pay-summary .is-total strong,
.purchases-confirm-grid .is-total strong {
    color: #1d4ed8;
    font-size: 1.05rem;
}

.purchases-pay-layout,
.purchases-confirm-grid {
    grid-template-columns: 1fr 1fr;
}

.purchases-reception-banner,
.purchases-ready-banner,
.purchases-reception-note {
    margin-bottom: .75rem;
    padding: .7rem .85rem;
    border-radius: 10px;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: .82rem;
    font-weight: 700;
}

.purchases-reception-note {
    margin-top: .75rem;
    background: #fff7ed;
    color: #9a3412;
}

#btnPurchaseNextStep,
#btnSavePurchase {
    min-width: 11rem;
}

@media (max-width: 900px) {
    .purchases-supplier-row,
    .purchases-doc-row,
    .purchases-doc-row-split,
    .purchases-pay-layout,
    .purchases-confirm-grid,
    .purchases-product-add {
        grid-template-columns: 1fr;
    }
}

.purchases-detail-payment-facts {
    margin-top: .15rem;
}

.purchases-detail-payment-facts article:nth-child(5),
.purchases-detail-payment-facts article:nth-child(6) {
    grid-column: span 1;
}

.purchases-wizard-modal .purchases-product-field {
    margin-bottom: .75rem;
}

.purchases-summary-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
    margin-bottom: .8rem;
}

.purchases-summary-meta div {
    min-width: 0;
    padding: .55rem .65rem;
    border: 1px solid #edf2f7;
    border-radius: 8px;
    background: #f8fafc;
}

.purchases-summary-meta span,
.purchases-summary-totals span {
    display: block;
    color: #64748b;
    font-size: .66rem;
    font-weight: 800;
    text-transform: uppercase;
}

.purchases-summary-meta strong {
    display: block;
    margin-top: .18rem;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.purchases-summary-table thead th {
    padding: .28rem .5rem;
}

.purchases-summary-table tbody td {
    padding: .18rem .5rem;
    line-height: 1.15;
}

.purchases-summary-table td strong,
.purchases-summary-table td small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.purchases-summary-table td small {
    margin-top: 0;
    color: #64748b;
    font-size: .62rem;
    font-weight: 700;
    line-height: 1.1;
}

.purchases-summary-totals {
    display: grid;
    justify-content: end;
    gap: .4rem;
    margin-top: .85rem;
    min-width: 240px;
    margin-left: auto;
}

.purchases-summary-totals div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.purchases-summary-totals strong {
    color: #0f172a;
    font-size: .9rem;
    font-weight: 900;
}

.purchases-summary-totals .is-total strong {
    color: #16a34a;
    font-size: 1.2rem;
}

.purchases-invoice {
    max-height: min(58vh, 640px);
    overflow: auto;
    padding: .15rem .1rem .35rem;
}

.purchases-invoice-paper {
    max-width: 720px;
    margin: 0 auto;
    padding: 1.15rem 1.25rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.purchases-invoice-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .85rem;
    border-bottom: 2px solid #0f172a;
}

.purchases-invoice-brand {
    min-width: 0;
}

.purchases-invoice-brand strong {
    display: block;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: .01em;
}

.purchases-invoice-brand span {
    display: block;
    color: #475569;
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.35;
}

.purchases-invoice-doc {
    text-align: right;
    min-width: 180px;
}

.purchases-invoice-doc em {
    display: block;
    color: #b91c1c;
    font-size: .72rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .12em;
}

.purchases-invoice-doc strong {
    display: block;
    margin: .1rem 0 .25rem;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 900;
}

.purchases-invoice-doc span,
.purchases-invoice-doc b {
    color: #334155;
    font-size: .75rem;
    font-weight: 700;
}

.purchases-invoice-parties {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: .7rem;
    margin: .85rem 0 .75rem;
}

.purchases-invoice-parties article {
    min-width: 0;
}

.purchases-invoice-parties small {
    display: block;
    color: #64748b;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.purchases-invoice-parties strong {
    display: block;
    margin-top: .12rem;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 800;
}

.purchases-invoice-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

.purchases-invoice-table th {
    padding: .4rem .45rem;
    border-top: 1px solid #0f172a;
    border-bottom: 1px solid #0f172a;
    color: #0f172a;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.purchases-invoice-table td {
    padding: .38rem .45rem;
    border-bottom: 1px solid #e2e8f0;
    color: #0f172a;
    font-size: .8rem;
    font-weight: 700;
}

.purchases-invoice-table th:first-child,
.purchases-invoice-table td:first-child {
    width: 70px;
}

.purchases-invoice-table th:nth-child(3),
.purchases-invoice-table td:nth-child(3),
.purchases-invoice-table th:nth-child(4),
.purchases-invoice-table td:nth-child(4) {
    width: 110px;
    text-align: right;
}

.purchases-invoice-table td small {
    display: block;
    color: #64748b;
    font-size: .66rem;
    font-weight: 700;
}

.purchases-invoice-foot {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 1rem;
    align-items: start;
    margin-top: .75rem;
}

.purchases-invoice-notes span {
    display: block;
    color: #64748b;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.purchases-invoice-notes p {
    margin: .2rem 0 .7rem;
    color: #334155;
    font-size: .78rem;
    font-weight: 700;
}

.purchases-invoice-pay {
    display: grid;
    gap: .25rem;
}

.purchases-invoice-pay div {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    font-size: .78rem;
    font-weight: 700;
    color: #475569;
}

.purchases-invoice-totals {
    margin: 0;
    min-width: 0;
}

@media (max-width: 767.98px) {
    .purchases-invoice-head,
    .purchases-invoice-foot {
        grid-template-columns: 1fr;
    }

    .purchases-invoice-parties {
        grid-template-columns: 1fr;
    }

    .purchases-invoice-doc {
        text-align: left;
    }
}

.purchases-validation-list {
    margin: 0;
    padding-left: 1.1rem;
    text-align: left;
}

.purchases-validation-list li + li {
    margin-top: .28rem;
}

.purchases-detail-modal {
    overflow: hidden;
    border: 0;
    border-radius: 14px;
}

.purchases-detail-head,
.purchases-detail-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
}

.purchases-detail-head {
    padding: .7rem .85rem .55rem;
    border-bottom: 1px solid #e8eef5;
}

.purchases-detail-head-copy {
    display: flex;
    align-items: center;
    gap: .6rem;
    min-width: 0;
}

.purchases-detail-head-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #2563eb;
    font-size: .85rem;
}

.purchases-detail-head h4 {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
}

.purchases-detail-head p {
    margin: .08rem 0 0;
    color: #64748b;
    font-size: .7rem;
    font-weight: 600;
}

.purchases-detail-close {
    width: 28px;
    height: 28px;
    border: 1px solid #fecaca;
    border-radius: 7px;
    background: #fff;
    color: #dc2626;
    line-height: 1;
}

.purchases-detail-close:hover,
.purchases-detail-close:focus {
    background: #fef2f2;
}

.purchases-detail-body {
    padding: .65rem .85rem .5rem;
}

.purchases-detail-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .6rem;
    align-items: center;
    margin-bottom: .55rem;
    padding: .5rem .6rem;
    border: 1px solid #e8eef5;
    border-radius: 10px;
    background: #f8fafc;
}

.purchases-detail-hero-status,
.purchases-detail-hero-total {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.purchases-detail-hero-check,
.purchases-detail-hero-wallet {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #16a34a;
    font-size: .7rem;
}

.purchases-detail-hero small {
    display: block;
    color: #64748b;
    font-size: .62rem;
    font-weight: 800;
    text-transform: uppercase;
}

.purchases-detail-hero-total {
    padding: .35rem .55rem;
    border-radius: 9px;
    background: #ecfdf3;
}

.purchases-detail-hero-total strong {
    display: block;
    color: #16a34a;
    font-size: 1.15rem;
    font-weight: 900;
    line-height: 1.1;
}

.purchases-detail-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .4rem;
    margin-bottom: .55rem;
}

.purchases-detail-facts article {
    display: flex;
    align-items: flex-start;
    gap: .4rem;
    min-width: 0;
    padding: .42rem .48rem;
    border: 1px solid #e8eef5;
    border-radius: 8px;
    background: #fff;
}

.purchases-detail-facts article:nth-child(5),
.purchases-detail-facts article:nth-child(6) {
    grid-column: span 2;
}

.purchases-detail-facts i {
    margin-top: .12rem;
    color: #2563eb;
    font-size: .78rem;
}

.purchases-detail-facts span {
    display: block;
    color: #64748b;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.purchases-detail-facts strong {
    display: block;
    margin-top: .1rem;
    color: #0f172a;
    font-size: .74rem;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.purchases-detail-products {
    overflow: hidden;
    border: 1px solid #e8eef5;
    border-radius: 10px;
}

.purchases-detail-products-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .42rem .55rem;
    background: #fff;
}

.purchases-detail-products-head > div {
    display: flex;
    align-items: center;
    gap: .4rem;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 800;
}

.purchases-detail-products-head i {
    color: #2563eb;
}

.purchases-detail-products-head span {
    border-radius: 999px;
    padding: .12rem .45rem;
    color: #475569;
    background: #eef2f7;
    font-size: .64rem;
    font-weight: 800;
}

.purchases-detail-items-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

.purchases-detail-items-table th,
.purchases-detail-items-table td {
    padding: .38rem .5rem;
    font-size: .72rem;
    vertical-align: middle;
}

.purchases-detail-items-table thead th {
    border: 0;
    color: #fff;
    background: #0f2744;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.purchases-detail-items-table tbody td {
    border-top: 1px solid #eef2f7;
    color: #0f172a;
    font-weight: 700;
}

.purchases-detail-items-table tbody td:last-child {
    font-weight: 900;
}

.purchases-detail-items-table em {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #16a34a;
    color: #fff;
    font-size: .62rem;
    font-style: normal;
    font-weight: 800;
}

.purchases-detail-foot {
    padding: .55rem .85rem .7rem;
    border-top: 1px solid #e8eef5;
}

.purchases-detail-foot p {
    display: flex;
    align-items: center;
    gap: .35rem;
    margin: 0;
    color: #3b82f6;
    font-size: .68rem;
    font-weight: 700;
}

.purchases-detail-actions {
    display: flex;
    align-items: center;
    gap: .4rem;
}

.purchases-detail-actions .btn {
    min-height: 30px;
    border-radius: 7px;
    font-size: .72rem;
    font-weight: 800;
}

.purchases-detail-actions .btn-primary {
    background: #0f2744;
    border-color: #0f2744;
}

.purchases-history-table td {
    overflow: hidden;
    text-overflow: ellipsis;
}

.purchase-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    border-radius: 6px;
    padding: .14rem .46rem;
    font-size: .64rem;
    font-weight: 900;
    white-space: nowrap;
}

.purchase-status-badge.is-approved {
    color: #047857;
    background: #dcfce7;
}

.purchase-status-badge.is-draft {
    color: #b45309;
    background: #ffedd5;
}

.purchase-payment-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    border-radius: 6px;
    padding: .14rem .46rem;
    font-size: .64rem;
    font-weight: 900;
    white-space: nowrap;
    color: #475569;
    background: #eef2f7;
}

.purchase-payment-badge.is-cash {
    color: #047857;
    background: #dcfce7;
}

.purchase-payment-badge.is-credit {
    color: #1d4ed8;
    background: #dbeafe;
}

.purchases-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.purchases-control-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .28rem;
}

.purchases-control-filters button {
    min-height: 26px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #fff;
    color: #475569;
    font-size: .68rem;
    font-weight: 800;
    padding: .12rem .55rem;
}

.purchases-control-filters button.is-active {
    border-color: #0f2744;
    background: #0f2744;
    color: #fff;
}

.purchase-control-badge {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    min-height: 22px;
    border-radius: 999px;
    padding: .14rem .5rem;
    font-size: .64rem;
    font-weight: 900;
    white-space: nowrap;
}

.purchase-control-badge::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
}

.purchase-control-badge.is-pendiente {
    color: #b91c1c;
    background: #fee2e2;
}

.purchase-control-badge.is-parcial {
    color: #c2410c;
    background: #ffedd5;
}

.purchase-control-badge.is-pagado {
    color: #15803d;
    background: #dcfce7;
}

.purchase-control-badge.is-anulado {
    color: #334155;
    background: #e2e8f0;
}

.purchases-control-modal {
    max-height: calc(100vh - 2rem);
    overflow: hidden;
}

.purchases-control-hero {
    grid-template-columns: minmax(0, 1fr) 42px;
    padding: .85rem 2.9rem .85rem 1rem;
}

.purchases-control-hero .cash-flow-movement-kicker {
    font-size: .68rem;
    margin-bottom: .22rem;
}

.purchases-control-hero h5 {
    font-size: 1rem;
}

.purchases-control-hero p {
    font-size: .78rem;
}

.purchases-control-hero .cash-flow-movement-hero-icon {
    width: 42px;
    height: 42px;
    font-size: 1rem;
    box-shadow: 0 10px 18px rgba(37, 99, 235, .16);
}

.purchases-control-body {
    max-height: calc(100vh - 210px);
    overflow-y: auto;
    padding: .85rem 1rem;
}

.purchases-control-status {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: .75rem;
}

.purchases-control-status small {
    color: #64748b;
    font-size: .75rem;
    font-weight: 700;
}

.purchases-control-summary {
    margin-bottom: .75rem;
    gap: .55rem;
}

.purchases-control-summary div {
    padding: .58rem .65rem;
}

.purchases-control-summary span {
    font-size: .62rem;
}

.purchases-control-summary strong {
    font-size: .82rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.purchases-control-summary .is-paid strong {
    color: #16a34a;
}

.purchases-control-summary .is-balance strong {
    color: #dc2626;
}

.purchases-control-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.purchases-control-grid .cash-flow-movement-field {
    margin-bottom: 0;
}

.purchases-control-grid .cash-flow-movement-field label {
    font-size: .72rem;
}

.purchases-control-grid .cash-flow-movement-field .form-control,
.purchases-control-grid .cash-flow-movement-field .input-group-text {
    min-height: 36px;
    font-size: .82rem;
    font-weight: 700;
}

.purchases-control-grid .cash-flow-movement-amount .form-control {
    font-size: .92rem;
}

.purchases-control-note {
    grid-column: 1 / -1;
}

.purchases-control-modal .purchases-control-footer {
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-end;
    gap: .32rem;
    padding: .7rem .75rem;
}

.purchases-control-modal .purchases-control-footer .btn {
    flex: 1 1 0;
    min-width: 0;
    min-height: 34px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: .68rem;
    font-weight: 800;
    padding: .32rem .4rem;
}

.purchases-control-modal .purchases-control-footer .btn i {
    margin-right: .22rem;
}

@media (max-width: 575.98px) {
    .purchases-control-summary,
    .purchases-control-grid {
        grid-template-columns: 1fr;
    }
}

.purchases-summary-card,
.purchases-detail-card {
    margin-bottom: 0;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
    overflow: hidden;
}

.purchases-summary-card .card-header,
.purchases-detail-card .card-header {
    min-height: 36px;
    padding: .48rem .7rem;
    border-bottom: 1px solid #e2e8f0;
    background: #fff;
}

.purchases-summary-card .card-title,
.purchases-detail-card .card-title {
    margin: 0;
    color: #0f172a;
    font-size: .88rem;
    font-weight: 900;
}

.purchases-summary-card .card-body,
.purchases-detail-card .card-body {
    padding: .8rem;
}

.purchases-summary-lines {
    display: grid;
    gap: .45rem;
    padding-bottom: .7rem;
    border-bottom: 1px solid #edf2f7;
}

.purchases-summary-lines div,
.purchases-summary-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.purchases-summary-lines span,
.purchases-summary-total span {
    color: #475569;
    font-size: .78rem;
    font-weight: 800;
}

.purchases-summary-lines strong {
    color: #0f172a;
    font-size: .84rem;
    font-weight: 900;
}

.purchases-summary-total {
    padding: .8rem 0;
}

.purchases-summary-total strong {
    color: #16a34a;
    font-size: 1.25rem;
    font-weight: 900;
}

.purchases-save-btn {
    min-height: 36px;
    border-radius: 6px;
    font-size: .8rem;
    font-weight: 900;
}

.purchases-detail-empty {
    min-height: 170px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    color: #64748b;
    background: #f8fafc;
    font-size: .82rem;
    font-weight: 800;
}

.purchases-detail-top {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: .65rem;
    align-items: center;
    margin-bottom: .75rem;
}

.purchases-detail-icon {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0d6efd;
    background: #eff6ff;
    font-size: 1rem;
}

.purchases-detail-top span,
.purchases-detail-grid dt {
    display: block;
    color: #64748b;
    font-size: .66rem;
    font-weight: 900;
    text-transform: uppercase;
}

.purchases-detail-top strong {
    display: block;
    margin-top: .16rem;
    color: #0f172a;
    font-size: .95rem;
    font-weight: 900;
}

.purchases-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin: 0;
}

.purchases-detail-grid div {
    min-width: 0;
    border: 1px solid #edf2f7;
    border-radius: 7px;
    background: #fff;
    padding: .55rem;
}

.purchases-detail-grid dd {
    margin: .18rem 0 0;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.suppliers-page-header {
    align-items: center;
}

.suppliers-create-btn {
    min-height: 32px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(13, 110, 253, .16);
}

.sales-history-kpi-row.suppliers-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.suppliers-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.suppliers-list-card {
    margin-bottom: 0;
}

.suppliers-list-card .card-body {
    padding: .65rem;
}

.suppliers-list-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 170px 38px;
    gap: .55rem;
    margin-bottom: .65rem;
    align-items: center;
}

.suppliers-list-toolbar .form-control {
    height: 34px;
    min-height: 34px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}

.suppliers-search-field .form-control {
    padding-left: 1.8rem;
}

.suppliers-clear-btn {
    width: 38px;
    height: 34px;
    padding: 0;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.suppliers-table {
    table-layout: fixed;
}

.suppliers-table th:nth-child(1) { width: 5%; }
.suppliers-table th:nth-child(2) { width: 24%; }
.suppliers-table th:nth-child(3) { width: 9%; }
.suppliers-table th:nth-child(4) { width: 13%; }
.suppliers-table th:nth-child(5) { width: 12%; }
.suppliers-table th:nth-child(6) { width: 17%; }
.suppliers-table th:nth-child(7) { width: 8%; }
.suppliers-table th:nth-child(8) { width: 12%; }

.suppliers-table td {
    overflow: hidden;
    text-overflow: ellipsis;
}

.suppliers-table-name {
    min-width: 0;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: .48rem;
    align-items: center;
}

.suppliers-table-name strong {
    overflow: hidden;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: normal;
}

.suppliers-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 900;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .12);
}

.suppliers-avatar {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    flex: 0 0 34px;
    font-size: .68rem;
}

.suppliers-avatar.tone-1 { background: #0d6efd; }
.suppliers-avatar.tone-2 { background: #10b981; }
.suppliers-avatar.tone-3 { background: #6d28d9; }
.suppliers-avatar.tone-4 { background: #f97316; }
.suppliers-avatar.tone-5 { background: #ec4899; }
.suppliers-avatar.tone-6 { background: #0ea5e9; }

.suppliers-products-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 24px;
    border: 1px solid #dbeafe;
    border-radius: 6px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .72rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.supplier-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    border-radius: 6px;
    padding: .14rem .46rem;
    font-size: .64rem;
    font-weight: 900;
    white-space: nowrap;
}

.supplier-status-badge.is-active {
    color: #047857;
    background: #dcfce7;
}

.supplier-status-badge.is-inactive {
    color: #b45309;
    background: #ffedd5;
}

.suppliers-table-actions {
    gap: .26rem;
}

.suppliers-table-actions .btn {
    width: 27px;
    height: 27px;
}

.sales-history-kpi-row.transfers-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.transfers-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.transfers-main-column {
    min-width: 0;
    display: grid;
    gap: .75rem;
}

.transfers-list-card,
.transfers-form-card,
.transfers-detail-card {
    margin-bottom: 0;
}

.transfers-detail-card {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 210px);
}

.transfers-detail-card .card-header {
    flex: 0 0 auto;
}

.transfers-list-card .card-body,
.transfers-form-card .card-body,
.transfers-detail-card .card-body {
    padding: .65rem;
}

.transfers-detail-card .card-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

.transfers-list-toolbar {
    display: grid;
    grid-template-columns: 150px 180px minmax(0, 1fr) 38px;
    gap: .55rem;
    margin-bottom: .65rem;
    align-items: center;
}

.transfers-list-toolbar .form-control,
.transfers-form-grid .form-control {
    height: 34px;
    min-height: 34px;
    border-color: #dbe4f0;
    border-radius: 6px;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 700;
}

.transfers-search-field .form-control {
    padding-left: 1.8rem;
}

.transfers-clear-btn {
    width: 38px;
    height: 34px;
    padding: 0;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.transfers-table,
.transfers-items-table {
    table-layout: fixed;
}

.transfers-table th:nth-child(1) { width: 16%; }
.transfers-table th:nth-child(2) { width: 13%; }
.transfers-table th:nth-child(3) { width: 26%; }
.transfers-table th:nth-child(4) { width: 11%; }
.transfers-table th:nth-child(5) { width: 11%; }
.transfers-table th:nth-child(6) { width: 13%; }
.transfers-table th:nth-child(7) { width: 10%; }

.transfers-table tbody tr {
    cursor: default;
}

.transfers-table tbody tr.active td {
    background: #eff6ff;
}

.transfers-table td {
    overflow: hidden;
    text-overflow: ellipsis;
}

.transfers-table td:nth-child(2),
.transfers-table td:nth-child(3) {
    white-space: normal;
}

.transfers-table td:nth-child(7) {
    overflow: visible;
    text-align: center;
    white-space: nowrap;
}

.transfers-datetime,
.transfers-route {
    display: flex;
    flex-direction: column;
    gap: .12rem;
    line-height: 1.25;
    white-space: normal;
}

.transfers-datetime span,
.transfers-route span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.transfers-row-icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .72rem;
}

.transfers-row-icon.is-send,
.transfer-type-badge.is-send {
    color: #047857;
    background: #dcfce7;
}

.transfers-row-icon.is-receive,
.transfer-type-badge.is-receive {
    color: #0d6efd;
    background: #dbeafe;
}

.transfer-type-badge,
.transfer-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    border-radius: 6px;
    padding: .14rem .46rem;
    font-size: .64rem;
    font-weight: 900;
    white-space: nowrap;
}

.transfer-status-badge.is-complete {
    color: #047857;
    background: #dcfce7;
}

.transfer-status-badge.is-pending {
    color: #92400e;
    background: #fef3c7;
}

.transfer-status-badge.is-sent {
    color: #075985;
    background: #e0f2fe;
}

.transfer-status-badge.is-warning {
    color: #9a3412;
    background: #ffedd5;
}

.transfer-status-badge.is-cancelled {
    color: #991b1b;
    background: #fee2e2;
}

.transfers-table .btn-view-transfer {
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.transfers-form-card .card-header,
.transfers-detail-card .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.transfers-items-count {
    color: #64748b;
    font-size: .7rem;
    font-weight: 800;
}

.transfers-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 170px 170px;
    gap: .55rem;
    align-items: end;
    margin-bottom: .65rem;
}

.transfers-form-grid .form-group {
    margin-bottom: 0;
}

.transfers-form-grid label {
    margin-bottom: .16rem;
    color: #475569;
    font-size: .66rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.transfers-product-search {
    position: relative;
}

.transfers-search-results {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 1080;
    max-height: 260px;
    overflow-y: auto;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .14);
}

.transfers-search-results:empty {
    display: none;
}

.transfers-search-results .list-group-item {
    border-color: #edf2f7;
    padding: .5rem .65rem;
}

.transfers-search-results .list-group-item strong,
.transfers-search-results .list-group-item small,
.transfers-items-table td strong,
.transfers-items-table td small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.transfers-search-results .list-group-item strong,
.transfers-items-table td strong {
    color: #0f172a;
    font-size: .8rem;
    font-weight: 900;
}

.transfers-search-results .list-group-item small,
.transfers-items-table td small {
    margin-top: .12rem;
    color: #64748b;
    font-size: .7rem;
    font-weight: 700;
}

.transfers-items-table th:nth-child(1) { width: 54%; }
.transfers-items-table th:nth-child(2) { width: 18%; }
.transfers-items-table th:nth-child(3) { width: 20%; }
.transfers-items-table th:nth-child(4) { width: 8%; }

.transfers-items-table .form-control-sm {
    height: 28px;
    min-height: 28px;
    border-color: #dbe4f0;
    border-radius: 6px;
    font-size: .74rem;
    font-weight: 800;
}

.transfers-empty-row td {
    padding: 0 !important;
}

.transfers-empty-state {
    min-height: 112px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    color: #64748b;
    background: #f8fafc;
    font-size: .82rem;
    font-weight: 800;
}

.transfers-empty-state i {
    color: #0d6efd;
    font-size: 1rem;
}

.transfers-form-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: .65rem;
}

.transfers-form-footer .btn {
    min-height: 36px;
    border-radius: 6px;
    font-size: .8rem;
    font-weight: 900;
}

.transfers-detail-empty {
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    color: #64748b;
    background: #f8fafc;
    font-size: .82rem;
    font-weight: 800;
}

.transfers-detail-head {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: .6rem;
    align-items: center;
    margin-bottom: .55rem;
}

.transfers-detail-icon {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: .92rem;
    background: #2563eb;
    box-shadow: 0 8px 16px rgba(37, 99, 235, .22);
}

.transfers-detail-head strong {
    display: block;
    overflow: hidden;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.25;
    word-break: break-word;
}

.transfers-detail-head .transfer-status-badge {
    margin-top: .28rem;
}

.transfers-detail-times {
    display: grid;
    gap: .18rem;
    margin-bottom: .35rem;
}

.transfers-detail-times span {
    display: flex;
    align-items: flex-start;
    gap: .35rem;
    color: #64748b;
    font-size: .64rem;
    font-weight: 700;
    line-height: 1.3;
}

.transfers-detail-times i {
    width: 12px;
    margin-top: .12rem;
    color: #64748b;
    font-size: .62rem;
}

.transfers-detail-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: .4rem;
    margin-bottom: .15rem;
}

.transfers-detail-summary div:last-child {
    grid-column: 1 / -1;
}

.transfers-detail-summary div {
    min-width: 0;
    padding: .4rem .45rem;
    border: 1px solid #edf2f7;
    border-radius: 7px;
    background: #f8fafc;
}

.transfers-detail-summary span,
.transfers-detail-summary strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.transfers-detail-summary span {
    color: #64748b;
    font-size: .58rem;
    font-weight: 800;
    text-transform: uppercase;
}

.transfers-detail-summary strong {
    margin-top: .12rem;
    color: #0f172a;
    font-size: .72rem;
    font-weight: 900;
}

.transfers-detail-summary strong.is-ok {
    color: #16a34a;
}

.transfers-detail-summary strong.is-diff,
.transfers-amount-summary strong.is-diff,
.transfers-detail-items-table td.is-diff {
    color: #c2410c;
}

.transfers-detail-items-table td.is-ok {
    color: #16a34a;
}

.transfers-detail-section-title {
    margin: .7rem 0 .4rem;
    color: #0f172a;
    font-size: .72rem;
    font-weight: 900;
}

.transfers-detail-list {
    display: grid;
    gap: .32rem;
    margin: 0;
}

.transfers-detail-list div,
.transfers-amount-summary div {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: .4rem;
    align-items: start;
}

.transfers-detail-list dt,
.transfers-amount-summary span {
    color: #64748b;
    font-size: .62rem;
    font-weight: 900;
}

.transfers-detail-list dd,
.transfers-amount-summary strong {
    margin: 0;
    overflow: hidden;
    color: #0f172a;
    font-size: .7rem;
    font-weight: 900;
    text-overflow: ellipsis;
    word-break: break-word;
}

.transfers-amount-summary {
    display: grid;
    gap: .32rem;
    padding-bottom: .55rem;
    border-bottom: 1px solid #edf2f7;
}

.transfers-amount-summary strong.is-positive,
.transfers-detail-summary strong.is-ok {
    color: #16a34a;
}

.transfers-detail-items {
    border: 1px solid #edf2f7;
    border-radius: 8px;
    overflow-x: auto;
}

.transfers-detail-loading {
    padding: .75rem;
    color: #64748b;
    background: #f8fafc;
    font-size: .74rem;
    font-weight: 800;
    text-align: center;
}

.transfers-detail-items-table {
    width: 100%;
    min-width: 520px;
    margin: 0;
    table-layout: fixed;
    border-collapse: collapse;
}

.transfers-detail-items-table th,
.transfers-detail-items-table td {
    padding: .38rem .28rem;
    border-bottom: 1px solid #edf2f7;
    color: #0f172a;
    font-size: .62rem;
    font-weight: 800;
    vertical-align: middle;
}

.transfers-detail-items-table th {
    color: #475569;
    background: #f8fafc;
    font-size: .54rem;
    font-weight: 900;
    text-transform: uppercase;
}

.transfers-detail-items-table th:nth-child(1) { width: 28px; }
.transfers-detail-items-table th:nth-child(2) { width: 22%; }
.transfers-detail-items-table th:nth-child(3) { width: 42px; }
.transfers-detail-items-table tfoot td {
    background: #f8fafc;
    font-weight: 900;
}

.transfers-detail-items-table td strong,
.transfers-detail-items-table td small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.transfers-detail-items-table td small {
    margin-top: .12rem;
    color: #64748b;
    font-size: .64rem;
}

.transfers-detail-items-table .form-control-sm {
    height: 28px;
    min-height: 28px;
    padding: .2rem .35rem;
    border-radius: 6px;
    font-size: .7rem;
    font-weight: 900;
}

.transfers-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .65rem;
    padding-bottom: .65rem;
    border-bottom: 1px solid #edf2f7;
}

.transfers-detail-actions .btn {
    min-height: 32px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 900;
}

.sale-annul-reason-input {
    width: 100% !important;
    min-height: 112px !important;
    margin: 0 !important;
    padding: .65rem .75rem;
    border: 1px solid #d9e2ef;
    resize: vertical;
    border-radius: 6px;
    background: #fff;
    color: #0f172a;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.45;
    pointer-events: auto;
    position: relative;
    z-index: 1;
}

.sale-annul-reason-input:focus {
    border-color: #0d6efd;
    outline: 0;
    box-shadow: 0 0 0 .14rem rgba(13, 110, 253, .12);
}

.sale-annul-modal {
    border-radius: 8px;
}

.sale-annul-modal label {
    color: #334155;
    font-size: .78rem;
    font-weight: 900;
}

.sale-annul-modal textarea.form-control {
    min-height: 112px;
    border-color: #d9e2ef;
    border-radius: 6px;
    color: #0f172a;
    font-size: .84rem;
    font-weight: 700;
    resize: vertical;
}

.sale-annul-modal textarea.form-control:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 .14rem rgba(13, 110, 253, .12);
}

.transfers-history-list {
    display: grid;
    gap: .5rem;
}

.transfers-history-list div {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr);
    gap: .12rem .45rem;
    align-items: start;
}

.transfers-history-list span {
    grid-row: 1 / span 3;
    width: 9px;
    height: 9px;
    margin-top: .22rem;
    border-radius: 999px;
    background: #10b981;
}

.transfers-history-list.is-sent span,
.transfers-history-list div.is-sent span {
    background: #0284c7;
}

.transfers-history-list div.is-pending span {
    background: transparent;
    box-shadow: inset 0 0 0 2px #2563eb;
}

.transfers-history-list div.is-warning span {
    background: #ea580c;
}

.transfers-history-list div.is-cancelled span {
    background: #dc2626;
}

.transfers-history-list strong,
.transfers-history-list small,
.transfers-history-list em {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.transfers-history-list strong {
    color: #0f172a;
    font-size: .68rem;
    font-weight: 900;
}

.transfers-history-list small {
    color: #334155;
    font-size: .64rem;
    font-weight: 700;
    white-space: nowrap;
}

.transfers-history-list em {
    color: #64748b;
    font-size: .58rem;
    font-style: normal;
    font-weight: 700;
}

.transfers-sheet {
    display: grid;
    gap: .85rem;
}

.transfers-sheet-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
}

.transfers-sheet-back,
.transfers-sheet-print,
.transfers-sheet-more {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 38px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    color: #334155;
    padding: .4rem .9rem;
    font-size: .82rem;
    font-weight: 800;
    cursor: pointer;
}

.transfers-sheet-back {
    border: 0;
    background: transparent;
    color: #2563eb;
    padding-left: 0;
}

.transfers-sheet-print.is-confirm {
    background: #0ea5e9;
    border-color: #0ea5e9;
    color: #fff;
}

.transfers-sheet-toolbar-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.transfers-sheet-content {
    display: grid;
    gap: .85rem;
}

.transfers-sheet-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    padding: 1.05rem 1.15rem;
}

.transfers-sheet-card h4 {
    margin: 0 0 .85rem;
    color: #0f172a;
    font-size: .92rem;
    font-weight: 900;
}

.transfers-sheet-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .85fr);
    gap: 1.1rem;
    align-items: start;
}

.transfers-sheet-identity {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: .9rem;
    align-items: center;
    margin-bottom: .9rem;
}

.transfers-sheet-identity .transfers-detail-icon {
    width: 64px;
    height: 64px;
    font-size: 1.25rem;
}

.transfers-sheet-identity strong {
    display: block;
    color: #0f172a;
    font-size: 1.22rem;
    font-weight: 900;
    line-height: 1.25;
    word-break: break-word;
}

.transfers-sheet-identity .transfer-status-badge {
    margin-top: .4rem;
    min-height: 24px;
    border-radius: 999px;
    padding: .18rem .7rem;
    font-size: .68rem;
}

.transfers-sheet-times {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1.4rem;
}

.transfers-sheet-times span {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #64748b;
    font-size: .78rem;
    font-weight: 700;
}

.transfers-sheet-times i {
    color: #94a3b8;
}

.transfers-sheet-resumen {
    border: 1px solid #edf2f7;
    border-radius: 10px;
    background: #fcfdff;
    padding: .85rem .95rem;
}

.transfers-sheet-resumen h4 {
    margin-bottom: .7rem;
}

#transferDetailSummary {
    display: grid;
    gap: .7rem;
}

#transferDetailSummary > div {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: .55rem;
    align-items: start;
}

#transferDetailSummary i {
    margin-top: .18rem;
    color: #2563eb;
    font-size: .78rem;
}

#transferDetailSummary span,
.transfers-sheet-quantities span,
.transfers-sheet-fields dt {
    display: block;
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
}

#transferDetailSummary strong,
.transfers-sheet-quantities strong,
.transfers-sheet-fields dd {
    display: block;
    margin: .08rem 0 0;
    color: #0f172a;
    font-size: .92rem;
    font-weight: 900;
}

#transferDetailSummary em,
.transfers-sheet-quantities em {
    display: inline-block;
    margin-top: .18rem;
    color: #16a34a;
    font-size: .68rem;
    font-style: normal;
    font-weight: 800;
}

.transfers-sheet-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: .85rem;
}

.transfers-sheet-fields {
    display: grid;
    gap: .85rem;
    margin: 0;
}

.transfers-sheet-fields > div {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: .65rem;
    align-items: start;
}

.transfers-sheet-fields i {
    margin-top: .2rem;
    color: #2563eb;
    font-size: .78rem;
}

.transfers-sheet-quantities {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .75rem;
}

.transfers-sheet-quantities strong.is-ok,
#transferDetailSummary strong.is-ok,
.transfers-detail-items-table .is-ok {
    color: #16a34a;
}

.transfers-sheet-quantities strong.is-cost,
.transfers-detail-items-table .is-cost {
    color: #2563eb;
}

.transfers-sheet .transfers-detail-items {
    border: 0;
    overflow-x: auto;
}

.transfers-sheet .transfers-detail-items-table {
    min-width: 860px;
}

.transfers-sheet .transfers-detail-items-table th,
.transfers-sheet .transfers-detail-items-table td {
    padding: .7rem .55rem;
    font-size: .78rem;
}

.transfers-sheet .transfers-detail-items-table th {
    font-size: .68rem;
    letter-spacing: .02em;
}

.transfers-sheet .transfers-detail-items-table th:nth-child(1) { width: 42px; }
.transfers-sheet .transfers-detail-items-table th:nth-child(2) { width: 18%; }
.transfers-sheet .transfers-detail-items-table th:nth-child(3) { width: 14%; }
.transfers-sheet .transfers-detail-items-table th:nth-child(4) { width: 70px; }

.transfers-sheet .transfers-detail-items-table tfoot td {
    background: #f8fafc;
}

.transfers-sheet-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0;
}

.transfers-sheet-timeline li {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: .75rem;
    position: relative;
    padding-bottom: 1.1rem;
}

.transfers-sheet-timeline li:last-child {
    padding-bottom: 0;
}

.transfers-sheet-timeline li:not(:last-child)::before {
    content: '';
    position: absolute;
    top: 22px;
    left: 13px;
    bottom: 0;
    width: 2px;
    background: #dbe4f0;
}

.transfers-sheet-dot {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #22c55e;
    color: #fff;
    font-size: .7rem;
    z-index: 1;
}

.transfers-sheet-timeline li.is-pending .transfers-sheet-dot {
    background: #fff;
    border: 2px solid #2563eb;
    color: #2563eb;
}

.transfers-sheet-timeline li.is-sent .transfers-sheet-dot,
.transfers-sheet-timeline li.is-complete .transfers-sheet-dot {
    background: #22c55e;
}

.transfers-sheet-timeline li.is-warning .transfers-sheet-dot {
    background: #ea580c;
}

.transfers-sheet-timeline li.is-cancelled .transfers-sheet-dot {
    background: #dc2626;
}

.transfers-sheet-timeline strong {
    display: block;
    color: #0f172a;
    font-size: .9rem;
    font-weight: 900;
}

.transfers-sheet-timeline p {
    margin: .12rem 0 0;
    color: #334155;
    font-size: .8rem;
    font-weight: 700;
}

.transfers-sheet-timeline small {
    display: block;
    margin-top: .18rem;
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
}

@media (max-width: 991.98px) {
    .transfers-sheet-hero,
    .transfers-sheet-split,
    .transfers-sheet-quantities {
        grid-template-columns: 1fr;
    }
}

@media print {
    .main-header,
    .main-sidebar,
    .main-footer,
    .transfers-sheet-toolbar {
        display: none !important;
    }

    body.transfers-sheet-open .transfers-list-view {
        display: none !important;
    }

    body.transfers-sheet-open .transfers-sheet.d-none {
        display: grid !important;
    }

    .content-wrapper {
        margin-left: 0 !important;
    }
}

@media (max-width: 1199.98px) {
    .purchases-workspace {
        grid-template-columns: 1fr;
    }

    .suppliers-workspace {
        grid-template-columns: 1fr;
    }

    .transfers-workspace {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .sales-history-kpi-row.purchases-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sales-history-kpi-row.suppliers-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sales-history-kpi-row.transfers-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .purchases-form-grid .form-group,
    .purchases-form-grid .purchases-product-field,
    .purchases-form-grid .purchases-observation-field,
    .purchases-wizard-modal .purchases-form-grid .form-group {
        grid-column: span 6;
    }

    .purchases-wizard-modal .purchases-document-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "supplier"
            "date"
            "serie"
            "type"
            "correlativo";
    }

    .purchases-wizard-modal .purchases-document-grid .form-group {
        grid-column: auto;
        grid-area: auto;
    }

    .purchases-wizard-modal .purchases-document-grid .purchases-supplier-field { grid-area: supplier; }
    .purchases-wizard-modal .purchases-document-grid .purchases-date-field { grid-area: date; }
    .purchases-wizard-modal .purchases-document-grid .purchases-serie-field { grid-area: serie; }
    .purchases-wizard-modal .purchases-document-grid .purchases-doc-type-field { grid-area: type; }
    .purchases-wizard-modal .purchases-document-grid .purchases-correlativo-field { grid-area: correlativo; }

    .purchases-wizard-modal .purchases-payment-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "condition"
            "method"
            "paydate"
            "amount"
            "note";
    }

    .purchases-wizard-modal .purchases-form-grid.purchases-payment-grid .form-group {
        grid-column: auto;
    }

    .purchases-wizard-layout {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .purchases-wizard-stage {
        border-left: 0;
        padding-left: 0;
        padding-top: .2rem;
    }

    .purchases-wizard-steps {
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-bottom: .85rem;
    }

    .purchases-summary-meta,
    .purchases-detail-facts {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 575.98px) {
    .sales-history-kpi-row.purchases-kpi-row,
    .purchases-list-toolbar,
    .purchases-detail-grid {
        grid-template-columns: 1fr;
    }

    .suppliers-page-header {
        align-items: stretch;
        flex-direction: column;
    }

    .suppliers-create-btn {
        width: 100%;
    }

    .sales-history-kpi-row.suppliers-kpi-row,
    .suppliers-list-toolbar {
        grid-template-columns: 1fr;
    }

    .sales-history-kpi-row.transfers-kpi-row,
    .transfers-list-toolbar,
    .transfers-form-grid,
    .transfers-detail-list div,
    .transfers-amount-summary div,
    .transfers-history-list div {
        grid-template-columns: 1fr;
    }

    .purchases-form-grid .form-group,
    .purchases-form-grid .purchases-product-field,
    .purchases-form-grid .purchases-observation-field,
    .purchases-wizard-modal .purchases-form-grid .form-group {
        grid-column: span 12;
    }

    .purchases-wizard-modal .purchases-form-grid.purchases-payment-grid .form-group {
        grid-column: auto;
    }

    .purchases-page-header {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
    }

    .purchases-create-btn {
        width: auto;
    }

    .purchases-detail-facts,
    .purchases-detail-hero,
    .purchases-detail-foot {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }

    .purchases-detail-facts article:nth-child(5),
    .purchases-detail-facts article:nth-child(6) {
        grid-column: span 1;
    }

    .purchases-detail-actions {
        width: 100%;
    }

    .purchases-detail-actions .btn {
        flex: 1 1 auto;
    }
}

@media (max-width: 1199.98px) {
    .inventory-movements-kpi-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .inventory-movements-filter-grid .inventory-movements-search-field,
    .inventory-movements-filter-grid .form-group:not(.inventory-movements-search-field):not(.inventory-movements-filter-actions),
    .inventory-movements-filter-grid .inventory-movements-filter-actions {
        grid-column: span 6 !important;
    }
}

@media (max-width: 575.98px) {
    .inventory-movements-header {
        align-items: stretch;
        flex-direction: column;
    }

    .inventory-movements-actions,
    .inventory-movements-actions .btn,
    .inventory-movements-export,
    .inventory-movements-export .btn {
        width: 100%;
    }

    .inventory-movements-kpi-row,
    .inventory-movement-editor-grid,
    .inventory-movement-detail-grid,
    .inventory-movement-qty-unit-row {
        grid-template-columns: 1fr;
    }

    .inventory-movement-editor-dialog {
        max-width: calc(100% - 1rem);
        margin: .5rem auto;
    }

    .inventory-movement-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: .25rem;
        min-height: 0;
    }

    .inventory-movement-step-quantity {
        max-width: none;
    }

    .inventory-movements-filter-grid .inventory-movements-search-field,
    .inventory-movements-filter-grid .form-group:not(.inventory-movements-search-field):not(.inventory-movements-filter-actions),
    .inventory-movements-filter-grid .inventory-movements-filter-actions {
        grid-column: span 12 !important;
    }
}

.reports-dashboard-tabs .reports-catalog-item {
    appearance: none;
    width: auto;
    min-height: 34px;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #475569;
    padding: .42rem .65rem;
    text-align: center;
    transform: none;
}

.reports-dashboard-tabs .reports-catalog-item:hover,
.reports-dashboard-tabs .reports-catalog-item:focus {
    border-color: transparent;
    border-bottom-color: #93c5fd;
    background: transparent;
    box-shadow: none;
    color: #0d6efd;
    transform: none;
}

.reports-dashboard-tabs .reports-catalog-item.active {
    border-color: transparent;
    border-bottom-color: #0d6efd;
    background: transparent;
    box-shadow: none;
    color: #0d6efd;
}

.reports-dashboard-card-head .reports-catalog-item {
    width: auto;
    min-height: 30px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
    color: #0d6efd;
    padding: .25rem .6rem;
    text-align: center;
    transform: none;
}

.reports-dashboard-card-head .reports-catalog-item:hover,
.reports-dashboard-card-head .reports-catalog-item:focus,
.reports-dashboard-card-head .reports-catalog-item.active {
    border-color: #93c5fd;
    background: #eff6ff;
    box-shadow: none;
    color: #0d6efd;
    transform: none;
}

@media (max-width: 1199.98px) {
    .reports-dashboard-kpis {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .reports-products-kpis {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .reports-cash-kpis {
        grid-template-columns: repeat(3, minmax(160px, 1fr));
    }

    .reports-cash-table .reports-cash-col-theoretical {
        display: none;
    }

    .reports-products-table th:nth-child(3),
    .reports-products-table td:nth-child(3) {
        display: none;
    }

    .reports-dashboard-charts,
    .reports-dashboard-tables,
    .reports-products-analytics,
    .reports-cash-layout,
    .reports-cash-analytics,
    .reports-inventory-layout,
    .reports-inventory-analytics,
    .reports-purchases-layout,
    .reports-purchases-summary-row,
    .reports-purchases-analytics,
    .reports-utility-layout,
    .reports-utility-summary-row,
    .reports-utility-analytics,
    .reports-electronic-layout,
    .reports-electronic-summary-row {
        grid-template-columns: 1fr;
    }

    .reports-dashboard-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reports-sales-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reports-products-filter-grid,
    .reports-cash-filter-grid,
    .reports-inventory-filter-grid,
    .reports-purchases-filter-grid,
    .reports-utility-filter-grid,
    .reports-electronic-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reports-sales-search,
    .reports-sales-filter-actions,
    .reports-products-search,
    .reports-products-filter-actions,
    .reports-cash-filter-actions,
    .reports-inventory-search,
    .reports-inventory-filter-actions,
    .reports-purchases-filter-actions,
    .reports-utility-filter-actions,
    .reports-electronic-search {
        grid-column: span 2;
    }

    .reports-dashboard-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 767.98px) {
    .reports-dashboard-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .reports-dashboard-kpis,
    .reports-dashboard-filters {
        grid-template-columns: 1fr;
    }

    .reports-products-kpis {
        grid-template-columns: 1fr;
    }

    .reports-cash-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reports-cash-table .reports-cash-col-secondary,
    .reports-cash-table .reports-cash-col-theoretical {
        display: none;
    }

    .reports-cash-register-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reports-dashboard-page.is-cash-panel .reports-dashboard-filters {
        grid-template-columns: 1fr;
    }

    .reports-products-table th:nth-child(6),
    .reports-products-table td:nth-child(6),
    .reports-products-table th:nth-child(7),
    .reports-products-table td:nth-child(7),
    .reports-products-table th:nth-child(8),
    .reports-products-table td:nth-child(8) {
        display: none;
    }

    .reports-dashboard-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .reports-sales-filter-grid {
        grid-template-columns: 1fr;
    }

    .reports-products-filter-grid,
    .reports-cash-filter-grid,
    .reports-inventory-filter-grid,
    .reports-purchases-filter-grid,
    .reports-utility-filter-grid,
    .reports-electronic-filter-grid {
        grid-template-columns: 1fr;
    }

    .reports-sales-search,
    .reports-sales-filter-actions,
    .reports-products-search,
    .reports-products-filter-actions,
    .reports-cash-filter-actions,
    .reports-inventory-search,
    .reports-inventory-filter-actions,
    .reports-purchases-filter-actions,
    .reports-utility-filter-actions {
        grid-column: auto;
    }

    .reports-electronic-search {
        grid-column: auto;
    }

    .reports-sales-filter-actions,
    .reports-products-filter-actions,
    .reports-cash-filter-actions,
    .reports-inventory-filter-actions,
    .reports-purchases-filter-actions,
    .reports-utility-filter-actions,
    .reports-sales-table-actions,
    .reports-sales-pagination {
        align-items: stretch;
        flex-direction: column;
        justify-self: stretch;
    }

    .reports-inventory-filter-actions,
    .reports-utility-filter-actions {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
    }

    .reports-utility-filter-actions .btn {
        width: auto;
    }

    .reports-sales-filter-actions .btn,
    .reports-products-filter-actions .btn,
    .reports-cash-filter-actions .btn,
    .reports-inventory-filter-actions .btn,
    .reports-purchases-filter-actions .btn,
    .reports-utility-filter-actions .btn,
    .reports-sales-table-actions .btn {
        width: 100%;
    }

    .reports-dashboard-actions .btn {
        width: 100%;
    }

    .reports-donut-layout {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .reports-donut-legend {
        width: 100%;
    }

    .reports-date-range-control {
        grid-template-columns: 1fr;
    }

    .reports-date-range-control span {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .reports-dashboard-kpi {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .reports-dashboard-kpi-icon {
        width: 38px;
        height: 38px;
    }

    .reports-dashboard-tabs {
        padding-inline: .45rem;
    }

    .reports-dashboard-tab {
        flex: 1 0 auto;
        font-size: .7rem;
    }

    .reports-line-chart,
    .reports-bar-chart,
    .reports-donut-layout {
        min-height: 190px;
    }

    .reports-dashboard-table {
        min-width: 620px;
    }

    .reports-products-profit-row {
        grid-template-columns: 1fr;
    }
}

.cash-sessions-filter-grid > .form-group {
    grid-column: span 2;
}

.cash-sessions-filter-grid .cash-sessions-branch-filter {
    grid-column: span 3;
}

.cash-sessions-filter-actions {
    grid-column: span 3 !important;
    gap: .45rem;
    align-items: end;
    justify-content: flex-start;
}

.cash-sessions-filter-actions .btn {
    width: auto;
    min-width: 86px;
}

@media (max-width: 991.98px) {
    .cash-sessions-filter-grid > .form-group,
    .cash-sessions-filter-grid .cash-sessions-branch-filter,
    .cash-sessions-filter-actions {
        grid-column: span 12 !important;
    }
}

@media (max-width: 767.98px) {
    .cash-sessions-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .cash-sessions-filter-actions .btn {
        width: 100%;
    }
}

.cash-registers-page {
    gap: .75rem;
    padding-bottom: 1.25rem;
}

.cash-registers-header .btn {
    min-height: 34px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 900;
}

.cash-registers-new-btn {
    box-shadow: 0 8px 18px rgba(13, 110, 253, .18);
}

.cash-registers-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cash-registers-kpi-purple {
    background: #6f42c1;
}

.cash-registers-filter-grid .cash-registers-search-field {
    grid-column: span 3 !important;
}

.cash-registers-filter-grid .cash-registers-state-filter,
.cash-registers-filter-grid .cash-registers-branch-filter {
    grid-column: span 2;
}

.cash-registers-filter-actions {
    grid-column: span 3 !important;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: .45rem;
}

.cash-registers-filter-actions .btn {
    width: auto;
    min-width: 92px;
    height: 38px;
    min-height: 38px;
    max-height: 38px;
    align-self: flex-end;
}

.cash-registers-list-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.cash-registers-context {
    color: #64748b;
    font-size: .74rem;
    font-weight: 800;
}

.cash-registers-list-card .dataTables_filter,
.cash-registers-list-card .dataTables_length {
    display: none;
}

.cash-registers-list-card .dataTables_info {
    color: #475569;
    font-size: .76rem;
    font-weight: 800;
    padding-top: .75rem;
}

.cash-registers-list-card .dataTables_paginate {
    padding-top: .55rem;
}

.cash-registers-list-card .page-link {
    min-width: 30px;
    border-color: #dbe4f0;
    color: #475569;
    font-size: .76rem;
    font-weight: 900;
}

.cash-registers-list-card .page-item.active .page-link {
    border-color: #0d6efd;
    background: #0d6efd;
    color: #fff;
}

.cash-registers-table {
    min-width: 1040px;
}

.cash-registers-caja-cell {
    display: inline-grid;
    grid-template-columns: 12px minmax(0, 1fr);
    gap: .45rem;
    align-items: center;
    min-width: 0;
}

.cash-registers-caja-cell strong,
.cash-registers-caja-cell small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cash-registers-table td strong {
    display: inline-block;
    color: #0f172a;
    font-weight: 900;
}

.cash-registers-table td small {
    display: block;
    margin-top: .15rem;
    color: #64748b;
    font-size: .7rem;
    font-weight: 700;
}

.cash-registers-status-dot {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    display: inline-block;
    vertical-align: middle;
}

.cash-registers-status-dot.is-active {
    background: #16a34a;
}

.cash-registers-status-dot.is-inactive {
    background: #dc2626;
}

.cash-registers-session {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-height: 22px;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: .15rem .45rem;
    font-size: .7rem;
    font-weight: 900;
    line-height: 1;
}

.cash-registers-session i {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    display: inline-block;
    flex: 0 0 8px;
}

.cash-registers-session.is-open {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}

.cash-registers-session.is-open i {
    background: #16a34a;
    box-shadow: 0 0 0 0 rgba(22, 163, 74, .45);
    animation: cashRegisterSessionPulse 1.15s ease-out infinite;
}

.cash-registers-session.is-closed {
    border-color: #e2e8f0;
    background: #f8fafc;
    color: #64748b;
}

.cash-registers-session.is-closed i {
    background: #dc2626;
}

.cash-registers-responsible {
    display: inline-grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: .45rem;
    align-items: center;
    max-width: 100%;
    min-width: 0;
}

.cash-registers-responsible img,
.cash-registers-responsible span {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    flex: 0 0 28px;
}

.cash-registers-responsible img {
    object-fit: cover;
}

.cash-registers-responsible span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e0f2fe;
    color: #0369a1;
    font-size: .66rem;
    font-weight: 900;
}

.cash-registers-responsible strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@keyframes cashRegisterSessionPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(22, 163, 74, .45);
    }
    70% {
        box-shadow: 0 0 0 6px rgba(22, 163, 74, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(22, 163, 74, 0);
    }
}

.cash-registers-state {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: .15rem .45rem;
    font-size: .7rem;
    font-weight: 900;
    line-height: 1;
}

.cash-registers-state.is-active {
    border-color: #bbf7d0;
    background: #dcfce7;
    color: #15803d;
}

.cash-registers-state.is-inactive {
    border-color: #fecaca;
    background: #fee2e2;
    color: #dc2626;
}

.cash-registers-table-actions .btn {
    width: 30px;
    height: 30px;
    border-radius: 6px;
    font-size: .76rem;
}

.cash-registers-modal {
    max-height: calc(100vh - 2rem);
}

.cash-registers-modal .cash-flow-movement-body {
    overflow-y: auto;
}

.cash-registers-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.cash-registers-description-field {
    grid-column: span 2;
}

@media (max-width: 1199.98px) {
    .cash-registers-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cash-registers-filter-grid .cash-registers-search-field,
    .cash-registers-filter-grid .cash-registers-state-filter,
    .cash-registers-filter-grid .cash-registers-branch-filter,
    .cash-registers-filter-actions {
        grid-column: span 5 !important;
    }
}

@media (max-width: 767.98px) {
    .cash-registers-header,
    .cash-registers-list-head {
        align-items: stretch;
        flex-direction: column;
    }

    .cash-registers-header .btn,
    .cash-registers-filter-actions .btn {
        width: 100%;
    }

    .cash-registers-kpi-row,
    .cash-registers-form-grid {
        grid-template-columns: 1fr;
    }

    .cash-registers-description-field {
        grid-column: auto;
    }

    .cash-registers-filter-grid .cash-registers-search-field,
    .cash-registers-filter-grid .cash-registers-state-filter,
    .cash-registers-filter-grid .cash-registers-branch-filter,
    .cash-registers-filter-actions {
        grid-column: span 10 !important;
    }

.cash-registers-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }
}

.diagnostics-page {
    gap: .75rem;
    padding-bottom: 1rem;
}

.diagnostics-header-action {
    min-height: 34px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 900;
}

.diagnostics-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.diagnostics-kpi-row .sales-history-kpi-card {
    padding-left: 1rem;
    padding-right: 1rem;
}

.diagnostics-main-grid {
    display: grid;
    grid-template-columns: minmax(280px, 34%) minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.diagnostics-side-stack,
.diagnostics-content-stack {
    display: grid;
    gap: .75rem;
}

.diagnostics-summary-panel {
    margin-bottom: 0;
}

.diagnostics-summary-panel .cash-flow-panel-head {
    align-items: center;
    gap: .65rem;
}

.diagnostics-summary-list {
    display: grid;
    padding: .05rem 1rem .85rem;
}

.diagnostics-summary-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .8rem;
    border-bottom: 1px solid #edf1f6;
    padding: .5rem 0;
}

.diagnostics-summary-row:first-child {
    padding-top: .1rem;
}

.diagnostics-summary-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.diagnostics-summary-row span {
    color: #64748b;
    font-size: .74rem;
    font-weight: 900;
}

.diagnostics-summary-row strong {
    max-width: 58%;
    color: #0f172a;
    font-size: .76rem;
    font-weight: 900;
    text-align: right;
    overflow-wrap: anywhere;
}

.diagnostics-certificate-status {
    margin: 0 1rem .65rem;
    border-radius: 7px;
    padding: .5rem .6rem;
    font-size: .76rem;
    font-weight: 900;
}

.diagnostics-status {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: .16rem .45rem;
    font-size: .66rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.diagnostics-status.is-ok {
    border-color: #bbf7d0;
    background: #dcfce7;
    color: #15803d;
}

.diagnostics-status.is-fail {
    border-color: #fecaca;
    background: #fee2e2;
    color: #dc2626;
}

.diagnostics-check-card .card-body {
    padding: .75rem 1rem .9rem;
}

.diagnostics-check-card .card-header {
    padding-left: 1rem;
    padding-right: 1rem;
}

.diagnostics-table {
    min-width: 760px;
}

.diagnostics-table th:nth-child(1),
.diagnostics-table td:nth-child(1) {
    width: 28%;
}

.diagnostics-table th:nth-child(2),
.diagnostics-table td:nth-child(2) {
    width: 92px;
    text-align: center;
}

.diagnostics-table td {
    vertical-align: middle;
    white-space: normal;
}

.diagnostics-table td strong {
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
}

.diagnostics-steps-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.diagnostics-steps-panel {
    margin-bottom: 0;
}

.diagnostics-step-list {
    margin: 0;
    padding: .05rem 1rem .9rem 2.1rem;
    color: #334155;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.45;
}

.diagnostics-step-list li + li {
    margin-top: .45rem;
}

@media (max-width: 1199.98px) {
    .diagnostics-kpi-row,
    .diagnostics-steps-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .diagnostics-main-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .diagnostics-header {
        align-items: stretch;
        flex-direction: column;
    }

    .diagnostics-header-action {
        width: 100%;
    }

    .diagnostics-kpi-row,
    .diagnostics-steps-grid {
        grid-template-columns: 1fr;
    }

    .diagnostics-summary-row {
        display: grid;
        gap: .18rem;
    }

.diagnostics-summary-row strong {
        max-width: none;
        text-align: left;
    }
}

.maintenance-page {
    gap: .75rem;
    padding-bottom: 1rem;
}

.maintenance-header-action {
    min-height: 34px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 900;
}

.maintenance-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.maintenance-kpi-row .sales-history-kpi-card {
    padding-left: 1rem;
    padding-right: 1rem;
}

.maintenance-layout {
    display: grid;
    grid-template-columns: minmax(270px, 32%) minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.maintenance-side-stack,
.maintenance-content-stack {
    display: grid;
    gap: .75rem;
}

.maintenance-actions-panel,
.maintenance-path-panel {
    margin-bottom: 0;
    padding-bottom: .9rem;
}

.maintenance-actions-panel .cash-flow-panel-head,
.maintenance-path-panel .cash-flow-panel-head {
    padding-left: 1rem;
    padding-right: 1rem;
}

.maintenance-actions {
    display: grid;
    gap: .55rem;
    padding: .05rem 1rem 0;
}

.maintenance-actions .btn {
    min-height: 38px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: .5rem;
    font-size: .78rem;
    font-weight: 900;
}

.maintenance-actions .btn i {
    width: 18px;
    text-align: center;
}

.maintenance-path-box {
    display: grid;
    gap: .35rem;
    padding: .05rem 1rem 0;
}

.maintenance-path-box span {
    color: #64748b;
    font-size: .72rem;
    font-weight: 900;
}

.maintenance-path-box code {
    display: block;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #f8fafc;
    color: #334155;
    padding: .55rem .6rem;
    font-size: .72rem;
    font-weight: 800;
    white-space: normal;
    overflow-wrap: anywhere;
}

.maintenance-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.maintenance-card-head span {
    color: #64748b;
    font-size: .72rem;
    font-weight: 900;
    white-space: nowrap;
}

.maintenance-backups-card .card-body,
.maintenance-smoke-card .card-body {
    padding: .75rem 1rem .9rem;
}

.maintenance-table {
    min-width: 760px;
}

.maintenance-table td {
    vertical-align: middle;
    white-space: normal;
}

.maintenance-table td strong {
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
}

.maintenance-table-actions {
    justify-content: flex-end;
}

.maintenance-table-actions .btn {
    width: 30px;
    height: 30px;
    border-radius: 6px;
}

.maintenance-empty-row {
    padding: .9rem !important;
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
    text-align: center;
}

.maintenance-smoke-summary {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    margin-bottom: .75rem;
    padding: .58rem .7rem;
    color: #475569;
    font-size: .78rem;
    font-weight: 800;
}

.maintenance-smoke-summary i {
    margin-top: .1rem;
}

.maintenance-smoke-summary.is-idle {
    background: #f8fafc;
}

.maintenance-smoke-summary.is-ok {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #15803d;
}

.maintenance-smoke-summary.is-warning {
    border-color: #fed7aa;
    background: #fff7ed;
    color: #9a3412;
}

.maintenance-status {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: .16rem .45rem;
    font-size: .66rem;
    font-weight: 900;
    line-height: 1;
}

.maintenance-status.is-ok {
    border-color: #bbf7d0;
    background: #dcfce7;
    color: #15803d;
}

.maintenance-status.is-fail {
    border-color: #fecaca;
    background: #fee2e2;
    color: #dc2626;
}

@media (max-width: 1199.98px) {
    .maintenance-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .maintenance-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .maintenance-header,
    .maintenance-card-head {
        align-items: stretch;
        flex-direction: column;
    }

    .maintenance-header-action {
        width: 100%;
    }

    .maintenance-kpi-row {
        grid-template-columns: 1fr;
    }

.maintenance-card-head span {
        white-space: normal;
    }
}

.settings-design-page {
    gap: .75rem;
    padding-bottom: 1rem;
}

.settings-design-header {
    gap: .75rem;
}

.settings-design-save-top,
.settings-save-card .btn {
    min-height: 34px;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 900;
}

.settings-design-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
    align-items: start;
}

.settings-design-content,
.settings-design-content .tab-content {
    min-width: 0;
}

.settings-design-page .card {
    margin-bottom: 0;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
    overflow: hidden;
}

.settings-design-page .card-header {
    min-height: 36px;
    border-bottom: 1px solid #e2e8f0;
    background: #fff;
    padding: .5rem 1rem;
}

.settings-design-page .card-title {
    margin: 0;
    color: #0f172a;
    font-size: .9rem;
    font-weight: 900;
    letter-spacing: 0;
}

.settings-design-page .card-body {
    padding: .85rem 1rem 1rem;
}

.settings-nav-card {
    overflow: hidden;
}

.settings-nav-card .card-body {
    background: #fff;
    padding: .45rem .55rem;
    overflow-x: auto;
}

.settings-pills.nav {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: .28rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.settings-pills .nav-link {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 34px;
    margin: 0;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #334155;
    font-size: .76rem;
    font-weight: 900;
    line-height: 1.15;
    padding: .42rem .58rem;
    white-space: nowrap;
}

.settings-pills .nav-link i {
    width: 16px;
    margin-right: .4rem;
    color: #2563eb;
    text-align: center;
}

.settings-pills .nav-link.active {
    border-color: #bfdbfe;
    background: #eff6ff;
    box-shadow: none;
    color: #0d6efd;
}

.settings-pills .nav-link.active i {
    color: #0d6efd;
}

.settings-pills .nav-link:not(.active):hover,
.settings-pills .nav-link:not(.active):focus {
    border-color: #dbe4f0;
    background: #f8fafc;
    color: #0f172a;
}

.settings-note-card .card-body {
    color: #475569;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.45;
}

.settings-design-page label {
    margin-bottom: .18rem;
    color: #475569;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1.1;
}

.settings-design-page .form-group {
    margin-bottom: .72rem;
}

.settings-design-page .form-control,
.settings-design-page .custom-file-label,
.settings-design-page .input-group-text {
    min-height: 32px;
    border-color: #d9e2ef;
    border-radius: 6px;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 800;
}

.settings-design-page textarea.form-control {
    min-height: 74px;
}

.settings-design-page .form-text,
.settings-design-page small,
.settings-design-page .text-sm {
    color: #64748b;
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.35;
}

.settings-design-page .btn {
    border-radius: 6px;
    font-weight: 900;
}

.settings-design-page .btn-sm,
.settings-design-page .btn-xs {
    min-height: 30px;
    font-size: .72rem;
}

.settings-preview-card,
.settings-file-summary,
.settings-ticket-preview-card,
.settings-font-scale-box {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
}

.settings-lock-preview {
    background: linear-gradient(160deg, #e8f2fb 0%, #ffffff 58%);
    border: 1px solid #d8e5ef;
    color: #102033;
}

.settings-preview-card,
.settings-ticket-preview-card {
    padding: .85rem 1rem;
}

.settings-preview-box {
    min-height: 150px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
}

.settings-preview-box img {
    max-height: 124px;
}

.settings-sidebar-preview-box {
    min-height: 96px;
}

.settings-sidebar-preview-box img {
    max-width: 220px;
    max-height: 64px;
}

.settings-file-summary {
    background: #f8fafc;
    padding: .85rem 1rem;
}

.settings-file-summary-badge,
.settings-certificate-status {
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 900;
}

.settings-file-actions {
    gap: .45rem;
}

.settings-ticket-preview-shell {
    min-height: 920px;
    overflow: hidden;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #f8fafc;
    padding: .75rem;
}

.settings-ticket-preview-frame {
    min-height: 880px;
    height: 880px;
    overflow: hidden;
}

.settings-font-scale-box {
    min-height: 42px;
    padding: .48rem .65rem;
}

.settings-font-scale-box strong {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
}

.settings-series-header {
    flex-wrap: nowrap;
}

.settings-series-subtitle {
    color: #64748b;
    font-size: .7rem;
    font-weight: 700;
}

.settings-series-alert {
    border-radius: 8px;
    font-size: .76rem;
    font-weight: 800;
}

.settings-series-table {
    color: #0f172a;
    font-size: .78rem;
    min-width: 1080px;
}

.settings-series-table thead th {
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #475569;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
}

.settings-series-table td {
    border-top: 1px solid #edf2f7;
    vertical-align: middle;
}

.settings-series-sort {
    color: #2563eb;
    font-weight: 900;
    white-space: nowrap;
}

.settings-series-footer,
.settings-series-pagination {
    gap: .45rem;
}

.settings-save-card {
    margin-top: .75rem;
}

.settings-save-card .card-footer {
    border-top: 1px solid #e2e8f0;
    background: #fff;
    padding: .65rem 1rem;
}

.settings-series-modal {
    border: 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .18);
}

.settings-series-modal .modal-header,
.settings-series-modal .modal-footer {
    border-color: #e2e8f0;
    background: #fff;
    padding: .8rem 1rem;
}

.settings-series-modal .modal-body {
    padding: .85rem 1rem 1rem;
}

.settings-series-modal .modal-title {
    color: #0f172a;
    font-size: .98rem;
    font-weight: 900;
}

.settings-series-modal-preview {
    border-radius: 8px;
    padding: .65rem .75rem;
}

@media (max-width: 1199.98px) {
    .settings-design-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .settings-design-header {
        align-items: stretch;
        flex-direction: column;
    }

    .settings-design-save-top,
    .settings-save-card .btn {
        width: 100%;
    }

    .settings-pills.nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .settings-lock-preview-metrics {
        grid-template-columns: 1fr;
    }

    .settings-ticket-preview-shell {
        min-height: 760px;
        overflow: hidden;
    }

    .settings-ticket-preview-frame {
        min-height: 720px;
        height: 720px;
        overflow: hidden;
    }
}
.fe-center-header {
    align-items: center;
}

.fe-center-header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.fe-center-header-actions .btn {
    min-height: 30px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 800;
}

.fe-center-alert {
    border-radius: 8px;
    border: 1px solid #fde68a;
    font-size: .78rem;
    font-weight: 800;
    margin-bottom: 0;
    padding: .62rem .8rem;
}

.fe-health-card .card-header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.fe-health-grid {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.fe-health-item {
    background: #f8fafc;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    min-height: 64px;
    padding: .65rem .75rem;
}

.fe-health-item span {
    color: #64748b;
    display: block;
    font-size: .7rem;
    font-weight: 900;
    margin-bottom: .15rem;
}

.fe-health-item strong {
    color: #0f172a;
    display: block;
    font-size: .78rem;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.fe-health-events {
    border-top: 1px solid #edf1f6;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .75rem;
    padding-top: .75rem;
}

.fe-health-events span {
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    color: #475569;
    font-size: .68rem;
    font-weight: 800;
    padding: .24rem .5rem;
}

.fe-center-filter-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr));
}

.fe-center-filter-grid .sales-history-search-field {
    grid-column: span 4;
}

.fe-center-filter-grid .sales-history-filter-actions {
    grid-column: span 2;
}

.fe-center-kpis.sales-history-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fe-section-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.fe-section-tabs button {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    color: #475569;
    display: inline-flex;
    font-size: .74rem;
    font-weight: 900;
    gap: .38rem;
    min-height: 32px;
    padding: .35rem .6rem;
}

.fe-section-tabs button.active {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
}

.fe-section {
    display: none;
}

.fe-section.is-active {
    display: block;
}

.fe-admin .sales-history-list-table td,
.fe-admin .sales-history-list-table th {
    vertical-align: middle;
}

.fe-admin .sales-history-list-table td small {
    color: #64748b;
    display: block;
    font-size: .68rem;
    font-weight: 700;
    margin-top: .1rem;
}

.fe-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: center;
    margin: 0 auto;
    min-width: 132px;
    width: 132px;
    white-space: normal;
}

.fe-actions-column {
    min-width: clamp(150px, 11vw, 170px);
    width: clamp(150px, 11vw, 170px);
}

#feDocumentsTable.dataTable th.fe-actions-column,
#feDocumentsTable.dataTable td.fe-actions-column {
    min-width: 132px !important;
    width: 132px !important;
}

.fe-sync-column {
    max-width: 96px;
    min-width: 76px;
    width: clamp(76px, 6vw, 96px);
}

#feDocumentsTable.dataTable th.fe-sync-column,
#feDocumentsTable.dataTable td.fe-sync-column {
    max-width: 86px !important;
    min-width: 76px !important;
    width: 86px !important;
}

.fe-sync-badge {
    align-items: center;
    display: inline-flex;
    flex-direction: column;
    line-height: 1.08;
    padding: .28rem .38rem;
    white-space: normal;
}

.fe-sync-badge span {
    display: block;
}

.fe-updated-column {
    max-width: 98px;
    min-width: 82px;
    width: clamp(82px, 6.5vw, 98px);
}

#feDocumentsTable.dataTable th.fe-updated-column,
#feDocumentsTable.dataTable td.fe-updated-column {
    max-width: 88px !important;
    min-width: 82px !important;
    width: 88px !important;
}

.fe-admin .sales-history-list-table th.fe-updated-column {
    line-height: 1.1;
    white-space: normal;
}

.fe-updated-at {
    display: inline-flex;
    flex-direction: column;
    line-height: 1.15;
    white-space: normal;
}

.fe-updated-date {
    color: #0f172a;
    font-weight: 700;
}

.fe-updated-time {
    color: #475569;
    font-size: .72rem;
    font-weight: 700;
    margin-top: .12rem;
}

.fe-actions .btn,
.js-fe-approve-void {
    align-items: center;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 30px;
}

@media (max-width: 1366px) {
    .fe-admin .sales-history-list-table {
        font-size: .74rem;
    }

    .fe-actions {
        min-width: 98px;
        width: 98px;
    }

    .fe-actions-column {
        min-width: 128px;
        width: 128px;
    }

    #feDocumentsTable.dataTable th.fe-actions-column,
    #feDocumentsTable.dataTable td.fe-actions-column {
        min-width: 128px !important;
        width: 128px !important;
    }

    .fe-flow-progress {
        min-width: 148px;
    }
}

@media (max-width: 1199.98px) {
    .fe-actions-column {
        min-width: 118px;
        width: 118px;
    }

    #feDocumentsTable.dataTable th.fe-actions-column,
    #feDocumentsTable.dataTable td.fe-actions-column {
        min-width: 118px !important;
        width: 118px !important;
    }

    .fe-sync-column,
    .fe-updated-column {
        min-width: 74px;
        width: 74px;
    }
}

.fe-flow-progress {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    min-width: 180px;
}

.fe-flow-step {
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.35;
    white-space: nowrap;
}

.fe-config-form {
    border-bottom: 1px solid #edf1f6;
    margin-bottom: .9rem;
    padding-bottom: .9rem;
}

.fe-config-grid {
    align-items: end;
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.fe-config-grid > * {
    grid-column: span 3;
}

.fe-config-grid .form-group {
    margin-bottom: 0;
}

.fe-config-grid label,
#feVoidForm label {
    color: #475569;
    font-size: .72rem;
    font-weight: 800;
}

.fe-config-grid .form-control,
#feVoidForm .form-control {
    border-color: #dbe4f0;
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 700;
}

.fe-modal-subtitle {
    color: #64748b;
    font-size: .76rem;
    font-weight: 700;
}

.fe-detail-box {
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    padding: .68rem .78rem;
}

.fe-detail-box span {
    color: #64748b;
    display: block;
    font-size: .72rem;
    font-weight: 900;
    margin-bottom: .15rem;
}

.fe-detail-box strong {
    color: #0f172a;
    font-size: .84rem;
    font-weight: 900;
}

.fe-response-box {
    background: #f8fafc;
    border: 1px solid #dbe4f0;
    border-left: 3px solid #2563eb;
    border-radius: 6px;
    color: #334155;
    font-size: .78rem;
    font-weight: 700;
    padding: .65rem .75rem;
    white-space: pre-wrap;
}

.sunat-diagnostic-overview .card-header,
.sunat-diagnostic-result-card .card-header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
}

.sunat-diagnostic-meta-grid {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sunat-diagnostic-meta-grid > div,
.sunat-diagnostic-sunat > div {
    background: #f8fafc;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    min-height: 62px;
    padding: .65rem .75rem;
}

.sunat-diagnostic-meta-wide {
    grid-column: span 2;
}

.sunat-diagnostic-meta-grid span,
.sunat-diagnostic-sunat span,
.sunat-diagnostic-final span {
    color: #64748b;
    display: block;
    font-size: .7rem;
    font-weight: 900;
    margin-bottom: .14rem;
}

.sunat-diagnostic-meta-grid strong,
.sunat-diagnostic-sunat strong {
    color: #0f172a;
    display: block;
    font-size: .82rem;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.sunat-diagnostic-actions,
.sunat-diagnostic-evidence {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .85rem;
}

.sunat-diagnostic-steps {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sunat-diagnostic-step {
    align-items: center;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    display: flex;
    gap: .65rem;
    min-height: 58px;
    padding: .6rem .7rem;
}

.sunat-diagnostic-step-icon {
    align-items: center;
    border-radius: 6px;
    display: inline-flex;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.sunat-diagnostic-step strong {
    color: #0f172a;
    display: block;
    font-size: .82rem;
    font-weight: 900;
}

.sunat-diagnostic-step small {
    color: #64748b;
    display: block;
    font-size: .72rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.sunat-diagnostic-step.is-ok {
    border-color: #bbf7d0;
}

.sunat-diagnostic-step.is-ok .sunat-diagnostic-step-icon {
    background: #dcfce7;
    color: #166534;
}

.sunat-diagnostic-step.is-error {
    border-color: #fecaca;
}

.sunat-diagnostic-step.is-error .sunat-diagnostic-step-icon {
    background: #fee2e2;
    color: #991b1b;
}

.sunat-diagnostic-step.is-warning .sunat-diagnostic-step-icon,
.sunat-diagnostic-step.is-running .sunat-diagnostic-step-icon {
    background: #fef3c7;
    color: #92400e;
}

.sunat-diagnostic-step.is-pending .sunat-diagnostic-step-icon,
.sunat-diagnostic-step.is-skipped .sunat-diagnostic-step-icon {
    background: #eef2f7;
    color: #64748b;
}

.sunat-diagnostic-final {
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    padding: .85rem .95rem;
}

.sunat-diagnostic-final strong {
    display: block;
    font-size: 1rem;
    font-weight: 900;
}

.sunat-diagnostic-final p {
    color: #475569;
    font-size: .82rem;
    font-weight: 700;
    margin: .2rem 0 0;
}

.sunat-diagnostic-final.is-ok {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.sunat-diagnostic-final.is-error {
    background: #fef2f2;
    border-color: #fecaca;
}

.sunat-diagnostic-final.is-running {
    background: #fffbeb;
    border-color: #fde68a;
}

.sunat-diagnostic-sunat {
    display: grid;
    gap: .55rem;
    grid-template-columns: 1fr 2fr 2fr;
    margin-top: .75rem;
}

@media (max-width: 1199.98px) {
    .fe-health-grid,
    .fe-center-kpis.sales-history-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sunat-diagnostic-meta-grid,
    .sunat-diagnostic-sunat {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fe-center-filter-grid .sales-history-search-field,
    .fe-center-filter-grid .sales-history-filter-actions {
        grid-column: span 5;
    }

    .fe-config-grid > * {
        grid-column: span 6;
    }
}

@media (max-width: 767.98px) {
    .fe-center-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .fe-center-kpis.sales-history-kpi-row,
    .fe-health-grid,
    .sunat-diagnostic-meta-grid,
    .sunat-diagnostic-steps,
    .sunat-diagnostic-sunat,
    .fe-center-filter-grid,
    .fe-config-grid {
        grid-template-columns: 1fr;
    }

    .sunat-diagnostic-meta-wide {
        grid-column: auto;
    }

    .fe-center-filter-grid .form-group,
    .fe-center-filter-grid .sales-history-search-field,
    .fe-center-filter-grid .sales-history-filter-actions,
    .fe-config-grid > * {
        grid-column: auto;
    }
}
.saas-plans-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.saas-monitoring-ops {
    display: grid;
    gap: .8rem;
    color: #102033;
}
.saas-monitoring-hero {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr);
    gap: .75rem;
    align-items: stretch;
    padding: 1rem;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
}
.saas-monitoring-hero h2 {
    margin: 0 0 .25rem;
    color: #0f172a;
    font-size: 1.45rem;
    font-weight: 900;
    letter-spacing: 0;
}
.saas-monitoring-hero p {
    max-width: 62ch;
    margin: 0;
    color: #475569;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.45;
}
.saas-monitoring-client-hero {
    display: grid;
    grid-template-columns: minmax(300px, 1fr) auto;
    gap: .8rem;
    align-items: start;
    padding: 1rem;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
}
.saas-monitoring-client-hero h2 {
    margin: .25rem 0;
    color: #0f172a;
    font-size: 1.45rem;
    font-weight: 900;
    letter-spacing: 0;
}
.saas-monitoring-client-hero p {
    margin: 0;
    color: #475569;
    font-size: .88rem;
    font-weight: 800;
}
.saas-monitoring-back {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #2563eb;
    font-size: .78rem;
    font-weight: 900;
}
.saas-monitoring-client-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .35rem;
}
.saas-monitoring-client-facts {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
    margin: .2rem 0 0;
}
.saas-monitoring-client-facts div {
    min-width: 0;
    padding: .6rem .7rem;
    border-radius: 8px;
    background: #f8fafc;
}
.saas-monitoring-client-facts dt {
    margin: 0 0 .14rem;
    color: #64748b;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}
.saas-monitoring-client-facts dd {
    margin: 0;
    overflow: hidden;
    color: #0f172a;
    font-size: .84rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.saas-monitoring-client-kpis {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.saas-monitoring-client-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(380px, .82fr);
    gap: .75rem;
    align-items: start;
}
.saas-monitoring-client-timeline {
    max-height: 482px;
}
.saas-monitoring-client-stack {
    display: grid;
    gap: .55rem;
    padding: .75rem;
}
.saas-monitoring-client-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .35rem .55rem;
    align-items: center;
    padding: .65rem;
    border-radius: 8px;
    background: #f8fafc;
}
.saas-monitoring-client-row.is-license {
    background: #eef6ff;
}
.saas-monitoring-client-row strong,
.saas-monitoring-client-row small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.saas-monitoring-client-row strong {
    color: #0f172a;
    font-size: .84rem;
    font-weight: 900;
}
.saas-monitoring-client-row small {
    grid-column: 1 / -1;
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
}
.saas-monitoring-health-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}
.saas-monitoring-health-item {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-height: 52px;
    padding: .55rem .65rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}
.saas-monitoring-health-item strong,
.saas-monitoring-health-item small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.saas-monitoring-health-item strong {
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
}
.saas-monitoring-health-item small {
    color: #64748b;
    font-size: .7rem;
    font-weight: 800;
}
.saas-monitoring-dot {
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 999px;
    background: #94a3b8;
    box-shadow: 0 0 0 4px rgba(148, 163, 184, .14);
}
.saas-monitoring-health-item.is-online .saas-monitoring-dot { background: #16a34a; box-shadow: 0 0 0 4px rgba(22, 163, 74, .14); }
.saas-monitoring-health-item.is-warning .saas-monitoring-dot { background: #d97706; box-shadow: 0 0 0 4px rgba(217, 119, 6, .16); }
.saas-monitoring-health-item.is-offline .saas-monitoring-dot,
.saas-monitoring-health-item.is-critical .saas-monitoring-dot { background: #dc2626; box-shadow: 0 0 0 4px rgba(220, 38, 38, .14); }
.saas-monitoring-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .55rem;
}
.saas-monitoring-kpi {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-height: 72px;
    margin: 0;
    padding: .65rem;
    border: 1px solid #e5edf7;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .045);
}
.saas-monitoring-kpi > span {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #fff;
    background: #2563eb;
}
.saas-monitoring-kpi.is-green > span { background: #16a34a; }
.saas-monitoring-kpi.is-cyan > span { background: #0891b2; }
.saas-monitoring-kpi.is-red > span { background: #dc2626; }
.saas-monitoring-kpi.is-amber > span { background: #d97706; }
.saas-monitoring-kpi.is-slate > span { background: #334155; }
.saas-monitoring-kpi div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}
.saas-monitoring-kpi small {
    color: #64748b;
    font-size: .66rem;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}
.saas-monitoring-kpi strong {
    margin-top: .2rem;
    color: #0f172a;
    font-size: 1.1rem;
    font-weight: 900;
}
.saas-monitoring-kpi em {
    margin-top: .2rem;
    color: #475569;
    font-size: .7rem;
    font-style: normal;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.saas-monitoring-metrics-grid {
    display: grid;
    grid-template-columns: minmax(420px, 1.25fr) minmax(280px, .75fr) minmax(280px, .75fr) minmax(280px, .75fr);
    gap: .75rem;
    align-items: stretch;
}
.saas-monitoring-chart {
    position: relative;
    padding: .75rem .85rem .35rem;
}
.saas-monitoring-chart svg {
    display: block;
    width: 100%;
    height: 170px;
}
.saas-monitoring-chart line {
    stroke: #dbe4f0;
    stroke-width: 1;
}
.saas-monitoring-chart polyline {
    fill: none;
    stroke: #2563eb;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3;
}
.saas-monitoring-chart polyline.is-auth_failures { stroke: #d97706; }
.saas-monitoring-chart polyline.is-heartbeats { stroke: #0891b2; }
.saas-monitoring-chart polyline.is-critical { stroke: #dc2626; }
.saas-monitoring-chart-scale {
    display: flex;
    justify-content: space-between;
    color: #64748b;
    font-size: .68rem;
    font-weight: 900;
}
.saas-monitoring-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .7rem;
    padding: 0 .85rem .85rem;
}
.saas-monitoring-chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: .34rem;
    color: #475569;
    font-size: .72rem;
    font-weight: 900;
}
.saas-monitoring-chart-legend i {
    width: 18px;
    height: 3px;
    border-radius: 999px;
    background: #2563eb;
}
.saas-monitoring-chart-legend .is-auth_failures i { background: #d97706; }
.saas-monitoring-chart-legend .is-heartbeats i { background: #0891b2; }
.saas-monitoring-chart-legend .is-critical i { background: #dc2626; }
.saas-monitoring-hour-bars {
    display: grid;
    grid-template-columns: repeat(24, minmax(4px, 1fr));
    align-items: end;
    gap: .18rem;
    height: 172px;
    padding: .85rem .85rem .35rem;
}
.saas-monitoring-hour-bars span {
    display: flex;
    align-items: flex-end;
    min-width: 0;
    height: 100%;
    border-radius: 999px;
    background: #eef2f7;
    overflow: hidden;
}
.saas-monitoring-hour-bars i {
    display: block;
    width: 100%;
    min-height: 4px;
    border-radius: inherit;
    background: #2563eb;
}
.saas-monitoring-hour-axis {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: 0 .85rem .85rem;
    color: #64748b;
    font-size: .68rem;
    font-weight: 900;
}
.saas-monitoring-hour-axis strong {
    color: #0f172a;
    font-size: .72rem;
}
.saas-monitoring-breakdown {
    display: grid;
    gap: .62rem;
    padding: .85rem;
}
.saas-monitoring-breakdown div {
    display: grid;
    grid-template-columns: minmax(96px, .9fr) minmax(0, 1.1fr) 38px;
    gap: .55rem;
    align-items: center;
}
.saas-monitoring-breakdown span,
.saas-monitoring-breakdown strong {
    overflow: hidden;
    color: #334155;
    font-size: .72rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.saas-monitoring-breakdown i {
    height: 9px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}
.saas-monitoring-breakdown b {
    display: block;
    height: 100%;
    min-width: 3px;
    border-radius: inherit;
    background: #2563eb;
}
.saas-monitoring-breakdown .is-critical b,
.saas-monitoring-breakdown .is-error b { background: #dc2626; }
.saas-monitoring-breakdown .is-warning b { background: #d97706; }
.saas-monitoring-mini-empty {
    display: block !important;
    min-height: 172px;
    padding: 4rem .8rem;
    color: #64748b;
    font-size: .78rem;
    font-weight: 800;
    text-align: center;
}
.saas-monitoring-grid,
.saas-monitoring-workspace,
.saas-monitoring-secondary-grid {
    display: grid;
    gap: .75rem;
    align-items: start;
}
.saas-monitoring-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
}
.saas-monitoring-workspace {
    grid-template-columns: 1fr;
}
.saas-monitoring-secondary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.saas-monitoring-panel {
    min-width: 0;
    margin: 0;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .045);
    overflow: hidden;
}
.saas-monitoring-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 42px;
    padding: .62rem .8rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}
.saas-monitoring-panel-head h3 {
    margin: 0;
    color: #0f172a;
    font-size: .94rem;
    font-weight: 900;
    letter-spacing: 0;
}
.saas-monitoring-panel-head span {
    color: #64748b;
    font-size: .72rem;
    font-weight: 900;
    white-space: nowrap;
}
.saas-monitoring-empty {
    display: grid;
    place-items: center;
    gap: .3rem;
    min-height: 170px;
    padding: 1rem;
    text-align: center;
    color: #64748b;
}
.saas-monitoring-empty i {
    color: #16a34a;
    font-size: 1.4rem;
}
.saas-monitoring-empty strong {
    color: #0f172a;
    font-size: .9rem;
    font-weight: 900;
}
.saas-monitoring-empty small {
    color: #64748b;
    font-size: .78rem;
    font-weight: 700;
}
.saas-monitoring-alert-list,
.saas-monitoring-client-list {
    display: grid;
    gap: .55rem;
    padding: .75rem;
}
.saas-monitoring-alert {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: .55rem;
    padding: .65rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
}
.saas-monitoring-alert > span {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #e0f2fe;
    color: #0369a1;
}
.saas-monitoring-alert.is-warning > span { background: #fef3c7; color: #92400e; }
.saas-monitoring-alert.is-danger > span,
.saas-monitoring-alert.is-critical > span,
.saas-monitoring-alert.is-error > span { background: #fee2e2; color: #b91c1c; }
.saas-monitoring-alert strong,
.saas-monitoring-alert p,
.saas-monitoring-alert small {
    display: block;
    margin: 0;
}
.saas-monitoring-alert strong {
    color: #0f172a;
    font-size: .85rem;
    font-weight: 900;
}
.saas-monitoring-alert p {
    margin-top: .14rem;
    color: #334155;
    font-size: .78rem;
    font-weight: 800;
}
.saas-monitoring-alert small {
    margin-top: .18rem;
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
}
.saas-monitoring-terminal-bars {
    display: grid;
    gap: .65rem;
    padding: .85rem .85rem .65rem;
}
.saas-monitoring-terminal-row {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) 36px;
    gap: .6rem;
    align-items: center;
    color: #334155;
    font-size: .76rem;
    font-weight: 900;
}
.saas-monitoring-terminal-row div {
    height: 9px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}
.saas-monitoring-terminal-row i {
    display: block;
    height: 100%;
    min-width: 3px;
    border-radius: inherit;
    background: #94a3b8;
}
.saas-monitoring-terminal-row i.is-online { background: #16a34a; }
.saas-monitoring-terminal-row i.is-warning { background: #d97706; }
.saas-monitoring-terminal-row i.is-offline,
.saas-monitoring-terminal-row i.is-blocked { background: #dc2626; }
.saas-monitoring-severity {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    padding: 0 .85rem .85rem;
}
.saas-monitoring-timeline {
    display: grid;
    gap: .5rem;
    max-height: 580px;
    overflow: auto;
    padding: .75rem;
}
.saas-monitoring-event {
    width: 100%;
    display: grid;
    grid-template-columns: 62px 34px minmax(0, 1fr) auto;
    gap: .6rem;
    align-items: center;
    padding: .55rem .6rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: inherit;
    text-align: left;
}
.saas-monitoring-event:hover,
.saas-monitoring-event:focus {
    border-color: #bfdbfe;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .09);
    outline: 0;
}
.saas-monitoring-event-time {
    color: #475569;
    font-size: .72rem;
    font-weight: 900;
}
.saas-monitoring-event-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: #e0f2fe;
    color: #0369a1;
}
.saas-monitoring-event.is-success .saas-monitoring-event-icon { background: #dcfce7; color: #166534; }
.saas-monitoring-event.is-warning .saas-monitoring-event-icon { background: #fef3c7; color: #92400e; }
.saas-monitoring-event.is-error .saas-monitoring-event-icon,
.saas-monitoring-event.is-critical .saas-monitoring-event-icon { background: #fee2e2; color: #b91c1c; }
.saas-monitoring-event-body {
    min-width: 0;
}
.saas-monitoring-event-body strong,
.saas-monitoring-event-body small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.saas-monitoring-event-body strong {
    color: #0f172a;
    font-size: .82rem;
    font-weight: 900;
}
.saas-monitoring-event-body small {
    margin-top: .15rem;
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
}
.saas-monitoring-client {
    display: grid;
    gap: .55rem;
    padding: .7rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
}
.saas-monitoring-client > div:first-child {
    min-width: 0;
}
.saas-monitoring-client strong,
.saas-monitoring-client small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.saas-monitoring-client strong {
    color: #0f172a;
    font-size: .88rem;
    font-weight: 900;
}
.saas-monitoring-client small {
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
}
.saas-monitoring-client-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .35rem;
}
.saas-monitoring-client-metrics span {
    min-height: 42px;
    padding: .42rem;
    border-radius: 7px;
    background: #f8fafc;
    color: #475569;
    font-size: .68rem;
    font-weight: 800;
    text-align: center;
}
.saas-monitoring-client-metrics b {
    display: block;
    color: #0f172a;
    font-size: .9rem;
}
.saas-monitoring-client-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
}
.saas-monitoring-client-foot .btn {
    width: 30px;
    height: 30px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
}
.saas-monitoring-table {
    margin-bottom: 0;
    color: #0f172a;
    font-size: .78rem;
}
.saas-monitoring-table thead th {
    border-top: 0;
    border-bottom: 0;
    background: #1b365d;
    color: #fff;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}
.saas-monitoring-table td {
    vertical-align: middle;
    border-top: 1px solid #edf2f7;
}
.saas-monitoring-table td small {
    display: block;
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}
.saas-monitoring-clients-panel {
    width: 100%;
}
.saas-monitoring-client-table-wrap {
    overflow-x: hidden;
    padding: .65rem;
}
.saas-monitoring-client-table {
    width: 100% !important;
    table-layout: fixed;
    font-size: .7rem;
}
.saas-monitoring-client-table th,
.saas-monitoring-client-table td {
    overflow: hidden;
    padding: .48rem .34rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.saas-monitoring-client-table.dataTable thead > tr > th.sorting,
.saas-monitoring-client-table.dataTable thead > tr > th.sorting_asc,
.saas-monitoring-client-table.dataTable thead > tr > th.sorting_desc,
.saas-monitoring-client-table.dataTable thead > tr > th.sorting_asc_disabled,
.saas-monitoring-client-table.dataTable thead > tr > th.sorting_desc_disabled {
    padding-right: .34rem;
    background-image: none !important;
}
.saas-monitoring-client-table th:nth-child(1),
.saas-monitoring-client-table td:nth-child(1) {
    width: 20%;
}
.saas-monitoring-client-table th:nth-child(2),
.saas-monitoring-client-table td:nth-child(2) {
    width: 7%;
}
.saas-monitoring-client-table th:nth-child(3),
.saas-monitoring-client-table td:nth-child(3) {
    width: 10%;
}
.saas-monitoring-client-table th:nth-child(4),
.saas-monitoring-client-table td:nth-child(4) {
    width: 8%;
}
.saas-monitoring-client-table th:nth-child(5),
.saas-monitoring-client-table td:nth-child(5),
.saas-monitoring-client-table th:nth-child(6),
.saas-monitoring-client-table td:nth-child(6) {
    width: 6%;
}
.saas-monitoring-client-table th:nth-child(7),
.saas-monitoring-client-table td:nth-child(7),
.saas-monitoring-client-table th:nth-child(8),
.saas-monitoring-client-table td:nth-child(8) {
    width: 7%;
}
.saas-monitoring-client-table th:nth-child(9),
.saas-monitoring-client-table td:nth-child(9),
.saas-monitoring-client-table th:nth-child(10),
.saas-monitoring-client-table td:nth-child(10) {
    width: 10%;
}
.saas-monitoring-client-table th:nth-child(11),
.saas-monitoring-client-table td:nth-child(11) {
    width: 9%;
}
.saas-monitoring-client-table td:first-child,
.saas-monitoring-client-table td:nth-child(2) {
    white-space: normal;
}
.saas-monitoring-client-table td:first-child strong,
.saas-monitoring-client-table td:nth-child(2) strong {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: #0f172a;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.saas-monitoring-cell-code {
    display: inline-flex;
    max-width: 100%;
    overflow: hidden;
    color: #334155;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: .72rem;
    font-weight: 800;
    text-overflow: ellipsis;
    vertical-align: middle;
}
.saas-monitoring-table-indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .18rem;
    min-height: 22px;
    color: #475569;
    font-weight: 900;
}
.saas-monitoring-table-indicator i {
    color: #94a3b8;
    font-size: .72rem;
}
.saas-monitoring-table-indicator > i:not(.fas) {
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: currentColor;
}
.saas-monitoring-table-indicator.is-online {
    color: #15803d;
}
.saas-monitoring-table-indicator.is-offline,
.saas-monitoring-table-indicator.is-offline i {
    color: #b45309;
}
.saas-monitoring-table-indicator.is-neutral,
.saas-monitoring-table-indicator.is-neutral i {
    color: #64748b;
}
.saas-monitoring-table-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    max-width: 30px;
    padding: 0;
    white-space: nowrap;
}
.saas-monitoring-client-table-wrap .dataTables_wrapper .dataTables_length,
.saas-monitoring-client-table-wrap .dataTables_wrapper .dataTables_filter,
.saas-monitoring-client-table-wrap .dataTables_wrapper .dataTables_info,
.saas-monitoring-client-table-wrap .dataTables_wrapper .dataTables_paginate {
    color: #64748b;
    font-size: .76rem;
    font-weight: 800;
}
.saas-monitoring-client-table-wrap .dataTables_wrapper .dataTables_length select,
.saas-monitoring-client-table-wrap .dataTables_wrapper .dataTables_filter input {
    min-height: 30px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 800;
}
.saas-monitoring-client-table-wrap .dataTables_wrapper .dataTables_filter input {
    margin-left: .4rem;
}
.saas-monitoring-client-table-wrap .dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 6px;
    font-weight: 900;
}
.saas-monitoring-client-table-wrap table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control::before,
.saas-monitoring-client-table-wrap table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control::before {
    border-radius: 6px;
    background-color: #0d6efd;
    box-shadow: none;
}
.saas-monitoring-client-table-wrap table.dataTable > tbody > tr.child ul.dtr-details {
    width: 100%;
}
.saas-monitoring-client-table-wrap table.dataTable > tbody > tr.child span.dtr-title {
    color: #475569;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}
.saas-monitoring-event-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
}
.saas-monitoring-event-detail-grid div {
    padding: .55rem .65rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
}
.saas-monitoring-event-detail-grid small,
.saas-monitoring-event-detail-grid strong {
    display: block;
    overflow-wrap: anywhere;
}
.saas-monitoring-event-detail-grid small {
    color: #64748b;
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
}
.saas-monitoring-event-detail-grid strong {
    margin-top: .15rem;
    color: #0f172a;
    font-size: .8rem;
    font-weight: 900;
}
.saas-monitoring-metadata {
    max-height: 260px;
    margin: .75rem 0 0;
    padding: .75rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #0f172a;
    color: #e2e8f0;
    font-size: .76rem;
    white-space: pre-wrap;
}
@media (max-width: 1199.98px) {
    .saas-monitoring-hero,
    .saas-monitoring-client-hero,
    .saas-monitoring-metrics-grid,
    .saas-monitoring-grid,
    .saas-monitoring-workspace,
    .saas-monitoring-client-layout,
    .saas-monitoring-secondary-grid {
        grid-template-columns: 1fr;
    }
    .saas-monitoring-kpi-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (max-width: 767.98px) {
    .saas-monitoring-hero {
        padding: .75rem;
    }
    .saas-monitoring-health-grid,
    .saas-monitoring-kpi-grid,
    .saas-monitoring-client-facts,
    .saas-monitoring-client-metrics,
    .saas-monitoring-breakdown div,
    .saas-monitoring-event-detail-grid {
        grid-template-columns: 1fr;
    }
    .saas-monitoring-chart svg,
    .saas-monitoring-hour-bars {
        height: 140px;
    }
    .saas-monitoring-hour-bars {
        gap: .12rem;
    }
    .saas-monitoring-client-badges {
        justify-content: flex-start;
    }
    .saas-monitoring-event {
        grid-template-columns: 54px 30px minmax(0, 1fr);
    }
    .saas-monitoring-event > .badge {
        grid-column: 3;
        width: fit-content;
    }
    .saas-monitoring-client-foot {
        align-items: stretch;
        flex-direction: column;
    }
    .saas-monitoring-client-table-wrap {
        padding: .55rem;
    }
    .saas-monitoring-client-table-wrap .dataTables_wrapper .dataTables_length,
    .saas-monitoring-client-table-wrap .dataTables_wrapper .dataTables_filter {
        float: none;
        text-align: left;
    }
    .saas-monitoring-client-table-wrap .dataTables_wrapper .dataTables_filter {
        margin-top: .45rem;
    }
    .saas-monitoring-client-table-wrap .dataTables_wrapper .dataTables_filter input {
        width: min(100%, 220px);
        margin-left: 0;
        display: block;
    }
}
.saas-payments-kpis {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.saas-users-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.saas-customers-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.saas-customers-minimal {
    --sc-ink: #2f3437;
    --sc-muted: #787774;
    --sc-line: #eaeaea;
    --sc-bone: #f7f6f3;
    --sc-surface: #ffffff;
    --sc-chip-ok-bg: #edf3ec;
    --sc-chip-ok: #346538;
    --sc-chip-trial-bg: #fbf3db;
    --sc-chip-trial: #956400;
    --sc-chip-warn-bg: #fdebec;
    --sc-chip-warn: #9f2f2d;
    --sc-chip-idle-bg: #f1f1ef;
    --sc-chip-idle: #5f5e5a;
    color: var(--sc-ink);
}

.saas-customers-minimal .saas-customers-toolbar {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.saas-customers-minimal .saas-customers-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    border: 1px solid var(--sc-line);
    border-radius: 10px;
    background: var(--sc-surface);
    overflow: hidden;
}

.saas-customers-minimal .saas-customers-stat {
    padding: .9rem 1rem;
    border-right: 1px solid var(--sc-line);
}

.saas-customers-minimal .saas-customers-stat:last-child {
    border-right: 0;
}

.saas-customers-minimal .saas-customers-stat span {
    display: block;
    color: var(--sc-muted);
    font-size: .72rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: .2rem;
}

.saas-customers-minimal .saas-customers-stat strong {
    display: block;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.1;
    color: var(--sc-ink);
}

.saas-customers-minimal .saas-customers-controls {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
}

.saas-customers-minimal .saas-customers-search {
    position: relative;
    flex: 1 1 240px;
    min-width: 200px;
}

.saas-customers-minimal .saas-customers-search i {
    position: absolute;
    left: .85rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--sc-muted);
    font-size: .8rem;
}

.saas-customers-minimal .saas-customers-search input,
.saas-customers-minimal .saas-customers-select {
    height: 40px;
    border: 1px solid var(--sc-line);
    border-radius: 6px;
    background: var(--sc-surface);
    color: var(--sc-ink);
    font-size: .9rem;
}

.saas-customers-minimal .saas-customers-search input {
    width: 100%;
    padding: 0 0.85rem 0 2.15rem;
}

.saas-customers-minimal .saas-customers-search input:focus,
.saas-customers-minimal .saas-customers-select:focus {
    outline: none;
    border-color: #cfcfcf;
}

.saas-customers-minimal .saas-customers-select {
    min-width: 130px;
    padding: 0 .7rem;
}

.saas-customers-minimal .saas-customers-btn {
    height: 40px;
    border-radius: 6px;
    border: 1px solid var(--sc-line);
    padding: 0 .95rem;
    font-size: .86rem;
    font-weight: 600;
    background: var(--sc-surface);
    color: var(--sc-ink);
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.saas-customers-minimal .saas-customers-btn-ghost:hover {
    background: var(--sc-bone);
}

.saas-customers-minimal .saas-customers-btn-solid {
    background: #111;
    border-color: #111;
    color: #fff;
}

.saas-customers-minimal .saas-customers-btn-solid:hover {
    background: #333;
    border-color: #333;
    color: #fff;
}

.saas-customers-minimal .saas-customers-panel {
    border: 1px solid var(--sc-line);
    border-radius: 10px;
    background: var(--sc-surface);
    margin-bottom: 1rem;
    overflow: hidden;
}

.saas-customers-minimal .saas-customers-panel-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--sc-line);
    background: #fbfbfa;
}

.saas-customers-minimal .saas-customers-panel-head h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -.01em;
    color: var(--sc-ink);
}

.saas-customers-minimal .saas-customers-panel-head span {
    color: var(--sc-muted);
    font-size: .8rem;
}

.saas-customers-minimal .saas-customers-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

.saas-customers-minimal .saas-customers-table thead th {
    padding: .7rem 1rem;
    border-bottom: 1px solid var(--sc-line);
    color: var(--sc-muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    background: transparent;
    white-space: nowrap;
}

.saas-customers-minimal .saas-customers-table tbody td {
    padding: .95rem 1rem;
    border-bottom: 1px solid var(--sc-line);
    vertical-align: middle;
}

.saas-customers-minimal .saas-customers-table tbody tr:last-child td {
    border-bottom: 0;
}

.saas-customers-minimal .saas-customers-table tbody tr:hover td {
    background: #fcfcfb;
}

.saas-customers-minimal .saas-customers-identity {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 0;
}

.saas-customers-minimal .saas-customers-identity strong {
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: -.01em;
    color: var(--sc-ink);
    line-height: 1.25;
}

.saas-customers-minimal .saas-customers-identity span,
.saas-customers-minimal .saas-customers-identity em {
    font-style: normal;
    font-size: .8rem;
    color: var(--sc-muted);
    line-height: 1.35;
}

.saas-customers-minimal .saas-customers-plan {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .28rem;
}

.saas-customers-minimal .saas-customers-plan strong {
    font-size: .9rem;
    font-weight: 700;
    color: var(--sc-ink);
}

.saas-customers-minimal .saas-customers-plan small,
.saas-customers-minimal .saas-customers-expire small {
    color: var(--sc-muted);
    font-size: .78rem;
}

.saas-customers-minimal .saas-customers-expire strong {
    display: block;
    font-size: .9rem;
    font-weight: 650;
    color: var(--sc-ink);
}

.saas-customers-minimal .saas-customers-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .18rem .55rem;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    line-height: 1.2;
}

.saas-customers-minimal .saas-customers-chip-active,
.saas-customers-minimal .saas-customers-chip-ok {
    background: var(--sc-chip-ok-bg);
    color: var(--sc-chip-ok);
}

.saas-customers-minimal .saas-customers-chip-trial {
    background: var(--sc-chip-trial-bg);
    color: var(--sc-chip-trial);
}

.saas-customers-minimal .saas-customers-chip-suspended {
    background: var(--sc-chip-warn-bg);
    color: var(--sc-chip-warn);
}

.saas-customers-minimal .saas-customers-chip-inactive {
    background: var(--sc-chip-idle-bg);
    color: var(--sc-chip-idle);
}

.saas-customers-minimal .saas-customers-flag {
    display: block;
    margin-top: .3rem;
    color: var(--sc-chip-trial);
    font-size: .72rem;
}

.saas-customers-minimal .saas-customers-muted,
.saas-customers-minimal .saas-customers-empty {
    color: var(--sc-muted);
    font-size: .88rem;
}

.saas-customers-minimal .saas-customers-empty {
    text-align: center;
    padding: 2rem 1rem !important;
}

.saas-customers-minimal .saas-customers-actions {
    white-space: nowrap;
}

.saas-customers-minimal .saas-customers-icon-btn {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    border: 1px solid var(--sc-line);
    background: var(--sc-surface);
    color: var(--sc-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: .25rem;
}

.saas-customers-minimal .saas-customers-icon-btn:hover {
    background: var(--sc-bone);
}

.saas-customers-minimal .saas-customers-icon-btn.is-danger {
    color: var(--sc-chip-warn);
}

.saas-customers-minimal .saas-customers-archived {
    opacity: .96;
}

.saas-customers-minimal .saas-customers-archived .saas-customers-panel-head {
    background: var(--sc-bone);
}

@media (max-width: 900px) {
    .saas-customers-minimal .saas-customers-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .saas-customers-minimal .saas-customers-stat:nth-child(2) {
        border-right: 0;
    }

    .saas-customers-minimal .saas-customers-stat:nth-child(1),
    .saas-customers-minimal .saas-customers-stat:nth-child(2) {
        border-bottom: 1px solid var(--sc-line);
    }
}

@media (max-width: 640px) {
    .saas-customers-minimal .saas-customers-controls {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .saas-customers-minimal .saas-customers-search {
        grid-column: 1 / -1;
    }

    .saas-customers-minimal .saas-customers-btn-solid {
        grid-column: 1 / -1;
    }
}

.saas-plans-filter-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}
.saas-users-filter-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}
.saas-customers-filter-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}
.saas-payments-filter-grid {
    grid-template-columns: minmax(260px, 1fr) 180px;
}
.saas-payment-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 220px;
}
.saas-payment-actions .btn {
    margin: 0;
}
.saas-plans-filter-grid .sales-history-search-field,
.saas-users-filter-grid .sales-history-search-field,
.saas-customers-filter-grid .sales-history-search-field {
    grid-column: span 4;
}
.saas-plan-price-chip {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    color: #334155;
    line-height: 1.45;
}
.saas-plan-wizard-dialog {
    max-width: min(1040px, calc(100vw - 2rem));
}
.saas-plan-wizard-modal {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .18);
    max-height: calc(100vh - 2rem);
}
.saas-plan-wizard-header {
    align-items: flex-start;
    border-bottom: 1px solid #e5eaf1;
    padding: .85rem 1rem;
}
.saas-plan-wizard-kicker {
    display: block;
    color: #64748b;
    font-size: .66rem;
    font-weight: 900;
    line-height: 1;
    margin-bottom: .25rem;
    text-transform: uppercase;
}
.saas-plan-wizard-header .modal-title {
    color: #0f172a;
    font-size: .98rem;
    font-weight: 900;
}
.saas-plan-wizard-current {
    color: #1d4ed8;
    display: block;
    font-size: .78rem;
    font-weight: 800;
    margin-top: .16rem;
}
.saas-plan-wizard-body {
    max-height: calc(100vh - 154px);
    overflow-y: auto;
    padding: .85rem 1rem;
}
.saas-plan-wizard-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
    margin-bottom: .85rem;
}
.saas-plan-wizard-step {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    color: #475569;
    display: flex;
    gap: .48rem;
    min-height: 38px;
    padding: .35rem .5rem;
    text-align: left;
}
.saas-plan-wizard-step span {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 900;
    height: 26px;
    justify-content: center;
    width: 26px;
}
.saas-plan-wizard-step strong {
    font-size: .74rem;
    font-weight: 900;
}
.saas-plan-wizard-step.is-active {
    border-color: #2563eb;
    color: #0f172a;
}
.saas-plan-wizard-step.is-active span {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}
.saas-plan-wizard-step.is-complete span {
    background: #16a34a;
    border-color: #16a34a;
    color: #fff;
}
.saas-plan-wizard-pane {
    display: none;
}
.saas-plan-wizard-pane.is-active {
    display: block;
}
.saas-plan-section-head {
    border-bottom: 1px solid #edf1f6;
    margin-bottom: .75rem;
    padding-bottom: .55rem;
}
.saas-plan-section-head strong {
    color: #0f172a;
    display: block;
    font-size: .9rem;
    font-weight: 900;
}
.saas-plan-section-head span {
    color: #64748b;
    display: block;
    font-size: .74rem;
    font-weight: 700;
    margin-top: .1rem;
}
.saas-plan-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
}
.saas-plan-form-grid .span-2 {
    grid-column: span 2;
}
.saas-plan-form-grid .span-4 {
    grid-column: span 4;
}
.saas-plan-form-grid label,
.saas-plan-subtitle {
    display: block;
    font-size: .72rem;
    font-weight: 900;
    color: #475569;
}
.saas-plan-form-grid .form-control,
.saas-plan-module-grid .form-control {
    border-radius: 6px;
    border-color: #dbe4f0;
    font-size: .78rem;
    font-weight: 700;
}
.saas-plan-limit-field {
    min-width: 0;
}
.saas-plan-limit-field .form-control:disabled {
    background: #f8fafc;
    color: #94a3b8;
}
.saas-plan-limit-unlimited {
    display: inline-flex !important;
    align-items: center;
    gap: .35rem;
    min-height: 26px;
    margin: .28rem 0 0;
    color: #0f766e !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
}
.saas-plan-check-grid,
.saas-plan-module-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem .75rem;
    margin: .75rem 0 1rem;
}
.saas-plan-check-grid-sm {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 420px;
}
.saas-plan-check-grid label,
.saas-plan-module-grid label {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-height: 30px;
    margin: 0;
    font-size: .76rem;
    font-weight: 800;
    color: #334155;
}
.saas-plan-feature-textarea {
    border-color: #dbe4f0;
    border-radius: 6px;
    font-size: .78rem;
    font-weight: 700;
}
.saas-user-scope,
.saas-user-permission-count {
    color: #0f172a;
    display: inline-block;
    font-size: .78rem;
    font-weight: 900;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    white-space: nowrap;
}
.saas-user-client-block {
    margin-top: .85rem;
}
.saas-user-permissions-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
}
.saas-user-permission-group {
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    padding: .65rem;
}
.saas-user-permission-group strong {
    color: #0f172a;
    display: block;
    font-size: .78rem;
    font-weight: 900;
    margin-bottom: .45rem;
}
.saas-user-permission-group label {
    align-items: center;
    color: #334155;
    display: flex;
    gap: .42rem;
    font-size: .74rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 .42rem;
    min-height: 26px;
}
.saas-user-permission-group label:last-child {
    margin-bottom: 0;
}
.saas-customer-business {
    color: #0f172a;
    display: inline-block;
    font-size: .78rem;
    font-weight: 900;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    white-space: nowrap;
}
.saas-customer-apps {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    max-width: 300px;
}
.saas-customer-apps span {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    color: #1d4ed8;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
    padding: .28rem .42rem;
}
.saas-customer-subscriptions-row td {
    background: #f8fafc;
    border-top: 0;
    padding: .65rem .85rem;
}
.saas-customer-subscriptions {
    display: grid;
    gap: .42rem;
}
.saas-customer-subscription-item {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    display: grid;
    gap: .5rem;
    grid-template-columns: minmax(180px, 1.3fr) 90px 90px 90px minmax(220px, 1fr);
    min-height: 42px;
    padding: .45rem .55rem;
}
.saas-customer-subscription-item strong,
.saas-customer-subscription-item small {
    display: block;
    line-height: 1.15;
}
.saas-customer-subscription-item strong {
    color: #0f172a;
    font-size: .78rem;
    font-weight: 900;
}
.saas-customer-subscription-item small,
.saas-customer-subscription-item span {
    color: #475569;
    font-size: .72rem;
    font-weight: 800;
}
.saas-plan-wizard-footer {
    border-top: 1px solid #e5eaf1;
    padding: .72rem 1rem;
}
.saas-plan-wizard-footer-spacer {
    flex: 1 1 auto;
}
.kajo-public-body {
    --blue-950: #001f3f;
    --blue-900: #003d79;
    --blue-800: #0056a8;
    --blue-700: #0072ce;
    --blue-100: #e6f5ff;
    --orange: #ff8a00;
    --ink: #102033;
    --muted: #5d6b7a;
    --line: #d8e5ef;
    --surface: #ffffff;
    --soft: #f4f9fd;
    --shadow: 0 24px 70px rgba(0, 40, 86, .18);
    background: var(--soft);
    color: var(--ink);
    font-family: Inter, Arial, sans-serif;
}
.kajo-plans-public {
    min-height: 100vh;
    overflow-x: hidden;
    background: var(--soft);
}
.kajo-pricing-hero {
    position: relative;
    min-height: 620px;
    padding: 18px clamp(20px, 5vw, 72px) clamp(76px, 9vw, 118px);
    color: #fff;
    background:
        linear-gradient(90deg, rgba(0, 31, 63, .96) 0%, rgba(0, 61, 121, .9) 45%, rgba(0, 86, 168, .58) 100%),
        url("../img/kajofondo.png") center / cover no-repeat;
}
.kajo-public-nav {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    width: min(1180px, 100%);
    margin: 0 auto;
    padding: .85rem 1rem;
    border: 1px solid rgba(216, 229, 239, .75);
    border-radius: 8px;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 18px 42px rgba(0, 31, 63, .18);
    backdrop-filter: blur(16px);
}
.kajo-public-brand {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    color: var(--ink);
    font-weight: 900;
}
.kajo-public-brand img {
    width: 120px;
    height: 46px;
    object-fit: contain;
    border-radius: 4px;
    background: #fff;
}
.kajo-public-nav-links {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    font-size: .95rem;
    font-weight: 800;
}
.kajo-public-nav-links a {
    color: var(--blue-900);
}
.kajo-public-nav-links .nav-cta {
    padding: .7rem 1rem;
    border-radius: 8px;
    background: var(--orange);
    color: #fff;
    box-shadow: 0 12px 24px rgba(255, 138, 0, .26);
}
.kajo-pricing-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
    gap: clamp(28px, 6vw, 74px);
    align-items: center;
    width: min(1180px, 100%);
    margin: clamp(62px, 9vw, 96px) auto 0;
}
.kajo-pricing-hero-copy {
    min-width: 0;
}
.kajo-pricing-eyebrow {
    display: inline-flex;
    margin-bottom: 1rem;
    color: var(--orange);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.kajo-pricing-hero-copy h1 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(42px, 5.2vw, 70px);
    font-weight: 900;
    line-height: .98;
    letter-spacing: 0;
}
.kajo-pricing-hero-copy p {
    max-width: 620px;
    margin: 1.25rem 0 0;
    color: rgba(255, 255, 255, .84);
    font-size: clamp(17px, 2vw, 21px);
    font-weight: 700;
    line-height: 1.55;
}
.kajo-pricing-hero-actions,
.kajo-public-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}
.kajo-pricing-hero-actions {
    margin-top: 1.6rem;
}
.kajo-plans-public .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: .72rem 1rem;
    border-radius: 8px;
    font-size: .95rem;
    font-weight: 900;
    line-height: 1;
    transition: transform 170ms ease, box-shadow 170ms ease, background 170ms ease;
}
.kajo-plans-public .btn:hover {
    transform: translateY(-1px);
}
.kajo-plans-public .btn-primary {
    border: 1px solid var(--orange);
    background: var(--orange);
    color: #fff;
    box-shadow: 0 16px 30px rgba(255, 138, 0, .28);
}
.kajo-plans-public .btn-secondary {
    border: 1px solid rgba(255, 255, 255, .62);
    background: rgba(255, 255, 255, .95);
    color: var(--blue-900);
}
.kajo-public-plan .btn-secondary {
    border-color: var(--line);
    background: #fff;
}
.kajo-pricing-trust {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.5rem;
}
.kajo-pricing-trust span {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .5rem .7rem;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .9);
    font-size: .82rem;
    font-weight: 800;
}
.kajo-pricing-trust i,
.kajo-public-plan li i {
    color: #00c26f;
}
.kajo-pricing-hero-visual {
    position: relative;
    min-width: 0;
}
.kajo-pricing-hero-visual > img:first-child {
    display: block;
    width: 100%;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}
.kajo-pricing-mascot {
    position: absolute;
    top: -96px;
    right: -24px;
    width: min(220px, 42%);
    filter: drop-shadow(0 20px 28px rgba(0, 31, 63, .28));
}
.kajo-pricing-section,
.kajo-public-compare,
.kajo-public-faq {
    padding: clamp(76px, 8vw, 110px) clamp(20px, 5vw, 72px);
}
.kajo-pricing-section {
    background: var(--soft);
}
.kajo-pricing-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1.5rem;
    width: min(1180px, 100%);
    margin: 0 auto 1.75rem;
}
.kajo-pricing-section-head h2,
.kajo-public-faq h2 {
    margin: 0;
    color: var(--ink);
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 900;
    line-height: 1.04;
}
.kajo-pricing-section-head p {
    max-width: 680px;
    margin: .65rem 0 0;
    color: var(--muted);
    font-weight: 700;
    line-height: 1.55;
}
.kajo-cycle-switch {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .35rem;
    padding: .35rem;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(0, 40, 86, .08);
}
.kajo-cycle-switch a {
    padding: .62rem .82rem;
    border-radius: 6px;
    color: var(--blue-900);
    font-size: .84rem;
    font-weight: 900;
}
.kajo-cycle-switch a.active {
    background: var(--blue-900);
    color: #fff;
}
.kajo-public-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem;
    width: min(1180px, 100%);
    margin: 0 auto;
}
.kajo-public-plan {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 1.35rem;
    box-shadow: 0 18px 44px rgba(0, 40, 86, .09);
}
.kajo-public-plan.is-recommended {
    border-color: var(--orange);
    transform: translateY(-8px);
    box-shadow: var(--shadow);
}
.kajo-plan-ribbon {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: .8rem;
    padding: .32rem .62rem;
    border-radius: 999px;
    background: var(--orange);
    color: #fff;
    font-size: .72rem;
    font-weight: 900;
}
.kajo-public-plan h2 {
    margin: 0 0 .35rem;
    color: var(--ink);
    font-size: 1.35rem;
    font-weight: 900;
}
.kajo-public-plan p {
    min-height: 68px;
    margin: 0 0 1rem;
    color: var(--muted);
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.55;
}
.kajo-public-price {
    margin-bottom: 1rem;
    color: var(--blue-950);
    font-size: 1.75rem;
    font-weight: 900;
}
.kajo-public-price span {
    color: var(--muted);
    font-size: .86rem;
    font-weight: 800;
}
.kajo-public-actions {
    margin-bottom: 1rem;
}
.kajo-public-plan ul {
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
    list-style: none;
}
.kajo-public-plan li {
    display: flex;
    gap: .45rem;
    padding: .5rem 0;
    border-top: 1px solid #edf1f6;
    color: var(--ink);
    font-size: .86rem;
    font-weight: 800;
}
.kajo-public-plan li i {
    margin-top: .18rem;
}
.kajo-public-compare,
.kajo-public-faq {
    background: #fff;
}
.kajo-public-compare .table-responsive,
.kajo-public-faq {
    width: min(1180px, 100%);
    margin-right: auto;
    margin-left: auto;
}
.kajo-public-compare table {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(0, 40, 86, .08);
}
.kajo-public-compare th {
    color: var(--blue-950);
    background: var(--blue-100);
    font-weight: 900;
}
.kajo-public-faq {
    background: var(--soft);
}
.kajo-public-faq details {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 1rem 1.1rem;
    margin-top: .8rem;
    background: #fff;
    box-shadow: 0 12px 28px rgba(0, 40, 86, .06);
}
.kajo-public-faq summary {
    cursor: pointer;
    color: var(--ink);
    font-weight: 900;
}
.kajo-public-faq p {
    margin: .55rem 0 0;
    color: var(--muted);
    font-weight: 700;
    line-height: 1.55;
}
.kajo-public-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    padding: 28px clamp(20px, 5vw, 72px);
    background: var(--blue-950);
    color: #fff;
}
.kajo-public-footer .footer-brand {
    display: inline-flex;
    padding: .5rem;
    border-radius: 8px;
    background: #fff;
}
.kajo-public-footer img {
    width: 112px;
    height: 42px;
    object-fit: contain;
}
.kajo-public-footer .footer-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .25rem;
    color: rgba(255, 255, 255, .78);
    font-weight: 700;
}
.kajo-public-footer .footer-copy strong {
    color: #fff;
}
.kajo-public-footer .footer-whatsapp {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .65rem .9rem;
    border-radius: 8px;
    background: #16a34a;
    color: #fff;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 12px 24px rgba(22, 163, 74, .22);
}
.kajo-public-footer .footer-whatsapp:hover,
.kajo-public-footer .footer-whatsapp:focus {
    color: #fff;
    background: #12813d;
    text-decoration: none;
}
@media (max-width: 900px) {
    .saas-plans-kpis,
    .saas-users-kpis,
    .saas-customers-kpis,
    .saas-payments-kpis,
    .kajo-public-plan-grid,
    .saas-plan-form-grid,
    .saas-plan-check-grid,
    .saas-plan-module-grid,
    .saas-user-permissions-grid {
        grid-template-columns: 1fr;
    }
    .saas-plan-form-grid .span-4,
    .saas-plan-form-grid .span-2,
    .saas-payments-filter-grid,
    .saas-users-filter-grid,
    .saas-customers-filter-grid,
    .saas-users-filter-grid .sales-history-search-field,
    .saas-customers-filter-grid .sales-history-search-field,
    .saas-plans-filter-grid .sales-history-search-field {
        grid-column: auto;
        grid-template-columns: 1fr;
    }
    .saas-customer-subscription-item {
        grid-template-columns: 1fr;
    }
    .saas-plan-wizard-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .kajo-pricing-hero {
        min-height: auto;
    }
    .kajo-pricing-hero-grid,
    .kajo-pricing-section-head {
        grid-template-columns: 1fr;
        align-items: flex-start;
        flex-direction: column;
    }
    .kajo-public-plan.is-recommended {
        transform: none;
    }
}
@media (max-width: 575px) {
    .saas-plan-wizard-dialog {
        max-width: calc(100vw - 1rem);
        margin: .5rem auto;
    }
    .saas-plan-wizard-steps {
        grid-template-columns: 1fr;
    }
    .saas-plan-wizard-footer {
        align-items: stretch;
        flex-direction: column;
    }
    .saas-plan-wizard-footer .btn {
        width: 100%;
    }
    .saas-plan-wizard-footer-spacer {
        display: none;
    }
    .kajo-pricing-hero {
        padding-top: 14px;
    }
    .kajo-public-nav,
    .kajo-public-nav-links,
    .kajo-pricing-hero-actions,
    .kajo-public-actions,
    .kajo-public-footer {
        align-items: stretch;
        flex-direction: column;
    }
    .kajo-public-nav-links .nav-cta,
    .kajo-plans-public .btn {
        width: 100%;
    }
    .kajo-pricing-hero-copy h1 {
        font-size: clamp(38px, 13vw, 52px);
    }
    .kajo-pricing-mascot {
        display: none;
    }
    .kajo-public-footer .footer-copy {
        align-items: flex-start;
    }
    .kajo-public-footer .footer-whatsapp {
        justify-content: center;
        white-space: normal;
    }
}

/* SaaS forced password change — alineado a saas-admin-login, fit-to-viewport */
.login-page:has(.saas-change-password-screen) {
    align-items: stretch;
    background: #eaf1f7;
    min-height: 100dvh;
    height: 100dvh;
    margin: 0;
    overflow: hidden;
}

.saas-change-password-screen {
    min-height: 100dvh;
    height: 100dvh;
    width: 100%;
    background:
        linear-gradient(135deg, rgba(7, 48, 68, .94), rgba(13, 110, 253, .78)),
        #073044;
    display: grid;
    place-items: center;
    padding: clamp(.5rem, 1.5vh, 1rem);
    box-sizing: border-box;
    overflow: hidden;
}

.saas-change-password-panel {
    width: min(420px, 100%);
    max-height: calc(100dvh - clamp(1rem, 3vh, 2rem));
    background: #ffffff;
    border: 1px solid #dbe4f0;
    border-radius: 12px;
    padding: clamp(.75rem, 1.8vh, 1.1rem) clamp(.9rem, 2vw, 1.15rem);
    box-shadow: 0 18px 48px rgba(15, 23, 42, .2);
    display: grid;
    gap: clamp(.45rem, 1.2vh, .75rem);
    overflow: auto;
    overscroll-behavior: contain;
}

.saas-change-password-brand {
    display: flex;
    align-items: center;
    gap: .65rem;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: clamp(.45rem, 1.2vh, .75rem);
}

.saas-change-password-brand > span {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #0d6efd;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(13, 110, 253, .22);
    flex-shrink: 0;
}

.saas-change-password-brand strong,
.saas-change-password-brand small {
    display: block;
    line-height: 1.1;
}

.saas-change-password-brand strong {
    color: #0f172a;
    font-size: 1.02rem;
    font-weight: 900;
}

.saas-change-password-brand small {
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
}

.saas-change-password-copy h1 {
    color: #0f172a;
    font-size: clamp(1.15rem, 2.4vh, 1.35rem);
    font-weight: 900;
    letter-spacing: -.02em;
    margin: 0 0 .25rem;
}

.saas-change-password-copy p {
    color: #475569;
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
}

.saas-change-password-account {
    margin-top: .35rem;
    color: #1d4ed8;
    font-size: .8rem;
    font-weight: 800;
    word-break: break-all;
}

.saas-change-password-alert {
    border-radius: 8px;
    font-size: .82rem;
    font-weight: 800;
    margin: 0;
    padding: .55rem .7rem;
}

.saas-change-password-form {
    display: grid;
    gap: clamp(.45rem, 1.1vh, .7rem);
    margin: 0;
}

.saas-change-password-form label {
    display: grid;
    gap: .22rem;
    margin: 0;
}

.saas-change-password-form label > span {
    color: #334155;
    font-size: .74rem;
    font-weight: 800;
}

.saas-change-password-field {
    position: relative;
    display: flex;
    align-items: center;
}

.saas-change-password-field > i {
    position: absolute;
    left: .75rem;
    color: #94a3b8;
    font-size: .85rem;
    pointer-events: none;
}

.saas-change-password-field input {
    width: 100%;
    height: clamp(2.35rem, 5.2vh, 2.65rem);
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0 2.5rem 0 2.2rem;
    font-size: .92rem;
    font-weight: 700;
    color: #0f172a;
    background: #fff;
    transition: border-color 160ms ease-out, box-shadow 160ms ease-out;
}

.saas-change-password-field input:focus {
    outline: none;
    border-color: #0d6efd;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, .16);
}

.saas-change-password-field button {
    position: absolute;
    right: .2rem;
    width: 2.1rem;
    height: 2.1rem;
    border: 0;
    background: transparent;
    color: #64748b;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: color 140ms ease-out, background-color 140ms ease-out, transform 120ms ease-out;
}

.saas-change-password-field button:hover,
.saas-change-password-field button:focus-visible {
    color: #0d6efd;
    background: #eff6ff;
    outline: none;
}

.saas-change-password-field button:active {
    transform: scale(.97);
}

.saas-password-rules {
    list-style: none;
    margin: 0;
    padding: .55rem .65rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .28rem .55rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.saas-password-rules li {
    display: flex;
    align-items: center;
    gap: .35rem;
    margin: 0;
    font-size: .72rem;
    font-weight: 700;
    color: #94a3b8;
    line-height: 1.2;
}

.saas-password-rules li i {
    font-size: .7rem;
    flex-shrink: 0;
}

.saas-password-rules li.is-valid {
    color: #15803d;
}

.saas-password-rules li.is-invalid {
    color: #b91c1c;
}

.saas-change-password-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    width: 100%;
    height: clamp(2.4rem, 5.4vh, 2.7rem);
    border: 0;
    border-radius: 8px;
    background: #0d6efd;
    color: #ffffff;
    font-size: .92rem;
    font-weight: 800;
    cursor: pointer;
    transition: background-color 160ms ease-out, transform 120ms ease-out, box-shadow 160ms ease-out;
    box-shadow: 0 10px 22px rgba(13, 110, 253, .22);
}

.saas-change-password-submit:hover:not(:disabled),
.saas-change-password-submit:focus-visible:not(:disabled) {
    background: #0b5ed7;
    outline: none;
}

.saas-change-password-submit:active:not(:disabled) {
    transform: scale(.98);
}

.saas-change-password-submit:disabled {
    opacity: .55;
    cursor: not-allowed;
    box-shadow: none;
}

.saas-change-password-logout {
    margin: 0;
    text-align: center;
}

.saas-change-password-logout button {
    border: 0;
    background: transparent;
    color: #64748b;
    font-size: .78rem;
    font-weight: 700;
    cursor: pointer;
    padding: .15rem .35rem;
    transition: color 140ms ease-out;
}

.saas-change-password-logout button:hover,
.saas-change-password-logout button:focus-visible {
    color: #0d6efd;
    outline: none;
}

@media (max-width: 420px) {
    .saas-password-rules {
        grid-template-columns: 1fr;
    }
}

@media (max-height: 640px) {
    .saas-change-password-brand > span {
        width: 34px;
        height: 34px;
    }

    .saas-change-password-copy p {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .saas-password-rules {
        gap: .2rem .45rem;
        padding: .4rem .5rem;
    }
}

/* Encabezado azul unificado en DataTables (mismo criterio que Productos) */
table.dataTable:not(.sale-cart-table) > thead > tr > th,
table.dataTable:not(.sale-cart-table) > thead > tr > td,
table.datatable:not(.sale-cart-table) > thead > tr > th,
table.fe-datatable > thead > tr > th,
div.dataTables_scrollHead table > thead > tr > th,
div.dataTables_scrollHead table > thead > tr > td {
    background: #1b365d !important;
    color: #fff !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .12);
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
    color: #fff !important;
}

table.dataTable thead > tr > th.sorting:before,
table.dataTable thead > tr > th.sorting:after,
table.dataTable thead > tr > th.sorting_asc:before,
table.dataTable thead > tr > th.sorting_asc:after,
table.dataTable thead > tr > th.sorting_desc:before,
table.dataTable thead > tr > th.sorting_desc:after,
table.dataTable thead > tr > th.sorting_asc_disabled:before,
table.dataTable thead > tr > th.sorting_asc_disabled:after,
table.dataTable thead > tr > th.sorting_desc_disabled:before,
table.dataTable thead > tr > th.sorting_desc_disabled:after {
    color: #fff !important;
    opacity: .7;
}

table.dataTable thead > tr > th.sorting_asc:after,
table.dataTable thead > tr > th.sorting_desc:after {
    opacity: 1;
}

.sales-history-list-table,
table.dataTable,
table.datatable {
    font-family: Inter, "Source Sans 3", Arial, sans-serif;
    font-size: 13px;
    font-weight: 400;
}

.sales-history-list-table tbody td,
table.dataTable tbody td,
table.datatable tbody td {
    font-size: 13px;
    font-weight: 400;
}

.sales-history-list-table tbody strong,
table.dataTable tbody strong,
table.datatable tbody strong,
.sales-history-list-table .font-weight-bold,
table.dataTable .font-weight-bold,
table.datatable .font-weight-bold {
    font-size: 13px;
    font-weight: 600 !important;
}

.sales-history-list-table thead th,
table.dataTable:not(.sale-cart-table) > thead > tr > th,
table.dataTable:not(.sale-cart-table) > thead > tr > td,
table.datatable:not(.sale-cart-table) > thead > tr > th,
table.fe-datatable > thead > tr > th,
div.dataTables_scrollHead table > thead > tr > th,
div.dataTables_scrollHead table > thead > tr > td {
    font-family: Inter, "Source Sans 3", Arial, sans-serif;
    font-size: 11px !important;
    font-weight: 700 !important;
}

#sale_product_search,
#salePriceCheckerSearch,
#priceCheckerSearch,
#label_product_search,
#purchase_product_search,
#order_product_search,
#inventoryAdjustmentSearch,
#inventoryAddSearch,
#promotion_product_search,
#reportsProductSearch,
.sales-history-search-box .form-control,
.price-checker-search-input,
.purchases-product-search .form-control,
.transfers-product-search .form-control,
.product-promotion-search .form-control {
    font-family: Inter, "Source Sans 3", Arial, sans-serif;
    font-size: 14px;
}

#sale_product_search,
#sale_client_search,
#saleTicketClientSearch,
#clientSearchInput,
#credits_search {
    text-transform: uppercase;
}

#saleSearchResults,
#salePriceCheckerResults,
#priceCheckerSearchResults,
#labelProductSearchResults,
#purchaseSearchResults,
#orderSearchResults,
#inventoryAdjustmentSearchResults,
#inventoryAddSearchResults,
#promotionProductSearchResults,
.sale-price-checker-results,
.price-checker-search-results,
.purchases-search-results,
.stock-adjustment-results,
.product-promotion-search-results,
.transfers-search-results {
    font-family: Inter, "Source Sans 3", Arial, sans-serif;
}

.sale-search-result-name,
#saleSearchResults .list-group-item strong,
#salePriceCheckerResults .list-group-item strong,
#priceCheckerSearchResults .list-group-item strong,
#labelProductSearchResults .list-group-item strong,
#purchaseSearchResults .list-group-item strong,
#orderSearchResults .list-group-item strong,
#inventoryAdjustmentSearchResults .list-group-item strong,
#inventoryAddSearchResults .list-group-item strong,
#promotionProductSearchResults .list-group-item strong,
.price-checker-search-results .list-group-item strong,
.purchases-search-results .list-group-item strong,
.stock-adjustment-results .list-group-item strong,
.product-promotion-search-results .list-group-item strong,
.transfers-search-results .list-group-item strong {
    font-family: Inter, "Source Sans 3", Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
}

#saleSearchResults small,
#saleSearchResults .small,
#saleSearchResults .text-muted,
#salePriceCheckerResults small,
#salePriceCheckerResults .small,
#salePriceCheckerResults .text-muted,
#priceCheckerSearchResults small,
#priceCheckerSearchResults .small,
#priceCheckerSearchResults .text-muted,
#labelProductSearchResults small,
#labelProductSearchResults .small,
#labelProductSearchResults .text-muted,
#purchaseSearchResults small,
#purchaseSearchResults .small,
#purchaseSearchResults .text-muted,
#orderSearchResults small,
#orderSearchResults .small,
#orderSearchResults .text-muted,
#inventoryAdjustmentSearchResults small,
#inventoryAdjustmentSearchResults .small,
#inventoryAdjustmentSearchResults .text-muted,
#inventoryAddSearchResults small,
#inventoryAddSearchResults .small,
#inventoryAddSearchResults .text-muted,
#promotionProductSearchResults small,
#promotionProductSearchResults .small,
#promotionProductSearchResults .text-muted,
.sale-search-result-meta,
.sale-search-result-stock,
.price-checker-search-results small,
.price-checker-search-results .small,
.price-checker-search-results .text-muted,
.purchases-search-results small,
.purchases-search-results .small,
.purchases-search-results .text-muted,
.stock-adjustment-results small,
.stock-adjustment-results .small,
.stock-adjustment-results .text-muted,
.product-promotion-search-results small,
.product-promotion-search-results .small,
.product-promotion-search-results .text-muted,
.transfers-search-results small,
.transfers-search-results .small,
.transfers-search-results .text-muted {
    font-family: Inter, "Source Sans 3", Arial, sans-serif;
    font-size: 11px;
}

.supplier-orders-header p {
    margin: .25rem 0 0;
    color: #64748b;
    font-size: .9rem;
    font-weight: 600;
}

.supplier-orders-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}

.supplier-orders-kpis article {
    min-width: 0;
    padding: .85rem 1rem;
    border: 1px solid #e5eaf1;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .05);
}

.supplier-orders-kpis span {
    display: block;
    color: #64748b;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.15;
    text-transform: uppercase;
}

.supplier-orders-kpis strong {
    display: block;
    margin-top: .3rem;
    color: #0f172a;
    font-size: 1.18rem;
    font-weight: 900;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#supplierOrdersTable {
    table-layout: fixed;
}

#supplierOrdersTable th:nth-child(3),
#supplierOrdersTable td.supplier-order-provider {
    width: 16%;
    max-width: 180px;
    white-space: normal;
}

#supplierOrdersTable td.supplier-order-provider span {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.25;
    white-space: normal;
}
#supplierOrdersTable th:nth-child(2),
#supplierOrdersTable td.supplier-order-date {
    width: 4.75rem;
    max-width: 4.75rem;
    padding-left: .35rem;
    padding-right: .35rem;
    text-align: center;
    white-space: nowrap;
}

#supplierOrdersTable th:nth-child(8),
#supplierOrdersTable td:nth-child(8) {
    width: 16%;
    white-space: nowrap;
}

.supplier-order-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 86px;
    padding: .24rem .55rem;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 900;
    line-height: 1.1;
    white-space: nowrap;
}

.supplier-order-status.is-draft { color: #475569; background: #f1f5f9; }
.supplier-order-status.is-pending { color: #92400e; background: #fef3c7; }
.supplier-order-status.is-approved { color: #1d4ed8; background: #dbeafe; }
.supplier-order-status.is-sent { color: #0f766e; background: #ccfbf1; }
.supplier-order-status.is-partial { color: #9a3412; background: #ffedd5; }
.supplier-order-status.is-received { color: #15803d; background: #dcfce7; }
.supplier-order-status.is-closed { color: #111827; background: #e5e7eb; }
.supplier-order-status.is-cancelled { color: #b91c1c; background: #fee2e2; }

.supplier-order-tools {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: .75rem;
}

.supplier-orders-filter-grid {
    display: grid;
    grid-template-columns: minmax(150px, 1.1fr) minmax(130px, .9fr) 135px 135px auto;
    gap: .55rem;
    align-items: center;
    margin-bottom: .85rem;
}

.supplier-orders-filter-grid .btn {
    white-space: nowrap;
}

#orderSummaryMeta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: .75rem;
}

#orderSummaryMeta .order-summary-card {
    min-width: 0;
    padding: .7rem .8rem .75rem;
    border: 1px solid #e5eaf1;
    border-radius: 10px;
    background: #f8fafc;
}

#orderSummaryMeta h6 {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin: 0 0 .45rem;
    color: #1b365d;
    font-size: .78rem;
    font-weight: 800;
}

#orderSummaryMeta h6 i {
    color: #0d6efd;
}

#orderSummaryMeta span {
    display: grid;
    gap: .05rem;
    min-width: 0;
    margin-top: .35rem;
    color: #0f172a;
    font-size: .78rem;
    font-weight: 700;
    text-transform: none;
}

#orderSummaryMeta strong {
    display: block;
    margin: 0;
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
}

#orderSummaryMeta strong {
    display: inline;
    margin: 0;
    color: #0f172a;
    font-size: .8rem;
    font-weight: 900;
    white-space: normal;
}

.supplier-order-tools .btn {
    min-height: 38px;
    margin-bottom: 1rem;
    white-space: nowrap;
}

#orderItemsTable {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
}

#orderItemsTable thead th,
#orderItemsTable tbody td {
    padding: .34rem .3rem;
    vertical-align: middle;
    font-size: .78rem;
}

#orderItemsTable thead th {
    white-space: normal;
    line-height: 1.05;
}

#orderItemsTable th:nth-child(1) { width: 4.5%; }
#orderItemsTable th:nth-child(2) { width: 11%; }
#orderItemsTable th:nth-child(3) { width: 28%; }
#orderItemsTable th:nth-child(4) { width: 12%; }
#orderItemsTable th:nth-child(5) { width: 9%; }
#orderItemsTable th:nth-child(6) { width: 8%; }
#orderItemsTable th:nth-child(7) { width: 8%; }
#orderItemsTable th:nth-child(8) { width: 11%; }
#orderItemsTable th:nth-child(9) { width: 8.5%; }

#orderItemsTable td:nth-child(4),
#orderItemsTable td:nth-child(5),
#orderItemsTable td:nth-child(6),
#orderItemsTable td:nth-child(7),
#orderItemsTable td:nth-child(8),
#orderSummaryTable td:nth-child(n+3) {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

#orderItemsTable td:nth-child(1),
#orderItemsTable td:nth-child(9) {
    text-align: center;
}

#orderItemsTable td:nth-child(2),
#orderItemsTable td:nth-child(3) {
    overflow-wrap: anywhere;
}

#orderItemsTable td strong,
#orderItemsTable td small {
    white-space: normal;
}

#orderItemsTable .form-control-sm {
    width: 100%;
    min-width: 0;
    height: 26px;
    padding: 0 .35rem;
    font-size: .76rem;
}

#orderItemsTable_wrapper .dataTables_scrollBody,
#orderItemsTable_wrapper .table-responsive {
    overflow-x: visible !important;
}

.supplier-order-modal {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 1.5rem);
    border: 0;
    border-radius: 14px;
    overflow: hidden;
}

.supplier-order-wizard-header {
    align-items: center;
    gap: .75rem;
    padding: .85rem 1.1rem;
}

.supplier-order-wizard-heading {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-width: 0;
}

.supplier-order-wizard-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    color: #0d6efd;
    background: #e7f1ff;
    font-size: 1rem;
    flex: 0 0 auto;
}

.supplier-order-modal .supplier-order-steps {
    flex: 0 0 auto;
    gap: .5rem;
    margin: 0;
    padding: .75rem 1.1rem 0;
}

.supplier-order-modal .supplier-order-steps li {
    align-items: center;
    min-height: 58px;
    padding: .45rem .7rem;
    border: 1px solid #e5eaf1;
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
    transform: none;
}

.supplier-order-modal .supplier-order-steps li.is-current {
    border: 1px solid #0d6efd;
    background: #f3f8ff;
    box-shadow: none;
}

.supplier-order-modal .supplier-order-steps li.is-complete,
.supplier-order-modal .supplier-order-steps li.is-current.is-complete {
    border-color: #e5eaf1;
    background: #fff;
    box-shadow: none;
}

.supplier-order-modal .supplier-order-steps em {
    width: 26px;
    height: 26px;
    background: #e2e8f0;
    color: #475569;
    font-size: .75rem;
}

.supplier-order-modal .supplier-order-steps li.is-current em {
    background: #0d6efd;
    color: #fff;
}

.supplier-order-modal .supplier-order-steps li.is-complete em,
.supplier-order-modal .supplier-order-steps li.is-current.is-complete em {
    background: #198754;
    color: transparent;
    font-size: 0;
}

.supplier-order-modal .supplier-order-steps li.is-complete em::before,
.supplier-order-modal .supplier-order-steps li.is-current.is-complete em::before {
    color: #fff;
    font-family: "Font Awesome 6 Free";
    font-size: .72rem;
    font-weight: 900;
}

.supplier-order-modal .supplier-order-steps strong,
.supplier-order-modal .supplier-order-steps li.is-current strong,
.supplier-order-modal .supplier-order-steps li.is-complete strong {
    color: #0f172a;
    font-size: .78rem;
}

.supplier-order-modal .supplier-order-steps small,
.supplier-order-modal .supplier-order-steps li.is-current small,
.supplier-order-modal .supplier-order-steps li.is-complete small {
    color: #64748b;
    font-size: .68rem;
    font-weight: 600;
}

.supplier-order-wizard-body {
    flex: 1 1 auto;
    min-height: 280px;
    overflow: auto;
    padding: .85rem 1.1rem 1rem;
}

.supplier-order-modal .purchases-wizard-pane.is-active {
    min-height: 250px;
}

.supplier-order-panel {
    padding: .8rem .9rem .9rem;
    border: 1px solid #e5eaf1;
    border-radius: 12px;
    background: #fff;
}

.supplier-order-panel-title {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin: 0 0 .75rem;
    color: #1b365d;
    font-size: .86rem;
    font-weight: 800;
}

.supplier-order-panel-title i {
    color: #0d6efd;
}

.supplier-order-modal .supplier-order-head-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem .85rem;
}

.supplier-order-modal .supplier-order-head-grid.purchases-form-grid .form-group,
.supplier-order-stack .form-group {
    grid-column: auto;
    margin-bottom: 0;
}

.supplier-order-modal abbr {
    color: #b45309;
    text-decoration: none;
    font-weight: 800;
}

.supplier-order-locked {
    position: relative;
}

.supplier-order-locked .form-control {
    padding-right: 2rem;
    color: #64748b;
    background: #f8fafc;
}

.supplier-order-locked i {
    position: absolute;
    top: 50%;
    right: .7rem;
    color: #94a3b8;
    font-size: .75rem;
    transform: translateY(-50%);
}

.supplier-order-note {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin: .75rem 0 0;
    color: #475569;
    font-size: .75rem;
    font-weight: 600;
}

.supplier-order-note i {
    color: #0d6efd;
}

.supplier-order-condition-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    align-items: start;
}

.supplier-order-stack {
    display: grid;
    gap: .7rem;
}

.supplier-order-modal .form-control,
.supplier-order-modal .form-control:focus {
    min-height: 36px;
    border-radius: 8px;
    font-size: .82rem;
}

#orderItemsTable_wrapper .supplier-order-dt-top {
    margin-bottom: .55rem;
}

#orderItemsTable_wrapper .dataTables_filter,
#orderItemsTable_wrapper .dataTables_filter label {
    width: 100%;
    margin: 0;
}

#supplierOrderModal .modal-dialog {
    max-width: 1140px;
    margin: .75rem auto;
}

#orderItemsTable_wrapper .dataTables_filter label {
    position: relative;
    display: block;
    font-size: 0;
}

#orderItemsTable_wrapper .dataTables_filter label::before {
    content: "\f002";
    position: absolute;
    top: 50%;
    left: .75rem;
    color: #94a3b8;
    font-family: "Font Awesome 6 Free";
    font-size: .78rem;
    font-weight: 900;
    transform: translateY(-50%);
    pointer-events: none;
}

#orderItemsTable_wrapper .dataTables_filter input {
    width: 100%;
    height: 36px;
    margin: 0;
    padding: 0 .75rem 0 2.1rem;
    border: 1px solid #dbe3ee;
    border-radius: 8px;
    font-size: .82rem;
}

#orderItemsTable_wrapper .supplier-order-dt-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .55rem;
}

#orderItemsTable_wrapper .supplier-order-dt-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem .9rem;
    min-width: 0;
    color: #64748b;
    font-size: .74rem;
}

.supplier-order-products-foot {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .9rem;
    color: #334155;
    font-size: .74rem;
    font-weight: 700;
}

.supplier-order-products-foot strong {
    color: #0f172a;
}

#orderItemsTable_wrapper .dataTables_paginate {
    margin: 0;
}

#orderItemsTable_wrapper .pagination {
    margin: 0;
}

#orderItemsTable_wrapper .page-link {
    padding: .2rem .5rem;
    font-size: .74rem;
}

.supplier-order-modal .supplier-order-totals {
    width: min(280px, 100%);
    margin-left: auto;
    margin-top: .7rem;
}

.supplier-order-modal .supplier-order-totals .is-total {
    background: #f3fbf6;
    border-radius: 8px;
}

.supplier-order-modal .supplier-order-totals .is-total strong {
    color: #198754;
}

.supplier-order-notes {
    margin-top: .85rem;
}

.supplier-order-notes label {
    display: flex;
    align-items: center;
    gap: .4rem;
    color: #1b365d;
    font-weight: 800;
}

.supplier-order-notes label i {
    color: #0d6efd;
}

.supplier-order-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    padding: .7rem 1.1rem;
}

.supplier-order-footer-start,
.supplier-order-footer-end {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.supplier-order-footer .btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 34px;
    border-radius: 8px;
    font-size: .8rem;
    font-weight: 700;
}

.supplier-order-modal [data-order-pane="2"] .purchases-items-shell {
    overflow-x: auto;
}

@media (max-width: 991.98px) {
    .supplier-order-modal .supplier-order-head-grid,
    #orderSummaryMeta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .supplier-order-modal .supplier-order-steps {
        flex-direction: column;
    }

    .supplier-order-modal .supplier-order-head-grid,
    .supplier-order-condition-grid,
    #orderSummaryMeta {
        grid-template-columns: 1fr;
    }

    .supplier-order-footer,
    #orderItemsTable_wrapper .supplier-order-dt-bottom {
        flex-direction: column;
        align-items: stretch;
    }

    .supplier-order-footer-end {
        justify-content: flex-end;
        flex-wrap: wrap;
    }
}

.supplier-order-history {
    margin-top: 1rem;
    padding: .85rem 1rem;
    border: 1px solid #e5eaf1;
    border-radius: 8px;
    background: #f8fafc;
}

.supplier-order-history h6 {
    margin: 0 0 .7rem;
    color: #111827;
    font-size: .92rem;
    font-weight: 900;
}

.supplier-order-history > div {
    display: grid;
    gap: .55rem;
}

.supplier-order-history > div > div {
    display: grid;
    grid-template-columns: minmax(110px, .7fr) minmax(0, 1fr) auto;
    align-items: center;
    gap: .6rem;
    min-width: 0;
    color: #334155;
    font-size: .78rem;
}

.supplier-order-history strong {
    color: #0f172a;
    text-transform: capitalize;
}

.supplier-order-history small {
    color: #64748b;
    white-space: nowrap;
}

.supplier-order-detail-modal {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 1.5rem);
    border-radius: 16px;
}

#supplierOrderDetailModal .modal-dialog {
    max-width: 1180px;
    margin: .75rem auto;
}

.supplier-order-detail-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
}

.supplier-order-detail-modal .purchases-detail-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.supplier-order-detail-modal .purchases-detail-facts {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .5rem;
}

.supplier-order-detail-modal .purchases-detail-facts article,
.supplier-order-detail-modal .purchases-detail-facts article:nth-child(5),
.supplier-order-detail-modal .purchases-detail-facts article:nth-child(6) {
    grid-column: auto;
    align-items: center;
    min-height: 58px;
    padding: .55rem .65rem;
    border-radius: 10px;
}

.supplier-order-detail-modal .purchases-detail-facts span {
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.supplier-order-detail-modal .purchases-detail-facts strong {
    font-size: .82rem;
    font-weight: 600;
}

.supplier-order-detail-modal .purchases-detail-facts article.is-estimated {
    background: #f3f8ff;
    border-color: #d7e6ff;
}

.supplier-order-detail-modal .purchases-detail-facts article.is-estimated strong {
    color: #1b365d;
    font-size: .95rem;
    font-weight: 700;
}

.supplier-order-detail-modal .purchases-detail-items-table em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    color: #fff;
    background: #198754;
    font-style: normal;
    font-size: .7rem;
    font-weight: 700;
}

.supplier-order-detail-modal .purchases-detail-items-table td:nth-child(n+4),
.supplier-order-detail-modal .purchases-detail-items-table th:nth-child(n+4) {
    text-align: right;
}

.supplier-order-detail-modal .purchases-detail-items-table td small {
    display: block;
    color: #64748b;
    font-size: .68rem;
    font-weight: 600;
}

.supplier-order-detail-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(240px, .8fr);
    gap: .7rem;
    margin-top: .75rem;
}

.supplier-order-detail-modal .supplier-order-history,
.supplier-order-amount-card {
    margin-top: 0;
    padding: .7rem .8rem;
    border: 1px solid #e5eaf1;
    border-radius: 12px;
    background: #fff;
}

.supplier-order-detail-modal .supplier-order-history h6,
.supplier-order-amount-card h6 {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin: 0 0 .65rem;
    color: #1b365d;
    font-size: .8rem;
    font-weight: 800;
}

.supplier-order-detail-modal .supplier-order-history h6 i,
.supplier-order-amount-card h6 i {
    color: #0d6efd;
}

.supplier-order-detail-modal .supplier-order-history > div {
    gap: 0;
}

.supplier-order-detail-modal .supplier-order-history > div > div {
    position: relative;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: .15rem .75rem;
    padding: 0 0 .7rem 1.15rem;
    border-left: 2px solid #dbe3ee;
}

.supplier-order-detail-modal .supplier-order-history > div > div::before {
    content: "";
    position: absolute;
    top: .2rem;
    left: -5px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #0d6efd;
}

.supplier-order-detail-modal .supplier-order-history > div > div:last-child {
    padding-bottom: 0;
}

.supplier-order-detail-modal .supplier-order-history strong {
    grid-column: 1;
    text-transform: none;
}

.supplier-order-detail-modal .supplier-order-history span {
    grid-column: 1;
    color: #64748b;
    font-size: .72rem;
}

.supplier-order-detail-modal .supplier-order-history small {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
}

.supplier-order-amount-card #orderDetailAmounts {
    display: grid;
    gap: .35rem;
}

.supplier-order-amount-card #orderDetailAmounts div {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    color: #334155;
    font-size: .78rem;
}

.supplier-order-amount-card #orderDetailAmounts .is-total {
    margin-top: .15rem;
    padding: .4rem .5rem;
    border-radius: 8px;
    background: #f3fbf6;
    font-weight: 700;
}

.supplier-order-amount-card #orderDetailAmounts .is-total strong {
    color: #198754;
}

.supplier-order-detail-modal .purchases-detail-foot {
    align-items: center;
    gap: .6rem;
    padding: .65rem .85rem;
}

.supplier-order-detail-modal .purchases-detail-foot p {
    margin: 0;
    padding: .35rem .55rem;
    border-radius: 8px;
    color: #1d4ed8;
    background: #f3f8ff;
    font-size: .72rem;
}

.supplier-order-detail-modal .purchases-detail-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .35rem;
}

.supplier-order-detail-modal .purchases-detail-actions .btn {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-height: 32px;
    padding: .28rem .6rem;
    border-radius: 8px;
    font-size: .75rem;
    font-weight: 700;
    white-space: nowrap;
}

.supplier-order-detail-modal .btn-warning {
    color: #1f2937;
}

@media (max-width: 991.98px) {
    .supplier-order-detail-modal .purchases-detail-facts,
    .supplier-order-detail-bottom {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .supplier-order-detail-modal .purchases-detail-facts,
    .supplier-order-detail-bottom,
    .supplier-order-detail-modal .purchases-detail-foot {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }

    .supplier-order-detail-modal .supplier-order-history small {
        grid-column: 1;
        grid-row: auto;
        white-space: normal;
    }
}

@media (max-width: 991.98px) {
    .supplier-orders-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .supplier-order-tools {
        grid-template-columns: 1fr;
    }

    .supplier-orders-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .supplier-order-tools .btn {
        margin-bottom: 0;
    }
}

@media (max-width: 575.98px) {
    .supplier-orders-kpis {
        grid-template-columns: 1fr;
    }

    .supplier-order-history > div > div {
        grid-template-columns: 1fr;
        gap: .18rem;
    }

    .supplier-orders-filter-grid {
        grid-template-columns: 1fr;
    }
}

/* ==================================================
   POS KPI TYPOGRAPHY
================================================== */
.content-wrapper .small-box .inner p,
.content-wrapper .info-box .info-box-text,
.content-wrapper .dashboard-kpi-card span,
.content-wrapper .admin-dashboard-kpi small,
.content-wrapper .sales-history-kpi-copy span,
.content-wrapper .cash-flow-metric span,
.content-wrapper .reports-dashboard-kpi small,
.content-wrapper .reports-kpi-item span,
.content-wrapper .clients-kpi-card span,
.content-wrapper .license-kpi-card span,
.content-wrapper .license-reminder-kpi span,
.content-wrapper .supplier-orders-kpis span {
    font-family: var(--pos-font-family);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
}

.content-wrapper .small-box .inner p,
.content-wrapper .info-box .info-box-text,
.content-wrapper .dashboard-kpi-card span,
.content-wrapper .admin-dashboard-kpi small,
.content-wrapper .sales-history-kpi-copy span,
.content-wrapper .cash-flow-metric span,
.content-wrapper .reports-dashboard-kpi small,
.content-wrapper .reports-kpi-item span,
.content-wrapper .clients-kpi-card span,
.content-wrapper .license-kpi-card span,
.content-wrapper .license-reminder-kpi span,
.content-wrapper .supplier-orders-kpis span {
    text-transform: uppercase;
}

.content-wrapper .small-box .inner h3,
.content-wrapper .info-box .info-box-number,
.content-wrapper .dashboard-kpi-card strong,
.content-wrapper .admin-dashboard-kpi strong,
.content-wrapper .cash-flow-metric strong,
.content-wrapper .reports-dashboard-kpi strong,
.content-wrapper .reports-kpi-item strong,
.content-wrapper .clients-kpi-card strong,
.content-wrapper .license-kpi-card strong,
.content-wrapper .license-reminder-kpi strong,
.content-wrapper .supplier-orders-kpis strong {
    font-family: var(--pos-font-family);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.content-wrapper .sales-history-kpi-copy strong {
    font-family: var(--pos-font-family);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.content-wrapper .dashboard-kpi-card small,
.content-wrapper .admin-dashboard-kpi em,
.content-wrapper .info-box small,
.content-wrapper .sales-history-kpi-copy small,
.content-wrapper .reports-dashboard-kpi em,
.content-wrapper .license-reminder-kpi small,
.content-wrapper .supplier-orders-kpis small {
    font-family: var(--pos-font-family);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
}

.content-wrapper .kpi-card,
.content-wrapper .sales-history-kpi-card,
.content-wrapper .dashboard-kpi-card,
.content-wrapper .admin-dashboard-kpi,
.content-wrapper .reports-dashboard-kpi,
.content-wrapper .reports-kpi-item,
.content-wrapper .clients-kpi-card,
.content-wrapper .license-kpi-card,
.content-wrapper .license-reminder-kpi,
.content-wrapper .cash-flow-metric,
.content-wrapper .info-box,
.content-wrapper .supplier-orders-kpis article,
.content-wrapper .small-box {
    min-width: 0;
}

.content-wrapper .kpi-content,
.content-wrapper .sales-history-kpi-copy,
.content-wrapper .cash-flow-metric > div:not([class*="icon"]),
.content-wrapper .info-box .info-box-content,
.content-wrapper .admin-dashboard-period-sales-content,
.content-wrapper .reports-dashboard-kpi > div:not([class*="icon"]),
.content-wrapper .reports-kpi-item > div,
.content-wrapper .supplier-orders-kpis article > div {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
}

.content-wrapper .kpi-icon,
.content-wrapper .sales-history-kpi-icon,
.content-wrapper .admin-dashboard-kpi-icon,
.content-wrapper .reports-dashboard-kpi-icon,
.content-wrapper .clients-kpi-icon,
.content-wrapper .info-box .info-box-icon,
.content-wrapper .cash-flow-metric-icon {
    flex: 0 0 auto;
    min-width: 0;
}

.content-wrapper .kpi-title,
.content-wrapper .sales-history-kpi-copy span,
.content-wrapper .cash-flow-metric span,
.content-wrapper .info-box .info-box-text,
.content-wrapper .dashboard-kpi-card span,
.content-wrapper .admin-dashboard-kpi small,
.content-wrapper .reports-dashboard-kpi small,
.content-wrapper .reports-kpi-item span,
.content-wrapper .clients-kpi-card span,
.content-wrapper .license-kpi-card span,
.content-wrapper .license-reminder-kpi span,
.content-wrapper .supplier-orders-kpis span,
.content-wrapper .small-box .inner p {
    display: block;
    max-width: 100%;
    min-width: 0;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
}

.content-wrapper .reports-dashboard-panel[data-report-panel="ventas_caja"] .reports-dashboard-kpi small {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: none;
    word-break: keep-all;
    overflow-wrap: normal;
}

.content-wrapper .kpi-value,
.content-wrapper .sales-history-kpi-copy strong,
.content-wrapper .cash-flow-metric strong,
.content-wrapper .info-box .info-box-number,
.content-wrapper .dashboard-kpi-card strong,
.content-wrapper .admin-dashboard-kpi strong,
.content-wrapper .admin-dashboard-period-sales-kpi .admin-dashboard-period-sales-value,
.content-wrapper .reports-dashboard-kpi strong,
.content-wrapper .reports-kpi-item strong,
.content-wrapper .clients-kpi-card strong,
.content-wrapper .license-kpi-card strong,
.content-wrapper .license-reminder-kpi strong,
.content-wrapper .supplier-orders-kpis strong,
.content-wrapper .small-box .inner h3 {
    display: block;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}

.content-wrapper .kpi-description,
.content-wrapper .sales-history-kpi-copy small,
.content-wrapper .dashboard-kpi-card small,
.content-wrapper .admin-dashboard-kpi em,
.content-wrapper .info-box small,
.content-wrapper .reports-dashboard-kpi em,
.content-wrapper .license-reminder-kpi small,
.content-wrapper .supplier-orders-kpis small {
    display: block;
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    line-height: 1.2;
    max-height: 2.4em;
    overflow: hidden;
    text-overflow: clip;
}

/* ==================================================
   POS SIDEBAR TYPOGRAPHY
================================================== */
.main-sidebar,
.main-sidebar .brand-link,
.main-sidebar .sidebar,
.main-sidebar .nav-sidebar,
.main-sidebar .nav-sidebar .nav-link,
.main-sidebar .app-sidebar-search input {
    font-family: var(--pos-font-family);
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link p,
.main-sidebar .nav-sidebar > .nav-item.has-treeview > .nav-link p {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link.active p,
.main-sidebar .nav-sidebar > .nav-item.has-treeview.menu-open > .nav-link p {
    font-size: 15px;
    font-weight: 600;
}

.main-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link p {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
}

.main-sidebar .nav-sidebar .nav-treeview > .nav-item > .nav-link.active p {
    font-size: 14px;
    font-weight: 500;
}

.main-sidebar .app-sidebar-user-name {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
}

.main-sidebar .app-sidebar-user-role {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.25;
}

.main-sidebar .app-sidebar-section-title {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

.main-sidebar .app-sidebar-search input {
    font-size: 14px;
    font-weight: 500;
}

/* ==================================================
   POS AUXILIARY TYPOGRAPHY
================================================== */
.content-wrapper .breadcrumb,
.content-wrapper .breadcrumb a,
.content-wrapper .breadcrumb-item,
.content-wrapper .categories-breadcrumb {
    font-family: var(--pos-font-family);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
}

.content-wrapper .breadcrumb-item.active,
.content-wrapper .breadcrumb .active,
.content-wrapper .categories-breadcrumb strong {
    font-weight: 500;
}

.main-header .topbar-business-branch,
.content-wrapper .content > .text-muted.small,
.content-wrapper .content > .small.text-muted,
.content-wrapper .card-body > .text-muted.small,
.content-wrapper .card-body > .small.text-muted,
.content-wrapper .card-body > small,
.content-wrapper .card-body > p.small,
.content-wrapper .card-body > p.text-muted,
.content-wrapper form .form-text,
.content-wrapper form .help-block,
.content-wrapper form small.form-text,
.content-wrapper form small.text-muted {
    font-family: var(--pos-font-family);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    color: var(--pos-text-muted);
}

.main-header .topbar-business-branch strong,
.content-wrapper .content > .text-muted.small strong,
.content-wrapper .content > .small.text-muted strong,
.content-wrapper .card-body > .text-muted.small strong,
.content-wrapper .card-body > .small.text-muted strong,
.content-wrapper .card-body > small strong,
.content-wrapper .card-body > p.small strong,
.content-wrapper .card-body > p.text-muted strong {
    font-weight: 500;
    color: var(--pos-text-body);
}

/* ==================================================
   POS MODAL TYPOGRAPHY
================================================== */
.modal .modal-content,
.modal .modal-header,
.modal .modal-body,
.modal .modal-footer {
    font-family: var(--pos-font-family);
}

.modal .modal-title {
    color: var(--pos-text-primary);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.28;
}

.modal .modal-header > p,
.modal .modal-header > span,
.modal .modal-body > p,
.modal .modal-body > span,
.modal .modal-body > div > p {
    color: var(--pos-text-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
}

.modal .modal-body .form-group > label,
.modal .modal-body .form-label,
.modal .modal-body .custom-file-label,
.modal .modal-body .custom-control-label {
    color: var(--pos-text-body);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
}

.modal form .form-control,
.modal form .form-select,
.modal form textarea,
.modal form input:not([type="checkbox"]):not([type="radio"]),
.modal form select,
.modal .modal-body .form-group .form-control,
.modal .modal-body .form-group .form-select,
.modal .modal-body .input-group .form-control {
    font-family: var(--pos-font-family);
    font-size: 14px;
    font-weight: 400;
    color: var(--pos-text-body);
}

.modal form .form-control::placeholder,
.modal form textarea::placeholder,
.modal form input::placeholder,
.modal .modal-body .form-group .form-control::placeholder,
.modal .modal-body .input-group .form-control::placeholder {
    color: var(--pos-text-muted);
    font-size: 14px;
    font-weight: 400;
}

.modal .modal-body > small,
.modal .modal-body > .small,
.modal .modal-body > div > small,
.modal .modal-body > div > .small,
.modal .modal-body form small,
.modal .modal-body form .small,
.modal .modal-body .form-text,
.modal .modal-body .help-block {
    font-family: var(--pos-font-family);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
}

.modal .modal-footer .btn:not(.dt-button):not(.paginate_button),
.modal form .btn:not(.dt-button):not(.paginate_button) {
    font-family: var(--pos-font-family);
    font-size: 14px;
    font-weight: 600;
}

/* POS fullscreen layout guard */
body.pos-sales-focus .main-header,
body.pos-sales-focus .main-sidebar,
body.pos-sales-focus .main-footer,
body.pos-sales-focus .content-header {
    display: none !important;
}

body.pos-sales-focus .wrapper {
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

html.pos-browser-fullscreen body.pos-sales-focus .content-wrapper,
html:fullscreen body.pos-sales-focus .content-wrapper,
body.pos-sales-focus .wrapper > .content-wrapper {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, #eef4fb 0%, #f8fbff 100%);
}

body.pos-sales-focus .content-wrapper > .content {
    height: 100dvh !important;
    padding: .35rem .42rem !important;
    overflow: hidden !important;
}

body.pos-sales-focus .content-wrapper > .content > .container-fluid {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.pos-sales-focus #saleCheckoutModal {
    z-index: 2060 !important;
    pointer-events: auto !important;
}

body.pos-sales-focus .modal.pos-sales-modal {
    z-index: 2060 !important;
    pointer-events: auto !important;
}

body.pos-sales-focus .modal-backdrop.pos-sales-modal-backdrop.show,
body.pos-sales-focus .modal-backdrop.sale-checkout-backdrop.show {
    z-index: 2050 !important;
}

body.pos-sales-focus #saleNotesModal,
body.pos-sales-focus #saleAnnulModal,
body.pos-sales-focus #saleEnableCreditModal,
body.pos-sales-focus #saleAuthorizeCreditModal {
    z-index: 2080 !important;
}

body.pos-sales-focus .modal-backdrop.pos-stacked-backdrop,
body.pos-sales-focus .modal-backdrop.sale-enable-credit-backdrop {
    z-index: 2070 !important;
}

/* ==================================================
   KAJO GLOBAL RESPONSIVE SAFETY LAYER
================================================== */
html,
body,
.wrapper,
.content-wrapper,
.content,
.container-fluid {
    max-width: 100%;
}

body,
.wrapper,
.content-wrapper {
    overflow-x: clip;
}

.content-wrapper {
    min-width: 0;
}

.content-wrapper *,
.modal *,
.dropdown-menu *,
.swal2-container * {
    min-width: 0;
}

.content-wrapper img,
.modal img,
.dropdown-menu img {
    max-width: 100%;
    height: auto;
}

.content-wrapper .card,
.content-wrapper .small-box,
.content-wrapper .info-box,
.content-wrapper .callout,
.content-wrapper .alert,
.content-wrapper .tab-content,
.content-wrapper .accordion,
.content-wrapper .input-group,
.content-wrapper .btn-group,
.content-wrapper .dropdown-menu,
.modal-content {
    max-width: 100%;
}

.content-wrapper .card-body,
.content-wrapper .card-header,
.content-wrapper .card-footer,
.modal-body {
    min-width: 0;
}

.content-wrapper .card-header,
.content-wrapper .card-footer,
.modal-footer,
.dashboard-date-filter,
.cash-flow-filters,
.sales-history-filter-bar,
.sales-history-toolbar,
.reports-filter-bar,
.clients-toolbar,
.saas-installations-head,
.license-design-detail-actions,
.app-listing-actions,
.dt-buttons,
.dataTables_wrapper .row {
    flex-wrap: wrap;
}

.content-wrapper .btn,
.modal .btn,
.swal2-actions .swal2-styled,
.app-swal-button {
    white-space: normal;
}

.content-wrapper .btn-group,
.content-wrapper .btn-toolbar,
.content-wrapper .input-group {
    width: auto;
}

.content-wrapper .form-control,
.content-wrapper .form-select,
.content-wrapper select,
.content-wrapper textarea,
.modal .form-control,
.modal .form-select,
.modal select,
.modal textarea {
    max-width: 100%;
}

.content-wrapper code,
.content-wrapper pre,
.content-wrapper td,
.content-wrapper th,
.content-wrapper .badge,
.content-wrapper .text-break,
.dropdown-menu,
.modal-body,
.swal2-html-container {
    overflow-wrap: anywhere;
}

.table-responsive,
.app-listing-table-shell,
.sales-history-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.sales-history-table-wrap {
    overflow-y: auto;
}

table.dataTable,
.content-wrapper table {
    width: 100% !important;
}

.dataTables_wrapper,
.dataTables_wrapper .dataTables_scroll,
.dataTables_wrapper .dataTables_scrollHead,
.dataTables_wrapper .dataTables_scrollBody,
.dataTables_wrapper .dataTables_scrollFoot {
    max-width: 100%;
}

.dataTables_wrapper .row {
    margin-left: 0;
    margin-right: 0;
    row-gap: .5rem;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
    min-width: 0;
}

.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label {
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
    margin-bottom: 0;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    max-width: 100%;
}

.dataTables_wrapper .pagination {
    flex-wrap: wrap;
    justify-content: flex-end;
    row-gap: .35rem;
}

.dataTables_wrapper .dt-buttons {
    display: flex;
    gap: .35rem;
    margin-bottom: .5rem;
}

.dataTables_wrapper .dt-button,
.dataTables_wrapper .btn {
    margin-bottom: .25rem;
}

table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control::before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control::before {
    top: 50%;
    transform: translateY(-50%);
}

.main-header.navbar {
    min-height: 56px;
    flex-wrap: wrap;
    row-gap: .35rem;
}

.main-header .navbar-nav {
    min-width: 0;
}

.main-header .navbar-nav.ml-auto {
    flex: 1 1 auto;
    justify-content: flex-end;
    min-width: 0;
}

.topbar-business-branch {
    min-width: 0;
    max-width: min(38vw, 440px);
    line-height: 1.15;
}

.topbar-business-branch strong,
.topbar-business-branch span,
.topbar-user-name {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.topbar-user-toggle {
    display: flex;
    align-items: center;
    min-width: 0;
}

.topbar-user-avatar,
.dropdown-user-card-avatar,
.app-lock-screen-avatar {
    object-fit: cover;
    flex: 0 0 auto;
}

.dropdown-user-card {
    width: min(360px, calc(100vw - 1rem));
}

.app-sidebar-shell,
.app-sidebar-nav,
.main-sidebar {
    max-width: 100vw;
}

.dashboard-kpi-grid,
.sales-history-kpi-row,
.cash-flow-metrics,
.license-kpi-grid,
.clients-kpi-row,
.settings-kpi-grid,
.admin-dashboard-kpi-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.content-wrapper .row > [class*="col-"],
.modal .row > [class*="col-"] {
    min-width: 0;
}

.modal-dialog {
    max-width: min(var(--bs-modal-width, 500px), calc(100vw - 1rem));
}

.modal-dialog.modal-lg,
.modal-dialog.modal-xl,
.sale-checkout-dialog,
.plan-wizard-dialog {
    max-width: min(96vw, 1100px);
}

.modal-content {
    max-height: calc(100dvh - 1rem);
}

.modal-dialog-scrollable .modal-content,
.modal.show .modal-content {
    overflow: hidden;
}

.modal-body {
    overflow-x: auto;
}

.modal-footer {
    gap: .5rem;
}

.modal-footer > * {
    margin: 0;
}

.swal2-popup.app-swal-popup {
    width: min(32rem, calc(100vw - 1rem));
    max-width: calc(100vw - 1rem);
}

.swal2-actions.app-swal-actions {
    flex-wrap: wrap;
    gap: .5rem;
}

.swal2-actions.app-swal-actions .btn {
    margin: 0;
}

.sale-search-panel,
.sale-client-panel,
.sale-cart-panel,
.sale-payment-panel,
.sale-summary-panel,
.pos-products-panel,
.pos-cart-panel,
.sale-cart-table-responsive {
    min-width: 0;
    max-width: 100%;
}

.pos-latest-sales-table {
    width: 100% !important;
}

.sale-cart-table th,
.sale-cart-table td,
.pos-latest-sales-table th,
.pos-latest-sales-table td {
    overflow-wrap: anywhere;
}

.product-card,
.products-card,
.sale-product-card,
.pos-product-card {
    min-width: 0;
    max-width: 100%;
}

.product-card img,
.products-card img,
.sale-product-card img,
.pos-product-card img {
    width: 100%;
    max-width: 100%;
    object-fit: cover;
}

.product-wizard-price-table-wrap,
.product-promotion-table-wrap,
.purchases-items-shell,
.imports-guide-table-shell,
.transfers-table-shell {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 991.98px) {
    body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .content-wrapper {
        margin-left: 0;
    }

    body.sidebar-open .content-wrapper {
        transform: none;
    }

    .content-header .row {
        row-gap: .65rem;
    }

    .content-header h1 {
        font-size: 1.45rem;
    }

    .dashboard-date-filter,
    .cash-flow-filters,
    .sales-history-filter-bar,
    .reports-filter-bar {
        width: 100%;
        justify-content: flex-start;
    }

    .dashboard-date-filter-field,
    .cash-flow-filter,
    .sales-history-search-field,
    .reports-search-field {
        flex: 1 1 220px;
    }
}

@media (max-width: 767.98px) {
    .content-wrapper > .content {
        padding-inline: .5rem;
    }

    .content-wrapper .container-fluid {
        padding-left: .5rem;
        padding-right: .5rem;
    }

    .main-header.navbar {
        padding-left: .45rem;
        padding-right: .45rem;
    }

    .main-header .navbar-nav.ml-auto {
        gap: .15rem;
    }

    .main-header .badge {
        padding-inline: .45rem !important;
    }

    .topbar-business-branch {
        max-width: 42vw;
        margin-right: .35rem !important;
    }

    .topbar-user-name,
    .topbar-user-toggle .fa-chevron-down {
        display: none;
    }

    .dropdown-user-card {
        width: calc(100vw - .75rem);
    }

    .card-header,
    .card-footer,
    .modal-footer {
        align-items: stretch;
    }

    .card-header .btn,
    .card-footer .btn,
    .modal-footer .btn,
    .sales-history-filter-actions .btn,
    .reports-filter-actions .btn {
        flex: 1 1 auto;
    }

    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_filter label,
    .dataTables_wrapper .dataTables_filter input,
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate,
    .dataTables_wrapper .pagination {
        width: 100%;
        justify-content: flex-start;
        text-align: left;
    }

    .dataTables_wrapper .dataTables_length label,
    .dataTables_wrapper .dataTables_filter label {
        align-items: stretch;
    }

    .dataTables_wrapper .dataTables_filter input {
        margin-left: 0;
    }

    .app-listing-actions,
    .clients-row-actions {
        white-space: normal;
        flex-wrap: wrap;
    }

    .modal-dialog {
        width: calc(100vw - .75rem);
        max-width: calc(100vw - .75rem);
        margin: .375rem auto;
    }

    .modal-content {
        max-height: calc(100dvh - .75rem);
    }

    .modal-footer {
        justify-content: stretch;
    }

    .modal-footer .btn {
        min-width: min(100%, 9rem);
    }

    .sale-checkout-dialog,
    .plan-wizard-dialog {
        max-width: calc(100vw - .75rem);
    }
}

@media (max-width: 575.98px) {
    .content-header h1 {
        font-size: 1.25rem;
        overflow-wrap: anywhere;
    }

    .topbar-business-branch {
        display: none;
    }

    .main-header .nav-item.mr-3,
    .main-header .nav-item.mr-2 {
        margin-right: .25rem !important;
    }

    .dashboard-date-filter-field,
    .cash-flow-filter,
    .sales-history-search-field,
    .reports-search-field,
    .sales-history-filter-actions,
    .reports-filter-actions {
        flex: 1 1 100%;
        width: 100%;
    }

    .dashboard-date-filter-field input,
    .dashboard-date-filter-field select,
    .cash-flow-filter input {
        width: 100%;
    }

    .content-wrapper .btn-group,
    .content-wrapper .btn-toolbar {
        display: flex;
        flex-wrap: wrap;
    }

    .content-wrapper .btn-group > .btn,
    .content-wrapper .btn-toolbar > .btn,
    .dt-buttons .btn,
    .dt-buttons .dt-button {
        flex: 1 1 auto;
    }

    .swal2-actions.app-swal-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .swal2-actions.app-swal-actions .btn {
        width: 100%;
    }
}

@media (max-width: 360px) {
    .content-wrapper > .content,
    .content-wrapper .container-fluid {
        padding-left: .35rem;
        padding-right: .35rem;
    }

    .card-body {
        padding: .85rem;
    }

    .content-wrapper .btn,
    .modal .btn {
        padding-left: .55rem;
        padding-right: .55rem;
    }
}

/* ==================================================
   KAJO SAAS ADMIN RESPONSIVE SAFETY LAYER
================================================== */
.saas-admin-shell,
.saas-admin-layout,
.saas-admin-main,
.saas-admin-content {
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
}

.saas-admin-content *,
.saas-admin-topbar *,
.saas-admin-sidebar * {
    min-width: 0;
}

.saas-admin-topbar,
.saas-admin-user,
.saas-admin-context-strip,
.saas-admin-action-strip,
.saas-admin-notification-actions {
    flex-wrap: wrap;
}

.saas-admin-topbar h1,
.saas-admin-user strong,
.saas-admin-user small,
.saas-admin-brand strong,
.saas-admin-brand small,
.saas-admin-nav-link span,
.saas-admin-context-strip span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.saas-admin-shell .table-responsive {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.saas-admin-shell table {
    width: 100% !important;
}

.saas-admin-shell .dataTables_wrapper .row,
.saas-admin-shell .dataTables_wrapper .pagination {
    flex-wrap: wrap;
    row-gap: .45rem;
}

@media (max-width: 900px) {
    .saas-admin-sidebar {
        max-height: none;
    }

    .saas-admin-brand,
    .saas-admin-sidebar-foot {
        width: 100%;
    }

    .saas-admin-topbar {
        gap: .65rem;
    }

    .saas-admin-user {
        width: 100%;
        flex-direction: row;
        align-items: center;
    }
}

@media (max-width: 575.98px) {
    .saas-admin-sidebar,
    .saas-admin-content {
        padding: .65rem;
    }

    .saas-admin-nav {
        grid-template-columns: 1fr;
    }

    .saas-admin-topbar {
        padding: .65rem;
    }

    .saas-admin-topbar h1 {
        font-size: 1.08rem;
        white-space: normal;
    }

    .saas-admin-user > span:not(.saas-admin-avatar) {
        flex: 1 1 160px;
    }

    .saas-admin-user form,
    .saas-admin-user form .btn {
        width: 100%;
    }

    .saas-admin-context-strip div,
    .saas-admin-context-strip a,
    .saas-admin-action-strip .btn {
        width: 100%;
    }

    .saas-admin-notification-menu {
        width: calc(100vw - .75rem);
    }
}

/* ==================================================
   ADMINLTE-STYLE DASHBOARD KPI OVERRIDE
================================================== */
.admin-dashboard-redesign .admin-dashboard-kpis {
    gap: 16px;
}

.admin-dashboard-redesign .admin-dashboard-kpi {
    position: relative;
    display: block;
    min-height: 98px;
    padding: 14px 90px 14px 16px;
    border: 0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .14);
    color: #fff;
}

.admin-dashboard-redesign .admin-dashboard-kpi > div {
    position: relative;
    z-index: 2;
}

.admin-dashboard-redesign .admin-dashboard-period-sales-kpi {
    padding-right: 76px;
}

.admin-dashboard-redesign .admin-dashboard-period-sales-content {
    overflow: visible;
}

.admin-dashboard-redesign .admin-dashboard-kpi strong,
.content-wrapper .admin-dashboard-redesign .admin-dashboard-kpi strong,
.content-wrapper .admin-dashboard-redesign .admin-dashboard-period-sales-kpi .admin-dashboard-period-sales-value {
    color: inherit;
    display: block;
    margin: 0 0 .28rem;
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}

.admin-dashboard-redesign .admin-dashboard-kpi small,
.content-wrapper .admin-dashboard-redesign .admin-dashboard-kpi small {
    color: inherit;
    display: block;
    max-height: none;
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.15;
    text-transform: none;
    white-space: normal;
}

.admin-dashboard-redesign .admin-dashboard-kpi em,
.content-wrapper .admin-dashboard-redesign .admin-dashboard-kpi em {
    color: rgba(255, 255, 255, .86);
    display: block;
    max-height: 1.35em;
    margin-top: .16rem;
    font-size: .78rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.2;
    overflow: hidden;
}

.admin-dashboard-redesign .admin-dashboard-kpi-icon,
.content-wrapper .admin-dashboard-redesign .admin-dashboard-kpi-icon {
    position: absolute;
    right: 18px;
    top: 50%;
    z-index: 1;
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: rgba(0, 0, 0, .15);
    font-size: 4.25rem;
    line-height: 1;
    transform: translateY(-50%);
    transition: transform .2s ease;
}

.admin-dashboard-redesign .admin-dashboard-period-sales-kpi .admin-dashboard-kpi-icon,
.content-wrapper .admin-dashboard-redesign .admin-dashboard-period-sales-kpi .admin-dashboard-kpi-icon {
    right: 14px;
    font-size: 3.8rem;
}

.admin-dashboard-redesign .admin-dashboard-kpi:hover .admin-dashboard-kpi-icon {
    transform: translateY(-50%) scale(1.08);
}

.admin-dashboard-redesign .admin-dashboard-kpi.is-primary,
.admin-dashboard-redesign .admin-dashboard-kpi.is-blue {
    background: #0d6efd;
}

.admin-dashboard-redesign .admin-dashboard-kpi.is-green {
    background: #008f5a;
}

.admin-dashboard-redesign .admin-dashboard-kpi.is-warning,
.admin-dashboard-redesign .admin-dashboard-kpi.is-amber,
.admin-dashboard-redesign .admin-dashboard-kpi.is-orange {
    background: #ffc107;
    color: #111827;
}

.admin-dashboard-redesign .admin-dashboard-kpi.is-warning em,
.admin-dashboard-redesign .admin-dashboard-kpi.is-amber em,
.admin-dashboard-redesign .admin-dashboard-kpi.is-orange em {
    color: rgba(17, 24, 39, .72);
}

.admin-dashboard-redesign .admin-dashboard-kpi.is-purple {
    background: #8b5cf6;
}

.admin-dashboard-redesign .admin-dashboard-kpi.is-red {
    background: #f3153d;
}

@media (max-width: 1320px) {
    .admin-dashboard-redesign .admin-dashboard-kpi {
        padding-right: 96px;
    }
}

@media (max-width: 575.98px) {
    .admin-dashboard-redesign .admin-dashboard-kpi {
        padding-right: 82px;
    }

    .admin-dashboard-redesign .admin-dashboard-period-sales-kpi {
        padding-right: 72px;
    }

    .admin-dashboard-redesign .admin-dashboard-kpi-icon,
    .content-wrapper .admin-dashboard-redesign .admin-dashboard-kpi-icon {
        right: 14px;
        font-size: 3.5rem;
    }

    .admin-dashboard-redesign .admin-dashboard-period-sales-kpi .admin-dashboard-kpi-icon,
    .content-wrapper .admin-dashboard-redesign .admin-dashboard-period-sales-kpi .admin-dashboard-kpi-icon {
        right: 12px;
        font-size: 3.15rem;
    }
}

/* ==================================================
   KAJO KPI ADMINLTE STANDARD
   Official KPI visual language: solid AdminLTE-style
   cards, no "More info" footer, current component size preserved.
================================================== */
.content-wrapper :where(
    .kpi-card,
    .admin-dashboard-kpi,
    .sales-history-kpi-card,
    .dashboard-kpi-card,
    .reports-dashboard-kpi,
    .reports-kpi-item,
    .clients-kpi-card,
    .license-kpi-card,
    .license-reminder-kpi,
    .cash-flow-metric,
    .import-validation-kpi,
    .saas-monitoring-kpi,
    .sale-cash-command-kpi,
    .supplier-orders-kpis article,
    .small-box,
    .info-box
) {
    --kajo-kpi-bg: #0d6efd;
    --kajo-kpi-fg: #ffffff;
    --kajo-kpi-muted: rgba(255, 255, 255, .86);
    --kajo-kpi-icon-color: rgba(0, 0, 0, .15);
    position: relative;
    border: 0;
    border-radius: 6px;
    background: var(--kajo-kpi-bg);
    color: var(--kajo-kpi-fg);
    overflow: hidden;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .14);
}

.content-wrapper :where(
    .kpi-card,
    .admin-dashboard-kpi,
    .sales-history-kpi-card,
    .dashboard-kpi-card,
    .reports-dashboard-kpi,
    .clients-kpi-card,
    .cash-flow-metric,
    .saas-monitoring-kpi,
    .supplier-orders-kpis article,
    .info-box
) {
    padding-right: max(4.75rem, 24%);
}

.content-wrapper :where(
    .kpi-content,
    .admin-dashboard-kpi > div:not([class*="icon"]),
    .sales-history-kpi-copy,
    .dashboard-kpi-card > div:not([class*="icon"]),
    .reports-dashboard-kpi > div:not([class*="icon"]),
    .reports-kpi-item > div,
    .clients-kpi-card > div:not([class*="icon"]),
    .license-kpi-card > div,
    .license-reminder-kpi > div,
    .cash-flow-metric > div:not([class*="icon"]),
    .saas-monitoring-kpi > div,
    .sale-cash-command-kpi,
    .supplier-orders-kpis article > div,
    .info-box .info-box-content,
    .small-box .inner
) {
    position: relative;
    z-index: 2;
}

.content-wrapper :where(
    .kpi-title,
    .admin-dashboard-kpi small,
    .sales-history-kpi-copy span,
    .dashboard-kpi-card span,
    .reports-dashboard-kpi small,
    .reports-kpi-item span,
    .clients-kpi-card span,
    .license-kpi-card span,
    .license-reminder-kpi span,
    .cash-flow-metric span,
    .import-validation-kpi small,
    .saas-monitoring-kpi small,
    .sale-cash-command-kpi span,
    .supplier-orders-kpis span,
    .info-box .info-box-text,
    .small-box .inner p
) {
    color: var(--kajo-kpi-fg);
    text-transform: none;
}

.content-wrapper :where(
    .kpi-value,
    .admin-dashboard-kpi strong,
    .sales-history-kpi-copy strong,
    .dashboard-kpi-card strong,
    .reports-dashboard-kpi strong,
    .reports-kpi-item strong,
    .clients-kpi-card strong,
    .license-kpi-card strong,
    .license-reminder-kpi strong,
    .cash-flow-metric strong,
    .import-validation-kpi span,
    .saas-monitoring-kpi strong,
    .sale-cash-command-kpi strong,
    .supplier-orders-kpis strong,
    .info-box .info-box-number,
    .small-box .inner h3
) {
    color: var(--kajo-kpi-fg);
}

.content-wrapper :where(
    .kpi-description,
    .admin-dashboard-kpi em,
    .sales-history-kpi-copy small,
    .dashboard-kpi-card small,
    .reports-dashboard-kpi em,
    .license-reminder-kpi small,
    .saas-monitoring-kpi em,
    .supplier-orders-kpis small,
    .info-box small
) {
    color: var(--kajo-kpi-muted);
}

.content-wrapper :where(
    .kpi-icon,
    .admin-dashboard-kpi-icon,
    .sales-history-kpi-icon,
    .dashboard-kpi-icon,
    .reports-dashboard-kpi-icon,
    .clients-kpi-icon,
    .cash-flow-metric-icon,
    .supplier-orders-kpi-icon,
    .saas-monitoring-kpi > span,
    .info-box .info-box-icon,
    .small-box .icon
) {
    position: absolute;
    right: .9rem;
    top: 50%;
    z-index: 0;
    width: auto;
    height: auto;
    min-width: 0;
    border-radius: 0;
    background: transparent !important;
    border: 0;
    box-shadow: none;
    color: var(--kajo-kpi-icon-color) !important;
    font-size: clamp(3.15rem, 4.5vw, 4.85rem);
    line-height: 1;
    transform: translateY(-50%);
    transition: transform .2s ease;
}

.content-wrapper :where(
    .kpi-icon,
    .admin-dashboard-kpi-icon,
    .sales-history-kpi-icon,
    .dashboard-kpi-icon,
    .reports-dashboard-kpi-icon,
    .clients-kpi-icon,
    .cash-flow-metric-icon,
    .supplier-orders-kpi-icon,
    .saas-monitoring-kpi > span,
    .info-box .info-box-icon,
    .small-box .icon
) i {
    color: inherit !important;
    font-size: inherit;
    line-height: inherit;
}

.content-wrapper :where(
    .kpi-card,
    .admin-dashboard-kpi,
    .sales-history-kpi-card,
    .dashboard-kpi-card,
    .reports-dashboard-kpi,
    .clients-kpi-card,
    .cash-flow-metric,
    .saas-monitoring-kpi,
    .supplier-orders-kpis article,
    .info-box,
    .small-box
):hover :where(
    .kpi-icon,
    .admin-dashboard-kpi-icon,
    .sales-history-kpi-icon,
    .dashboard-kpi-icon,
    .reports-dashboard-kpi-icon,
    .clients-kpi-icon,
    .cash-flow-metric-icon,
    .supplier-orders-kpi-icon,
    .saas-monitoring-kpi > span,
    .info-box-icon,
    .icon
) {
    transform: translateY(-50%) scale(1.08);
}

.content-wrapper :where(.small-box-footer) {
    display: none;
}

.content-wrapper :where(
    .admin-dashboard-kpi.is-primary,
    .admin-dashboard-kpi.is-blue,
    .kpi-card:has(.bg-primary),
    .dashboard-kpi-card-primary,
    .reports-dashboard-kpi:has(.is-blue),
    .sales-history-kpi-card:has(.bg-primary),
    .sales-history-kpi-card:has(.cash-flow-history-kpi-blue),
    .sales-history-kpi-card:has(.sales-history-kpi-tarjeta),
    .cash-flow-metric-blue,
    .cash-flow-metric-indigo,
    .saas-monitoring-kpi,
    .sale-cash-command-kpi,
    .reports-kpi-item:has(.bg-primary),
    .info-box:has(.bg-primary),
    .small-box.bg-primary
) {
    --kajo-kpi-bg: #0d6efd;
}

.content-wrapper :where(
    .admin-dashboard-kpi.is-green,
    .kpi-card:has(.bg-success),
    .license-kpi-card-success,
    .reports-dashboard-kpi:has(.is-green),
    .sales-history-kpi-card:has(.bg-success),
    .sales-history-kpi-card:has(.cash-flow-history-kpi-green),
    .sales-history-kpi-card:has(.sales-history-kpi-efectivo),
    .cash-flow-metric-green,
    .clients-credit-badge.is-enabled,
    .saas-monitoring-kpi.is-green,
    .reports-kpi-item:has(.bg-success),
    .info-box:has(.bg-success),
    .small-box.bg-success
) {
    --kajo-kpi-bg: #008f5a;
}

.content-wrapper :where(
    .admin-dashboard-kpi.is-warning,
    .admin-dashboard-kpi.is-amber,
    .admin-dashboard-kpi.is-orange,
    .kpi-card:has(.bg-warning),
    .dashboard-kpi-card-warning,
    .license-kpi-card-warning,
    .reports-dashboard-kpi:has(.is-amber),
    .sales-history-kpi-card:has(.bg-warning),
    .sales-history-kpi-card:has(.cash-flow-history-kpi-orange),
    .cash-flow-metric-orange,
    .saas-monitoring-kpi.is-amber,
    .reports-kpi-item:has(.bg-warning),
    .info-box:has(.bg-warning),
    .small-box.bg-warning
) {
    --kajo-kpi-bg: #ffc107;
    --kajo-kpi-icon-color: rgba(0, 0, 0, .16);
}

.content-wrapper :where(
    .admin-dashboard-kpi.is-purple,
    .kpi-card:has(.bg-purple),
    .reports-dashboard-kpi:has(.is-purple),
    .sales-history-kpi-card:has(.bg-purple),
    .sales-history-kpi-card:has(.roles-design-kpi-purple),
    .sales-history-kpi-card:has(.branches-design-kpi-purple),
    .sales-history-kpi-card:has(.cash-registers-kpi-purple),
    .sales-history-kpi-card:has(.cash-flow-history-kpi-purple),
    .sales-history-kpi-card:has(.sales-history-kpi-yape),
    .cash-flow-metric-purple,
    .info-box:has(.bg-purple),
    .small-box.bg-purple
) {
    --kajo-kpi-bg: #8b5cf6;
}

.content-wrapper :where(
    .admin-dashboard-kpi.is-red,
    .kpi-card:has(.bg-danger),
    .license-kpi-card-danger,
    .reports-dashboard-kpi:has(.is-red),
    .sales-history-kpi-card:has(.bg-danger),
    .sales-history-kpi-card:has(.cash-flow-history-kpi-red),
    .sales-history-kpi-card:has(.sales-history-kpi-credito),
    .cash-flow-metric-red,
    .saas-monitoring-kpi.is-red,
    .reports-kpi-item:has(.bg-danger),
    .info-box:has(.bg-danger),
    .small-box.bg-danger
) {
    --kajo-kpi-bg: #f3153d;
}

.content-wrapper :where(
    .reports-dashboard-kpi:has(.is-cyan),
    .kpi-card:has(.bg-info),
    .sales-history-kpi-card:has(.bg-info),
    .sales-history-kpi-card:has(.cash-flow-history-kpi-cyan),
    .sales-history-kpi-card:has(.sales-history-kpi-plin),
    .cash-flow-metric-cyan,
    .saas-monitoring-kpi.is-cyan,
    .reports-kpi-item:has(.bg-info),
    .info-box:has(.bg-info),
    .small-box.bg-info
) {
    --kajo-kpi-bg: #0dcaf0;
    --kajo-kpi-icon-color: rgba(15, 23, 42, .16);
}

.content-wrapper :where(
    .sales-history-kpi-card:has(.bg-secondary),
    .kpi-card:has(.bg-secondary),
    .sales-history-kpi-card:has(.cash-flow-history-kpi-teal),
    .sales-history-kpi-card:has(.sales-history-kpi-transferencia),
    .cash-flow-metric-teal,
    .saas-monitoring-kpi.is-slate,
    .reports-kpi-item:has(.bg-secondary),
    .info-box:has(.bg-secondary),
    .small-box.bg-secondary
) {
    --kajo-kpi-bg: #475569;
}

.content-wrapper .import-validation-kpi.is-rows,
.content-wrapper .import-validation-kpi.is-valid,
.content-wrapper .import-validation-kpi.is-errors,
.content-wrapper .import-validation-kpi.is-warnings {
    background: var(--kajo-kpi-bg) !important;
    border: 0 !important;
}
.content-wrapper .import-validation-kpi.is-rows { --kajo-kpi-bg: #0d6efd; }
.content-wrapper .import-validation-kpi.is-valid { --kajo-kpi-bg: #008f5a; }
.content-wrapper .import-validation-kpi.is-errors { --kajo-kpi-bg: #f3153d; }
.content-wrapper .import-validation-kpi.is-warnings {
    --kajo-kpi-bg: #f59e0b;
}
.content-wrapper .import-validation-kpi.is-warnings,
.content-wrapper .import-validation-kpi.is-warnings span,
.content-wrapper .import-validation-kpi.is-warnings small,
.content-wrapper .import-validation-kpi.is-warnings b,
.content-wrapper .import-validation-kpi.is-warnings i {
    color: #1f2937 !important;
}

.content-wrapper .supplier-orders-page .supplier-orders-kpis article {
    border: 0;
    background: var(--kajo-kpi-bg) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .14);
}

.content-wrapper .supplier-orders-page .supplier-orders-kpis article:nth-child(1) { --kajo-kpi-bg: #0d6efd; }
.content-wrapper .supplier-orders-page .supplier-orders-kpis article:nth-child(2) { --kajo-kpi-bg: #ffc107; }
.content-wrapper .supplier-orders-page .supplier-orders-kpis article:nth-child(3) { --kajo-kpi-bg: #8b5cf6; }
.content-wrapper .supplier-orders-page .supplier-orders-kpis article:nth-child(4) { --kajo-kpi-bg: #008f5a; }
.content-wrapper .supplier-orders-page .supplier-orders-kpis article:nth-child(5) { --kajo-kpi-bg: #f3153d; }

.content-wrapper .users-design-page .users-design-kpi-row > .sales-history-kpi-card {
    border: 0;
    background: var(--kajo-kpi-bg) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .14);
}

.content-wrapper .users-design-page .users-design-kpi-row > .sales-history-kpi-card:nth-child(1) { --kajo-kpi-bg: #0d6efd; }
.content-wrapper .users-design-page .users-design-kpi-row > .sales-history-kpi-card:nth-child(2) { --kajo-kpi-bg: #008f5a; }
.content-wrapper .users-design-page .users-design-kpi-row > .sales-history-kpi-card:nth-child(3) { --kajo-kpi-bg: #475569; }
.content-wrapper .users-design-page .users-design-kpi-row > .sales-history-kpi-card:nth-child(4) { --kajo-kpi-bg: #ffc107; }

.content-wrapper :where(
    .kpi-card,
    .admin-dashboard-kpi,
    .sales-history-kpi-card,
    .dashboard-kpi-card,
    .reports-dashboard-kpi,
    .reports-kpi-item,
    .clients-kpi-card,
    .license-kpi-card,
    .license-reminder-kpi,
    .cash-flow-metric,
    .import-validation-kpi,
    .saas-monitoring-kpi,
    .sale-cash-command-kpi,
    .supplier-orders-kpis article,
    .small-box,
    .info-box
) {
    --kajo-kpi-fg: #ffffff;
    --kajo-kpi-muted: #ffffff;
}

.content-wrapper .sales-history-kpi-row > .sales-history-kpi-card {
    padding: .72rem max(4.75rem, 24%) .72rem .72rem;
    align-items: stretch;
}

.content-wrapper :where(
    .kpi-content,
    .admin-dashboard-kpi > div:not([class*="icon"]),
    .sales-history-kpi-copy,
    .dashboard-kpi-card > div:not([class*="icon"]),
    .reports-dashboard-kpi > div:not([class*="icon"]),
    .reports-kpi-item > div,
    .clients-kpi-card > div:not([class*="icon"]),
    .license-kpi-card > div,
    .license-reminder-kpi > div,
    .cash-flow-metric > div:not([class*="icon"]),
    .saas-monitoring-kpi > div,
    .sale-cash-command-kpi,
    .supplier-orders-kpis article > div,
    .info-box .info-box-content,
    .small-box .inner
) {
    position: relative;
    z-index: 2;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: .08rem;
}

.content-wrapper :where(
    .kpi-title,
    .admin-dashboard-kpi small,
    .sales-history-kpi-copy > span,
    .dashboard-kpi-card span,
    .reports-dashboard-kpi small,
    .reports-kpi-item span,
    .clients-kpi-card span,
    .license-kpi-card span,
    .license-reminder-kpi span,
    .cash-flow-metric span,
    .import-validation-kpi small,
    .saas-monitoring-kpi small,
    .sale-cash-command-kpi span,
    .supplier-orders-kpis span,
    .info-box .info-box-text,
    .small-box .inner p
) {
    color: #ffffff !important;
    opacity: 1;
    line-height: 1.08;
    text-transform: none;
}

.content-wrapper :where(
    .kpi-title,
    .admin-dashboard-kpi small,
    .sales-history-kpi-copy > span,
    .dashboard-kpi-card span,
    .reports-dashboard-kpi small,
    .reports-kpi-item span,
    .clients-kpi-card span,
    .license-kpi-card span,
    .license-reminder-kpi span,
    .cash-flow-metric span,
    .saas-monitoring-kpi small,
    .sale-cash-command-kpi span,
    .supplier-orders-kpis span,
    .info-box .info-box-text,
    .small-box .inner p
) {
    display: block;
    min-height: 1em;
    font-weight: 900 !important;
    text-transform: uppercase;
    white-space: nowrap;
}

.content-wrapper :where(
    .kpi-description,
    .admin-dashboard-kpi em,
    .sales-history-kpi-copy small,
    .dashboard-kpi-card small,
    .reports-dashboard-kpi em,
    .license-reminder-kpi small,
    .saas-monitoring-kpi em,
    .supplier-orders-kpis small,
    .info-box small
) {
    color: #ffffff !important;
    display: block;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: none;
}

.content-wrapper .sales-history-kpi-card .sales-history-kpi-copy small span {
    color: inherit;
    display: inline;
    font: inherit;
    line-height: inherit;
    opacity: 1;
    text-transform: none;
    white-space: inherit;
}

.content-wrapper :where(
    .kpi-card .kpi-value,
    .admin-dashboard-kpi strong,
    .sales-history-kpi-copy strong,
    .dashboard-kpi-card strong,
    .reports-dashboard-kpi strong,
    .reports-kpi-item strong,
    .clients-kpi-card strong,
    .license-kpi-card strong,
    .license-reminder-kpi strong,
    .cash-flow-metric strong,
    .import-validation-kpi span,
    .saas-monitoring-kpi strong,
    .sale-cash-command-kpi strong,
    .supplier-orders-kpis strong,
    .info-box .info-box-number,
    .small-box .inner h3
) {
    color: #ffffff !important;
    opacity: 1;
}

.content-wrapper .admin-dashboard-kpi .admin-dashboard-kpi-icon,
.content-wrapper .sales-history-kpi-card .sales-history-kpi-icon,
.content-wrapper .sales-history-kpi-card .sales-history-kpi-brand,
.content-wrapper .dashboard-kpi-card .dashboard-kpi-icon,
.content-wrapper .reports-dashboard-kpi .reports-dashboard-kpi-icon,
.content-wrapper .clients-kpi-card .clients-kpi-icon,
.content-wrapper .cash-flow-metric .cash-flow-metric-icon,
.content-wrapper .supplier-orders-page .supplier-orders-kpi-icon,
.content-wrapper .saas-monitoring-kpi > span,
.content-wrapper .info-box .info-box-icon,
.content-wrapper .small-box .icon,
.content-wrapper .kpi-card .kpi-icon {
    position: absolute;
    right: .9rem;
    top: 50%;
    z-index: 0;
    width: auto;
    height: auto;
    min-width: 0;
    flex: 0 0 auto;
    padding: 0;
    overflow: visible;
    border-radius: 0;
    background: transparent !important;
    border: 0;
    box-shadow: none;
    color: var(--kajo-kpi-icon-color) !important;
    opacity: 1;
    font-size: clamp(3.15rem, 4.5vw, 4.85rem);
    line-height: 1;
    transform: translateY(-50%);
}

.content-wrapper .admin-dashboard-kpi .admin-dashboard-kpi-icon i,
.content-wrapper .sales-history-kpi-card .sales-history-kpi-icon i,
.content-wrapper .dashboard-kpi-card .dashboard-kpi-icon i,
.content-wrapper .reports-dashboard-kpi .reports-dashboard-kpi-icon i,
.content-wrapper .clients-kpi-card .clients-kpi-icon i,
.content-wrapper .cash-flow-metric .cash-flow-metric-icon i,
.content-wrapper .saas-monitoring-kpi > span i,
.content-wrapper .info-box .info-box-icon i,
.content-wrapper .small-box .icon i,
.content-wrapper .kpi-card .kpi-icon i {
    color: inherit !important;
    font-size: inherit;
    line-height: inherit;
}

.content-wrapper .sales-history-kpi-card .sales-history-kpi-brand img {
    display: none;
}

.content-wrapper .admin-dashboard-redesign .admin-dashboard-period-sales-kpi {
    padding-right: 76px;
}

.content-wrapper .admin-dashboard-redesign .admin-dashboard-period-sales-kpi .admin-dashboard-kpi-icon {
    right: 14px;
    font-size: 3.8rem;
}

@media (max-width: 575.98px) {
    .content-wrapper :where(
        .admin-dashboard-kpi,
        .sales-history-kpi-card,
        .dashboard-kpi-card,
        .reports-dashboard-kpi,
        .clients-kpi-card,
        .cash-flow-metric,
        .supplier-orders-kpis article,
        .info-box,
        .small-box
    ) {
        padding-right: max(4rem, 22%);
    }

    .content-wrapper :where(
        .admin-dashboard-kpi-icon,
        .sales-history-kpi-icon,
        .dashboard-kpi-icon,
        .reports-dashboard-kpi-icon,
        .clients-kpi-icon,
        .cash-flow-metric-icon,
        .info-box .info-box-icon,
        .small-box .icon
    ) {
        right: .75rem;
        font-size: clamp(2.35rem, 14vw, 3.5rem);
    }

    .content-wrapper .admin-dashboard-redesign .admin-dashboard-period-sales-kpi {
        padding-right: 72px;
    }

    .content-wrapper .admin-dashboard-redesign .admin-dashboard-period-sales-kpi .admin-dashboard-kpi-icon {
        right: 12px;
        font-size: 3.15rem;
    }

    .content-wrapper .sales-history-kpi-row > .sales-history-kpi-card {
        padding-right: max(4rem, 22%);
    }
}

.my-closures-page {
    overflow-x: hidden;
}
.my-closures-page .my-closures-table-wrap,
.my-closures-page .table-responsive,
.my-closures-page .dataTables_wrapper,
.my-closures-page .dataTables_scroll,
.my-closures-page .dataTables_scrollHead,
.my-closures-page .dataTables_scrollBody,
.my-closures-page .dataTables_scrollFoot {
    max-height: none !important;
    overflow-y: visible !important;
    overflow-x: hidden !important;
}
.my-closures-subtitle {
    margin: .2rem 0 0;
    color: #64748b;
    font-size: .86rem;
    font-weight: 600;
}
.my-closures-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.my-closures-filter-grid .sales-history-filter-actions {
    display: flex;
    align-items: flex-end;
    gap: .5rem;
}
.my-closures-difference.is-cuadre { color: #198754; font-weight: 800; }
.my-closures-difference.is-sobrante { color: #ea580c; font-weight: 800; }
.my-closures-difference.is-faltante { color: #dc3545; font-weight: 800; }
.my-closures-status {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
}
.my-closures-status i {
    font-size: .48rem;
    line-height: 1;
}
.my-closures-status.is-cuadre { color: #15803d; }
.my-closures-status.is-cuadre i { color: #22c55e; }
.my-closures-status.is-sobrante { color: #c2410c; }
.my-closures-status.is-sobrante i { color: #f59e0b; }
.my-closures-status.is-faltante { color: #b91c1c; }
.my-closures-status.is-faltante i { color: #ef4444; }
#myClosuresTable .sales-history-date-cell strong {
    font-variant-numeric: tabular-nums;
}
.my-closures-diff-box {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .6rem;
}
.my-closures-diff-box > div {
    border: 1px solid #e5edf7;
    border-radius: 8px;
    padding: .7rem .8rem;
    background: #fff;
}
.my-closures-diff-box span {
    display: block;
    color: #64748b;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.my-closures-diff-box strong {
    display: block;
    margin-top: .2rem;
    font-size: 1rem;
}
.my-closures-diff-box .is-cuadre strong { color: #198754; }
.my-closures-diff-box .is-sobrante strong { color: #0d6efd; }
.my-closures-diff-box .is-faltante strong { color: #dc3545; }
.my-closures-total-line {
    display: flex;
    justify-content: space-between;
    margin-top: .6rem;
    font-weight: 800;
}
@media (max-width: 1199.98px) {
    .my-closures-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767.98px) {
    .my-closures-kpi-row,
    .my-closures-diff-box {
        grid-template-columns: 1fr;
    }
    .my-closures-filter-grid .sales-history-filter-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .my-closures-page .sales-history-table-actions {
        justify-content: flex-end;
    }
}

#myClosureDetailModal .my-closure-detail-dialog {
    max-width: min(1080px, calc(100vw - 24px));
    max-height: calc(100vh - 30px);
    margin: 15px auto;
}
#myClosureDetailModal .my-closure-detail-modal {
    max-height: calc(100vh - 30px);
    border: 0;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 24px 48px rgba(15, 23, 42, .18);
}
#myClosureDetailModal .my-closure-detail-header {
    flex: 0 0 auto;
    align-items: flex-start;
    padding: .7rem 3.2rem .65rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    background: #fff;
}
#myClosureDetailModal .my-closure-detail-header .modal-title {
    margin: 0;
    color: #0f172a;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
}
#myClosureDetailModal .my-closure-detail-header span {
    display: block;
    margin-top: .12rem;
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
}
#myClosureDetailModal .my-closure-detail-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 12px 16px;
    background: #f8fafc;
}
#myClosureDetailModal .my-closure-detail-footer {
    flex: 0 0 auto;
    justify-content: flex-end;
    gap: .45rem;
    padding: .65rem 1rem;
    border-top: 1px solid #e2e8f0;
    background: #fff;
}
.my-closure-head,
.my-closure-grid {
    display: grid;
    gap: 10px;
}
.my-closure-kpis {
    display: flex;
    flex-wrap: wrap;
    margin-left: -5px;
    margin-right: -5px;
}
.my-closure-kpis > [class*="col-"] {
    padding-left: 5px;
    padding-right: 5px;
}
#myClosureDetailModal .small-box {
    margin-bottom: 0;
    min-height: 86px;
}
#myClosureDetailModal .small-box .inner {
    padding: 10px 3.2rem 8px 12px;
}
#myClosureDetailModal .small-box .inner h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    white-space: nowrap;
}
#myClosureDetailModal .small-box .inner p {
    margin: 2px 0 0;
    font-size: 12px;
    font-weight: 600;
}
#myClosureDetailModal .small-box .inner p small {
    display: block;
    margin-top: 1px;
    font-size: 11px;
    font-weight: 600;
    opacity: .9;
    text-transform: none;
}
#myClosureDetailModal .small-box .icon {
    font-size: 42px;
}
#myClosureDetailModal .small-box .small-box-footer {
    display: none !important;
}
#myClosureDetailModal .small-box.bg-warning,
#myClosureDetailModal .small-box.bg-warning .inner h3,
#myClosureDetailModal .small-box.bg-warning .inner p {
    color: #1f2937;
}
.my-closure-head {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 10px 12px;
    border: 1px solid #e5edf7;
    border-radius: 10px;
    background: #fff;
}
.my-closure-head-cell {
    min-width: 0;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}
.my-closure-head-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    line-height: 1;
}
.my-closure-head-icon.is-blue { background: #2563eb; }
.my-closure-head-icon.is-purple { background: #7c3aed; }
.my-closure-head-icon.is-orange { background: #ea580c; }
.my-closure-head-icon.is-teal { background: #0d9488; }
.my-closure-head-icon i {
    display: block;
    color: inherit;
    font-size: inherit;
    line-height: 1;
}
.my-closure-head-copy {
    min-width: 0;
}
.my-closure-head-copy > span {
    display: block;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.my-closure-head-copy strong,
.my-closure-head-copy small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.my-closure-head-copy strong {
    margin-top: 1px;
    color: #0f172a;
    font-size: 13px;
    font-weight: 800;
}
.my-closure-head-copy small {
    margin-top: 1px;
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
}
.my-closure-status-pill {
    display: inline-flex !important;
    width: auto;
    max-width: 100%;
    align-items: center;
    padding: .08rem .45rem;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.my-closure-status-pill.is-cuadre { background: #dcfce7; color: #166534; }
.my-closure-status-pill.is-faltante { background: #fee2e2; color: #b91c1c; }
.my-closure-status-pill.is-sobrante { background: #ffedd5; color: #c2410c; }
.my-closure-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.my-closure-panel {
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #e5edf7;
    border-radius: 10px;
    background: #fff;
}
.my-closure-panel h6 {
    margin: 0 0 8px;
    color: #1b365d;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.my-closure-pay-row,
.my-closure-recon-row,
.my-closure-move-row,
.my-closure-count-row {
    display: grid;
    align-items: center;
    gap: 8px;
    min-height: 28px;
    font-size: 13px;
    color: #334155;
}
.my-closure-pay-row { grid-template-columns: minmax(0, 1fr) 92px 48px; }
.my-closure-pay-row > div,
.my-closure-move-row > div {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.my-closure-pay-row strong,
.my-closure-recon-row strong,
.my-closure-move-row strong,
.my-closure-count-row strong {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    color: #0f172a;
}
.my-closure-pay-row em,
.my-closure-move-row em {
    text-align: right;
    font-style: normal;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}
.my-closure-pay-row .sales-history-method-chip {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
}
.my-closure-pay-row.is-total,
.my-closure-recon-row.is-expected,
.my-closure-count-row.is-total {
    margin-top: 4px;
    padding-top: 6px;
    border-top: 1px dashed #dbe4f0;
    font-weight: 800;
}
.my-closure-recon-row { grid-template-columns: minmax(0, 1fr) 110px; }
.my-closure-recon-row.is-plus strong { color: #15803d; }
.my-closure-recon-row.is-minus strong { color: #dc2626; }
.my-closure-recon-row.is-expected {
    background: #eef4ff;
    margin: 4px -4px;
    padding: 6px 8px;
    border-radius: 7px;
    border-top: 0;
}
.my-closure-diff {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}
.my-closure-diff.is-cuadre { background: #dcfce7; color: #166534; }
.my-closure-diff.is-faltante { background: #fee2e2; color: #b91c1c; }
.my-closure-diff.is-sobrante { background: #ffedd5; color: #c2410c; }
.my-closure-count { margin-top: 6px; }
.my-closure-count-toggle {
    padding: 0;
    color: #1b365d;
    font-weight: 700;
}
.my-closure-count-panel { padding: 6px 0 2px; }
.my-closure-count-row { grid-template-columns: minmax(0, 1fr) 92px; }
.my-closure-count-row.is-zero {
    opacity: .55;
}
.my-closure-move-row { grid-template-columns: minmax(0, 1fr) 36px 92px; }
.my-closure-move-row i { width: 16px; color: #64748b; }
.my-closure-notes {
    padding: 10px 12px;
    border: 1px solid #e5edf7;
    border-radius: 10px;
    background: #fff;
}
.my-closure-notes span {
    display: block;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.my-closure-notes p {
    margin: .25rem 0 0;
    color: #334155;
    font-size: 13px;
}
.my-closure-empty {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}
@media (max-width: 991.98px) {
    .my-closure-head,
    .my-closure-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767.98px) {
    #myClosureDetailModal .my-closure-detail-dialog {
        max-width: calc(100vw - 12px);
        margin: 8px auto;
    }
    .my-closure-head,
    .my-closure-grid {
        grid-template-columns: 1fr;
    }
    #myClosureDetailModal .small-box .inner h3 {
        font-size: 16px;
    }
}

.content-wrapper .reports-dashboard-kpis,
.content-wrapper .reports-products-kpis {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: .75rem;
}

.content-wrapper .reports-dashboard-kpi {
    display: flex !important;
    grid-template-columns: none;
    align-items: center;
    min-width: 0 !important;
    width: 100%;
    max-width: 100%;
    padding: .72rem 3.25rem .72rem .85rem !important;
    overflow: hidden;
}

.content-wrapper .reports-dashboard-kpi > div:not([class*="icon"]) {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.content-wrapper .reports-dashboard-kpi small {
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: unset !important;
    max-height: none !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    line-height: 1.2 !important;
}

.content-wrapper .reports-dashboard-kpi em {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-height: none !important;
    line-height: 1.3 !important;
}

@media (max-width: 767.98px) {
    .content-wrapper .reports-dashboard-kpis,
    .content-wrapper .reports-products-kpis {
        grid-template-columns: 1fr !important;
    }
}

/* Hosting fallback: keep the app shell usable if the bundled AdminLTE CSS is not served. */
.wrapper {
    position: relative;
    min-height: 100vh;
}

.main-header.navbar {
    position: relative;
    z-index: 1034;
    display: flex;
    align-items: center;
    min-height: 56px;
    padding: .5rem 1rem;
    margin-bottom: 0;
    border-bottom: 1px solid #e5edf7;
    background: #fff;
}

.main-header .navbar-nav,
.main-sidebar .nav,
.main-sidebar .nav-sidebar,
.main-sidebar .nav-treeview {
    display: flex;
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.main-header .navbar-nav {
    flex-direction: row;
    align-items: center;
}

.main-header .navbar-nav.ml-auto {
    margin-left: auto !important;
}

.main-header .nav-item,
.main-sidebar .nav-item {
    list-style: none;
}

.main-header .nav-link,
.main-sidebar .nav-link,
.brand-link {
    text-decoration: none;
}

.main-header .nav-link {
    display: flex;
    align-items: center;
    min-height: 38px;
    padding: .5rem .75rem;
}

.main-sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1038;
    width: var(--app-sidebar-expanded-width, 290px);
    min-height: 100vh;
    overflow: hidden;
}

.main-sidebar .brand-link {
    display: flex;
    align-items: center;
    width: 100%;
}

.main-sidebar .sidebar {
    height: calc(100vh - 66px);
    overflow: hidden;
}

.main-sidebar .nav-sidebar,
.main-sidebar .nav-treeview {
    flex-direction: column;
}

.main-sidebar .nav-link {
    position: relative;
    display: flex;
    align-items: center;
}

.main-sidebar .nav-link p {
    display: inline;
    margin: 0;
}

.main-sidebar .nav-treeview {
    display: none;
}

.main-sidebar .menu-open > .nav-treeview {
    display: flex;
}

.content-wrapper {
    min-height: calc(100vh - 56px);
    background: #f4f6f9;
}

.content-wrapper > .content,
.content-wrapper > .content-header {
    padding: 0 1rem;
}

.content-wrapper .container-fluid {
    width: 100%;
    max-width: 100%;
    padding-right: .5rem;
    padding-left: .5rem;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 992px) {
    body:not(.sidebar-collapse) .main-header,
    body:not(.sidebar-collapse) .content-wrapper,
    body:not(.sidebar-collapse) .main-footer {
        margin-left: var(--app-sidebar-expanded-width, 290px) !important;
    }

    body.sidebar-collapse .main-sidebar {
        width: 4.6rem !important;
    }

    body.sidebar-collapse .main-header,
    body.sidebar-collapse .content-wrapper,
    body.sidebar-collapse .main-footer {
        margin-left: 4.6rem !important;
    }
}

@media (max-width: 991.98px) {
    .main-sidebar {
        transform: translateX(-100%);
        transition: transform .2s ease;
    }

    body.sidebar-open .main-sidebar {
        transform: translateX(0);
    }

    .main-header,
    .content-wrapper,
    .main-footer {
        margin-left: 0 !important;
    }
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    min-width: 10rem;
    padding: .5rem 0;
    margin: .125rem 0 0;
    color: #212529;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: .25rem;
}

.dropdown {
    position: relative;
}

.dropdown-menu.show {
    display: block;
}

.dropdown-menu-right {
    right: 0;
    left: auto;
}

/* MDS button interaction recovery after hosting asset restoration. */
.btn,
button,
[role="button"],
.dt-button,
.swal2-styled {
    cursor: pointer;
}

.btn:not(:disabled):not(.disabled),
.dt-button:not(:disabled):not(.disabled),
.swal2-styled:not(:disabled) {
    transition:
        color .15s ease,
        background-color .15s ease,
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease,
        filter .15s ease;
}

.btn:not(:disabled):not(.disabled):hover,
.dt-button:not(:disabled):not(.disabled):hover,
.swal2-styled:not(:disabled):hover {
    filter: saturate(1.04);
}

.btn:not(:disabled):not(.disabled):active,
.dt-button:not(:disabled):not(.disabled):active,
.swal2-styled:not(:disabled):active {
    transform: translateY(0);
    filter: saturate(.98);
}

.btn:focus-visible,
.dt-button:focus-visible,
.swal2-styled:focus-visible {
    outline: 3px solid rgba(37, 99, 235, .28);
    outline-offset: 2px;
}

.btn-primary:not(:disabled):not(.disabled):hover,
.btn-primary:not(:disabled):not(.disabled):focus {
    color: #fff;
    background-color: #0b5ed7;
    border-color: #0a58ca;
}

.btn-secondary:not(:disabled):not(.disabled):hover,
.btn-secondary:not(:disabled):not(.disabled):focus {
    color: #fff;
    background-color: #5c636a;
    border-color: #565e64;
}

.btn-success:not(:disabled):not(.disabled):hover,
.btn-success:not(:disabled):not(.disabled):focus {
    color: #fff;
    background-color: #157347;
    border-color: #146c43;
}

.btn-danger:not(:disabled):not(.disabled):hover,
.btn-danger:not(:disabled):not(.disabled):focus {
    color: #fff;
    background-color: #bb2d3b;
    border-color: #b02a37;
}

.btn-warning:not(:disabled):not(.disabled):hover,
.btn-warning:not(:disabled):not(.disabled):focus {
    color: #1f2937;
    background-color: #ffca2c;
    border-color: #ffc720;
}

.btn-info:not(:disabled):not(.disabled):hover,
.btn-info:not(:disabled):not(.disabled):focus {
    color: #000;
    background-color: #31d2f2;
    border-color: #25cff2;
}

.btn-outline-primary:not(:disabled):not(.disabled):hover,
.btn-outline-primary:not(:disabled):not(.disabled):focus {
    color: #fff;
    background-color: #0d6efd;
    border-color: #0d6efd;
}

.content-wrapper .settings-series-header {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: .15rem;
}

.content-wrapper .settings-series-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: .75rem;
    min-width: 0;
}

.content-wrapper .settings-series-header .card-title {
    float: none;
    display: block;
    margin: 0;
    white-space: nowrap;
}

.content-wrapper .settings-series-header-btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

.content-wrapper .settings-series-subtitle {
    display: block;
    width: 100%;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.content-wrapper .settings-series-kpis .small-box.bg-warning,
.content-wrapper .settings-series-kpis .small-box.bg-warning .inner h3,
.content-wrapper .settings-series-kpis .small-box.bg-warning .inner p {
    color: #1f2937 !important;
}

.content-wrapper .settings-series-kpis .small-box {
    min-height: 118px;
    overflow: hidden;
}

.content-wrapper .settings-series-kpis .small-box .inner {
    padding: 14px 58px 16px 16px;
}

.content-wrapper .settings-series-kpis .small-box .icon {
    top: 10px;
    right: 12px;
    bottom: auto;
    left: auto;
    transform: none;
    font-size: 52px;
}

.content-wrapper .settings-series-kpis .small-box .icon i,
.content-wrapper .settings-series-kpis .small-box .icon > i {
    position: static;
    top: auto;
    right: auto;
    transform: none;
    font-size: inherit;
}

.content-wrapper .settings-series-kpis .small-box:hover .icon {
    transform: scale(1.08);
}

.content-wrapper .settings-series-table thead th,
.content-wrapper .settings-series-table thead th .settings-series-sort {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
    min-width: max-content;
    text-transform: none;
}

.content-wrapper .table td .btn.btn-sm.btn-warning.btn-edit-series:not(.btn-link):not(.btn-block):not(.dt-button) {
    background: #ffc107;
    border-color: #ffc107;
    color: #000;
    white-space: nowrap;
}

.content-wrapper .table td .btn.btn-sm.btn-warning.btn-edit-series:not(.btn-link):not(.btn-block):not(.dt-button):hover,
.content-wrapper .table td .btn.btn-sm.btn-warning.btn-edit-series:not(.btn-link):not(.btn-block):not(.dt-button):focus {
    background: #ffca2c;
    border-color: #ffc720;
    color: #000;
}

.content-wrapper .settings-design-layout.settings-top-layout,
.content-wrapper .settings-top-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
}

.content-wrapper .settings-top-layout > .settings-nav-card,
.content-wrapper .settings-top-layout > .settings-design-content {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 1 / -1 !important;
}

.content-wrapper .settings-pills.nav {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: .28rem;
    overflow-x: auto;
}

.content-wrapper .settings-pills .nav-link {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
}

/* KAJO — acciones Editar / Eliminar en todo el sistema
   Editar: #FFC107 (modificación)  |  Eliminar: #DC3545 (destructiva) */
:root {
    --kajo-action-edit: #ffc107;
    --kajo-action-edit-hover: #ffca2c;
    --kajo-action-edit-active: #e0a800;
    --kajo-action-edit-fg: #1a1a1a;
    --kajo-action-delete: #dc3545;
    --kajo-action-delete-hover: #e35d6a;
    --kajo-action-delete-active: #b02a37;
    --kajo-action-delete-fg: #fff;
}

:is(
    button[class*="btn-edit"],
    a.btn[class*="btn-edit"],
    .btn-order-edit,
    .btn-order-edit-detail,
    .clients-edit-action
):not(.btn-link) {
    background: var(--kajo-action-edit) !important;
    border-color: var(--kajo-action-edit) !important;
    color: var(--kajo-action-edit-fg) !important;
    box-shadow: none !important;
    filter: none !important;
}

:is(
    button[class*="btn-edit"],
    a.btn[class*="btn-edit"],
    .btn-order-edit,
    .btn-order-edit-detail,
    .clients-edit-action
):not(.btn-link):hover {
    background: var(--kajo-action-edit-hover) !important;
    border-color: var(--kajo-action-edit-hover) !important;
    color: var(--kajo-action-edit-fg) !important;
}

:is(
    button[class*="btn-edit"],
    a.btn[class*="btn-edit"],
    .btn-order-edit,
    .btn-order-edit-detail,
    .clients-edit-action
):not(.btn-link):focus,
:is(
    button[class*="btn-edit"],
    a.btn[class*="btn-edit"],
    .btn-order-edit,
    .btn-order-edit-detail,
    .clients-edit-action
):not(.btn-link):active {
    background: var(--kajo-action-edit-active) !important;
    border-color: var(--kajo-action-edit-active) !important;
    color: var(--kajo-action-edit-fg) !important;
}

:is(
    button[class*="btn-delete"],
    a.btn[class*="btn-delete"],
    .btn-order-delete,
    .btn-order-delete-detail,
    #btnRemoveSunatCertificate,
    .btn-cancel-saas-payment
):not(.btn-link) {
    background: var(--kajo-action-delete) !important;
    border-color: var(--kajo-action-delete) !important;
    color: var(--kajo-action-delete-fg) !important;
    box-shadow: none !important;
    filter: none !important;
}

:is(
    button[class*="btn-delete"],
    a.btn[class*="btn-delete"],
    .btn-order-delete,
    .btn-order-delete-detail,
    #btnRemoveSunatCertificate,
    .btn-cancel-saas-payment
):not(.btn-link):hover {
    background: var(--kajo-action-delete-hover) !important;
    border-color: var(--kajo-action-delete-hover) !important;
    color: var(--kajo-action-delete-fg) !important;
}

:is(
    button[class*="btn-delete"],
    a.btn[class*="btn-delete"],
    .btn-order-delete,
    .btn-order-delete-detail,
    #btnRemoveSunatCertificate,
    .btn-cancel-saas-payment
):not(.btn-link):focus,
:is(
    button[class*="btn-delete"],
    a.btn[class*="btn-delete"],
    .btn-order-delete,
    .btn-order-delete-detail,
    #btnRemoveSunatCertificate,
    .btn-cancel-saas-payment
):not(.btn-link):active {
    background: var(--kajo-action-delete-active) !important;
    border-color: var(--kajo-action-delete-active) !important;
    color: var(--kajo-action-delete-fg) !important;
}

:is(
    button[class*="btn-edit"],
    button[class*="btn-delete"],
    .btn-order-edit,
    .btn-order-delete,
    .btn-order-edit-detail,
    .btn-order-delete-detail,
    .clients-edit-action,
    #btnRemoveSunatCertificate,
    .btn-cancel-saas-payment
):disabled,
:is(
    button[class*="btn-edit"],
    button[class*="btn-delete"],
    .btn-order-edit,
    .btn-order-delete,
    .btn-order-edit-detail,
    .btn-order-delete-detail,
    .clients-edit-action,
    #btnRemoveSunatCertificate,
    .btn-cancel-saas-payment
).disabled {
    opacity: .55;
    pointer-events: none;
}

/* KAJO — botones de acción de registro (27×27, radio 6px, gap 0.26rem) */
.mds-actions,
.sales-history-table-actions,
.clients-row-actions,
.roles-design-row-actions,
.users-design-actions-cell,
.reports-sales-actions,
.saas-customers-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.26rem;
    white-space: nowrap;
    flex-wrap: nowrap;
    vertical-align: middle;
}

.sunat-action-stack.sales-history-table-actions,
.sunat-action-stack.mds-actions {
    display: inline-flex !important;
    min-width: 0;
}

.mds-action-btn,
.sales-history-table-actions > .btn,
.sales-history-table-actions > a.btn,
.sales-history-table-actions > .btn-group > .btn,
.clients-row-actions > .btn,
.clients-row-actions > a.btn,
.roles-design-row-actions > .btn,
.users-design-actions-cell > .btn,
.reports-sales-actions > button,
.reports-sales-actions > a,
.saas-customers-actions > .saas-customers-icon-btn,
.cash-flow-view-button {
    width: 27px !important;
    height: 27px !important;
    min-width: 27px !important;
    max-width: 27px !important;
    min-height: 27px !important;
    max-height: 27px !important;
    flex: 0 0 27px;
    padding: 0 !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1;
    box-sizing: border-box;
    box-shadow: none;
    transform: none !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, filter .15s ease, opacity .15s ease;
}

.table td .mds-actions .btn.btn-sm + .btn.btn-sm,
.table td .sales-history-table-actions .btn.btn-sm + .btn.btn-sm,
.mds-actions .btn + .btn,
.mds-actions a.btn + .btn,
.mds-actions .btn + a.btn,
.sales-history-table-actions .btn + .btn,
.sales-history-table-actions a.btn + .btn,
.sales-history-table-actions .btn + a.btn,
.users-design-actions-cell .btn + .btn,
.saas-customers-actions .saas-customers-icon-btn {
    margin-left: 0 !important;
}

.mds-action-btn > span,
.clients-row-actions .mds-action-btn > span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mds-action-btn.dropdown-toggle::after,
.sales-history-table-actions .dropdown-toggle::after {
    display: none;
}

.mds-action-btn i,
.sales-history-table-actions > .btn i,
.sales-history-table-actions > a.btn i,
.sales-history-table-actions > .btn-group > .btn i,
.clients-row-actions > .btn i,
.roles-design-row-actions > .btn i,
.users-design-actions-cell > .btn i,
.reports-sales-actions > button i,
.reports-sales-actions > a i,
.cash-flow-view-button i {
    font-size: .74rem;
    line-height: 1;
    pointer-events: none;
    margin: 0 !important;
}

.mds-action-btn:hover,
.mds-action-btn:focus,
.sales-history-table-actions > .btn:hover,
.sales-history-table-actions > a.btn:hover,
.table td .btn.btn-sm.mds-action-btn:hover,
.table td .sales-history-table-actions .btn.btn-sm:hover,
.clients-row-actions > .btn:hover,
.roles-design-row-actions > .btn:hover,
.users-design-actions-cell > .btn:hover,
.reports-sales-actions > button:hover,
.reports-sales-actions > a:hover,
.cash-flow-view-button:hover {
    transform: none !important;
    filter: brightness(1.05);
    box-shadow: 0 2px 6px rgba(15, 23, 42, .14);
}

.mds-action-btn:disabled,
.mds-action-btn.disabled {
    opacity: .55;
    box-shadow: none;
    filter: none;
    pointer-events: none;
}

.mds-action-view {
    background: #fff !important;
    border: 1px solid #0d6efd !important;
    color: #0d6efd !important;
}
.mds-action-view:hover,
.mds-action-view:focus {
    background: #f3f8ff !important;
    border-color: #0d6efd !important;
    color: #0d6efd !important;
}

.mds-action-edit {
    background: #ffc107 !important;
    border: 1px solid #ffc107 !important;
    color: #111827 !important;
}
.mds-action-edit:hover,
.mds-action-edit:focus {
    background: #ffca2c !important;
    border-color: #ffca2c !important;
    color: #111827 !important;
}

.mds-action-delete {
    background: #dc3545 !important;
    border: 1px solid #dc3545 !important;
    color: #fff !important;
}
.mds-action-delete:hover,
.mds-action-delete:focus {
    background: #e35d6a !important;
    border-color: #e35d6a !important;
    color: #fff !important;
}

.mds-action-print {
    background: #6c757d !important;
    border: 1px solid #6c757d !important;
    color: #fff !important;
}
.mds-action-print:hover,
.mds-action-print:focus {
    background: #7d868e !important;
    border-color: #7d868e !important;
    color: #fff !important;
}

.mds-action-account {
    background: #6f42c1 !important;
    border: 1px solid #6f42c1 !important;
    color: #fff !important;
}
.mds-action-account:hover,
.mds-action-account:focus {
    background: #8257cc !important;
    border-color: #8257cc !important;
    color: #fff !important;
}

.mds-action-approve {
    background: #198754 !important;
    border: 1px solid #198754 !important;
    color: #fff !important;
}
.mds-action-approve:hover,
.mds-action-approve:focus {
    background: #1ea862 !important;
    border-color: #1ea862 !important;
    color: #fff !important;
}

.mds-action-disable {
    background: #fd7e14 !important;
    border: 1px solid #fd7e14 !important;
    color: #fff !important;
}
.mds-action-disable:hover,
.mds-action-disable:focus {
    background: #fd9138 !important;
    border-color: #fd9138 !important;
    color: #fff !important;
}

.mds-action-download {
    background: #0d6efd !important;
    border: 1px solid #0d6efd !important;
    color: #fff !important;
}
.mds-action-download:hover,
.mds-action-download:focus {
    background: #3d8bfd !important;
    border-color: #3d8bfd !important;
    color: #fff !important;
}

.mds-action-payment {
    background: #20a5a5 !important;
    border: 1px solid #20a5a5 !important;
    color: #fff !important;
}
.mds-action-payment:hover,
.mds-action-payment:focus {
    background: #2bb5b5 !important;
    border-color: #2bb5b5 !important;
    color: #fff !important;
}

.mds-action-xml {
    background: #e69500 !important;
    border: 1px solid #e69500 !important;
    color: #fff !important;
}
.mds-action-xml:hover,
.mds-action-xml:focus {
    background: #f0a31a !important;
    border-color: #f0a31a !important;
    color: #fff !important;
}

.mds-action-cdr {
    background: #6f42c1 !important;
    border: 1px solid #6f42c1 !important;
    color: #fff !important;
}
.mds-action-cdr:hover,
.mds-action-cdr:focus {
    background: #8257cc !important;
    border-color: #8257cc !important;
    color: #fff !important;
}

.mds-action-email {
    background: #e83e6f !important;
    border: 1px solid #e83e6f !important;
    color: #fff !important;
}
.mds-action-email:hover,
.mds-action-email:focus {
    background: #ec5a84 !important;
    border-color: #ec5a84 !important;
    color: #fff !important;
}

.mds-action-cpe {
    background: #00a3a3 !important;
    border: 1px solid #00a3a3 !important;
    color: #fff !important;
}
.mds-action-cpe:hover,
.mds-action-cpe:focus {
    background: #14b3b3 !important;
    border-color: #14b3b3 !important;
    color: #fff !important;
}

.mds-action-void {
    background: #ff5a5f !important;
    border: 1px solid #ff5a5f !important;
    color: #fff !important;
}
.mds-action-void:hover,
.mds-action-void:focus {
    background: #ff7377 !important;
    border-color: #ff7377 !important;
    color: #fff !important;
}

.mds-action-close-cash {
    background: #0b5cad !important;
    border: 1px solid #0b5cad !important;
    color: #fff !important;
}
.mds-action-close-cash:hover,
.mds-action-close-cash:focus {
    background: #1a6dc0 !important;
    border-color: #1a6dc0 !important;
    color: #fff !important;
}

.mds-action-unlock {
    background: #8e44dd !important;
    border: 1px solid #8e44dd !important;
    color: #fff !important;
}
.mds-action-unlock:hover,
.mds-action-unlock:focus {
    background: #a15ee4 !important;
    border-color: #a15ee4 !important;
    color: #fff !important;
}

table.dataTable td .mds-actions,
table.dataTable td .sales-history-table-actions,
table.dataTable td .reports-sales-actions {
    white-space: nowrap;
}

.app-listing-actions {
    gap: 0.26rem;
}

.app-listing-actions > .btn,
.app-listing-actions > a.btn {
    width: 27px !important;
    height: 27px !important;
    min-width: 27px !important;
    max-width: 27px !important;
    min-height: 27px !important;
    max-height: 27px !important;
    flex: 0 0 27px;
    padding: 0 !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    transform: none !important;
}

