/*
  PAGES — wspólne komponenty ekranów modułów (Raporty, Kasy fiskalne; kolejne moduły w C2+).
  Ładowany po dashboard.css. Wszystko zawężone do .ui-page, żeby nie zmieniać jeszcze nieprzebudowanych ekranów.
  Strona dostaje <div class="dash ui-page page-…">: .dash daje kontener dla container queries.
*/

.ui-page .back-row { margin: 0 0 var(--space-3); }
.ui-page .note-line { font-size: var(--fs-sm); margin: calc(-1 * var(--space-3)) 0 var(--space-4); }
.ui-page .alert { margin-bottom: var(--space-4); }
.ui-page .dash-title .lede .badge { vertical-align: middle; }

/* ---------- siatka KPI na ekranach modułów ---------- */
.ui-page .kpi-grid { margin-bottom: var(--space-5); }
.ui-page .kpi-grid--three { grid-template-columns: minmax(0, 1fr); }
@container dash (min-width: 640px) { .ui-page .kpi-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* długie kwoty: klasy ustawia serwer wg długości tekstu (MoneyDisplay::sizeClass), a nbsp nie łamie liczby */
.kpi-value, .finance-value { overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.kpi-value.is-long { font-size: clamp(1.05rem, 8cqi, 1.75rem); }
.kpi-value.is-xlong { font-size: clamp(0.9rem, 6.6cqi, 1.5rem); }
.kpi-value.is-xxlong { font-size: clamp(0.8rem, 5.6cqi, 1.3rem); }
.finance-value.is-long { font-size: clamp(1rem, 7vw, 1.3rem); }

/* ---------- panele ---------- */
.ui-page .report-panel { margin-top: var(--space-5); }
.ui-page .report-panel .panel-subtitle { margin: calc(-1 * var(--space-2)) 0 var(--space-4); max-width: 80ch; }
.ui-page .report-panel .panel-title-row { flex-wrap: wrap; }
.ui-page .report-panel .empty-state { margin: 0; }
.report-pair { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 var(--space-5); }
@container dash (min-width: 900px) { .report-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* nagłówek panelu zwijanego z kwotą w podsumowaniu (widoczną po zwinięciu) */
.panel-collapse > summary .panel-title { flex: 1 1 auto; min-width: 0; white-space: normal; overflow-wrap: anywhere; text-wrap: balance; }
.panel-collapse > summary .summary-chevron { flex: 0 0 20px; }
.panel-collapse > summary .summary-value {
  flex: 0 0 auto;
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  font-variant-numeric: tabular-nums;
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.panel-collapse > summary { min-height: 40px; }
.panel-collapse > summary:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.panel-collapse > .panel-subtitle { margin-top: 0; }

/* ---------- pasek eksportu ---------- */
.export-bar {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2);
  margin: 0 0 var(--space-5);
}
.export-bar-label { font-size: var(--fs-xs); font-weight: var(--fw-semibold); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.06em; margin-right: var(--space-1); }
.export-bar .btn { background: var(--color-surface); }
.export-bar .btn .icon-sm { width: 15px; height: 15px; color: var(--color-accent); }

/* menu „Eksportuj” (tylko telefon; na większych ekranach pasek przycisków) */
.export-menu { display: none; margin: 0 0 var(--space-5); }
.export-menu > summary { list-style: none; display: flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 44px; width: 100%; cursor: pointer; font-weight: var(--fw-semibold); background: var(--color-surface); }
.export-menu > summary::-webkit-details-marker { display: none; }
.export-menu > summary:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.export-menu .icon-sm { width: 16px; height: 16px; color: var(--color-accent); }
.export-menu .summary-chevron { width: 18px; height: 18px; margin-left: auto; color: var(--color-text-muted); transition: transform var(--dur-base) var(--ease-standard); }
.export-menu[open] .summary-chevron { transform: rotate(180deg); }
.export-menu-list { list-style: none; margin: var(--space-2) 0 0; padding: var(--space-2); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); display: grid; gap: 2px; }
.export-menu-item { display: flex; align-items: center; gap: var(--space-3); min-height: 44px; padding: 0 var(--space-3); border-radius: var(--radius-sm); color: var(--color-text); text-decoration: none; font-weight: var(--fw-medium); }
.export-menu-item:hover { background: var(--color-accent-tint); }
.export-menu-item:focus-visible { outline: 2px solid var(--color-accent); outline-offset: -2px; background: var(--color-accent-tint); }

/* ---------- ostrzeżenia ---------- */
.alert-list ul { margin: var(--space-2) 0 0; padding: 0; list-style: none; display: grid; gap: var(--space-2); }
.alert-list li { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }

/* ---------- tabele ---------- */
.ui-page .table-wrap { border-radius: var(--radius-md); box-shadow: none; }
.ui-page .panel > .table-wrap, .ui-page .panel-collapse > .table-wrap { border: 1px solid var(--color-border); }
.ui-page .data-table tbody th[scope="row"] {
  text-transform: none; letter-spacing: 0; font-size: var(--fs-sm); font-weight: var(--fw-semibold);
  color: var(--color-text); text-align: left; white-space: normal;
}
.ui-page .data-table td { font-size: var(--fs-sm); }
.ui-page .data-table td.num, .ui-page .data-table th.num { white-space: nowrap; font-variant-numeric: tabular-nums; text-align: right; }
.ui-page .data-table tr.is-zero td, .ui-page .data-table tr.is-zero th { color: var(--color-text-muted); font-weight: var(--fw-regular, 400); }
.ui-page .data-table tr.row-total th, .ui-page .data-table tr.row-total td.num { background: var(--color-surface-sunken); }
.ui-page .data-table tr.row-total td.num { font-weight: var(--fw-semibold); }
.ui-page .data-table td.note-cell { color: var(--color-text-muted); font-size: var(--fs-xs); background: var(--color-surface-sunken); }
.ui-page .data-table td.cell-action { text-align: right; white-space: nowrap; }
.ui-page .table-money .data-table { width: 100%; }
.ui-page .data-table tbody tr.is-clickable { cursor: default; }

.totals-strip {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1) var(--space-4);
  margin: 0 0 var(--space-4); padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md); background: var(--color-accent-tint); font-size: var(--fs-sm);
}
.totals-strip b { font-variant-numeric: tabular-nums; white-space: nowrap; }
.pager-total { margin: var(--space-3) 0 0; font-size: var(--fs-xs); color: var(--color-text-muted); }

/* ---------- paginacja ---------- */
.pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-3); }
.pager-info { font-size: var(--fs-sm); color: var(--color-text-secondary); }
.pager-links { display: inline-flex; gap: var(--space-2); }
.pager .btn.is-disabled { opacity: 0.45; pointer-events: none; }

/* ---------- lista szczegółów (zamiast długiej listy dt/dd) ---------- */
.meta-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: var(--space-4) var(--space-5); margin: 0; }
.meta-list > div { min-width: 0; }
.meta-list dt { font-size: var(--fs-xs); font-weight: var(--fw-semibold); color: var(--color-text-muted); margin-bottom: 2px; }
.meta-list dd { margin: 0; font-size: var(--fs-sm); overflow-wrap: anywhere; }
.meta-list .meta-wide { grid-column: 1 / -1; }

/* ---------- filtry ---------- */
.ui-page .filters-inline {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  align-items: end; gap: var(--space-3) var(--space-4);
  padding: var(--space-4); margin-bottom: var(--space-5);
}
.ui-page .filters-inline label { margin-bottom: 0; }
.ui-page .filters-inline button[type="submit"] { width: 100%; height: 40px; }
@container dash (min-width: 900px) {
  .ui-page .filters-inline { grid-template-columns: repeat(4, minmax(0, 1fr)) auto; }
  .ui-page .filters-inline button[type="submit"] { width: auto; padding-inline: var(--space-6); }
}

/* ---------- formularze ---------- */
.ui-page .form-card { margin-top: var(--space-4); }
.ui-page .form-card label { margin-bottom: var(--space-2); }
.ui-page .form-card input + label, .ui-page .form-card select + label { margin-top: var(--space-4); }
.ui-page .form-grid-2 { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
@container dash (min-width: 560px) { .ui-page .form-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ui-page .form-grid-2 label { margin-bottom: var(--space-2); }
.ui-page .vat-fieldset { margin: var(--space-4) 0 0; padding: var(--space-4) var(--space-5); }
.ui-page .vat-fieldset legend { font-size: var(--fs-sm); font-weight: var(--fw-semibold); color: var(--color-text); padding: 0 var(--space-2); float: none; }
.ui-page .form-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 var(--space-4); }
@container dash (min-width: 560px) { .ui-page .form-row { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ui-page .form-row label { margin-bottom: var(--space-1); }
.ui-page .vat-fieldset input { text-align: right; font-variant-numeric: tabular-nums; }
.ui-page .label-hint { font-weight: var(--fw-regular, 400); color: var(--color-text-muted); }
.ui-page .form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-top: var(--space-5); }
.ui-page .form-actions button[type="submit"], .ui-page .form-actions .btn { height: 44px; min-height: 44px; padding-inline: var(--space-6); }
.ui-page .form-actions button.is-danger { background: var(--color-danger); border-color: var(--color-danger); box-shadow: none; }
.ui-page .form-actions button.is-danger:hover { filter: brightness(0.95); background: var(--color-danger); }
.ui-page .confirm-card { max-width: 40rem; }
.ui-page .confirm-title { font-size: var(--fs-md); font-weight: var(--fw-semibold); margin-bottom: var(--space-2); }
.ui-page .confirm-amounts { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); margin-bottom: var(--space-3); font-size: var(--fs-sm); }
.ui-page .confirm-amounts b { font-variant-numeric: tabular-nums; }
.ui-page .company-form input:focus-visible, .ui-page .company-form select:focus-visible, .ui-page .company-form textarea:focus-visible,
.ui-page .filters input:focus-visible, .ui-page .filters select:focus-visible {
  outline: 2px solid var(--color-accent); outline-offset: 1px; border-color: var(--color-accent);
}

/* ---------- pływający przycisk „+” (mobile) ---------- */
.fab { width: 52px; height: 52px; right: var(--space-3); bottom: calc(var(--space-3) + env(safe-area-inset-bottom, 0px));
  transition: transform var(--dur-base) var(--ease-standard), opacity var(--dur-base) var(--ease-standard); }
.fab.is-away { transform: translateY(calc(100% + 28px)); opacity: 0; pointer-events: none; }

/* ---------- tablet / telefon ---------- */
@media (max-width: 860px) {
  .ui-page .dash-controls > .btn { flex: 1 1 auto; }
  .ui-page .dash-controls > .btn-primary { display: inline-flex; } /* na tych ekranach FAB prowadzi do dokumentów, nie do raportu */

}

@media (max-width: 640px) {
  .ui-page .kpi-grid--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ui-page .kpi-grid--three .kpi-card:last-child { grid-column: 1 / -1; }
  .ui-page .report-panel { margin-top: var(--space-3); }
  .export-bar .btn { min-height: 40px; }
  .pager .btn { min-height: 44px; }
  .pager-links { width: 100%; }
  .pager-links .btn { flex: 1; justify-content: center; }
  .ui-page .vat-fieldset { padding: var(--space-3) var(--space-4); }
  .ui-page .form-actions { flex-direction: column-reverse; align-items: stretch; }
  .ui-page .form-actions button[type="submit"], .ui-page .form-actions .btn { width: 100%; }
  .ui-page .filters-inline input, .ui-page .filters-inline select { height: 44px; min-height: 44px; }

  /* tabela → karta: kolumna „stack-title” jest nagłówkiem, pozostałe komórki jako wiersze etykieta : wartość */
  .table-stack { border: 0 !important; background: transparent; overflow: visible; }
  .table-stack table, .table-stack tbody { display: block; width: 100% !important; }
  .table-stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .table-stack tbody tr {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--space-3);
    padding: var(--space-3); margin-bottom: var(--space-2);
    background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md);
    box-shadow: var(--shadow-xs);
  }
  .table-stack tbody tr:last-child { margin-bottom: 0; }
  .table-stack tbody tr:hover { background: var(--color-surface); }
  .table-stack tbody th.stack-title {
    grid-column: 1 / -1; padding: 0 0 var(--space-2); margin-bottom: var(--space-1);
    border: 0; border-bottom: 1px solid var(--color-border); background: transparent; font-size: var(--fs-base);
  }
  .table-stack tbody th.stack-title::before { content: attr(data-label); margin-right: 0.4em; font-weight: 400; color: var(--color-text-muted); font-size: var(--fs-xs); }
  .table-stack tbody th.stack-title[data-label=""]::before { content: none; }
  .table-stack tbody tr > td { display: flex; grid-column: 1 / -1; justify-content: space-between; align-items: center; gap: var(--space-3); padding: 6px 0; border: 0; min-height: 32px; text-align: right; }
  .table-stack tbody tr > td::before { content: attr(data-label); flex: 0 0 auto; text-align: left; font-size: var(--fs-xs); font-weight: var(--fw-semibold); color: var(--color-text-muted); }
  .table-stack tbody tr > td.cell-action { justify-content: flex-end; padding-top: var(--space-2); }
  .table-stack tbody tr > td.cell-action::before { content: none; }
  .table-stack tbody tr > td:not([data-label]):not(.cell-action)::before { content: none; }
  .table-stack tbody tr > td.num { font-variant-numeric: tabular-nums; }
  /* kompaktowa tabela kwot (stawki VAT, podsumowanie) mieści się w 360 px bez przewijania */
  .table-money:not(.table-stack) .data-table th, .table-money:not(.table-stack) .data-table td { padding: 0.55rem 0.5rem; font-size: 0.8125rem; }
  .table-money:not(.table-stack) .data-table thead th { font-size: 0.6875rem; letter-spacing: 0.02em; }
  .table-money:not(.table-stack) .data-table tbody th[scope="row"] { font-size: 0.8125rem; }
  .table-money:not(.table-stack) { margin-inline: 0; border-radius: var(--radius-md); }
  .ui-page .panel > .table-wrap:not(.table-stack) { border-left: 1px solid var(--color-border); border-right: 1px solid var(--color-border); }
  .ui-page .data-table td.note-cell { white-space: normal; }
}

