/* Baobab Shop Replenishment — live Odoo version */
#replen-app{--rp-surface:#fcfcfb;--rp-page:#f9f9f7;--rp-ink:#0b0b0b;--rp-ink2:#52514e;--rp-muted:#898781;
 --rp-grid:#e1e0d9;--rp-base:#c3c2b7;--rp-ring:rgba(11,11,11,.10);--rp-accent:#2a78d6;
 --rp-good:#006300;--rp-warn:#fab219;--rp-crit:#d03b3b;
 font:14px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--rp-ink);
 background:var(--rp-page);padding:14px 16px 30px;min-height:70vh}
#replen-app *{box-sizing:border-box}
#replen-app h1{font-size:20px;font-weight:650;margin:0 0 2px;letter-spacing:.2px}
#replen-app .rp-sub{color:var(--rp-ink2);font-size:12.5px;margin-bottom:12px}
#replen-app .rp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
@media(max-width:900px){#replen-app .rp-kpis{grid-template-columns:repeat(2,1fr)}}
#replen-app .rp-kpi{background:var(--rp-surface);border:1px solid var(--rp-ring);border-radius:10px;padding:9px 13px}
#replen-app .rp-kpi .v{font-size:21px;font-weight:650;margin-top:1px}
#replen-app .rp-kpi .l{font-size:11px;color:var(--rp-muted);text-transform:uppercase;letter-spacing:.4px}
#replen-app .rp-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px;align-items:start}
@media(max-width:1100px){#replen-app .rp-layout{grid-template-columns:1fr}}
#replen-app .rp-panel{background:var(--rp-surface);border:1px solid var(--rp-ring);border-radius:10px;min-width:0}
#replen-app .rp-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--rp-grid)}
#replen-app .rp-toolbar input[type=search]{flex:1 1 190px;min-width:150px;padding:7px 10px;border:1px solid var(--rp-base);border-radius:7px;background:var(--rp-page);color:var(--rp-ink);font:inherit}
#replen-app select,#replen-app .rp-num{padding:6px 8px;border:1px solid var(--rp-base);border-radius:7px;background:var(--rp-page);color:var(--rp-ink);font:inherit}
#replen-app .rp-num{width:54px}
#replen-app .rp-chip{border:1px solid var(--rp-base);background:var(--rp-page);color:var(--rp-ink2);border-radius:99px;padding:5px 12px;font:600 12px/1 inherit;cursor:pointer}
#replen-app .rp-chip.on{background:var(--rp-accent);border-color:var(--rp-accent);color:#fff}
#replen-app .rp-shopbtn{border:1px solid var(--rp-base);background:var(--rp-surface);border-radius:8px;padding:7px 16px;font:650 13px/1 inherit;cursor:pointer;letter-spacing:.4px}
#replen-app .rp-shopbtn.on{background:var(--rp-ink);color:#fff;border-color:var(--rp-ink)}
#replen-app .rp-tablewrap{overflow-x:auto;border-radius:0 0 10px 10px}
#replen-app table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:13px}
#replen-app thead th{position:sticky;top:0;background:var(--rp-surface);z-index:2;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--rp-muted);text-align:right;padding:8px 5px;border-bottom:1px solid var(--rp-base);cursor:pointer;white-space:nowrap}
#replen-app thead th.l{text-align:left}
#replen-app tbody td{padding:5px 5px;border-bottom:1px solid var(--rp-grid);text-align:right;white-space:nowrap}
#replen-app tbody td.l{text-align:left}
#replen-app tbody tr:hover{background:rgba(42,120,214,.05)}
#replen-app .rp-prod{display:flex;align-items:center;gap:8px}
#replen-app .rp-img{width:30px;height:30px;border-radius:6px;object-fit:contain;border:1px solid var(--rp-ring);background:#fff;flex:none;transition:transform .12s;transform-origin:left center}
#replen-app tbody tr:hover .rp-img{transform:scale(2.6);box-shadow:0 4px 14px rgba(0,0,0,.25);position:relative;z-index:5}
#replen-app .rp-code{font-weight:650;font-size:12px}
#replen-app .rp-desc{color:var(--rp-ink2);font-size:11.5px;max-width:170px;overflow:hidden;text-overflow:ellipsis}
#replen-app .rp-tag{display:inline-block;border-radius:5px;padding:2px 7px;font-size:10px;font-weight:700;letter-spacing:.3px}
#replen-app .rp-low{color:var(--rp-crit);font-weight:650}
#replen-app .rp-ok{color:var(--rp-good)}
#replen-app .rp-sugg{font-weight:700;color:var(--rp-accent)}
#replen-app .rp-up{color:var(--rp-good);font-weight:650}
#replen-app .rp-down{color:var(--rp-crit);font-weight:650}
#replen-app .rp-new{color:var(--rp-accent);font-weight:650}
#replen-app .rp-step{display:inline-flex;align-items:center;gap:3px}
#replen-app .rp-step button{width:23px;height:23px;border-radius:6px;border:1px solid var(--rp-base);background:var(--rp-page);color:var(--rp-ink);cursor:pointer;font-size:14px;line-height:1}
#replen-app .rp-step .q{min-width:20px;text-align:center;font-weight:650}
#replen-app .rp-add{border:1px solid var(--rp-accent);background:transparent;color:var(--rp-accent);border-radius:6px;padding:4px 8px;font:600 11.5px/1.2 inherit;cursor:pointer}
#replen-app .rp-add.added{background:var(--rp-accent);color:#fff}
#replen-app .rp-cart{position:sticky;top:12px;padding:13px}
#replen-app .rp-cart h2{font-size:14px;margin:0 0 8px;font-weight:650}
#replen-app .rp-empty{color:var(--rp-muted);font-size:12.5px;padding:14px 0;text-align:center}
#replen-app .rp-line{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--rp-grid);font-size:12.5px;align-items:center}
#replen-app .rp-line img{width:26px;height:26px;border-radius:5px;object-fit:contain;border:1px solid var(--rp-ring);background:#fff;flex:none}
#replen-app .rp-line .rm{border:none;background:none;color:var(--rp-crit);cursor:pointer;font-size:14px;padding:0 2px}
#replen-app .rp-total{display:flex;justify-content:space-between;font-weight:700;padding:10px 0 4px}
#replen-app .rp-actions{display:flex;flex-direction:column;gap:7px;margin-top:8px}
#replen-app .rp-actions button{padding:9px 10px;border-radius:7px;font:600 13px/1.2 inherit;cursor:pointer;border:1px solid var(--rp-base);background:var(--rp-page);color:var(--rp-ink)}
#replen-app .rp-actions button.primary{background:#1e6e42;border-color:#1e6e42;color:#fff}
#replen-app .rp-actions button:disabled{opacity:.5;cursor:default}
#replen-app .rp-note{font-size:11.5px;color:var(--rp-muted);margin-top:10px;line-height:1.5}
#replen-app .rp-spark polyline{fill:none;stroke:var(--rp-accent);stroke-width:1.6}
#replen-app .rp-spark polyline.ly{stroke:var(--rp-base);stroke-width:1.3}
#replen-app .rp-spark .base{stroke:var(--rp-grid);stroke-width:1}
#replen-app .rp-lgd{display:inline-block;width:12px;height:0;border-top:2px solid;vertical-align:middle;margin:0 3px 0 6px}
#replen-app .rp-status{font-size:12px;color:var(--rp-muted)}
#replen-app .rp-toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--rp-ink);color:#fff;border-radius:8px;padding:9px 16px;font-size:13px;opacity:0;transition:opacity .25s;pointer-events:none;z-index:1050}
#replen-app .rp-toast.show{opacity:1}
#replen-app .rp-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:1040}
#replen-app .rp-modal .box{background:var(--rp-surface);border-radius:12px;padding:20px;max-width:420px;width:92%;max-height:80vh;overflow:auto}
#replen-app .rp-modal h3{margin:0 0 10px;font-size:15px}
#replen-app .rp-modal .row{display:flex;justify-content:space-between;font-size:12.5px;padding:3px 0}
#replen-app .rp-modal .btns{display:flex;gap:8px;margin-top:14px;justify-content:flex-end}
#replen-app .rp-modal button{padding:8px 14px;border-radius:7px;font:600 13px/1.2 inherit;cursor:pointer;border:1px solid var(--rp-base);background:var(--rp-page)}
#replen-app .rp-modal button.primary{background:#1e6e42;border-color:#1e6e42;color:#fff}
