*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f3f6fa;color:#1b1b1b;padding-bottom:70px}
header{display:flex;align-items:center;gap:10px;background:#0b5394;color:#fff;padding:10px 14px;position:sticky;top:0;z-index:2}
header img{width:32px;height:32px;border-radius:8px}header h1{font-size:1.15rem;margin:0;flex:1}
main{max-width:640px;margin:0 auto;padding:14px}
.card{background:#fff;border-radius:12px;padding:14px;margin:0 0 12px;box-shadow:0 1px 3px #0002}
label{display:block;font-weight:600;margin:12px 0 4px;font-size:.95rem}
input,select,textarea{width:100%;padding:12px;font-size:16px;border:1px solid #b9c3cf;border-radius:10px;background:#fff}
input.err,select.err{border-color:#c62828}.msgerr{color:#c62828;font-size:.85rem;margin-top:3px}
button{font-size:16px;padding:12px 14px;border-radius:10px;border:0;background:#0b5394;color:#fff;cursor:pointer}
button.sec{background:#e3ebf5;color:#0b5394}button.link{background:none;color:#fff;padding:6px}
button:disabled{opacity:.5}.full{width:100%;margin-top:16px}
.tram{display:block;width:100%;text-align:left;margin:0 0 8px;background:#fff;color:#1b1b1b;box-shadow:0 1px 3px #0002}
.tram small{display:block;color:#0b5394;margin-top:3px}
nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid #ccd;z-index:2;padding-bottom:env(safe-area-inset-bottom)}
nav button{flex:1;background:none;color:#334;border-radius:0;padding:12px 4px;font-size:.85rem}nav button.on{color:#0b5394;font-weight:700;border-top:3px solid #0b5394}
.badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:.8rem;font-weight:700}
.b-procesando{background:#fff3cd;color:#7a5b00}.b-listo{background:#d4edda;color:#155724}.b-descargado{background:#e2e3e5;color:#383d41}
.b-no_disponible{background:#f8d7da;color:#721c24}.b-esperando_pago{background:#ffe0b2;color:#8a4b00}.b-revisar{background:#e3ebf5;color:#0b5394}
.fila{display:flex;justify-content:space-between;align-items:center;gap:8px}.gris{color:#667;font-size:.85rem}
.aviso{background:#155724;color:#fff;padding:12px 14px;text-align:center;font-weight:600}
.aviso.mal{background:#c62828}.centro{text-align:center}table{width:100%;border-collapse:collapse;font-size:.9rem}
td,th{padding:6px 4px;border-bottom:1px solid #e5e8ee;text-align:left}td.n{text-align:right}.total{font-size:1.4rem;font-weight:800}
.prueba{background:#fff3cd;color:#7a5b00;padding:8px;border-radius:8px;font-size:.85rem;margin-bottom:10px}
.acciones{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