@media (prefers-reduced-motion: reduce) { .fab { transition: none; } }

/* ---------- korekty po przeglądzie ---------- */
.ui-page .data-table tbody th[scope="row"] { background: transparent; }
.ui-page .table-stack .data-table th, .ui-page .table-stack .data-table td { padding-inline: 0.6rem; }
.ui-page .table-stack .data-table th:first-child, .ui-page .table-stack .data-table td:first-child { padding-left: var(--space-4); }
.ui-page .table-stack .data-table th:last-child, .ui-page .table-stack .data-table td:last-child { padding-right: var(--space-3); }

/* różnice (sprzedaż − koszty itd.) jako lista, nie wiersze tabeli — czytelna także na 360 px */
.diff-list { margin: var(--space-4) 0 0; display: grid; gap: var(--space-2); }
.diff-list > div {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-4);
  padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--color-surface-sunken);
}
.diff-list dt { font-size: var(--fs-sm); font-weight: var(--fw-semibold); min-width: 0; }
.diff-list dt small { display: block; margin-top: 2px; font-weight: 400; color: var(--color-text-muted); font-size: var(--fs-xs); }
.diff-list dd { margin: 0; font-size: var(--fs-md); font-weight: var(--fw-bold); font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 640px) {
  .table-money:not(.table-stack) .data-table th, .table-money:not(.table-stack) .data-table td { padding: 0.5rem 0.4rem; font-size: 0.78rem; }
  .table-money:not(.table-stack) .data-table tbody th[scope="row"] { width: 28%; }
  .diff-list > div { padding: var(--space-3); }
  .diff-list dd { font-size: var(--fs-base); }
}

/* legenda fieldsetu jako nagłówek wewnątrz karty (bez nakładania na ramkę) */
.ui-page .vat-fieldset legend { float: left; width: 100%; padding: 0; margin: 0 0 var(--space-3); }
.ui-page .vat-fieldset legend + * { clear: both; }
@media (max-width: 640px) {
  .ui-page .filters-inline button[type="submit"] { grid-column: 1 / -1; }
}
.ui-page .data-table tbody tr:last-child th { border-bottom: none; }

@media (max-width: 640px) {
  /* karta z tabeli: wcięcia wyłącznie z samej karty */
  .ui-page .table-stack .data-table th, .ui-page .table-stack .data-table td,
  .ui-page .table-stack .data-table th:first-child, .ui-page .table-stack .data-table td:first-child,
  .ui-page .table-stack .data-table th:last-child, .ui-page .table-stack .data-table td:last-child { padding-left: 0; padding-right: 0; }
  .ui-page .table-stack tbody tr > td { padding-top: 6px; padding-bottom: 6px; }
  .ui-page .table-stack tbody th.stack-title { padding-bottom: var(--space-2); }
}

@media (max-width: 860px) {
  .ui-page .panel-collapse .table-wrap, .ui-page .panel .table-wrap { margin-left: 0; margin-right: 0; border-radius: var(--radius-md); border: 1px solid var(--color-border); }
}
@media (max-width: 640px) {
  .export-bar { display: none; }
  .export-menu { display: block; }
  .ui-page .table-stack { border: 0 !important; }
}

/* ---------- „Pokaż więcej / Pokaż mniej” ---------- */
.is-row-hidden { display: none !important; }
.row-limit { display: flex; justify-content: center; margin-top: var(--space-3); }
.row-limit[hidden] { display: none; }
.row-limit-btn { min-height: 44px; padding-inline: var(--space-6); width: 100%; justify-content: center; font-weight: var(--fw-semibold); color: var(--color-accent-hover); background: var(--color-accent-tint); border-color: var(--color-accent-tint-strong); }
.row-limit-btn:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
@media (min-width: 641px) { .row-limit { display: none; } }

/* =====================================================================
   C2a — DOKUMENTY: lista
   ===================================================================== */
.page-documents .dash-header { margin-bottom: var(--space-4); }

/* nawigacja miesięcy raportu */
.page-documents .doc-month-nav {
  display: flex; align-items: center; gap: var(--space-1); justify-self: stretch;
  padding: 4px; margin: 0 0 var(--space-4);
  background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-pill); box-shadow: var(--shadow-xs);
  max-width: 34rem;
}
.page-documents .doc-month-nav-months { flex: 1 1 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; }
.page-documents .doc-month-chip { min-height: 40px; padding-inline: var(--space-2); text-transform: capitalize; }
.page-documents .doc-month-nav-arrow { width: 40px; height: 40px; }
.page-documents .doc-month-chip:focus-visible, .page-documents .doc-month-nav-arrow:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 1px; }

/* wyszukiwanie i filtry */
.page-documents .doc-filters { margin-bottom: var(--space-3); }
.page-documents .doc-filters .filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-bottom: 0; border-radius: var(--radius-lg); box-shadow: var(--shadow-xs); }
.page-documents .search-box { position: relative; flex: 1 1 18rem; min-width: 0; }
.page-documents .search-box > svg { position: absolute; left: 0.85rem; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--color-text-muted); pointer-events: none; }
.page-documents .search-box input { width: 100%; height: 44px; padding-left: 2.6rem; }
.page-documents .doc-filters .select { height: 44px; min-width: 11rem; }
.page-documents .doc-filters .segmented { height: 44px; align-items: center; }
.page-documents .doc-filters .segmented .segmented-btn { min-height: 36px; }
.page-documents .doc-filters [data-filters-more] { height: 44px; padding-inline: var(--space-4); }
.page-documents .doc-filters [data-filters-more] .icon-sm { color: var(--color-accent); }
.page-documents .doc-filters input:focus-visible, .page-documents .doc-filters select:focus-visible,
.page-documents .doc-filters button:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 1px; }
.page-documents .filters-more input, .page-documents .filters-more select { height: 44px; }
.page-documents .filters-more .filter-actions .btn { height: 44px; width: 100%; }

.list-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2) var(--space-4); margin: 0 0 var(--space-3); min-height: 32px; }
.list-summary p { margin: 0; font-size: var(--fs-sm); color: var(--color-text-secondary); }
.list-summary strong { color: var(--color-text); font-variant-numeric: tabular-nums; }

