body { background: #f8fafc; color: #0f1720; }
.card { background: #ffffff; border: 1px solid rgba(15,23,32,0.04); }
.table { color: #0f1720; }
.list-group-item { background: transparent; color: #0f1720; border: none; }
.form-control, .form-select { background: #ffffff; color: #0f1720; border: 1px solid rgba(15,23,32,0.08); }
.btn { box-shadow: none; }
.small.text-muted { color: #64748b; }

/* Compact row for uploads */
.compact-row { padding: .25rem .5rem; margin-bottom: .35rem; border-radius: 6px; }
.compact-row .small.text-muted { color: #64748b; font-size: 0.78rem; max-width: 220px; display: block; white-space: normal; margin: 0; padding-top: 2px; word-break: break-word; }
.compact-row input.form-control-sm { padding: .18rem .35rem; font-size: .82rem; }
.compact-row .btn-sm { padding: .18rem .4rem; font-size: .8rem; }

/* Selected filename badge */
.selected-badge { max-width: 200px; display: inline-block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; opacity: .95; }
.selected-badge[title] { cursor: help; }

/* Layout panels to reduce vertical scrolling */
.main-container { max-width: 1100px; padding-bottom: 120px; }
.uploads-panel { max-height: none; overflow-y: visible; overflow-x: hidden; }
.preview-panel { max-height: none; overflow-y: visible; }
.mapping-panel { max-height: none; overflow-y: visible; }

/* Modal tweaks */
.bridge-section .card { background: #ffffff; color: #111827; border-radius: 10px; }
.bridge-section .step { background: #ffffff; border: 1px solid #e6edf3; border-radius: 8px; }
.bridge-section .btn-primary { background: linear-gradient(90deg,#6d28d9,#7c3aed); border: none; }
.bridge-section .alert { background: #fff3cd; color: #614700; border-radius: 8px; padding: .8rem; }

/* Bottom preview layout */
.right-column { display: flex; flex-direction: column; min-height: 0; }
.right-column > .flex-grow-1 { overflow: auto; }
.actions-bar { padding: 0.6rem 0; }
.actions-bar { position: fixed; left: 50%; transform: translateX(-50%); bottom: 14px; z-index: 1200; background: rgba(255,255,255,0.95); padding: 10px 14px; border-radius: 10px; box-shadow: 0 6px 18px rgba(0,0,0,0.06); border: 1px solid rgba(15,23,32,0.06); max-width: calc(100% - 40px); }

/* Hide fixed actions bar when SweetAlert2 modal is shown to avoid overlap */
body.swal2-shown .actions-bar, html.swal2-shown .actions-bar { display: none !important; }
.actions-bar .btn { min-width: 100px; }

kbd { background: #111827; color: #fff; border-radius: 3px; padding: 0 4px; }

/* Cell-level problem highlighting */
#previewTable td.cell-problem-critical { background: #f8d7da !important; color: #842029 !important; font-weight: 600; }
#previewTable td.cell-problem-warning { background: #fff3cd !important; color: #664d03 !important; }
#previewTable thead th.cell-problem-warning { background: #fff3cd !important; color: #664d03 !important; }

