:root{--brand:#0e2a47;--accent:#2f7de1;--bg:#f5f7fa;--card:#fff;--text:#1a2433;--muted:#64748b;--border:#e2e8f0}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.container{max-width:680px;margin:0 auto;padding:0 16px 48px}.landing{padding-top:64px}.brandbar{background:var(--brand);color:#fff;margin:0 -16px 20px;padding:18px 20px;display:flex;align-items:center}.brandname{font-size:1.15rem;font-weight:700;letter-spacing:.2px}.brandlogo{max-height:36px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:14px;box-shadow:0 1px 2px rgba(16,24,40,.04)}.card.center{text-align:center}h1{font-size:1.35rem;margin:0 0 8px}h2{font-size:1.02rem;margin:0 0 4px}p{margin:6px 0;line-height:1.5}.muted{color:var(--muted)}.small{font-size:.85rem}.progress{display:flex;align-items:center;gap:12px;margin-top:14px}.progressbar{flex:1 1;height:8px;background:var(--border);border-radius:999px;overflow:hidden}.progressfill{height:100%;background:var(--accent);border-radius:999px;transition:width .3s ease}.item .itemhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pill{flex-shrink:0;font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}.pill.amber{background:#fef3c7;color:#92400e}.pill.blue{background:#dbeafe;color:#1e40af}.pill.green{background:#d1fae5;color:#065f46}.pill.red{background:#fee2e2;color:#991b1b}.pill.gray{background:#e5e7eb;color:#374151}.actions{margin-top:12px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#fff;color:var(--text);font-size:.95rem;font-weight:600;padding:10px 18px;border-radius:10px;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.6;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.note{font-size:.88rem;font-weight:600;margin-top:8px}.note.ok{color:#065f46}.note.err{color:#991b1b}.dropzone{border-style:dashed;border-width:2px;text-align:center;padding:26px 20px}.dropzone.over{border-color:var(--accent);background:#f0f7ff}.dropzone .btn{margin-top:10px}.footer{margin-top:28px;text-align:center}.footer a{color:var(--muted)}@media (max-width:480px){.item .itemhead{flex-direction:column}.pill{align-self:flex-start}}