/* Style widoku „Import sklepów z Saldeo” (biuroImport.js). Dokłada się do biuro.css — tu tylko to, czego tam nie ma.
 * Kierunek jak reszta panelu (marka Foodie Point): czerwień wyłącznie na głównej akcji ekranu (.bz-btn-go:
 * „Importuj zaznaczone” w podglądzie, „Wróć do listy sklepów” w podsumowaniu); „Wybierz plik” to czarny pełny przycisk. */

.im-file { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; clip-path: inset(50%); }
.im-file:focus-visible + .im-drop { outline: 3px solid var(--fill); outline-offset: 3px; }
.im-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* ---------- wybór pliku ---------- */
.im-drop {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  min-height: 190px; padding: 24px 16px; text-align: center; cursor: pointer;
  background: var(--surface-2); border: 2px dashed var(--line-strong); border-radius: 14px;
}
.im-drop.is-over { background: var(--surface); border-style: solid; }
.im-drop-title { font: 800 1.15rem/1.2 var(--display); }
.im-drop-sub { color: var(--muted); font-size: .88rem; }

/* ---------- narzędzia podglądu ---------- */
.im-tools { padding-bottom: 8px; }
.im-counter { margin: 0 0 10px; font-size: .95rem; font-weight: 700; }
.im-filters { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4px 12px; }
.im-filters .im-search-box { flex: 1 1 280px; max-width: 420px; margin-bottom: 8px; }
.im-filters .bz-chips { margin-bottom: 8px; }
.im-tools-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.im-tools-row .bz-checkrow { margin-right: 4px; }
.im-tools-row .bz-hint { margin: 0 0 0 auto; }
.im-parse > summary { cursor: pointer; font-weight: 700; font-size: .9rem; }
.im-list { margin: 8px 0 0; padding-left: 20px; font-size: .9rem; }
.im-list li { padding: 2px 0; }

/* ---------- tabela ---------- */
.im-wrap { margin-bottom: 0; }
.im-wrap:focus-visible { outline: 3px solid var(--fill); outline-offset: 2px; }
.im-table { min-width: 1060px; }
.im-table th, .im-table td { vertical-align: top; }
.im-table tr[hidden] { display: none; }
.im-table th:nth-child(2), .im-table td:nth-child(2) { width: 110px; }
.im-table th:nth-child(3), .im-table td:nth-child(3) { width: 210px; }
.im-table th:nth-child(5), .im-table td:nth-child(5) { width: 104px; }
.im-table th:nth-child(7), .im-table td:nth-child(7) { width: 150px; }
.im-table th:nth-child(8), .im-table td:nth-child(8) { width: 230px; }
.im-table tr.is-sel > td { background: var(--surface-2); }
.im-table tr.is-off > td:not(.is-check) { opacity: .55; }
.im-strong { font-weight: 750; overflow-wrap: anywhere; }
.im-nip { font-family: ui-monospace, "Cascadia Mono", Consolas, Menlo, monospace; font-size: .86rem; white-space: nowrap; }
.im-table input.im-name {
  width: 100%; min-height: 36px; padding: 4px 8px; font-size: .9rem; border-width: 1.5px; border-color: var(--line-strong); border-radius: 8px;
}
.im-table input.im-name.invalid { border-width: 2px; border-color: var(--error); background: var(--error-bg); }
.im-table .bz-state { white-space: normal; }

/* flagi jako chipy: uwaga (dubel, uwagi parsera) bursztynowa, reszta neutralna */
.im-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.im-chip {
  display: inline-block; padding: 2px 8px; border-radius: 999px; background: var(--surface-2); color: var(--text);
  box-shadow: inset 0 0 0 1.5px var(--line); font-size: .76rem; font-weight: 650; line-height: 1.35;
}
.im-chip.is-warn { background: var(--warn-bg); color: var(--warn); box-shadow: inset 0 0 0 1.5px var(--warn-line); }
.im-table .bz-rowwarn { margin-top: 6px; }

/* ---------- przypięty pasek na dole ---------- */
.im-err { margin-top: 12px; }
.im-bar {
  position: sticky; bottom: 0; z-index: 20; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px;
  margin: 12px -14px calc(-24px - var(--safe-bottom)); padding: 10px 14px calc(10px + var(--safe-bottom));
  background: var(--surface); border-top: 2px solid var(--line-strong);
}
.im-bar-info { flex: 1 1 260px; min-width: 0; font-size: .95rem; }
.im-bar-info .bz-field-err, .im-bar-info .bz-hint { margin-top: 4px; }
.im-bar .bz-btn { flex: 0 0 auto; }
@media (max-width: 599px) { .im-bar .bz-btn { flex: 1 1 100%; } }
@media (min-width: 900px) {
  .im-bar { margin-left: 0; margin-right: 0; padding-left: 16px; padding-right: 16px; border: 2px solid var(--line-strong); border-radius: 14px 14px 0 0; }
}

/* ---------- podsumowanie ---------- */
.im-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 599px) {
  .im-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .im-kpis .bz-kpi:nth-child(2) { border-right: 0; }
  .im-kpis .bz-kpi:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}
/* „Pominięto” > 0: bursztynowy ton (jak ostrzeżenia), cztery kafelki poza tym jednakowe */
.im-kpis .bz-kpi.is-warn { background: var(--warn-bg); }
.im-kpis .bz-kpi.is-warn .bz-kpi-val, .im-kpis .bz-kpi.is-warn .bz-kpi-label { color: var(--warn); }