/* tabela dokumentów (desktop) */
.page-documents .doc-table { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-xs); overflow-x: auto; }
.page-documents .doc-table .data-table { width: 100%; }
.page-documents .doc-table thead th { white-space: nowrap; }
.page-documents .doc-table tbody td, .page-documents .doc-table tbody th { vertical-align: middle; padding-block: 0.75rem; }
.page-documents .doc-table tbody tr:hover { background: var(--color-surface-hover); }
.page-documents .c-doc { white-space: nowrap; }
.page-documents .doc-number { display: block; font-weight: var(--fw-semibold); color: var(--color-accent-hover); text-decoration: none; }
.page-documents .doc-number:hover { text-decoration: underline; }
.page-documents .doc-number:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; border-radius: 4px; }
.page-documents .doc-date { display: block; font-size: var(--fs-xs); color: var(--color-text-muted); margin-top: 2px; }
.page-documents .c-who { min-width: 11rem; max-width: 20rem; text-align: left; }
.page-documents .doc-contractor { display: block; font-weight: var(--fw-semibold); overflow-wrap: anywhere; }
.page-documents .doc-badges { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.page-documents .doc-badges .badge { font-size: var(--fs-2xs, 0.6875rem); padding: 0.12rem 0.5rem; }
.page-documents .doc-meta { display: block; margin-top: 4px; font-size: var(--fs-xs); color: var(--color-text-muted); }
.page-documents .c-pay { white-space: nowrap; }
.page-documents .c-gross { font-weight: var(--fw-bold); }
.page-documents .c-gross .cur { font-weight: var(--fw-regular, 400); color: var(--color-text-muted); }
.page-documents .c-net, .page-documents .c-vat { color: var(--color-text-secondary); }
.page-documents .c-act { width: 1%; white-space: nowrap; }
.page-documents .row-actions { display: flex; justify-content: flex-end; gap: 6px; }
.page-documents .row-action { width: 36px; height: 36px; padding: 0; justify-content: center; }
.page-documents .row-action .act-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.page-documents .row-action:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.page-documents .doc-list .doc-table + .pager, .page-documents .pager { margin-top: var(--space-4); }

/* karta dokumentu: kontener węższy niż 820 px (telefon, tablet pionowo, wąski desktop) */
@container dash (max-width: 819px) {
  .page-documents .doc-table { border: 0; background: transparent; box-shadow: none; overflow: visible; }
  .page-documents .doc-table table, .page-documents .doc-table tbody { display: block; width: 100%; }
  .page-documents .doc-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .page-documents .doc-table tbody tr {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--space-3); align-items: center;
    grid-template-areas: "who who" "doc gross" "net vat" "pay rem" "act act";
    padding: var(--space-4); margin-bottom: var(--space-3);
    background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-xs);
    border-left: 4px solid var(--color-border-strong, var(--color-border));
  }
  .page-documents .doc-table tbody tr.is-revenue { border-left-color: var(--color-success-border, var(--color-success)); }
  .page-documents .doc-table tbody tr.is-expense { border-left-color: var(--color-warning-border, var(--color-warning)); }
  .page-documents .doc-table tbody tr:hover { background: var(--color-surface); }
  .page-documents .doc-table tbody td, .page-documents .doc-table tbody th { display: block; padding: 0; border: 0; min-width: 0; max-width: none; }
  .page-documents .c-who { grid-area: who; padding-bottom: var(--space-2); margin-bottom: var(--space-2); border-bottom: 1px solid var(--color-border); }
  .page-documents .doc-contractor { font-size: var(--fs-base); }
  .page-documents .c-doc { grid-area: doc; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px var(--space-2); white-space: normal; }
  .page-documents .doc-number, .page-documents .doc-date { display: inline; margin: 0; }
  .page-documents .c-gross { grid-area: gross; text-align: right; font-size: var(--fs-lg); line-height: 1.2; }
  .page-documents .c-net { grid-area: net; text-align: left; margin-top: var(--space-2); }
  .page-documents .c-vat { grid-area: vat; text-align: right; margin-top: var(--space-2); }
  .page-documents .c-net::before, .page-documents .c-vat::before, .page-documents .c-rem::before {
    content: attr(data-label) " "; font-size: var(--fs-xs); font-weight: var(--fw-semibold); color: var(--color-text-muted);
  }
  .page-documents .c-net, .page-documents .c-vat, .page-documents .c-rem { font-size: var(--fs-sm); }
  .page-documents .c-pay { grid-area: pay; display: flex; flex-wrap: wrap; align-items: center; gap: 2px var(--space-2); white-space: normal; margin-top: var(--space-3); }
  .page-documents .c-pay .doc-meta { margin: 0; }
  .page-documents .c-rem { grid-area: rem; text-align: right; margin-top: var(--space-3); }
  .page-documents .c-act { grid-area: act; width: auto; white-space: normal; margin-top: var(--space-3); }
  .page-documents .c-act:not(:has(form)) { display: none; }
  .page-documents .row-actions { flex-wrap: wrap; justify-content: stretch; }
  .page-documents .row-actions .inline-form { display: block; flex: 1 1 11rem; }
  .page-documents .row-action { width: 100%; height: 44px; padding-inline: var(--space-3); gap: var(--space-2); font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
  .page-documents .row-action .act-label { position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: normal; }
}
@media (max-width: 640px) {
  .page-documents .doc-filters .filter-bar { flex-direction: column; align-items: stretch; padding: var(--space-3); }
  .page-documents .search-box { flex: 0 0 auto; }
  .page-documents .doc-filters .select, .page-documents .doc-filters [data-filters-more] { width: 100%; }
  .page-documents .doc-filters .segmented { width: 100%; display: flex; }
  .page-documents .doc-filters .segmented .segmented-btn { flex: 1; justify-content: center; }
  .page-documents .doc-month-nav { max-width: none; }
  .page-documents .dash-controls > .btn { width: 100%; justify-content: center; }
}

/* C2a — poprawki po przeglądzie listy */
.page-documents .doc-filters .search-box input.input[type="search"] { padding-left: 2.75rem; }
.page-documents .search-box { flex: 1 1 12rem; }
.page-documents .doc-filters .select { min-width: 10rem; max-width: 100%; }
.page-documents .doc-table .data-table th, .page-documents .doc-table .data-table td { padding-inline: 0.55rem; }
.page-documents .doc-table .data-table th:first-child, .page-documents .doc-table .data-table td:first-child { padding-left: var(--space-4); }
.page-documents .doc-table .data-table th:last-child, .page-documents .doc-table .data-table td:last-child { padding-right: var(--space-3); }
.page-documents .c-pay { white-space: normal; min-width: 8.5rem; }
.page-documents .c-pay .badge { white-space: normal; text-align: left; line-height: 1.25; }
.page-documents .c-who { min-width: 9.5rem; max-width: 15rem; }
.page-documents .c-rem { font-size: var(--fs-xs); }
.page-documents .c-gross .cur { display: none; }
@container dash (max-width: 819px) {
  .page-documents .c-gross .cur { display: inline; }
  .page-documents .c-doc { flex-direction: column; align-items: flex-start; gap: 2px; }
  .page-documents .c-rem { font-size: var(--fs-sm); }
  .page-documents .c-pay .badge { white-space: nowrap; }
}
.page-documents .doc-table td.c-doc { text-align: left; }
@container dash (max-width: 819px) {
  .page-documents .doc-table td.c-net { text-align: left; }
  .page-documents .doc-table td.c-vat, .page-documents .doc-table td.c-rem, .page-documents .doc-table td.c-gross { text-align: right; }
  .page-documents .row-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); gap: var(--space-2); }
  .page-documents .row-actions .inline-form { flex: none; }
  .page-documents .row-actions .inline-form:has(.btn-settle) { order: -1; }
  .page-documents .row-action { height: 42px; }
}
@media (max-width: 640px) {
  .page-documents .search-box { flex: 0 0 auto; }
}
.page-documents .row-actions .inline-form:has(.btn-settle) { order: -1; }

/* C2a — tabele jako karty także w kontenerze 641–819 px (tablet pionowo): klasa .table-stack--wide */
@container dash (max-width: 819px) {
  /* tabela → karta: kolumna „stack-title” jest nagłówkiem, pozostałe komórki jako wiersze etykieta : wartość */
  .table-stack--wide { border: 0 !important; background: transparent; overflow: visible; }
  .table-stack--wide table, .table-stack--wide tbody { display: block; width: 100% !important; }
  .table-stack--wide thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .table-stack--wide tbody tr {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--space-3);
    padding: var(--space-3); margin-bottom: var(--space-2);
    background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md);
    box-shadow: var(--shadow-xs);
  }
  .table-stack--wide tbody tr:last-child { margin-bottom: 0; }
  .table-stack--wide tbody tr:hover { background: var(--color-surface); }
  .table-stack--wide tbody th.stack-title {
    grid-column: 1 / -1; padding: 0 0 var(--space-2); margin-bottom: var(--space-1);
    border: 0; border-bottom: 1px solid var(--color-border); background: transparent; font-size: var(--fs-base);
  }
  .table-stack--wide tbody th.stack-title::before { content: attr(data-label); margin-right: 0.4em; font-weight: 400; color: var(--color-text-muted); font-size: var(--fs-xs); }
  .table-stack--wide tbody th.stack-title[data-label=""]::before { content: none; }
  .table-stack--wide tbody tr > td { display: flex; grid-column: 1 / -1; justify-content: space-between; align-items: center; gap: var(--space-3); padding: 6px 0; border: 0; min-height: 32px; text-align: right; }
  .table-stack--wide tbody tr > td::before { content: attr(data-label); flex: 0 0 auto; text-align: left; font-size: var(--fs-xs); font-weight: var(--fw-semibold); color: var(--color-text-muted); }
  .table-stack--wide tbody tr > td.cell-action { justify-content: flex-end; padding-top: var(--space-2); }
  .table-stack--wide tbody tr > td.cell-action::before { content: none; }
  .table-stack--wide tbody tr > td:not([data-label]):not(.cell-action)::before { content: none; }
  .table-stack--wide tbody tr > td.num { font-variant-numeric: tabular-nums; }
  .ui-page .table-stack--wide .data-table th, .ui-page .table-stack--wide .data-table td,
  .ui-page .table-stack--wide .data-table th:first-child, .ui-page .table-stack--wide .data-table td:first-child,
  .ui-page .table-stack--wide .data-table th:last-child, .ui-page .table-stack--wide .data-table td:last-child { padding-left: 0; padding-right: 0; }
  .ui-page .table-stack--wide tbody tr > td { padding-top: 6px; padding-bottom: 6px; }
  .ui-page .table-stack--wide { border: 0 !important; }
}

/* =====================================================================
   C2a — DOKUMENTY: szczegóły
   ===================================================================== */
.page-document .dash-header { margin-bottom: var(--space-3); }
.doc-status-line { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: var(--space-2) 0 0; }
.doc-action-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0 0 var(--space-5); }
.doc-action-bar .btn, .doc-action-bar button.btn { min-height: 44px; padding-inline: var(--space-4); gap: var(--space-2); }
.doc-action-bar .inline-form { display: block; margin: 0; }
.doc-action-bar .doc-action-danger { margin-left: auto; }
.doc-action-bar .btn:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.page-document .doc-hero { padding: var(--space-5); margin-bottom: var(--space-4); }
.page-document .doc-hero .meta-list { grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); }
.page-document .doc-hero .meta-wide dd { font-size: var(--fs-lg); }
.page-document .doc-amounts { margin-bottom: var(--space-5); }
.kpi-note { margin: 2px 0 0; font-size: var(--fs-xs); color: var(--color-text-muted); }
.page-document .report-panel .meta-list { margin-top: var(--space-2); }
.page-document .panel-subhead { font-size: var(--fs-sm); font-weight: var(--fw-semibold); margin: var(--space-5) 0 var(--space-2); }
.page-document .note-line { margin: var(--space-3) 0; }
.page-document .payments-table { margin-top: var(--space-4); }
.page-document .doc-items .invoice-items-preview { margin: var(--space-5) 0 0; }
.page-document .doc-items .invoice-items-section { margin-bottom: var(--space-4); }
.page-document .meta-list code { font-size: var(--fs-xs); overflow-wrap: anywhere; }
.page-document .meta-list a { color: var(--color-accent-hover); }
.page-document .diff-list dd { white-space: normal; text-align: right; }
@container dash (max-width: 819px) {
  .doc-action-bar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .doc-action-bar > .btn, .doc-action-bar .inline-form .btn { width: 100%; justify-content: center; }
  .doc-action-bar > .btn-primary, .doc-action-bar .doc-action-danger { grid-column: 1 / -1; }
  .doc-action-bar .doc-action-danger { margin-left: 0; }
  .doc-action-bar .inline-form:has(.btn-settle) { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .page-document .doc-hero { padding: var(--space-4); }
  .page-document .doc-hero .meta-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3) var(--space-4); }
  .page-document .doc-hero .meta-wide { grid-column: 1 / -1; }
}

/* =====================================================================
   C2a (uwagi) — menu „⋯”, ciaśniejsze karty, kwota po korektach
   ===================================================================== */
