.csv-validation-page{max-width:1100px;margin:0 auto;padding:42px 24px 72px}
.csv-validation-hero{max-width:790px;margin:0 auto 26px;text-align:center}
.csv-validation-hero .eyebrow{display:inline-flex;padding:7px 12px;border:1px solid rgba(16,185,149,.25);border-radius:999px;color:#0b9679;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.csv-validation-hero h1{margin:14px 0 10px;font-size:clamp(32px,5vw,48px);line-height:1.08}
.csv-validation-hero p{max-width:690px;margin:0 auto;color:#5d6b7d;font-size:17px;line-height:1.65}
.csv-validation-panel{max-width:900px;margin:0 auto 34px;padding:24px;border:1px solid #dce4ec;border-radius:20px;background:#fff;box-shadow:0 14px 40px rgba(14,34,55,.07)}
.csv-validation-panel label{display:block;font-size:14px;font-weight:700}
.csv-validation-panel input[type=file],.csv-validation-panel textarea{display:block;width:100%;margin-top:8px;padding:12px 14px;border:1px solid #cfd8e3;border-radius:10px;background:#fff;color:#17212e;font:inherit}
.csv-validation-panel textarea{min-height:120px;resize:vertical;line-height:1.5}
.csv-validation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.csv-validation-actions button{min-height:42px;padding:0 18px;border:0;border-radius:10px;font:inherit;font-weight:750;cursor:pointer}
.csv-validation-actions .viewer-primary{color:#06251a}
.csv-validation-actions .viewer-download{background:#e8eef3;color:#233447}
.csv-validation-actions button:disabled{opacity:.5;cursor:not-allowed}
#validationStatus{min-height:20px;margin:12px 0 0;color:#53657a;font-size:14px}
#validationStatus.is-error{color:#b42318}
#validationSummary{font-weight:750;color:#0a8f73}
#validationPreview{max-height:420px;overflow:auto;padding:16px;border-radius:12px;background:#101922;color:#d9f2e9;white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}
.csv-validation-guide{max-width:850px;margin:0 auto;padding:8px 4px;color:#475569;line-height:1.75}
.csv-validation-guide h2{margin:26px 0 8px;color:#17212e;font-size:22px}
.csv-validation-guide a{color:#078b71;font-weight:700}
body.dark .csv-validation-hero p,body.dark .csv-validation-guide{color:#aebbb7}
body.dark .csv-validation-panel{background:#111a22;border-color:#28343d}
body.dark .csv-validation-panel input[type=file],body.dark .csv-validation-panel textarea{background:#0b1218;border-color:#34434d;color:#edf5f2}
body.dark .csv-validation-guide h2{color:#edf5f2}
body.dark .csv-validation-actions .viewer-download{background:#24313a;color:#dce8e2}
@media(max-width:700px){.csv-validation-page{padding:30px 15px 52px}.csv-validation-panel{padding:17px}.csv-validation-actions button{width:100%}.csv-validation-hero p{font-size:15px}}

/* Shared validation report tables and dark page styling */
body.dark .csv-validation-hero .eyebrow{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accent-soft)}
body.dark .csv-validation-panel{border-color:var(--line);background:var(--surface);box-shadow:var(--shadow)}
body.dark .csv-validation-panel label{color:var(--text)}
body.dark .csv-validation-panel input[type=file],body.dark .csv-validation-panel textarea{border-color:var(--line);background:var(--bg);color:var(--text)}
body.dark .csv-validation-actions .viewer-download{border:1px solid var(--line);background:var(--soft);color:var(--text)}
body.dark #validationStatus{color:var(--muted)}body.dark #validationStatus.is-error{color:#ff8585}body.dark #validationSummary{color:var(--accent)}
body.dark .csv-validation-guide{color:var(--muted)}body.dark .csv-validation-guide h2{color:var(--text)}body.dark .csv-validation-guide a{color:var(--accent)}
.validation-report-wrap{max-width:100%;max-height:62vh;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);overscroll-behavior:contain}
.validation-report-wrap table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;color:var(--text);font-size:12px}
.validation-report-wrap th{position:sticky;top:0;z-index:2;min-width:130px;max-width:340px;padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--accent-soft);text-align:left;white-space:nowrap}
.validation-report-wrap td{max-width:420px;padding:9px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap}
.validation-report-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.validation-report-wrap tbody tr:hover td{background:var(--accent-soft)}
@media(max-width:700px){.validation-report-wrap{max-height:52vh}.csv-validation-panel input[type=file]{font-size:12px}}
