/* Товарка (08.11.2026): сторінки «Товари», «Доставка», «Аналітика».
   Окремий файл із префіксом .shp-, щоб не чіпати спільний styles.css: кольори беремо лише зі
   змінних :root, тож світла, темна й нічна теми працюють без окремих правил. */

.shp-page{display:flex;flex-direction:column;gap:18px;min-width:0}
.shp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.shp-head h1{font:800 24px/1.15 var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0}
.shp-head p{margin:5px 0 0;color:var(--slate);font-size:14px}
.shp-head-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* Сегментований перемикач вкладок — як у Linear: одна підкладка, активна «таблетка». */
.shp-tabs{display:inline-flex;gap:2px;padding:3px;background:var(--sky);border:1px solid var(--sky-line);border-radius:12px;overflow-x:auto;max-width:100%}
.shp-tab{border:0;background:transparent;color:var(--slate);font:700 13px/1 var(--font-body);padding:9px 14px;border-radius:9px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;transition:background .12s,color .12s}
.shp-tab:hover{color:var(--ink)}
.shp-tab.active{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-card)}
.shp-tab .shp-count{font:700 11px/1 var(--font-mono);padding:3px 6px;border-radius:99px;background:var(--sky-deep);color:var(--slate)}
.shp-tab.active .shp-count{background:var(--visa-soft);color:var(--visa)}
.shp-tab.warn .shp-count{background:var(--amber-soft);color:var(--amber)}
.shp-tab:focus-visible{outline:2px solid var(--visa);outline-offset:1px}

.shp-seg{display:inline-flex;border:1px solid var(--sky-line);border-radius:10px;overflow:hidden;background:var(--paper)}
.shp-seg button{border:0;background:transparent;color:var(--slate);padding:7px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font:700 12.5px/1 var(--font-body)}
.shp-seg button+button{border-left:1px solid var(--sky-line)}
.shp-seg button.active{background:var(--sky);color:var(--ink)}
.shp-seg svg{width:15px;height:15px}

.shp-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.shp-toolbar .shp-grow{flex:1 1 220px;min-width:180px}
.shp-search{position:relative}
.shp-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--slate-2);pointer-events:none}
.shp-search input{padding-left:34px!important}
.shp-toolbar select,.shp-toolbar input[type="date"]{padding:8px 10px;font-size:13.5px}

.shp-card{background:var(--paper);border:1px solid var(--sky-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);min-width:0}
.shp-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 0;flex-wrap:wrap}
.shp-card-head h3{margin:0;font:800 15px/1.2 var(--font-display);color:var(--ink)}
.shp-card-head small{color:var(--slate);font-size:12.5px}
.shp-card-body{padding:16px 18px 18px}
.shp-scroll{overflow-x:auto}

/* Таблиця */
.shp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}
.shp-table th{position:sticky;top:0;z-index:1;background:var(--paper);text-align:left;padding:10px 12px;font:700 11px/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.06em;color:var(--slate);border-bottom:1px solid var(--sky-line);white-space:nowrap}
.shp-table th.sortable{cursor:pointer;user-select:none}
.shp-table th.sortable:hover{color:var(--ink)}
.shp-table td{padding:11px 12px;border-bottom:1px solid var(--sky-line);vertical-align:middle;color:var(--ink)}
.shp-table tbody tr{transition:background .1s}
.shp-table tbody tr:hover{background:var(--sky)}
.shp-table tbody tr.clickable{cursor:pointer}
.shp-table tbody tr.selected{background:var(--visa-soft)}
.shp-table tbody tr.warn td:first-child{box-shadow:inset 3px 0 0 var(--amber)}
.shp-table tbody tr:last-child td{border-bottom:0}
.shp-table tfoot td{padding:11px 12px;border-top:1px solid var(--sky-line);font-weight:800;background:var(--sky)}
.shp-table .r,.shp-r{text-align:right}
.shp-num{font-variant-numeric:tabular-nums;white-space:nowrap}
.shp-mono{font-family:var(--font-mono);font-size:12.5px}
.shp-muted{color:var(--slate)}
.shp-sub{display:block;color:var(--slate);font-size:12px;margin-top:2px}
.shp-good{color:var(--good)}
.shp-warn{color:var(--amber)}
.shp-bad{color:var(--stamp)}
.shp-cell-good{background:color-mix(in srgb,var(--good) 12%,transparent);color:var(--good);font-weight:800}
.shp-cell-warn{background:color-mix(in srgb,var(--amber) 14%,transparent);color:var(--amber);font-weight:800}
.shp-cell-bad{background:color-mix(in srgb,var(--stamp) 12%,transparent);color:var(--stamp);font-weight:800}
.shp-check{width:16px;height:16px;cursor:pointer}