.page-documents .c-more { width: 1%; white-space: nowrap; padding-left: 0 !important; }
.row-menu { position: relative; display: inline-block; }
.row-menu > summary { list-style: none; }
.row-menu > summary::-webkit-details-marker { display: none; }
.row-menu-toggle { width: 36px; height: 36px; padding: 0 !important; justify-content: center; font-size: 1.25rem; line-height: 1; font-weight: var(--fw-bold); cursor: pointer; color: var(--color-text-secondary); }
.row-menu[open] > .row-menu-toggle { background: var(--color-accent-tint); border-color: var(--color-accent-tint-strong); color: var(--color-accent-hover); }
.row-menu-toggle:focus-visible, .row-menu-item:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.row-menu-list {
  position: fixed; z-index: 60; min-width: 13.5rem; padding: var(--space-1);
  background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-md);
  text-align: left; white-space: normal;
}
.row-menu-list .inline-form { display: block; margin: 0; }
.row-menu-item {
  display: flex; align-items: center; gap: var(--space-2); width: 100%; min-height: 44px; padding: 0 var(--space-3);
  background: transparent; border: 0; border-radius: var(--radius-sm); box-shadow: none;
  font: inherit; font-size: var(--fs-sm); font-weight: var(--fw-semibold); color: var(--color-text); cursor: pointer; text-align: left;
}
.row-menu-item:hover { background: var(--color-surface-sunken); }
.row-menu-item.is-danger { color: var(--color-danger); }
.row-menu-item.is-danger:hover { background: var(--color-danger-tint, #FDECEC); }
.row-menu-item .icon-sm { width: 16px; height: 16px; }
.page-documents .col-actions { text-align: right; }

@container dash (max-width: 819px) {
  .page-documents .doc-table tbody tr {
    grid-template-areas: "who more" "doc gross" "net vat" "pay rem" "act act";
    padding: var(--space-3) var(--space-4); margin-bottom: var(--space-2);
  }
  .page-documents .c-who { grid-area: who; padding-bottom: var(--space-2); margin-bottom: var(--space-1); }
  .page-documents .c-more { grid-area: more; width: auto; align-self: start; justify-self: end; padding-bottom: var(--space-2) !important; margin-bottom: var(--space-1); border-bottom: 1px solid var(--color-border) !important; margin-left: var(--space-2); }
  .page-documents .c-more:not(:has(details)) { display: none; }
  .page-documents .c-who:has(+ .c-net):not(:has(~ .c-more details)) { grid-column: 1 / -1; }
  .page-documents .row-menu-toggle { width: 44px; height: 44px; margin: -6px -6px 0 0; border-color: transparent; background: transparent; box-shadow: none; }
  .page-documents .row-menu[open] > .row-menu-toggle { border-color: var(--color-accent-tint-strong); }
  .page-documents .c-net { margin-top: var(--space-1); }
  .page-documents .c-vat { margin-top: var(--space-1); }
  .page-documents .c-pay { margin-top: var(--space-2); }
  .page-documents .c-rem { margin-top: var(--space-2); }
  .page-documents .c-act { margin-top: var(--space-2); }
  .page-documents .row-actions { grid-template-columns: 1fr; }
  .page-documents .row-action { height: 44px; }
  .page-documents .doc-table .c-act .inline-form { display: block; }
  .page-documents .doc-table .c-act .row-action { width: 100%; justify-content: center; gap: var(--space-2); font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
  .page-documents .doc-table .c-act .row-action .act-label { position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: normal; }
  .page-documents .doc-table .c-act .row-action { width: 100%; height: 44px; padding-inline: var(--space-3); }
}
.page-documents .doc-table .c-act .inline-form { display: inline-block; }
.page-documents .doc-table .c-act { text-align: right; padding-right: 0; }

/* kwota po korektach */
.after-corrections { margin-bottom: var(--space-5); border-left: 4px solid var(--color-accent); }
.after-corrections .panel-subtitle { margin: calc(-1 * var(--space-2)) 0 var(--space-3); max-width: 70ch; }
.after-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin: 0; }
.after-grid > div { padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--color-surface-sunken); min-width: 0; }
.after-grid dt { font-size: var(--fs-xs); font-weight: var(--fw-semibold); color: var(--color-text-muted); margin-bottom: 2px; }
.after-grid dd { margin: 0; font-size: var(--fs-md); font-weight: var(--fw-bold); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.after-grid .is-result { background: var(--color-accent-tint); }
.after-grid .is-result dd { color: var(--color-accent-hover); font-size: var(--fs-lg); }
.after-sub { margin: var(--space-3) 0 0; font-size: var(--fs-sm); color: var(--color-text-secondary); font-variant-numeric: tabular-nums; }
@media (max-width: 640px) { .after-grid { grid-template-columns: 1fr; gap: var(--space-2); } .after-grid > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-3); padding: var(--space-3); } .after-grid dd { font-size: var(--fs-base); text-align: right; } .after-grid .is-result dd { font-size: var(--fs-md); } }
@container dash (max-width: 819px) {
  .page-documents .doc-table tbody tr { grid-template-areas: "who who" "doc gross" "net vat" "pay rem" "act act"; position: relative; }
  .page-documents .c-who { padding-right: 44px; }
  .page-documents .doc-table tbody td.c-more { position: absolute; top: 6px; right: 8px; width: auto; margin: 0; padding: 0 !important; border: 0 !important; z-index: 1; }
  .page-documents .row-menu-toggle { margin: 0; }
}
@container dash (max-width: 819px) {
  .page-documents .doc-table .c-act { text-align: stretch; padding: 0; }
  .page-documents .doc-table .c-act .inline-form { display: block; width: 100%; }
}
.row-menu-list button.row-menu-item { background: transparent !important; box-shadow: none !important; border: 0 !important; color: var(--color-text) !important; transform: none !important; justify-content: flex-start; padding: 0 var(--space-3); }
.row-menu-list button.row-menu-item.is-danger { color: var(--color-danger) !important; }
.row-menu-list button.row-menu-item:hover, .row-menu-list button.row-menu-item:focus-visible { background: var(--color-surface-sunken) !important; filter: none; }
.row-menu-list button.row-menu-item.is-danger:hover, .row-menu-list button.row-menu-item.is-danger:focus-visible { background: var(--color-danger-tint, #FDECEC) !important; }

/* ===================== C2b: formularze dokumentów, korekt, płatności, potwierdzenia ===================== */
.page-doc-form { max-width: 60rem; }
.page-doc-form .document-form-simple { max-width: none; }
.page-doc-form .company-form fieldset.doc-fieldset,
.page-doc-form .form-card.panel { margin: var(--space-4) 0 0; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: var(--space-5) var(--space-6); min-width: 0; }
.page-doc-form .document-form > fieldset > legend,
.page-doc-form .form-card > .panel-title { float: left; width: 100%; margin: 0 0 var(--space-4); padding: 0; font-size: var(--fs-md); font-weight: var(--fw-semibold); letter-spacing: -0.015em; color: var(--color-text); }
.page-doc-form .document-form > fieldset > legend + * { clear: both; }
.page-doc-form .form-card > .panel-title + * { clear: both; }
.page-doc-form .form-card::after { content: ""; display: table; clear: both; }
.page-doc-form .doc-fieldset fieldset:not(.doc-fieldset) { box-shadow: none; background: var(--color-surface-sunken); padding: var(--space-4); margin: var(--space-3) 0 0; }
.page-doc-form .doc-fieldset fieldset:not(.doc-fieldset) > legend { float: none; width: auto; font-size: var(--fs-sm); font-weight: var(--fw-semibold); padding: 0 var(--space-2); margin: 0; }
.page-doc-form .company-form fieldset.plain { border: 0; box-shadow: none; background: transparent; padding: 0; margin: 0 0 var(--space-3); display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); }
.page-doc-form label { overflow-wrap: anywhere; }
.page-doc-form .form-grid-2 > div { min-width: 0; }
.page-doc-form .form-grid-2 label, .page-doc-form .form-card label { display: block; }
.page-doc-form .form-card label:has(> input[type="checkbox"]),
.page-doc-form .form-card label:has(> input[type="radio"]) { display: flex; align-items: flex-start; gap: var(--space-3); min-height: 44px; padding: var(--space-2) 0; font-weight: var(--fw-regular, 400); line-height: 1.4; cursor: pointer; }
.page-doc-form input[type="checkbox"], .page-doc-form input[type="radio"] { width: 1.25rem; height: 1.25rem; min-height: 0; flex: none; margin: 0.1rem 0 0; padding: 0; accent-color: var(--color-accent); }
.page-doc-form .form-grid { gap: var(--space-4); }
.page-doc-form .form-grid > .fld > label { display: block; }
.page-doc-form .vat-row.form-row { grid-template-columns: minmax(7.5rem, 0.8fr) repeat(3, minmax(0, 1fr)); gap: var(--space-3) var(--space-4); margin: 0 0 var(--space-3); }
.page-doc-form .vat-row.form-row input[type="text"] { text-align: right; font-variant-numeric: tabular-nums; }
.page-doc-form .vat-row .vat-remove { margin-top: 1.55rem; width: 100%; min-height: 44px; }
.page-doc-form #vat-add { min-height: 44px; margin-top: var(--space-2); }
.page-doc-form .locked-value { margin: 0 0 var(--space-3); padding: 0.6rem 0.8rem; border-radius: var(--radius-md); background: var(--color-surface-sunken); color: var(--color-text-secondary); font-weight: var(--fw-semibold); }
.page-doc-form .doc-meta-line { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); margin: var(--space-3) 0; color: var(--color-text-secondary); font-size: var(--fs-sm); }
.page-doc-form .origin-card { margin-top: var(--space-4); }
.page-doc-form .origin-card .muted { margin: var(--space-3) 0 0; }
.page-doc-form .confirm-block { border-left: 4px solid var(--color-warning, #B7791F); }
.page-doc-form .confirm-block .panel-title { margin-bottom: var(--space-2); }
.page-doc-form .confirm-lead { margin: var(--space-3) 0 0; font-size: var(--fs-base); line-height: 1.5; color: var(--color-text); }
.page-doc-form .remaining-strip, .page-doc-form .settle-amount { margin: var(--space-4) 0 0; }
.page-doc-form .remaining-strip { padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--color-accent-tint); }
.page-doc-form .settle-amount { display: flex; flex-direction: column; gap: var(--space-1); border-left: 4px solid var(--color-accent); }
.page-doc-form .settle-amount-label { font-size: var(--fs-sm); color: var(--color-text-secondary); }
.page-doc-form .settle-amount-value { font-size: var(--fs-xl, 1.75rem); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.page-doc-form .alert.info { background: var(--color-accent-tint); border-color: var(--color-accent-tint-strong); color: var(--color-text); }
.page-doc-form .field-error { margin: var(--space-1) 0 0; }
.page-doc-form .form-actions .btn { text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.page-doc-form .meta-list .num { font-variant-numeric: tabular-nums; }
.page-doc-form .confirm-card + form { margin-top: 0; }
@container dash (max-width: 559px) {
  .page-doc-form .company-form fieldset.doc-fieldset, .page-doc-form .form-card.panel { padding: var(--space-4); }
  .page-doc-form .vat-row.form-row { grid-template-columns: 1fr 1fr; }
  .page-doc-form .vat-row.form-row > div:first-child, .page-doc-form .vat-row.form-row > div:last-child { grid-column: 1 / -1; }
  .page-doc-form .vat-row .vat-remove { margin-top: 0; }
  .page-doc-form .form-grid { grid-template-columns: 1fr; }
  .page-doc-form .form-grid > .fld, .page-doc-form .form-grid > .fld.span-4, .page-doc-form .form-grid > .fld.span-3, .page-doc-form .form-grid > .fld.span-2 { grid-column: 1 / -1; }
}
.page-doc-form .form-card label:has(> input[type="checkbox"]),
.page-doc-form .form-card label:has(> input[type="radio"]) { flex-direction: row; }
.page-doc-form button.secondary { display: inline-flex; align-items: center; justify-content: center; padding: 0 var(--space-4); min-height: 44px; border: 1px solid var(--color-border-strong, var(--color-border)); border-radius: var(--radius-md); background: var(--color-surface); color: var(--color-text); font-weight: var(--fw-semibold); box-shadow: none; cursor: pointer; }
.page-doc-form button.secondary:hover { background: var(--color-surface-sunken); }
.page-doc-form button.vat-remove { color: var(--color-danger); }
.page-doc-form .doc-fieldset > .muted { margin: 0 0 var(--space-3); }
.page-doc-form button.secondary:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }

/* ---------- C4b: Archiwum ---------- */
.page-archive .archive-note{display:flex;gap:var(--space-3);align-items:flex-start;margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-info-border);border-radius:var(--radius-md);background:var(--color-info-tint);color:var(--color-text);font-size:var(--fs-sm)}
.page-archive .archive-note p{margin:0}.page-archive .archive-note .icon-sm{flex:none;margin-top:2px;color:var(--color-info)}
.page-archive .dash-controls{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.page-archive .arch-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;list-style:none;margin:0;padding:0}
.page-archive .arch-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border:1px solid var(--color-accent-tint-strong);border-radius:999px;background:var(--color-accent-tint);color:var(--color-text-link);font-size:var(--fs-sm);text-decoration:none}
.page-archive .c-arch{white-space:nowrap}.page-archive .arch-date{display:block;font-variant-numeric:tabular-nums}
.page-archive .btn-restore{background:var(--color-accent-tint);border-color:var(--color-accent-tint-strong);color:var(--color-accent-hover);font-weight:var(--fw-semibold)}
.page-archive .btn-restore:hover{background:var(--color-accent-tint-strong)}
.page-archive .btn-restore .icon-sm{color:var(--color-accent)}
.page-archive .doc-table .row-actions{display:flex;gap:6px;justify-content:flex-end}
.page-archive .doc-table .c-act{width:1%;white-space:nowrap}
.page-archive .doc-meta a{color:var(--color-text-link)}
.page-archive .empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-8) var(--space-4)}
.page-archive .empty-state h3{margin:0}.page-archive .empty-state p{margin:0 0 var(--space-3);color:var(--color-text-secondary);max-width:42ch}
@container dash (max-width: 819px){
 .page-archive .doc-table tbody tr{grid-template-areas:"who who" "doc gross" "net vat" "arch arch" "act act" !important}
 .page-archive .c-arch{grid-area:arch;display:flex!important;flex-wrap:wrap;gap:2px var(--space-2);margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-border);white-space:normal;font-size:var(--fs-sm);color:var(--color-text-secondary)}
 .page-archive .c-arch::before{content:"Zarchiwizowano";font-size:var(--fs-xs);font-weight:600;color:var(--color-text-muted);flex-basis:100%}
 .page-archive .c-arch .arch-date{display:inline}.page-archive .c-arch .doc-meta{margin:0}
 .page-archive .doc-table .c-act{grid-area:act;display:block!important;margin-top:var(--space-3);width:auto;white-space:normal;padding:0!important;text-align:left}
 .page-archive .dash-controls{width:100%}.page-archive .dash-controls .btn{flex:1 1 9rem;min-height:44px;font-size:var(--fs-sm);justify-content:center}
 .page-archive .doc-table .row-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}
 .page-archive .doc-table .row-actions .btn{height:44px;justify-content:center}
 .page-archive .c-who{padding-right:0!important}
}
.page-archive .filters-more.is-open{display:grid;grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));gap:var(--space-3) var(--space-4);align-items:end}
.page-archive .filters-more .filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
.page-archive .filters-more .filter-actions .btn{width:auto!important;min-width:9rem;padding-inline:var(--space-6)}
@container dash (max-width: 819px){.page-archive .filters-more .filter-actions .btn{width:100%!important}}
.page-archive .c-doc { white-space: normal; min-width: 8.5rem; }
.page-archive .doc-number { overflow-wrap: anywhere; word-break: break-word; }
.page-archive .c-who { overflow-wrap: anywhere; }
.page-archive .arch-chip span { overflow-wrap: anywhere; }
.page-archive .arch-chip:hover { background: var(--color-accent-tint-strong); }
.page-archive .arch-chip:focus-visible, .page-archive .btn:focus-visible, .page-archive .doc-number:focus-visible, .page-archive .doc-meta a:focus-visible { outline: 2px solid var(--color-border-focus); outline-offset: 2px; box-shadow: var(--shadow-focus); }
.page-archive .arch-chip { min-height: 44px; }
@media (max-width: 640px) { .page-archive .arch-chips { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .page-archive .btn-restore { transition: none; } }
.page-archive .btn, .page-archive a.btn, .page-archive .pager .btn { min-height: 44px; }
.page-archive .doc-table .row-actions .btn { height: 44px; }

/* ===== C5b: Kasy fiskalne (.page-registers) — wspólne reguły listy przeniesione z .page-archive + makiety C5a ===== */
/* --- przeniesione z .page-archive (C4b) → .page-registers; w C5b uogólnić na wspólną klasę listy --- */
.page-registers .archive-note{display:flex;gap:var(--space-3);align-items:flex-start;margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-info-border);border-radius:var(--radius-md);background:var(--color-info-tint);color:var(--color-text);font-size:var(--fs-sm)}
.page-registers .archive-note p{margin:0}.page-registers .archive-note .icon-sm{flex:none;margin-top:2px;color:var(--color-info)}
.page-registers .dash-controls{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.page-registers .arch-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;list-style:none;margin:0;padding:0}
.page-registers .arch-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border:1px solid var(--color-accent-tint-strong);border-radius:999px;background:var(--color-accent-tint);color:var(--color-text-link);font-size:var(--fs-sm);text-decoration:none}
.page-registers .c-arch{white-space:nowrap}.page-registers .arch-date{display:block;font-variant-numeric:tabular-nums}
.page-registers .btn-restore{background:var(--color-accent-tint);border-color:var(--color-accent-tint-strong);color:var(--color-accent-hover);font-weight:var(--fw-semibold)}
.page-registers .btn-restore:hover{background:var(--color-accent-tint-strong)}
.page-registers .btn-restore .icon-sm{color:var(--color-accent)}
.page-registers .doc-table .row-actions{display:flex;gap:6px;justify-content:flex-end}
.page-registers .doc-table .c-act{width:1%;white-space:nowrap}
.page-registers .doc-meta a{color:var(--color-text-link)}
.page-registers .empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-8) var(--space-4)}
.page-registers .empty-state h3{margin:0}.page-registers .empty-state p{margin:0 0 var(--space-3);color:var(--color-text-secondary);max-width:42ch}
@container dash (max-width: 819px){
 .page-registers .c-arch{grid-area:arch;display:flex!important;flex-wrap:wrap;gap:2px var(--space-2);margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-border);white-space:normal;font-size:var(--fs-sm);color:var(--color-text-secondary)}
 .page-registers .c-arch::before{content:"Zarchiwizowano";font-size:var(--fs-xs);font-weight:600;color:var(--color-text-muted);flex-basis:100%}
 .page-registers .c-arch .arch-date{display:inline}.page-registers .c-arch .doc-meta{margin:0}
 .page-registers .doc-table .c-act{grid-area:act;display:block!important;margin-top:var(--space-3);width:auto;white-space:normal;padding:0!important;text-align:left}
 .page-registers .dash-controls{width:100%}.page-registers .dash-controls .btn{flex:1 1 9rem;min-height:44px;font-size:var(--fs-sm);justify-content:center}
 .page-registers .doc-table .row-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}
 .page-registers .doc-table .row-actions .btn{height:44px;justify-content:center}
 .page-registers .c-who{padding-right:0!important}
}
.page-registers .filters-more.is-open{display:grid;grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));gap:var(--space-3) var(--space-4);align-items:end}
.page-registers .filters-more .filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
.page-registers .filters-more .filter-actions .btn{width:auto!important;min-width:9rem;padding-inline:var(--space-6)}
@container dash (max-width: 819px){.page-registers .filters-more .filter-actions .btn{width:100%!important}}
.page-registers .c-doc { white-space: normal; min-width: 8.5rem; }
.page-registers .doc-number { overflow-wrap: anywhere; word-break: break-word; }
.page-registers .c-who { overflow-wrap: anywhere; }
.page-registers .arch-chip span { overflow-wrap: anywhere; }
.page-registers .arch-chip:hover { background: var(--color-accent-tint-strong); }
.page-registers .arch-chip:focus-visible, .page-registers .btn:focus-visible, .page-registers .doc-number:focus-visible, .page-registers .doc-meta a:focus-visible { outline: 2px solid var(--color-border-focus); outline-offset: 2px; box-shadow: var(--shadow-focus); }
.page-registers .arch-chip { min-height: 44px; }
@media (max-width: 640px) { .page-registers .arch-chips { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .page-registers .btn-restore { transition: none; } }
.page-registers .btn, .page-registers a.btn, .page-registers .pager .btn { min-height: 44px; }
.page-registers .doc-table .row-actions .btn { height: 44px; }

/* C5a — makiety Kas fiskalnych. Rozszerzenie wzorca .page-documents / .page-doc-form / .page-archive.
   W C5b te reguły trafiają do pages.css (blok .page-registers); klasy .arch-chip / .empty-state / .archive-note
   zostaną uogólnione z .page-archive na .ui-page. */
.page-registers .reg-scope{margin:0 0 var(--space-3);font-size:var(--fs-sm);color:var(--color-text-secondary)}
.page-registers .reg-scope b{color:var(--color-text);font-weight:var(--fw-semibold)}
.page-registers .kpi-value{font-variant-numeric:tabular-nums}
.page-registers .kpi-value .cur{font-size:.6em;font-weight:var(--fw-medium);color:var(--color-text-muted);margin-left:.15em}
.page-registers .reg-note{display:flex;gap:var(--space-3);align-items:flex-start;margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-info-border);background:var(--color-info-tint);border-radius:var(--radius-md);font-size:var(--fs-sm)}
.page-registers .reg-note p{margin:0}.page-registers .reg-note .icon-sm{flex:none;margin-top:2px;color:var(--color-info)}
/* lista */
.page-registers .doc-table tbody tr{position:relative}
.page-registers .c-who .reg-name{display:block;font-weight:var(--fw-semibold);font-size:var(--fs-base)}
.page-registers .c-who .reg-sub{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--color-text-muted)}
.page-registers .c-doc{white-space:nowrap}
.page-registers .c-st{white-space:nowrap}
.page-registers .doc-table tbody tr.reg-k1{--reg-accent:var(--tile-blue-fg)}
.page-registers .doc-table tbody tr.reg-k2{--reg-accent:var(--tile-purple-fg)}
.page-registers .doc-table tbody tr.is-archived{opacity:.92}
.page-registers .doc-table tbody tr.is-archived .c-gross{color:var(--color-text-secondary)}
.page-registers .row-actions .btn{height:44px;min-height:44px}
.page-registers .reg-name-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--reg-accent,var(--color-border-strong));margin-right:var(--space-2);vertical-align:baseline}
.page-registers .c-st{grid-area:st}
@container dash (max-width:819px){
  .page-registers .doc-table tbody tr{grid-template-areas:"who gross" "doc st" "net vat" "act act";border-left-color:var(--reg-accent,var(--color-border-strong))}
  .page-registers .doc-table tbody tr .c-who{border-bottom:0;padding-bottom:0;margin-bottom:var(--space-2)}
  .page-registers .c-st{display:block;text-align:right;margin-top:var(--space-3);align-self:center}
  .page-registers .c-doc{margin-top:var(--space-3);white-space:normal}
  .page-registers .c-doc .link-chip{margin-block:0}
  .page-registers .c-net,.page-registers .c-vat{white-space:normal;padding-top:var(--space-2)!important}
  .page-registers .c-gross{font-size:var(--fs-lg)}
  .page-registers .c-act{display:block!important}
  .page-registers .c-act .row-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
  .page-registers .c-act .row-actions .btn{width:100%;justify-content:center}
}
/* szczegóły */
.page-registers .reg-vat-table .data-table .num{font-variant-numeric:tabular-nums}
.page-registers .reg-vat-table tr.is-zero td{color:var(--color-text-muted)}
.page-registers .reg-actions-danger{color:var(--color-danger);border-color:var(--color-danger-border);background:var(--color-surface)}
.page-registers .reg-actions-danger:hover{background:var(--color-danger-tint)}
@container dash (max-width:819px){
  .page-registers .reg-vat-table table,.page-registers .reg-vat-table tbody{display:block;width:100%}
  .page-registers .reg-vat-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .page-registers .reg-vat-table tbody tr{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-2) var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}
  .page-registers .reg-vat-table tbody tr:last-child{border-bottom:0}
  .page-registers .reg-vat-table tbody th{grid-column:1/-1;padding:0;border:0;font-size:var(--fs-sm)}
  .page-registers .reg-vat-table tbody td{display:block;padding:0;border:0;text-align:left;font-size:var(--fs-sm)}
  .page-registers .reg-vat-table tbody td::before{content:attr(data-label);display:block;font-size:var(--fs-xs);color:var(--color-text-muted);font-weight:var(--fw-semibold)}
  .page-registers .reg-vat-table tbody td:last-child{font-weight:var(--fw-bold)}
}
/* formularz */
.page-registers .reg-step{display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-4)}
.page-registers .reg-step .n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--accent-gradient);color:var(--color-text-on-accent);display:grid;place-items:center;font-size:var(--fs-sm);font-weight:var(--fw-bold)}
.page-registers .reg-step h2{margin:0;font-size:var(--fs-md);font-weight:var(--fw-semibold)}
.page-registers .reg-step small{color:var(--color-text-muted);font-weight:var(--fw-regular);margin-left:var(--space-2)}
.page-registers .reg-form .fld label{display:block;font-weight:var(--fw-semibold);font-size:var(--fs-sm);margin-bottom:var(--space-2)}
.page-registers .reg-form .fld input,.page-registers .reg-form .fld select,.page-registers .reg-form .fld textarea{width:100%;min-height:48px}
.page-registers .reg-form .fld textarea{min-height:96px}
.page-registers .reg-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.page-registers .reg-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
@container dash (max-width:819px){.page-registers .reg-grid-2{grid-template-columns:1fr}.page-registers .reg-grid-3{grid-template-columns:1fr 1fr}.page-registers .reg-grid-3 .fld-gross{grid-column:1/-1}}
.page-registers .money{position:relative}
.page-registers .money input{padding-right:2.8rem;text-align:right;font-variant-numeric:tabular-nums;font-size:var(--fs-md)}
.page-registers .money .cur{position:absolute;right:.95rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:var(--fs-sm);pointer-events:none}
.page-registers .fld .hint{margin:var(--space-2) 0 0;font-size:var(--fs-xs);color:var(--color-text-muted)}
.page-registers .vat-card .reg-rate{display:inline-flex;align-items:center;gap:var(--space-2);padding:.2rem .7rem;border-radius:var(--radius-pill);background:var(--color-accent-tint);color:var(--color-accent-hover);font-weight:var(--fw-bold);font-size:var(--fs-sm)}
.page-registers .reg-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--card-tint-blue);border:1px solid var(--color-border)}
.page-registers .reg-sum div span{display:block;font-size:var(--fs-xs);color:var(--color-text-muted);font-weight:var(--fw-semibold)}
.page-registers .reg-sum div b{display:block;font-size:var(--fs-lg);font-variant-numeric:tabular-nums}
.page-registers .reg-sum div:last-child b{color:var(--color-accent-hover)}
@container dash (max-width:819px){.page-registers .reg-sum{grid-template-columns:1fr 1fr}.page-registers .reg-sum div:last-child{grid-column:1/-1}}
.page-registers .is-invalid{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px var(--color-danger-tint)}
.page-registers .fld .field-error{display:flex;gap:var(--space-2);align-items:flex-start;margin:var(--space-2) 0 0;color:var(--color-danger);font-size:var(--fs-sm)}
.page-registers .form-summary{margin:0 0 var(--space-4);padding:var(--space-4);border:1px solid var(--color-danger-border);background:var(--color-danger-tint);border-radius:var(--radius-md);color:var(--color-danger)}
.page-registers .form-summary strong{display:block;margin-bottom:var(--space-2)}
.page-registers .form-summary ul{margin:0;padding-left:1.1rem}.page-registers .form-summary a{color:inherit;text-decoration:underline}
.page-registers .form-warning{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-warning-border);background:var(--color-warning-tint);border-radius:var(--radius-md);display:flex;gap:var(--space-3);font-size:var(--fs-sm)}
.page-registers .form-warning p{margin:0}
.page-registers .reg-savebar{position:sticky;bottom:var(--space-3);z-index:5;display:flex;align-items:center;gap:var(--space-4);justify-content:space-between;margin-top:var(--space-5);padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--color-surface) 92%,transparent);backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.page-registers .reg-savebar .tot span{display:block;font-size:var(--fs-xs);color:var(--color-text-muted)}.page-registers .reg-savebar .tot b{font-size:var(--fs-lg);font-variant-numeric:tabular-nums}
.page-registers .reg-savebar .btns{display:flex;gap:var(--space-3)}
.page-registers .reg-savebar .btn{height:48px;min-height:48px;padding-inline:var(--space-5)}
@container dash (max-width:819px){.page-registers .reg-savebar{flex-wrap:wrap}.page-registers .reg-savebar .tot{flex:1 1 100%;display:flex;justify-content:space-between;align-items:baseline}.page-registers .reg-savebar .btns{flex:1 1 100%;flex-direction:column-reverse}.page-registers .reg-savebar .btn{width:100%}}
/* nazwy kas */
.page-registers .reg-name-card{display:flex;gap:var(--space-4);align-items:flex-start}
.page-registers .reg-name-card .tile{flex:none;width:44px;height:44px;border-radius:var(--radius-md);display:grid;place-items:center;color:#fff}
.page-registers .reg-name-card .fld{flex:1;min-width:0}
/* potwierdzenie */
.page-registers .reg-confirm{max-width:44rem}
.page-registers .reg-confirm .amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:var(--space-4) 0}
.page-registers .reg-confirm .amounts div{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken)}
.page-registers .reg-confirm .amounts span{display:block;font-size:var(--fs-xs);color:var(--color-text-muted);font-weight:var(--fw-semibold)}
.page-registers .reg-confirm .amounts b{font-size:var(--fs-md);font-variant-numeric:tabular-nums}
@container dash (max-width:819px){.page-registers .reg-confirm .amounts{grid-template-columns:1fr 1fr}.page-registers .reg-confirm .amounts div:last-child{grid-column:1/-1}}
.page-registers .reg-confirm .consequences{margin:0 0 var(--space-4);padding-left:1.1rem;color:var(--color-text-secondary);font-size:var(--fs-sm)}
.page-registers .reg-confirm .consequences li{margin-bottom:var(--space-2)}
.page-registers .btn-danger-solid{background:var(--color-danger);border-color:var(--color-danger);color:#fff}
/* cele dotykowe 44 px */
.page-registers .doc-filters .segmented{height:auto;padding:4px}
.page-registers .doc-filters .segmented .segmented-btn{min-height:44px;padding-inline:var(--space-4)}
.page-registers .link-chip,.page-registers .arch-chip{min-height:44px;display:inline-flex;align-items:center}
.page-registers .c-doc .link-chip{margin-block:-6px}
@container dash (max-width:819px){.page-registers .doc-table tbody tr .c-who{padding-left:0!important}.page-registers .doc-table tbody tr .c-who .reg-name{display:flex;align-items:center}}
.page-registers .reg-form .money input{padding-right:3.1rem!important}
.page-registers .form-summary ul{list-style:disc;padding-left:1.3rem}
.page-registers .form-warning .icon-sm{flex:none;margin-top:2px;color:var(--color-warning)}
@container dash (max-width:819px){
  .page-registers .reg-savebar{gap:var(--space-3)}
  .page-registers .reg-savebar .tot{flex:1 1 100%}
  .page-registers .reg-savebar .btns{flex:1 1 100%;flex-direction:row}
  .page-registers .reg-savebar .btns .btn{width:auto;flex:1 1 38%}
  .page-registers .reg-savebar .btns .btn-primary{flex:1 1 62%}
  .page-registers .reg-vat-table tfoot{display:block}
  .page-registers .reg-vat-table tfoot tr{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-2) var(--space-3);padding:var(--space-3) 0 0;border-top:2px solid var(--color-border)}
  .page-registers .reg-vat-table tfoot th{grid-column:1/-1;padding:0;border:0}
  .page-registers .reg-vat-table tfoot td{display:block;padding:0;border:0;text-align:left;font-size:var(--fs-sm)}
  .page-registers .reg-vat-table tfoot td::before{content:attr(data-label);display:block;font-size:var(--fs-xs);color:var(--color-text-muted)}
  .page-registers .reg-vat-table .table-wrap{overflow:visible;border:0;padding:0}
}
.page-registers .reg-confirm .consequences{list-style:disc;padding-left:1.4rem}

