/* Barra de agarre táctil: los formularios conservan su edición y guardado nativos. */
.bcm-finger-ui[hidden], .bcm-finger-ui [hidden] { display: none !important; }
.bcm-finger-ui { color: #fff; font-family: inherit; pointer-events: none; }
.bcm-finger-ui * { box-sizing: border-box; }
.bcm-finger-scroll { position: fixed; z-index: 1062; pointer-events: none; }
.bcm-finger-y { width: 88px; }
.bcm-finger-x { height: 88px; }
.bcm-finger-track { position: absolute; inset: 0; border-radius: 22px; background: #d9eaf4; border: 1px solid #a7c5d8; box-shadow: 0 4px 16px rgb(25 58 80 / 15%); opacity: 0; transition: opacity .1s ease; overflow: hidden; }
.bcm-finger-track > span { position: absolute; background: #73a8cd; }
.bcm-finger-y .bcm-finger-track > span { top: 0; left: 6px; width: 4px; height: var(--bcm-finger-progress, 0%); }
.bcm-finger-x .bcm-finger-track > span { bottom: 6px; left: 0; height: 4px; width: var(--bcm-finger-progress, 0%); }
.bcm-finger-grip {
    position: absolute; display: flex; align-items: center; justify-content: space-around; gap: 2px;
    margin: 0; padding: 4px; border: 0; border-radius: 16px;
    color: #fff; background: transparent; box-shadow: none;
    font: 13px/1.2 Arial, sans-serif; pointer-events: auto;
    touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none;
    transition: width .1s ease, height .1s ease, opacity .1s ease; cursor: grab;
}
.bcm-finger-y .bcm-finger-grip { flex-direction: column; width: 24px; height: 96px; right: 0; top: calc(var(--bcm-finger-rest, 50%) + var(--bcm-finger-offset, 0px)); transform: translateY(-50%); }
.bcm-finger-x .bcm-finger-grip { flex-direction: row; width: 104px; height: 24px; left: calc(50% + var(--bcm-finger-offset, 0px)); top: 50%; transform: translate(-50%, -50%); }
/* Solo una señal en el borde; el área táctil es mayor que la marca visible. */
.bcm-finger-grip::before { content: ''; position: absolute; border-radius: 4px; background: #527f9d; opacity: .6; pointer-events: none; }
.bcm-finger-y .bcm-finger-grip::before { width: 4px; height: 44px; right: 0; top: calc(50% - 22px); }
.bcm-finger-x .bcm-finger-grip::before { width: 44px; height: 4px; left: calc(50% - 22px); top: calc(50% - 2px); }
.bcm-finger-grip > span { visibility: hidden; }
.bcm-finger-caption { font-size: 11px; white-space: nowrap; }
.bcm-finger-arrow { font-size: 22px; line-height: 1; }
.bcm-finger-value { display: none; font-size: 14px; font-variant-numeric: tabular-nums; }
.bcm-finger-scroll.is-expanded { z-index: 1063; }
.bcm-finger-scroll.is-expanded .bcm-finger-track { opacity: 1; }
.bcm-finger-scroll.is-expanded .bcm-finger-grip { background: #0062a8; border: 3px solid #fff; box-shadow: 0 2px 8px rgb(12 58 89 / 18%); cursor: grabbing; }
.bcm-finger-scroll.is-expanded .bcm-finger-grip::before { opacity: 0; }
.bcm-finger-scroll.is-expanded .bcm-finger-grip > span { visibility: visible; }
.bcm-finger-y.is-expanded .bcm-finger-grip { width: 88px; height: 104px; }
.bcm-finger-x.is-expanded .bcm-finger-grip { height: 88px; width: 120px; }
.bcm-finger-scroll.is-expanded .bcm-finger-value { display: block; }
.bcm-finger-scroll.is-expanded .bcm-finger-caption { font-size: 13px; }
.bcm-finger-ui.is-dragging .bcm-finger-scroll:not(.is-dragging) { visibility: hidden; }
.bcm-finger-grip:focus-visible { outline: 3px solid #b87500; outline-offset: 3px; }
/* Reservar solo el borde táctil. La expansión no cambia el ancho del formulario. */
@media screen and (max-width: 1023px) {
    body.bcm-finger-ready section.content { margin-right: 28px !important; }
    body.bcm-finger-ready .modal-dialog { margin-right: 36px !important; max-width: calc(100% - 48px) !important; }
    body.bcm-finger-ready dialog[open] { max-width: calc(100% - 48px); margin-right: 36px; }
}
@media screen and (min-width: 1024px) { .bcm-finger-ui { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .bcm-finger-track, .bcm-finger-grip { transition: none; } }
@media print { .bcm-finger-ui { display: none !important; } body.bcm-finger-ready section.content { margin-right: 0 !important; } }
