*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#0f172a;background:#f8fafc}
.container{max-width:1100px;margin:0 auto;padding:24px}
header h1{margin:0 0 6px;font-size:28px;font-weight:700}
header .sub{margin:0;color:#475569}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin:16px 0;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-weight:600;margin-bottom:6px;color:#0f172a}
input[type="number"],input[type="text"],select,input[type="file"]{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a}
.help{display:block;margin-top:6px;color:#64748b;font-size:12px}
.band-section{margin:10px 0}
.band-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:12px}
.band-row .remove{justify-self:end}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;cursor:pointer}
.btn.primary{background:#2563eb;border-color:#1d4ed8;color:#fff}
.btn:hover{filter:brightness(.98)}
.actions{display:flex;gap:10px}
#messages{margin-top:12px;min-height:20px;color:#0f172a}
.message.error{color:#b91c1c}
.message.success{color:#065f46}
#results{overflow-x:auto}
#results table{width:100%;border-collapse:collapse;min-width:900px}
#results th,#results td{border-bottom:1px solid #e2e8f0;padding:8px;text-align:left}
#results th{background:#f1f5f9}
footer{color:#64748b;font-size:12px}

@media (max-width: 720px){
  .grid{grid-template-columns:1fr}
  .band-row{grid-template-columns:1fr 1fr}
}