/* C5b: filtry, pola automatyczne, klawiatura, FAB */
.page-registers .filter-field{display:block;min-width:0}
.page-registers .filter-apply{height:44px;min-height:44px}
.page-registers .doc-filters .select{min-width:9.5rem}
.page-registers .money-auto input:placeholder-shown{background:var(--color-surface-sunken);border-style:dashed;color:var(--color-text-muted)}
.page-registers .money-auto input:placeholder-shown::placeholder{color:var(--color-text-muted);opacity:1;font-style:italic}
.page-registers .auto-tag{display:inline-block;margin-left:var(--space-2);padding:.05rem .5rem;border-radius:var(--radius-pill);background:var(--color-accent-tint);color:var(--color-accent-hover);font-size:var(--fs-2xs,.6875rem);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}
.page-registers .fld-gross:has(input:not(:placeholder-shown)) .auto-tag{display:none}
.page-registers .reg-sum[hidden],.page-registers .reg-savebar .tot[hidden]{display:none}
.page-registers .reg-step--section{margin-top:var(--space-5)}
.page-registers .form-warning .hint{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--fs-xs)}
.page-registers .form-warning > div{min-width:0}
.page-registers .reg-form :is(input,select,textarea){scroll-margin-bottom:9rem}
.page-registers .form-summary:focus-visible,.page-registers .reg-form :is(input,select,textarea,a.btn,button):focus-visible,.page-registers .form-summary a:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;box-shadow:var(--shadow-focus)}
.page-registers .reg-savebar--plain{position:static;justify-content:flex-end;background:none;border:0;box-shadow:none;padding:0;backdrop-filter:none}
.page-registers .reg-savebar--plain .btn{height:48px}
.page-registers .confirm-title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:0}
.page-registers .reg-confirm .form-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end}
.page-registers .reg-confirm .form-actions .btn{height:48px;min-height:48px;padding-inline:var(--space-5)}
.page-registers .reg-confirm .btn-danger-solid:hover{filter:brightness(.95);background:var(--color-danger)}
.page-registers .btn.is-disabled{opacity:.55;pointer-events:none}
@container dash (max-width:819px){
  .page-registers .doc-filters .filter-bar{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
  .page-registers .doc-filters .segmented,.page-registers .doc-filters .filter-field:first-of-type,.page-registers .doc-filters .filter-apply{grid-column:1/-1}
  .page-registers .doc-filters .select{width:100%;min-width:0}
  .page-registers .reg-confirm .form-actions{flex-direction:column-reverse}
  .page-registers .reg-confirm .form-actions .btn{width:100%}
}
@media (max-height:520px){.page-registers .reg-savebar{position:static}}
.page-registers .form-summary li{margin:0}
.page-registers .form-summary li a{display:inline-flex;align-items:center;min-height:44px}
:root:has(.page-registers.page-doc-form){scroll-padding-bottom:112px}
.page-registers.page-doc-form{padding-bottom:var(--space-6)}
@container dash (max-width:819px){.page-registers .c-doc .link-chip{margin-block:0}}

/* C6b – moduł Raporty (zakres .page-reports). Tokeny i komponenty jak w C1–C5. */
.page-reports{--rp-gap:var(--space-5)}
.page-reports > *+*{margin-top:var(--rp-gap)}
.page-reports .dash-header{margin-bottom:0}
.page-reports .dash-controls{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:flex-end}
.page-reports .btn,.page-reports a.btn{min-height:44px}
.page-reports .btn .icon-sm{color:var(--color-accent)}
.page-reports .btn-primary .icon-sm{color:currentColor}
.page-reports .btn[aria-disabled="true"]{opacity:.55;pointer-events:none}

/* ---- menu eksportu ---- */
.page-reports .rp-menu{position:relative}
.page-reports .rp-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);font-weight:var(--fw-medium);font-size:var(--fs-sm);min-height:44px;color:var(--color-text)}
.page-reports .rp-menu>summary::-webkit-details-marker{display:none}
.page-reports .rp-menu>summary:hover{background:var(--color-surface-hover)}
.page-reports .rp-menu>summary:focus-visible,.page-reports .rp-item:focus-visible,.page-reports a:focus-visible,.page-reports button:focus-visible,.page-reports select:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;box-shadow:var(--shadow-focus)}
.page-reports .rp-menu .summary-chevron{width:16px;height:16px;transition:transform var(--dur-base)}
.page-reports .rp-menu[open] .summary-chevron{transform:rotate(180deg)}
.page-reports .rp-menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:var(--z-dropdown);min-width:21rem;margin:0;padding:var(--space-2);list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.page-reports .rp-item{display:grid;grid-template-columns:auto 1fr;gap:0 var(--space-3);align-items:center;min-height:52px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none}
.page-reports .rp-item:hover{background:var(--color-accent-tint)}
.page-reports .rp-item .icon-sm{grid-row:span 2;color:var(--color-accent)}
.page-reports .rp-item b{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}
.page-reports .rp-item small{font-size:var(--fs-xs);color:var(--color-text-muted)}
.page-reports .rp-only-phone{display:none}

