/* CSV Upload and Search 2.0 - giữ class của bản 1.0 để không vỡ giao diện cũ. */
.csv2-lookup { --csv2-accent: var(--main-color, #232262); margin: 16px 0 24px; max-width: 720px; }
.csv2-form { display: grid; gap: 4px; }
.csv2-field { margin: 0 0 10px; }
.csv2-field label { display: block; font-weight: 600; margin-bottom: 4px; }
.csv2-field input {
	display: block; width: 100%; max-width: 420px; height: 42px; padding: 0 12px;
	border: 1px solid #cfd3de; border-radius: 8px; font: inherit; box-sizing: border-box;
}
.csv2-field input:focus { outline: 2px solid var(--csv2-accent); outline-offset: 1px; }
.csv2-btn { height: 42px; padding: 0 24px; border: 0; border-radius: 8px; background: var(--csv2-accent); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.csv2-btn:hover { filter: brightness(1.15); }
.csv2-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.csv2-message, .csv2-notice { padding: 10px 14px; background: #fff7e6; border: 1px solid #f5d38a; border-radius: 8px; }
.csv-search-results { margin-top: 20px; display: flex; flex-direction: column; gap: 12px; }
.csv-result-card { border: 1px solid #ddd; border-radius: 8px; padding: 12px 16px; background: #fafafa; }
.csv-result-row { display: flex; flex-wrap: wrap; padding: 6px 0; border-bottom: 1px solid #eee; }
.csv-result-row:last-child { border-bottom: none; }
.csv-result-label { font-weight: bold; width: 180px; flex-shrink: 0; }
.csv-result-value { flex: 1; word-break: break-word; }
@media (max-width: 600px) { .csv-result-label { width: 100%; } }
