/* ===== D3: Lista zakupów ===== */
.shop-root { display: flex; flex-direction: column; gap: 18px; }

.shop-summary {
    display: flex; gap: 14px; flex-wrap: wrap;
}
.shop-kpi {
    background: #fff; border: 1px solid #e6e9e2; border-radius: 14px;
    padding: 14px 18px; min-width: 150px;
}
.shop-kpi .k-val { font-size: 1.6rem; font-weight: 700; color: #285A42; line-height: 1.1; }
.shop-kpi .k-lbl { font-size: .82rem; color: #8a938b; margin-top: 2px; }

.shop-group { border: 1px solid #e6e9e2; border-radius: 14px; overflow: hidden; background: #fff; }
.shop-group + .shop-group { margin-top: 14px; }
.shop-group-head {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 16px; background: #f4f7f1; border-bottom: 1px solid #e6e9e2;
}
.shop-group-head .g-name { font-weight: 700; color: #234b39; }
.shop-group-head .g-count { color: #8a938b; font-size: .85rem; margin-left: auto; }

.shop-table { width: 100%; border-collapse: collapse; }
.shop-table th, .shop-table td { padding: 10px 16px; text-align: left; font-size: .92rem; }
.shop-table thead th { color: #8a938b; font-weight: 600; font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; }
.shop-table tbody tr { border-top: 1px solid #eef1ea; }
.shop-table td.num, .shop-table th.num { text-align: right; white-space: nowrap; }
.shop-tobuy { font-weight: 700; color: #285A42; }
.shop-cur-low { color: #b4452f; font-weight: 600; }
.shop-prod-code { color: #aab2a7; font-size: .8rem; margin-left: 6px; }

.shop-empty {
    background: #fff; border: 1px dashed #cfd6c9; border-radius: 14px;
    padding: 40px 24px; text-align: center; color: #6f7a6f;
}
.shop-empty strong { display: block; color: #234b39; font-size: 1.05rem; margin-bottom: 6px; }

.shop-print-head { display: none; }

/* ===== Druk -> zapis do PDF ===== */
@media print {
    .sidebar, .topbar, .impersonation-bar, .no-print, .page-hero-actions { display: none !important; }
    .app-shell { display: block !important; }
    .main { margin: 0 !important; padding: 0 !important; }
    .shop-print-head { display: block; margin-bottom: 12px; }
    .shop-print-head h2 { margin: 0; color: #000; }
    .shop-print-head .sub { color: #444; font-size: .9rem; }
    .shop-group, .shop-kpi { border-color: #bbb !important; box-shadow: none !important; }
    .shop-group { break-inside: avoid; }
    .shop-summary { gap: 8px; }
    body { background: #fff !important; }
}

.shop-kpi { display:flex; align-items:center; gap:14px; }
.shop-kpi .kpi-body { min-width:0; }

.shop-kpi { flex: 1 1 0; }