/* ---- wybór okresu ---- */
.page-reports .rp-period{padding:var(--space-4) var(--space-5);display:grid;gap:var(--space-4)}
.page-reports .rp-period-top{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4);align-items:center}
.page-reports .segmented-link{display:inline-flex;align-items:center;min-height:44px}
.page-reports .rp-period .segmented-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:5.5rem;padding:0 var(--space-4)}
.page-reports .rp-nav{display:inline-flex;align-items:center;gap:var(--space-2)}
.page-reports .rp-nav a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}
.page-reports .rp-nav a:hover{background:var(--color-accent-tint)}
.page-reports .rp-nav .rp-label{display:inline-flex;align-items:center;gap:var(--space-2);min-width:11rem;justify-content:center;font-weight:var(--fw-semibold);font-size:var(--fs-md);text-transform:capitalize}
.page-reports .rp-nav .rp-label .icon-sm{color:var(--color-accent)}
.page-reports .rp-year{display:inline-flex;align-items:center;gap:var(--space-2)}
.page-reports .rp-year .select{min-height:44px;min-width:6.5rem}
.page-reports .rp-yt{display:contents}
.page-reports .rp-today{margin-left:auto}
.page-reports .rp-head-meta.rp-meta-sm{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text-secondary)}
.page-reports .rp-today a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--color-text-link);font-weight:var(--fw-medium);font-size:var(--fs-sm)}
.page-reports .rp-pills{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-2);list-style:none;margin:0;padding:0}
.page-reports .rp-pills--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.page-reports .rp-pills--6{grid-template-columns:repeat(6,minmax(0,1fr))}
.page-reports .rp-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--fs-sm);text-decoration:none;text-transform:capitalize}
.page-reports .rp-pill small{font-size:var(--fs-xs);color:var(--color-text-muted);text-transform:none}
.page-reports .rp-pill:hover{background:var(--color-accent-tint);border-color:var(--color-accent-tint-strong)}
.page-reports .rp-pill[aria-current="true"]{background:var(--accent-gradient);border-color:transparent;color:var(--color-text-on-accent);font-weight:var(--fw-semibold)}
.page-reports .rp-pill[aria-current="true"] small{color:rgba(255,255,255,.85)}
.page-reports .rp-range{margin:0;font-size:var(--fs-sm);color:var(--color-text-secondary)}
.page-reports .rp-range b{color:var(--color-text);font-variant-numeric:tabular-nums}
.page-reports .rp-context{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center;justify-content:space-between}
.page-reports .rp-context p{margin:0;color:var(--color-text-secondary);font-size:var(--fs-sm)}
.page-reports .arch-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;list-style:none;margin:0;padding:0}
.page-reports .arch-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-accent-tint-strong);border-radius:999px;background:var(--color-accent-tint);color:var(--color-text-link);font-size:var(--fs-sm);text-decoration:none}
.page-reports .arch-chip:hover{background:var(--color-accent-tint-strong)}
.page-reports .link-chip{min-height:44px;display:inline-flex;align-items:center}

