/* Validation Styling */
.validation-error {
  background-color: #ffebee !important;
  border-left: 4px solid #f44336;
}

.validation-warning {
  background-color: #fff3e0 !important;
  border-left: 4px solid #ff9800;
}

/* Tooltip for validation errors */
td[data-validation-error] {
  position: relative;
  cursor: help;
}

td[data-validation-error]:hover::after {
  content: attr(data-validation-error);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #333;
  color: #fff;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 11px;
  white-space: nowrap;
  z-index: 1000;
  max-width: 450px;
}

/* Disabled button styling */
#btn-uploadbranchcenter:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

/* Validation summary badge */
.validation-summary {
  font-size: 12px;
  padding: 8px 12px;
  border-radius: 4px;
  margin-bottom: 10px;
}

.validation-summary.error {
  background-color: #ffebee;
  color: #c62828;
  border: 1px solid #ef9a9a;
}

.validation-summary.success {
  background-color: #e8f5e9;
  color: #2e7d32;
  border: 1px solid #a5d6a7;
}

/* Filename info box */
.filename-info-box {
  background: #e3f2fd;
  border: 1px solid #90caf9;
  border-radius: 4px;
  padding: 10px 15px;
  margin-bottom: 15px;
  font-size: 13px;
}

.filename-info-box strong {
  color: #1565c0;
}

.filename-info-box.mismatch {
  background: #ffebee;
  border-color: #ef9a9a;
}

.filename-info-box.mismatch strong {
  color: #c62828;
}

/* Badge for validation errors */
.badge-validation-error {
  background-color: #f44336;
  color: white;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 10px;
  margin-left: 8px;
}

/* Allowed values hint */
.allowed-values-hint {
  font-size: 11px;
  color: #666;
  font-style: italic;
}

/* Column Alignment Classes */

/* CLIENT_LOAN_CYCLE - Center Aligned */
#tblBranchUploadView td.col-client-cycle {
  text-align: center !important;
  vertical-align: middle;
}

/* ✅ LOAN_AMOUNT & PREVIOUS_LOAN - Right Aligned (Plain Styling) */
#tblBranchUploadView td.col-loan-amount,
#tblBranchUploadView td.col-previous-loan {
  text-align: right !important;
  vertical-align: middle;
  padding-right: 12px;
}

/* Header alignment */
#tblBranchUploadView th.text-center {
  text-align: center !important;
}

#tblBranchUploadView th.text-end {
  text-align: right !important;
}

/* Validation Styling (applies to all columns equally) */
.validation-error {
  background-color: #ffebee !important;
  border-left: 4px solid #f44336;
}

.validation-warning {
  background-color: #fff3e0 !important;
  border-left: 4px solid #ff9800;
}
/* Filename mismatch alert */
.filename-mismatch-alert {
  background: linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%);
  border: 2px solid #f44336;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 15px;
  display: none;
}

.filename-mismatch-alert.show {
  display: block;
  animation: shake 0.5s ease-in-out;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  75% { transform: translateX(5px); }
}