:root{--bg: #ffffff;--surface: #ffffff;--surface-sunken: #f6f4f1;--border: #e2ded7;--text: #23201b;--text-muted: #6e675d;--accent: #ff6b2c;--accent-ink: #1a0d04;--accent-text: #c2470e;--info: #a4590f;--ok: #2e7d46;--ok-text: #1e6b38;--warn: #7a5f00;--warn-text: #8a6d00;--danger: #b3261e;--danger-text: #b3261e;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--surface-sunken);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer;border:none;min-height:48px}input,select,textarea{font:inherit;min-height:48px;width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent-text);outline-offset:1px}::placeholder{color:var(--text-muted)}.marco{min-height:100%;display:flex;flex-direction:column}.barra{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 16px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.marca{background:none;font-weight:700;font-size:1.1rem;color:var(--accent-text);padding:0}.barra-empresa{color:var(--text-muted);font-size:.95rem;margin-right:auto}.barra-acciones{display:flex;gap:4px}main{flex:1;padding:16px;max-width:860px;width:100%;margin:0 auto}.pantalla{display:flex;flex-direction:column;gap:16px}.pantalla-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pantalla-cab h1{font-size:1.4rem;margin:0}.pantalla-cab h2{font-size:1.05rem;margin:0}.tarjeta{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px}.tarjeta h2{font-size:1.05rem;margin:0}.tenue{color:var(--text-muted);font-size:.9rem;margin:0}.saldo-tarjeta{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.saldo-cifra{font-size:2.4rem;font-weight:700;margin:0;line-height:1}.lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.fila{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;text-align:left;background:var(--surface-sunken);border-radius:var(--radius-md);padding:12px}.fila--estatica{cursor:default}.fila-izq,.fila-der{display:flex;flex-direction:column;gap:4px}.fila-der{align-items:flex-end}.referencia{font-family:ui-monospace,SF Mono,Cascadia Mono,Menlo,monospace;font-weight:600;letter-spacing:.02em}.referencia--chica{font-size:.85rem;color:var(--text-muted);font-weight:500}.monto{font-variant-numeric:tabular-nums;font-weight:600}.monto--sube{color:var(--ok-text)}.monto--baja{color:var(--text-muted)}.insignia{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:600;white-space:nowrap}.insignia--neutral{background:var(--surface-sunken);color:var(--text-muted);border:1px solid var(--border)}.insignia--progreso{background:#fff1e8;color:var(--accent-text)}.insignia--bien{background:#e8f4ec;color:var(--ok-text)}.insignia--atencion{background:#fdf4d9;color:var(--warn-text)}.insignia--malo{background:#fdeceb;color:var(--danger-text)}.aviso{margin:0;padding:12px;border-radius:var(--radius-md);font-size:.92rem;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.aviso--neutral{background:var(--surface-sunken)}.aviso--progreso{background:#fff1e8;color:var(--accent-text)}.aviso--bien{background:#e8f4ec;color:var(--ok-text)}.aviso--atencion{background:#fdf4d9;color:var(--warn-text)}.aviso--malo{background:#fdeceb;color:var(--danger-text)}.campo{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--text-muted)}.rejilla{display:grid;grid-template-columns:1fr;gap:12px}.parada{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;margin:0}.parada legend{font-weight:600;color:var(--text);padding:0 6px;display:flex;align-items:center;gap:6px}.dato-fijo{margin:0;font-weight:500}.acciones{display:flex;gap:8px;flex-wrap:wrap}.boton{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-md);padding:0 20px;font-weight:600}.boton:disabled{opacity:.55;cursor:not-allowed}.boton-tenue{background:var(--surface-sunken);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 14px}.boton-icono{background:none;color:var(--text-muted);min-height:32px;padding:0 6px;font-size:1rem}.resumen{border-color:var(--accent)}.resumen-cifras{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:1.05rem}.resumen-cifras strong{font-size:1.5rem}.resumen-guias{color:var(--accent-text)}.confirmacion{border-color:var(--ok)}.datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0}.datos dt{font-size:.8rem;color:var(--text-muted)}.datos dd{margin:2px 0 0;font-weight:500}.parada-detalle h2{font-size:1rem;margin:0 0 2px}.bultos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.bultos li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:var(--surface-sunken);border-radius:var(--radius-md)}.bulto-numero{font-weight:600;min-width:74px}.evidencia summary{cursor:pointer;color:var(--accent-text);font-size:.85rem}.foto{display:block;max-width:100%;margin-top:8px;border-radius:var(--radius-md)}.modal-fondo{position:fixed;inset:0;background:#23201b73;display:flex;align-items:center;justify-content:center;padding:16px;z-index:20}.modal{background:var(--surface);border-radius:var(--radius-lg);padding:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.modal-cab{display:flex;align-items:center;justify-content:space-between}.modal-cab h2{margin:0;font-size:1.05rem}.ingreso{min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px}.ingreso-caja{width:100%;max-width:380px}.ingreso-caja h1{margin:0;color:var(--accent-text)}@media(min-width:640px){.rejilla{grid-template-columns:1fr 1fr}.campo--largo{grid-column:1 / -1}.campo--corto{max-width:220px}}
