/* Presentation only: original controls, source order and DataTables behavior. */
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen .page-title-box:has(.breadcrumb):not(:has(.breadcrumb > *, h1, h2, h3, h4, h5, h6, button, a)) { display: none; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen .card-body > h3 { margin: 0 0 20px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen .card-body > h3 .badge { margin-bottom: 0; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-list-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-list-heading h3 { margin: 0; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-list-heading h3 .badge { margin-bottom: 0; }
.cookep-company-create-modal .modal-dialog { max-width: 960px; }
.cookep-company-create-modal .modal-dialog-centered { min-height: 0; height: calc(100dvh - 56px); }
.cookep-company-create-modal .modal-dialog-centered::before { display: none; }
html:has(.cookep-company-create-modal.show) { overflow-y: hidden; }
.cookep-company-create-modal .modal-content { max-height: calc(100dvh - 56px); }
.cookep-company-create-modal .modal-body { overflow-y: auto; }
.cookep-company-create-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
.cookep-company-create-fields > .form-group.row { display: block; margin: 0; min-width: 0; }
.cookep-company-create-fields > .form-group.row > [class*='col-'] { width: 100%; max-width: none; padding: 0; }
.cookep-company-create-fields .col-form-label { display: block; padding: 0; margin-bottom: 7px; font-size: 12px; }
.cookep-company-create-fields #register_color_empresa { max-width: 100px; margin: 0 !important; }
.cookep-company-create-fields #empresaDePrueba { width: 20px; height: 20px; padding: 0; }
.cookep-company-create-fields > #crearEmpresaError { grid-column: 1 / -1; margin: 0; }
@media (max-width: 767px) {
    .cookep-company-create-modal .modal-dialog-centered { height: calc(100dvh - 24px); }
    .cookep-company-create-modal .modal-content { max-height: calc(100dvh - 24px); }
    .cookep-company-create-fields { grid-template-columns: minmax(0, 1fr); }
}

/* Keep the real/test-company selector compact, with its original checkbox. */
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .switch-button { position: relative; margin: 4px 0 16px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .switch-button__checkbox {
    display: block; position: absolute; width: 1px; height: 1px;
    padding: 0; margin: 0; opacity: 0; clip-path: inset(50%);
}
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .switch-button__label {
    display: inline-block; vertical-align: middle; width: 36px; height: 22px;
    margin: 0; border: 1px solid #9ca3af; border-radius: 99px;
    background: #d1d5db; cursor: pointer;
}
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .switch-button__label:before {
    width: 16px; height: 16px; top: 2px; left: 2px; margin: 0;
    border: 0; box-shadow: 0 1px 3px rgba(15,15,16,.16);
}
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .switch-button__checkbox:checked + .switch-button__label {
    border-color: var(--cookep-violet); background: var(--cookep-violet);
}
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .switch-button__checkbox:checked + .switch-button__label:before { transform: translateX(14px); }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .switch-button__checkbox:focus-visible + .switch-button__label {
    outline: 2px solid var(--cookep-violet); outline-offset: 3px;
}
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .switch-button__text {
    display: inline-block; vertical-align: middle; margin: 0 0 0 8px;
    width: auto; height: auto; font-size: 13px; line-height: 22px; color: #4b5563; font-weight: 500;
}
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .toggle-empresa-comedor-container .switch-button { gap: 0; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .toggle-empresa-comedor-container > .row:first-of-type > .d-flex { gap: 16px; margin-bottom: 16px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .toggle-empresa-comedor-container .btn-group-toggle { border-width: 1px; height: 34px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .toggle-empresa-comedor-container .toggle-btn { font-size: 12px; min-width: 88px; }

/* Filters follow the workspace width, including a docked menu. */
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen .card-body > .cookep-filter-row {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px; margin: 16px 0 20px !important; align-items: end;
}
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen .card-body > .cookep-filter-row > [class*='col-'] {
    padding: 0; width: auto; max-width: none; margin: 0 !important;
}
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-filter-row > [class*='col-'] > :is(label, span) {
    display: block; margin-bottom: 7px; font-size: 12px; font-weight: 600; color: #4b5563;
}
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-filter-row .form-control:not(.bootstrap-select > select),
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-filter-row .bootstrap-select { margin-bottom: 0 !important; width: 100% !important; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-filter-row .dropdown > br { display: none; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-filter-row > [class*='col-'] > br { display: none; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-filter-row .btn { min-height: 38px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-company-actions { flex-wrap: wrap; align-items: start; gap: 12px; margin-bottom: 20px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-company-actions > #empresa { flex: 1 1 280px; max-width: 460px; margin-bottom: 0 !important; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-company-actions > .dropdown { margin-left: 0 !important; }

/* The existing nested toolbar becomes one aligned row; nothing is relocated. */
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .view-pager { margin-inline: 0; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .view-pager > .row {
    display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px;
    width: 100%; margin: 0 0 18px; padding: 0;
}
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .view-pager > .row > [class*='col-'] { flex: 0 1 auto; width: auto; max-width: 100%; padding: 0; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .view-pager > .row > :last-child { margin-left: auto; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .view-pager :is(.dt-buttons, .dataTables_length, .dataTables_filter) { margin: 0; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .dataTables_length label { display: flex; align-items: center; gap: 7px; margin: 0; font-size: 12px; white-space: nowrap; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .dataTables_length select { width: auto; min-width: 64px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .dataTables_filter label { margin: 0; font-size: 12px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .dataTables_filter form { min-width: 0; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .dataTables_filter input { width: 180px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .dt-buttons .btn { padding: 7px 11px; border-radius: 8px; font-size: 12px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .dataTables_info { color: var(--cookep-muted); font-size: 12px; padding-top: 14px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .pagination { justify-content: flex-end; margin-top: 12px; }

/* Short headers stay on one line; narrative fields still wrap in the rows. */
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .table > thead > tr > th { white-space: nowrap; vertical-align: middle; font-size: 12px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .table > tbody > tr > td { vertical-align: middle; line-height: 1.55; font-variant-numeric: tabular-nums; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .table :is(th, td) { padding: 11px 12px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .table th:is(.sorting, .sorting_asc, .sorting_desc) { padding-right: 28px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .table .dataTables_empty { padding: 24px 12px; text-align: center; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .table td .dropdown { margin-left: 0 !important; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .table td > .btn { margin: 2px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .dropdown-menu .dropdownItem { width: 100%; text-align: left; padding: 8px 14px; white-space: normal; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .table .btn-group { gap: 4px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .table td:has(> .btn-group) { white-space: nowrap; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .table td > .btn-group + .btn-group { margin-left: 4px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .table .btn-group > .btn { padding: 6px 9px; border-radius: 7px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) #datatable-empresas > tbody > tr:not(.child) > td:nth-child(1) { min-width: 180px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) #datatable-empresas > tbody > tr:not(.child) > td:nth-child(3) { min-width: 160px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) #datatable-empresas > tbody > tr:not(.child) > :is(td:nth-child(2), td:nth-child(5), td:nth-child(6), td:nth-child(7)) { white-space: nowrap; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child { padding-left: 30px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper table.dataTable > tbody > tr.child ul.dtr-details { width: 100%; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper table.dataTable > tbody > tr.child .dtr-title { margin-right: 12px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper table.dataTable > tbody > tr.child .dtr-data { white-space: normal; }

/* Company creation retains field order in a two-column form. */
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen--carga-empresa .card-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen--carga-empresa .card-body > :is(h3, p, .form-group:not(.row)) { grid-column: 1 / -1; margin: 0; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen--carga-empresa .card-body > .form-group.row { display: block; margin: 0; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen--carga-empresa .form-group.row > [class*='col-'] { padding: 0; width: 100%; max-width: none; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen--carga-empresa .col-form-label { display: block; padding: 0; margin-bottom: 7px; font-size: 12px; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen--carga-empresa #register_color_empresa { max-width: 100px; margin-bottom: 0 !important; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen--carga-empresa #empresaDePrueba { width: 20px; height: 20px; padding: 0; }
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen--carga-empresa .card-body > .form-group:not(.row) { padding-top: 18px; border-top: 1px solid var(--cookep-line); margin-top: 0 !important; }

/* Billing fields adapt to their own narrow card, rather than the whole page. */
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen--lista-remito #form_datos_adicionalesfacturacion {
    container-type: inline-size; container-name: cookep-billing;
}
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) #form_datos_adicionalesfacturacion > .cookep-filter-row {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px;
    margin: 14px 0;
}
body.cookep-theme:is(.has-qk-nav, .cookep-company-account) #form_datos_adicionalesfacturacion > .cookep-filter-row > [class*='col-'] {
    padding: 0; width: auto; max-width: none; margin-bottom: 0;
}
@container cookep-billing (max-width: 360px) {
    body.cookep-theme:is(.has-qk-nav, .cookep-company-account) #form_datos_adicionalesfacturacion > .cookep-filter-row { grid-template-columns: minmax(0, 1fr); }
}

@container cookep-workspace (max-width: 700px) {
    body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen .card-body > .cookep-filter-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen--carga-empresa .card-body { grid-template-columns: minmax(0, 1fr); }
    body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .view-pager > .row > :last-child { margin-left: 0; flex: 1 1 100%; }
    body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .dataTables_filter label { justify-content: flex-start !important; }
    body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .dataTables_filter form { flex: 1; }
    body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .dataTables_filter input { width: 100%; }
}
@container cookep-workspace (max-width: 450px) {
    body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen .card-body > .cookep-filter-row { grid-template-columns: minmax(0, 1fr); }
    body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .dataTables_wrapper .pagination { justify-content: flex-start; }
}
@media print {
    body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .wrapper .table > thead > tr > th { white-space: normal; }
    body.cookep-theme:is(.has-qk-nav, .cookep-company-account) .cookep-screen--carga-empresa .card-body { display: block; }
}

/* Company accounts retain their existing header and route permissions. */
body.cookep-theme.cookep-company-account .wrapper { container-type: inline-size; container-name: cookep-workspace; }
body.cookep-theme.cookep-company-account #topnav .dripicons-blog { font-family: FontAwesome !important; }
body.cookep-theme.cookep-company-account #topnav .dripicons-blog::before { font-family: FontAwesome !important; content: "\f0f6"; }
body.cookep-theme.cookep-company-account .wrapper :is(.card, .card-body, .dataTables_wrapper, .dataTables_scroll, .row > [class*="col-"]) { min-width: 0; max-width: 100%; }
body.cookep-theme.cookep-company-account .wrapper .page-title-box:has(.breadcrumb):not(:has(h1, h2, h3, h4, h5, h6, button, a)) { display: none; }
body.cookep-theme.cookep-company-account .wrapper .card-body > h3 { margin: 0 0 20px; }
body.cookep-theme.cookep-company-account .wrapper .card-body > h3 .badge { margin-bottom: 0; }
body.cookep-theme.cookep-company-account .dataTables_filter input { max-width: 100%; }
body.cookep-theme.cookep-company-account .dataTables_wrapper .dt-buttons { display: flex; flex-wrap: wrap; gap: 6px; max-width: 100%; }
body.cookep-theme.cookep-company-account .dataTables_wrapper .dt-buttons > .btn { flex: 0 1 auto; margin: 0; white-space: normal; border-radius: 8px !important; }
body.cookep-theme.cookep-company-account .cookep-company-balance-table { width: 100%; }
body.cookep-theme.cookep-company-account .cookep-company-balance-table .dataTables_wrapper { min-width: 420px; }
body.cookep-theme.cookep-company-account .cookep-radio-option { display: inline-flex; align-items: center; gap: 7px; margin: 0; }
body.cookep-theme.cookep-company-account .divRadio { display: flex; flex-wrap: wrap; gap: 12px 20px; margin: 8px 0 20px; }
body.cookep-theme.cookep-company-account .cookep-radio-option input { margin: 0; }
body.cookep-theme.cookep-company-account .showTooltip { position: relative; }
body.cookep-theme.cookep-company-account .hovercard { left: 50%; top: 100%; width: min(280px, calc(100vw - 64px)); transform: translateX(-50%); display: none; pointer-events: none; }
body.cookep-theme.cookep-company-account .showTooltip:hover .hovercard,
body.cookep-theme.cookep-company-account .showTooltip:focus-within .hovercard { display: block; }
body.cookep-theme.cookep-company-account .hovercard .tooltiptext { width: 100%; margin: 0 !important; white-space: normal; }
body.cookep-theme.cookep-company-account .generar-pedido-header { border-left-color: var(--cookep-violet); }
body.cookep-theme.cookep-company-account .generar-pedido-footer #cargar { background: var(--cookep-violet); border-color: var(--cookep-violet); }
body.cookep-theme.cookep-company-account .generar-pedido-footer #cargar:hover { background: var(--cookep-violet-dark); border-color: var(--cookep-violet-dark); }
@media (max-width: 767px) {
    body.cookep-theme.cookep-company-account .dataTables_wrapper .view-pager > .row > [class*="col-"] { flex: 1 1 100%; }
    body.cookep-theme.cookep-company-account .dataTables_wrapper .view-pager > .row > :last-child { margin-left: 0; }
    body.cookep-theme.cookep-company-account .dataTables_wrapper .dataTables_filter label { display: flex; align-items: center; gap: 8px; text-align: left; }
    body.cookep-theme.cookep-company-account .dataTables_wrapper .dataTables_filter input { flex: 1; min-width: 0; }
    body.cookep-theme.cookep-company-account .wrapper .card-body { padding: 20px; }
}