/* Чипи, бейджі */
.shp-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:99px;font:700 12px/1.4 var(--font-body);background:var(--sky);color:var(--ink-soft);white-space:nowrap}
.shp-chip i{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}
.shp-chip.good{background:var(--good-soft);color:var(--good)}
.shp-chip.warn{background:var(--amber-soft);color:var(--amber)}
.shp-chip.bad{background:var(--stamp-soft);color:var(--stamp)}
.shp-chip.visa{background:var(--visa-soft);color:var(--visa)}
.shp-chip.status{background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c)}

/* KPI */
.shp-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.shp-kpi{background:var(--paper);border:1px solid var(--sky-line);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.shp-kpi-label{font:700 11.5px/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.06em;color:var(--slate)}
.shp-kpi-value{font:800 25px/1.1 var(--font-display);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shp-kpi-foot{font-size:12px;color:var(--slate);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.shp-delta{font:800 11.5px/1 var(--font-mono);padding:3px 6px;border-radius:6px;background:var(--sky)}
.shp-delta.up{color:var(--good);background:var(--good-soft)}
.shp-delta.down{color:var(--stamp);background:var(--stamp-soft)}

/* Сітка товарів */
.shp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.shp-product{background:var(--paper);border:1px solid var(--sky-line);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .15s}
.shp-product:hover{border-color:var(--slate-2);box-shadow:var(--shadow-pop);transform:translateY(-1px)}
.shp-product.inactive{opacity:.6}
.shp-photo{aspect-ratio:4/3;background:var(--sky);display:grid;place-items:center;color:var(--slate-2);position:relative;overflow:hidden}
.shp-photo img{width:100%;height:100%;object-fit:cover;display:block}
.shp-photo svg{width:34px;height:34px}
.shp-photo .shp-chip{position:absolute;top:10px;left:10px}
.shp-thumb{width:38px;height:38px;border-radius:9px;background:var(--sky);overflow:hidden;display:grid;place-items:center;flex:none;color:var(--slate-2)}
.shp-thumb img{width:100%;height:100%;object-fit:cover}
.shp-thumb svg{width:18px;height:18px}
.shp-product-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;flex:1}
.shp-product-name{font:800 14px/1.3 var(--font-display);color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.shp-product-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:auto}
.shp-price{font:800 17px/1 var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums}
.shp-namecell{display:flex;align-items:center;gap:10px;min-width:200px}

/* Скелетони */
.shp-skel{position:relative;overflow:hidden;background:var(--sky);border-radius:8px}
.shp-skel::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--paper) 70%,transparent),transparent);animation:shp-shimmer 1.3s infinite}
@keyframes shp-shimmer{100%{transform:translateX(100%)}}
.shp-skel-row{height:44px;margin-bottom:8px}
.shp-skel-kpi{height:96px;border-radius:var(--radius-md)}
.shp-skel-card{height:260px;border-radius:var(--radius-md)}
.shp-skel-chart{height:280px}
@media (prefers-reduced-motion:reduce){.shp-skel::after{animation:none}}

/* Порожній стан */
.shp-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 20px;gap:8px;color:var(--slate)}
.shp-empty-icon{width:52px;height:52px;border-radius:16px;background:var(--sky);display:grid;place-items:center;color:var(--slate-2);margin-bottom:4px}
.shp-empty-icon svg{width:24px;height:24px}
.shp-empty h3{margin:0;font:800 15.5px/1.3 var(--font-display);color:var(--ink)}
.shp-empty p{margin:0;max-width:420px;font-size:13.5px;line-height:1.55}
.shp-empty .btn{margin-top:8px}

