/* flumen E2E — экран «Закупки» (B3). Стили перенесены из утверждённого макета. */
.pu-wrap{max-width:1400px;margin:0 auto;padding:18px 20px 60px}
.pu-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;flex-wrap:wrap}
.pu-head h1{margin:0 0 2px;font-size:21px;letter-spacing:-.3px}
.pu-head p{margin:0;font-size:12.5px;color:var(--muted)}
.pu-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pu-search{border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:8px 12px;font:inherit;font-size:13px;width:200px}

.pu-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px 300px;gap:16px;align-items:start}
/* Липкие колонки БЕЗ собственного скролла: max-height+overflow давали внутренний скроллбар у
   длинной формы «Новая закупка» — колонка теперь прокручивается вместе со страницей. */
.pu-form-col{position:sticky;top:16px}
.pu-acct-col{position:sticky;top:16px}
@media (max-width:1220px){.pu-layout{grid-template-columns:minmax(0,1fr) 320px}.pu-acct-col{grid-column:2;position:static;max-height:none;order:-1}}
@media (max-width:980px){.pu-layout{grid-template-columns:minmax(0,1fr)}.pu-form-col,.pu-acct-col{position:static;max-height:none;overflow:visible;grid-column:auto;order:-1}}

.pu-tabs{display:flex;gap:6px;margin-bottom:11px}
.pu-tab{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:7px 14px;font:inherit;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:7px}
.pu-tab .n{font-size:11px;font-weight:700;background:#f4f5fa;border-radius:99px;padding:0 7px;color:var(--muted)}
.pu-tab.on{background:#16233f;border-color:#16233f;color:#fff}
.pu-tab.on .n{background:rgba(255,255,255,.22);color:#fff}
.pu-tab.ready.on{background:var(--s-ready);border-color:var(--s-ready)}

.pu-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
.fchip{border:1px solid var(--line);background:var(--panel);border-radius:99px;padding:5px 11px;font-size:11.5px;font-weight:650;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap}
.fchip .dot{width:7px;height:7px;border-radius:50%;background:var(--c,#ccc)}
.fchip .n{font-size:10.5px;font-weight:700;background:#f4f5fa;border-radius:99px;padding:0 6px;color:var(--muted)}
.fchip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.fchip.on .n{background:rgba(255,255,255,.2);color:#fff}
.fchip.exc{border-style:dashed}
.fsep{width:1px;height:18px;background:var(--line);margin:0 3px}

.pu-feed{display:flex;flex-direction:column;gap:6px}
.day-sep{display:flex;align-items:center;gap:10px;margin:9px 2px 1px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.day-sep::after{content:"";flex:1;height:1px;background:var(--line)}
.pu-empty{padding:26px;text-align:center;color:var(--muted);font-size:13px;background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius)}

.ord{background:var(--panel);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);overflow:hidden;position:relative;transition:.12s}
.ord:hover{border-color:#d7dbe8;z-index:1}
.ord.open{border-radius:var(--radius);box-shadow:0 2px 4px rgba(20,25,45,.07),0 12px 30px rgba(20,25,45,.10)}
.ord::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--s)}
.ord[data-s=sent]{--s:var(--s-sent)}.ord[data-s=arrived]{--s:var(--s-arrived)}
.ord[data-s=qr]{--s:var(--s-qr)}.ord[data-s=drop]{--s:var(--s-drop)}
.ord[data-s=process]{--s:var(--s-process)}.ord[data-s=check]{--s:var(--s-check)}
.ord[data-s=ready]{--s:var(--s-ready)}
.ord[data-s=ofm]{--s:var(--s-ofm)}.ord[data-s=ofmp]{--s:var(--s-ofmp)}
.ord[data-exc]::before{background:repeating-linear-gradient(180deg,var(--s) 0 7px,transparent 7px 12px)}

.ord-head{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 16px;cursor:pointer;user-select:none}
.caret{color:#b9bfd0;font-size:10px;transition:.15s;flex:0 0 auto;width:9px}
.ord.open .caret{transform:rotate(90deg);color:var(--muted)}
.ord-no{font-weight:750;font-size:13.5px;font-family:ui-monospace,Consolas,monospace;flex:0 0 auto}
.ord-status{display:inline-flex;align-items:center;gap:5px;background:color-mix(in srgb,var(--s) 14%,#fff);color:color-mix(in srgb,var(--s) 78%,#2a2a2a);
  border:1px solid color-mix(in srgb,var(--s) 32%,#fff);border-radius:99px;padding:2px 9px;font-size:10.5px;font-weight:700;flex:0 0 auto}
.ord[data-exc] .ord-status{border-style:dashed}
.ord-status .dot{width:5px;height:5px;border-radius:50%;background:var(--s)}
.ord-date{font-size:11.5px;color:var(--muted);font-weight:550;flex:0 0 auto}
.ord-name{font-size:11.5px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}
.sig{display:flex;gap:5px;align-items:center;min-width:0;overflow:hidden}
.sig .s{font-size:10px;font-weight:700;border-radius:99px;padding:1px 7px;white-space:nowrap;border:1px solid transparent}
.s.proc{color:color-mix(in srgb,var(--s-process) 80%,#000);background:color-mix(in srgb,var(--s-process) 15%,#fff);border-color:color-mix(in srgb,var(--s-process) 42%,#fff)}
.s.board{color:#0b6f80;background:#e6f8fb;border-color:#a8e3ee}
.s.note{color:var(--muted);background:#f4f5fa;border-color:var(--line)}
.ord-spacer{flex:1}
.orderer{display:inline-flex;align-items:center;gap:5px;background:#f7f8fc;border:1px solid var(--line);border-radius:99px;padding:2px 9px 2px 3px;font-size:11px;font-weight:700;color:#39414f;flex:0 0 auto}
.orderer .ava{width:17px;height:17px;border-radius:50%;background:var(--ac);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:700}
.orderer .ava.v{background:#0ea5e9}
.ord-total-c{font-weight:750;font-size:13.5px;font-variant-numeric:tabular-nums;flex:0 0 auto;width:104px;text-align:right}
.orderer{width:96px;overflow:hidden;justify-content:flex-start}
.quick{display:flex;gap:3px;flex:0 0 auto;opacity:0;transition:.12s}
.ord:hover .quick,.ord.open .quick{opacity:1}
.qbtn{border:1px solid var(--line);background:#fff;border-radius:6px;color:var(--muted);cursor:pointer;font-size:11px;line-height:1;padding:4px 6px}
.qbtn:hover{color:var(--ac);border-color:#d9d0ff;background:#f8f6ff}

.ord-body{display:none}
.ord.open .ord-body{display:block}
.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 12px 0 16px;padding:8px 10px;background:#f7f8fc;border:1px solid var(--line);border-radius:9px}
.actions .lbl{font-size:10.5px;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.actions select{padding:5px 9px;font-size:12.5px;border-radius:7px;font-weight:650;border:1px solid var(--line);background:#fff;font-family:inherit}
.actions .sp{flex:1}
.btn-next{background:color-mix(in srgb,var(--nx) 14%,#fff);border-color:color-mix(in srgb,var(--nx) 40%,#fff);color:color-mix(in srgb,var(--nx) 80%,#000);font-weight:700;white-space:nowrap}

.pipe{display:flex;gap:3px;padding:8px 12px 0 16px}
.pipe i{height:3px;flex:1;border-radius:99px;background:#eceef5}
.pipe i.done{background:var(--s)}

.drop-plate{margin:8px 12px 0 16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:color-mix(in srgb,var(--s-drop) 10%,#fff);border:1px solid color-mix(in srgb,var(--s-drop) 32%,#fff);border-radius:9px;padding:6px 10px;font-size:12px}
.drop-plate .k{font-weight:800;color:#6d28d9}
.drop-plate .age{font-size:11px;font-weight:700;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:99px;padding:0 8px}
.drop-plate .age.ripe{color:color-mix(in srgb,var(--s-process) 80%,#000);border-color:color-mix(in srgb,var(--s-process) 42%,#fff);background:color-mix(in srgb,var(--s-process) 15%,#fff)}
.drop-ready{margin:6px 12px 0 16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:color-mix(in srgb,var(--s-process) 13%,#fff);border:1px solid color-mix(in srgb,var(--s-process) 45%,#fff);border-radius:9px;padding:7px 10px;font-size:12px}
.drop-ready b{color:color-mix(in srgb,var(--s-process) 82%,#000)}
.btn-process{background:var(--s-process);border-color:var(--s-process);color:#fff;margin-left:auto}

.ord-lines{padding:0 12px 0 16px;display:flex;flex-direction:column;margin-top:8px}
.ord-line{display:flex;align-items:center;gap:9px;padding:6px 0;border-top:1px solid #f1f2f7}
.th{width:29px;height:29px;flex:0 0 auto;border-radius:7px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;font-size:14px;padding:2px;box-sizing:border-box}
.th.manual{background:#fff8ec;border-color:#f3ddb4;font-size:12px}
.ln-name{flex:1;min-width:0;font-weight:600;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ln-tag{font-size:10px;font-weight:700;color:#9a6b12;background:#fdf3e0;border:1px solid #f3ddb4;border-radius:99px;padding:0 7px;white-space:nowrap}
.ln-qty{color:var(--muted);font-weight:650;font-size:11.5px;background:#f4f5fa;border-radius:99px;padding:0 7px}
.ln-price{font-variant-numeric:tabular-nums;font-weight:600;color:#39414f;font-size:12px;white-space:nowrap}

.costs{margin:8px 12px 0 16px;background:#fafbfd;border:1px solid var(--line);border-radius:9px;padding:8px 9px;display:flex;flex-direction:column;gap:7px}
.cost-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cost-row .lbl{font-size:10.5px;font-weight:750;color:var(--muted);text-transform:uppercase;width:52px;flex:0 0 auto}
.who-pick{display:inline-flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:3px}
.who-pick button{border:none;background:none;cursor:pointer;font-size:19px;line-height:1;padding:5px 10px;border-radius:7px;opacity:.35;transition:.12s;filter:grayscale(1)}
.who-pick button.on{opacity:1;filter:none;background:color-mix(in srgb,var(--ac) 12%,#fff);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ac) 45%,#fff)}
.cost-sum{width:78px;border:1px solid var(--line);border-radius:7px;padding:5px 8px;font:inherit;font-size:12.5px;text-align:right;font-variant-numeric:tabular-nums}
.cost-zero{font-size:11.5px;color:var(--muted);font-weight:600;font-style:italic}
.costs .note-hint{font-size:10.5px;color:var(--muted);margin-left:auto}
.costs-pending{margin:8px 12px 0 16px;font-size:11.5px;color:var(--muted);font-style:italic}

.note-row,.name-row{margin:8px 12px 0 16px;display:flex;align-items:center;gap:8px}
.note-ic{font-size:13px;flex:0 0 auto;opacity:.6}
.note-inp{flex:1;border:1px solid var(--line);border-radius:8px;padding:6px 10px;font:inherit;font-size:12.5px;background:#fff}

.to-board{margin:8px 12px 0 16px;display:flex;align-items:center;gap:9px;background:color-mix(in srgb,var(--s-arrived) 8%,#fff);border:1px dashed color-mix(in srgb,var(--s-arrived) 42%,#fff);border-radius:9px;padding:7px 10px;font-size:12px;flex-wrap:wrap}
.to-board b{color:#0b6f80}
.to-board .btn{margin-left:auto}
.stage-hint{font-size:11px;color:var(--muted)}
.done-note{margin:8px 12px 0 16px;font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}

.ord-foot{display:flex;align-items:center;gap:9px;padding:8px 12px 10px 16px;border-top:1px solid #f1f2f7;background:#fcfcfe;flex-wrap:wrap;margin-top:9px}
.paycard{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:3px 8px;font-size:12px}
.paycard .bank{font-weight:700}
.paycard .holder{color:var(--muted);font-weight:600}
.paycard .num{font-family:ui-monospace,Consolas,monospace;color:var(--muted);font-weight:600}
.foot-total{margin-left:auto;font-weight:750;font-size:15px;font-variant-numeric:tabular-nums}
.foot-total small{display:block;font-size:10px;color:var(--muted);font-weight:600;text-align:right}

/* счета */
.bic{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:800;flex:0 0 auto}
.bic.sm{width:18px;height:18px;border-radius:5px;font-size:9.5px}
.acct-panel{padding:12px 11px}
.bal-total{padding:1px 0 8px;border-bottom:1px solid var(--line);margin-bottom:3px}
.bal-total .k{display:block;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.bal-total .v{display:block;font-size:19px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:1px}
.acct{padding:6px 0;border-top:1px solid #f4f5f9}
.acct:first-of-type{border-top:none}
.acct-top{display:flex;align-items:center;gap:8px}
.acct .nm{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:12px}
.acct .nm b{font-weight:750;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct .nm span{align-self:flex-start;max-width:100%;padding:0 7px;border-radius:99px;background:#f2f4f9;border:1px solid #e7eaf3;color:var(--muted);font-weight:650;font-size:10px;line-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct .amt{font-size:12.5px;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}
.acct .amt.low{color:#c2410c}
.edit-bal{border:1px solid var(--line);background:#fff;border-radius:5px;color:var(--muted);cursor:pointer;font-size:10px;line-height:1;padding:3px 4px;flex:0 0 auto}
.acct-badges{display:flex;gap:4px;margin:4px 0 0 28px;flex-wrap:wrap}
.abadge{font-size:10px;font-weight:700;border-radius:99px;padding:1px 7px;border:1px solid var(--line);background:#f7f8fc;color:var(--muted);white-space:nowrap}
.abadge.ofm{background:color-mix(in srgb,var(--s-ofm) 10%,#fff);border-color:color-mix(in srgb,var(--s-ofm) 28%,#fff);color:#9f1239}
.abadge.zero{opacity:.45}

/* форма */
.pu-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 17px;box-shadow:var(--shadow)}
.pu-panel h2{margin:0 0 3px;font-size:15px}
.pu-panel .sub{margin:0 0 13px;font-size:12px;color:var(--muted)}
.row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:9px}
label.f{font-size:11.5px;font-weight:650;color:var(--muted);display:flex;flex-direction:column;gap:4px;flex:1;min-width:98px}
label.f input,label.f select{border:1px solid var(--line);border-radius:8px;padding:7px 10px;font:inherit;font-size:13px;background:#fff;color:var(--ink);min-width:0}
.hint{font-size:11px;color:var(--muted);font-weight:500}
.sect{font-size:11px;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:13px 0 7px}
.nsug{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}
.nsug button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:3px 9px;font:inherit;font-size:11.5px;font-weight:700;color:var(--ac);cursor:pointer;font-family:ui-monospace,Consolas,monospace}
.nsug .lb{font-size:11px;color:var(--muted);font-weight:600;align-self:center}
.by-toggle{display:flex;gap:4px;margin-top:4px;background:#f4f5fa;border:1px solid var(--line);border-radius:9px;padding:3px}
.by-toggle button{flex:1;border:none;background:none;border-radius:6px;padding:6px 8px;font:inherit;font-size:12.5px;font-weight:700;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.by-toggle button.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(20,25,45,.12)}
.by-toggle .ava{width:18px;height:18px;border-radius:50%;background:var(--ac);color:#fff;display:grid;place-items:center;font-size:9.5px;font-weight:700;opacity:.45}
.by-toggle .ava.v{background:#0ea5e9}
.by-toggle button.on .ava{opacity:1}
.lines-edit{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fafbfd}
.le-row{display:flex;gap:6px;align-items:center;margin-bottom:6px;flex-wrap:wrap}
.le-row input[type=text]{flex:1 1 100px;border:1px solid var(--line);border-radius:8px;padding:6px 9px;font:inherit;font-size:12.5px}
.le-row .qty{flex:0 0 44px;width:44px}.le-row .pr{flex:0 0 78px;width:78px}
.x{border:none;background:none;color:var(--muted);cursor:pointer;font-size:15px;padding:0 2px;flex:0 0 auto}
.mode{display:flex;gap:4px;margin-bottom:8px}
.mode button{flex:1;border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px;font:inherit;font-size:11.5px;font-weight:650;color:var(--muted);cursor:pointer}
.mode button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.sum-line{display:flex;justify-content:space-between;font-size:12.5px;padding:4px 0;color:var(--muted)}
.sum-line.tot{border-top:1px solid var(--line);margin-top:5px;padding-top:8px;color:var(--ink);font-weight:750;font-size:15px}

/* ---- модалка выбора товара из каталога (живой поиск) ---- */
.pick-search{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;margin-bottom:10px;background:#fff}
.pick-search:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px rgba(91,61,245,.13)}
.pick-list{max-height:min(52vh,380px);overflow:auto;display:flex;flex-direction:column;gap:4px}
.pick-item{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font:inherit;cursor:pointer;text-align:left}
.pick-item:hover,.pick-item.active{border-color:var(--ac);background:#f6f4ff}
.pick-item .pi-th{width:34px;height:34px;border-radius:8px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-size:16px;flex:0 0 auto;color:var(--muted);padding:2px;box-sizing:border-box}
.pick-item .pi-nm{flex:1;font-size:13.5px;font-weight:650;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pick-item .pi-pr{font-size:12.5px;font-weight:700;color:var(--ac);flex:0 0 auto}
.pick-empty{color:var(--muted);font-size:13px;text-align:center;padding:18px 0}

/* ---- инлайн-правка баланса счёта (без модалки) ---- */
.acct-top .nm{cursor:pointer}
.acct-top .nm:hover b{text-decoration:underline dotted}
.bal-edit{flex:0 0 auto;width:96px;border:1px solid var(--ac);border-radius:8px;padding:5px 7px;font:inherit;font-size:13px;font-weight:700;text-align:right;box-shadow:0 0 0 3px rgba(91,61,245,.13)}
.bal-edit:focus{outline:none}

/* ---- лого банков + выбор банка в модалке счёта ---- */
.bank-logo{display:inline-grid;place-items:center;border-radius:6px;overflow:hidden;flex:0 0 auto;vertical-align:middle}
.bank-logo svg{width:100%;height:100%;display:block}
.bank-logo-fallback{font-weight:800}
.bank-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:7px;margin-top:5px}
.bank-opt{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 9px;cursor:pointer;font:inherit;font-size:12.5px;font-weight:650;color:var(--ink)}
.bank-opt:hover{border-color:var(--ac)}
.bank-opt.on{border-color:var(--ac);background:#f6f4ff;box-shadow:0 0 0 2px rgba(91,61,245,.14)}

/* ---- статус «Заказано» + быстрый выбор даты + CTA «Отправлено» ---- */
.ord[data-s=ordered]{--s:var(--s-ordered)}
.date-quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.date-quick .dq{display:flex;flex-direction:column;align-items:center;gap:1px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 11px;font:inherit;font-size:12.5px;font-weight:700;color:var(--ink);cursor:pointer;line-height:1.15}
.date-quick .dq small{font-size:10px;font-weight:600;color:var(--muted)}
.date-quick .dq:hover{border-color:var(--ac)}
.date-quick .dq.on{border-color:var(--ac);background:#f6f4ff;box-shadow:0 0 0 2px rgba(91,61,245,.14)}
.date-quick .dq.on small{color:var(--ac)}
.ship-cta{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;margin:8px 12px 0 16px;padding:12px 14px;background:linear-gradient(90deg,#f6f4ff,#eef1ff);border:1px solid #ddd7fb;border-radius:11px}
.ship-txt{display:flex;flex-direction:column;gap:1px}
.ship-txt b{font-size:13.5px}
.btn-ship{font-size:14px;font-weight:750;padding:9px 18px;white-space:nowrap}

/* ---- фото товара в миниатюрах (picker, строки закупки/черновика) ---- */
.th img,.pi-th img{width:100%;height:100%;object-fit:contain;border-radius:inherit;display:block}
.th.has-photo,.pi-th.has-photo{background:#fff;border-color:var(--line)}

/* ---- красивый выбор даты: триггер + поповер-календарь (плашки + сетка, только 7 дней) ---- */
.datepick{position:relative;margin-top:5px}
.dp-trigger{display:flex;align-items:center;gap:8px;width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:#fff;cursor:pointer}
.dp-trigger:hover{border-color:var(--ac)}
.dp-ic{font-size:15px}
.dp-caret{margin-left:auto;color:var(--muted);font-size:11px}
.dp-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:40;width:294px;max-width:92vw;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px rgba(20,25,45,.18);padding:14px}
.dp-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.dp-chip{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 13px;font:inherit;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer}
.dp-chip:hover{border-color:var(--ac)}
.dp-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.dp-calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.dp-month{font-weight:750;font-size:14px}
.dp-nav{border:1px solid var(--line);background:#fff;border-radius:8px;width:30px;height:30px;font-size:15px;color:var(--muted);cursor:pointer}
.dp-nav:hover{border-color:var(--ac);color:var(--ac)}
.dp-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}
.dp-week span{text-align:center;font-size:11px;font-weight:700;color:var(--muted);padding:2px 0}
.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.dp-empty{height:34px}
.dp-day{height:34px;border:none;background:none;border-radius:8px;font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
.dp-day:hover:not(.off){background:#f0f0f7}
.dp-day.off{color:#c8ccda;cursor:default}
.dp-day.on{background:var(--ac);color:#fff;font-weight:700}
.dp-day.today{box-shadow:inset 0 0 0 1.5px var(--ac)}
.ord-owner{display:inline-flex;align-items:center;gap:4px;background:#eef7f0;border:1px solid #cfe8d8;color:#0c7a52;border-radius:99px;padding:2px 9px;font-size:11px;font-weight:700;white-space:nowrap;flex:0 0 auto}

/* ===== Подписки (вкладка «Подписки и услуги») ===== */
.sb-summary{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.sb-pill{background:var(--panel,#fff);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:12.5px;color:var(--muted)}
.sb-pill strong{color:var(--ink)}
.sb-tbl td{vertical-align:middle}
.sb-tbl .mut,.sb-summary .mut{color:var(--muted)}
.sb-per{color:var(--muted);font-size:11.5px;margin-left:4px;font-weight:500}
.sb-monthly{color:var(--ac);font-weight:650}
.sb-cat{display:inline-block;background:#eef0f6;color:#4a5170;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}
.sb-status{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}
.sb-status.ok{background:#e9f9f1;color:#0f9d6b}
.sb-status.warn{background:#fff4e5;color:#b26a00}
.sb-status.mut{background:#eef0f6;color:#8a90a6}
.sb-when{display:inline-block;font-size:12px;font-weight:650;white-space:nowrap}
.sb-when.neg{color:var(--neg,#e0492f)}
.sb-when.warn{color:#b26a00}
.sb-when.mut{color:var(--muted)}
.sb-row-off td{opacity:.6}
.sb-acts{white-space:nowrap;text-align:right}
.sb-acts .btn{margin-left:4px}
.link-danger{color:var(--neg,#e0492f)}

/* маркер принадлежности черновика закупки (общая / личная) */
.pu-draft-owner{display:inline-block;vertical-align:middle;margin-left:8px;font-size:11px;font-weight:700;
  border-radius:999px;padding:3px 9px;background:#eef0f6;color:#5a6175;letter-spacing:0}
.pu-draft-owner.personal{background:#ede9fe;color:#5b3df5}

/* плашки выбора в модалках (валюта, период) — вместо серых <select> */
.seg-pick{display:inline-flex;gap:4px;background:#eef0f6;border-radius:10px;padding:3px;margin-top:5px;flex-wrap:wrap}
.seg-pick.wide{width:100%}
.seg-pick button{border:none;background:none;font:inherit;font-size:12.5px;font-weight:700;color:var(--muted);
  padding:7px 13px;border-radius:8px;cursor:pointer;white-space:nowrap;flex:1}
.seg-pick button:hover{color:var(--ink)}
.seg-pick button.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(20,25,45,.14)}
/* поле-обёртка с подписью в модалке подписки */
.form .f{display:block;font-size:12px;font-weight:650;color:#5a6175;margin-bottom:11px}
.form .datepick{position:relative;margin-top:5px}
