:root{
  --bg:#F4F6F5;--card:#fff;--tx:#14201E;--mu:#5B6866;--bd:#E1E6E4;--bd2:#CBD5D2;
  --ac:#0B6157;--ac-soft:#EDF6F4;--ac-line:#CFE5E0;--off:#B8C4C1;
  --ok-bg:#E1F4E8;--ok:#16603A;--warn-bg:#FFF1DC;--warn:#7A4A00;--info-bg:#E3F1FF;--info:#0B4A85;
  --bad-bg:#FBE5E5;--bad:#8A1F1F;--hol-bg:#EAE6FB;--hol:#3F2D8F;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.45 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit;color:inherit}
h1{font-size:24px;letter-spacing:-.02em;margin:0 0 12px}
h2{font-size:17px;margin:0}
.mu{color:var(--mu);font-size:14px}
.sm{font-size:13px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 18px;border:0;border-radius:14px;background:var(--ac);color:#fff;font-weight:600;cursor:pointer;text-decoration:none}
.btn:disabled{background:var(--off);cursor:default}
.btn.full{width:100%}
.btn2{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 16px;border:1px solid var(--bd2);border-radius:14px;background:#fff;font-weight:600;cursor:pointer;text-decoration:none;color:var(--tx)}
.btn2:disabled{color:#8A9693;cursor:default}
.btn2.full{width:100%}
.btn2.bad{color:var(--bad);border-color:#E7B9B9}
.link{background:none;border:0;padding:10px 4px;color:var(--ac);font-weight:600;cursor:pointer;min-height:44px}
.link.bad{color:var(--bad)}
.inp{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--bd2);border-radius:12px;background:#fff;font-size:16px}
textarea.inp{padding:12px 14px;min-height:72px;resize:vertical}
.inp.need{border-color:#C77700;background:#FFF8EC}
.lbl{display:block;margin:16px 0 6px;font-weight:600;font-size:14px;color:#3F4B48}
.chip{min-height:44px;padding:0 16px;border:1px solid var(--bd2);border-radius:999px;background:#fff;font-weight:600;font-size:15px;cursor:pointer}
.chip.on{background:var(--ac);border-color:var(--ac);color:#fff}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-weight:600;font-size:12px;white-space:nowrap}
.st-pendiente{background:var(--warn-bg);color:var(--warn)}
.st-aprobado{background:var(--info-bg);color:var(--info)}
.st-cargado{background:var(--ok-bg);color:var(--ok)}
.st-rechazado{background:var(--bad-bg);color:var(--bad)}
.src{display:inline-block;padding:3px 8px;border-radius:6px;font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.src-holded{background:var(--hol-bg);color:var(--hol)}
.src-stock{background:#49A7A5;color:#fff}
.src{display:inline-flex;align-items:center;gap:5px}
.mk{width:14px;height:14px;flex:none;object-fit:contain;border-radius:3px;display:block}
.btn2 .mk{width:20px;height:20px}
.fchip .mk{width:16px;height:16px;display:inline-block;vertical-align:-3px;margin-right:6px}
.ok{display:inline-flex;align-items:center;gap:4px;color:var(--ok);font-weight:600;font-size:13px}
.warn{color:#8A4B00;font-weight:600}
.step{width:44px;height:44px;border-radius:12px;border:1px solid var(--bd2);background:#fff;font-weight:600;font-size:22px;cursor:pointer}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#14201E;color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;font-size:14px;z-index:50;max-width:calc(100% - 32px);box-shadow:0 6px 24px rgba(0,0,0,.18)}
.toast.err{background:#8A1F1F}
.demo{font-size:12px;font-weight:600;color:var(--warn);background:var(--warn-bg);padding:2px 8px;border-radius:999px}
@keyframes spin{to{transform:rotate(360deg)}}
.spin{width:44px;height:44px;border-radius:50%;border:4px solid #D6E4E1;border-top-color:var(--ac);animation:spin .9s linear infinite}
img.th{object-fit:cover;background:#EDF1F0;flex-shrink:0}