/* Бокова панель (власна, вужча за .drawer CRM: форма товару — не картка клієнта) */
.shp-drawer{position:fixed;top:0;right:0;bottom:0;width:560px;max-width:100vw;background:var(--paper);z-index:301;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;animation:slidein .22s cubic-bezier(.16,1,.3,1)}
.shp-drawer .drawer-body{flex:1;overflow-y:auto}
.shp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.shp-form-grid .full{grid-column:1/-1}
.shp-hint{font-size:12.5px;color:var(--slate);margin-top:5px;line-height:1.45}
.shp-toggle{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink-soft);cursor:pointer;margin-bottom:14px}

/* Вибір допродажів */
.shp-picker{border:1px solid var(--sky-line);border-radius:10px;max-height:220px;overflow-y:auto;background:var(--sky)}
.shp-picker label{display:flex;align-items:center;gap:10px;padding:8px 10px;cursor:pointer;font-size:13.5px;color:var(--ink);border-bottom:1px solid var(--sky-line);margin:0;font-weight:600}
.shp-picker label:last-child{border-bottom:0}
.shp-picker label:hover{background:var(--paper)}
.shp-picked{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}

/* Тип руху складу */
.shp-kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.shp-kind{border:1px solid var(--sky-line);border-radius:10px;padding:10px;background:var(--paper);cursor:pointer;text-align:left;color:var(--ink);font:700 13px/1.3 var(--font-body)}
.shp-kind small{display:block;font-weight:500;color:var(--slate);font-size:11.5px;margin-top:3px}
.shp-kind.active{border-color:var(--visa);background:var(--visa-soft);box-shadow:0 0 0 3px var(--visa-soft)}

/* Масові дії */
.shp-bulkbar{position:sticky;bottom:14px;z-index:5;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-radius:14px;background:var(--ink-invert);color:#fff;box-shadow:var(--shadow-pop);width:max-content;max-width:100%;margin:0 auto;flex-wrap:wrap}
.shp-bulkbar b{font-size:13.5px}
.shp-bulkbar .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}

/* Завантаження файла */
.shp-drop{border:1.5px dashed var(--sky-line);border-radius:var(--radius-md);padding:26px;text-align:center;color:var(--slate);background:var(--sky);cursor:pointer;transition:border-color .15s,background .15s}
.shp-drop:hover,.shp-drop.over{border-color:var(--visa);background:var(--visa-soft)}
.shp-drop svg{width:26px;height:26px;color:var(--visa)}
.shp-drop b{display:block;color:var(--ink);margin:6px 0 3px}

.shp-sum-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.shp-sum{border:1px solid var(--sky-line);border-radius:var(--radius-md);padding:14px 16px;cursor:pointer;background:var(--paper);text-align:left;color:var(--ink)}
.shp-sum.active{border-color:var(--visa);box-shadow:0 0 0 3px var(--visa-soft)}
.shp-sum .shp-kpi-value{font-size:21px}

/* P&L */
.shp-pnl{display:flex;flex-direction:column}
.shp-pnl-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed var(--sky-line);font-size:14px;color:var(--ink-soft)}
.shp-pnl-row b{font-variant-numeric:tabular-nums;color:var(--ink)}
.shp-pnl-row.minus b{color:var(--stamp)}
.shp-pnl-row.total{border-bottom:0;border-top:2px solid var(--ink);margin-top:6px;padding-top:12px;font-weight:800;font-size:15.5px;color:var(--ink)}
.shp-pnl-bar{height:8px;border-radius:99px;background:var(--sky);overflow:hidden;display:flex;gap:2px;margin:6px 0 10px}
.shp-pnl-bar span{display:block;height:100%}

.shp-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-soft)}
.shp-legend span{display:inline-flex;align-items:center;gap:6px}
.shp-legend i{width:14px;height:3px;border-radius:2px;display:inline-block}
.shp-chart-box{position:relative;height:280px}

.shp-two{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px}
.shp-inline-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;align-items:end}
.shp-inline-form label{display:block;font-size:12px;font-weight:700;color:var(--slate);margin-bottom:5px}
.shp-inline-form input,.shp-inline-form select{padding:8px 10px;font-size:13.5px;width:100%}

@media (max-width:900px){
  .shp-two{grid-template-columns:1fr}
  .shp-form-grid{grid-template-columns:1fr}
  .shp-kinds{grid-template-columns:1fr}
}
