
:root { --mk-field-h: 38px; }
html input.form-control:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]):not(td *):not(th *),
html select.form-control:not([multiple]):not([size]):not(td *):not(th *),
html input.tw-dw-input:not(td *), html select.tw-dw-select:not(td *),
html .dataTables_filter input, html .dt-search input,
html .dataTables_length select, html .dt-length select {
    height: var(--mk-field-h) !important; min-height: var(--mk-field-h) !important;
    max-height: var(--mk-field-h) !important; box-sizing: border-box !important;
}
html .select2-container:not(td *) .select2-selection--single {
    height: var(--mk-field-h) !important; min-height: var(--mk-field-h) !important;
    max-height: var(--mk-field-h) !important; box-sizing: border-box !important;
    padding-top: 0 !important; padding-bottom: 0 !important;   /* a 46px min-height elsewhere */
}
html .select2-container:not(td *) .select2-selection--single .select2-selection__rendered {
    line-height: calc(var(--mk-field-h) - 2px) !important;
}
html .select2-container:not(td *) .select2-selection--single .select2-selection__arrow {
    height: calc(var(--mk-field-h) - 2px) !important;
}
/* The text in the middle of the box, everywhere (owner 2026-10-07: "some are in the middle,
   some a little to the top"). vendor.css (AdminLTE) lifts the selected text with
   margin-top:-4px, made for its old 34px boxes: in a 38px field it sat 4px above the
   centre while a plain <select> beside it was centred. A flex row centres it whatever the
   field height, inside table cells too; the arrow is centred the same way. */
html .select2-container .select2-selection--single { display: flex !important; align-items: center !important; }
html .select2-container .select2-selection--single .select2-selection__rendered {
    margin-top: 0 !important; flex: 1 1 auto; min-width: 0; }
html .select2-container .select2-selection--single .select2-selection__arrow {
    top: 50% !important; transform: translateY(-50%); }
html .select2-container:not(td *) .select2-selection--multiple {
    min-height: var(--mk-field-h) !important; box-sizing: border-box !important;
}
html .input-group:not(td *) > .input-group-addon,
html .input-group:not(td *) > .input-group-text,
html .input-group:not(td *) > .input-group-btn > .btn,
html .input-group:not(td *) > .input-group-append > *,
html .input-group:not(td *) > .input-group-prepend > * {
    height: var(--mk-field-h) !important; min-height: var(--mk-field-h) !important; box-sizing: border-box !important;
}
/* a select with its '+' manage button (.mk-field-with-add, css/base.html): its flex
   row stretched both to 46px */
html .mk-field-with-add { align-items: center !important; }
html .mk-field-with-add > .select2-container,
html .mk-field-with-add > .input-group-btn,
html .mk-field-with-add > .input-group-btn > .btn { height: var(--mk-field-h) !important; min-height: 0 !important; }
