:root{--navy:#0d2240;--gold:#c9a227;--bg:#f4f6fa;--ok:#1a9a4a}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:#1b2533}
header{background:var(--navy);color:#fff;padding:28px 20px;text-align:center}
.brand{color:var(--gold);font-weight:800;letter-spacing:.15em;text-transform:uppercase;font-size:.85rem}
h1{margin:.3em 0;font-size:clamp(1.3rem,4vw,2rem)}.sub{opacity:.85;max-width:620px;margin:0 auto}
main{max-width:680px;margin:-16px auto 40px;padding:0 14px}
form{background:#fff;border-radius:14px;padding:24px;box-shadow:0 6px 24px #0d22401a;display:flex;flex-direction:column;gap:14px}
label{display:flex;flex-direction:column;font-weight:600;font-size:.92rem;gap:6px}
input,select,textarea{font:inherit;padding:11px 12px;border:1px solid #c8d0dc;border-radius:9px;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:transparent}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.grid2{grid-template-columns:1fr}}
.hidden{display:none!important}
.drop{border:2px dashed #9aa8bc;border-radius:12px;padding:22px;text-align:center;position:relative;cursor:pointer}
.drop.over{border-color:var(--gold);background:#fff9e6}.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
#fileList{list-style:none;padding:0;margin:8px 0 0;font-size:.85rem;text-align:left}
button{background:var(--gold);color:var(--navy);font-weight:800;border:0;border-radius:10px;padding:14px;font-size:1rem;cursor:pointer}
button:disabled{opacity:.5;cursor:not-allowed}
.bar{height:14px;background:#e3e8f0;border-radius:7px;overflow:hidden}#barFill{height:100%;width:0;background:var(--navy);transition:width .3s}
.warn{color:#a15c00;font-size:.88rem}#done{color:var(--ok);font-weight:800;font-size:1.15rem;text-align:center}.err{color:#b00020}
