/* Eksport: manager, pasek postępu, mapa projektowa
   Wydzielone z dawnego 20-legacy.css (17.8.3, 2577 linii) — podział wyłącznie
   mechaniczny, żadna reguła nie zmieniła treści. Kolejność reguł w tym pliku
   jest zachowana z oryginału; tam gdzie ten sam selektor pojawiał się w
   pliku dwukrotnie (np. późniejsza poprawka odstępów), obie deklaracje
   trafiły do TEGO SAMEGO pliku w tej samej kolejności — kaskada więc działa
   identycznie jak wcześniej. Ten plik nadal deklaruje warstwę „legacy"
   (patrz 00-layers.css) — kolejność linków w index.html decyduje o
   kolejności w warstwie, nie nazwa pliku.
*/
@layer legacy {
/* 13.6 — project and GeoJSON transfer */
.export-panel {
  position: absolute;
  z-index: var(--z-dock-top);
  top: 10px;
  bottom: 38px;
  width: 340px;
  max-width: calc(100vw - 86px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface-solid);
  box-shadow: var(--shadow);
}
.export-panel-body { min-height: 0; overflow: auto; padding: 10px; }
.export-section {
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: var(--surface-raised);
}
.export-section + .export-section { margin-top: 9px; }

.export-status,
.export-message { margin-top: 9px; padding: 8px 9px; border-radius: 7px; font-size: var(--fs-sm); line-height: 1.4; }
.export-status { display: flex; align-items: center; gap: 6px; color: var(--text-muted); background: var(--surface-raised); }
.export-message--success { color: var(--success); background: color-mix(in srgb, var(--success) 13%, var(--surface-raised)); }
.export-message--error { color: var(--danger); background: color-mix(in srgb, var(--danger) 12%, var(--surface-raised)); }

@media (max-width: 760px), (pointer: coarse) and (max-height: 500px) {
  .export-panel { right: 8px !important; left: 62px; width: auto; max-width: none; }
}

/* Eksport — ten sam rytm co pozostałe panele */
.export-panel--compact .export-panel-body { padding: 7px; }
.export-panel--compact .export-section { padding: 8px; }
.export-panel--compact .export-section + .export-section { margin-top: 6px; }

/* 15.4–16.0 — Export Manager / large raster export */
.export-panel--wide { width: 410px; max-width: calc(100vw - 86px); }
.export-section--map { background: color-mix(in srgb, var(--surface-raised) 92%, var(--accent) 8%); }
.export-grid { display: grid; gap: 7px; }
.export-grid--2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

.export-checks { margin: 8px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 5px 10px; }
.export-checks label { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--text-muted); font-size: var(--fs-sm); line-height: 1.25; }
.export-checks input { margin: 0; }
.export-plan { margin: 8px 0; padding: 8px 9px; display: grid; gap: 2px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface-solid); }
.export-plan strong { color: var(--text); font-size: var(--fs-md); }
.export-plan span, .export-plan small { color: var(--text-muted); font-size: var(--fs-xs); line-height: 1.35; }

@media (max-width: 760px), (pointer: coarse) and (max-height: 500px) {
  .export-panel--wide { width: auto; }
  .export-grid--2, .export-checks { grid-template-columns: 1fr; }
}

/* 16.1 — raster export progress */
.export-progress {
  margin: 0 10px 8px;
  display: grid;
  gap: 4px;
}
.export-progress-track {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--border) 65%, transparent);
}
.export-progress-bar {
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
  transition: width 180ms ease;
}
.export-progress-bar.is-indeterminate {
  width: 34% !important;
  animation: export-progress-indeterminate 1.1s ease-in-out infinite;
}
.export-progress small {
  color: var(--text-muted);
  font-size: var(--fs-xs);
}
@keyframes export-progress-indeterminate {
  0% { transform: translateX(-110%); }
  55% { transform: translateX(190%); }
  100% { transform: translateX(320%); }
}

/* 16.2.1 — export completeness gate */
.export-incomplete {
  margin: 0 10px 8px;
  padding: 9px;
  display: grid;
  gap: 5px;
  border: 1px solid color-mix(in srgb, var(--warning) 55%, var(--border));
  border-radius: 8px;
  background: color-mix(in srgb, var(--warning) 9%, var(--surface-solid));
}
.export-incomplete strong { color: var(--warning); font-size: var(--fs-sm); }
.export-incomplete > span { color: var(--text-muted); font-size: var(--fs-xs); line-height: 1.4; }
.export-incomplete ul { margin: 0; padding-left: 18px; max-height: 78px; overflow: auto; color: var(--text-muted); font-size: var(--fs-xs); }
.export-incomplete-actions { display: flex; gap: 5px; flex-wrap: wrap; }

/* Eksport: prosty tryb domyślny + ustawienia za jednym kliknięciem */
.export-quick-action { min-height: 38px; margin-top: 8px; font-size: var(--fs-md); font-weight: 700; }
.export-more { margin-top: 8px; border-top: 1px solid var(--border); padding-top: 7px; }
.export-more > summary { cursor: pointer; color: var(--text-muted); font-size: var(--fs-md); font-weight: 700; user-select: none; }
.export-more[open] > summary { margin-bottom: 5px; color: var(--text); }
.export-more-body { padding-top: 1px; }

}
