.formularioMultiClienteMultipunto {
    --altura-control-formulario: 32px;
}

.formularioMultiClienteMultipunto :global(.col),
.formularioMultiClienteMultipunto :global(td),
.formularioMultiClienteMultipunto :global(.input-group) {
    scroll-margin-top: 6rem;
}

.formularioMultiClienteMultipunto :global(.form-control:not(textarea)),
.formularioMultiClienteMultipunto :global(.form-select),
.formularioMultiClienteMultipunto :global(.input-group .btn),
.formularioMultiClienteMultipunto :global(.rbt-input-main),
.formularioMultiClienteMultipunto :global(.flatpickr-input),
.formularioMultiClienteMultipunto :global(input.form-control.input) {
    height: var(--altura-control-formulario) !important;
    min-height: var(--altura-control-formulario) !important;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    line-height: 1.25;
    box-sizing: border-box;
}

.formularioMultiClienteMultipunto :global(textarea.form-control) {
    height: auto !important;
    min-height: 5rem;
}

.formularioMultiClienteMultipunto .tableResponsive :global(.form-control:not(textarea)),
.formularioMultiClienteMultipunto .tableResponsive :global(.form-select),
.formularioMultiClienteMultipunto .tableResponsive :global(.rbt-input-main),
.formularioMultiClienteMultipunto .tableResponsive :global(.flatpickr-input),
.formularioMultiClienteMultipunto .tableResponsive .selectFullWidth {
    height: var(--altura-control-formulario) !important;
    min-height: var(--altura-control-formulario) !important;
}

.dialogContenidoPrecios :global(.form-control:not(textarea)),
.dialogContenidoPrecios :global(.form-select),
.dialogContenidoPrecios :global(.rbt-input-main),
.dialogContenidoPrecios :global(.flatpickr-input) {
    height: var(--altura-control-formulario, 32px) !important;
    min-height: var(--altura-control-formulario, 32px) !important;
    box-sizing: border-box;
}

.filaConError {
    background-color: rgba(220, 53, 69, 0.06) !important;
}

.feedbackCeldaTabla {
    font-size: 0.65rem;
    line-height: 1.1;
    margin-top: 0.15rem;
}

