body { font-family: Arial, sans-serif; background:#f5f6f8; margin:0; padding:20px; }
.card { max-width: 520px; margin: 0 auto; background:white; padding:18px; border-radius:12px; box-shadow: 0 6px 20px rgba(0,0,0,.08); }
.card.wide { max-width: 1100px; }
h1 { margin:0 0 6px 0; font-size: 22px; }
p { margin: 6px 0; color:#333; }
.row { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.stack { display:flex; flex-direction:column; gap:10px; }
.input { width:100%; padding:10px 12px; border:1px solid #ccd1d8; border-radius:10px; font-size:16px; }
.input.small { width:90px; }
.btn { display:inline-block; background:#1f6feb; color:white; border:none; padding:10px 12px; border-radius:10px; font-size:16px; text-decoration:none; cursor:pointer; }
.btn.secondary { background:#6b7280; }
.btn.danger { background:#b91c1c; }
.btn.tiny { padding:8px 10px; font-size:14px; border-radius:10px; }
.error { background:#fee2e2; color:#991b1b; padding:10px; border-radius:10px; margin:10px 0; }
.info { background:#e0f2fe; color:#075985; padding:10px; border-radius:10px; margin-top:12px; }
.tablewrap { overflow-x:auto; margin-top:12px; }
table { border-collapse:collapse; width:100%; min-width: 980px; }
th, td { border:1px solid #e5e7eb; padding:8px; font-size:14px; vertical-align:middle; }
th { background:#f9fafb; text-align:left; }
.totals { margin-top:12px; display:flex; flex-wrap:wrap; gap:14px; }
.submitbar { margin-top:14px; }
