/* ==========================================================
   SPV V8.4 - Apertura / Cierre de Caja profesional
   Capa visual aislada para no afectar otros modales.
   ========================================================== */

.spv-caja-modal .spv-caja-modal-dialog {
  width: 520px;
  max-width: calc(100vw - 30px);
  margin: 7vh auto 30px;
}

.spv-caja-modal .spv-caja-cierre-dialog {
  width: 760px;
}

.spv-caja-modal .modal-content {
  overflow: hidden !important;
  border: 1px solid #e7e2fb !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 70px rgba(49, 34, 111, .22) !important;
  background: #fff !important;
}

.spv-caja-modal .spv-caja-modal-header {
  min-height: 86px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 22px !important;
  color: #fff !important;
  border: 0 !important;
  background: linear-gradient(135deg, #4f3dc4 0%, #6857df 100%) !important;
  border-radius: 0 !important;
}

.spv-caja-modal .spv-caja-header-icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.2);
  font-size: 20px;
}

.spv-caja-modal .spv-caja-modal-header .modal-title {
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0;
}

.spv-caja-modal .spv-caja-modal-header p {
  margin: 5px 34px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 12.5px;
  line-height: 1.35;
}

.spv-caja-modal .spv-caja-close {
  position: absolute;
  top: 14px;
  right: 16px;
  margin: 0 !important;
  color: #fff !important;
  opacity: .85 !important;
  text-shadow: none !important;
  font-size: 26px;
  font-weight: 300;
  z-index: 3;
}

.spv-caja-modal .spv-caja-close:hover { opacity: 1 !important; }

.spv-caja-modal .spv-caja-modal-body {
  padding: 22px !important;
  overflow-x: hidden !important;
  background: #fff !important;
}

