:root {
    --botica-primary: #0ea5c9;
    --botica-primary-dark: #0284c7;
    --botica-border: #d9e2ec;
    --botica-muted: #64748b;
    --botica-bg: #f5f7fa;
    --botica-danger: #b91c1c;
    --botica-radius: 6px;
}

body {
    background: var(--botica-bg);
}

a {
    text-decoration: none;
}

#sidebar .sidebar-menu > li > a.active {
    background: #35404d;
    border-left: 4px solid #ff6c60;
    box-shadow: none;
    color: #fff !important;
    font-weight: 800;
}

#sidebar {
    scrollbar-color: #ff6c60 #2a3542;
    scrollbar-width: thin;
}

#sidebar::-webkit-scrollbar {
    width: 8px;
}

#sidebar::-webkit-scrollbar-track {
    background: #2a3542;
}

#sidebar::-webkit-scrollbar-thumb {
    background: #ff6c60;
    border-radius: 999px;
}

#sidebar .sidebar-menu > li > a {
    border-left: 4px solid transparent;
    box-sizing: border-box;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

#sidebar .sidebar-menu > li > a:hover,
#sidebar .sidebar-menu > li > a:focus {
    background: #313b47;
    border-left-color: rgba(255, 108, 96, .72);
    color: #fff !important;
}

#sidebar .sidebar-menu > li > a i {
    min-width: 18px;
    text-align: center;
}

#sidebar .sidebar-menu > li > a.active i,
#sidebar .sidebar-menu > li > a.active span {
    color: #fff !important;
}

#sidebar .sidebar-menu li ul.sub li.active,
#sidebar .sidebar-menu li ul.sub li a.active {
    background: #3f4b59;
}

#sidebar .sidebar-menu li ul.sub li a.active {
    border-left: 4px solid #ff6c60;
    color: #ffb3ad !important;
    font-weight: 800;
}

#sidebar .sidebar-menu li ul.sub li a.active:before {
    content: none;
}

#sidebar .sidebar-menu li ul.sub li a {
    border-left: 4px solid transparent;
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
    white-space: nowrap;
}

#sidebar .sidebar-menu li ul.sub li a:hover,
#sidebar .sidebar-menu li ul.sub li a:focus {
    background: #35404d;
    border-left-color: rgba(255, 108, 96, .58);
    color: #fff !important;
}

#sidebar .sidebar-menu li.sub-menu.active > ul.sub,
#sidebar .sidebar-menu li.sub-menu > a.active + ul.sub {
    background: rgba(0, 0, 0, .08);
}

#sidebar .sidebar-menu li.sub-menu.active > a:after,
#sidebar .sidebar-menu li.sub-menu > a.active:after {
    color: #ff6c60;
}

.wrapper,
.site-min-height {
    padding-bottom: 32px;
}

.panel,
.form-panel,
.adv-table,
.profile-info,
.login-wrap {
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: var(--botica-radius);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    margin-bottom: 18px;
}

.panel-heading,
.form-panel h4,
.form-panel .mb {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid var(--botica-border);
    color: #0f172a;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-weight: 700;
    justify-content: space-between;
    padding: 14px 16px;
}

.panel-body {
    padding: 16px;
}

.panel-heading .tools {
    margin-left: auto;
}

.pull-right {
    float: right !important;
}

.pull-left {
    float: left !important;
}

.fade.in {
    opacity: 1;
}

.close {
    appearance: none;
    background: transparent;
    border: 0;
    color: #334155;
    cursor: pointer;
    float: right;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    opacity: .7;
    padding: 0;
}

.close:hover,
.close:focus {
    color: #0f172a;
    opacity: 1;
}

.close-sm {
    font-size: 18px;
}

.input-group-addon {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--botica-border);
    border-radius: var(--botica-radius);
    color: #475569;
    display: flex;
    font-size: 14px;
    font-weight: 600;
    justify-content: center;
    min-width: 42px;
    padding: 6px 12px;
    white-space: nowrap;
}

