*{box-sizing:border-box}
:root{
  --bg:#f4f6f8;--card:#fff;--text:#172033;--muted:#6c768a;--line:#dfe4ea;
  --accent:#2356d8;--accent2:#173da4;--success:#137a4f;--shadow:0 14px 40px rgba(20,32,55,.08)
}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.shell{max-width:1080px;margin:0 auto;padding:48px 20px 72px}
.hero{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;margin-bottom:24px}
h1{font-size:clamp(34px,6vw,58px);line-height:1.02;letter-spacing:-.04em;margin:8px 0 16px}
h2{margin:0;font-size:22px}.lead{max-width:720px;font-size:18px;color:var(--muted);margin:0}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0}
.badge,.pill{background:#e8efff;color:var(--accent2);border-radius:999px;padding:8px 12px;font-weight:700;white-space:nowrap}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:22px;margin-top:18px}
.dropzone{min-height:180px;border:2px dashed #b9c6da;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;background:#fbfcfe;text-align:center;padding:24px}
.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:#f6f9ff}
.dropzone input{display:none}.drop-icon{font-size:34px;color:var(--accent)}
.dropzone span:last-child{color:var(--muted)}
.status-row{display:flex;justify-content:space-between;gap:16px;margin-top:14px;color:var(--muted)}
.status{font-weight:700}.status.ok{color:var(--success)}.status.error{color:#b42318}.muted{color:var(--muted)}
.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
label{font-size:12px;font-weight:750;color:#4a5568}
input{width:100%;margin-top:6px;border:1px solid #cfd6df;border-radius:9px;padding:10px 11px;font:inherit;color:var(--text);background:#fff}
input:focus{outline:3px solid rgba(35,86,216,.13);border-color:var(--accent)}
.table-wrap{overflow:auto;margin-top:24px;border:1px solid var(--line);border-radius:12px}
table{width:100%;border-collapse:collapse;min-width:820px}th,td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#697386;background:#f8fafc}
td input{margin:0}.num{text-align:right}.amount{text-align:right}
.icon-btn{border:0;background:transparent;color:#a11;padding:8px;cursor:pointer;font-size:18px}
.actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
button{border:0;border-radius:10px;padding:11px 16px;font-weight:800;cursor:pointer}
.primary{background:var(--accent);color:#fff}.primary:hover{background:var(--accent2)}
.secondary{background:#eef2f7;color:#263244}
.fineprint,.info p{color:var(--muted)}.hidden{display:none}
code{background:#eef2f7;border-radius:6px;padding:2px 6px}
@media(max-width:850px){.form-grid{grid-template-columns:repeat(2,1fr)}.hero{flex-direction:column}.badge{align-self:flex-start}}
@media(max-width:520px){.form-grid{grid-template-columns:1fr}.actions{flex-direction:column}.status-row{flex-direction:column}}
