:root{--bg-dark:#0f172a;--input-bg:#1e293b;--border-color:#334155;--primary:#4f46e5;--primary-accent:#10b981;--text-main:#ffffff;--text-muted:#94a3b8;--danger-btn:#ef4444;--warning:#f59e0b;--bg-entrada:rgba(59,130,246,0.15);--bg-venta:rgba(16,185,129,0.15);--bg-existencia:rgba(245,158,11,0.15);--color-entrada:#60a5fa;--color-venta:#34d399;--color-existencia:#fbbf24;--color-reserva:#3b82f6;--bg-reserva:rgba(59,130,246,0.15);--backup-color:#8b5cf6}
body.light-theme{--bg-dark:#f1f5f9;--input-bg:#ffffff;--border-color:#cbd5e1;--text-main:#0f172a;--text-muted:#64748b;--bg-entrada:rgba(59,130,246,0.10);--bg-venta:rgba(16,185,129,0.10);--bg-existencia:rgba(245,158,11,0.10);--bg-reserva:rgba(59,130,246,0.10);--backup-color:#7c3aed}
*{margin:0;padding:0;box-sizing:border-box}
body{background-color:var(--bg-dark);color:var(--text-main);font-family:Arial,sans-serif;padding:20px;transition:background-color .3s,color .3s}
.login-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-dark);display:flex;justify-content:center;align-items:center;z-index:9999;transition:background-color .3s}
.login-card{background:var(--input-bg);border:1px solid var(--border-color);padding:40px 35px;border-radius:20px;width:100%;max-width:410px;box-shadow:0 20px 40px rgba(0,0,0,0.6);box-sizing:border-box;position:relative;transition:background-color .3s,border-color .3s}
.login-header{text-align:center;margin-bottom:30px}
.login-header .logo-container-login{width:80px;height:80px;background:var(--primary);color:white;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:15px;box-shadow:0 8px 30px rgba(79,70,229,0.3);overflow:hidden;border:2px solid var(--border-color);transition:border-color .3s}
.login-header .logo-container-login img{width:100%;height:100%;object-fit:cover}
.login-header h2{margin:0;font-size:1.8rem;font-weight:700}
.login-header p{color:var(--text-muted);font-size:0.85rem;margin:6px 0 0 0}
.login-group{margin-bottom:22px;position:relative}
.login-group label{display:block;margin-bottom:8px;color:var(--text-muted);font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}
.input-wrapper{position:relative;display:flex;align-items:center}
.input-wrapper i.input-icon{position:absolute;left:14px;color:var(--text-muted);font-size:1rem}
.login-group input{width:100%;background:var(--bg-dark);border:1px solid var(--border-color);padding:12px 42px;color:var(--text-main);border-radius:10px;height:48px;box-sizing:border-box;font-size:0.95rem;transition:all .2s}
.login-group input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(79,70,229,0.15)}
.password-toggle{position:absolute;right:14px;cursor:pointer;color:var(--text-muted);transition:color .2s;font-size:1rem;z-index:5}
.password-toggle:hover{color:var(--text-main)}
.btn-login{width:100%;height:48px;background:var(--primary);color:white;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;justify-content:center;align-items:center;gap:10px;box-shadow:0 4px 12px rgba(79,70,229,0.25)}
.btn-login:hover{background:#4338ca;transform:translateY(-1px)}
#loginErrorMessage{color:var(--danger-btn);text-align:center;margin-top:15px;font-size:0.9rem;font-weight:bold}
#mainAppWrapper{display:none}
header{display:flex;justify-content:space-between;align-items:center;background:var(--input-bg);padding:15px 20px;border-radius:8px;margin-bottom:20px;border:1px solid var(--border-color);flex-wrap:wrap;gap:10px;transition:background-color .3s,border-color .3s}
.brand-container{display:flex;align-items:center;gap:10px}
.logo-preview{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--border-color);display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid var(--border-color);transition:border-color .3s}
.logo-preview img{width:100%;height:100%;object-fit:cover}
.header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.header-actions-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.header-actions a{color:var(--primary-accent);text-decoration:none;font-weight:bold}
.header-actions a:hover{color:#34d399}
.btn-logout-header{background:var(--danger-btn);color:white;border:none;padding:8px 14px;border-radius:6px;cursor:pointer;font-weight:bold;transition:background .2s}
.btn-logout-header:hover{background:#dc2626}
.btn-theme-header{background:var(--bg-dark);border:1px solid var(--border-color);color:var(--text-main);width:36px;height:36px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.btn-theme-header:hover{background:var(--border-color)}
.session-info{font-size:0.75rem;color:var(--text-muted);margin-top:2px}
.session-info span{color:var(--primary-accent);font-weight:bold}
.nav-tabs{display:flex;background:var(--input-bg);padding:10px 15px;gap:8px;border-bottom:1px solid var(--border-color);border-radius:8px 8px 0 0;margin-bottom:0;flex-wrap:wrap;transition:background-color .3s,border-color .3s}
.tab-link{background:transparent;border:1px solid transparent;color:var(--text-muted);padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:bold;transition:all .2s;display:inline-flex;align-items:center;gap:8px;font-size:0.9rem}
.tab-link:hover{color:var(--text-main);background:rgba(255,255,255,0.05)}
.tab-link.active{color:white;background:var(--primary);border-color:var(--primary)}
.tab-content{display:none;background:var(--input-bg);padding:20px;border-radius:0 0 8px 8px;border:1px solid var(--border-color);border-top:none;transition:background-color .3s,border-color .3s}
.tab-content.active{display:block}
.almacen-description{color:var(--text-muted);font-size:0.9rem;margin-bottom:15px;padding:10px 15px;background:var(--bg-dark);border-radius:6px;border-left:3px solid var(--primary);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.almacen-description .checkbox-label{font-size:0.8rem;color:var(--text-muted);display:flex;align-items:center;gap:6px;cursor:pointer;margin-left:auto}
.almacen-description .checkbox-label input[type="checkbox"]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary);margin:0}
.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.config-group{margin-bottom:15px}
.config-group label{display:block;margin-bottom:5px;font-size:0.85rem;color:var(--text-muted)}
.config-group .form-control:disabled{opacity:0.6;cursor:not-allowed}
.exchange-rate-container{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:8px;padding:15px;margin-bottom:5px}
.exchange-rate-display{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.exchange-rate-value{font-size:1.2rem;font-weight:bold;color:var(--primary-accent)}
.exchange-rate-label{font-size:0.85rem;color:var(--text-muted)}
.exchange-rate-label .auto-badge{background:var(--primary-accent);color:white;padding:2px 10px;border-radius:12px;font-size:0.7rem;font-weight:bold;margin-left:8px}
.exchange-rate-update{font-size:0.75rem;color:var(--text-muted);margin-top:5px}
.exchange-rate-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.btn-rate-action{padding:6px 14px;border:none;border-radius:6px;font-size:0.8rem;font-weight:bold;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.btn-rate-action:hover{opacity:0.85;transform:translateY(-1px)}
.btn-rate-action.force{background:var(--primary);color:white}
.btn-rate-action.manual{background:var(--warning);color:#1a1a1a}
.btn-rate-action:disabled{opacity:0.5;cursor:not-allowed;transform:none}
.manual-rate-input{display:none;margin-top:10px;gap:8px;align-items:center;flex-wrap:wrap}
.manual-rate-input.active{display:flex}
.manual-rate-input input{width:150px;padding:6px 10px;background:var(--bg-dark);border:1px solid var(--border-color);color:var(--text-main);border-radius:6px;font-size:0.9rem}
.manual-rate-input input:focus{outline:none;border-color:var(--primary)}
.manual-rate-input .btn-save-manual{background:var(--primary-accent);color:white;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-weight:bold;font-size:0.8rem}
.manual-rate-input .btn-save-manual:hover{background:#059669}
.manual-rate-input .btn-cancel-manual{background:var(--danger-btn);color:white;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-weight:bold;font-size:0.8rem}
.manual-rate-input .btn-cancel-manual:hover{background:#dc2626}
.btn-backup{background:var(--backup-color);color:white;border:none;padding:12px 16px;border-radius:6px;cursor:pointer;font-weight:bold;transition:background .2s,transform .2s;display:flex;align-items:center;justify-content:center;gap:10px;font-size:1rem;flex:1;min-width:180px}
.btn-backup:hover{background:#7c3aed;transform:translateY(-2px);box-shadow:0 4px 15px rgba(139,92,246,0.4)}
.btn-backup:active{transform:translateY(0)}
.btn-backup i{font-size:1.1rem}
.btn-restore{background:var(--warning);color:#1a1a1a;border:none;padding:10px 16px;border-radius:6px;font-weight:bold;cursor:pointer;transition:background .2s,transform .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:0.95rem;white-space:nowrap}
.btn-restore:hover{background:#d97706;transform:translateY(-2px)}
.btn-restore:active{transform:translateY(0)}
.restore-file-input{flex:1;min-width:120px;padding:8px;background:var(--bg-dark);border:1px solid var(--border-color);color:var(--text-main);border-radius:6px;cursor:pointer;font-size:0.85rem}
.restore-file-input::-webkit-file-upload-button{background:var(--input-bg);border:1px solid var(--border-color);color:var(--text-main);padding:6px 12px;border-radius:4px;cursor:pointer;font-weight:bold}
.backup-info{display:block;text-align:center;color:var(--text-muted);margin-top:5px;font-size:0.8rem}
.backup-info-left{margin:0;text-align:left}
.backup-info-right{margin:0;text-align:right}
.backup-warning{color:var(--warning)}
.backup-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.backup-restore-group{display:flex;gap:8px;flex:1;min-width:280px;align-items:center}
.backup-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px;margin-top:8px}
.ipv-header-clean{background:var(--bg-dark);padding:15px 20px;border-radius:8px;margin-bottom:20px;border-left:3px solid var(--primary-accent)}
.ipv-header-clean .ipv-title-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.ipv-header-clean .ipv-title{font-size:1.3rem;font-weight:bold;color:var(--text-main);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ipv-header-clean .ipv-title i{color:var(--primary-accent)}
.ipv-currency-selector{display:inline-flex;align-items:center;gap:10px;padding:4px 12px;background:var(--bg-dark);border-radius:6px;border:1px solid var(--border-color);margin-left:10px}
.ipv-currency-selector label{font-size:0.8rem;color:var(--text-muted);font-weight:600}
.ipv-currency-selector select{height:28px;padding:0 10px;background:var(--bg-dark);border:1px solid var(--border-color);color:var(--text-main);border-radius:4px;font-size:0.8rem;font-weight:600;cursor:pointer;transition:all .2s}
.ipv-currency-selector select:hover{border-color:var(--primary)}
.ipv-currency-selector select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(79,70,229,0.15)}
.ipv-info-web{display:flex;gap:30px;font-size:0.85rem;color:var(--text-muted);flex-wrap:wrap;margin-top:5px}
.ipv-info-web span{display:inline-flex;align-items:center;gap:5px}
.ipv-info-web .label{font-weight:600;color:var(--text-muted)}
.ipv-info-web .value{color:var(--text-main);font-weight:500}
.print-only{display:none !important}
.print-logo-container{display:none !important}
.print-info-container{display:none !important}
.ipv-totales{background:var(--bg-dark);padding:12px 15px;border-radius:6px;margin-top:10px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border:1px solid var(--border-color)}
.ipv-totales .total-item{font-size:0.85rem;color:var(--text-muted)}
.ipv-totales .total-item .total-value{font-weight:bold;color:var(--text-main);margin-left:5px}
.ipv-totales .total-item .total-value.entrada{color:var(--color-entrada)}
.ipv-totales .total-item .total-value.venta{color:var(--color-venta)}
.ipv-totales .total-item .total-value.existencia{color:var(--color-existencia)}
.ipv-totales .total-item .total-value.ganancia{color:var(--primary-accent)}
.ipv-toolbar{display:flex;justify-content:flex-end;margin-bottom:15px;gap:10px;flex-wrap:wrap}
.btn-ipv-tool{height:32px;padding:0 14px;border:1px solid var(--border-color);border-radius:6px;font-size:0.85rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;color:var(--text-main);background:var(--bg-dark);transition:all .2s}
.btn-ipv-tool:hover{background:var(--border-color);border-color:var(--primary)}
.btn-ipv-tool.active{background:var(--primary);border-color:var(--primary);color:white}
.btn-ipv-tool.active:hover{background:#4338ca}
.table-reservas{width:100%;border-collapse:collapse;font-size:0.8rem}
.table-reservas th,.table-reservas td{border:1px solid var(--border-color);padding:8px 6px;text-align:center;transition:border-color .3s}
.table-reservas th{font-weight:bold;text-transform:uppercase;font-size:0.75rem;color:var(--text-muted);background:var(--bg-dark)}
.table-reservas .bg-reserva{background-color:var(--bg-reserva);color:var(--color-reserva)}
.table-reservas td.align-left{text-align:left}
.table-reservas td.align-center{text-align:center}
.status-reserva-activa{color:var(--color-reserva);font-weight:bold}
.status-reserva-expirada{color:var(--danger-btn);font-weight:bold}
.status-reserva-confirmada{color:var(--primary-accent);font-weight:bold}
.status-reserva-cancelada{color:var(--text-muted);font-weight:bold}
.btn-reserva-confirmar{background:var(--primary-accent);color:white;border:none;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:0.75rem;font-weight:bold;transition:background .2s}
.btn-reserva-confirmar:hover{background:#059669}
.btn-reserva-cancelar{background:var(--danger-btn);color:white;border:none;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:0.75rem;font-weight:bold;transition:background .2s;margin-left:4px}
.btn-reserva-cancelar:hover{background:#dc2626}
.ipr-fase{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:#fff;font-weight:800;font-size:0.75rem;margin-right:6px;vertical-align:middle;flex-shrink:0}
.ipr-fase-c{background:#3b82f6}
.ipr-fase-r{background:#16a34a}
.table-responsive{overflow-x:auto;margin-top:15px}
.table-ipv{width:100%;border-collapse:collapse;font-size:0.8rem}
.table-ipv th,.table-ipv td{border:1px solid var(--border-color);padding:8px 6px;text-align:center;font-family:monospace;transition:border-color .3s}
.table-ipv th{font-weight:bold;text-transform:uppercase;font-size:0.75rem;color:var(--text-muted);background:var(--bg-dark)}
.table-ipv .bg-entrada{background-color:var(--bg-entrada);color:var(--color-entrada)}
.table-ipv .bg-venta{background-color:var(--bg-venta);color:var(--color-venta)}
.table-ipv .bg-existencia{background-color:var(--bg-existencia);color:var(--color-existencia)}
.table-ipv .bg-total{background-color:#22b14c;color:#000}
.table-ipv .ipv-group-header th{font-size:0.78rem;line-height:1.15;letter-spacing:.01em;vertical-align:middle;white-space:nowrap}
.table-ipv .ipv-sub-header th{font-size:0.72rem;line-height:1.15;vertical-align:middle;white-space:nowrap}
.table-ipv td.bold-number{font-weight:bold}
.table-ipv td.ipv-product-cell{min-width:155px;white-space:normal;vertical-align:middle}
.table-ipv .ipv-product-name{display:inline-block;font-size:1rem;font-weight:700;line-height:1.2;margin-top:3px}
.table-ipv .ipv-product-category{display:inline-block;font-size:0.78rem;font-weight:500;line-height:1.15;color:var(--text-muted)}
.table-ipv td.align-left{text-align:left}
.table-ipv td.align-center{text-align:center}
.table-ipv td.align-right{text-align:right}
@media print{
body{background:#ffffff !important;color:#000000 !important;padding:20px !important}
header,.nav-tabs,.tab-link,.no-print,.ipv-toolbar,.search-wrapper,.btn-theme-header,.btn-logout-header,.header-actions a,.session-info,.brand-container,.tab-content:not(#tabAuditoria){display:none !important}
#tabAuditoria{display:block !important;background:#ffffff !important;border:none !important;padding:0 !important}
.print-only{display:block !important}
.print-logo-container{display:flex !important;align-items:center !important;gap:12px !important;margin-bottom:15px !important;padding:10px 15px !important;background:#f8f9fa !important;border:1px solid #dee2e6 !important;border-radius:8px !important}
.print-logo-container .print-logo{width:45px !important;height:45px !important;border-radius:50% !important;overflow:hidden !important;background:#dee2e6 !important;display:flex !important;align-items:center !important;justify-content:center !important;border:2px solid #dee2e6 !important;flex-shrink:0 !important}
.print-logo-container .print-logo img{width:100% !important;height:100% !important;object-fit:cover !important}
.print-logo-container .print-logo i{font-size:1.5rem !important;color:#6c757d !important}
.print-logo-container .print-brand .print-name{font-size:1.2rem !important;font-weight:bold !important;color:#000000 !important}
.print-logo-container .print-brand .print-sub{font-size:0.8rem !important;color:#6c757d !important}
.print-info-container{display:flex !important;gap:30px !important;font-size:0.85rem !important;color:#6c757d !important;margin-top:5px !important;flex-wrap:wrap !important}
.print-info-container span{display:inline-flex !important;align-items:center !important;gap:5px !important}
.print-info-container .label{font-weight:600 !important;color:#6c757d !important}
.print-info-container .value{color:#000000 !important;font-weight:500 !important}
.ipv-header-clean{background:#f8f9fa !important;border-left:3px solid #10b981 !important;padding:12px 15px !important;margin-bottom:15px !important}
.ipv-header-clean .ipv-title{color:#000000 !important;font-size:1.2rem !important}
.ipv-info-web{color:#6c757d !important}
.ipv-info-web .value{color:#000000 !important}
.table-ipv{font-size:0.7rem !important}
.table-ipv th{background:#f8f9fa !important;color:#000000 !important;border-color:#dee2e6 !important}
.table-ipv td{border-color:#dee2e6 !important;color:#000000 !important}
.table-ipv .bg-entrada{background-color:#e3f0ff !important;color:#1a56db !important}
.table-ipv .bg-venta{background-color:#d1fae5 !important;color:#059669 !important}
.table-ipv .bg-existencia{background-color:#fef3c7 !important;color:#d97706 !important}
.table-ipv .bg-total{background-color:#22b14c !important;color:#000000 !important}
.table-ipv .ipv-product-name{font-size:0.95rem !important}
.table-ipv .ipv-product-category{font-size:0.75rem !important;color:#6c757d !important}
.ipv-totales{background:#f8f9fa !important;border:1px solid #dee2e6 !important;color:#000000 !important}
.ipv-totales .total-item{color:#000000 !important}
.ipv-totales .total-item .total-value{color:#000000 !important}
.ipv-totales .total-item .total-value.entrada{color:#1a56db !important}
.ipv-totales .total-item .total-value.venta{color:#059669 !important}
.ipv-totales .total-item .total-value.existencia{color:#d97706 !important}
.ipv-totales .total-item .total-value.ganancia{color:#10b981 !important}
}
.card{background:var(--input-bg);padding:20px;border-radius:8px;margin-bottom:20px;border:1px solid var(--border-color);transition:background-color .3s,border-color .3s}
.card h3{margin-bottom:15px;font-size:1.1rem;color:var(--text-muted)}
.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}
.card-header h3{margin:0;font-size:1.1rem;color:var(--text-muted)}
.card-header .cupos-display{font-size:0.9rem;color:var(--text-muted);font-weight:bold}
.form-group{margin-bottom:12px}
.form-group label{display:block;margin-bottom:5px;font-size:0.85rem;color:var(--text-muted)}
.form-control{width:100%;padding:8px 12px;background:var(--bg-dark);border:1px solid var(--border-color);color:var(--text-main);border-radius:6px;box-sizing:border-box;transition:border-color .2s,background-color .3s,color .3s}
.form-control:focus{outline:none;border-color:var(--primary)}
.form-row{display:flex;gap:10px;flex-wrap:wrap}
.form-row .form-group{flex:1;min-width:150px}
.radio-group{display:flex;gap:20px;padding-top:5px;flex-wrap:wrap}
.radio-group label{display:flex;align-items:center;gap:8px;font-size:0.9rem;color:var(--text-main);cursor:pointer;margin-bottom:0}
.radio-group input[type="radio"]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--border-color);border-radius:50%;outline:none;cursor:pointer;transition:all .2s;flex-shrink:0;background-color:var(--bg-dark)}
.radio-group input[type="radio"]:checked{border-color:var(--primary);background-color:var(--primary);box-shadow:inset 0 0 0 4px var(--bg-dark)}
.radio-group input[type="radio"]:hover{border-color:var(--primary)}
.btn-primary{background:var(--primary);color:white;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-weight:bold;transition:background .2s}
.btn-primary:hover{background:#4338ca}
.btn-primary.small{width:auto;padding:6px 12px;font-size:0.85rem}
.btn-success{background:var(--primary-accent);color:white;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-weight:bold;transition:background .2s}
.btn-success:hover{background:#059669}
table{width:100%;border-collapse:collapse;margin-top:10px}
th,td{padding:10px;text-align:left;border-bottom:1px solid var(--border-color);font-size:0.85rem;transition:border-color .3s}
th{color:var(--text-muted);font-weight:600}
.actions-btn{color:white;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;margin-right:4px;transition:background .2s;font-size:0.85rem}
.actions-btn:hover{opacity:0.85}
.actions-btn.edit{background:var(--warning)}
.actions-btn.edit:hover{background:#d97706}
.actions-btn.delete{background:var(--danger-btn)}
.actions-btn.delete:hover{background:#dc2626}
.product-img-thumb{width:30px;height:30px;object-fit:cover;border-radius:4px;background:var(--bg-dark)}
#toastNotification{position:fixed;top:25px;right:25px;padding:14px 22px;border-radius:10px;color:#ffffff;font-weight:600;z-index:10000;box-shadow:0 5px 15px rgba(0,0,0,0.5);display:none;font-family:sans-serif;transition:all .3s ease;max-width:90%}
#toastNotification.success{background:var(--primary-accent)}
#toastNotification.error{background:var(--danger-btn)}
#toastNotification.info{background:var(--primary)}
#toastNotification.backup{background:var(--backup-color)}
#toastNotification.warning{background:var(--warning);color:#1a1a1a}
@media (max-width:850px){
body{padding:10px}
header{flex-direction:column;align-items:stretch;text-align:center}
.header-actions{align-items:center}
.header-actions-row{justify-content:center}
.login-card{padding:30px 20px;margin:0 15px}
.nav-tabs{justify-content:center}
.tab-link{font-size:0.8rem;padding:6px 12px}
.table-ipv{font-size:0.7rem}
.table-ipv th,.table-ipv td{padding:4px 3px}
.table-ipv .ipv-product-name{font-size:0.9rem}
.table-ipv .ipv-product-category{font-size:0.7rem}
.table-ipv .ipv-product-cell{min-width:140px}
.table-reservas{font-size:0.7rem}
.table-reservas th,.table-reservas td{padding:4px 3px}
table{font-size:0.75rem}
th,td{padding:6px}
.actions-btn{padding:4px 6px;font-size:0.7rem;min-width:38px;min-height:38px}
.form-row{flex-direction:column}
.form-row .form-group{min-width:auto}
.config-grid{grid-template-columns:1fr}
.radio-group{gap:15px}
.exchange-rate-display{flex-direction:column;align-items:flex-start}
.ipv-totales{flex-direction:column;align-items:flex-start;gap:5px}
.ipv-info-web{gap:15px}
.ipv-header-clean .ipv-title-row{flex-direction:column;align-items:flex-start}
.ipv-toolbar{justify-content:center}
.restore-file-input{min-width:100px}
.btn-backup{min-width:140px}
.backup-restore-group{min-width:200px}
}
@media (max-width:500px){
.container{grid-template-columns:1fr}
.card{padding:15px}
.form-control{font-size:0.9rem}
.estado-indicadores{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.estado-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:10px;font-size:.68rem;font-weight:700;white-space:nowrap}
.estado-lento{background:rgba(245,158,11,.16);color:#f59e0b;border:1px solid rgba(245,158,11,.35)}
.estado-vigente{background:rgba(16,185,129,.14);color:#10b981;border:1px solid rgba(16,185,129,.3)}
.estado-proximo{background:rgba(245,158,11,.16);color:#f59e0b;border:1px solid rgba(245,158,11,.35)}
.estado-urgente{background:rgba(239,68,68,.14);color:#ef4444;border:1px solid rgba(239,68,68,.3)}
.estado-vencido{background:rgba(127,29,29,.18);color:#ef4444;border:1px solid rgba(239,68,68,.4)}
.estado-retirado{background:rgba(107,114,128,.18);color:#d1d5db;border:1px solid rgba(156,163,175,.4)}
.vencidos-panel{margin-top:15px}.vencidos-panel summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;font-weight:700}.vencidos-panel summary::-webkit-details-marker{display:none}.vencidos-count{font-size:.78rem;padding:3px 9px;border-radius:12px;background:var(--bg-dark);color:var(--text-muted);border:1px solid var(--border-color)}.vencidos-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:.82rem}.vencidos-table th,.vencidos-table td{padding:8px;border-bottom:1px solid var(--border-color);text-align:left}.vencidos-table th{color:var(--text-muted);font-size:.72rem;text-transform:uppercase} .vencidos-table .vencidos-codigo{font-family:monospace;font-weight:700}.vencidos-table .vencidos-categoria{color:var(--text-muted);font-size:.72rem}.vencidos-table .estado-badge{white-space:nowrap}.vencidos-empty{text-align:center;color:var(--text-muted);padding:18px}.vencidos-actions{white-space:nowrap}

.btn-primary{font-size:0.9rem}
table{font-size:0.7rem}
th,td{padding:4px}
.table-ipv{font-size:0.6rem}
.table-ipv th,.table-ipv td{padding:3px 2px}
.table-ipv .ipv-product-name{font-size:0.82rem}
.table-ipv .ipv-product-category{font-size:0.66rem}
.table-ipv .ipv-product-cell{min-width:125px}
.table-reservas{font-size:0.6rem}
.table-reservas th,.table-reservas td{padding:2px}
.tab-link{font-size:0.7rem;padding:8px 12px;min-height:40px}
.radio-group{gap:10px;flex-direction:column}
.exchange-rate-actions{flex-direction:column}
.btn-rate-action{justify-content:center}
.ipv-info-web{flex-direction:column;gap:5px}
.print-info-container{flex-direction:column;gap:5px}
.ipv-header-clean .ipv-title-row{flex-direction:column;align-items:flex-start}
.ipv-currency-selector{width:100%;justify-content:space-between}
.ipv-currency-selector select{flex:1}
.ipv-toolbar{flex-direction:column;align-items:stretch}
.btn-ipv-tool{justify-content:center}
.btn-backup{font-size:0.9rem;padding:10px;min-width:100%}
.backup-row{flex-direction:column}
.backup-restore-group{min-width:100%;flex-direction:column}
.btn-restore{width:100%;justify-content:center}
.restore-file-input{width:100%;min-width:100%}
.backup-footer{flex-direction:column;text-align:center}
.backup-info-left,.backup-info-right{text-align:center}
.actions-btn{min-width:44px;min-height:44px;padding:10px}
}
.btn-rate-action.alert{animation:pulseManual 1.2s infinite}
@keyframes pulseManual{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,0.6)}50%{box-shadow:0 0 0 8px rgba(245,158,11,0)}}
.vendedores-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px;align-items:end}
.vendedores-form-grid .form-group{margin-bottom:0;min-width:0}
.vendedores-form-grid .form-group small{display:block;margin-top:3px}
.vendedores-form-grid .form-group-crear{margin-bottom:19px}
.vendedores-form-grid .form-group-crear .btn-success{width:100%;height:39px}
@media (max-width:900px){.vendedores-form-grid{grid-template-columns:1fr 1fr}.vendedores-form-grid .form-group-crear{margin-bottom:0}}
@media (max-width:560px){.vendedores-form-grid{grid-template-columns:1fr}}
.table-responsive-vendedores{overflow-x:auto}
.tabla-vendedores{width:100%;border-collapse:collapse;table-layout:fixed;font-size:0.85rem}
.tabla-vendedores th,.tabla-vendedores td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--border-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tabla-vendedores th{color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:0.75rem;background:var(--bg-dark)}
.rol-tag{padding:3px 10px;border-radius:12px;font-size:0.72rem;font-weight:700;background:var(--bg-dark);color:var(--text-muted);border:1px solid var(--border-color)}
@media (max-width:700px){.tabla-vendedores{font-size:0.75rem}.tabla-vendedores th,.tabla-vendedores td{padding:8px 4px}}
.avatar-vendedor{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:0.8rem;margin-right:8px;flex-shrink:0;vertical-align:middle;box-shadow:0 2px 6px rgba(0,0,0,0.25);transition:transform .2s ease,box-shadow .2s ease;border:2px solid rgba(255,255,255,0.15)}
.avatar-vendedor:hover{transform:scale(1.08);box-shadow:0 4px 12px rgba(0,0,0,0.35)}
.avatar-admin{background:linear-gradient(135deg,#ef4444,#b91c1c);border-color:rgba(239,68,68,0.4)}
.avatar-avanzado{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:rgba(59,130,246,0.4)}
.avatar-estandar-c{background:linear-gradient(135deg,#10b981,#047857);border-color:rgba(16,185,129,0.4)}
.avatar-estandar-d{background:linear-gradient(135deg,#f59e0b,#b45309);border-color:rgba(245,158,11,0.4)}
.avatar-estandar-e{background:linear-gradient(135deg,#f97316,#c2410c);border-color:rgba(249,115,22,0.4)}
.icon-rol-admin{color:#fbbf24;margin-right:6px;font-size:0.95rem;filter:drop-shadow(0 0 6px rgba(251,191,36,0.4))}
.icon-rol-avanzado{color:#e5e7eb;margin-right:6px;font-size:0.95rem;filter:drop-shadow(0 0 6px rgba(229,231,235,0.3))}
.icon-rol-estandar{color:#34d399;margin-right:6px;font-size:0.95rem;filter:drop-shadow(0 0 6px rgba(52,211,153,0.3))}
.tabla-vendedores tbody tr{transition:background-color .3s ease}
.tabla-vendedores tbody tr:hover{filter:brightness(1.1)}
body:not(.light-theme) .tabla-vendedores tbody tr.fila-admin{background:rgba(239,68,68,0.08)}
body:not(.light-theme) .tabla-vendedores tbody tr.fila-avanzado{background:rgba(59,130,246,0.08)}
body:not(.light-theme) .tabla-vendedores tbody tr.fila-estandar{background:rgba(16,185,129,0.06)}
body.light-theme .tabla-vendedores tbody tr.fila-admin{background:rgba(239,68,68,0.06)}
body.light-theme .tabla-vendedores tbody tr.fila-avanzado{background:rgba(59,130,246,0.06)}
body.light-theme .tabla-vendedores tbody tr.fila-estandar{background:rgba(16,185,129,0.04)}
@media screen and (max-width:1024px){body,.container,.main-wrapper{width:100% !important;max-width:100% !important;box-sizing:border-box;padding:10px !important}table,div,section{max-width:100%;word-wrap:break-word}}
@media screen and (max-width:768px){body{font-size:14px}.container,header,main,footer{padding-left:5px !important;padding-right:5px !important;margin-left:auto !important;margin-right:auto !important}img,video,canvas{max-width:100% !important;height:auto !important}}
@media screen and (max-height:500px) and (orientation:landscape){body{padding:5px}header,footer{position:relative !important}}
a,button,.actions-btn,.tab-link,.btn-ipv-tool,.btn-reserva-confirmar,.btn-reserva-cancelar,.btn-theme-header{touch-action:manipulation;-webkit-tap-highlight-color:rgba(79,70,229,0.18);cursor:pointer;-webkit-user-select:none;user-select:none}
.actions-btn{min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
.btn-theme-header{min-width:40px;min-height:40px;flex-shrink:0}
.header-actions button,.header-actions a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;min-height:40px;touch-action:manipulation}
.actions-btn i,.btn-theme-header i,.tab-link i{font-style:normal;line-height:1}
.actions-btn.edit i:empty::before{content:"✎";font-family:sans-serif}
.actions-btn.delete i:empty::before{content:"✕";font-family:sans-serif}
.btn-theme-header i:empty::before{content:"◐";font-family:sans-serif}

@media screen and (max-width: 1024px) and (orientation: portrait) {
    
    .row, .container-principal, .main-content {
        display: flex !important;
        flex-direction: column !important;
    }
    
    .col-left, .col-right, .card, .panel {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px !important;
    }

    #tabAlmacen > div[style*="display: grid"] {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
    
    .config-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ===== COMPATIBILIDAD MULTIPLATAFORMA / MULTIDISPOSITIVO ===== */
html{width:100%;min-width:0;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{width:100%;min-width:0;overflow-x:hidden;min-height:100vh;min-height:100dvh}
img,video,canvas,svg{max-width:100%}
input,button,select,textarea{font:inherit}
button,input,select,textarea{max-width:100%}
button,a,[role="button"]{touch-action:manipulation}
@supports (-webkit-touch-callout:none){
  input,select,textarea{font-size:16px}
}
@media screen and (max-width:1024px){
  body{padding:12px}
  .login-overlay{padding:12px;overflow:auto;-webkit-overflow-scrolling:touch}
  .login-card{margin:auto}
  .tab-content{overflow-x:hidden}
  .table-responsive,.table-responsive-vendedores{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media screen and (max-width:768px){
  body{padding:8px}
  header{padding:12px;gap:12px}
  .header-actions,.header-actions-row{width:100%;justify-content:center;align-items:center}
  .nav-tabs{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .tab-link{flex:0 0 auto;min-height:44px}
  .tab-content{padding:14px}
  .form-control,.login-group input,.manual-rate-input input{min-height:44px}
}
@media screen and (max-width:480px){
  body{padding:5px}
  .login-overlay{padding:8px}
  .login-card{padding:24px 16px;border-radius:14px}
  .login-header h2{font-size:1.45rem}
  .tab-content{padding:10px}
  .actions-btn,.btn-theme-header,.btn-logout-header,.btn-rate-action,.btn-backup,.btn-restore{min-height:44px}
  .table-responsive,.table-responsive-vendedores{margin-left:-2px;margin-right:-2px;width:calc(100% + 4px)}
}
@media screen and (max-height:500px) and (orientation:landscape){
  .login-overlay{align-items:flex-start}
  .login-card{margin:12px auto}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

.desglose-monedas-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.desglose-total{text-align:right;margin-top:6px;font-weight:700}@media(max-width:800px){.desglose-monedas-grid{grid-template-columns:1fr}}

/* Acciones del Desglose de efectivo */
.desglose-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:12px;flex-wrap:wrap}
.btn-desglose-action{height:36px;padding:0 14px;border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--bg-dark);color:var(--text-main);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.btn-desglose-action:hover{transform:translateY(-1px);box-shadow:0 2px 7px rgba(0,0,0,.15);filter:brightness(.98)}
.btn-desglose-ws{background:#25D366;border-color:#25D366;color:#fff}
.btn-desglose-tg{background:#229ED9;border-color:#229ED9;color:#fff}
.btn-desglose-sms{background:#f3f4f6;border-color:#111827;color:#111827}
.btn-desglose-clear{background:#fff;border-color:#6b7280;color:#374151}
@media(max-width:700px){.desglose-actions{justify-content:center}.btn-desglose-action{flex:1 1 130px}}

/* Tablas operativas: en pantallas estrechas se desplazan horizontalmente sin recortar columnas. */
.card > table { display:block; width:max-content; min-width:100%; overflow-x:auto; }
.card > table thead, .card > table tbody { display:table; width:100%; min-width:860px; table-layout:auto; }
#tabAlmacen .card > table { min-width:860px; }
#tablaIPVContainer { overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; width:100%; }
#tablaIPVContainer .table-ipv { min-width:1180px; width:max-content; }

/* ===== WENAMIX ALMACEN: ordenador lado a lado / movil apilado ===== */
#tabAlmacen .almacen-layout{display:grid !important;grid-template-columns:minmax(300px,1fr) minmax(0,2fr) !important;gap:20px !important;align-items:start !important;width:100% !important}
#tabAlmacen .almacen-layout>div{min-width:0 !important;max-width:none !important}
#tabAlmacen .almacen-layout>div:last-child{overflow:hidden !important}
#tabAlmacen .almacen-layout>div:last-child .card{width:100% !important;box-sizing:border-box !important;overflow-x:auto !important;overflow-y:visible !important}
#tabAlmacen .almacen-layout>div:last-child table{width:max-content !important;min-width:100% !important;display:table !important}
@media screen and (max-width:767px), screen and (max-width:1024px) and (orientation:landscape) and (max-height:600px){#tabAlmacen .almacen-layout{grid-template-columns:minmax(0,1fr) !important;gap:15px !important}#tabAlmacen .almacen-layout>#formProductoContainer{width:60% !important;max-width:60% !important}#tabAlmacen .almacen-layout>div:last-child{width:100% !important;max-width:100% !important;overflow:visible !important}#tabAlmacen .almacen-layout>div:last-child .card{max-width:100% !important;overflow:auto !important;max-height:65vh !important}#tabAlmacen .almacen-layout>div:last-child table{min-width:860px !important;width:max-content !important}}
@media screen and (min-width:1025px){#tabAlmacen .almacen-layout{grid-template-columns:minmax(300px,1fr) minmax(0,2fr) !important}}


/* ===== VENDEDORES: usuario con letra, acciones siempre visibles ===== */
#tabVendedores .tabla-vendedores{table-layout:auto !important;width:100% !important}
#tabVendedores .tabla-vendedores th,#tabVendedores .tabla-vendedores td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tabVendedores .tabla-vendedores th:first-child,#tabVendedores .tabla-vendedores td:first-child{min-width:150px}
#tabVendedores .tabla-vendedores th:last-child,#tabVendedores .tabla-vendedores td:last-child{min-width:150px;width:170px;overflow:visible !important;white-space:nowrap !important}
#tabVendedores .tabla-vendedores .actions-btn span{display:inline !important;margin-left:5px}
.status-reserva-vendida{color:#198754;font-weight:700}.status-reserva-expirada{color:#dc3545;font-weight:700}.status-reserva-activa{color:#8b5cf6;font-weight:700}.ipr-vendido-btn{white-space:nowrap;min-height:42px;padding:9px 14px;font-size:.9rem;font-weight:800}.ipr-filter-bar{display:flex;align-items:center;gap:8px;margin:0 0 10px 0}.ipr-filter-bar label{font-weight:700;color:var(--text-muted)}.ipr-filter-bar .form-control{max-width:220px}

/* ===== IPR FASE 4: filtro por radio y confirmacion VENDIDO ===== */
.ipr-radio-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-left:10px}
.ipr-radio-group label{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--text-main);cursor:pointer;white-space:nowrap}
.ipr-radio-group input[type="radio"]{accent-color:#16a34a;width:17px;height:17px}
.ipr-vendido-wrap{margin-top:8px}
.ipr-fase-r{background:#16a34a !important;color:#fff !important}
.status-reserva-activa{color:#2563eb;font-weight:800}
.status-reserva-vendida{color:#15803d;font-weight:900}
@media (max-width:767px){.ipr-radio-group{margin-left:0;width:100%;gap:8px}.ipr-radio-group label{font-size:.85rem}.table-reservas{min-width:900px}}

/* ===== IPR: Pedido en verde y conteo regresivo de Pedido en verde ===== */
.status-ipr-pedido{color:#16a34a !important;font-weight:800}

/* FASE 21: fondos suaves IPR */
.table-reservas tr.ipr-row-reserva > td{background:rgba(59,130,246,0.08)}
.table-reservas tr.ipr-row-pedido > td{background:rgba(22,163,74,0.08)}
body.light-theme .table-reservas tr.ipr-row-reserva > td{background:rgba(59,130,246,0.07)}
body.light-theme .table-reservas tr.ipr-row-pedido > td{background:rgba(22,163,74,0.07)}

/* ===== FASE 29: encabezados compactos IPR/PV y acciones de limpieza ===== */
.ipv-header-clean .ipv-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ipv-header-clean .ipv-title{flex:1 1 auto;min-width:280px}
.filtro-propietario-auditoria{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 1 auto;flex-wrap:wrap;margin:0 !important;padding:0}
.filtro-propietario-auditoria>label{font-size:.8rem;font-weight:800;color:var(--text-muted);white-space:nowrap}
.filtro-propietario-auditoria>.form-control{width:auto;min-width:130px;max-width:190px;height:34px;padding:5px 9px}
.filtro-propietario-auditoria .ipr-radio-group{margin-left:2px}
.ipr-delete-btn,.pv-delete-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:30px;padding:5px 9px;border:1px solid rgba(239,68,68,.35);border-radius:999px;background:transparent;color:var(--danger);font-size:.72rem;font-weight:800;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.ipr-delete-btn:hover,.pv-delete-btn:hover{background:rgba(239,68,68,.09);border-color:var(--danger);transform:translateY(-1px)}
@media(max-width:767px){
 .ipv-header-clean .ipv-title-row{align-items:flex-start;flex-direction:column;gap:10px}
 .ipv-header-clean .ipv-title{min-width:0;width:100%}
 .filtro-propietario-auditoria{width:100%;justify-content:flex-start}
 .filtro-propietario-auditoria>.form-control{max-width:none;flex:1 1 140px}
 .filtro-propietario-auditoria .ipr-radio-group{width:auto;flex:1 1 100%;justify-content:flex-start}
}


/* ===== Ajuste final — Registro ===== */
.btn-limpiar-registro{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 12px;border:1px solid rgba(239,68,68,.38);border-radius:9px;background:transparent;color:var(--danger);font-size:.78rem;font-weight:800;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.btn-limpiar-registro:hover{background:rgba(239,68,68,.09);border-color:var(--danger);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.08)}.btn-limpiar-registro:active{transform:translateY(0)}
@media(max-width:767px){.btn-limpiar-registro{min-height:33px;padding:7px 11px}}

/* ===== FASE 41 — BITÁCORA IPR ===== */
.bitacora-ipr-card{width:100%;box-sizing:border-box}.bitacora-ipr-header{align-items:flex-start}.bitacora-ipr-header h3{color:var(--text-main)}.bitacora-ipr-subtitle{margin:5px 0 0;color:var(--text-muted);font-size:.82rem}.bitacora-ipr-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.filtro-bitacora-ipr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filtro-bitacora-ipr label{font-weight:800;color:var(--text-muted);font-size:.8rem;white-space:nowrap}.filtro-bitacora-ipr .form-control{width:auto;min-width:120px;max-width:180px;height:36px}.btn-bitacora-tool{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 13px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-dark);color:var(--text-main);font-weight:800;cursor:pointer;transition:transform .15s ease,filter .15s ease,border-color .15s ease}.btn-bitacora-tool:hover{transform:translateY(-1px);filter:brightness(1.04);border-color:var(--primary)}.bitacora-ipr-table-wrap{margin-top:10px}.tabla-bitacora-ipr{width:100%;border-collapse:collapse;table-layout:auto;font-size:.82rem}.tabla-bitacora-ipr th,.tabla-bitacora-ipr td{padding:10px 9px;border-bottom:1px solid var(--border-color);text-align:left}.tabla-bitacora-ipr th{background:var(--bg-dark);color:var(--text-muted);font-size:.72rem;font-weight:800;letter-spacing:.02em;white-space:nowrap}.tabla-bitacora-ipr td:nth-child(1),.tabla-bitacora-ipr td:nth-child(3),.tabla-bitacora-ipr td:nth-child(4),.tabla-bitacora-ipr td:nth-child(6){white-space:nowrap}.tabla-bitacora-ipr td:nth-child(3){text-align:center;font-weight:800}.bitacora-empty{text-align:center!important;color:var(--text-muted);padding:26px 12px!important}.bitacora-ipr-summary{margin-top:10px;color:var(--text-muted);font-size:.78rem;text-align:right}.bitacora-print-head{display:none}@media(max-width:767px){.bitacora-ipr-header{flex-direction:column}.bitacora-ipr-tools{width:100%;justify-content:flex-start}.filtro-bitacora-ipr{width:100%}.filtro-bitacora-ipr .form-control{flex:1;max-width:none}.btn-bitacora-tool{width:100%}.tabla-bitacora-ipr{min-width:760px}.bitacora-ipr-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}
@media print{body.imprimir-bitacora{background:#fff!important;color:#000!important;padding:20px!important}body.imprimir-bitacora header,body.imprimir-bitacora .nav-tabs,body.imprimir-bitacora .no-print,body.imprimir-bitacora #tabAuditoria,body.imprimir-bitacora #tabAlmacen,body.imprimir-bitacora #tabVendedores,body.imprimir-bitacora #tabRegistro,body.imprimir-bitacora #tabConfiguracion{display:none!important}body.imprimir-bitacora #tabBitacora{display:block!important;background:#fff!important;color:#000!important;border:none!important;padding:0!important}body.imprimir-bitacora #tabBitacora .card{background:#fff!important;border:none!important;padding:0!important;margin:0!important}body.imprimir-bitacora .bitacora-print-head{display:block!important}body.imprimir-bitacora .print-logo-container{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:12px!important;padding:10px 15px!important;background:#f8f9fa!important;border:1px solid #dee2e6!important;border-radius:8px!important}body.imprimir-bitacora .print-logo{width:45px!important;height:45px!important;border-radius:50%!important;overflow:hidden!important;background:#dee2e6!important;display:flex!important;align-items:center!important;justify-content:center!important;border:2px solid #dee2e6!important;flex-shrink:0!important}body.imprimir-bitacora .print-logo img{width:100%!important;height:100%!important;object-fit:cover!important}body.imprimir-bitacora .print-brand .print-name{font-size:1.2rem!important;font-weight:800!important;color:#000!important}body.imprimir-bitacora .print-brand .print-sub{font-size:.82rem!important;color:#6b7280!important}body.imprimir-bitacora .bitacora-print-meta{display:flex!important;gap:24px!important;flex-wrap:wrap!important;margin-bottom:12px!important;font-size:.8rem!important;color:#374151!important}body.imprimir-bitacora .tabla-bitacora-ipr{min-width:0!important;width:100%!important;font-size:.78rem!important}body.imprimir-bitacora .tabla-bitacora-ipr th{background:#f3f4f6!important;color:#111827!important;border-color:#d1d5db!important}body.imprimir-bitacora .tabla-bitacora-ipr td{color:#111827!important;border-color:#d1d5db!important}body.imprimir-bitacora .bitacora-ipr-summary{color:#374151!important;text-align:right!important;margin-top:10px!important}}