/* ---- komunikaty ---- */
.page-reports .rp-note{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border:1px solid var(--color-info-border);border-radius:var(--radius-md);background:var(--color-info-tint);font-size:var(--fs-sm);color:var(--color-text)}
.page-reports .rp-note>.icon-sm{flex:none;margin-top:2px}
.page-reports .rp-note p{margin:0}.page-reports .rp-note p+p{margin-top:var(--space-2)}
.page-reports .rp-note ul{margin:var(--space-2) 0 0;padding:0;list-style:none;display:grid;gap:var(--space-2)}
.page-reports .rp-note details>summary{cursor:pointer;display:inline-flex;align-items:center;min-height:44px;color:var(--color-text-link);font-weight:var(--fw-medium)}
.page-reports .rp-note--info>.icon-sm{color:var(--color-info)}
.page-reports .rp-note--warning{background:var(--color-warning-tint);border-color:var(--color-warning-border)}
.page-reports .rp-note--warning>.icon-sm{color:var(--color-warning)}
.page-reports .rp-note--error{background:var(--color-danger-tint);border-color:var(--color-danger-border)}
.page-reports .rp-note--error>.icon-sm{color:var(--color-danger)}
.page-reports .rp-note--neutral{background:var(--color-surface-sunken);border-color:var(--color-border)}
.page-reports .rp-note .muted{color:var(--color-text-secondary)}

/* ---- skok do sekcji ---- */
.page-reports .rp-jump{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0;align-items:center}
.page-reports .rp-jump li:first-child{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-right:var(--space-2)}
.page-reports .rp-jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--fs-sm);text-decoration:none}
.page-reports .rp-jump a:hover{background:var(--color-accent-tint);border-color:var(--color-accent-tint-strong)}

/* ---- KPI ---- */

.page-reports .kpi-card.is-zero .kpi-value{color:var(--color-text-muted)}
.page-reports .kpi-note b{font-variant-numeric:tabular-nums}

/* ---- panele i tabele ---- */
.page-reports .rp-panel{padding:var(--space-5)}
.page-reports .rp-head{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center;justify-content:space-between;margin:0 0 var(--space-4)}
.page-reports .rp-head .panel-title{margin:0}
.page-reports .rp-head-meta{font-size:var(--fs-md);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;color:var(--color-text)}
.page-reports .rp-sub{margin:calc(var(--space-2)*-1) 0 var(--space-4);color:var(--color-text-secondary);font-size:var(--fs-sm)}
.page-reports .rp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--rp-gap);align-items:start}
.page-reports .rp-grid-2>*{margin:0}
.page-reports .panel-collapse>summary{min-height:44px}
.page-reports .panel-collapse>summary .rp-head-meta{margin-left:auto;margin-right:var(--space-3)}
.page-reports .rp-table{width:100%;border-collapse:collapse}
.page-reports .rp-table th,.page-reports .rp-table td{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:middle}
.page-reports .rp-table thead th{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);text-align:left;white-space:nowrap}
.page-reports .rp-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.page-reports .rp-table tbody th{text-align:left;font-weight:var(--fw-semibold)}
.page-reports .rp-table tr.is-total th,.page-reports .rp-table tr.is-total td{background:var(--color-surface-sunken);font-weight:var(--fw-bold);border-bottom:0}
.page-reports .rp-table tr.is-total td.num{font-size:var(--fs-md)}
.page-reports .rp-table tr.is-total:first-of-type{border-top:0}
.page-reports .rp-table .tone-neg{color:var(--color-danger)}
.page-reports .rp-table .rp-small{display:block;font-weight:var(--fw-regular);font-size:var(--fs-xs);color:var(--color-text-muted)}
.page-reports .rp-foot{margin:var(--space-3) 0 0;display:grid;gap:var(--space-1);font-size:var(--fs-xs);color:var(--color-text-muted)}
.page-reports .rp-foot p{margin:0;display:flex;gap:var(--space-2)}
.page-reports .rp-zero{margin-top:var(--space-3)}
.page-reports .rp-zero>summary{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;cursor:pointer;color:var(--color-text-link);font-size:var(--fs-sm);font-weight:var(--fw-medium)}
.page-reports .rp-zero .rp-table td{color:var(--color-text-muted)}
.page-reports .rp-share{display:flex;align-items:center;gap:var(--space-2)}

