:root{--pos-ink:#101a31;--pos-muted:#7a879d;--pos-line:#e3e8f0;--pos-yellow:#3867ff;--pos-cyan:#14d8ff}
.pos-page .modal-content > .modal-header{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}
.pos-page .page-wrapper{background:linear-gradient(180deg,#f7f9fc,#f2f5f9);min-height:100vh}.pos-page .content{max-width:1760px;margin:0 auto;padding-top:26px!important}
.pos-page .page-header{position:relative;display:flex;align-items:center;min-height:184px;margin:0 0 22px;padding:30px 38px;overflow:hidden;border:0;border-radius:20px;background:radial-gradient(circle at 94% 0,rgba(20,216,255,.14),transparent 250px),linear-gradient(125deg,#0b1020,#17213a 72%,#10182c);box-shadow:0 16px 34px rgba(16,26,49,.15)}
.pos-page .page-header:before{content:"GESTIÓN POS";position:absolute;top:28px;left:38px;color:#14d8ff;font-size:10px;font-weight:900;letter-spacing:.17em}.pos-page .page-header:after{content:"";position:absolute;right:-42px;top:-100px;width:245px;height:245px;border:1px solid rgba(56,103,255,.38);border-radius:50%;pointer-events:none}
.pos-page .page-header .page-title{position:relative;z-index:1;padding-top:25px}.pos-page .page-header .page-title h4{margin:0 0 9px;color:#fff;font-size:clamp(24px,2vw,31px);font-weight:800;letter-spacing:-.025em}.pos-page .page-breadcrumb,.pos-page .page-breadcrumb a,.pos-page .page-breadcrumb span{color:#c9d2e2!important;font-size:12px}.pos-page .page-breadcrumb .breadcrumb-current{color:#fff!important;font-weight:700}.pos-page .page-header .page-btn{position:relative;z-index:1;align-self:flex-end}.pos-page .page-header .btn{min-height:43px;border:0;border-radius:11px;padding:10px 17px;font-weight:750;box-shadow:none}.pos-page .page-header .btn-warning,.pos-page .page-header .btn-added,.pos-page .page-header .btn-confirmar{background:linear-gradient(110deg,#3867ff,#7b61ff)!important;color:#fff!important}.pos-page .page-header .btn-dark{background:#fff!important;color:#111827!important}
.pos-page .card{border:1px solid var(--pos-line);border-radius:17px;box-shadow:0 9px 28px rgba(16,26,49,.05)}.pos-page .card>.card-body{padding:22px}.pos-page .table thead th{border:0!important;background:#f4f6fa!important;color:#596982!important;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.pos-page .table tbody td{border-color:#edf0f5;color:#37445a;font-size:12px;vertical-align:middle}.pos-page .form-control,.pos-page .form-select,.pos-page .select2-selection{min-height:42px;border-color:#dbe2ec!important;border-radius:10px!important}
.pos-page .modal-content{overflow:hidden;border:0!important;border-radius:20px!important;background:#f7f9fc!important;box-shadow:0 26px 70px rgba(15,23,42,.24)!important}.pos-page .modal-header{min-height:70px;padding:18px 22px!important;border:0!important;background:linear-gradient(120deg,#111827,#273147)!important;color:#fff!important}.pos-page .modal-title{color:#fff!important;font-size:16px!important;font-weight:800!important}.pos-page .modal-header .close,.pos-page .modal-header .btn-close{display:grid;width:34px;height:34px;margin:0!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:50%!important;background-color:rgba(255,255,255,.1)!important;color:#fff!important;place-items:center;opacity:1;filter:invert(1)}.pos-page .modal-body,.pos-page .modal-content>.card-body{padding:22px!important}.pos-page .modal-footer,.pos-page .modal-footer-custom,.pos-page .modal-content>.card-footer{padding:15px 22px!important;border-top:1px solid var(--pos-line)!important;background:#fff!important}.pos-page .modal .btn{border-radius:10px!important;padding:9px 16px!important;font-weight:700}.pos-page .offcanvas{border:0!important;box-shadow:-16px 0 46px rgba(15,23,42,.18)!important}.pos-page .offcanvas-header{background:linear-gradient(120deg,#111827,#273147)!important;color:#fff!important}.pos-page .offcanvas-title{color:#fff!important}.pos-page .offcanvas .btn-close{filter:invert(1)}
@media(max-width:767.98px){.pos-page .content{padding:18px 14px 30px!important}.pos-page .page-header{align-items:flex-start;min-height:210px;padding:27px 22px;flex-direction:column}.pos-page .page-header:before{left:22px;top:24px}.pos-page .page-header .page-btn{align-self:stretch;margin-top:18px}.pos-page .page-header .page-btn,.pos-page .page-header .page-btn .btn{width:100%}.pos-page .card>.card-body{padding:16px}}

/* Controles compartidos de mantenedores iFact. */
.swal2-container.ifact-confirmation-backdrop{background:rgba(16,26,49,.5)!important;backdrop-filter:blur(5px)}
.swal2-popup.ifact-confirmation{width:min(470px,calc(100vw - 32px));padding:30px 32px 24px;border:1px solid #e3e8f0;border-radius:22px}
.ifact-confirmation .swal2-icon{width:66px;height:66px;margin:0 auto 22px;border:1px solid rgba(56,103,255,.2)!important;background:linear-gradient(135deg,#f0f5ff,#f5f1ff);color:#5866ff!important;box-shadow:0 10px 24px rgba(56,103,255,.1)}
.ifact-confirmation .swal2-icon .swal2-icon-content{font-size:25px}
.ifact-confirmation .swal2-title{font-size:22px;margin:0 0 12px}
.ifact-confirmation .swal2-actions{margin-top:24px;gap:10px}
.ifact-confirmation .ifact-feedback-confirm,.ifact-confirmation .ifact-feedback-cancel{min-width:118px;margin:0;font-size:13px}
.swal2-container{z-index:2000!important}
.swal2-popup.ifact-feedback{width:min(420px,calc(100vw - 32px));padding:30px 28px;border:1px solid rgba(20,216,255,.22);border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(6,9,20,.35);color:#24324a}
.ifact-feedback .swal2-title{color:#24324a;font-size:23px;font-weight:750;padding:0}
.ifact-feedback .swal2-html-container,.ifact-feedback .swal2-content{color:#52617a;font-size:15px;line-height:1.6}
.ifact-feedback .swal2-loader{border-color:#14d8ff transparent #7b61ff transparent}
.ifact-feedback .swal2-success-ring{border-color:rgba(20,216,255,.22)!important}
.ifact-feedback .swal2-success-line-tip,.ifact-feedback .swal2-success-line-long{background:#14d8ff!important}
.ifact-feedback-confirm,.ifact-feedback-cancel{border-radius:10px;padding:11px 24px;font-weight:700;margin:5px;border:0}
.ifact-feedback-confirm{background:linear-gradient(110deg,#3867ff,#7b61ff);color:#fff}
.ifact-feedback-cancel{background:#f4f6fa;color:#536176;border:1px solid #dce3ee}
.ifact-feedback-confirm:focus-visible,.ifact-feedback-cancel:focus-visible{outline:2px solid #3867ff;outline-offset:3px}
.pos-page .pagination .page-item:not(.active):not(.disabled) .page-link{background:#fff!important;border-color:#dbe2ec!important;color:#53647e!important}
.pos-page .pagination .page-item:not(.disabled) .page-link:hover,
.pos-page .pagination .page-item:not(.disabled) .page-link:focus-visible{background:linear-gradient(110deg,#3867ff,#7b61ff)!important;border-color:transparent!important;color:#fff!important}
.pos-page .pagination .page-item.disabled .page-link{background:#f4f6fa!important;border-color:#e3e8f0!important;color:#8a96a8!important;box-shadow:none!important}
.pos-page .btn-primary,.pos-page .page-item.active .page-link{border-color:transparent!important;background:linear-gradient(110deg,#3867ff,#7b61ff)!important;color:#fff!important;box-shadow:0 7px 18px rgba(56,103,255,.18)!important}.pos-page .page-link{color:#53647e}.pos-page .page-link:focus{box-shadow:0 0 0 3px rgba(56,103,255,.12)}
.pos-page .dataTables_filter input:focus,.pos-page .dataTables_length select:focus{border-color:#6e87ff!important;box-shadow:0 0 0 3px rgba(56,103,255,.1)!important}
.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok{color:#3867ff!important}.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-primary{border-color:transparent!important;background:linear-gradient(110deg,#3867ff,#7b61ff)!important;color:#fff!important}

/* Selector compartido de estado para los mantenedores. */
.pos-page .ifact-state-options{display:flex;gap:8px;width:100%}
.pos-page .ifact-state-options label{position:relative;flex:1;min-width:0;margin:0;cursor:pointer}
.pos-page .ifact-state-options input{position:absolute;opacity:0;width:1px;height:1px}
.pos-page .ifact-state-options span{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 5px;border:1px solid #dce3ef;border-radius:10px;color:#64748b;background:#f8fafc;font-size:12px;white-space:nowrap}
.pos-page .ifact-state-options input:checked+span{border-color:#5064ff;background:#eef0ff;color:#5064ff;font-weight:600;box-shadow:0 0 0 2px #5064ff12}
.pos-page .ifact-state-options input:focus-visible+span{outline:2px solid #5064ff;outline-offset:2px}
@media(max-width:360px){.pos-page .ifact-state-options span{white-space:normal}.pos-page .ifact-state-options span i{display:none}}
/* Cierre visible también en vistas que usan Bootstrap sin icono btn-close. */
.pos-page .modal-header .btn-close {
    filter: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 3l10 10M13 3L3 13' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px 12px;
    padding: 0 !important;
}
.pos-page .modal-header .close { filter: none !important; }
/* Acción destructiva estándar para listados y mantenedores. */
button.btn.btn-danger.btn-sm[title^="Eliminar"],
button.btn.btn-danger.btn-sm[aria-label^="Eliminar"],
button.btn.btn-danger.btn-sm[title^="Quitar"],
button.btn.btn-danger.btn-sm[aria-label^="Quitar"],
button.btn.btn-danger.btn-sm[title="Anular"],
button.btn.btn-danger.btn-sm.btnEliminar,
button.btn-eliminar {
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;
    border:1px solid #f9dce3!important;border-radius:11px!important;
    color:#d23858!important;background:#fff0f3!important;box-shadow:none!important;
    transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
button.btn.btn-danger.btn-sm[title^="Eliminar"]:hover,
button.btn.btn-danger.btn-sm[aria-label^="Eliminar"]:hover,
button.btn.btn-danger.btn-sm[title^="Quitar"]:hover,
button.btn.btn-danger.btn-sm[aria-label^="Quitar"]:hover,
button.btn.btn-danger.btn-sm[title="Anular"]:hover,
button.btn.btn-danger.btn-sm.btnEliminar:hover,
button.btn-eliminar:hover {background:#ffe1e8!important;border-color:#f4b7c7!important;transform:translateY(-1px)}
button.btn.btn-danger.btn-sm[title^="Eliminar"] i,
button.btn.btn-danger.btn-sm[aria-label^="Eliminar"] i,
button.btn.btn-danger.btn-sm[title^="Quitar"] i,
button.btn.btn-danger.btn-sm[aria-label^="Quitar"] i,
button.btn.btn-danger.btn-sm[title="Anular"] i,
button.btn.btn-danger.btn-sm.btnEliminar i,
button.btn-eliminar i {color:#d23858!important;font-size:16px!important}
