body {font-family: sans-serif; margin: 0; background:#f5f5f5; color:#333;}
header {background:#444; color:#fff; padding:1rem; text-align:center;}
#uploader {border:2px dashed #888; padding:2rem; text-align:center; margin:1rem auto; max-width:600px; background:#fff; cursor:pointer; border-radius:12px; transition:background .3s;}
#uploader.drag {background:#eef;}
#uploader label {cursor:pointer; color:#0077cc; text-decoration:underline;}
#fileInput {display:none;}
#meta {background:#fff; margin:1rem auto; padding:1rem; max-width:800px; border-radius:12px; box-shadow:0 2px 5px rgba(0,0,0,0.1);}
.meta-item {margin:.25rem 0;}
.meta-item strong {display:inline-block; min-width:140px;}
#previewContainer {background:#fff; margin:1rem auto; padding:1rem; max-width:800px; border-radius:12px; box-shadow:0 2px 5px rgba(0,0,0,0.1);}
#previewOutput {border:1px solid #ccc; padding:1rem; margin-top:.5rem; min-height:2rem;}
#tablesContainer {background:#fff; margin:1rem auto; padding:1rem; max-width:800px; border-radius:12px; box-shadow:0 2px 5px rgba(0,0,0,0.1);}
details {margin-bottom:.5rem;}
details summary {cursor:pointer; font-weight:bold;}
#controls {display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:.5rem;}
#controls button, #controls input {padding:.5rem; border-radius:8px; border:1px solid #ccc;}
.small {font-size:.9em; color:#555;}