/* pure CSS */

body{max-width:760px;margin:2rem auto;font:16px/1.5 system-ui,sans-serif;color:#222}
h1{font-size:1.8rem;margin-bottom:1rem}
.card{border:1px solid #ddd;padding:1.2rem;border-radius:6px;background:#fafafa}
label{display:block;margin:.8rem 0 .3rem;font-weight:600}
label.inline{display:inline-block;margin-right:1rem;font-weight:400}
input[type=text],input[type=number]{width:100%;padding:.45rem;font-size:1rem;box-sizing:border-box;border:1px solid #bbb;border-radius:4px}
button{padding:.55rem 1.1rem;font-size:1rem;border:1px solid #0077cc;background:#0090ff;color:#fff;border-radius:4px;cursor:pointer}
button:hover{background:#0082e0}
.actions{margin-top:1rem;display:flex;gap:1rem;align-items:center}
#download-link{padding:.55rem 1.1rem;border:1px solid #0077cc;border-radius:4px;text-decoration:none;color:#0077cc}
#download-link.hidden{display:none}
.status{margin-top:1rem;font-weight:600}
.status.error{color:#c00}
.table-wrap{overflow-x:auto;margin-top:1.4rem}
table{width:100%;border-collapse:collapse;font-size:.93rem}
th,td{border:1px solid #ccc;padding:.45rem;text-align:left;vertical-align:top}
th{background:#f6f6f6}
.ellipsis{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