/* ---- składniki wyniku ---- */
.page-reports .rp-src th,.page-reports .rp-src td{padding:var(--space-3) var(--space-2)}
.page-reports .rp-src .c-title b{display:block;font-weight:var(--fw-semibold)}
.page-reports .rp-src .c-title small{display:block;font-size:var(--fs-xs);color:var(--color-text-muted)}
.page-reports .rp-src .c-act{width:1%;text-align:right}
.page-reports .rp-open{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-width:44px;min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text-link);background:var(--color-accent-tint);text-decoration:none;font-size:var(--fs-sm);font-weight:var(--fw-medium)}
.page-reports .rp-open:hover{background:var(--color-accent-tint-strong)}
.page-reports .rp-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin:0 0 var(--space-4)}
.page-reports .rp-totals>div{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--card-tint-blue);border:1px solid var(--color-border)}
.page-reports .rp-totals.is-cost>div{background:var(--card-tint-orange)}
.page-reports .rp-totals span{display:block;font-size:var(--fs-xs);color:var(--color-text-muted);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em}
.page-reports .rp-totals b{font-size:var(--fs-lg);font-variant-numeric:tabular-nums}
.page-reports .pager-total{margin:var(--space-3) 0 0;color:var(--color-text-secondary);font-size:var(--fs-sm)}

/* ---- stan na dziś ---- */
.page-reports .rp-today-band{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:linear-gradient(180deg,var(--color-surface-sunken),var(--color-surface))}
.page-reports .rp-bal-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--rp-gap)}
.page-reports .rp-bal-group{margin:0}
.page-reports .rp-bal-group h3{margin:0 0 var(--space-3);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}
.page-reports .rp-bal{display:grid;grid-template-columns:auto 1fr auto auto;gap:var(--space-3);align-items:center;min-height:64px;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);text-decoration:none}
.page-reports .rp-bal:hover{border-color:var(--color-accent-tint-strong);box-shadow:var(--shadow-sm)}
.page-reports .rp-bal-l{font-size:var(--fs-sm);color:var(--color-text-secondary);min-width:0}
.page-reports .rp-bal-v{font-size:var(--fs-lg);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;white-space:nowrap}
.page-reports .rp-bal--alert .rp-bal-v{color:var(--color-danger)}
.page-reports .rp-bal .icon-sm:last-child{color:var(--color-text-muted)}
.page-reports .rp-eur{margin-top:var(--space-4)}
.page-reports .rp-eur>summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;color:var(--color-text-link);font-weight:var(--fw-medium)}
.page-reports .rp-eur-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-3)}
.page-reports .rp-eur-grid div{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.page-reports .rp-eur-grid span{display:block;font-size:var(--fs-xs);color:var(--color-text-muted)}
.page-reports .rp-eur-grid b{font-variant-numeric:tabular-nums}

/* ---- stan pusty ---- */
.page-reports .empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-8) var(--space-4)}
.page-reports .empty-state .empty-ic{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--color-accent-tint);color:var(--color-accent)}
.page-reports .empty-state h3{margin:var(--space-2) 0 0}
.page-reports .empty-state p{margin:0 0 var(--space-3);color:var(--color-text-secondary);max-width:46ch}
.page-reports .empty-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}

/* ---- tryb kart (<820 px kontenera) ---- */
@container dash (max-width:819px){
 .page-reports .dash-controls{width:100%;justify-content:stretch}
 .page-reports .dash-controls>.btn,.page-reports .dash-controls>.rp-menu{flex:1 1 9rem}
 .page-reports .dash-controls .rp-menu>summary{width:100%;justify-content:center}
 .page-reports .rp-only-desk{display:none!important}
 .page-reports .rp-only-phone{display:revert}
 .page-reports .rp-menu-list{left:0;right:0;min-width:0;position:absolute}
 .page-reports .rp-period{padding:var(--space-4)}
 .page-reports .rp-period .segmented{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
 .page-reports .segmented-link{display:inline-flex;align-items:center;min-height:44px}
.page-reports .rp-period .segmented-link{min-width:0}
 .page-reports .rp-nav{width:100%;justify-content:space-between}
 .page-reports .rp-nav .rp-label{flex:1;min-width:0}
 .page-reports .rp-yt{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;width:100%}
 .page-reports .rp-year{width:100%}.page-reports .rp-year .select{flex:1;width:100%}
 .page-reports .rp-today{margin-left:0}
 .page-reports .rp-pills{grid-template-columns:repeat(4,minmax(0,1fr))}
 .page-reports .rp-pills--6{grid-template-columns:repeat(3,minmax(0,1fr))}
 .page-reports .rp-jump{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .page-reports .rp-jump li:first-child{grid-column:1/-1}
 .page-reports .rp-jump a{justify-content:center;width:100%;padding:0 var(--space-2)}
 .page-reports .rp-panel .table-wrap,.ui-page.page-reports .rp-panel .table-wrap:not(.table-stack){border:0;box-shadow:none;padding:0;background:none;border-radius:0;overflow:visible}
 .page-reports .rp-table td.num{font-size:var(--fs-sm)}
 .page-reports .rp-table tr.is-total td.num{font-size:var(--fs-sm)}
 .page-reports .rp-bal{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:'tile label chev' 'tile val chev';row-gap:2px}
 .page-reports .rp-bal .kpi-tile{grid-area:tile}.page-reports .rp-bal-l{grid-area:label}.page-reports .rp-bal-v{grid-area:val}.page-reports .rp-bal>.icon-sm:last-child{grid-area:chev}
 .page-reports .rp-panel{padding:var(--space-4)}
 .page-reports .rp-grid-2{grid-template-columns:1fr}
 .page-reports .rp-totals{grid-template-columns:1fr 1fr}
 .page-reports .rp-bal-groups{grid-template-columns:1fr}
 .page-reports .rp-eur-grid{grid-template-columns:1fr 1fr}
 .page-reports .rp-today-band{padding:var(--space-4)}
 /* tabele → wiersze-karty z podpisanymi kwotami */
 .page-reports .rp-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .page-reports .rp-table,.page-reports .rp-table tbody{display:block}
 .page-reports .rp-table tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1) var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}
 .page-reports .rp-table tbody tr:last-child{border-bottom:0}
 .page-reports .rp-table th,.page-reports .rp-table td{padding:0;border:0;background:none}
 .page-reports .rp-table tbody th{grid-column:1/-1;margin-bottom:var(--space-1)}
 .page-reports .rp-table td.num{display:flex;flex-direction:column;align-items:flex-start;text-align:left;font-weight:var(--fw-semibold)}
 .page-reports .rp-table td.num::before{content:attr(data-label);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}
 .page-reports .rp-table--2 tbody tr{grid-template-columns:1fr 1fr}
 .page-reports .rp-table tr.is-total{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-sunken);margin-top:var(--space-1)}
 .page-reports .rp-table tr.is-total th,.page-reports .rp-table tr.is-total td{background:none}
 .page-reports .rp-table .c-status{grid-column:1/-1}
 .page-reports .rp-compl tbody tr{grid-template-columns:1fr auto;align-items:center}
 .page-reports .rp-compl tbody th{grid-column:auto;margin:0}
 .page-reports .rp-compl td.c-month{grid-column:1;color:var(--color-text-secondary);font-size:var(--fs-sm)}
 .page-reports .rp-compl td.c-st{grid-column:2;grid-row:1/span 2;justify-self:end}
 /* składniki wyniku */
 .page-reports .rp-src tbody tr{position:relative;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"dir dir act" "ttl ttl ttl" "meta meta meta" "net vat gross";padding:var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}
 .page-reports .rp-src tbody tr:last-child{border-bottom:1px solid var(--color-border)}
 .page-reports .rp-src .c-dir{grid-area:dir;align-self:center}
 .page-reports .rp-src .c-title{grid-area:ttl;margin:0}
 .page-reports .rp-src .c-meta{grid-area:meta;color:var(--color-text-secondary);font-size:var(--fs-sm);margin-bottom:var(--space-2)}
 .page-reports .rp-src .c-net{grid-area:net}.page-reports .rp-src .c-vat{grid-area:vat}.page-reports .rp-src .c-gross{grid-area:gross}
 .page-reports .rp-src .c-act{grid-area:act;width:auto;justify-self:end}
 .page-reports .rp-src .rp-open{position:static}
 .page-reports .rp-src .rp-open::after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg)}
 .page-reports .rp-src .rp-open span{display:none}
 .page-reports .rp-src .c-gross{font-weight:var(--fw-bold)}
}
@media (max-width:640px){.page-reports .rp-note{padding:var(--space-3)}}
@media (prefers-reduced-motion:reduce){.page-reports .rp-menu .summary-chevron{transition:none}}
@media print{.page-reports .no-print{display:none!important}}
.page-reports .panel-collapse>summary .rp-head-meta{flex:none;white-space:nowrap}.page-reports .panel-collapse>summary .panel-title{flex:1 1 auto;min-width:0}
.page-reports .rp-note>div{min-width:0;flex:1}
.page-reports .rp-note .link-chip{white-space:normal;height:auto;min-height:44px;padding-block:var(--space-2);text-align:left}
@container dash (max-width:819px){
 .page-reports .dash-controls{position:relative}
 .page-reports .rp-menu{position:static}
 .page-reports .rp-menu-list{left:0;right:0;top:calc(100% + 6px)}
}

/* C7b: cele dotykowe >= 44 px w nawigacji (telefon i tablet). Małe elementy wizualne zachowują wygląd — powiększony jest obszar kliknięcia. */
@media (max-width: 768px) {
  .menu-btn { flex: 0 0 44px; width: 44px; height: 44px; }
  .drawer [data-menu-close] { width: 44px; height: 44px; min-height: 44px; }
  .drawer form .btn-block { min-height: 44px; }
  .segmented a.segmented-link, .segmented button.segmented-btn,
  .period-bar--compact .segmented a.segmented-link { min-height: 44px; height: 44px; }
  .doc-month-nav-arrow, .page-documents .doc-month-nav-arrow { width: 44px; height: 44px; }
  .doc-month-chip, .page-documents .doc-month-chip { min-height: 44px; }
  .login-screen .button-link { min-height: 44px; }
  .row-menu-item, .row-menu-list button.row-menu-item { min-height: 44px; }
  .dash .info-collapse > summary, .info-collapse > summary, .document-details-collapse > summary, .panel-collapse > summary { min-height: 44px; }

  /* powiększony obszar kliknięcia bez zmiany wyglądu */
  .link-chip--sm, .kpi-info-btn,
  .dash-title .lede a, .doc-meta a, .view-container dd > a[href^="/documents/"],
  .page-documents .doc-number, .page-archive .doc-number, .ksef-num-link { position: relative; }
  .link-chip--sm::after { content: ""; position: absolute; inset: -8px -4px; }
  .kpi-info-btn::after { content: ""; position: absolute; inset: -6px -3px -6px -9px; }
  .dash-title .lede a::after, .doc-meta a::after, .view-container dd > a[href^="/documents/"]::after { content: ""; position: absolute; inset: -14px -8px; }
  .page-documents .doc-number::after, .page-archive .doc-number::after, .ksef-num-link::after { content: ""; position: absolute; inset: -14px -4px; }
}

/* Trwałe usunięcie dokumentu */
.page-doc-form .delete-list{margin:0 0 var(--space-4);padding-left:var(--space-5);display:grid;gap:var(--space-2);font-size:var(--fs-sm)}
.page-doc-form .check-row{display:flex!important;flex-direction:row!important;gap:var(--space-2);align-items:flex-start;margin-top:var(--space-3)}
.page-doc-form .check-row input{width:20px;height:20px;flex:none;margin-top:2px}
