/* ===== Enhanced CSV Upload (settings-csv.js) ===== */

/* Date row */
.ecsv-date-row {
  display: flex; gap: 12px; align-items: center; margin-bottom: 16px;
}
.ecsv-label {
  font-weight: 600; font-size: .85rem;
}

/* Drag & drop area */
.ecsv-drop-area {
  border: 2px dashed var(--color-gray-200); border-radius: var(--radius-lg); padding: 32px 20px;
  text-align: center; cursor: pointer; transition: all var(--transition-normal);
  background: var(--color-gray-50);
}
.ecsv-drop-area:hover {
  border-color: var(--color-info); background: var(--color-info-bg);
}
.ecsv-drop-hover {
  border-color: var(--color-navy) !important; background: rgba(27,45,79,.06) !important;
  box-shadow: 0 0 0 3px rgba(27,45,79,.12);
}
.ecsv-drop-icon {
  font-size: 2rem; margin-bottom: 8px;
}
.ecsv-drop-text {
  font-size: .9rem; color: var(--color-gray-600); font-weight: 500;
}
.ecsv-drop-hint {
  font-size: .75rem; color: var(--color-gray-400); margin-top: 4px;
}

/* Summary badges */
.ecsv-summary {
  display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px;
}
.ecsv-badge {
  display: inline-block; padding: 4px 12px; border-radius: 20px;
  font-size: .78rem; font-weight: 600; background: rgba(27,45,79,.08); color: var(--color-navy);
}
.ecsv-badge-new {
  background: var(--color-success-bg); color: var(--color-success);
}
.ecsv-badge-error {
  background: var(--color-error-bg); color: var(--color-error);
}

/* Preview table */
.ecsv-preview-scroll {
  max-height: 360px; overflow: auto; border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
}
.ecsv-preview-table {
  width: 100%; font-size: .76rem; border-collapse: collapse;
  min-width: 800px;
}
.ecsv-preview-table thead {
  position: sticky; top: 0; z-index: 1;
}
.ecsv-preview-table th {
  padding: 7px 8px; text-align: left; background: var(--color-gray-50);
  border-bottom: 2px solid var(--color-gray-200); font-weight: 700; color: var(--color-gray-600);
  white-space: nowrap;
}
.ecsv-preview-table td {
  padding: 5px 8px; border-bottom: 1px solid var(--color-gray-100);
}
.ecsv-preview-table tbody tr:hover {
  background: var(--color-gray-50);
}
.ecsv-th-line { width: 32px; text-align: center; }
.ecsv-td-line { text-align: center; color: var(--color-gray-300); font-size: .7rem; }
.ecsv-td-room { font-weight: 700; }

/* Error row highlight */
.ecsv-row-error {
  background: var(--color-error-bg) !important;
}
.ecsv-row-error td {
  border-bottom-color: var(--color-error-border) !important;
}

/* Status badges in table */
.ecsv-status-new {
  display: inline-block; padding: 2px 8px; border-radius: 10px;
  font-size: .7rem; font-weight: 600; background: var(--color-success-bg); color: var(--color-success);
}
.ecsv-status-update {
  display: inline-block; padding: 2px 8px; border-radius: 10px;
  font-size: .7rem; font-weight: 600; background: var(--color-info-bg); color: var(--color-info);
}
.ecsv-status-error {
  display: inline-block; padding: 2px 8px; border-radius: 10px;
  font-size: .7rem; font-weight: 600; background: var(--color-error-bg); color: var(--color-error);
  cursor: help;
}

/* Error detail list */
.ecsv-error-list {
  margin-top: 12px; padding: 12px; border-radius: var(--radius-md);
  background: var(--color-error-bg); border: 1px solid var(--color-error-border);
}
.ecsv-error-title {
  font-weight: 700; font-size: .85rem; color: var(--color-error); margin-bottom: 8px;
}
.ecsv-error-item {
  font-size: .78rem; color: var(--color-error); padding: 3px 0;
}

/* Actions row */
.ecsv-actions {
  display: flex; justify-content: flex-end; align-items: center;
  gap: 12px; margin-top: 14px; padding-top: 12px;
  border-top: 1px solid var(--color-gray-200);
}
.ecsv-action-note {
  font-size: .78rem; color: var(--color-gray-400);
}

/* Format guide table */
.ecsv-format-table {
  width: 100%; font-size: .8rem; border-collapse: collapse;
}
.ecsv-format-header th {
  text-align: left; padding: 6px 8px; background: var(--color-gray-50);
  border-bottom: 1px solid var(--color-gray-200); font-weight: 700;
}
.ecsv-format-table td {
  padding: 6px 8px; border-bottom: 1px solid var(--color-gray-100);
}
.ecsv-col-name {
  font-family: monospace; font-weight: 600; color: var(--color-navy);
}