.customDateInput { border: 1px solid #ced4da !important; border-radius: 4px; padding: 4px 8px; background: #fff; outline: none; transition: all 0.2s ease; cursor: pointer; } .customDateInput:focus { border: 1px solid #dee2e6 !important; box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25) !important; outline: none; cursor: text; } .customDateInput:hover { border-color: #adb5bd !important; } .customDateInput::-webkit-calendar-picker-indicator { width: 8px; height: 8px; cursor: pointer; } .invisibleInput { border: 1px solid #ced4da !important; background: #fff !important; box-shadow: none !important; } .invisibleInput:focus { border: 1px solid #dee2e6 !important; box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25) !important; } .rbtInputMain { border: 1px solid #e3e6f0 !important; border-radius: 6px !important; padding: 6px 12px !important; transition: all 0.2s ease !important; } .rbtInputMain:focus { border-color: #80bdff !important; box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25) !important; } .rbtMenu { z-index: 1060 !important; max-height: 250px !important; overflow-y: auto !important; border: 1px solid #dee2e6 !important; border-radius: 6px !important; box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important; background: white !important; } .cupsTableContainer { min-height: 200px !important; position: relative !important; overflow-x: auto !important; overflow-y: visible !important; padding-bottom: 200px !important; } .tableResponsive { overflow-x: auto !important; overflow-y: visible !important; min-height: 150px !important; white-space: nowrap !important; } .table tbody tr { position: relative !important; } .cupsTableContainer::-webkit-scrollbar { height: 12px !important; } .cupsTableContainer::-webkit-scrollbar-track { background: #f1f1f1 !important; border-radius: 6px !important; } .cupsTableContainer::-webkit-scrollbar-thumb { background: #c1c1c1 !important; border-radius: 6px !important; } .cupsTableContainer::-webkit-scrollbar-thumb:hover { background: #a8a8a8 !important; } .table td, .table th { white-space: nowrap !important; vertical-align: middle !important; } .cardBody { overflow-y: visible !important; } .rbtMenuItem { padding: 8px 12px !important; font-size: 13px !important; border-bottom: 1px solid #f8f9fa !important; } .rbtMenuItem:hover, .rbtMenuItem.active { background-color: #f8f9fa !important; color: #495057 !important; } .rbtMenuItem:last-child { border-bottom: none !important; } .formSelectInvisibleInput:hover, .customDateInput:hover, .rbtInputMain:hover, .btn:hover { cursor: pointer !important; } .formSelectInvisibleInput, .rbtInputMain { cursor: pointer !important; } .formSelectInvisibleInput:focus, .rbtInputMain:focus { cursor: text !important; } .rbtMenuItem { cursor: pointer !important; } /* Table Header Styles */ .thHeader { word-break: break-word !important; text-align: center !important; } .thHeaderLarge { width: 250px !important; word-break: break-word !important; text-align: center !important; } .thHeaderMedium { width: 160px !important; word-break: break-word !important; text-align: center !important; } .thHeaderSmall { width: 80px !important; word-break: break-word !important; text-align: center !important; } .thHeaderTiny { width: 50px !important; word-break: break-word !important; text-align: center !important; cursor: pointer !important; } /* Table Cell Styles */ .tdCell { word-break: break-word !important; vertical-align: middle !important; } .tdCellLarge { width: 250px !important; word-break: break-word !important; vertical-align: middle !important; } /* CUPS column needs extra width to fit Typeahead loader + clear button on one line */ .thHeaderCups { width: 310px !important; } .tdCellCups { width: 310px !important; } .tdCellMedium { width: 160px !important; word-break: break-word !important; vertical-align: middle !important; } .tdCellSmall { width: 80px !important; word-break: break-word !important; vertical-align: middle !important; } .tdCellTiny { width: 50px !important; word-break: break-word !important; vertical-align: middle !important; text-align: center !important; } .tdCellAllBreak { width: 270px !important; word-break: break-all !important; vertical-align: middle !important; } /* Checkbox Styles */ .checkboxInput { width: 20px !important; height: 20px !important; } /* Input Styles */ .dateInput { width: 100px !important; border: 1px solid #ced4da !important; background: #fff !important; border-radius: 0.375rem; word-break: break-word !important; } .readonlyInput { background: #f8f9fa !important; font-size: 12px !important; } .selectInvisible { border: 1px solid #ced4da !important; background: #fff !important; border-radius: 0.375rem; word-break: break-word !important; } .selectFullWidth { width: 100% !important; border: 1px solid #ced4da !important; border-radius: 0.375rem; word-break: break-word !important; padding: 4px 8px !important; background: #fff !important; cursor: pointer !important; } .selectFullWidth:focus { border: 1px solid #dee2e6 !important; box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25) !important; outline: none !important; } .selectFullWidth:hover { border-color: #adb5bd !important; } /* Disabled Field Placeholder */ .disabledFieldPlaceholder { display: flex !important; align-items: center !important; justify-content: center !important; height: 38px !important; background-color: #f8f9fa !important; border-radius: 4px !important; color: #999 !important; font-size: 12px !important; font-weight: bold !important; } /* Flex Container Styles */ .flexCenter { display: flex !important; align-items: center !important; justify-content: center !important; } .flexStart { display: flex !important; align-items: center !important; gap: 4px !important; width: 100% !important; } .cupsInputContainer { display: flex !important; align-items: center !important; gap: 4px !important; width: 100% !important; } /* Table Row Height */ .tableRow { height: 56px !important; } /* Button Group Styles */ .actionButtons { display: flex !important; gap: 4px !important; } /* Input Group Styles */ .inputGroupSmall { font-size: 12px !important; } /* Inline Button Styles */ .buttonSmallPadding { padding: 2px 6px !important; font-size: 10px !important; } /* Search Button Styling */ .searchButton { font-size: 14px !important; } /* Scroll Button Styles (from Refactored) */ .scrollButton { background: orange !important; border: 2px solid orange !important; color: #fff !important; font-weight: 500 !important; box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important; display: flex !important; align-items: center !important; gap: 4px !important; } .scrollButton:hover { background: #e69500 !important; border-color: #e69500 !important; } .thStickyHeader { position: sticky !important; top: 0 !important; z-index: 12 !important; background: #e9ecef !important; box-shadow: 0 1px 0 #dee2e6 !important; } .thStickyFilter { position: sticky !important; top: 40px !important; z-index: 11 !important; background: #f8f9fa !important; padding: 4px 2px !important; vertical-align: top !important; white-space: normal !important; } .filterInput { min-width: 56px !important; font-size: 11px !important; padding: 2px 4px !important; } .filterSelect { min-width: 56px !important; font-size: 11px !important; padding: 2px 4px !important; max-width: 100% !important; } .tableToolbar { flex-wrap: wrap !important; }

/* Inputs Bootstrap dentro de la tabla: borde siempre visible */
.tableResponsive :global(.form-control),
.tableResponsive :global(.form-select) {
    border: 1px solid #ced4da !important;
    background-color: #fff !important;
}
.tableResponsive :global(.form-control:focus),
.tableResponsive :global(.form-select:focus) {
    border-color: #86b7fe !important;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15) !important;
}

.formularioMultiClienteMultipunto :global(.customDateInput:focus-visible),
.formularioMultiClienteMultipunto :global(.rbt-input-main:focus-visible),
.formularioMultiClienteMultipunto :global(.form-control:focus-visible),
.formularioMultiClienteMultipunto :global(.form-select:focus-visible),
.formularioMultiClienteMultipunto :global(.btn:focus-visible),
.formularioMultiClienteMultipunto :global(button:focus-visible:not(:disabled)),
.formularioMultiClienteMultipunto :global(a:focus-visible:not([tabindex="-1"])),
.formularioMultiClienteMultipunto :global(.btn-link:focus-visible),
.formularioMultiClienteMultipunto :global(.btn-close:focus-visible),
.formularioMultiClienteMultipunto :global(.form-check-input:focus-visible),
.formularioMultiClienteMultipunto :global(input[type="checkbox"]:focus-visible),
.formularioMultiClienteMultipunto :global(input[type="radio"]:focus-visible) {
    outline: 2px solid rgba(0, 0, 0, 0.72) !important;
    outline-offset: 2px;
    box-shadow: none !important;
}

.tableResponsive :global(.form-control:focus-visible),
.tableResponsive :global(.form-select:focus-visible),
.tableResponsive :global(.btn:focus-visible),
.tableResponsive :global(button:focus-visible:not(:disabled)),
.tableResponsive :global(input[type="checkbox"]:focus-visible),
.tableResponsive :global(input[type="radio"]:focus-visible) {
    outline: 2px solid rgba(0, 0, 0, 0.72) !important;
    outline-offset: 2px;
    box-shadow: none !important;
}

.formularioMultiClienteMultipunto :global(.btn:hover:not(:disabled):not(.disabled)),
.formularioMultiClienteMultipunto :global(button:hover:not(:disabled)),
.tableResponsive :global(.btn:hover:not(:disabled):not(.disabled)),
.tableResponsive :global(button:hover:not(:disabled)) {
    outline: 1px solid #adb5bd;
    outline-offset: 1px;
}

.checkboxInput {
    cursor: pointer;
    transition: border-color 0.15s ease;
}

.checkboxInput:hover:not(:disabled) {
    border-color: #adb5bd !important;
}

.checkboxInput:focus-visible {
    outline: 2px solid rgba(0, 0, 0, 0.72);
    outline-offset: 2px;
    box-shadow: none;
}

.tableResponsive {
    overflow-x: auto !important;
    overflow-y: visible !important;
    min-height: 150px !important;
    white-space: nowrap !important;
    padding-bottom: 240px !important;
}

.tableResponsive :global(td),
.tableResponsive :global(th) {
    overflow: visible !important;
}

.tableResponsive :global(.rbt-menu) {
    z-index: 1060 !important;
}
