/* Basic layout */
:root{
  --bg:#0b0c10;
  --panel:#151820;
  --text:#e6e8ef;
  --muted:#9aa3b2;
  --accent:#4f86ff;
  --danger:#ff5964;
  --border:#2a2f3a;
  --row-bone:#f9f9f4; /* bone white */
  --row-blue:#e6f1ff; /* light pastel blue */
  --row-selected-bone:#e7e9ee; /* light gray for bone rows */
  --row-selected-blue:#cfd4dc;  /* darker gray for blue rows */
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Noto Sans",sans-serif;background:var(--bg);color:var(--text)}

.container{max-width:960px;margin:32px auto;padding:24px;background:var(--panel);border:1px solid var(--border);border-radius:12px}

h1{margin-top:0;font-size:24px}

.alert{padding:12px 14px;border-radius:8px;background:#1c2230;border:1px solid var(--border);color:var(--muted);margin:12px 0}
.alert-error{background:rgba(255,89,100,.1);border-color:rgba(255,89,100,.35);color:#ffc7cb}

/* Upload form */
.upload-form{display:flex;gap:12px;align-items:center;padding:12px 0}
.upload-form input[type="file"]{color:var(--muted)}
.upload-form button{background:var(--accent);color:white;border:none;border-radius:8px;padding:8px 14px;font-weight:600;cursor:pointer}
.upload-form button:hover{filter:brightness(1.1)}

/* Table wrapper: scrollable and resizable */
.table-wrapper{border:1px solid var(--border);border-radius:10px;overflow:auto;resize:both;min-width:320px;min-height:160px;max-height:70vh;background:#0f121a}

/* Table */
#results-table{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed}
#results-table thead th{position:sticky;top:0;background:#131826;color:var(--text);text-align:left;padding:10px;border-bottom:1px solid var(--border);font-weight:700}
#results-table tbody td{padding:10px;border-bottom:1px solid #d1d5db;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#results-table tbody tr{cursor:pointer}
#results-table tbody tr:nth-child(odd){background:var(--row-bone)}
#results-table tbody tr:nth-child(even){background:var(--row-blue)}
/* Selected row styles override alternating backgrounds */
#results-table tbody tr.is-selected-bone{background:var(--row-selected-bone) !important}
#results-table tbody tr.is-selected-blue{background:var(--row-selected-blue) !important}

/* Column resizer handle */
#results-table th{position:relative}
.col-resizer{position:absolute;right:0;top:0;width:8px;height:100%;cursor:col-resize;user-select:none}
.col-resizer:after{content:"";position:absolute;right:3px;top:25%;bottom:25%;width:2px;background:#2d3442;border-radius:1px}

/* Link */
a{color:#a9c3ff;text-decoration:none}
a:hover{text-decoration:underline}