/* Neutraliza el overflow global de .box-body que generaba la barra horizontal. */
.spv-caja-modal .box-body,
.spv-caja-modal .contenedor-arqueocaja {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.spv-caja-intro {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  margin: 0 0 18px;
  border: 1px solid #e9e5fb;
  border-radius: 12px;
  background: #f8f7ff;
}

.spv-caja-step {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #6252d8;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

.spv-caja-intro strong,
.spv-caja-intro span:not(.spv-caja-step) { display:block; }
.spv-caja-intro strong { color:#29243f; font-size:13px; margin-bottom:2px; }
.spv-caja-intro span:not(.spv-caja-step) { color:#7a748f; font-size:11.5px; line-height:1.35; }

.spv-caja-field { margin-bottom: 17px; }
.spv-caja-field > label {
  display: block;
  margin: 0 0 7px;
  color: #403a5a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
}
.spv-caja-field > label i { width:18px; color:#6857df; }

.spv-caja-modal #cajaid,
.spv-caja-modal #montoapertura {
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  border: 1px solid #dcd6f7 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #2f2a43 !important;
  box-shadow: none !important;
  outline: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

.spv-caja-modal #cajaid { padding: 0 12px !important; }
.spv-caja-modal #cajaid:focus,
.spv-caja-modal #montoapertura:focus {
  border-color: #7563e3 !important;
  box-shadow: 0 0 0 3px rgba(104,87,223,.10) !important;
}

.spv-caja-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0 0 17px;
}

.spv-caja-info-card {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid #ece9f7;
  border-radius: 11px;
  background: #fbfaff;
}
.spv-caja-info-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:#eeeaff;
  color:#6655db;
}
.spv-caja-info-card small,
.spv-caja-info-card strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.spv-caja-info-card small { color:#8a849b; font-size:10.5px; margin-bottom:2px; }
.spv-caja-info-card strong { color:#353047; font-size:12.5px; font-weight:600; }

.spv-caja-money-input {
  display: flex;
  align-items: stretch;
  width: 100%;
  height: 48px;
  border: 1px solid #dcd6f7;
  border-radius: 11px;
  overflow: hidden;
  background: #fff;
}
.spv-caja-money-input > span {
  width: 54px;
  flex: 0 0 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f3f0ff;
  border-right: 1px solid #e1dcf8;
  color: #5f4ed4;
  font-size: 15px;
  font-weight: 800;
}
.spv-caja-modal .spv-caja-money-input #montoapertura {
  height: 46px !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 14px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}
.spv-caja-money-input:focus-within {
  border-color: #7563e3;
  box-shadow: 0 0 0 3px rgba(104,87,223,.10);
}

.spv-caja-help {
  display:block;
  margin-top:7px;
  color:#827c94;
  font-size:10.5px;
  line-height:1.35;
}
.spv-caja-help i { color:#6b5bdd; margin-right:4px; }

.spv-caja-state {
  display:flex;
  gap:13px;
  align-items:flex-start;
  padding:16px;
  border-radius:12px;
  border:1px solid;
}
.spv-caja-state > i { font-size:20px; margin-top:1px; }
.spv-caja-state strong,.spv-caja-state span { display:block; }
.spv-caja-state strong { font-size:13px; margin-bottom:3px; }
.spv-caja-state span { font-size:11.5px; line-height:1.4; }
.spv-caja-state-warning { background:#fffaf0; border-color:#f1d99e; color:#8b6420; }
.spv-caja-state-danger { background:#fff5f5; border-color:#f2c9cc; color:#9e3c44; }

.spv-caja-modal .spv-caja-modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 22px 18px !important;
  margin: 0 !important;
  border-top: 1px solid #efedf7 !important;
  background: #fff !important;
}

.spv-caja-modal .spv-caja-btn {
  float: none !important;
  min-width: 132px;
  height: 42px;
  margin: 0 !important;
  padding: 0 16px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 10px !important;
  font-size: 12px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  box-shadow: none !important;
}
.spv-caja-btn-primary {
  color:#fff !important;
  background:#6252d8 !important;
  border:1px solid #6252d8 !important;
}
.spv-caja-btn-primary:hover,.spv-caja-btn-primary:focus { background:#5141c8 !important; border-color:#5141c8 !important; }
.spv-caja-btn-primary[disabled] { opacity:.65; cursor:not-allowed; }
.spv-caja-btn-secondary {
  color:#5f5875 !important;
  background:#fff !important;
  border:1px solid #dcd8e9 !important;
}
.spv-caja-btn-secondary:hover { background:#f8f7fc !important; }

/* Cierre: conserva los datos, pero elimina la estética de formulario pesado. */
.spv-caja-cierre-body .row { margin-left:-5px; margin-right:-5px; }
.spv-caja-cierre-body .row > [class*="col-"] { padding-left:5px; padding-right:5px; }
.spv-caja-cierre-body .form-group { margin-bottom:10px; }
.spv-caja-cierre-body label {
  margin-bottom:5px;
  color:#716b82;
  font-size:10px;
  font-weight:700;
}
.spv-caja-modal .spv-caja-cierre-body input.form-control {
  height:40px !important;
  min-height:40px !important;
  padding:0 10px !important;
  border:1px solid #e3dfef !important;
  border-radius:9px !important;
  background:#faf9fd !important;
  color:#342f47 !important;
  font-size:12.5px !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  box-shadow:none !important;
}

@media (max-width: 767px) {
  .spv-caja-modal .spv-caja-modal-dialog,
  .spv-caja-modal .spv-caja-cierre-dialog {
    width: auto !important;
    max-width: none !important;
    margin: 10px !important;
  }
  .spv-caja-modal .spv-caja-modal-header { padding:16px !important; min-height:78px; }
  .spv-caja-modal .spv-caja-modal-body { padding:16px !important; }
  .spv-caja-info-grid { grid-template-columns:1fr; }
  .spv-caja-modal .spv-caja-modal-footer {
    padding:12px 16px 16px !important;
    flex-direction:column-reverse;
    align-items:stretch;
  }
  .spv-caja-modal .spv-caja-btn { width:100%; min-width:0; }
  .spv-caja-cierre-body .row > [class*="col-"] { width:100%; float:none; }
}

/* ==========================================================
   SPV V8.5 - Historial de Caja + filtros opcionales
   ========================================================== */
.spv-caja-history-intro {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #ece8fb;
  border-radius:12px;
  background:#faf9ff;
}
.spv-caja-history-intro strong,
.spv-caja-history-intro span { display:block; }
.spv-caja-history-intro strong { color:#342d55; font-size:13.5px; margin-bottom:2px; }
.spv-caja-history-intro span { color:#7d7693; font-size:11.5px; line-height:1.4; }

.spv-caja-history-filters {
  display:grid;
  grid-template-columns: 160px 160px 150px minmax(180px, 1fr) minmax(190px, 1.2fr) 95px auto;
  gap:10px;
  align-items:end;
  width:100%;
  margin:0 0 16px;
  padding:13px;
  border:1px solid #ebe7f8;
  border-radius:12px;
  background:#fff;
}
.spv-caja-filter-field { min-width:0; }
.spv-caja-filter-field > label {
  display:block;
  margin:0 0 6px;
  color:#655e78;
  font-size:10.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.spv-caja-history-filters .input-group,
.spv-caja-search-input {
  width:100%;
  height:39px;
}
.spv-caja-history-filters .input-group-addon {
  width:38px;
  padding:0 !important;
  text-align:center;
  color:#6756db;
  background:#f6f4ff !important;
  border:1px solid #ded9f5 !important;
  border-right:0 !important;
  border-radius:9px 0 0 9px !important;
}
.spv-caja-history-filters .fechareportes,
.spv-caja-history-filters .form-control,
.spv-caja-search-input input {
  width:100% !important;
  height:39px !important;
  min-height:39px !important;
  margin:0 !important;
  padding:0 10px !important;
  border:1px solid #ded9f5 !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#3a344f !important;
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  box-shadow:none !important;
  outline:none !important;
}
.spv-caja-history-filters .input-group .fechareportes {
  border-radius:0 9px 9px 0 !important;
}
.spv-caja-history-filters .fechareportes:focus,
.spv-caja-history-filters .form-control:focus,
.spv-caja-search-input:focus-within {
  border-color:#7462e2 !important;
  box-shadow:0 0 0 3px rgba(98,82,216,.08) !important;
}
.spv-caja-search-input {
  position:relative;
  display:flex;
  align-items:center;
}
.spv-caja-search-input > i {
  position:absolute;
  left:11px;
  z-index:2;
  color:#8d85ab;
  font-size:11px;
}
.spv-caja-search-input input { padding-left:30px !important; }

.spv-caja-filter-actions {
  display:flex;
  align-items:center;
  gap:7px;
  min-width:max-content;
}
.spv-caja-filter-btn {
  height:39px;
  padding:0 12px !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:9px !important;
  box-shadow:none !important;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.spv-caja-filter-btn-primary {
  color:#fff !important;
  background:#6252d8 !important;
  border:1px solid #6252d8 !important;
}
.spv-caja-filter-btn-clear {
  color:#5e5773 !important;
  background:#fff !important;
  border:1px solid #dcd7ec !important;
}
.spv-caja-filter-btn-pdf {
  width:39px;
  padding:0 !important;
  color:#c94a58 !important;
  background:#fff7f8 !important;
  border:1px solid #efcbd0 !important;
}

.spv-caja-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:82px;
  padding:5px 9px;
  border-radius:999px;
  font-size:10.5px;
  font-weight:700;
  line-height:1;
}
.spv-caja-badge i { font-size:7px; }
.spv-caja-badge-open { color:#15784d; background:#eaf8f1; border:1px solid #caebdb; }
.spv-caja-badge-closed { color:#615a72; background:#f1eff7; border:1px solid #e0ddea; }

.spv-caja-action {
  width:34px;
  height:34px;
  padding:0 !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px !important;
  box-shadow:none !important;
}
.spv-caja-action-print {
  color:#6252d8 !important;
  background:#f1efff !important;
  border:1px solid #ded8ff !important;
}
.spv-caja-print-form { display:inline-block; margin:0; }

.spv-caja-empty {
  padding:34px 15px !important;
  text-align:center !important;
  color:#7b748d;
  background:#fcfbff;
}
.spv-caja-empty > i,
.spv-caja-empty > strong,
.spv-caja-empty > span { display:block; }
.spv-caja-empty > i { margin-bottom:8px; color:#7867e4; font-size:22px; }
.spv-caja-empty > strong { margin-bottom:3px; color:#4a435f; font-size:12px; }
.spv-caja-empty > span { font-size:10.5px; }

.spv-caja-pagination-row td { border:0 !important; background:#fff !important; }
.spv-caja-pagination-wrap {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 4px 2px;
  color:#7c758c;
  font-size:10.5px;
}
.spv-caja-pagination-wrap .pagination { margin:0 !important; }

@media (max-width: 1400px) {
  .spv-caja-history-filters {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
  }
  .spv-caja-filter-search { grid-column:span 2; }
  .spv-caja-filter-actions { justify-content:flex-end; }
}

@media (max-width: 767px) {
  .spv-caja-history-filters {
    grid-template-columns:1fr 1fr;
    padding:10px;
  }
  .spv-caja-filter-field,
  .spv-caja-filter-search,
  .spv-caja-filter-count { grid-column:auto; }
  .spv-caja-filter-search { grid-column:1 / -1; }
  .spv-caja-filter-actions {
    grid-column:1 / -1;
    width:100%;
    justify-content:stretch;
  }
  .spv-caja-filter-actions .spv-caja-filter-btn { flex:1; }
  .spv-caja-filter-actions .spv-caja-filter-btn-pdf { flex:0 0 42px; }
  .spv-caja-pagination-wrap { flex-direction:column; align-items:center; }
}

@media (max-width: 480px) {
  .spv-caja-history-filters { grid-template-columns:1fr; }
  .spv-caja-filter-search,
  .spv-caja-filter-actions { grid-column:auto; }
  .spv-caja-history-intro { padding:10px 11px; }
}

/* ==========================================================
   SPV V8.6 - Cierre de Caja Detallado + Arqueo Real
   ========================================================== */
.spv-caja-modal .spv-caja-cierre-dialog {
  width: 1040px;
  max-width: calc(100vw - 34px);
  margin-top: 3vh;
}

.spv-cierre-v86 {
  max-height: calc(100vh - 190px);
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: #f8f7fc !important;
}

.spv-cierre-loading {
  min-height: 260px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #776e95;
  font-size: 13px;
}
.spv-cierre-loading i { font-size: 28px; color: #6252d8; }

.spv-cierre-turno-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.spv-cierre-turno-card {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid #e8e3f7;
  border-radius: 13px;
  background: #fff;
}
.spv-cierre-turno-card > div { min-width: 0; }
.spv-cierre-turno-icon {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: #6252d8;
  background: #f0edff;
}
.spv-cierre-turno-card small,
.spv-cierre-turno-card strong { display: block; }
.spv-cierre-turno-card small {
  margin-bottom: 2px;
  color: #8c849e;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .045em;
}
.spv-cierre-turno-card strong {
  overflow: hidden;
  color: #302a43;
  font-size: 12.5px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.spv-cierre-turno-total {
  border-color: #dcd5fb;
  background: linear-gradient(135deg,#faf9ff 0%,#f3f0ff 100%);
}
.spv-cierre-turno-total strong { color:#5745d2; font-size:15px; }

.spv-cierre-section {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid #e7e3f3;
  border-radius: 14px;
  background: #fff;
}
.spv-cierre-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 11px;
}
.spv-cierre-section-head > div:first-child {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
}
.spv-cierre-section-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  color: #6252d8;
  background: #f0edff;
}
.spv-cierre-section h5 {
  margin: 0 0 2px;
  color: #312b45;
  font-size: 13px;
  font-weight: 800;
}
.spv-cierre-section p {
  margin: 0;
  color: #8b849a;
  font-size: 10.5px;
  line-height: 1.35;
}
.spv-cierre-chip {
  flex: 0 0 auto;
  padding: 5px 9px;
  border: 1px solid #e2ddf6;
  border-radius: 999px;
  color: #6759ca;
  background: #f7f5ff;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.spv-cierre-table-wrap { overflow-x:auto; }
.spv-cierre-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #ece8f6;
  border-radius: 10px;
  overflow: hidden;
  font-size: 11px;
}
.spv-cierre-table thead th {
  padding: 8px 9px;
  color: #675f79;
  background: #f8f7fc;
  border-bottom: 1px solid #ece8f6;
  font-size: 9.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .035em;
}
.spv-cierre-table td {
  padding: 8px 9px;
  color: #454052;
  border-bottom: 1px solid #f0edf6;
  vertical-align: middle;
}
.spv-cierre-table tbody tr:last-child td { border-bottom:0; }
.spv-cierre-table td:first-child { display:flex; align-items:center; gap:8px; }
.spv-cierre-table td strong { color:#373145; font-size:11px; }
.spv-cierre-payment,
.spv-cierre-doc {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: #6252d8;
  background:#f0edff;
}
.spv-mp-cash { color:#24845c; background:#eaf8f1; }
.spv-mp-wallet { color:#246bb2; background:#eaf3fc; }
.spv-doc-note { color:#b16820; background:#fff5e8; }
.spv-cierre-empty-row { display:table-cell !important; text-align:center; color:#8c8598 !important; padding:16px !important; }

.spv-cierre-credit-note {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin-top: 9px;
  padding: 9px 10px;
  border: 1px solid #e8e2bd;
  border-radius: 9px;
  color: #806b2f;
  background: #fffbee;
  font-size: 10.5px;
  line-height: 1.35;
}
.spv-cierre-credit-note i { margin-top:2px; }

.spv-cierre-mov-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.spv-cierre-mov {
  padding: 10px;
  border: 1px solid #ece8f5;
  border-radius: 10px;
  background:#fbfafd;
}
.spv-cierre-mov small,
.spv-cierre-mov strong { display:block; }
.spv-cierre-mov small { margin-bottom:4px; color:#8a8397; font-size:9.5px; font-weight:700; }
.spv-cierre-mov strong { color:#332e42; font-size:13px; }
.spv-cierre-mov.spv-in { background:#f2fbf6; border-color:#dcefe5; }
.spv-cierre-mov.spv-in strong { color:#247a57; }
.spv-cierre-mov.spv-out { background:#fff7f7; border-color:#f2dddd; }
.spv-cierre-mov.spv-out strong { color:#b24d58; }

.spv-cierre-arqueo-section { border-color:#dcd5fa; background:linear-gradient(180deg,#fff 0%,#fcfbff 100%); }
.spv-cierre-arqueo-grid {
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:10px;
  align-items:stretch;
}
.spv-cierre-expected,
.spv-cierre-counted,
.spv-cierre-difference {
  min-width:0;
  padding:13px;
  border:1px solid #e4dff3;
  border-radius:12px;
  background:#fff;
}
.spv-cierre-expected small,
.spv-cierre-difference small { display:block; margin-bottom:5px; color:#81798f; font-size:9.5px; font-weight:800; letter-spacing:.04em; }
.spv-cierre-expected strong,
.spv-cierre-difference strong { display:block; margin-bottom:4px; color:#322b45; font-size:20px; line-height:1.1; }
.spv-cierre-expected span,
.spv-cierre-difference span { display:block; color:#8d8699; font-size:10px; line-height:1.35; }
.spv-cierre-counted label { display:block; margin:0 0 7px; color:#5f5770; font-size:10px; font-weight:800; }
.spv-cierre-counted label b { color:#d95662; }
.spv-cierre-counted > small { display:block; margin-top:6px; color:#8c8597; font-size:9.5px; }
.spv-cierre-money-input { height:45px; }
.spv-cierre-money-input > span { width:48px; flex-basis:48px; }
.spv-caja-modal .spv-cierre-money-input #monto_contado_efectivo {
  width:100% !important;
  height:43px !important;
  margin:0 !important;
  padding:0 12px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  color:#2f2940 !important;
  font-size:17px !important;
  font-weight:800 !important;
  outline:none !important;
}
.spv-cierre-difference { transition:.18s ease; }
.spv-diff-neutral { background:#faf9fd; }
.spv-diff-ok { border-color:#bfe7d2; background:#effaf4; }
.spv-diff-ok strong,.spv-diff-ok span { color:#247a57; }
.spv-diff-short { border-color:#f0c4ca; background:#fff2f4; }
.spv-diff-short strong,.spv-diff-short span { color:#b44250; }
.spv-diff-over { border-color:#efd9ae; background:#fff9ed; }
.spv-diff-over strong,.spv-diff-over span { color:#95691e; }

.spv-cierre-observation { margin-top:10px; }
.spv-cierre-observation label { display:block; margin:0 0 6px; color:#665f76; font-size:10px; font-weight:800; }
.spv-cierre-observation label span { color:#b64a55; font-weight:700; }
.spv-caja-modal .spv-cierre-observation textarea.form-control {
  width:100% !important;
  min-height:64px !important;
  resize:vertical;
  padding:9px 11px !important;
  border:1px solid #ded9ec !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#393344 !important;
  font-size:11.5px !important;
  line-height:1.45 !important;
  box-shadow:none !important;
}
.spv-caja-modal .spv-cierre-observation textarea.form-control:focus {
  border-color:#7563e3 !important;
  box-shadow:0 0 0 3px rgba(104,87,223,.08) !important;
}

@media (max-width: 900px) {
  .spv-cierre-turno-grid { grid-template-columns:1fr 1fr; }
  .spv-cierre-mov-grid { grid-template-columns:1fr 1fr; }
  .spv-cierre-arqueo-grid { grid-template-columns:1fr; }
}
@media (max-width: 600px) {
  .spv-cierre-v86 { max-height:calc(100vh - 160px); padding:12px !important; }
  .spv-cierre-turno-grid { grid-template-columns:1fr; }
  .spv-cierre-mov-grid { grid-template-columns:1fr 1fr; }
  .spv-cierre-section { padding:11px; }
  .spv-cierre-section-head { align-items:flex-start; }
  .spv-cierre-chip { display:none; }
  .spv-cierre-table { min-width:560px; }
}
.spv-caja-badge-square { color:#15784d; background:#eaf8f1; border:1px solid #caebdb; }
.spv-caja-badge-short { color:#b44250; background:#fff1f3; border:1px solid #f1c8ce; }
.spv-caja-badge-over { color:#93681c; background:#fff8e9; border:1px solid #efdcae; }