.input-group > .input-group-addon:first-child {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.input-group > .input-group-addon:first-child + .form-control,
.input-group > .input-group-addon:first-child + select,
.input-group > .input-group-addon:first-child + input {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.input-group-addon.botica-hidden-date-addon {
    display: none !important;
}

.input-group.botica-native-date-group > .botica-native-datepicker:first-child,
.input-group.botica-native-date-group > .botica-hidden-date-addon:first-child + .botica-native-datepicker {
    border-bottom-left-radius: var(--botica-radius);
    border-top-left-radius: var(--botica-radius);
}

.botica-native-date-group {
    align-items: stretch;
}

.botica-native-date-group .botica-native-datepicker {
    background-color: #fff;
    min-width: 0;
}

.botica-native-date-group .input-group-addon:not(.botica-hidden-date-addon) {
    background: #f8fafc;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    min-width: 38px;
    padding-left: 10px;
    padding-right: 10px;
    text-transform: uppercase;
}

.botica-native-date-group .botica-native-datepicker + .input-group-addon:not(.botica-hidden-date-addon) {
    border-left: 0;
    border-radius: 0;
}

.botica-native-date-group .input-group-addon:not(.botica-hidden-date-addon) + .botica-native-datepicker {
    border-bottom-left-radius: 0;
    border-left: 0;
    border-top-left-radius: 0;
}

.botica-native-date-group .botica-native-datepicker:last-child {
    border-bottom-right-radius: var(--botica-radius);
    border-top-right-radius: var(--botica-radius);
}

.checkbox-inline,
.radio-inline {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    margin: 4px 16px 4px 0;
}

.btn-xs {
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.4;
    padding: 3px 7px;
}

.btn-default {
    background: #fff;
    border-color: var(--botica-border);
    color: #334155;
}

.btn-default:hover,
.btn-default:focus {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #0f172a;
}

.btn-soft-danger {
    background: #fff1f2;
    border-color: #fecdd3;
    color: #be123c;
}

.btn-soft-danger:hover,
.btn-soft-danger:focus {
    background: #ffe4e6;
    border-color: #fda4af;
    color: #9f1239;
}

.label {
    border-radius: 999px;
    color: #fff;
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    padding: 4px 8px;
    vertical-align: baseline;
    white-space: nowrap;
}

.label-default {
    background: #64748b;
}

.label-primary {
    background: #2563eb;
}

.label-success {
    background: var(--botica-primary);
}

.label-info {
    background: #0284c7;
}

.label-warning {
    background: #ca8a04;
}

.label-danger {
    background: var(--botica-danger);
}

.form-control,
select,
textarea,
input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
input[type="date"] {
    border-color: var(--botica-border);
    border-radius: var(--botica-radius);
    min-height: 38px;
}

select.form-control {
    appearance: auto;
}

.form-control:focus,
select:focus,
textarea:focus,
input:focus {
    border-color: var(--botica-primary);
    box-shadow: 0 0 0 3px rgba(31, 122, 77, 0.14);
    outline: 0;
}

.control-label,
label {
    color: #334155;
    font-weight: 600;
}

.help-block,
.text-muted,
small {
    color: var(--botica-muted);
}

.btn {
    border-radius: var(--botica-radius);
    font-weight: 600;
}

.btn-primary,
.btn-success {
    background: linear-gradient(135deg, #0ea5c9, #38bdf8);
    border-color: transparent;
    box-shadow: 0 8px 18px rgba(14, 165, 233, .16);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-success:hover,
.btn-success:focus {
    background: linear-gradient(135deg, #0284c7, #0ea5e9);
    border-color: transparent;
}

.btn[disabled],
.btn.is-loading {
    cursor: wait;
    opacity: 0.75;
}

.table-responsive {
    border: 0;
}

.table,
table.dataTable {
    background: #fff;
}

.table > thead > tr > th,
table.dataTable thead th {
    background: #eef6f1;
    border-bottom: 1px solid var(--botica-border);
    color: #0f172a;
    font-weight: 700;
    white-space: nowrap;
}

.table > tbody > tr:hover,
table.dataTable tbody tr:hover {
    background: #f8fafc;
}

.dataTables_filter input,
.dataTables_length select {
    border: 1px solid var(--botica-border);
    border-radius: var(--botica-radius);
    padding: 6px 10px;
}

.botica-table-tools {
    display: inline-flex;
    gap: 6px;
    margin: 10px 0 10px 12px;
    vertical-align: middle;
}

.dataTables_wrapper .botica-table-tools {
    float: left;
}

.alert {
    border-radius: var(--botica-radius);
}

.alert .close {
    margin-left: 12px;
}

.breadcrumb {
    background: transparent;
    border-radius: 0;
    margin-bottom: 8px;
    padding: 8px 0;
}

.breadcrumb > li {
    display: inline-block;
}

.breadcrumb > li + li:before {
    color: #94a3b8;
    content: "/\00a0";
    padding: 0 5px;
}

.breadcrumb > .active {
    color: var(--botica-muted);
}

.dropdown-menu.extended {
    border: 1px solid var(--botica-border);
    border-radius: var(--botica-radius);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
    padding: 8px;
}

.dropdown-menu.extended > li > a,
.dropdown-menu.extended a {
    border-radius: 4px;
    color: #334155;
    display: block;
    padding: 8px 10px;
}

.dropdown-menu.extended > li > a:hover,
.dropdown-menu.extended a:hover {
    background: #f1f5f9;
    color: #0f172a;
}

.modal-header .close {
    margin-left: auto;
}

#botica-form-modal .modal-dialog {
    max-width: 920px;
}

#botica-form-modal .modal-body form {
    margin: 0;
}

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

.table .btn + .btn,
.table a + a {
    margin-left: 4px;
}

.top-menu .dropdown-menu {
    right: 0;
    left: auto;
}

.botica-field-error {
    color: var(--botica-danger);
    display: block;
    font-size: 12px;
    margin-top: 5px;
}

.has-error .form-control,
.has-error input,
.has-error select,
.has-error textarea {
    border-color: var(--botica-danger);
}

.botica-toast {
    background: #0f172a;
    border-radius: var(--botica-radius);
    bottom: 24px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.28);
    color: #fff;
    left: 50%;
    max-width: calc(100% - 32px);
    padding: 12px 16px;
    position: fixed;
    transform: translateX(-50%);
    z-index: 9999;
}

.botica-toast.is-error {
    background: var(--botica-danger);
}

.dashboard-page {
    color: #0f172a;
}

.dashboard-hero {
    align-items: center;
    background: linear-gradient(135deg, #effdf5 0%, #edfdf9 42%, #f8fbff 100%);
    border: 1px solid rgba(15, 118, 110, 0.16);
    border-radius: 8px;
    box-shadow: 0 14px 32px rgba(15, 118, 110, 0.10);
    color: #0f172a;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 24px;
}

.dashboard-hero-copy {
    max-width: 760px;
}

.dashboard-hero h1 {
    color: #0f172a;
    font-size: 28px;
    font-weight: 800;
    margin: 4px 0 8px;
}

.dashboard-hero p {
    color: #475569;
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
    max-width: 620px;
}

.dashboard-eyebrow {
    color: #0f766e;
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dashboard-hero-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.dashboard-hero .btn {
    border-radius: 6px;
    box-shadow: 0 8px 18px rgba(15, 118, 110, 0.12);
    font-weight: 700;
}

.dashboard-hero .btn-light {
    background: #fff;
    border: 1px solid rgba(20, 184, 166, 0.28);
    color: #0f766e;
}

.dashboard-hero .btn-light:hover,
.dashboard-hero .btn-light:focus {
    background: #ccfbf1;
    border-color: rgba(15, 118, 110, 0.36);
    color: #115e59;
}

.dashboard-hero-meta {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(15, 118, 110, 0.16);
    border-radius: 8px;
    min-width: 150px;
    padding: 14px 16px;
    text-align: center;
}

.dashboard-hero-meta span,
.dashboard-hero-meta strong {
    display: block;
}

.dashboard-hero-meta span {
    color: #64748b;
    font-size: 13px;
}

.dashboard-hero-meta strong {
    color: #0f172a;
    font-size: 18px;
    margin-top: 4px;
}

.dashboard-hero-meta small {
    color: #0f766e;
    display: block;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 6px;
}

.dashboard-kpis {
    margin-bottom: 4px;
}

.dashboard-card {
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    margin-bottom: 18px;
    min-height: 156px;
    padding: 18px;
    position: relative;
}

.dashboard-card-primary {
    background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%);
    border-color: rgba(15, 118, 110, 0.18);
}

.dashboard-card-icon {
    align-items: center;
    background: #e8f5ef;
    border-radius: 8px;
    color: var(--botica-primary);
    display: inline-flex;
    font-size: 22px;
    height: 44px;
    justify-content: center;
    margin-bottom: 18px;
    width: 44px;
}

.dashboard-card-icon-blue {
    background: #eaf3ff;
    color: #2563eb;
}

.dashboard-card-icon-amber {
    background: #fff7e6;
    color: #b7791f;
}

.dashboard-card-icon-red {
    background: #feecec;
    color: #b91c1c;
}

.dashboard-card span,
.dashboard-card small {
    color: var(--botica-muted);
    display: block;
}

.dashboard-card span {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.dashboard-card strong {
    color: #0f172a;
    display: block;
    font-size: 27px;
    line-height: 1.15;
    margin: 7px 0 5px;
}

.dashboard-card small {
    font-size: 13px;
}

.dashboard-panel .panel-heading i {
    color: var(--botica-primary);
    margin-right: 6px;
}

.dashboard-actions {
    display: flex;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.dashboard-action {
    align-items: flex-start;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    color: #334155;
    display: flex;
    flex-direction: column;
    min-height: 132px;
    padding: 16px;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.dashboard-action-button {
    appearance: none;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.dashboard-action:hover,
.dashboard-action:focus {
    border-color: rgba(15, 118, 110, 0.40);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    color: #0f172a;
    transform: translateY(-1px);
}

.dashboard-action i {
    align-items: center;
    background: #ecfeff;
    border-radius: 8px;
    color: #0f766e;
    display: inline-flex;
    font-size: 20px;
    height: 42px;
    justify-content: center;
    margin-bottom: 14px;
    width: 42px;
}

.dashboard-action strong {
    color: #0f172a;
    font-size: 15px;
    margin-bottom: 4px;
}

.dashboard-action span {
    color: var(--botica-muted);
    font-size: 13px;
    line-height: 1.45;
}

.dashboard-table {
    margin-bottom: 0;
}

.dashboard-table td {
    vertical-align: middle !important;
}

.dashboard-table .btn-xs,
.dashboard-table .btn-group .btn-xs,
.dashboard-table a.btn-xs {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    justify-content: center;
    line-height: 1;
    min-height: 30px;
    padding: 5px 10px;
}

.dashboard-table .btn-xs i,
.dashboard-table .btn-group .btn-xs i,
.dashboard-table a.btn-xs i {
    margin: 0;
}

.dashboard-table .btn-xs .fa,
.dashboard-table .btn-group .btn-xs .fa,
.dashboard-table a.btn-xs .fa {
    font-size: 13px;
}

.dashboard-table .btn-group .dropdown-menu a {
    align-items: center;
    display: flex;
    gap: 8px;
}

.dashboard-table .dropdown-menu .fa {
    width: 14px;
    text-align: center;
}

.dashboard-empty {
    align-items: center;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    color: var(--botica-muted);
    display: flex;
    flex-direction: column;
    gap: 6px;
    justify-content: center;
    min-height: 170px;
    padding: 24px;
    text-align: center;
}

.dashboard-empty i {
    color: #94a3b8;
    font-size: 34px;
}

.dashboard-empty strong {
    color: #334155;
}

.dashboard-health-item {
    align-items: center;
    border-bottom: 1px solid #edf2f7;
    display: flex;
    justify-content: space-between;
    padding: 13px 0;
}

.dashboard-health-item:first-child {
    padding-top: 0;
}

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

.dashboard-health-item span {
    color: var(--botica-muted);
}

.dashboard-health-item strong {
    color: #0f172a;
    font-size: 20px;
}

.dashboard-task-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dashboard-task-list li {
    align-items: flex-start;
    border-bottom: 1px solid #edf2f7;
    color: #334155;
    display: flex;
    gap: 10px;
    line-height: 1.45;
    padding: 12px 0;
}

.dashboard-task-list li:first-child {
    padding-top: 0;
}

.dashboard-task-list li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.dashboard-task-list i {
    color: var(--botica-primary);
    margin-top: 3px;
}

.login-modern-body {
    background:
        radial-gradient(circle at top left, rgba(20, 184, 166, .16), transparent 32%),
        linear-gradient(135deg, #f4fbf7 0%, #eef9f5 48%, #f8fafc 100%);
    min-height: 100vh;
}

.login-modern {
    display: grid;
    grid-template-columns: minmax(360px, 1fr) minmax(360px, 520px);
    min-height: 100vh;
}

.login-brand-panel {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(14, 165, 233, .94), rgba(56, 189, 248, .84)),
        url("../images/web.jpg") center/cover;
    color: #fff;
    display: flex;
    padding: 48px;
    position: relative;
}

.login-brand-panel:after {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .12) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, .1) 1px, transparent 1px);
    background-size: 42px 42px;
    bottom: 0;
    content: "";
    left: 0;
    opacity: .28;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
}

.login-brand-content {
    max-width: 650px;
    position: relative;
    z-index: 1;
}

.login-home-link {
    align-items: center;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-weight: 700;
    gap: 8px;
    margin-bottom: 52px;
    padding: 9px 14px;
}

.login-home-link:hover,
.login-home-link:focus {
    background: rgba(255, 255, 255, .26);
    color: #fff;
}

.login-logo-card {
    align-items: center;
    background: rgba(255, 255, 255, .96);
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(6, 78, 59, .24);
    display: inline-flex;
    margin-bottom: 28px;
    padding: 14px;
}

.login-logo-card img {
    display: block;
    height: auto;
    max-width: 260px;
}

.login-brand-content h1 {
    color: #fff;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.12;
    margin: 0 0 14px;
    max-width: 560px;
}

.login-brand-content p {
    color: rgba(255, 255, 255, .9);
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
    max-width: 540px;
}

.login-feature-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 34px;
    max-width: 520px;
}

.login-feature-grid div {
    background: rgba(236, 253, 245, .16);
    border: 1px solid rgba(209, 250, 229, .34);
    border-radius: 8px;
    padding: 16px;
}

.login-feature-grid i {
    display: block;
    font-size: 22px;
    margin-bottom: 10px;
    color: #bbf7d0;
}

.login-feature-grid span {
    color: #fff;
    font-weight: 700;
}

.login-form-panel {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 32px;
}

.login-modern-card {
    background: rgba(255, 255, 255, .96);
    border: 1px solid #d9f0e4;
    border-radius: 8px;
    box-shadow: 0 18px 48px rgba(15, 118, 82, .14);
    max-width: 420px;
    padding: 34px;
    width: 100%;
}

.login-form-header {
    margin-bottom: 24px;
}

.login-form-header .dashboard-eyebrow {
    color: #0f8a5f;
}

.login-form-header h2 {
    color: #0f172a;
    font-size: 28px;
    font-weight: 800;
    margin: 6px 0 8px;
}

.login-form-header p {
    color: var(--botica-muted);
    line-height: 1.5;
    margin: 0;
}

.login-alert {
    border-radius: 8px;
    margin-bottom: 20px;
}

.login-field {
    margin-bottom: 18px;
}

.login-field label {
    color: #334155;
    display: block;
    font-weight: 700;
    margin-bottom: 8px;
}

.login-input-wrap {
    position: relative;
}

.login-input-wrap i {
    color: #7fb7a0;
    font-size: 16px;
    left: 14px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.login-input-wrap .form-control {
    border: 1px solid #d9eede;
    border-radius: 8px;
    height: 48px;
    padding-left: 42px;
}

.login-input-wrap .form-control:focus {
    border-color: rgba(31, 122, 77, .58);
    box-shadow: 0 0 0 3px rgba(31, 122, 77, .12);
}

.login-input-wrap .form-control:focus + i,
.login-input-wrap:focus-within i {
    color: var(--botica-primary);
}

.login-submit {
    background: linear-gradient(135deg, #1f7a4d, #15916b);
    border: 0;
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(31, 122, 77, .22);
    font-size: 15px;
    margin-top: 8px;
    min-height: 48px;
}

.login-submit:hover,
.login-submit:focus {
    background: linear-gradient(135deg, #16613c, #0f7a59);
}

.login-helper-text {
    color: var(--botica-muted);
    font-size: 13px;
    line-height: 1.45;
    margin: 16px 0 0;
    text-align: center;
}

/* Login 2026 */
.login-modern-body {
    background: #edf7f3;
    font-family: "Helvetica Neue", Arial, sans-serif;
}

.login-refresh {
    align-items: center;
    background:
        radial-gradient(circle at 8% 12%, rgba(16, 185, 129, .14), transparent 26%),
        radial-gradient(circle at 92% 88%, rgba(14, 165, 233, .1), transparent 28%),
        #edf7f3;
    display: flex;
    justify-content: center;
    min-height: 100vh;
    overflow: hidden;
    padding: 40px;
    position: relative;
}

.login-refresh:before,
.login-refresh:after {
    border: 1px solid rgba(15, 118, 82, .08);
    border-radius: 50%;
    content: "";
    height: 420px;
    position: absolute;
    width: 420px;
}

.login-refresh:before { left: -210px; top: -210px; }
.login-refresh:after { bottom: -250px; right: -180px; }

.login-refresh-card {
    background: #fff;
    border: 1px solid rgba(15, 118, 82, .12);
    border-radius: 26px;
    box-shadow: 0 32px 80px rgba(17, 70, 53, .16);
    display: grid;
    grid-template-columns: minmax(380px, 1.05fr) minmax(400px, .95fr);
    max-width: 1040px;
    min-height: 620px;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: 1;
}

.login-refresh-brand {
    background: linear-gradient(145deg, #075e45 0%, #0b7b58 52%, #12936b 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: 46px 50px;
    position: relative;
}

.login-refresh-brand:before {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    content: "";
    height: 390px;
    position: absolute;
    right: -210px;
    top: 90px;
    width: 390px;
}

.login-brand-top {
    align-items: center;
    display: flex;
    font-size: 16px;
    font-weight: 700;
    gap: 12px;
    position: relative;
}

.login-brand-icon {
    align-items: center;
    background: #fff;
    border-radius: 12px;
    color: #0b7b58;
    display: inline-flex;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.login-brand-message { max-width: 450px; position: relative; }
.login-brand-kicker {
    color: #9cf0cf;
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.7px;
    margin-bottom: 16px;
    text-transform: uppercase;
}
.login-brand-message h1 {
    color: #fff;
    font-size: 42px;
    font-weight: 800;
    letter-spacing: -1.3px;
    line-height: 1.12;
    margin: 0 0 20px;
}
.login-brand-message p {
    color: rgba(255, 255, 255, .78);
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
}

.login-brand-status {
    align-items: center;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 16px;
    display: flex;
    gap: 13px;
    padding: 14px 16px;
    position: relative;
}
.login-brand-status > span {
    align-items: center;
    background: rgba(255, 255, 255, .14);
    border-radius: 10px;
    display: flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}
.login-brand-status strong,
.login-brand-status small { display: block; }
.login-brand-status small { color: rgba(255, 255, 255, .68); margin-top: 2px; }

.login-refresh-form-panel { align-items: center; display: flex; padding: 48px 58px; }
.login-refresh-form { margin: auto; max-width: 390px; width: 100%; }
.login-refresh-logo { display: none; }
.login-refresh-header { margin-bottom: 30px; }
.login-refresh-header > span { color: #0c8a62; font-size: 13px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; }
.login-refresh-header h2 { color: #13241f; font-size: 32px; font-weight: 800; letter-spacing: -.6px; margin: 7px 0 8px; }
.login-refresh-header p { color: #71817b; margin: 0; }
.login-refresh-alert { border: 0; border-radius: 12px; font-size: 13px; margin-bottom: 22px; padding: 13px 36px 13px 14px; }
.login-refresh-alert > i { margin-right: 6px; }
.login-refresh-field { margin-bottom: 20px; }
.login-refresh-field label { color: #31443d; font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.login-refresh-input { position: relative; }
.login-refresh-input > i {
    color: #8aa098;
    font-size: 16px;
    left: 17px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}
.login-refresh-input .form-control {
    background: #f8fbfa;
    border: 1px solid #dce8e3;
    border-radius: 12px;
    box-shadow: none;
    color: #1c3029;
    font-size: 14px;
    height: 52px;
    padding: 10px 46px;
}
.login-refresh-input .form-control:focus { background: #fff; border-color: #16a276; box-shadow: 0 0 0 4px rgba(22, 162, 118, .11); }
.login-refresh-input:focus-within > i { color: #0c8a62; }
.login-password-toggle {
    background: transparent;
    border: 0;
    color: #82958e;
    height: 40px;
    outline: 0;
    padding: 0;
    position: absolute;
    right: 7px;
    top: 6px;
    width: 40px;
}
.login-password-toggle:hover,
.login-password-toggle:focus { color: #0c8a62; }
.login-refresh-submit {
    align-items: center;
    background: linear-gradient(135deg, #0c805d, #11a172);
    border: 0;
    border-radius: 12px;
    box-shadow: 0 12px 24px rgba(12, 128, 93, .22);
    display: flex;
    font-size: 15px;
    font-weight: 700;
    height: 52px;
    justify-content: center;
    margin-top: 8px;
    transition: transform .2s, box-shadow .2s;
}
.login-refresh-submit i { margin-left: 10px; }
.login-refresh-submit:hover,
.login-refresh-submit:focus { background: linear-gradient(135deg, #096c4e, #0c8b63); box-shadow: 0 14px 28px rgba(12, 128, 93, .3); transform: translateY(-1px); }
.login-refresh-help { color: #8a9994; font-size: 12px; margin: 22px 0 0; text-align: center; }
.login-refresh-help i { color: #11a172; margin-right: 5px; }

@media (max-width: 820px) {
    .login-refresh { padding: 24px; }
    .login-refresh-card { grid-template-columns: 1fr; max-width: 500px; min-height: 0; }
    .login-refresh-brand { display: none; }
    .login-refresh-form-panel { padding: 42px; }
    .login-refresh-logo { display: block; margin: 0 0 28px; text-align: center; }
    .login-refresh-logo img { height: auto; max-width: 210px; }
}

@media (max-width: 480px) {
    .login-refresh { align-items: stretch; padding: 0; }
    .login-refresh-card { border: 0; border-radius: 0; min-height: 100vh; }
    .login-refresh-form-panel { padding: 32px 24px; }
    .login-refresh-header h2 { font-size: 28px; }
}

.product-list-page {
    color: #0f172a;
}

.product-list-hero {
    align-items: center;
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 20px;
}

.product-list-hero .dashboard-eyebrow {
    color: var(--botica-primary);
}

.product-list-hero h1 {
    color: #0f172a;
    font-size: 26px;
    font-weight: 800;
    margin: 4px 0 6px;
}

.product-list-hero p {
    color: var(--botica-muted);
    margin: 0;
}

.product-list-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.product-metrics {
    margin-bottom: 4px;
}

.product-metric-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
    display: flex;
    gap: 14px;
    margin-bottom: 14px;
    padding: 15px;
}

.product-metric-card i {
    align-items: center;
    background: #e8f5ef;
    border-radius: 8px;
    color: var(--botica-primary);
    display: inline-flex;
    font-size: 20px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.product-metric-card span {
    color: var(--botica-muted);
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.product-metric-card strong {
    color: #0f172a;
    font-size: 18px;
}

.product-panel-heading {
    align-items: center;
}

.product-panel-heading > span i {
    color: var(--botica-primary);
    margin-right: 6px;
}

.product-import-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
}

.product-import-form .form-control {
    max-width: 240px;
    min-height: 30px;
}

.product-list-panel .dataTables_wrapper .row:first-child {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
}

.botica-dt-toolbar,
.botica-dt-footer {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    padding: 16px 16px 0;
}

.botica-dt-footer {
    border-top: 1px solid var(--botica-border);
    margin-top: 14px;
    padding-bottom: 16px;
    padding-top: 14px;
}

.botica-dt-toolbar .dataTables_length,
.botica-dt-toolbar .dataTables_filter,
.botica-dt-footer .dataTables_info,
.botica-dt-footer .dataTables_paginate {
    margin: 0;
}

.botica-dt-toolbar .dataTables_length label,
.botica-dt-toolbar .dataTables_filter label {
    align-items: center;
    color: #334155;
    display: inline-flex;
    font-weight: 700;
    gap: 8px;
    margin: 0;
}

.botica-dt-toolbar .dataTables_length select,
.botica-dt-toolbar .dataTables_filter input {
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    box-shadow: none;
    min-height: 36px;
}

.botica-dt-toolbar .dataTables_filter input {
    min-width: 260px;
}

.botica-dt-footer .dataTables_info {
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
}

.botica-dt-footer .dataTables_paginate .pagination {
    margin: 0;
}

.botica-dt-footer .dataTables_paginate .paginate_button > a,
.botica-dt-footer .dataTables_paginate .paginate_button > span,
.botica-dt-footer .dataTables_paginate .pagination > li > a,
.botica-dt-footer .dataTables_paginate .pagination > li > span {
    background: #fff;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    color: #334155;
    margin-left: 4px;
    min-width: 38px;
    padding: 7px 11px;
    text-align: center;
}

.botica-dt-footer .dataTables_paginate .paginate_button.current > a,
.botica-dt-footer .dataTables_paginate .pagination > .active > a,
.botica-dt-footer .dataTables_paginate .pagination > .active > span {
    background: linear-gradient(135deg, #0ea5c9, #38bdf8);
    border-color: transparent;
    color: #fff;
}

.botica-dt-footer .dataTables_paginate .paginate_button.disabled > a,
.botica-dt-footer .dataTables_paginate .paginate_button.disabled > span,
.botica-dt-footer .dataTables_paginate .pagination > .disabled > a,
.botica-dt-footer .dataTables_paginate .pagination > .disabled > span {
    background: #f8fafc;
    color: #94a3b8;
}

.product-list-panel table td {
    border-top: 1px solid #edf2f7;
    color: #334155;
    vertical-align: middle !important;
}

.product-list-panel .panel-body {
    padding: 0;
}

.product-list-panel .table-responsive {
    border: 0;
    margin-bottom: 0;
}

.product-table > thead > tr > th {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    color: #475569;
    font-size: 12px;
    text-transform: uppercase;
}

.product-table > tbody > tr > td {
    border-top: 1px solid #edf2f7;
    color: #334155;
    vertical-align: middle;
}

.product-table > tbody > tr > td:first-child {
    color: #64748b;
    font-weight: 800;
}

.product-table > tbody > tr > td:nth-child(2) {
    color: #0f172a;
    font-weight: 800;
}

.product-list-panel table td:nth-child(2),
.product-list-panel table td:nth-child(3),
.product-list-panel table td:nth-child(4) {
    max-width: 260px;
    white-space: normal;
}

.product-list-panel .btn-xs + .btn-xs,
.product-list-panel .btn-xs + a.btn-xs {
    margin-left: 4px;
}

.product-history-summary {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 14px;
    padding: 14px;
}

.product-history-summary span {
    color: var(--botica-muted);
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.product-history-summary strong {
    color: #0f172a;
}

.product-history-table {
    margin-bottom: 0;
}

.product-history-page .breadcrumb {
    margin-bottom: 14px;
}

.product-history-hero {
    margin-bottom: 14px;
}

.product-history-filter-panel {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
    margin-bottom: 14px;
}

.product-history-filter-form {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(260px, 1.1fr) minmax(320px, 1.4fr) minmax(220px, .9fr) auto;
    align-items: end;
}

.product-history-filter-form .form-group {
    margin-bottom: 0;
}

.product-history-filter-form label {
    color: #334155;
    display: block;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 7px;
}

.product-history-filter-form .input-group {
    width: 100%;
}

.product-history-filter-form .input-group-addon {
    background: #f8fafc;
    border-color: #dbe4ee;
    color: #64748b;
}

.product-history-date-range {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px minmax(0, 1fr);
    overflow: hidden;
}

.product-history-date-range.botica-native-date-group {
    grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr);
}

.product-history-date-range .input-group-addon,
.product-history-date-range .form-control {
    display: flex;
    float: none;
    height: 38px;
    width: 100%;
}

.product-history-filter-form .product-history-select-group {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    overflow: hidden;
}

.product-history-filter-form .product-history-select-group .input-group-addon {
    align-items: center;
    display: flex;
    justify-content: center;
    height: 38px;
}

.product-history-filter-form .product-history-select-group .select2-container {
    width: 100% !important;
}

.product-history-filter-form .product-history-select-group .select2-container--default .select2-selection--single {
    border: 0;
    border-left: 1px solid #dbe4ee;
    border-radius: 0 8px 8px 0;
    min-height: 38px;
}

.product-history-filter-form .product-history-select-group .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 38px;
}

.product-history-filter-form .product-history-select-group .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px;
}

.product-history-filter-form .product-history-select-group .select2-container--default.select2-container--focus .select2-selection--single,
.product-history-filter-form .product-history-select-group .select2-container--default.select2-container--open .select2-selection--single {
    border-color: rgba(14, 165, 233, .55);
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .12);
}

.product-history-actions {
    align-self: end;
    display: flex;
    margin-bottom: 0;
    grid-column: 4;
}

.product-history-actions label {
    height: 0;
    margin: 0;
    overflow: hidden;
}

.product-history-action-buttons {
    display: flex;
    gap: 10px;
    justify-content: flex-start;
    width: 100%;
}

.product-history-filter-form .help-block {
    color: #b91c1c;
    display: block;
    font-size: 12px;
    height: 16px;
    margin: 6px 0 0;
    visibility: hidden;
}

.product-history-filter-form .help-block.is-visible {
    visibility: visible;
}

.product-history-filter-form .select2-container {
    width: 100% !important;
}

.product-history-filter-form .select2-container--default .select2-selection--single {
    align-items: center;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    display: flex;
    min-height: 38px;
}

.product-history-filter-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #334155;
    line-height: 38px;
    padding-left: 12px;
    padding-right: 34px;
}

.product-history-filter-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px;
    right: 6px;
}

.product-history-datepicker {
    background: #fff;
    border: 1px solid #dbe4ee;
    box-shadow: none;
}

.product-history-datepicker:focus {
    border-color: rgba(14, 165, 233, .55);
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .12);
}

.datepicker.dropdown-menu {
    border: 1px solid #dbe4ee;
    border-radius: 10px;
    box-shadow: 0 18px 36px rgba(15, 23, 42, .14);
    padding: 10px;
}

.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active {
    background: linear-gradient(135deg, #0ea5c9, #38bdf8);
    border-color: transparent;
}

.datepicker table tr td.today {
    background: #e0f2fe;
    border-color: rgba(14, 165, 233, .2);
}

.datepicker table thead tr:first-child th,
.datepicker table tfoot tr th {
    color: #0f172a;
    font-weight: 800;
}

.history-empty-state {
    margin-top: 12px;
}

.product-history-stats {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 14px;
}

.product-history-stat {
    background: #fff;
    border: 1px solid #e8eef5;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
    padding: 14px;
}

.product-history-stat span {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.product-history-stat strong {
    color: #0f172a;
    display: block;
    font-size: 20px;
    line-height: 1.1;
}

.product-history-panel .panel-body {
    padding: 0;
}

.product-history-panel .table-responsive {
    border: 0;
    margin-bottom: 0;
}

.product-history-panel .product-history-table > thead > tr > th {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    color: #475569;
    font-size: 12px;
    text-transform: uppercase;
}

.product-history-panel .product-history-table > tbody > tr > td {
    border-top: 1px solid #edf2f7;
    color: #334155;
    vertical-align: middle;
}

.product-history-type {
    background: #e8f5ef;
    border: 1px solid rgba(31, 122, 77, .18);
    border-radius: 999px;
    color: var(--botica-primary-dark);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 9px;
}

.product-history-modal-stats {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 12px;
}

.product-history-modal-stats > div {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 10px 12px;
}

.product-history-modal-stats span {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.product-history-modal-stats strong {
    color: #0f172a;
    display: block;
    font-size: 18px;
}

.category-page .breadcrumb {
    margin-bottom: 14px;
}

.category-hero {
    margin-bottom: 14px;
}

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

.category-stat {
    background: #fff;
    border: 1px solid #e8eef5;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
    padding: 14px;
}

.category-stat span {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.category-stat strong {
    color: #0f172a;
    display: block;
    font-size: 22px;
    line-height: 1.1;
}

.category-panel .panel-body {
    padding: 0;
}

.category-panel .table-responsive {
    border: 0;
    margin-bottom: 0;
}

.category-table > thead > tr > th {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    color: #475569;
    font-size: 12px;
    text-transform: uppercase;
}

.category-table > tbody > tr > td {
    border-top: 1px solid #edf2f7;
    color: #334155;
    vertical-align: middle;
}

.category-name-cell {
    align-items: center;
    display: flex;
    gap: 10px;
}

.category-name-cell strong {
    color: #0f172a;
    font-weight: 800;
}

.category-icon {
    align-items: center;
    background: #e8f5ef;
    border: 1px solid rgba(31, 122, 77, .18);
    border-radius: 8px;
    color: var(--botica-primary);
    display: inline-flex;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.category-count {
    background: #eef6f1;
    border: 1px solid rgba(31, 122, 77, .18);
    border-radius: 999px;
    color: var(--botica-primary-dark);
    display: inline-flex;
    font-weight: 800;
    min-width: 34px;
    justify-content: center;
    padding: 4px 10px;
}

.category-form-page {
    max-width: 760px;
}

.category-form-panel {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.activo-page .breadcrumb {
    margin-bottom: 14px;
}

.activo-hero {
    margin-bottom: 14px;
}

.activo-kpis {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 14px;
}

.producto-kpis,
.categoria-kpis,
.laboratorio-kpis,
.usuario-kpis,
.zona-kpis,
.precio-kpis,
.precio-alerta-kpis,
.cuota-kpis,
.cuota-reporte-kpis,
.cuota-historico-kpis,
.rentable-kpis,
.rentable-list-kpis,
.trabajador-kpis,
.subproducto-kpis,
.promocion-producto-kpis,
.promocion-descuento-kpis,
.comisionable-producto-kpis,
.comisionable-list-kpis,
.comisionable-doctor-kpis,
.botiquin-list-kpis,
.botiquin-product-kpis,
.quimico-caja-kpis,
.ventas-list-kpis,
.ventas-caja-kpis,
.ventas-perdidas-kpis,
.ventas-usuario-kpis,
.proveedor-kpis,
.proveedor-activo-kpis,
.inventario-kpis,
.kardex-activo-kpis,
.kardex-util-kpis,
.reposicion-kpis,
.reporte-labs-kpis,
.clientes-reporte-kpis,
.producto-compra-kpis,
.productos-vendidos-kpis,
.producto-sinventa-kpis,
.consumo-cliente-kpis,
.ventas-local-et-kpis,
.guia-local-kpis,
.guia-local-recibidas-kpis,
.guia-local-enviadas-kpis,
.product-history-stats {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 14px;
}

.subproducto-principal-panel .panel-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.subproducto-principal-panel .panel-heading small {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.subproducto-principal-table {
    min-width: 980px;
    width: 100% !important;
}

.subproducto-principal-table .table-icon-actions .btn {
    align-items: center;
    border-radius: 6px;
    cursor: pointer !important;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.subproducto-principal-select .select2-container--default .select2-selection--single {
    border: 1px solid #dbe4ee;
    border-radius: 6px;
    height: 38px;
}

.subproducto-principal-select .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px;
    padding-left: 12px;
}

.subproducto-principal-select .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.subproducto-detalle-modal .modal-dialog {
    width: min(980px, calc(100% - 24px));
}

.subproducto-detalle-modal .modal-content {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .2);
    overflow: hidden;
}

.subproducto-detalle-modal .modal-body {
    background: #f8fafc;
    padding: 18px;
}

.subproducto-detalle-intro {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    margin: 0 0 12px;
}

.subproducto-detalle-summary,
.subproducto-detalle-add,
.subproducto-detalle-modal .table-responsive,
.subproducto-detalle-modal .dashboard-empty {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 14px;
}

.subproducto-detalle-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.subproducto-detalle-grid .form-group {
    margin-bottom: 0;
}

.subproducto-detalle-grid label,
.subproducto-detalle-add label {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.subproducto-detalle-grid .form-control[readonly] {
    background: #f8fafc;
    border-color: #dbe4ee;
    box-shadow: none;
    color: #0f172a;
}

.subproducto-detalle-add {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: 14px;
    margin-top: 14px;
}

.subproducto-detalle-add .form-group {
    margin-bottom: 0;
}

.subproducto-detalle-add .select2-container--default .select2-selection--single {
    border: 1px solid #dbe4ee;
    border-radius: 6px;
    height: 38px;
}

.subproducto-detalle-add .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px;
    padding-left: 12px;
}

.subproducto-detalle-add .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.subproducto-detalle-table {
    min-width: 860px;
    width: 100% !important;
}

.subproducto-detalle-table .table-icon-actions .btn {
    align-items: center;
    border-radius: 6px;
    cursor: pointer !important;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.subproducto-detalle-modal .modal-footer {
    background: #fff;
    border-top: 1px solid #e2e8f0;
}

.cuota-reporte-page .wrapper {
    max-width: none;
}

.cuota-report-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.cuota-report-meta span {
    align-items: center;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    color: rgba(255, 255, 255, .92);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    padding: 6px 10px;
}

.cuota-report-filter-card {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.cuota-filter-header {
    align-items: center;
    border-bottom: 1px solid #edf2f7;
    display: flex;
    justify-content: space-between;
    margin: -4px -4px 16px;
    padding: 0 4px 14px;
}

.cuota-filter-header span {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cuota-filter-header strong {
    color: #0f172a;
    display: block;
    font-size: 17px;
    margin-top: 2px;
}

.cuota-filter-header small {
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 999px;
    color: #0369a1;
    font-size: 12px;
    font-weight: 900;
    padding: 6px 11px;
}

.cuota-report-filter-form {
    align-items: start;
    gap: 14px;
    grid-template-columns: minmax(220px, 280px) minmax(420px, 1fr);
}

.cuota-filter-block {
    background: transparent;
    border: 0;
    border-radius: 0;
    min-height: 100%;
    padding: 0;
}

.cuota-filter-period {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 14px;
}

.cuota-filter-locals {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 14px;
}

.cuota-filter-title {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.cuota-filter-title span {
    align-items: center;
    color: #334155;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 7px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.cuota-filter-title .btn {
    border-radius: 999px;
    font-weight: 800;
}

.cuota-filter-actionbar {
    align-items: center;
    border-top: 1px solid #edf2f7;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 16px;
    padding-top: 14px;
}

.cuota-filter-actionbar-note {
    align-items: center;
    color: #64748b;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    gap: 7px;
}

.cuota-filter-actionbar-note i {
    color: #0284c7;
}

.cuota-filter-actionbar-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.cuota-filter-actionbar-buttons .btn {
    border-radius: 6px;
    font-weight: 800;
    min-width: 0;
    padding-left: 12px;
    padding-right: 12px;
}

.cuota-history-filter-form {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(280px, 420px) minmax(420px, 1fr);
}

.cuota-history-filter-row {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cuota-history-chart-grid {
    margin-bottom: 14px;
}

.historico-chart-panel {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.historico-chart-panel .panel-heading {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #edf2f7;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
}

.historico-chart-panel .panel-heading span {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.historico-chart-panel .panel-heading small {
    color: #64748b;
    font-weight: 800;
}

.historico-chart-body {
    padding: 12px 14px 14px;
}

.historico-chart-box {
    height: 230px;
    position: relative;
    width: 100%;
}

.historico-chart-box canvas {
    height: 100% !important;
    width: 100% !important;
}

.cuota-report-filter-form .activo-filter-field label {
    align-items: center;
    color: #334155;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 7px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.cuota-report-filter-form .help-block {
    color: #64748b;
    font-size: 12px;
    margin-bottom: 0;
}

.cuota-reporte-page .ms-container {
    width: 100% !important;
}

.cuota-reporte-page .ms-container:after {
    clear: both;
    content: "";
    display: table;
}

.cuota-reporte-page .ms-container .ms-selectable,
.cuota-reporte-page .ms-container .ms-selection {
    background: #fff;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    overflow: hidden;
}

.cuota-reporte-page .ms-container .ms-list {
    border: 0;
    box-shadow: none;
    height: 230px;
}

.cuota-reporte-page .ms-container input.form-control {
    border: 0;
    border-bottom: 1px solid #edf2f7;
    border-radius: 0;
    box-shadow: none;
    height: 38px;
}

.cuota-reporte-page .ms-container .ms-elem-selectable,
.cuota-reporte-page .ms-container .ms-elem-selection {
    border-bottom: 1px solid #f1f5f9;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 10px;
}

.cuota-reporte-page .ms-container .ms-hover {
    background: #e0f2fe !important;
    color: #075985 !important;
}

.cuota-report-progress {
    background: rgba(255, 255, 255, .24);
    border-radius: 999px;
    height: 8px;
    margin-top: 10px;
    overflow: hidden;
    width: 100%;
}

.cuota-report-progress span {
    background: #fff;
    border-radius: inherit;
    display: block;
    height: 100%;
}

.cuota-report-panel {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.cuota-report-panel .panel-heading {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #edf2f7;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
}

.cuota-report-panel .panel-heading span {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.cuota-report-panel .panel-heading small {
    color: #64748b;
    font-weight: 800;
}

.cuota-report-panel .dashboard-table td,
.cuota-report-panel .dashboard-table th {
    vertical-align: middle !important;
}

.cuota-report-panel .label {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    gap: 5px;
    justify-content: center;
    min-width: 88px;
    padding: 5px 9px;
}

.cuota-table-progress {
    min-width: 150px;
}

.cuota-table-progress strong {
    color: #334155;
    display: block;
    font-size: 12px;
    margin-bottom: 5px;
}

.cuota-table-progress div {
    background: #e2e8f0;
    border-radius: 999px;
    height: 7px;
    overflow: hidden;
}

.cuota-table-progress span {
    border-radius: inherit;
    display: block;
    height: 100%;
}

.cuota-progress-success {
    background: #16a34a;
}

.cuota-progress-warning {
    background: #f59e0b;
}

.cuota-progress-danger {
    background: #ef4444;
}

.cuota-row-success td:first-child {
    border-left: 4px solid #16a34a;
}

.cuota-row-warning td:first-child {
    border-left: 4px solid #f59e0b;
}

.cuota-row-danger td:first-child {
    border-left: 4px solid #ef4444;
}

.rentable-product-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.rentable-product-meta span {
    align-items: center;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    color: rgba(255, 255, 255, .92);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    padding: 6px 10px;
}

.rentable-product-filter-card,
.rentable-product-panel {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.rentable-filter-header {
    align-items: center;
    border-bottom: 1px solid #edf2f7;
    display: flex;
    justify-content: space-between;
    margin: -4px -4px 16px;
    padding: 0 4px 14px;
}

.rentable-filter-header span {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.rentable-filter-header strong {
    color: #0f172a;
    display: block;
    font-size: 17px;
    margin-top: 2px;
}

.rentable-filter-header small {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 999px;
    color: #166534;
    font-size: 12px;
    font-weight: 900;
    max-width: 44%;
    overflow: hidden;
    padding: 6px 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rentable-product-filter-form {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(320px, 1fr) minmax(280px, .65fr);
}

.rentable-filter-field {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 14px;
}

.rentable-filter-field label {
    align-items: center;
    color: #334155;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 7px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.rentable-filter-field .form-control {
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    box-shadow: none;
    min-height: 38px;
}

.rentable-filter-field .select2-container {
    width: 100% !important;
}

.rentable-filter-field .select2-container .select2-selection--single {
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    height: 38px;
}

.rentable-filter-field .select2-container .select2-selection--single .select2-selection__rendered {
    color: #334155;
    font-weight: 700;
    line-height: 36px;
    padding-left: 12px;
}

.rentable-filter-field .select2-container .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.rentable-filter-note {
    align-items: flex-start;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #64748b;
    display: flex;
    gap: 10px;
    padding: 14px;
}

.rentable-filter-note i {
    color: #0284c7;
    font-size: 18px;
    margin-top: 2px;
}

.rentable-filter-note strong {
    color: #334155;
    display: block;
    font-size: 13px;
}

.rentable-filter-note span {
    display: block;
    font-size: 12px;
    margin-top: 2px;
}

.rentable-filter-actionbar {
    align-items: center;
    border-top: 1px solid #edf2f7;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 16px;
    padding-top: 14px;
}

.rentable-filter-actionbar .btn {
    border-radius: 6px;
    font-weight: 800;
    min-width: 0;
    padding-left: 12px;
    padding-right: 12px;
}

.rentable-product-panel .panel-heading {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #edf2f7;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
}

.rentable-product-panel .panel-heading span {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.rentable-product-panel .panel-heading small {
    color: #64748b;
    font-weight: 800;
}

.rentable-product-panel .panel-body,
.rentable-product-panel .table-responsive,
.rentable-product-panel .dataTables_wrapper,
.rentable-product-panel .dataTables_scroll,
.rentable-product-panel .dataTables_scrollHead,
.rentable-product-panel .dataTables_scrollBody {
    width: 100%;
}

.rentable-product-table {
    min-width: 980px;
    width: 100% !important;
}

.promocion-product-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.promocion-product-meta span {
    align-items: center;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    color: rgba(255, 255, 255, .92);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    padding: 6px 10px;
}

.promocion-product-filter-card,
.promocion-product-panel {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.promocion-filter-header {
    align-items: center;
    border-bottom: 1px solid #edf2f7;
    display: flex;
    justify-content: space-between;
    margin: -4px -4px 16px;
    padding: 0 4px 14px;
}

.promocion-filter-header span {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.promocion-filter-header strong {
    color: #0f172a;
    display: block;
    font-size: 17px;
    margin-top: 2px;
}

.promocion-filter-header small {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 999px;
    color: #166534;
    font-size: 12px;
    font-weight: 900;
    max-width: 44%;
    overflow: hidden;
    padding: 6px 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promocion-product-filter-form {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(320px, 1fr) minmax(280px, .65fr);
}

.promocion-filter-field {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 14px;
}

.promocion-filter-field label {
    align-items: center;
    color: #334155;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 7px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.promocion-filter-field .form-control {
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    box-shadow: none;
    min-height: 38px;
}

.promocion-filter-field .select2-container {
    width: 100% !important;
}

.promocion-filter-field .select2-container .select2-selection--single {
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    height: 38px;
}

.promocion-filter-field .select2-container .select2-selection--single .select2-selection__rendered {
    color: #334155;
    font-weight: 700;
    line-height: 36px;
    padding-left: 12px;
}

.promocion-filter-field .select2-container .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.promocion-filter-note {
    align-items: flex-start;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #64748b;
    display: flex;
    gap: 10px;
    padding: 14px;
}

.promocion-filter-note i {
    color: #0284c7;
    font-size: 18px;
    margin-top: 2px;
}

.promocion-filter-note strong {
    color: #334155;
    display: block;
    font-size: 13px;
}

.promocion-filter-note span {
    display: block;
    font-size: 12px;
    margin-top: 2px;
}

.promocion-filter-actionbar {
    align-items: center;
    border-top: 1px solid #edf2f7;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 16px;
    padding-top: 14px;
}

.promocion-filter-actionbar .btn {
    border-radius: 6px;
    font-weight: 800;
    min-width: 0;
    padding-left: 12px;
    padding-right: 12px;
}

.promocion-product-panel .panel-heading {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #edf2f7;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
}

.promocion-product-panel .panel-heading span {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.promocion-product-panel .panel-heading small {
    color: #64748b;
    font-weight: 800;
}

.promocion-product-panel .panel-body,
.promocion-product-panel .table-responsive,
.promocion-product-panel .dataTables_wrapper,
.promocion-product-panel .dataTables_scroll,
.promocion-product-panel .dataTables_scrollHead,
.promocion-product-panel .dataTables_scrollBody {
    width: 100%;
}

.promocion-product-table {
    min-width: 980px;
    width: 100% !important;
}

.promocion-product-table .table-icon-actions {
    white-space: nowrap;
}

.promocion-product-table .table-icon-actions .btn {
    align-items: center;
    border-radius: 6px;
    cursor: pointer !important;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.promocion-descuento-panel {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.promocion-descuento-panel .panel-heading {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #edf2f7;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
}

.promocion-descuento-panel .panel-heading span {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.promocion-descuento-panel .panel-heading small {
    color: #64748b;
    font-weight: 800;
}

.promocion-descuento-panel .panel-body,
.promocion-descuento-panel .table-responsive,
.promocion-descuento-panel .dataTables_wrapper,
.promocion-descuento-panel .dataTables_scroll,
.promocion-descuento-panel .dataTables_scrollHead,
.promocion-descuento-panel .dataTables_scrollBody {
    width: 100%;
}

.promocion-descuento-table {
    min-width: 1080px;
    width: 100% !important;
}

.promocion-descuento-table .table-icon-actions {
    white-space: nowrap;
}

.promocion-descuento-table .table-icon-actions .btn {
    align-items: center;
    border-radius: 6px;
    cursor: pointer !important;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.comisionable-product-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.comisionable-product-meta span {
    align-items: center;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    color: rgba(255, 255, 255, .92);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    padding: 6px 10px;
}

.comisionable-product-filter-card,
.comisionable-product-panel {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.comisionable-filter-header {
    align-items: center;
    border-bottom: 1px solid #edf2f7;
    display: flex;
    justify-content: space-between;
    margin: -4px -4px 16px;
    padding: 0 4px 14px;
}

.comisionable-filter-header span {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.comisionable-filter-header strong {
    color: #0f172a;
    display: block;
    font-size: 17px;
    margin-top: 2px;
}

.comisionable-filter-header small {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 999px;
    color: #166534;
    font-size: 12px;
    font-weight: 900;
    max-width: 44%;
    overflow: hidden;
    padding: 6px 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.comisionable-product-filter-form {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(320px, 1fr) minmax(280px, .65fr);
}

.comisionable-filter-field {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 14px;
}

.comisionable-filter-field label {
    align-items: center;
    color: #334155;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 7px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.comisionable-filter-field .form-control {
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    box-shadow: none;
    min-height: 38px;
}

.comisionable-filter-field .select2-container {
    width: 100% !important;
}

.comisionable-filter-field .select2-container .select2-selection--single {
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    height: 38px;
}

.comisionable-filter-field .select2-container .select2-selection--single .select2-selection__rendered {
    color: #334155;
    font-weight: 700;
    line-height: 36px;
    padding-left: 12px;
}

.comisionable-filter-field .select2-container .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.comisionable-filter-note {
    align-items: flex-start;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #64748b;
    display: flex;
    gap: 10px;
    padding: 14px;
}

.comisionable-filter-note i {
    color: #0284c7;
    font-size: 18px;
    margin-top: 2px;
}

.comisionable-filter-note strong {
    color: #334155;
    display: block;
    font-size: 13px;
}

.comisionable-filter-note span {
    display: block;
    font-size: 12px;
    margin-top: 2px;
}

.comisionable-filter-actionbar {
    align-items: center;
    border-top: 1px solid #edf2f7;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 16px;
    padding-top: 14px;
}

.comisionable-filter-actionbar .btn {
    border-radius: 6px;
    font-weight: 800;
    min-width: 0;
    padding-left: 12px;
    padding-right: 12px;
}

.comisionable-product-panel .panel-heading {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #edf2f7;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
}

.comisionable-product-panel .panel-heading span {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.comisionable-product-panel .panel-heading small {
    color: #64748b;
    font-weight: 800;
}

.comisionable-product-panel .panel-body,
.comisionable-product-panel .table-responsive,
.comisionable-product-panel .dataTables_wrapper,
.comisionable-product-panel .dataTables_scroll,
.comisionable-product-panel .dataTables_scrollHead,
.comisionable-product-panel .dataTables_scrollBody {
    width: 100%;
}

.comisionable-product-table {
    min-width: 980px;
    width: 100% !important;
}

.comisionable-product-table .table-icon-actions {
    white-space: nowrap;
}

.comisionable-product-table .table-icon-actions .btn {
    align-items: center;
    border-radius: 6px;
    cursor: pointer !important;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.botiquin-product-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.botiquin-product-meta span {
    align-items: center;
    background: rgba(255, 255, 255, .74);
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: 999px;
    color: #334155;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    min-height: 28px;
    padding: 5px 10px;
}

.botiquin-product-filter-card {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.botiquin-filter-header {
    align-items: center;
    border-bottom: 1px solid #edf2f7;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin: -2px 0 14px;
    padding-bottom: 12px;
}

.botiquin-filter-header span {
    color: var(--botica-primary);
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.botiquin-filter-header strong {
    color: #0f172a;
    display: block;
    font-size: 15px;
    margin-top: 2px;
}

.botiquin-filter-header small {
    color: #64748b;
    font-weight: 800;
    text-align: right;
}

.botiquin-product-filter-form {
    align-items: stretch;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(420px, 1.7fr) minmax(220px, .6fr);
}

.botiquin-filter-field label {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.botiquin-filter-field .form-control {
    border-color: #dbe4ee;
    border-radius: 6px;
    box-shadow: none;
    min-height: 38px;
    width: 100%;
}

.botiquin-filter-field .select2-container {
    display: block;
    width: 100% !important;
}

.botiquin-filter-field .select2-container--default .select2-selection--single {
    border: 1px solid #dbe4ee;
    border-radius: 6px;
    height: 40px;
}

.botiquin-filter-field .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #334155;
    line-height: 38px;
    padding-left: 12px;
    padding-right: 34px;
}

.botiquin-filter-field .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px;
    right: 6px;
}

.botiquin-filter-field.has-error .select2-selection,
.botiquin-filter-field.has-error .form-control {
    border-color: var(--botica-danger);
}

.botiquin-filter-note {
    align-items: flex-start;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #64748b;
    display: flex;
    gap: 10px;
    padding: 12px;
}

.botiquin-filter-note i {
    color: var(--botica-primary);
    margin-top: 2px;
}

.botiquin-filter-note strong {
    color: #0f172a;
    display: block;
    font-size: 13px;
}

.botiquin-filter-note span {
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-top: 2px;
}

.botiquin-filter-actionbar {
    align-items: center;
    border-top: 1px solid #edf2f7;
    display: flex;
    justify-content: flex-end;
    margin-top: 14px;
    padding-top: 12px;
}

.botiquin-product-panel {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.botiquin-product-panel .panel-heading {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #edf2f7;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
}

.botiquin-product-panel .panel-heading span {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.botiquin-product-panel .panel-heading small {
    color: #64748b;
    font-weight: 800;
}

.botiquin-product-panel .panel-body,
.botiquin-product-panel .table-responsive,
.botiquin-product-panel .dataTables_wrapper,
.botiquin-product-panel .dataTables_scroll,
.botiquin-product-panel .dataTables_scrollHead,
.botiquin-product-panel .dataTables_scrollBody {
    width: 100%;
}

.botiquin-product-table {
    min-width: 980px;
    width: 100% !important;
}

.botiquin-product-table .table-icon-actions {
    white-space: nowrap;
}

.botiquin-product-table .table-icon-actions .btn {
    align-items: center;
    border-radius: 6px;
    cursor: pointer !important;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.botiquin-list-panel {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.botiquin-list-panel .panel-heading {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #edf2f7;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
}

.botiquin-list-panel .panel-heading span {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.botiquin-list-panel .panel-heading small {
    color: #64748b;
    font-weight: 800;
}

.botiquin-list-panel .panel-body,
.botiquin-list-panel .table-responsive,
.botiquin-list-panel .dataTables_wrapper,
.botiquin-list-panel .dataTables_scroll,
.botiquin-list-panel .dataTables_scrollHead,
.botiquin-list-panel .dataTables_scrollBody {
    width: 100%;
}

.botiquin-list-table {
    min-width: 1080px;
    width: 100% !important;
}

.botiquin-list-table .table-icon-actions {
    white-space: nowrap;
}

.botiquin-list-table .table-icon-actions .btn {
    align-items: center;
    border-radius: 6px;
    cursor: pointer !important;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.botiquin-list-modal .modal-dialog {
    max-width: 900px;
    width: calc(100% - 24px);
}

.botiquin-list-modal .modal-subtitle {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    margin: 7px 0 0;
}

.botiquin-list-modal .modal-title {
    align-items: center;
    display: flex;
    gap: 9px;
}

.botiquin-list-modal .modal-title i {
    align-items: center;
    background: rgba(31, 122, 77, .1);
    border-radius: 8px;
    color: var(--botica-primary);
    display: inline-flex;
    font-size: 15px;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.botiquin-list-modal .modal-body {
    background: #f8fafc;
    padding: 18px;
}

.botiquin-list-modal-grid {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 18px;
}

.botiquin-list-modal-grid .form-group {
    margin-bottom: 0;
}

.botiquin-list-modal-grid .form-group.is-wide,
.botiquin-list-modal-grid .alert {
    grid-column: 1 / -1;
}

.botiquin-list-modal-grid label {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.botiquin-modal-control {
    position: relative;
    width: 100%;
}

.botiquin-modal-control > i {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe4ee;
    border-radius: 6px 0 0 6px;
    color: #64748b;
    display: flex;
    height: 38px;
    justify-content: center;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 42px;
    z-index: 2;
}

.botiquin-modal-control .form-control {
    border-color: #dbe4ee;
    border-radius: 6px;
    box-shadow: none;
    height: 38px;
    padding-left: 54px;
}

.quimico-caja-filter-card,
.quimico-caja-panel,
.quimico-caja-totales-panel {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.quimico-caja-filter-card .panel-body {
    padding: 18px;
}

.quimico-caja-filter-card .activo-filter-form {
    align-items: end;
    column-gap: 16px;
    row-gap: 14px;
    grid-template-columns: minmax(320px, 1.25fr) minmax(220px, .8fr) minmax(250px, .95fr) minmax(244px, .75fr);
}

.quimico-caja-filter-card .activo-filter-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.quimico-caja-filter-card .botica-native-date-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr);
    width: 100%;
}

.quimico-caja-filter-card .activo-filter-field,
.quimico-caja-filter-card .input-group {
    min-width: 0;
    width: 100%;
}

.quimico-caja-filter-card .activo-filter-field > label {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.quimico-caja-filter-card .input-group:not(.botica-native-date-group) {
    align-items: stretch;
    display: flex;
}

.quimico-caja-filter-card .input-group:not(.botica-native-date-group) .input-group-addon {
    align-items: center;
    background: #f8fafc;
    border-color: #dbe4ee;
    color: #64748b;
    display: inline-flex;
    flex: 0 0 42px;
    justify-content: center;
    min-width: 42px;
    padding: 0;
}

.quimico-caja-filter-card .botica-native-date-group .form-control {
    border-color: #dbe4ee;
    box-shadow: none;
    height: 42px;
    min-height: 42px;
}

.quimico-caja-filter-card .botica-native-date-group .input-group-addon {
    align-items: center;
    border-color: #dbe4ee;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    min-width: 40px;
    padding: 0;
}

.quimico-caja-filter-card .select2-container {
    flex: 1 1 auto;
    min-width: 0;
    width: 100% !important;
}

.quimico-caja-filter-card .select2-container--default .select2-selection--single {
    border: 1px solid #dbe4ee;
    border-radius: 6px;
    height: 42px;
}

.quimico-caja-filter-card .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #334155;
    line-height: 40px;
    padding-left: 12px;
    padding-right: 34px;
}

.quimico-caja-filter-card .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px;
    right: 6px;
}

.quimico-caja-filter-card .activo-filter-actions {
    align-self: end;
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
}

.quimico-caja-filter-card .activo-filter-actions .btn {
    height: 42px;
    line-height: 1;
    min-width: 112px;
    padding-left: 14px;
    padding-right: 14px;
    width: 100%;
}

.quimico-caja-panel .panel-heading,
.quimico-caja-totales-panel .panel-heading {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #edf2f7;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
}

.quimico-caja-panel .panel-heading span {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.quimico-caja-panel .panel-heading small {
    color: #64748b;
    font-weight: 800;
}

.quimico-caja-panel .panel-body,
.quimico-caja-panel .table-responsive,
.quimico-caja-panel .dataTables_wrapper,
.quimico-caja-panel .dataTables_scroll,
.quimico-caja-panel .dataTables_scrollHead,
.quimico-caja-panel .dataTables_scrollBody {
    width: 100%;
}

.quimico-caja-table {
    min-width: 1680px;
    width: 100% !important;
}

.quimico-caja-table .table-icon-actions {
    white-space: nowrap;
}

.quimico-caja-table .table-icon-actions .btn {
    align-items: center;
    border-radius: 6px;
    cursor: pointer !important;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.quimico-caja-modal .modal-dialog {
    max-width: 780px;
    width: calc(100% - 24px);
}

.quimico-caja-modal .modal-title {
    align-items: center;
    display: flex;
    gap: 9px;
}

.quimico-caja-modal .modal-title i {
    align-items: center;
    background: rgba(31, 122, 77, .1);
    border-radius: 8px;
    color: var(--botica-primary);
    display: inline-flex;
    font-size: 15px;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.quimico-caja-modal .modal-subtitle {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    margin: 7px 0 0;
}

.quimico-caja-modal .modal-body {
    background: #f8fafc;
    padding: 18px;
}

.quimico-caja-modal-grid {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 18px;
}

.quimico-caja-modal-grid .form-group {
    margin-bottom: 0;
}

.quimico-caja-modal-grid label {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.quimico-caja-control {
    position: relative;
    width: 100%;
}

.quimico-caja-control > i {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe4ee;
    border-radius: 6px 0 0 6px;
    color: #64748b;
    display: flex;
    height: 38px;
    justify-content: center;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 42px;
    z-index: 2;
}

.quimico-caja-control .form-control {
    border-color: #dbe4ee;
    border-radius: 6px;
    box-shadow: none;
    height: 38px;
    padding-left: 54px;
}

.comisionable-list-panel {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.comisionable-list-panel .panel-heading {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #edf2f7;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
}

.comisionable-list-panel .panel-heading span {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.comisionable-list-panel .panel-heading small {
    color: #64748b;
    font-weight: 800;
}

.comisionable-list-panel .panel-body,
.comisionable-list-panel .table-responsive,
.comisionable-list-panel .dataTables_wrapper,
.comisionable-list-panel .dataTables_scroll,
.comisionable-list-panel .dataTables_scrollHead,
.comisionable-list-panel .dataTables_scrollBody {
    width: 100%;
}

.comisionable-list-table {
    min-width: 1080px;
    width: 100% !important;
}

.comisionable-list-table .table-icon-actions {
    white-space: nowrap;
}

.comisionable-list-table .table-icon-actions .btn {
    align-items: center;
    border-radius: 6px;
    cursor: pointer !important;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.comisionable-doctor-panel,
.comisionable-doctor-form-panel {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.comisionable-doctor-panel .panel-heading,
.comisionable-doctor-form-panel .panel-heading {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #edf2f7;
    border-radius: 8px 8px 0 0;
    display: flex;
    justify-content: space-between;
}

.comisionable-doctor-panel .panel-heading span,
.comisionable-doctor-form-panel .panel-heading span {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.comisionable-doctor-panel .panel-heading small,
.comisionable-doctor-form-panel .panel-heading small {
    color: #64748b;
    font-weight: 800;
}

.comisionable-doctor-panel .panel-body,
.comisionable-doctor-panel .table-responsive,
.comisionable-doctor-panel .dataTables_wrapper,
.comisionable-doctor-panel .dataTables_scroll,
.comisionable-doctor-panel .dataTables_scrollHead,
.comisionable-doctor-panel .dataTables_scrollBody {
    width: 100%;
}

.comisionable-doctor-table {
    min-width: 920px;
    width: 100% !important;
}

.comisionable-doctor-table .table-icon-actions {
    white-space: nowrap;
}

.comisionable-doctor-table .table-icon-actions .btn {
    align-items: center;
    border-radius: 6px;
    cursor: pointer !important;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.comisionable-doctor-form-panel .panel-body {
    background: #fff;
    border-radius: 0 0 8px 8px;
    padding: 18px;
}

.comisionable-doctor-form {
    display: grid;
    column-gap: 16px;
    row-gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.comisionable-doctor-form .alert {
    grid-column: 1 / -1;
}

.comisionable-doctor-modal .modal-dialog,
.comisionable-report-modal .modal-dialog {
    max-width: 920px;
    width: calc(100% - 24px);
}

.comisionable-doctor-modal .modal-body,
.comisionable-report-modal .modal-body {
    background: #f8fafc;
    padding: 18px;
}

.comisionable-doctor-modal .modal-title,
.comisionable-report-modal .modal-title {
    align-items: center;
    display: flex;
    gap: 9px;
}

.comisionable-doctor-modal .modal-title i,
.comisionable-report-modal .modal-title i {
    align-items: center;
    background: rgba(31, 122, 77, .1);
    border-radius: 8px;
    color: var(--botica-primary);
    display: inline-flex;
    font-size: 15px;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.comisionable-doctor-modal .modal-subtitle,
.comisionable-report-modal .modal-subtitle {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
    margin: 7px 0 0;
}

.comisionable-modal-section,
.comisionable-report-filter,
.comisionable-report-modal .table-responsive {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}

.comisionable-modal-section {
    padding: 18px;
}

.comisionable-doctor-modal .alert.hidden,
.comisionable-report-modal .alert.hidden,
.comisionable-doctor-form .help-block.hidden {
    display: none !important;
}

.comisionable-doctor-modal .alert,
.comisionable-report-modal .alert {
    border: 0;
    border-left: 4px solid var(--botica-danger);
    border-radius: 8px;
    font-weight: 700;
    grid-column: 1 / -1;
    margin: 0;
    padding: 10px 12px;
}

.comisionable-doctor-form .form-group {
    margin-bottom: 0;
}

.comisionable-doctor-form label {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.comisionable-doctor-form .form-control,
.comisionable-report-filter .form-control {
    border-color: #dbe4ee;
    border-radius: 6px;
    box-shadow: none;
    color: #0f172a;
    min-height: 38px;
    width: 100%;
}

.comisionable-doctor-control {
    position: relative;
    width: 100%;
}

.comisionable-doctor-control > i {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe4ee;
    border-radius: 6px 0 0 6px;
    color: #64748b;
    display: flex;
    font-size: 14px;
    height: 38px;
    justify-content: center;
    left: 0;
    line-height: 1;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 42px;
    z-index: 2;
}

.comisionable-doctor-control .form-control {
    border-radius: 6px;
    height: 38px;
    padding-left: 54px;
}

.comisionable-doctor-form .help-block {
    color: #b91c1c;
    font-size: 12px;
    font-weight: 700;
    margin: 6px 0 0;
}

.comisionable-report-filter {
    align-items: end;
    display: grid;
    column-gap: 14px;
    row-gap: 12px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(128px, auto);
    margin-bottom: 14px;
    padding: 16px;
}

.comisionable-report-filter .form-group {
    margin-bottom: 0;
}

.comisionable-report-filter label {
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.comisionable-report-filter .btn {
    min-height: 38px;
    width: 100%;
}

.comisionable-report-table {
    min-width: 860px;
    width: 100% !important;
}

.comisionable-report-modal .table-responsive {
    margin-bottom: 0;
    padding: 12px;
}

.report-comision-input {
    max-width: 110px;
}

.comisionable-report-table .btn-actualizar-comision {
    align-items: center;
    border-radius: 6px;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.report-row-updated td {
    background: #ecfdf5 !important;
    transition: background .2s ease;
}

@media (max-width: 991px) {
    .comisionable-report-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .comisionable-report-filter .btn {
        grid-column: 1 / -1;
        justify-self: end;
        max-width: 180px;
    }

    .botiquin-product-filter-form {
        grid-template-columns: 1fr;
    }

    .botiquin-list-modal-grid {
        grid-template-columns: 1fr;
    }

    .quimico-caja-modal-grid {
        grid-template-columns: 1fr;
    }

    .quimico-caja-filter-card .activo-filter-form {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 992px) and (max-width: 1399px) {
    .quimico-caja-filter-card .activo-filter-form {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    }

    .quimico-caja-filter-card .activo-filter-actions {
        grid-column: 1 / -1;
        justify-self: end;
        max-width: 260px;
        width: 100%;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .botiquin-product-filter-form {
        grid-template-columns: minmax(360px, 1.4fr) minmax(220px, .7fr);
    }
}

.rentable-list-table {
    min-width: 1080px;
    width: 100% !important;
}

.rentable-list-table .table-icon-actions {
    white-space: nowrap;
}

.rentable-list-table .table-icon-actions .btn {
    align-items: center;
    border-radius: 6px;
    cursor: pointer !important;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

#btnGuardarListaRentable {
    cursor: pointer !important;
}

.trabajador-filter-form {
    align-items: end;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(260px, .9fr) minmax(240px, .75fr) auto;
}

.trabajador-filter-field {
    min-width: 0;
}

.trabajador-filter-field label {
    align-items: center;
    color: #334155;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 7px;
    letter-spacing: .04em;
    margin-bottom: 7px;
    text-transform: uppercase;
}

.trabajador-date-range {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 38px minmax(0, 1fr);
    width: 100%;
}

.trabajador-date-addon {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe4ee;
    color: #64748b;
    display: flex;
    justify-content: center;
    min-width: 0;
}

.trabajador-date-addon:first-child {
    border-radius: 8px 0 0 8px;
}

.trabajador-date-addon:nth-child(3) {
    border-left: 0;
    border-right: 0;
}

.trabajador-date-range .form-control {
    border: 1px solid #dbe4ee;
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
    height: 40px;
    min-width: 0;
    width: 100%;
}

.trabajador-date-range .form-control:last-child {
    border-radius: 0 8px 8px 0;
}

.trabajador-static-local {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    color: #334155;
    display: flex;
    gap: 9px;
    min-height: 40px;
    padding: 8px 12px;
}

.trabajador-static-local i {
    color: var(--botica-primary);
}

.trabajador-filter-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.trabajador-filter-actions .btn {
    border-radius: 6px;
    font-weight: 800;
    min-width: 104px;
}

.trabajador-table {
    min-width: 760px;
    width: 100% !important;
}

.rentable-product-panel .dataTables_scrollHeadInner,
.rentable-product-panel .dataTables_scrollHeadInner table {
    width: 100% !important;
}

.guia-local-card {
    align-items: center;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
    display: flex;
    gap: 14px;
    min-height: 104px;
    overflow: hidden;
    padding: 16px;
    position: relative;
}

.guia-local-card:before {
    content: "";
    bottom: 0;
    left: 0;
    position: absolute;
    top: 0;
    width: 4px;
}

.guia-local-card-icon {
    align-items: center;
    border-radius: 8px;
    display: inline-flex;
    flex: 0 0 46px;
    font-size: 20px;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.guia-local-card span,
.guia-local-card small {
    color: #64748b;
    display: block;
}

.guia-local-card span {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.guia-local-card strong {
    color: #0f172a;
    display: block;
    font-size: 25px;
    line-height: 1.1;
    margin: 5px 0;
}

.guia-local-card small {
    font-size: 12px;
    line-height: 1.3;
}

.guia-local-card-total:before {
    background: #2563eb;
}

.guia-local-card-total .guia-local-card-icon {
    background: #eff6ff;
    color: #2563eb;
}

.guia-local-card-sent:before {
    background: #0f766e;
}

.guia-local-card-sent .guia-local-card-icon {
    background: #ccfbf1;
    color: #0f766e;
}

.guia-local-card-waiting:before {
    background: #b7791f;
}

.guia-local-card-waiting .guia-local-card-icon {
    background: #fff7e6;
    color: #b7791f;
}

.guia-local-card-accepted:before {
    background: #15803d;
}

.guia-local-card-accepted .guia-local-card-icon {
    background: #dcfce7;
    color: #15803d;
}

.guia-detalle-kpis {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 14px;
}

.guia-detalle-status-text {
    font-size: 19px !important;
}

.guia-detalle-summary .panel-heading,
.guia-detalle-items-panel .panel-heading {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.guia-detalle-summary .panel-heading .label {
    border-radius: 999px;
    font-size: 12px;
    padding: 6px 10px;
}

.guia-detalle-info-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.guia-detalle-info-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    min-width: 0;
    padding: 13px 14px;
}

.guia-detalle-info-item span,
.guia-detalle-info-item strong {
    display: block;
}

.guia-detalle-info-item span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.guia-detalle-info-item span i {
    color: var(--botica-primary);
    margin-right: 5px;
}

.guia-detalle-info-item strong {
    color: #0f172a;
    font-size: 15px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.guia-detalle-items-panel .panel-body {
    padding: 0;
}

.guia-detalle-items-panel .alert {
    margin: 16px;
}

.guia-detalle-items-panel .table-responsive {
    border: 0;
    margin-bottom: 0;
}

.guia-detalle-table {
    margin-bottom: 0 !important;
}

.guia-detalle-table > thead > tr > th {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    color: #475569;
    font-size: 12px;
    text-transform: uppercase;
    vertical-align: middle;
}

.guia-detalle-table > tbody > tr > td {
    border-top: 1px solid #edf2f7;
    color: #334155;
    vertical-align: middle;
}

.guia-detalle-product {
    align-items: center;
    display: flex;
    gap: 10px;
    min-width: 220px;
}

.guia-detalle-product span {
    align-items: center;
    background: #e8f5ef;
    border-radius: 8px;
    color: var(--botica-primary-dark);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 800;
    min-width: 34px;
    justify-content: center;
    padding: 5px 8px;
}

.guia-detalle-product strong {
    color: #0f172a;
    font-weight: 800;
    line-height: 1.25;
}

.guia-detalle-qty {
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    box-shadow: none;
    min-height: 36px;
    max-width: 120px;
    min-width: 92px;
    text-align: right;
}

.guia-detalle-qty:focus {
    border-color: rgba(31, 122, 77, .55);
    box-shadow: 0 0 0 3px rgba(31, 122, 77, .12);
}

.categoria-kpis,
.laboratorio-kpis,
.zona-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.activo-form-panel {
    max-width: 860px;
}

.activo-form-panel .panel-body {
    padding: 22px;
}

.activo-entry-form {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.activo-entry-form .activo-form-intro,
.activo-entry-form .modal-form-actions,
.activo-entry-form .alert {
    grid-column: 1 / -1;
}

.activo-form-intro {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 14px 16px;
}

.activo-form-intro h4 {
    color: #0f172a;
    font-size: 17px;
    font-weight: 800;
    margin: 3px 0 4px;
}

.activo-form-intro p {
    color: var(--botica-muted);
    line-height: 1.45;
    margin: 0;
}

.activo-required-note {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    color: #c2410c;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 800;
    padding: 6px 10px;
}

.form-help {
    display: block;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 6px;
}

.proveedor-form-panel {
    max-width: 860px;
}

.proveedor-form-panel .panel-body {
    padding: 22px;
}

.proveedor-modal-form .form-group:nth-of-type(4) {
    grid-column: 1 / -1;
}

.inventario-filter-form {
    align-items: end;
}

.inventario-page .dashboard-actions {
    flex-wrap: wrap;
}

.kardex-summary-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 18px;
}

.kardex-summary-card {
    background: #fff;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .07);
    min-height: 184px;
    overflow: hidden;
    padding: 18px;
    position: relative;
}

.kardex-summary-card:before {
    background: #0ea5c9;
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.kardex-summary-card-total {
    background: linear-gradient(180deg, #ecfeff 0%, #fff 72%);
    border-color: rgba(14, 165, 201, .24);
}

.kardex-summary-top,
.kardex-summary-footer {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.kardex-summary-icon {
    align-items: center;
    background: #e0f2fe;
    border-radius: 8px;
    color: #0369a1;
    display: inline-flex;
    font-size: 20px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.kardex-summary-icon-blue {
    background: #e0f2fe;
    color: #2563eb;
}

.kardex-summary-icon-amber {
    background: #fff7e6;
    color: #b7791f;
}

.kardex-summary-icon-red {
    background: #feecec;
    color: #b91c1c;
}

.kardex-summary-badge {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    padding: 5px 9px;
}

.kardex-summary-label {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    margin-top: 16px;
    text-transform: uppercase;
}

.kardex-summary-card strong {
    color: #0f172a;
    display: block;
    font-size: 29px;
    line-height: 1.12;
    margin: 7px 0;
}

.kardex-summary-card p {
    color: #475569;
    font-size: 13px;
    line-height: 1.45;
    margin: 0;
}

.kardex-summary-footer {
    border-top: 1px solid #edf2f7;
    color: #64748b;
    font-size: 12px;
    gap: 8px;
    justify-content: flex-start;
    margin-top: 14px;
    padding-top: 12px;
}

.kardex-progress {
    background: #e2e8f0;
    border-radius: 999px;
    height: 8px;
    margin-top: 16px;
    overflow: hidden;
}

.kardex-progress span {
    background: linear-gradient(90deg, #2563eb, #38bdf8);
    display: block;
    height: 100%;
}

.kardex-progress-amber span {
    background: linear-gradient(90deg, #b7791f, #f59e0b);
}

.kardex-date-range,
.kardex-select-group {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 38px minmax(0, 1fr);
    width: 100%;
}

.kardex-date-range.botica-native-date-group {
    grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr);
}

.kardex-select-group {
    grid-template-columns: 42px minmax(0, 1fr);
}

.kardex-date-range .input-group-addon,
.kardex-select-group .input-group-addon {
    align-items: center;
    display: flex;
    justify-content: center;
    width: auto;
}

.kardex-date-range .form-control,
.kardex-select-group .form-control {
    width: 100%;
}

.kardex-select-group .select2-container {
    width: 100% !important;
}

.kardex-select-group .select2-container--default .select2-selection--single {
    border: 1px solid #dbe4ee;
    border-radius: 0 4px 4px 0;
    height: 34px;
}

.kardex-select-group .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #334155;
    line-height: 32px;
}

.kardex-select-group .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 32px;
}

.kardex-datepicker {
    background: #fff;
}

.inventario-context-strip {
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 14px;
    padding: 14px;
}

.inventario-context-strip div {
    border-left: 3px solid #0ea5c9;
    padding-left: 12px;
}

.inventario-context-strip span,
.inventario-context-strip strong {
    display: block;
}

.inventario-context-strip span {
    color: var(--botica-muted);
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.inventario-context-strip strong {
    color: #0f172a;
    font-size: 14px;
    line-height: 1.35;
}

.inventario-filter-card .inventario-filter-form {
    align-items: start;
    border-top: 1px solid #e2e8f0;
    grid-template-columns: minmax(260px, 1.15fr) minmax(220px, .85fr);
    padding-top: 14px;
}

.inventario-filter-heading {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 0;
}

.inventario-filter-heading span,
.inventario-filter-heading strong,
.inventario-filter-heading small {
    display: block;
}

.inventario-filter-heading span {
    color: var(--botica-primary-dark);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    margin-bottom: 3px;
    text-transform: uppercase;
}

.inventario-filter-heading strong {
    color: #0f172a;
    font-size: 16px;
    font-weight: 900;
}

.inventario-filter-heading small {
    background: #f8fafc;
    border: 1px solid var(--botica-border);
    border-radius: 999px;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    max-width: 360px;
    overflow: hidden;
    padding: 8px 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inventario-filter-field label {
    align-items: center;
    display: inline-flex;
    gap: 7px;
    margin-bottom: 7px;
}

.inventario-filter-field label i {
    color: var(--botica-primary-dark);
}

.inventario-select-field {
    align-items: stretch;
    background: #fff;
    border: 1px solid #dbe4ee;
    border-radius: 6px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
    display: flex;
    min-height: 42px;
    overflow: visible;
    width: 100%;
}

.inventario-select-icon {
    align-items: center;
    background: #f8fafc;
    border-right: 1px solid #dbe4ee;
    color: var(--botica-primary-dark);
    display: inline-flex;
    flex: 0 0 42px;
    justify-content: center;
    width: 42px;
}

.inventario-select-field .select2-container {
    flex: 1 1 auto;
    min-width: 0;
    width: 100% !important;
}

.inventario-select-field .select2-container--default .select2-selection--single {
    border: 0;
    border-radius: 0;
    height: 40px;
}

.inventario-select-field .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #334155;
    line-height: 40px;
    padding-left: 12px;
    padding-right: 28px;
}

.inventario-select-field .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px;
}

.inventario-select-field:focus-within {
    border-color: var(--botica-primary);
}

.inventario-clear-addon {
    align-items: center;
    appearance: none;
    background: #f8fafc;
    border: 0;
    border-left: 1px solid #dbe4ee;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 40px;
    justify-content: center;
    padding: 0;
    width: 40px;
}

.inventario-clear-addon:hover,
.inventario-clear-addon:focus {
    background: #fff1f2;
    color: #be123c;
}

.inventario-filter-summary {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    grid-column: 1 / -1;
}

.inventario-filter-summary span {
    align-items: center;
    background: #eef6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    color: #1e40af;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    line-height: 1.2;
    min-height: 30px;
    max-width: 100%;
    overflow: hidden;
    padding: 7px 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inventario-filter-summary strong {
    color: inherit;
    display: inline;
    font-size: inherit;
    font-weight: inherit;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.inventario-filter-card .activo-filter-actions {
    align-items: center;
    border-top: 1px solid #edf2f7;
    display: flex;
    gap: 10px;
    grid-column: 1 / -1;
    justify-content: space-between;
    padding-top: 12px;
}

.inventario-filter-primary-actions,
.inventario-filter-secondary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.inventario-filter-card .activo-filter-actions .btn {
    align-items: center;
    display: inline-flex;
    gap: 7px;
    justify-content: center;
    min-height: 38px;
}

.kardex-activo-filter-card .kardex-activo-filter-form {
    grid-template-columns: minmax(240px, 1fr) minmax(280px, 1.25fr) minmax(180px, .75fr) auto;
}

.producto-compra-filter-form {
    align-items: start;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.producto-compra-filter-card .activo-filter-actions {
    align-self: end;
    grid-column: 1 / -1;
    justify-content: flex-end;
    padding-top: 2px;
}

.producto-compra-filter-card .activo-filter-range {
    display: grid;
    grid-template-rows: auto 38px;
    min-width: 0;
    width: 100%;
}

.producto-compra-filter-card .activo-filter-range label {
    align-self: end;
    line-height: 1.2;
    margin-bottom: 6px;
}

.producto-compra-filter-card .producto-compra-control {
    display: flex !important;
    max-width: 100%;
    min-height: 38px;
    width: 100%;
}

.producto-compra-filter-card .producto-compra-control .form-control,
.producto-compra-filter-card .producto-compra-control .input-group-addon {
    box-sizing: border-box;
    height: 38px;
    max-width: 100%;
}

.producto-compra-filter-card .producto-compra-control .form-control {
    flex: 1 1 0;
    display: block;
    float: none;
    min-width: 0;
    position: static;
    width: 1% !important;
}

.producto-compra-filter-card .producto-compra-control .input-group-addon {
    align-items: center;
    display: flex;
    flex: 0 0 42px;
    justify-content: center;
    width: 42px;
}

.cliente-reporte-filter-form {
    align-items: start;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.cliente-reporte-filter-card .activo-filter-actions {
    align-self: end;
    grid-column: 1 / -1;
    justify-content: flex-end;
    padding-top: 2px;
}

.cliente-reporte-filter-card .activo-filter-range {
    display: grid;
    grid-template-rows: auto 38px;
    min-width: 0;
    width: 100%;
}

.cliente-reporte-filter-card .activo-filter-range label {
    align-self: end;
    line-height: 1.2;
    margin-bottom: 6px;
}

.cliente-reporte-filter-card .cliente-reporte-control {
    display: flex !important;
    max-width: 100%;
    min-height: 38px;
    width: 100%;
}

.cliente-reporte-filter-card .cliente-reporte-control .form-control,
.cliente-reporte-filter-card .cliente-reporte-control .input-group-addon {
    box-sizing: border-box;
    height: 38px;
    max-width: 100%;
}

.cliente-reporte-filter-card .cliente-reporte-control .form-control {
    display: block;
    flex: 1 1 0;
    float: none;
    min-width: 0;
    position: static;
    width: 1% !important;
}

.cliente-reporte-filter-card .cliente-reporte-control .input-group-addon {
    align-items: center;
    display: flex;
    flex: 0 0 42px;
    justify-content: center;
    width: 42px;
}

.cliente-reporte-filter-card .activo-filter-actions .btn {
    min-height: 38px;
}

.guia-enviada-filter-form,
.guia-recibida-filter-form {
    align-items: start;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.guia-enviada-filter-form .activo-filter-actions,
.guia-recibida-filter-form .activo-filter-actions {
    align-self: end;
    grid-column: 1 / -1;
    justify-content: flex-end;
    padding-top: 2px;
}

.guia-enviada-filter-form .activo-filter-range,
.guia-recibida-filter-form .activo-filter-range {
    display: grid;
    grid-template-rows: auto 38px;
    min-width: 0;
    width: 100%;
}

.guia-enviada-filter-form .activo-filter-range label,
.guia-recibida-filter-form .activo-filter-range label {
    align-self: end;
    line-height: 1.2;
    margin-bottom: 6px;
}

.guia-enviada-filter-form .guia-enviada-control,
.guia-recibida-filter-form .guia-recibida-control {
    display: flex !important;
    max-width: 100%;
    min-height: 38px;
    width: 100%;
}

.guia-enviada-filter-form .guia-enviada-control .form-control,
.guia-enviada-filter-form .guia-enviada-control .input-group-addon,
.guia-recibida-filter-form .guia-recibida-control .form-control,
.guia-recibida-filter-form .guia-recibida-control .input-group-addon {
    box-sizing: border-box;
    height: 38px;
    max-width: 100%;
}

.guia-enviada-filter-form .guia-enviada-control .form-control,
.guia-recibida-filter-form .guia-recibida-control .form-control {
    display: block;
    flex: 1 1 0;
    float: none;
    min-width: 0;
    position: static;
    width: 1% !important;
}

.guia-enviada-filter-form .guia-enviada-control .input-group-addon,
.guia-recibida-filter-form .guia-recibida-control .input-group-addon {
    align-items: center;
    display: flex;
    flex: 0 0 42px;
    justify-content: center;
    width: 42px;
}

.guia-enviada-filter-form .activo-filter-actions .btn,
.guia-recibida-filter-form .activo-filter-actions .btn {
    min-height: 38px;
}

.guia-local-recibidas-filter-panel .guia-recibida-filter-form {
    align-items: end;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
}

.guia-local-recibidas-filter-panel .guia-recibida-filter-form .activo-filter-actions {
    align-self: end;
    grid-column: auto;
    justify-content: flex-end;
    padding-top: 0;
    white-space: nowrap;
}

.guia-local-recibidas-filter-panel .guia-recibida-filter-form .activo-filter-actions .btn {
    min-width: 112px;
}

.guia-local-create-modal .modal-dialog {
    max-width: 1120px;
}

.guia-local-create-modal.is-detail-mode .modal-dialog {
    max-width: 1280px;
    width: calc(100% - 28px);
}

.guia-local-create-modal .modal-body {
    background: #f8fafc;
    max-height: calc(100vh - 190px);
    overflow-y: auto;
    padding: 18px;
}

.guia-local-create-modal.is-detail-mode .modal-body {
    padding: 16px;
}

.guia-local-create-modal .modal-footer {
    background: #fff;
    border-top: 1px solid #e2e8f0;
}

.guia-local-form-panel {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .08);
    overflow: hidden;
}

.guia-local-form-panel.is-remote {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 0;
}

.guia-local-form-panel.is-remote .guia-local-form-heading {
    display: none;
}

.guia-local-form-heading {
    align-items: center;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    gap: 12px;
    padding: 18px 20px;
}

.guia-local-form-heading-icon {
    align-items: center;
    background: #ecfeff;
    border: 1px solid #bae6fd;
    border-radius: 8px;
    color: #0369a1;
    display: inline-flex;
    flex: 0 0 44px;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.guia-local-form-heading-copy small,
.guia-local-form-heading small {
    color: #0ea5c9;
    display: block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.guia-local-form-heading-copy strong,
.guia-local-form-heading strong {
    color: #0f172a;
    display: block;
    font-size: 20px;
    line-height: 1.2;
}

.guia-local-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.guia-local-form-field-wide,
.guia-local-form .alert {
    grid-column: 1 / -1;
}

.guia-local-form-field-csv .guia-local-csv-upload {
    margin-top: 10px;
}

.guia-local-detalle-form-card.is-remote .row:first-child {
    display: none;
}

.guia-local-detalle-form-card.is-remote .panel {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .07);
    overflow: hidden;
}

.guia-local-detalle-form-card.is-remote .panel + .panel {
    margin-top: 14px;
}

.guia-local-detalle-summary-panel {
    background: #fff;
}

.guia-local-detalle-summary-panel .panel-heading {
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
    border-bottom: 1px solid #e2e8f0;
    color: #0f172a;
    font-size: 16px;
    font-weight: 800;
    min-height: 54px;
    padding: 14px 18px;
}

.guia-local-detalle-summary-panel .panel-heading strong {
    color: #0369a1;
}

.guia-local-detalle-summary-panel .panel-body {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 14px;
}

.guia-local-detalle-summary-panel .panel-body > .col-md-6 {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    float: none;
    margin: 0;
    min-height: 72px;
    padding: 12px 14px;
    width: auto;
}

.guia-local-detalle-summary-panel label {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.guia-local-detalle-summary-panel span {
    color: #0f172a;
    font-weight: 800;
}

.guia-local-product-panel {
    background: #fff;
    margin-bottom: 0;
}

.guia-local-detalle-form-card.is-remote .panel-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.guia-local-product-panel .panel-heading {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
    color: #0f172a;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    min-height: 54px;
    padding: 14px 16px;
}

.guia-local-product-panel .panel-heading > span:first-child {
    font-size: 15px;
    font-weight: 800;
}

.guia-local-product-panel .badge {
    background: #e0f2fe;
    color: #075985;
    font-weight: 800;
    margin-left: 6px;
}

.guia-local-product-panel .badge.bg-success {
    background: #e0f2fe;
    color: #075985;
}

.guia-local-product-panel .badge.bg-danger {
    background: #fee2e2;
    color: #991b1b;
}

.guia-local-product-table-wrap,
.guia-local-product-panel .dataTables_wrapper {
    padding: 12px 14px 14px;
}

.guia-local-product-panel .botica-dt-toolbar {
    align-items: center;
    border: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    padding: 0 0 12px;
}

.guia-local-product-panel .dataTables_scrollBody {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.guia-local-product-table {
    margin-bottom: 0 !important;
    min-width: 1080px;
}

.guia-local-product-table th {
    background: #f8fafc;
    color: #475569;
    font-size: 11px;
    text-transform: uppercase;
    white-space: nowrap;
}

.guia-local-product-table td {
    color: #334155;
    font-size: 12px;
    vertical-align: middle !important;
}

.guia-local-product-table .badge {
    border-radius: 999px;
    display: inline-block;
    min-width: 62px;
    padding: 6px 8px;
    text-align: center;
}

.guia-local-detalle-form-card #tblProducto input,
.guia-local-detalle-form-card.is-remote #tblProducto input {
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    height: 34px;
    max-width: 96px;
    padding: 6px 8px;
    text-align: right;
    width: 100%;
}

.guia-local-detalle-form-card #tblProducto input:focus,
.guia-local-detalle-form-card.is-remote #tblProducto input:focus {
    border-color: #0ea5c9;
    box-shadow: 0 0 0 3px rgba(14, 165, 201, .16);
    outline: 0;
}

.guia-local-detalle-form-card #tblProducto .guia-local-date-input {
    max-width: 142px;
    text-align: left;
}

.guia-local-detalle-form-card #tblProducto .guia-local-lote-input {
    max-width: 150px;
    text-align: left;
}

.guia-local-submit-inline {
    margin-left: auto;
}

@media (max-width: 991px) {
    .guia-local-detalle-summary-panel .panel-body {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .guia-local-create-modal.is-detail-mode .modal-dialog {
        margin: 8px;
        width: auto;
    }

    .guia-local-create-modal .modal-body {
        max-height: calc(100vh - 160px);
        padding: 12px;
    }

    .guia-local-detalle-summary-panel .panel-body {
        grid-template-columns: 1fr;
        padding: 10px;
    }

    .guia-local-product-panel .panel-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .guia-local-product-panel .botica-dt-toolbar,
    .guia-local-product-panel .botica-dt-toolbar .dataTables_length,
    .guia-local-product-panel .botica-dt-toolbar .dataTables_filter {
        align-items: stretch;
        width: 100%;
    }

    .guia-local-product-panel .botica-dt-toolbar label,
    .guia-local-product-panel .botica-dt-toolbar input,
    .guia-local-product-panel .botica-dt-toolbar select {
        width: 100%;
    }
}

.factura-activo-filter-panel .activo-filter-range:first-child > label:first-child {
    display: none;
}

.factura-compra-new-btn {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(14, 165, 201, .34);
    box-shadow: 0 10px 22px rgba(14, 165, 201, .14);
    color: #0369a1;
    display: inline-flex;
    gap: 8px;
    justify-content: center;
    min-height: 38px;
}

.factura-compra-new-btn:hover,
.factura-compra-new-btn:focus {
    background: #ecfeff;
    border-color: rgba(14, 165, 201, .58);
    color: #075985;
}

.factura-compra-filter-panel .guia-enviada-filter-form {
    align-items: end;
    grid-template-columns: minmax(170px, 1fr) minmax(170px, 1fr) auto !important;
}

.factura-compra-filter-panel .guia-enviada-filter-form .activo-filter-actions {
    align-self: end;
    grid-column: auto;
    justify-content: flex-end;
    padding-top: 0;
    white-space: nowrap;
}

.factura-compra-filter-panel .activo-filter-actions .btn {
    min-width: 104px;
}

.factura-compra-form-shell {
    max-width: 860px;
}

.factura-compra-form-panel {
    border-color: #dbeafe;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .08);
    overflow: hidden;
}

.factura-compra-form-heading {
    align-items: center;
    background: linear-gradient(135deg, #f8fafc, #ecfeff);
    display: flex;
    gap: 12px;
    justify-content: flex-start;
}

.factura-compra-form-heading > span:last-child {
    display: grid;
    gap: 2px;
}

.factura-compra-form-heading small {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.factura-compra-form-heading strong {
    color: #0f172a;
    font-size: 18px;
    line-height: 1.2;
}

.factura-compra-form-icon {
    align-items: center;
    background: #0ea5c9;
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(14, 165, 201, .2);
    color: #fff;
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.factura-compra-form {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.factura-compra-edit-context {
    background: #f8fafc;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 14px;
    padding: 12px;
}

.factura-compra-edit-context > div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.factura-compra-edit-context span {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.factura-compra-edit-context strong {
    color: #0f172a;
    font-size: 13px;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.factura-compra-form .factura-field,
.factura-compra-form .form-group {
    margin-bottom: 0;
    min-width: 0;
}

.factura-compra-form .factura-field-wide,
.factura-compra-form .alert,
.factura-form-actions {
    grid-column: 1 / -1;
}

.factura-compra-form label {
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.factura-compra-form .input-group {
    display: flex;
    width: 100%;
}

.factura-compra-form .input-group-addon {
    flex: 0 0 42px;
    height: 38px;
    width: 42px;
}

.factura-compra-form .form-control,
.factura-compra-form select {
    box-shadow: none;
    height: 38px;
}

.factura-compra-form .input-group .select2-container {
    flex: 1 1 0;
    min-width: 0;
    width: 100% !important;
}

.factura-compra-form .select2-container--default .select2-selection--single {
    border-color: var(--botica-border);
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    height: 38px;
}

.factura-compra-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px;
}

.factura-compra-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.factura-choice-group {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.factura-choice {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbeafe;
    border-radius: 6px;
    color: #334155;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    justify-content: flex-start;
    margin: 0 !important;
    min-height: 38px;
    padding: 8px 10px;
    text-transform: none !important;
}

.factura-choice:has(input:checked) {
    background: #ecfeff;
    border-color: #0ea5c9;
    color: #075985;
}

.factura-form-actions {
    align-items: center;
    border-top: 1px solid #e2e8f0;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 4px;
    padding-top: 14px;
}

.factura-form-actions:empty {
    display: none;
}

.movement-remote-content .factura-compra-form-shell {
    max-width: none;
    width: 100%;
}

.movement-remote-content .factura-compra-form-panel {
    border: 0;
    box-shadow: none;
    margin-bottom: 0;
}

.factura-detalle-modern ~ .panel {
    display: none;
}

.factura-detalle-summary-panel,
.factura-detalle-items-panel {
    border-color: #dbeafe;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
}

.factura-detalle-heading {
    align-items: center;
    background: linear-gradient(135deg, #f8fafc, #ecfeff);
    gap: 10px;
    justify-content: flex-start;
}

.factura-detalle-heading .label {
    margin-left: auto;
}

.factura-detalle-heading .btn {
    min-height: 34px;
}

.factura-detalle-page-cancel {
    margin-left: 0;
}

.factura-detalle-heading-icon {
    align-items: center;
    background: #0ea5c9;
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(14, 165, 201, .2);
    color: #fff;
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.factura-detalle-heading-copy {
    display: grid;
    gap: 2px;
}

.factura-detalle-heading-copy small {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.factura-detalle-heading-copy strong {
    color: #0f172a;
    font-size: 18px;
    line-height: 1.2;
}

.factura-detalle-info-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.factura-detalle-info-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 10px 12px;
}

.factura-detalle-info-item span {
    align-items: center;
    color: #64748b;
    display: flex;
    font-size: 11px;
    font-weight: 800;
    gap: 6px;
    line-height: 1.2;
    text-transform: uppercase;
}

.factura-detalle-info-item strong {
    color: #0f172a;
    font-size: 14px;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.factura-detalle-total-grid {
    border-top: 1px solid #e2e8f0;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
    padding-top: 14px;
}

.factura-detalle-total-grid > div {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    display: grid;
    gap: 4px;
    padding: 12px;
}

.factura-detalle-total-grid span {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.factura-detalle-total-grid strong {
    color: #0f172a;
    font-size: 17px;
}

.factura-detalle-total-grid .is-total {
    background: #0f172a;
    border-color: #0f172a;
}

.factura-detalle-total-grid .is-total span,
.factura-detalle-total-grid .is-total strong {
    color: #fff;
}

.factura-detalle-items-panel .panel-heading {
    align-items: center;
    gap: 8px;
    justify-content: flex-start;
}

.factura-detalle-items-panel .panel-heading .btn {
    margin-left: auto;
}

.factura-detalle-items-panel .panel-body {
    padding-top: 0;
}

.factura-detalle-table > thead > tr > th {
    background: #f8fafc;
    color: #475569;
    font-size: 11px;
    text-transform: uppercase;
}

.factura-detalle-table > tbody > tr > td {
    color: #334155;
    vertical-align: middle;
}

.factura-detalle-product {
    display: grid;
    gap: 3px;
    min-width: 220px;
}

.factura-detalle-product strong {
    color: #0f172a;
    font-size: 13px;
    line-height: 1.25;
}

.factura-detalle-product span {
    color: #64748b;
    font-size: 12px;
    line-height: 1.25;
}

.factura-detalle-sale-price {
    color: #0369a1 !important;
    font-weight: 800;
}

.movement-remote-content .factura-detalle-summary-panel,
.movement-remote-content .factura-detalle-items-panel {
    border-left: 0;
    border-right: 0;
    box-shadow: none;
}

.factura-detalle-item-modal .modal-dialog {
    max-width: 820px;
    width: calc(100% - 32px);
}

.factura-detalle-item-modal .modal-content,
.factura-detalle-confirm-modal .modal-content {
    overflow: hidden;
}

.factura-detalle-item-modal .modal-header,
.factura-detalle-confirm-modal .modal-header {
    align-items: center;
    background: linear-gradient(135deg, #f8fafc, #ecfeff) !important;
    border-bottom: 1px solid #dbeafe !important;
    color: #0f172a !important;
}

.factura-detalle-item-modal .modal-title,
.factura-detalle-confirm-modal .modal-title {
    font-size: 18px;
    font-weight: 800;
}

.factura-detalle-item-form-body {
    background: #fff;
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.factura-detalle-item-form-body .form-group,
.factura-detalle-field {
    margin-bottom: 0;
    min-width: 0;
}

.factura-detalle-field-wide {
    grid-column: 1 / -1;
}

.factura-detalle-item-form-body label {
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.factura-detalle-item-form-body .input-group {
    display: flex;
    width: 100%;
}

.factura-detalle-item-form-body .input-group .select2-container {
    flex: 1 1 0;
    min-width: 0;
    width: 100% !important;
}

.factura-detalle-item-form-body .select2-container--default .select2-selection--single {
    border-color: #d1d5db;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    box-shadow: none;
    height: 38px;
}

.factura-detalle-item-form-body .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #1f2937;
    line-height: 36px;
    padding-left: 12px;
}

.factura-detalle-item-form-body .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.factura-detalle-item-form-body .select2-container--default.select2-container--focus .select2-selection--single,
.factura-detalle-item-form-body .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #0ea5c9;
}

.factura-detalle-item-form-body .input-group-addon {
    flex: 0 0 42px;
    height: 38px;
    width: 42px;
}

.factura-detalle-item-form-body .form-control {
    box-shadow: none;
    height: 38px;
}

.factura-detalle-choice-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.factura-detalle-item-form-body .checkbox-inline {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbeafe;
    border-radius: 6px;
    color: #334155;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    justify-content: flex-start;
    margin: 0 !important;
    min-height: 36px;
    padding: 8px 10px;
}

.factura-detalle-item-form-body .checkbox-inline:has(input:checked) {
    background: #ecfeff;
    border-color: #0ea5c9;
    color: #075985;
}

.factura-detalle-item-form-body .input-control {
    width: 100%;
}

.factura-detalle-item-form-body .help-block {
    margin-bottom: 0;
    margin-top: 6px;
}

.factura-detalle-item-modal .modal-footer,
.factura-detalle-confirm-modal .modal-footer {
    background: #fff;
}

@media (max-width: 991px) {
    .factura-compra-filter-panel .guia-enviada-filter-form {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    .factura-compra-filter-panel .guia-enviada-filter-form .activo-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
        white-space: normal;
    }
}

@media (max-width: 640px) {
    .factura-compra-filter-panel .guia-enviada-filter-form {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .factura-compra-filter-panel .guia-enviada-filter-form .activo-filter-actions,
    .factura-compra-filter-panel .activo-filter-actions .btn {
        width: 100%;
    }

    .factura-compra-form,
    .factura-compra-edit-context,
    .factura-choice-group {
        grid-template-columns: minmax(0, 1fr);
    }

    .factura-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .factura-form-actions .btn,
    .factura-form-actions a {
        width: 100%;
    }

    .factura-detalle-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .factura-detalle-heading .label,
    .factura-detalle-items-panel .panel-heading .btn {
        margin-left: 0;
    }

    .factura-detalle-info-grid,
    .factura-detalle-total-grid,
    .factura-detalle-item-form-body,
    .factura-detalle-choice-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .factura-detalle-field-wide {
        grid-column: auto;
    }
}

.producto-compra-filter-card .producto-compra-select-control .select2-container {
    flex: 1 1 0;
    min-width: 0;
    width: 100% !important;
}

.producto-compra-filter-card .producto-compra-select-control .select2-container--default .select2-selection--single {
    height: 38px;
}

.producto-compra-filter-card .producto-compra-select-control .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px;
}

.producto-compra-filter-card .producto-compra-select-control .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.producto-compra-filter-card .activo-filter-actions .btn {
    min-height: 38px;
}

.producto-compra-filter-feedback,
.cliente-reporte-filter-feedback,
.guia-enviada-filter-feedback {
    align-items: center;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 6px;
    color: #9a3412;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 8px;
    grid-column: 1 / -1;
    line-height: 1.35;
    margin-top: -2px;
    min-height: 36px;
    padding: 8px 10px;
}

.producto-compra-filter-feedback i,
.cliente-reporte-filter-feedback i,
.guia-enviada-filter-feedback i {
    flex: 0 0 auto;
}

.producto-compra-chart-box {
    border-top: 1px solid #edf2f7;
    margin-top: 18px;
    padding-top: 16px;
}

.producto-compra-chart-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
}

.producto-compra-chart-heading strong {
    color: #0f172a;
    display: block;
    font-size: 15px;
}

.producto-compra-chart-heading span {
    color: var(--botica-muted);
    display: block;
    font-size: 12px;
    margin-top: 2px;
}

.producto-compra-chart-canvas {
    max-width: 100%;
    position: relative;
}

.producto-compra-chart-canvas canvas {
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%;
}

.inventario-table-heading small {
    color: var(--botica-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.inventory-product-cell {
    align-items: center;
    color: #0f172a;
    display: flex;
    gap: 10px;
    min-width: 240px;
}

.inventory-product-cell:hover,
.inventory-product-cell:focus {
    color: var(--botica-primary-dark);
}

.inventory-product-cell strong,
.inventory-product-cell small {
    display: block;
}

.inventory-product-cell small {
    color: var(--botica-muted);
    font-size: 11px;
    margin-top: 2px;
}

.inventory-product-icon {
    align-items: center;
    background: #e8f7fb;
    border-radius: 8px;
    color: var(--botica-primary-dark);
    display: inline-flex;
    flex: 0 0 auto;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.inventory-date-pill,
.inventory-stock-pill {
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    justify-content: center;
    min-width: 86px;
    padding: 5px 9px;
    white-space: nowrap;
}

.inventory-date-pill {
    background: #eef6f1;
    border: 1px solid rgba(31, 122, 77, .18);
    color: var(--botica-primary-dark);
}

.inventory-date-pill.is-warning {
    background: #fff7e6;
    border-color: #fed7aa;
    color: #b45309;
}

.inventory-date-pill.is-danger,
.inventory-stock-pill.is-empty {
    background: #fff1f2;
    border: 1px solid #fecdd3;
    color: #be123c;
}

.inventory-stock-pill {
    background: #f8fafc;
    border: 1px solid #dbe4ee;
    color: #334155;
}

.inventory-lab-pill,
.inventory-status-badge {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 6px;
    line-height: 1;
    min-height: 28px;
    padding: 6px 10px;
    white-space: nowrap;
}

.inventory-lab-pill {
    background: #eef6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
}

.inventory-status-badge.is-ok {
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    color: #047857;
}

.inventory-status-badge.is-warning {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #b45309;
}

.inventory-status-badge.is-danger {
    background: #fff1f2;
    border: 1px solid #fecdd3;
    color: #be123c;
}

.inventory-status-badge.is-empty {
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    color: #475569;
}

.inventory-row-danger > td {
    background: #fff7f7;
}

.inventory-row-muted > td {
    background: #fbfdff;
}

.inventory-text-muted {
    color: #475569;
    max-width: 260px;
}

.inventario-propuesta-hero {
    margin-bottom: 14px;
}

.inventario-propuesta-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.inventario-propuesta-actions .btn {
    align-items: center;
    display: inline-flex;
    gap: 7px;
    justify-content: center;
    min-height: 38px;
}

.inventario-propuesta-summary {
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    display: grid;
    gap: 0;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    margin-bottom: 14px;
    overflow: hidden;
}

.inventario-propuesta-summary > div {
    border-right: 1px solid #edf2f7;
    padding: 12px 14px;
}

.inventario-propuesta-summary > div:last-child {
    border-right: 0;
}

.inventario-propuesta-summary span,
.inventario-propuesta-summary strong {
    display: block;
}

.inventario-propuesta-summary span {
    color: var(--botica-muted);
    font-size: 11px;
    font-weight: 900;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.inventario-propuesta-summary strong {
    color: #0f172a;
    font-size: 14px;
    line-height: 1.3;
}

.inventario-propuesta-filter {
    margin-bottom: 14px;
}

.inventario-propuesta-filter-row {
    align-items: end;
    border-top: 1px solid #e2e8f0;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(260px, 420px) auto;
    padding-top: 14px;
}

.inventario-propuesta-filter .activo-filter-actions {
    justify-content: flex-start;
    padding: 0;
}

.inventario-propuesta-panel .panel-body {
    padding: 0;
}

.inventario-propuesta-table td {
    vertical-align: middle !important;
}

.propuesta-count-input {
    height: 34px;
    min-height: 34px;
    min-width: 82px;
    text-align: right;
}

.propuesta-count-input[disabled] {
    background: #f8fafc;
    color: #64748b;
}

.inventario-stock-options {
    background: #f8fafc;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
}

.inventario-stock-options .radio-inline {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe4ee;
    border-radius: 999px;
    color: #334155;
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 7px;
    min-height: 34px;
    padding: 7px 12px;
}

.activo-panel {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.activo-panel .panel-body {
    padding: 0;
}

.activo-table > thead > tr > th {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    color: #475569;
    font-size: 12px;
    text-transform: uppercase;
}

.activo-table > tbody > tr > td {
    border-top: 1px solid #edf2f7;
    color: #334155;
    vertical-align: middle;
}

.activo-table .dropdown-menu {
    min-width: 180px;
}

.activo-filter-card {
    background: #fff;
    border: 1px solid #e8eef5;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
    margin-bottom: 14px;
    padding: 16px;
}

.activo-filter-form {
    align-items: end;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1.5fr) auto;
}

.activo-filter-range {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr);
}

.activo-date-range {
    display: flex;
    gap: 0;
    grid-template-columns: 42px minmax(0, 1fr) 42px minmax(0, 1fr);
}

.activo-date-range.botica-native-date-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr);
}

.activo-date-range .input-group-addon {
    border-right: 0;
}

.activo-date-range .form-control:last-child {
    border-left: 0;
}

.activo-filter-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.activo-filter-actions .btn {
    min-width: 116px;
}

.activo-filter-hint {
    color: var(--botica-muted);
    font-size: 12px;
    margin: 8px 0 0;
}

@media (max-width: 1199px) {
    .kardex-activo-filter-card .kardex-activo-filter-form {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .producto-compra-filter-form {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .cliente-reporte-filter-form {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    .guia-enviada-filter-form,
    .guia-recibida-filter-form {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    .guia-local-recibidas-filter-panel .guia-recibida-filter-form .activo-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
        white-space: normal;
    }

    .producto-compra-filter-card .activo-filter-actions,
    .cliente-reporte-filter-card .activo-filter-actions,
    .guia-enviada-filter-form .activo-filter-actions,
    .guia-recibida-filter-form .activo-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .kardex-activo-filter-card .activo-filter-actions {
        justify-content: flex-start;
    }
}

.category-modal-form .btn-default[data-no-modal] {
    display: none;
}

.botica-panel-modal .modal-content {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .28);
    overflow: hidden;
}

.botica-panel-modal .modal-dialog,
#botica-form-modal .modal-dialog {
    width: calc(100% - 24px);
    max-width: 980px;
    margin: 12px auto;
}

.botica-panel-modal .modal-header {
    align-items: center;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    border-bottom: 1px solid var(--botica-border);
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 18px 22px;
}

.botica-panel-modal .modal-heading-text {
    min-width: 0;
}

.botica-panel-modal .modal-title {
    color: #0f172a;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
    margin: 2px 0 0;
    overflow-wrap: anywhere;
}

.botica-panel-modal .modal-eyebrow {
    color: var(--botica-primary);
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.botica-panel-modal .modal-body {
    background: #fff;
    padding: 22px;
}

.botica-panel-modal .modal-footer {
    align-items: center;
    background: #f8fafc;
    border-top: 1px solid var(--botica-border);
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 14px 22px;
}

.botica-panel-modal .close {
    align-items: center;
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    color: #334155;
    display: inline-flex;
    font-size: 24px;
    height: 38px;
    justify-content: center;
    line-height: 1;
    margin: 0;
    opacity: 1;
    padding: 0;
    position: static;
    text-shadow: none;
    width: 38px;
}

.botica-modal-form {
    display: block;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    width: 100%;
}

@media (max-width: 767px) {
    .botica-panel-modal .modal-dialog,
    #botica-form-modal .modal-dialog {
        width: calc(100% - 12px);
        margin: 6px auto;
    }

    .botica-panel-modal .modal-body {
        padding: 16px;
    }

    .botica-panel-modal .modal-footer {
        padding: 12px 16px;
        flex-wrap: wrap;
        justify-content: stretch;
    }

    .botica-panel-modal .modal-footer .btn {
        width: 100%;
    }
}

.botica-modal-form.activo-entry-form {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.botica-modal-form.guia-activo-form {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.guia-activo-form .guia-activo-intro,
.guia-activo-form .guia-activo-field-wide,
.guia-activo-form .guia-activo-actions {
    grid-column: 1 / -1;
}

.guia-activo-intro {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    display: flex;
    gap: 12px;
    padding: 14px;
}

.guia-activo-intro-icon {
    align-items: center;
    background: #e8f5ef;
    border-radius: 8px;
    color: var(--botica-primary);
    display: inline-flex;
    flex: 0 0 42px;
    font-size: 19px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.guia-activo-intro strong,
.guia-activo-intro span {
    display: block;
}

.guia-activo-intro strong {
    color: #0f172a;
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 3px;
}

.guia-activo-intro span {
    color: #64748b;
    font-size: 13px;
    line-height: 1.35;
}

.guia-activo-form .input-group {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
}

.guia-activo-form .input-group-addon {
    align-items: center;
    display: flex;
    justify-content: center;
    width: 42px;
}

.guia-activo-form .form-control {
    min-height: 38px;
    width: 100%;
}

.botica-modal-form .row {
    margin-left: -8px;
    margin-right: -8px;
}

.botica-modal-form .row > [class*="col-"] {
    padding-left: 8px;
    padding-right: 8px;
}

.botica-modal-form .form-group {
    margin-bottom: 10px;
}

.botica-modal-form .form-group label {
    color: #334155;
    display: block;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 7px;
}

.botica-modal-form .input-group,
.botica-modal-form .iconic-input {
    width: 100%;
}

.botica-modal-form .iconic-input {
    position: relative;
}

.botica-modal-form .iconic-input > i {
    color: #64748b;
    font-size: 16px;
    height: 16px;
    left: 13px;
    line-height: 16px;
    margin: 0;
    position: absolute;
    text-align: center;
    top: 43%;
    transform: translateY(-50%);
    width: 16px;
    z-index: 2;
}

.botica-modal-form .iconic-input > .form-control {
    padding-left: 42px !important;
}

.botica-modal-form .checkbox-inline,
.botica-modal-form .radio-inline {
    margin: 0;
}

.botica-modal-form .modal-choice-group {
    background: #f8fafc;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
}

.botica-modal-form .modal-choice-group .checkbox-inline,
.botica-modal-form .modal-choice-group .radio-inline {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe4ee;
    border-radius: 999px;
    color: #334155;
    cursor: pointer;
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 7px;
    min-height: 34px;
    padding: 7px 12px;
}

.botica-modal-form .modal-choice-group input[type="radio"],
.botica-modal-form .modal-choice-group input[type="checkbox"] {
    accent-color: var(--botica-primary);
    margin: 0;
}

.botica-modal-form .modal-choice-group .checkbox-inline:has(input:checked),
.botica-modal-form .modal-choice-group .radio-inline:has(input:checked) {
    background: #e8f5ef;
    border-color: rgba(31, 122, 77, .42);
    color: var(--botica-primary-dark);
}

.botica-modal-form .input-group:has(.select2-container) {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
}

.botica-modal-form .botica-select2-field {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
}

.botica-modal-form .input-group:has(.select2-container) .input-group-addon {
    align-items: center;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    display: flex;
    grid-column: 1;
    justify-content: center;
    height: 100%;
}

.botica-modal-form .botica-select2-field .input-group-addon {
    align-items: center;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    display: flex;
    grid-column: 1;
    height: 100%;
    justify-content: center;
}

.botica-modal-form .input-group:has(.select2-container) .select2-container {
    grid-column: 2;
    width: 100%;
}

.botica-modal-form .botica-select2-field .select2-container {
    grid-column: 2;
    width: 100% !important;
}

.botica-modal-form .select2-container {
    width: 100% !important;
}

.botica-modal-form .select2-container--default .select2-selection--single {
    align-items: center;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    display: flex;
    min-height: 38px;
}

.botica-modal-form .input-group .select2-container--default .select2-selection--single {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.botica-modal-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #334155;
    line-height: 38px;
    padding-left: 12px;
    padding-right: 34px;
    width: 100%;
}

.botica-modal-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px;
    right: 6px;
}

.botica-modal-form .select2-container--default.select2-container--focus .select2-selection--single,
.botica-modal-form .select2-container--default.select2-container--open .select2-selection--single {
    border-color: rgba(31, 122, 77, .55);
    box-shadow: 0 0 0 3px rgba(31, 122, 77, .12);
}

.select2-container--open {
    z-index: 20000;
}

.select2-dropdown {
    border-color: #dbe4ee;
    border-radius: 8px;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    min-height: 36px;
    outline: 0;
    padding: 7px 10px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--botica-primary);
}

.botica-modal-form .alert {
    grid-column: 1 / -1;
}

.modal-form-actions {
    align-items: center;
    border-top: 1px solid var(--botica-border);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    grid-column: 1 / -1;
    justify-content: flex-end;
    margin-top: 4px;
    padding-top: 14px;
}

.botica-panel-modal .modal-footer-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.botica-panel-modal .modal-footer-actions .btn {
    min-height: 38px;
    min-width: 110px;
    padding-left: 14px;
    padding-right: 14px;
}

/* Price editor loaded inside the shared AJAX form modal. */
.precio-edit-page {
    max-width: 960px;
}

.precio-edit-panel {
    border: 0;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.precio-edit-panel .panel-heading {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.precio-edit-panel .panel-heading i {
    color: var(--botica-primary);
    margin-right: 6px;
}

.precio-edit-panel .panel-body {
    padding: 22px;
}

.precio-edit-form {
    display: block;
    width: 100%;
}

.precio-edit-intro {
    align-items: center;
    background: linear-gradient(135deg, #ecfeff, #f0f9ff);
    border: 1px solid rgba(14, 165, 201, .18);
    border-radius: 10px;
    display: flex;
    gap: 15px;
    margin-bottom: 14px;
    padding: 16px;
}

.precio-edit-intro-icon {
    align-items: center;
    background: linear-gradient(135deg, #0ea5c9, #38bdf8);
    border-radius: 10px;
    box-shadow: 0 8px 18px rgba(14, 165, 201, .22);
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 22px;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.precio-edit-eyebrow {
    color: #0e7490;
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    margin-bottom: 3px;
    text-transform: uppercase;
}

.precio-edit-intro h3 {
    color: #0f172a;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 4px;
}

.precio-edit-intro p {
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
    margin: 0;
}

.precio-edit-summary {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 18px;
}

.precio-edit-summary > div {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    min-width: 0;
    padding: 12px 13px;
}

.precio-edit-summary span,
.precio-edit-summary strong {
    display: block;
}

.precio-edit-summary span {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.precio-edit-summary span i {
    color: var(--botica-primary);
    margin-right: 4px;
}

.precio-edit-summary strong {
    color: #0f172a;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

.precio-edit-section-heading {
    align-items: flex-end;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 12px;
}

.precio-edit-section-heading span,
.precio-edit-section-heading small {
    display: block;
}

.precio-edit-section-heading > div > span {
    color: #0f172a;
    font-size: 14px;
    font-weight: 800;
}

.precio-edit-section-heading small,
.precio-edit-help {
    color: #64748b;
    font-size: 11px;
    line-height: 1.35;
}

.precio-edit-required {
    background: #ecfeff;
    border-radius: 999px;
    color: #0e7490;
    font-size: 11px;
    font-weight: 800;
    padding: 5px 9px;
    white-space: nowrap;
}

.precio-edit-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.precio-edit-field {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    margin: 0;
    padding: 13px;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.precio-edit-field:focus-within {
    border-color: rgba(14, 165, 201, .55);
    box-shadow: 0 0 0 3px rgba(14, 165, 201, .1);
}

.precio-edit-field-primary {
    background: linear-gradient(180deg, #f0fdff, #fff);
    border-color: rgba(14, 165, 201, .28);
}

.precio-edit-field label {
    color: #334155;
    display: block;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 8px;
}

.precio-edit-field .input-group {
    width: 100%;
}

.precio-edit-field .form-control,
.precio-edit-field .input-group-addon {
    height: 42px;
}

.precio-edit-field .form-control {
    font-size: 15px;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
}

.precio-edit-field .input-group-addon {
    color: #0e7490;
    font-weight: 800;
    min-width: 44px;
}

.precio-edit-field .precio-edit-suffix {
    border-left: 0;
    min-width: 38px;
}

.precio-edit-currency {
    font-size: 12px;
}

.precio-edit-help {
    display: block;
    margin-top: 7px;
}

.precio-edit-note {
    align-items: flex-start;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    color: #92400e;
    display: flex;
    font-size: 12px;
    gap: 9px;
    line-height: 1.45;
    margin-top: 14px;
    padding: 10px 12px;
}

.precio-edit-note i {
    color: #d97706;
    font-size: 15px;
    margin-top: 1px;
}

.precio-edit-form .modal-form-actions {
    margin-top: 16px;
}

@media (max-width: 767px) {
    .precio-edit-intro {
        align-items: flex-start;
    }

    .precio-edit-summary,
    .precio-edit-grid {
        grid-template-columns: 1fr;
    }

    .precio-edit-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

.table-icon-actions {
    white-space: nowrap;
}

.table-icon-actions .btn + .btn {
    margin-left: 5px;
}

.movement-type-modal .modal-dialog {
    width: min(760px, calc(100% - 24px));
}

.movement-type-modal .modal-body {
    padding: 18px;
}

.movement-type-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.movement-type-card {
    align-items: flex-start;
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    gap: 12px;
    margin: 0;
    min-height: 118px;
    padding: 14px;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.movement-type-card:hover,
.movement-type-card:focus-within {
    border-color: rgba(14, 165, 201, .38);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
    transform: translateY(-1px);
}

.movement-type-card.is-selected {
    background: #ecfeff;
    border-color: #0ea5c9;
    box-shadow: 0 0 0 3px rgba(14, 165, 201, .12);
}

.movement-type-card input {
    accent-color: #0ea5c9;
    flex: 0 0 auto;
    margin-top: 12px;
}

.movement-type-icon {
    align-items: center;
    background: #e8f7fb;
    border-radius: 8px;
    color: var(--botica-primary-dark);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 18px;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.movement-type-copy strong,
.movement-type-copy small {
    display: block;
}

.movement-type-copy strong {
    color: #0f172a;
    font-size: 14px;
    margin-bottom: 5px;
}

.movement-type-copy small {
    color: var(--botica-muted);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.35;
}

.movement-frame-modal .modal-dialog {
    width: min(1040px, calc(100% - 24px));
}

.movement-frame-modal .modal-body {
    padding: 0;
}

.movement-frame-modal iframe,
.movement-frame-modal .movement-remote-content {
    border: 0;
    display: block;
    height: min(680px, calc(100vh - 180px));
    min-height: 520px;
    overflow: auto;
    width: 100%;
}

.movement-remote-content {
    background: #f5f7fa;
    color: #0f172a;
    padding: 16px;
}

.movement-remote-content .wrapper {
    margin-top: 0;
    padding: 0;
}

.movement-remote-content .col-lg-6,
.movement-remote-content .col-lg-12 {
    float: none;
    margin: 0 auto;
    max-width: 960px;
    padding: 0;
    width: 100%;
}

.movement-remote-content .panel {
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .08);
    margin-bottom: 16px;
    overflow: hidden;
}

.movement-frame-loading {
    align-items: center;
    background: rgba(248, 250, 252, .94);
    color: #334155;
    display: flex;
    font-weight: 700;
    gap: 10px;
    inset: 0;
    justify-content: center;
    position: absolute;
    z-index: 3;
}

.movement-frame-modal .modal-body {
    position: relative;
}

.product-price-form {
    align-items: end;
}

.product-price-form .form-group:first-of-type {
    grid-column: 1 / -1;
}

.product-price-form .form-group:nth-of-type(2) {
    grid-column: 1 / -1;
    max-width: 280px;
}

.product-price-form .form-group:first-of-type input {
    background: #f8fafc;
    border-color: rgba(31, 122, 77, .24);
    color: #0f172a;
    font-weight: 700;
}

.product-price-form .form-group:nth-of-type(2) input {
    background: #fff;
    border-color: rgba(31, 122, 77, .24);
    color: #0f172a;
    font-weight: 700;
}

.product-price-form .form-group:first-of-type .iconic-input,
.product-price-form .form-group:nth-of-type(2) .iconic-input {
    display: block;
    position: relative;
    width: 100%;
}

.product-price-form .form-group:first-of-type .iconic-input input,
.product-price-form .form-group:nth-of-type(2) .iconic-input input {
    line-height: 1.42857143;
    min-height: 42px;
    padding-left: 44px !important;
}

.product-price-form .form-group:first-of-type .iconic-input > i,
.product-price-form .form-group:nth-of-type(2) .iconic-input > i {
    left: 14px;
    margin: 0;
    top: 50%;
    transform: translateY(-50%);
}

.mt-10 {
    padding-top: 10px;
}

.mb-22 {
    padding-bottom: 22px;
}

.pb-38 {
    padding-bottom: 38px;
}

.fs-18 {
    font-size: 18px;
}

@media (max-width: 767px) {
    .wrapper {
        padding-left: 10px;
        padding-right: 10px;
    }

    .form-horizontal .control-label {
        margin-bottom: 6px;
        text-align: left;
    }

    .btn,
    .form-control {
        min-height: 42px;
    }

    .table-responsive {
        margin-bottom: 16px;
    }

    .dashboard-hero {
        align-items: flex-start;
        flex-direction: column;
        padding: 18px;
    }

    .dashboard-hero h1 {
        font-size: 23px;
    }

    .dashboard-hero-meta {
        text-align: left;
        width: 100%;
    }

    .dashboard-hero-actions {
        justify-content: stretch;
        width: 100%;
    }

    .dashboard-hero-actions .btn {
        flex: 1 1 160px;
    }

    .dashboard-actions {
        grid-template-columns: 1fr;
    }

    .login-modern {
        display: block;
    }

    .login-brand-panel {
        padding: 28px 20px 34px;
    }

    .login-home-link {
        margin-bottom: 28px;
    }

    .login-logo-card img {
        max-width: 210px;
    }

    .login-brand-content h1 {
        font-size: 28px;
    }

    .login-feature-grid {
        grid-template-columns: 1fr;
    }

    .login-form-panel {
        padding: 20px;
    }

    .login-modern-card {
        margin-top: -48px;
        padding: 24px;
    }

    .product-list-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .product-list-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .product-import-form {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .product-import-form .form-control {
        max-width: none;
        width: 100%;
    }

    .product-table-toolbar,
    .product-table-footer,
    .product-table-length,
    .product-table-search,
    .product-table-pagination {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .product-table-search .form-control,
    .product-table-length .form-control {
        width: 100%;
    }

    .product-history-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .product-history-filter-form,
    .product-history-stats,
    .product-history-modal-stats,
    .category-stats,
    .comisionable-doctor-form {
        grid-template-columns: 1fr;
    }

    .activo-kpis,
    .producto-kpis,
    .categoria-kpis,
    .laboratorio-kpis,
    .usuario-kpis,
    .zona-kpis,
    .precio-kpis,
    .precio-alerta-kpis,
    .cuota-kpis,
    .cuota-reporte-kpis,
    .cuota-historico-kpis,
    .rentable-kpis,
    .rentable-list-kpis,
    .trabajador-kpis,
    .subproducto-kpis,
    .promocion-producto-kpis,
    .promocion-descuento-kpis,
    .comisionable-producto-kpis,
    .comisionable-list-kpis,
    .comisionable-doctor-kpis,
    .botiquin-list-kpis,
    .botiquin-product-kpis,
    .quimico-caja-kpis,
    .ventas-list-kpis,
    .ventas-caja-kpis,
    .ventas-perdidas-kpis,
    .ventas-usuario-kpis,
    .proveedor-kpis,
    .proveedor-activo-kpis,
    .inventario-kpis,
    .kardex-activo-kpis,
    .kardex-util-kpis,
    .reposicion-kpis,
    .reporte-labs-kpis,
    .clientes-reporte-kpis,
    .producto-compra-kpis,
    .productos-vendidos-kpis,
    .producto-sinventa-kpis,
    .consumo-cliente-kpis,
    .ventas-local-et-kpis,
    .guia-local-kpis,
    .guia-local-recibidas-kpis,
    .guia-local-enviadas-kpis,
    .guia-detalle-kpis,
    .guia-detalle-info-grid {
        grid-template-columns: 1fr;
    }

    .kardex-summary-grid,
    .inventario-context-strip,
    .inventario-filter-card .inventario-filter-form,
    .kardex-activo-filter-card .kardex-activo-filter-form,
    .producto-compra-filter-form,
    .cliente-reporte-filter-form,
    .guia-enviada-filter-form,
    .trabajador-filter-form {
        grid-template-columns: 1fr;
    }

    .activo-filter-form {
        grid-template-columns: 1fr;
    }

    .activo-filter-actions {
        justify-content: stretch;
    }

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

    .trabajador-filter-actions {
        justify-content: stretch;
    }

    .trabajador-filter-actions .btn {
        flex: 1 1 0;
        min-width: 0;
    }

    .inventario-filter-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .inventario-filter-heading small {
        max-width: none;
        width: 100%;
    }

    .inventario-filter-card .activo-filter-actions,
    .inventario-filter-primary-actions,
    .inventario-filter-secondary-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .inventario-propuesta-actions {
        justify-content: stretch;
        width: 100%;
    }

    .inventario-propuesta-actions .btn {
        width: 100%;
    }

    .inventario-propuesta-summary,
    .inventario-propuesta-filter-row {
        grid-template-columns: 1fr;
    }

    .inventario-propuesta-summary > div {
        border-bottom: 1px solid #edf2f7;
        border-right: 0;
    }

    .inventario-propuesta-summary > div:last-child {
        border-bottom: 0;
    }

    .cuota-report-filter-form {
        grid-template-columns: 1fr;
    }

    .rentable-product-filter-form,
    .promocion-product-filter-form,
    .comisionable-product-filter-form {
        grid-template-columns: 1fr;
    }

    .rentable-filter-header,
    .rentable-filter-actionbar,
    .rentable-product-meta,
    .rentable-product-panel .panel-heading,
    .promocion-filter-header,
    .promocion-filter-actionbar,
    .promocion-product-meta,
    .promocion-product-panel .panel-heading,
    .promocion-descuento-panel .panel-heading,
    .comisionable-filter-header,
    .comisionable-filter-actionbar,
    .comisionable-product-meta,
    .comisionable-product-panel .panel-heading,
    .comisionable-list-panel .panel-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .rentable-filter-header small,
    .promocion-filter-header small,
    .comisionable-filter-header small {
        max-width: none;
        text-align: center;
        width: 100%;
    }

    .rentable-filter-actionbar .btn,
    .promocion-filter-actionbar .btn,
    .comisionable-filter-actionbar .btn {
        width: 100%;
    }

    .cuota-history-filter-form,
    .cuota-history-filter-row {
        grid-template-columns: 1fr;
    }

    .historico-chart-box {
        height: 210px;
    }

    .historico-chart-panel .panel-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .cuota-filter-header,
    .cuota-filter-title {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .cuota-filter-header small,
    .cuota-filter-title .btn {
        text-align: center;
        width: 100%;
    }

    .cuota-filter-actionbar {
        align-items: stretch;
        flex-direction: column;
    }

    .cuota-filter-actionbar-buttons {
        justify-content: stretch;
    }

    .cuota-filter-actionbar-buttons .btn {
        width: 100%;
    }

    .cuota-reporte-page .ms-container .ms-selectable,
    .cuota-reporte-page .ms-container .ms-selection {
        float: none;
        margin-bottom: 10px;
        width: 100%;
    }

    .cuota-report-panel .panel-heading,
    .cuota-report-meta,
    .cuota-hero .dashboard-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .cuota-hero .dashboard-hero-actions .btn {
        width: 100%;
    }

    .cuota-table-progress {
        min-width: 130px;
    }

    .factura-activo-date-range.botica-native-date-group {
        grid-template-columns: 1fr;
    }

    .factura-activo-date-range.botica-native-date-group .botica-native-datepicker,
    .factura-activo-date-range.botica-native-date-group .input-group-addon:not(.botica-hidden-date-addon) {
        border: 1px solid #dbe4ee;
        border-radius: var(--botica-radius);
    }

    .factura-activo-date-range.botica-native-date-group .input-group-addon:not(.botica-hidden-date-addon) {
        border-bottom: 0;
        border-top: 0;
        height: 28px;
        justify-self: center;
        width: 48px;
    }

    .guia-detalle-hero .dashboard-hero-actions,
    .guia-detalle-items-panel .panel-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .guia-detalle-hero .dashboard-hero-actions .btn,
    .guia-detalle-items-panel .panel-heading .btn {
        width: 100%;
    }

    .product-history-date-range {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .product-history-date-range.botica-native-date-group {
        grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr);
    }

    .product-history-date-range .input-group-addon:nth-of-type(2) {
        border-left: 1px solid #dbe4ee;
        border-top: 0;
        grid-column: 1;
    }

    .product-history-date-range.botica-native-date-group .input-group-addon:nth-of-type(2) {
        border-left: 0;
        border-top: 1px solid #dbe4ee;
        grid-column: auto;
    }

    .product-history-date-range .form-control:last-child {
        grid-column: 2;
    }

    .product-history-date-range.botica-native-date-group .form-control:last-child {
        grid-column: auto;
    }

    .product-history-select-group {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .kardex-date-range {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .kardex-date-range.botica-native-date-group {
        grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr);
    }

    .kardex-date-range .input-group-addon:nth-of-type(2) {
        border-left: 1px solid #dbe4ee;
        border-top: 0;
        grid-column: 1;
    }

    .kardex-date-range.botica-native-date-group .input-group-addon:nth-of-type(2) {
        border-left: 0;
        border-top: 1px solid #dbe4ee;
        grid-column: auto;
    }

    .kardex-date-range .form-control:last-child {
        grid-column: 2;
    }

    .kardex-date-range.botica-native-date-group .form-control:last-child {
        grid-column: auto;
    }


    .kardex-select-group {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .product-history-actions {
        grid-column: 1 / -1;
    }

    .product-history-action-buttons {
        justify-content: stretch;
    }

    .product-history-action-buttons .btn {
        width: 100%;
    }

    .botica-panel-modal .modal-body {
        padding: 16px;
    }

    .botica-panel-modal .modal-header {
        align-items: flex-start;
        gap: 10px;
        padding: 14px 16px;
    }

    .botica-panel-modal .modal-title {
        font-size: 18px;
    }

    .botica-panel-modal .modal-eyebrow {
        font-size: 10px;
    }

    .botica-panel-modal .close {
        flex: 0 0 36px;
        height: 36px;
        width: 36px;
    }

    .movement-frame-modal .modal-body {
        padding: 0;
    }

    .movement-frame-modal iframe,
    .movement-frame-modal .movement-remote-content {
        height: calc(100vh - 150px);
        min-height: 420px;
    }

    .movement-type-grid {
        grid-template-columns: 1fr;
    }

    .movement-type-modal .modal-dialog,
    .movement-frame-modal .modal-dialog {
        margin: 8px auto;
        width: calc(100% - 16px);
    }

    .movement-type-modal .modal-body {
        padding: 14px;
    }

    .movement-type-card {
        min-height: auto;
        padding: 12px;
    }

    .botica-modal-form {
        grid-template-columns: 1fr;
    }

    .activo-entry-form {
        grid-template-columns: 1fr;
    }

    .botica-modal-form.activo-entry-form {
        grid-template-columns: 1fr;
    }

    .botica-modal-form.guia-activo-form {
        grid-template-columns: 1fr;
    }

    .comisionable-doctor-form {
        grid-template-columns: 1fr;
    }

    .comisionable-report-filter {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .comisionable-report-filter .btn {
        max-width: none;
    }

    .activo-form-intro {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .login-modern {
        grid-template-columns: 1fr;
    }

    .login-brand-panel {
        min-height: 430px;
    }

    .login-form-panel {
        padding: 36px;
    }

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

.ventas-pos-page {
    color: #0f172a;
}

.ventas-pos-page .wrapper {
    width: 100%;
}

.ventas-pos-wrapper {
    max-width: none;
    padding-left: 18px;
    padding-right: 18px;
    width: 100%;
}

.ventas-pos-hero {
    align-items: flex-start;
    background: #ffffff;
    border: 1px solid var(--botica-border);
    border-left: 5px solid var(--botica-primary);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 16px;
    padding: 18px;
}

.ventas-pos-hero h1 {
    font-size: 26px;
    font-weight: 800;
    margin: 3px 0 6px;
}

.ventas-pos-hero p {
    color: var(--botica-muted);
    margin: 0;
}

.ventas-pos-actions,
.ventas-panel-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.ventas-product-panel .panel-heading {
    align-items: center;
}

.ventas-searchbar {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(260px, 1fr) auto auto;
    margin-bottom: 14px;
}

.ventas-search-input {
    align-items: center;
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: var(--botica-radius);
    display: flex;
    gap: 10px;
    min-height: 42px;
    padding: 0 12px;
}

.ventas-search-input i {
    color: var(--botica-primary-dark);
}

.ventas-search-input input {
    border: 0;
    box-shadow: none;
    flex: 1;
    min-height: 40px;
    min-width: 0;
    width: 100%;
}

.ventas-search-input input:focus {
    box-shadow: none;
}

.ventas-product-table {
    margin-bottom: 14px;
    width: 100%;
}

.ventas-product-table table,
.ventas-subproducts table,
.ventas-cart-panel table,
.ventas-pos-page .dataTables_wrapper {
    width: 100% !important;
}

.ventas-pos-page .dataTables_wrapper {
    overflow: visible;
}

.ventas-product-table table th:last-child,
.ventas-product-table table td:last-child,
#tblVentaPrincipal th:last-child,
#tblVentaPrincipal td:last-child {
    text-align: center;
    vertical-align: middle !important;
    width: 126px;
}

.ventas-pos-page .dataTables_wrapper .row {
    margin-left: 0;
    margin-right: 0;
}

.ventas-pos-page .dataTables_length,
.ventas-pos-page .dataTables_filter,
.ventas-pos-page .dataTables_info,
.ventas-pos-page .dataTables_paginate {
    color: #475569;
    margin: 8px 0;
}

.ventas-pos-page .dataTables_filter {
    text-align: right;
}

.ventas-pos-page .dataTables_filter input {
    margin-left: 8px;
    min-width: 220px;
}

.ventas-pos-page .dataTables_paginate .pagination,
.ventas-pos-page .dataTables_paginate ul {
    align-items: center;
    display: inline-flex;
    gap: 4px;
    justify-content: flex-end;
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.ventas-pos-page .dataTables_paginate .pagination > li,
.ventas-pos-page .dataTables_paginate ul > li {
    display: inline-flex;
    margin: 0;
}

.ventas-pos-page .dataTables_paginate .pagination > li > a,
.ventas-pos-page .dataTables_paginate .pagination > li > span,
.ventas-pos-page .dataTables_paginate ul > li > a,
.ventas-pos-page .dataTables_paginate ul > li > span,
.ventas-pos-page .dataTables_paginate .paginate_button,
.ventas-pos-page .dataTables_paginate .paginate_active_button,
.ventas-pos-page .dataTables_paginate .paginate_disabled_previous,
.ventas-pos-page .dataTables_paginate .paginate_disabled_next,
.ventas-pos-page .dataTables_paginate .paginate_enabled_previous,
.ventas-pos-page .dataTables_paginate .paginate_enabled_next {
    align-items: center;
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 4px;
    color: #334155 !important;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    justify-content: center;
    line-height: 1.2;
    min-height: 32px;
    min-width: 34px;
    padding: 7px 10px;
    text-decoration: none !important;
}

.ventas-pos-page .dataTables_paginate .pagination > li > a:hover,
.ventas-pos-page .dataTables_paginate ul > li > a:hover,
.ventas-pos-page .dataTables_paginate .paginate_button:hover,
.ventas-pos-page .dataTables_paginate .paginate_enabled_previous:hover,
.ventas-pos-page .dataTables_paginate .paginate_enabled_next:hover {
    background: #eef8fb;
    border-color: var(--botica-primary);
    color: var(--botica-primary-dark) !important;
}

.ventas-pos-page .dataTables_paginate .pagination > .active > a,
.ventas-pos-page .dataTables_paginate .pagination > .active > span,
.ventas-pos-page .dataTables_paginate ul > .active > a,
.ventas-pos-page .dataTables_paginate ul > .active > span,
.ventas-pos-page .dataTables_paginate .paginate_active_button {
    background: var(--botica-primary);
    border-color: var(--botica-primary-dark);
    color: #fff !important;
}

.ventas-pos-page .dataTables_paginate .pagination > .disabled > a,
.ventas-pos-page .dataTables_paginate .pagination > .disabled > span,
.ventas-pos-page .dataTables_paginate ul > .disabled > a,
.ventas-pos-page .dataTables_paginate ul > .disabled > span,
.ventas-pos-page .dataTables_paginate .paginate_disabled_previous,
.ventas-pos-page .dataTables_paginate .paginate_disabled_next {
    background: #f8fafc;
    border-color: #e2e8f0;
    color: #94a3b8 !important;
    cursor: not-allowed;
    pointer-events: none;
}

.ventas-pos-page .dataTables_paginate .prev > a,
.ventas-pos-page .dataTables_paginate .next > a {
    min-width: 88px;
}

.ventas-product-table input[type="number"],
.ventas-subproducts input[type="number"] {
    min-height: 34px;
    text-align: center;
    width: 72px !important;
}

.ventas-product-table .btn,
.ventas-subproducts .btn {
    min-width: 34px;
}

.ventas-actions-cell {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    justify-content: center;
    min-width: 116px;
    width: 116px;
}

.ventas-actions-cell-single {
    min-width: 116px;
}

.ventas-actions-cell .btn,
.ventas-action-spacer {
    align-items: center;
    display: inline-flex;
    height: 32px;
    justify-content: center;
    padding: 0;
    width: 34px;
}

.ventas-action-spacer {
    visibility: hidden;
}

.ventas-actions-cell .ventas-lost-action {
    background: #be123c;
    border-color: #9f1239;
    color: #fff;
}

.ventas-product-table tr.ventas-product-no-stock > td,
#tblVentaPrincipal tr.ventas-product-no-stock > td {
    background: #fff1f2 !important;
    color: #7f1d1d !important;
}

.ventas-product-table tr.ventas-product-no-stock:hover > td,
#tblVentaPrincipal tr.ventas-product-no-stock:hover > td {
    background: #ffe4e6 !important;
}

.ventas-product-table tr.ventas-product-no-stock .ventas-qty-input,
#tblVentaPrincipal tr.ventas-product-no-stock .ventas-qty-input {
    background: #fff7f7;
    border-color: #fecdd3;
}

.ventas-related-btn {
    margin-left: 8px;
    min-width: auto !important;
}

.ventas-related-btn i {
    margin-right: 4px;
}

.ventas-cart-trigger {
    align-items: center;
    background: #0f766e;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, .18);
    color: #fff;
    display: inline-flex;
    gap: 8px;
    font-size: 18px;
    height: 54px;
    justify-content: center;
    padding: 0 18px;
    position: relative;
    z-index: 1060;
}

.ventas-cart-trigger strong {
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    margin: 0;
}

.ventas-cart-floating {
    bottom: 22px;
    position: fixed;
    right: 24px;
}

.ventas-cart-trigger:hover,
.ventas-cart-trigger:focus {
    background: #115e59;
    color: #fff;
    outline: none;
}

.ventas-cart-trigger > span {
    align-items: center;
    background: #be123c;
    border: 2px solid #fff;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    height: 22px;
    justify-content: center;
    line-height: 1;
    min-width: 22px;
    position: absolute;
    right: -8px;
    top: -9px;
}

.ventas-cart-trigger.has-items {
    animation: ventasCartPulse 1.15s ease-in-out infinite;
}

@keyframes ventasCartPulse {
    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(15, 118, 110, .38);
        transform: translateY(0) scale(1);
    }

    50% {
        box-shadow: 0 0 0 8px rgba(15, 118, 110, 0);
        transform: translateY(-1px) scale(1.05);
    }
}

.ventas-cart-modal .modal-dialog {
    width: calc(100% - 24px);
    max-width: 1480px;
}

.ventas-cart-modal .modal-body {
    background: #f8fafc;
    max-height: calc(100vh - 170px);
    overflow: auto;
}

.ventas-cart-modal .ventas-cart-shell {
    margin-top: 0;
}

.ventas-caja-modal .modal-dialog {
    width: calc(100% - 24px);
    max-width: 1480px;
}

.ventas-caja-modal .modal-body {
    background: #f8fafc;
    max-height: calc(100vh - 180px);
    overflow: auto;
    padding: 16px;
}

.ventas-caja-content {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ventas-caja-summary {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ventas-caja-summary > div {
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    padding: 12px;
}

.ventas-caja-summary span {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.ventas-caja-summary strong {
    color: #0f172a;
    display: block;
    font-size: 16px;
    font-weight: 900;
    margin-top: 4px;
}

.ventas-caja-table {
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    overflow: auto;
}

.ventas-caja-table table {
    margin-bottom: 0;
}

.ventas-caja-table th {
    background: #0f766e;
    color: #fff;
    font-size: 11px;
    text-transform: uppercase;
}

.ventas-caja-table td {
    vertical-align: middle !important;
}

.ventas-caja-table td small {
    color: #64748b;
    display: block;
    margin-top: 3px;
}

.ventas-caja-table tfoot th {
    background: #ecfdf5;
    color: #065f46;
    font-size: 15px;
}

.ventas-caja-status .alert {
    margin-bottom: 10px;
}

.ventas-cart-shell {
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
    margin-top: 16px;
    overflow: hidden;
}

.ventas-cart-header {
    align-items: center;
    background: #f8fafc;
    border-bottom: 1px solid var(--botica-border);
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
}

.ventas-cart-header span {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.ventas-cart-header strong {
    color: #0f172a;
    display: block;
    font-size: 16px;
    margin-top: 2px;
}

.ventas-cart-shell.is-empty #btnVaciarCarrito {
    display: none;
}

.ventas-cart-panel {
    overflow-x: auto;
    padding: 12px;
}

.ventas-cart-panel table {
    border: 0;
    margin-bottom: 0;
    min-width: 920px;
    width: 100%;
}

.ventas-cart-panel table th {
    background: #0f766e;
    border-color: #0f766e !important;
    color: #fff;
    font-size: 11px;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.ventas-cart-panel table td {
    background: #fff;
    border-color: #e2e8f0 !important;
    color: #334155;
    vertical-align: middle !important;
}

.ventas-cart-panel table td:nth-child(5) {
    color: #0f172a;
    font-weight: 700;
    min-width: 240px;
}

.ventas-cart-panel table td:nth-child(2) > div,
.ventas-cart-panel table td:nth-child(3) > div {
    align-items: center;
    display: inline-flex !important;
    gap: 6px;
    justify-content: center;
    margin: 0 auto;
    min-width: 116px;
}

.ventas-cart-panel table td:nth-child(2) > div > div,
.ventas-cart-panel table td:nth-child(3) > div > div {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    color: #0f172a;
    font-weight: 800;
    min-width: 34px;
    padding: 5px 8px !important;
    text-align: center;
}

.ventas-cart-panel table td:nth-child(2) .btn,
.ventas-cart-panel table td:nth-child(3) .btn {
    align-items: center;
    border-radius: 4px;
    display: inline-flex;
    font-size: 0;
    font-weight: 800;
    height: 28px;
    justify-content: center;
    min-width: 28px;
    padding: 0;
    width: 28px;
}

.ventas-cart-panel table td:nth-child(2) .btn:before,
.ventas-cart-panel table td:nth-child(3) .btn:before {
    font-size: 14px;
    line-height: 1;
}

.ventas-cart-panel table td:nth-child(2) .btn:first-child:before,
.ventas-cart-panel table td:nth-child(3) .btn:first-child:before {
    content: "-";
}

.ventas-cart-panel table td:nth-child(2) .btn:last-child:before,
.ventas-cart-panel table td:nth-child(3) .btn:last-child:before {
    content: "+";
}

.ventas-cart-panel table tr:nth-last-child(-n + 5) td {
    background: #f8fafc;
    font-weight: 700;
}

.ventas-cart-panel table tr:last-child td {
    background: #ecfdf5;
    color: #065f46;
    font-size: 15px;
    font-weight: 900;
}

.ventas-cart-panel table td:last-child button,
#eliminarItem {
    align-items: center;
    background: #fff1f2;
    border: 1px solid #fecdd3;
    border-radius: 4px;
    color: #be123c;
    display: inline-flex;
    font-size: 0;
    font-weight: 800;
    height: 30px;
    justify-content: center;
    padding: 5px 9px;
    text-transform: capitalize;
    width: 34px;
}

#eliminarItem:before {
    content: "\f014";
    font-family: FontAwesome;
    font-size: 14px;
    line-height: 1;
}

.ventas-cart-empty {
    align-items: center;
    color: #64748b;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 150px;
    justify-content: center;
    padding: 24px 12px;
    text-align: center;
}

.ventas-cart-empty i {
    align-items: center;
    background: #e0f2fe;
    border-radius: 999px;
    color: #0369a1;
    display: inline-flex;
    font-size: 22px;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.ventas-cart-empty strong {
    color: #0f172a;
    font-size: 16px;
}

.ventas-cart-empty span {
    font-size: 13px;
}

.ventas-checkout-row {
    align-items: stretch;
}

.ventas-form-panel {
    height: calc(100% - 18px);
}

.modal-choice-group,
.ventas-payment-box {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.modal-choice-group {
    gap: 8px;
}

.modal-choice-group .radio-inline {
    align-items: center;
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 4px;
    border-color: var(--botica-border);
    box-shadow: none;
    color: #334155;
    display: inline-flex;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
    min-height: 34px;
    padding: 8px 12px;
}

.modal-choice-group .radio-inline input[type="radio"],
.modal-choice-group .radio-inline input[type="checkbox"] {
    margin-right: 6px;
    position: static;
}

.modal-choice-group .radio-inline.active,
.modal-choice-group .radio-inline:active,
.modal-choice-group .radio-inline:focus {
    background: var(--botica-primary);
    border-color: var(--botica-primary-dark);
    color: #fff;
}

.ventas-payment-box {
    align-items: stretch;
    flex-direction: column;
}

.ventas-total-charge {
    align-items: center;
    background: linear-gradient(135deg, #ecfeff, #f0f9ff);
    border: 1px solid rgba(14, 165, 201, .28);
    border-radius: 10px;
    box-shadow: 0 10px 22px rgba(14, 165, 201, .1);
    display: flex;
    gap: 14px;
    margin-bottom: 12px;
    padding: 15px 17px;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
    width: 100%;
}

.ventas-total-charge-icon {
    align-items: center;
    background: linear-gradient(135deg, #0ea5c9, #38bdf8);
    border-radius: 10px;
    box-shadow: 0 8px 18px rgba(14, 165, 201, .22);
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 21px;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.ventas-total-charge-copy {
    min-width: 0;
}

.ventas-total-charge-copy span,
.ventas-total-charge-copy strong,
.ventas-total-charge-copy small {
    display: block;
}

.ventas-total-charge-copy span {
    color: #0e7490;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.ventas-total-charge-copy strong {
    color: #0f172a;
    font-size: 29px;
    font-variant-numeric: tabular-nums;
    font-weight: 900;
    letter-spacing: -.02em;
    line-height: 1.1;
    margin: 3px 0;
}

.ventas-total-charge-copy small {
    color: #64748b;
    font-size: 11px;
    line-height: 1.35;
}

.ventas-total-charge.is-empty {
    background: #f8fafc;
    border-color: #e2e8f0;
    box-shadow: none;
}

.ventas-total-charge.is-empty .ventas-total-charge-icon {
    background: #cbd5e1;
    box-shadow: none;
}

.ventas-total-charge.is-empty .ventas-total-charge-copy span,
.ventas-total-charge.is-empty .ventas-total-charge-copy strong {
    color: #64748b;
}

.ventas-context-panel {
    background: #f8fafc;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    margin-top: 12px;
    padding: 14px;
}

.ventas-context-muted {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.ventas-context-header {
    align-items: center;
    display: flex;
    gap: 10px;
    margin-bottom: 12px;
}

.ventas-context-panel > .ventas-context-header:last-child {
    margin-bottom: 0;
}

.ventas-context-header i {
    align-items: center;
    background: #e0f2fe;
    border-radius: 999px;
    color: #0369a1;
    display: inline-flex;
    flex: 0 0 34px;
    font-size: 15px;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.ventas-context-muted .ventas-context-header i {
    background: #dcfce7;
    color: #15803d;
}

.ventas-context-header strong {
    color: #0f172a;
    display: block;
    font-size: 14px;
    font-weight: 800;
}

.ventas-context-header span {
    color: #64748b;
    display: block;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 2px;
}

.ventas-field-stack {
    display: grid;
    gap: 12px;
}

.ventas-payment-state {
    width: 100%;
}

.ventas-payment-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ventas-inline-fields {
    margin-left: 0;
    margin-right: 0;
}

.ventas-card-code {
    width: 100%;
}

.ventas-submit-box {
    margin-top: 10px;
    width: 100%;
}

#generaVenta .ventas-shortcut-hint {
    background: rgba(255, 255, 255, .18);
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 4px;
    color: #fff;
    float: right;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .03em;
    margin-top: 1px;
    padding: 3px 6px;
}

#generaVenta,
#generaVenta.ventas-submit-ready {
    cursor: pointer;
}

#generaVenta.ventas-submit-loading {
    cursor: progress;
}

.ventas-form-panel .input-group {
    width: 100%;
}

.ventas-form-panel .input-group-addon:empty:before {
    color: #94a3b8;
    content: "\f007";
    font-family: FontAwesome;
}

#divEmpresa .input-group-addon:empty:before {
    content: "\f1ad";
}

.ventas-form-panel label {
    margin-bottom: 6px;
}

.ventas-modal .modal-dialog {
    margin-top: 7vh;
}

.ventas-modal .modal-content {
    border: 0;
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
    overflow: hidden;
}

.ventas-modal .modal-header {
    align-items: center;
    background: #f8fafc;
    border-bottom: 1px solid var(--botica-border);
    color: #0f172a;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    padding: 16px 18px;
}

.ventas-modal .modal-title {
    color: #0f172a;
    font-size: 18px;
    font-weight: 800;
    margin: 2px 0 0;
}

.ventas-modal .modal-eyebrow {
    color: var(--botica-primary-dark);
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ventas-modal .close {
    align-items: center;
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 999px;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    line-height: 1;
    margin: 0;
    opacity: 1;
    width: 34px;
}

.ventas-modal .modal-body {
    padding: 18px;
}

.ventas-modal .modal-footer {
    background: #f8fafc;
    border-top: 1px solid var(--botica-border);
    padding: 12px 18px;
}

.ventas-modal .input-group {
    width: 100%;
}

.ventas-info-modal .modal-dialog {
    width: min(980px, calc(100% - 40px));
}

.ventas-info-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    margin-bottom: 16px;
}

.ventas-info-card {
    background: #f8fafc;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    padding: 14px;
}

.ventas-info-card span {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.ventas-info-card strong {
    color: #0f172a;
    display: block;
    font-size: 20px;
    font-weight: 800;
}

.ventas-info-table {
    margin-bottom: 12px;
}

.ventas-modal-loading {
    align-items: center;
    color: #64748b;
    display: flex;
    gap: 10px;
    justify-content: center;
    min-height: 160px;
}

.ventas-modal-loading i {
    color: var(--botica-primary-dark);
    font-size: 20px;
}

.ventas-lost-modal {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ventas-lost-header {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 14px;
}

.ventas-lost-header span {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.ventas-lost-header strong {
    color: #0f172a;
    display: block;
    font-size: 16px;
    margin-top: 2px;
}

.ventas-lost-kpis {
    margin-bottom: 0;
}

.ventas-info-card i {
    color: var(--botica-primary-dark);
    float: right;
    font-size: 18px;
    opacity: .8;
}

.ventas-info-card.is-danger {
    background: #fff1f2;
    border-color: #fecdd3;
}

.ventas-info-card.is-danger i,
.ventas-info-card.is-danger strong {
    color: #be123c;
}

.ventas-info-table table {
    margin-bottom: 0 !important;
}

.ventas-info-table tbody td {
    vertical-align: middle;
}

.ventas-info-table td strong {
    display: block;
}

.ventas-info-table td small {
    color: #64748b;
    display: block;
    margin-top: 3px;
    max-width: 420px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ventas-rank {
    align-items: center;
    background: #e0f2fe;
    border-radius: 999px;
    color: #0369a1;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.ventas-empty-state {
    align-items: center;
    color: #64748b;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 32px 10px;
}

.ventas-empty-state i {
    color: #0f766e;
    font-size: 28px;
}

.ventas-empty-state strong {
    color: #0f172a;
    font-size: 16px;
}

.ventas-lost-note {
    color: #64748b;
    font-size: 12px;
    margin: 0;
}

.ventas-lost-note i {
    color: var(--botica-primary-dark);
    margin-right: 4px;
}

.caja-detail-wrapper {
    padding-left: 18px;
    padding-right: 18px;
}

.caja-hero {
    align-items: center;
    background: #0f172a;
    border-radius: 8px;
    color: #fff;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 16px;
    padding: 20px;
}

.caja-hero h1 {
    color: #fff;
    font-size: 26px;
    font-weight: 900;
    margin: 4px 0 6px;
}

.caja-hero p {
    color: #cbd5e1;
    margin: 0;
}

.caja-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.caja-kpis {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 16px;
}

.caja-kpi-card {
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    padding: 14px;
}

.caja-kpi-card i {
    color: var(--botica-primary-dark);
    float: right;
    font-size: 18px;
}

.caja-kpi-card span,
.caja-meta-grid span,
.caja-action-summary span {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.caja-kpi-card strong {
    color: #0f172a;
    display: block;
    font-size: 19px;
    font-weight: 900;
    margin-top: 5px;
}

.caja-panel {
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    overflow: hidden;
}

.caja-panel .panel-heading {
    background: #f8fafc;
    border-bottom: 1px solid var(--botica-border);
    color: #0f172a;
    font-weight: 900;
}

.caja-panel .panel-heading i {
    color: var(--botica-primary-dark);
    margin-right: 6px;
}

.caja-meta-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 14px;
}

.caja-meta-grid > div {
    background: #f8fafc;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    padding: 10px;
}

.caja-meta-grid strong {
    color: #0f172a;
    display: block;
    font-weight: 800;
    margin-top: 4px;
}

.caja-products-table table {
    margin-bottom: 0;
}

.caja-products-table th {
    background: #0f766e;
    border-color: #0f766e !important;
    color: #fff;
    font-size: 11px;
    text-transform: uppercase;
}

.caja-products-table td {
    vertical-align: middle !important;
}

.caja-qty-badge {
    background: #e0f2fe;
    border-radius: 999px;
    color: #0369a1;
    display: inline-block;
    font-weight: 900;
    min-width: 34px;
    padding: 5px 9px;
}

.caja-total-row th,
.caja-total-row td {
    background: #f8fafc;
    font-weight: 800;
}

.caja-grand-total-row th,
.caja-grand-total-row td {
    background: #ecfdf5;
    color: #065f46;
    font-size: 16px;
    font-weight: 900;
}

.caja-actions-panel {
    position: sticky;
    top: 84px;
}

.caja-action-summary {
    background: #f8fafc;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    margin-bottom: 14px;
    padding: 14px;
}

.caja-action-summary strong {
    color: #0f172a;
    display: block;
    font-size: 24px;
    font-weight: 900;
    margin-top: 4px;
}

.caja-action-summary small {
    color: #64748b;
    display: block;
    margin-top: 6px;
}

.caja-action-summary.is-paid {
    background: #ecfdf5;
    border-color: #bbf7d0;
}

.caja-change-box {
    margin-bottom: 14px;
}

.caja-change-result > div {
    align-items: center;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    padding: 10px 12px;
}

.caja-change-result .is-ok {
    background: #ecfdf5;
    color: #065f46;
}

.caja-change-result .is-pending {
    background: #fff1f2;
    color: #9f1239;
}

.caja-change-result span {
    font-weight: 800;
}

.caja-change-result strong {
    font-size: 18px;
}

.caja-action-buttons {
    display: grid;
    gap: 10px;
}

.caja-action-buttons .btn {
    width: 100%;
}

.reporte-ventas-wrapper {
    padding-left: 18px;
    padding-right: 18px;
}

.reporte-ventas-hero {
    align-items: center;
    background: #0f172a;
    border-radius: 8px;
    color: #fff;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 16px;
    padding: 20px;
}

.reporte-ventas-hero h1 {
    color: #fff;
    font-size: 26px;
    font-weight: 900;
    margin: 4px 0 6px;
}

.reporte-ventas-hero p {
    color: #cbd5e1;
    margin: 0;
}

.reporte-ventas-periodo {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    min-width: 210px;
    padding: 12px 14px;
    text-align: right;
}

.reporte-ventas-periodo span,
.reporte-ventas-kpi span {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.reporte-ventas-periodo span {
    color: #cbd5e1;
}

.reporte-ventas-periodo strong {
    color: #fff;
    display: block;
    font-size: 17px;
    font-weight: 900;
    margin-top: 4px;
}

.reporte-ventas-filter-card,
.reporte-ventas-table-card {
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    overflow: hidden;
}

.reporte-ventas-filter {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(180px, 260px) minmax(180px, 260px) auto;
}

.reporte-ventas-filter label {
    color: #334155;
    font-weight: 800;
}

.reporte-ventas-date .input-group-addon {
    background: #f8fafc;
    border-color: var(--botica-border);
    color: var(--botica-primary-dark);
}

.reporte-ventas-actions {
    display: flex;
    gap: 8px;
}

.reporte-ventas-feedback {
    color: #64748b;
    font-size: 12px;
    margin-top: 10px;
}

.reporte-ventas-feedback.is-error {
    color: #be123c;
    font-weight: 800;
}

.reporte-ventas-kpis {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: 16px;
}

.reporte-ventas-kpi {
    background: #fff;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    padding: 14px;
}

.reporte-ventas-kpi i {
    color: var(--botica-primary-dark);
    float: right;
    font-size: 18px;
}

.reporte-ventas-kpi strong {
    color: #0f172a;
    display: block;
    font-size: 20px;
    font-weight: 900;
    margin-top: 5px;
}

.reporte-ventas-table-card .panel-heading {
    background: #f8fafc;
    border-bottom: 1px solid var(--botica-border);
    color: #0f172a;
    font-weight: 900;
}

.reporte-ventas-table-card .panel-heading i {
    color: var(--botica-primary-dark);
    margin-right: 6px;
}

.reporte-ventas-table th {
    background: #0f766e;
    border-color: #0f766e !important;
    color: #fff;
    font-size: 11px;
    text-transform: uppercase;
}

.reporte-ventas-table td {
    vertical-align: middle !important;
}

.reporte-ventas-empty {
    align-items: center;
    color: #64748b;
    display: flex;
    flex-direction: column;
    gap: 6px;
    justify-content: center;
    min-height: 180px;
    text-align: center;
}

.reporte-ventas-empty i {
    align-items: center;
    background: #e0f2fe;
    border-radius: 999px;
    color: #0369a1;
    display: inline-flex;
    font-size: 24px;
    height: 52px;
    justify-content: center;
    width: 52px;
}

.reporte-ventas-empty strong {
    color: #0f172a;
    font-size: 16px;
}

@media (max-width: 767px) {
    .ventas-info-modal .modal-dialog {
        margin: 8px auto;
        width: calc(100% - 12px);
    }

    .ventas-lost-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .ventas-lost-header .btn {
        width: 100%;
    }

    .ventas-info-table td small {
        max-width: 220px;
    }

    .ventas-payment-grid {
        grid-template-columns: 1fr;
    }

    .ventas-cart-floating {
        bottom: 12px;
        right: 12px;
    }

    .ventas-cart-trigger {
        height: 48px;
        padding: 0 14px;
    }

    .caja-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .caja-hero-actions {
        justify-content: stretch;
        width: 100%;
    }

    .caja-hero-actions .btn {
        flex: 1 1 140px;
    }

    .caja-kpis,
    .caja-meta-grid {
        grid-template-columns: 1fr;
    }

    .ventas-caja-summary {
        grid-template-columns: 1fr;
    }

    .caja-actions-panel {
        position: static;
    }

    .reporte-ventas-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .reporte-ventas-periodo {
        text-align: left;
        width: 100%;
    }

    .reporte-ventas-filter,
    .reporte-ventas-kpis {
        grid-template-columns: 1fr;
    }

    .reporte-ventas-actions {
        flex-direction: column;
    }
}

.ventas-modal-wide .modal-dialog {
    width: min(1180px, calc(100% - 40px));
}

.ventas-modal-wide .modal-body {
    max-height: 70vh;
    overflow: auto;
}

.cuota-modal .modal-dialog {
    width: min(760px, calc(100% - 40px));
}

.cuota-modal-body > h4 {
    font-size: 20px;
    font-weight: 800;
    margin-top: 0;
}

.cuota-summary {
    margin-left: -8px;
    margin-right: -8px;
}

.cuota-summary > [class*="col-"] {
    padding-left: 8px;
    padding-right: 8px;
}

.cuota-summary-card {
    background: #f8fafc;
    border: 1px solid var(--botica-border);
    border-radius: 8px;
    min-height: 112px;
    padding: 14px 10px;
}

.cuota-summary-card h5 {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.cuota-summary-card h3 {
    font-size: 22px;
    font-weight: 800;
    margin: 0;
}

.cuota-modal .progress {
    background: #e2e8f0;
    border-radius: 999px;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, .08);
    height: 26px !important;
    overflow: hidden;
}

.cuota-modal .progress-bar {
    font-weight: 800;
    line-height: 26px;
}

@media (max-width: 991px) {
    .ventas-pos-hero {
        flex-direction: column;
    }

    .ventas-pos-actions,
    .ventas-panel-actions {
        justify-content: flex-start;
    }

    .ventas-searchbar {
        grid-template-columns: 1fr;
    }

    .ventas-pos-wrapper {
        padding-left: 12px;
        padding-right: 12px;
    }

    .ventas-pos-page .dataTables_filter {
        text-align: left;
    }

    .ventas-pos-page .dataTables_filter input {
        display: block;
        margin: 6px 0 0;
        min-width: 0;
        width: 100%;
    }

    .ventas-modal .modal-dialog,
    .ventas-modal-wide .modal-dialog,
    .cuota-modal .modal-dialog {
        margin: 10px auto;
        width: calc(100% - 20px);
    }
}
