/* ============================================================
   DPH výkaznictví — modul NahrAI portálu (UI v2)
   Scope: [data-ui="v2"] .v2-vat-*  (žádné globální selektory, žádné
   !important, žádné hex barvy mimo proměnné z tokens.css).
   Sdílené prvky (v2-btn, v2-pill, v2-card, v2-input, v2-empty, v2-seg,
   v2-table-wrap, chk, rb-field, rb-pager, v2-credit-amount, v2-credit-spend,
   v2-note) se přebírají beze změny z v2.css / recurring-billing.css.
   ============================================================ */

[data-ui="v2"] .v2-vat-screen { display: flex; flex-direction: column; gap: var(--sp-7); min-width: 0; }
[data-ui="v2"] .v2-vat-backbtn { margin-bottom: var(--sp-3); }
[data-ui="v2"] .v2-vat-screen h1[data-vat-focus-head] { width: fit-content; max-width: 100%; }
[data-ui="v2"] .v2-vat-screen h1[data-vat-focus-head]:focus { outline: none; }
[data-ui="v2"] .v2-vat-screen h1[data-vat-focus-head]:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: var(--r-xs); }
[data-ui="v2"] .v2-vat-screen .v2-screen-head .sub { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); }
[data-ui="v2"] .v2-vat-free-pill { white-space: nowrap; }
[data-ui="v2"] .v2-vat-muted { color: var(--ink-3); }
[data-ui="v2"] .v2-vat-mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
[data-ui="v2"] .v2-vat-newwhy { margin: calc(var(--sp-3) * -1) 0 0; }
[data-ui="v2"] .v2-vat-loading { margin: 0; display: flex; align-items: center; gap: var(--sp-2); }

/* ---------- poznámky s ikonou (sdílená .v2-note je sloupec) ---------- */
[data-ui="v2"] .v2-vat-screen .v2-note:has(> .icon:first-child) { flex-direction: row; align-items: flex-start; gap: var(--sp-3); }
[data-ui="v2"] .v2-vat-screen .v2-note > .icon:first-child { font-size: 18px; flex: none; margin-top: 1px; }
[data-ui="v2"] .v2-vat-screen .v2-note.warn > .icon:first-child { color: var(--warn); }
[data-ui="v2"] .v2-vat-screen .v2-note.bad > .icon:first-child { color: var(--bad); }
[data-ui="v2"] .v2-vat-screen .v2-note.ok > .icon:first-child { color: var(--ok); }
[data-ui="v2"] .v2-vat-screen .v2-note.info { border-color: var(--info); background: var(--info-soft); color: var(--ink); }
[data-ui="v2"] .v2-vat-screen .v2-note.info > .icon:first-child { color: var(--info); }
[data-ui="v2"] .v2-vat-screen .v2-note > div { min-width: 0; }
[data-ui="v2"] .v2-vat-noteacts { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin: var(--sp-3) 0; }
[data-ui="v2"] .v2-vat-warnlist { margin: var(--sp-2) 0 0; padding-left: var(--sp-8); display: flex; flex-direction: column; gap: 2px; font-size: 12.5px; }
@media (prefers-reduced-motion: reduce) { [data-ui="v2"] .v2-vat-screen .icon.spin { animation: none; } }

/* ---------- segment Přiznání a KH · VIES ---------- */
[data-ui="v2"] .v2-vat-seg { align-self: flex-start; max-width: 100%; }
[data-ui="v2"] .v2-vat-seg .v2-seg-btn { min-height: 32px; padding-inline: var(--sp-7); }
[data-ui="v2"] .v2-vat-seg .v2-seg-btn:focus-visible,
[data-ui="v2"] .v2-vat-pseg .v2-seg-btn:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; }
[data-ui="v2"] .v2-vat-panel { display: flex; flex-direction: column; gap: var(--sp-5); min-width: 0; }

/* ---------- vnitřní odsazení karet (.v2-card samo padding nemá) ---------- */
[data-ui="v2"] .v2-vat-wizard,
[data-ui="v2"] .v2-vat-jobcard,
[data-ui="v2"] .v2-vat-formsec,
[data-ui="v2"] .v2-vat-khsec,
[data-ui="v2"] .v2-vat-outcard,
[data-ui="v2"] .v2-vat-epo { padding: var(--sp-7); }
[data-ui="v2"] .v2-vat-jobcard.is-compact { padding: var(--sp-6) var(--sp-7); }
[data-ui="v2"] .v2-vat-formsec, [data-ui="v2"] .v2-vat-khsec { padding: var(--sp-7) 0 0; }
[data-ui="v2"] .v2-vat-formsec > .v2-vat-formsec-h, [data-ui="v2"] .v2-vat-khsec > .v2-vat-formsec-h,
[data-ui="v2"] .v2-vat-khsec > .t-meta, [data-ui="v2"] .v2-vat-khsec > .v2-vat-showall { margin-inline: var(--sp-7); }
[data-ui="v2"] .v2-vat-khsec > .v2-vat-showall { margin-bottom: var(--sp-6); }
[data-ui="v2"] .v2-vat-jobcard.tone-warn { border-color: var(--warn); }
[data-ui="v2"] .v2-vat-jobcard.tone-bad { border-color: var(--bad); }
[data-ui="v2"] .v2-vat-jobcard.tone-ok { border-color: var(--ok); }
@media (max-width: 720px) {
  [data-ui="v2"] .v2-vat-wizard, [data-ui="v2"] .v2-vat-jobcard, [data-ui="v2"] .v2-vat-outcard, [data-ui="v2"] .v2-vat-epo { padding: var(--sp-5); }
  [data-ui="v2"] .v2-vat-formsec > .v2-vat-formsec-h, [data-ui="v2"] .v2-vat-khsec > .v2-vat-formsec-h,
  [data-ui="v2"] .v2-vat-khsec > .t-meta, [data-ui="v2"] .v2-vat-khsec > .v2-vat-showall { margin-inline: var(--sp-5); }
}
/* Zrušit: tichá varianta, ne plné červené tlačítko vedle hlavní akce */
[data-ui="v2"] .v2-vat-screen .v2-btn.danger.is-quiet { background: var(--surface); color: var(--bad); border-color: var(--bad-soft); }

/* ---------- karty jobů ---------- */
[data-ui="v2"] .v2-vat-joblist { display: flex; flex-direction: column; gap: var(--sp-4); }
[data-ui="v2"] .v2-vat-jobcard { display: flex; flex-direction: column; gap: var(--sp-3); min-width: 0; }
[data-ui="v2"] .v2-vat-jobcard.is-compact { gap: var(--sp-2); }
[data-ui="v2"] .v2-vat-jobcard-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
[data-ui="v2"] .v2-vat-jobcard-title { margin: 0; font: 600 14px/1.35 var(--font-sans); color: var(--ink); min-width: 0; }
[data-ui="v2"] .v2-vat-jobcard-head .v2-pill { max-width: 100%; white-space: normal; }
[data-ui="v2"] .v2-vat-jobactions { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-2); }
[data-ui="v2"] .v2-vat-jobnote,
[data-ui="v2"] .v2-vat-joberr { margin: 0; font: 400 12.5px/1.45 var(--font-sans); color: var(--ink-2); }
[data-ui="v2"] .v2-vat-joberr { color: var(--bad); }
[data-ui="v2"] .v2-vat-progress { margin: 0; }
[data-ui="v2"] .v2-vat-time { margin: 0; font: 400 12.5px/1.5 var(--font-sans); color: var(--ink-2); }
[data-ui="v2"] .v2-vat-elapsed { margin: 0; display: flex; align-items: center; gap: var(--sp-2); font: 400 13px/1.4 var(--font-sans); color: var(--ink-2); }
[data-ui="v2"] .v2-vat-elapsed .icon { font-size: 17px; color: var(--ink-3); }
[data-ui="v2"] .v2-vat-elapsed b { color: var(--ink); font-variant-numeric: tabular-nums; }
[data-ui="v2"] .v2-vat-steps { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-4); list-style: none; margin: var(--sp-1) 0; padding: 0; }
[data-ui="v2"] .v2-vat-steps-item { display: inline-flex; align-items: center; gap: 6px; font: 500 12px/1.3 var(--font-sans); color: var(--ink-3); }
[data-ui="v2"] .v2-vat-steps-item + .v2-vat-steps-item::before { content: ''; width: 18px; height: 2px; background: var(--line); margin-right: var(--sp-2); }
[data-ui="v2"] .v2-vat-steps-item.done + .v2-vat-steps-item::before { background: var(--ok); }
[data-ui="v2"] .v2-vat-steps-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--line); flex: none; }
[data-ui="v2"] .v2-vat-steps-item.done .v2-vat-steps-dot { background: var(--ok); }
[data-ui="v2"] .v2-vat-steps-item.done { color: var(--ink-2); }
[data-ui="v2"] .v2-vat-steps-item.cur .v2-vat-steps-dot { background: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
[data-ui="v2"] .v2-vat-steps-item.cur { color: var(--ink); font-weight: 600; }

/* ---------- tabulka uzávěrek ---------- */
[data-ui="v2"] .v2-vat-table-wrap { min-width: 0; }
[data-ui="v2"] .v2-vat-table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-xl); overflow: hidden; }
[data-ui="v2"] .v2-vat-table thead th {
  padding: var(--sp-4) var(--sp-5); text-align: left; font: 600 12px/1.3 var(--font-sans); color: var(--ink-2);
  background: var(--surface-2); border-bottom: 1px solid var(--line); white-space: nowrap;
}
[data-ui="v2"] .v2-vat-table tbody td { padding: var(--sp-2) var(--sp-5); white-space: nowrap; border-bottom: 1px solid var(--line); vertical-align: middle; font: 400 13px/1.4 var(--font-sans); color: var(--ink); }
[data-ui="v2"] .v2-vat-table tbody tr:last-child td { border-bottom: 0; }
[data-ui="v2"] .v2-vat-table tbody tr:hover td { background: var(--surface-2); }
[data-ui="v2"] .v2-vat-table td.c-action { text-align: right; white-space: nowrap; }
[data-ui="v2"] .v2-vat-table td > .v2-pill { align-self: flex-start; }
/* Seznam je jednořádkový: rozsah dat a vzor definice stojí vedle hlavního údaje, ne pod ním. */
[data-ui="v2"] .v2-vat-sub { display: inline; margin-left: var(--sp-3); }
[data-ui="v2"] .v2-vat-periodbtn {
  display: inline-flex; align-items: center; min-height: 32px; padding: 0; border: 0; background: none; cursor: pointer;
  font: 600 14px/1.3 var(--font-sans); color: var(--ink); text-align: left; border-radius: var(--r-xs);
}
[data-ui="v2"] .v2-vat-periodbtn:hover { color: var(--accent-text); text-decoration: underline; }
[data-ui="v2"] .v2-vat-periodbtn:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
[data-ui="v2"] .v2-vat-nahrai { margin-left: var(--sp-2); }
[data-ui="v2"] .v2-vat-result { white-space: nowrap; font-variant-numeric: tabular-nums; }

/* ---------- průvodce ---------- */
[data-ui="v2"] .v2-vat-wizard { display: flex; flex-direction: column; gap: var(--sp-6); min-width: 0; }
[data-ui="v2"] .v2-vat-wsteps { display: flex; flex-wrap: wrap; gap: var(--sp-2); list-style: none; margin: 0; padding: 0; }
[data-ui="v2"] .v2-vat-wstep {
  display: inline-flex; align-items: center; gap: var(--sp-2); padding: 6px var(--sp-4); border-radius: var(--r-pill);
  background: var(--surface-2); font: 600 12.5px/1.3 var(--font-sans); color: var(--ink-3);
}
[data-ui="v2"] .v2-vat-wstep .dot {
  display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%;
  background: var(--surface); color: var(--ink-3); font: 700 11px/1 var(--font-sans); flex: none;
}
[data-ui="v2"] .v2-vat-wstep.on { background: var(--accent-soft); color: var(--accent-text); }
[data-ui="v2"] .v2-vat-wstep.on .dot { background: var(--accent-fill); color: var(--on-accent); }
[data-ui="v2"] .v2-vat-wstep.done .dot { background: var(--ok); color: var(--on-ok); }
[data-ui="v2"] .v2-vat-wpanel { display: flex; flex-direction: column; gap: var(--sp-5); min-width: 0; }
[data-ui="v2"] .v2-vat-stephead { margin: 0; width: fit-content; max-width: 100%; }
[data-ui="v2"] .v2-vat-stephead:focus,
[data-ui="v2"] .v2-vat-stephead:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: var(--r-xs); }
[data-ui="v2"] .v2-vat-stepsub { margin: calc(var(--sp-2) * -1) 0 0; max-width: 62ch; }
[data-ui="v2"] .v2-vat-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--sp-4); border: 0; margin: 0; padding: 0; min-width: 0; }
[data-ui="v2"] .v2-vat-choice {
  display: flex; align-items: flex-start; gap: var(--sp-4); padding: var(--sp-5); min-height: 40px; cursor: pointer;
  border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface);
}
[data-ui="v2"] .v2-vat-choice input[type="radio"] { flex: none; margin: 3px 0 0; width: 18px; height: 18px; accent-color: var(--accent-fill); cursor: inherit; }
[data-ui="v2"] .v2-vat-choice-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
[data-ui="v2"] .v2-vat-choice-body b { font: 600 14px/1.3 var(--font-sans); color: var(--ink); }
[data-ui="v2"] .v2-vat-choice-extra { color: var(--warn); }
[data-ui="v2"] .v2-vat-choice.on { border-color: var(--accent); background: var(--accent-soft); }
[data-ui="v2"] .v2-vat-choice.disabled { cursor: not-allowed; opacity: .65; }
[data-ui="v2"] .v2-vat-choice:focus-within { outline: 2px solid var(--focus); outline-offset: 2px; }
[data-ui="v2"] .v2-vat-fields { display: flex; flex-direction: column; gap: var(--sp-6); max-width: 720px; min-width: 0; }
[data-ui="v2"] .v2-vat-fields .rb-field > label.lbl,
[data-ui="v2"] .v2-vat-fields .rb-field > span.lbl,
[data-ui="v2"] .v2-vat-opts > legend.lbl { font: 600 12px/1.3 var(--font-sans); color: var(--ink-2); }
[data-ui="v2"] .v2-vat-fields .rb-field > small.hint { font: 400 11.5px/1.4 var(--font-sans); color: var(--ink-3); }
[data-ui="v2"] .v2-vat-fields .v2-input { max-width: 480px; }
[data-ui="v2"] .v2-vat-narrow .v2-input { max-width: 200px; }
[data-ui="v2"] .v2-vat-fieldrow2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-5); max-width: 480px; }
[data-ui="v2"] .v2-vat-fieldrow2 .v2-input { max-width: none; }
[data-ui="v2"] .v2-vat-pseg.v2-seg { flex-wrap: wrap; max-width: 100%; align-self: flex-start; height: auto; min-height: 38px; }
[data-ui="v2"] .v2-vat-fielderr { margin: 0; color: var(--bad); font-weight: 600; }
[data-ui="v2"] .v2-vat-fielderr[hidden] { display: none; }
[data-ui="v2"] .v2-vat-range { margin: 0; display: flex; align-items: flex-start; gap: var(--sp-3); font: 400 13px/1.5 var(--font-sans); color: var(--ink); }
[data-ui="v2"] .v2-vat-range .icon { font-size: 18px; color: var(--ink-3); flex: none; margin-top: 1px; }
[data-ui="v2"] .v2-vat-rangewarn { color: var(--warn); }
[data-ui="v2"] .v2-vat-opts { display: flex; flex-direction: column; gap: var(--sp-3); border: 0; margin: 0; padding: 0; }
[data-ui="v2"] .v2-vat-optfield > small.hint { padding-left: 26px; }
[data-ui="v2"] .v2-vat-coefs { border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface-2); padding: 0 var(--sp-5) var(--sp-5); }
[data-ui="v2"] .v2-vat-coefs > summary { cursor: pointer; padding: var(--sp-4) 0; min-height: 40px; font: 600 13px/1.35 var(--font-sans); color: var(--ink); }
[data-ui="v2"] .v2-vat-coefs > .t-meta { margin: 0 0 var(--sp-4); }
[data-ui="v2"] .v2-vat-wfoot {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--sp-4);
  margin-top: var(--sp-3); padding-top: var(--sp-5); border-top: 1px solid var(--line);
}
[data-ui="v2"] .v2-vat-why { flex: 1 1 200px; min-width: 0; text-align: right; }
[data-ui="v2"] .v2-vat-why[hidden] { display: none; }
[data-ui="v2"] .v2-vat-generate { min-height: 44px; }
[data-ui="v2"] .v2-vat-generate-wrap { display: inline-flex; }
[data-ui="v2"] .v2-vat-summary {
  display: flex; flex-direction: column; gap: 0; margin: 0; padding: var(--sp-3) var(--sp-5);
  border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface-2);
}
[data-ui="v2"] .v2-vat-summary > div { display: grid; grid-template-columns: minmax(110px, 170px) minmax(0, 1fr); gap: var(--sp-4); padding: var(--sp-3) 0; border-bottom: 1px solid var(--line); }
[data-ui="v2"] .v2-vat-summary > div:last-child { border-bottom: 0; }
[data-ui="v2"] .v2-vat-summary dt { font: 600 12px/1.5 var(--font-sans); color: var(--ink-2); }
[data-ui="v2"] .v2-vat-summary dd { margin: 0; font: 400 13px/1.5 var(--font-sans); color: var(--ink); min-width: 0; overflow-wrap: anywhere; }
[data-ui="v2"] .v2-vat-cost {
  display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-4) var(--sp-5);
  border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--info-soft); color: var(--ink); font: 400 13px/1.45 var(--font-sans);
}
[data-ui="v2"] .v2-vat-cost .icon { color: var(--info); font-size: 20px; flex: none; }
[data-ui="v2"] .v2-vat-cost.is-credits { background: var(--surface-2); }

/* ---------- detail: souhrn výsledku ---------- */
[data-ui="v2"] .v2-vat-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: var(--sp-4); }
[data-ui="v2"] .v2-vat-tile { display: flex; flex-direction: column; gap: 4px; padding: var(--sp-6) var(--sp-7); border: 1px solid var(--line); border-radius: var(--r-xl); background: var(--surface); min-width: 0; }
[data-ui="v2"] .v2-vat-tile-l { display: flex; align-items: center; gap: var(--sp-2); font: 600 12px/1.35 var(--font-sans); color: var(--ink-2); }
[data-ui="v2"] .v2-vat-tile-l .icon { font-size: 18px; }
[data-ui="v2"] .v2-vat-tile-v { font: 700 22px/1.25 var(--font-sans); color: var(--ink); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
[data-ui="v2"] .v2-vat-tile.is-result { border-width: 2px; }
[data-ui="v2"] .v2-vat-tile.is-result .v2-vat-tile-v { font-size: 26px; }
[data-ui="v2"] .v2-vat-tile.tone-warn { border-color: var(--warn); background: var(--warn-soft); }
[data-ui="v2"] .v2-vat-tile.tone-warn .v2-vat-tile-l .icon { color: var(--warn); }
[data-ui="v2"] .v2-vat-tile.tone-ok { border-color: var(--ok); background: var(--ok-soft); }
[data-ui="v2"] .v2-vat-tile.tone-ok .v2-vat-tile-l .icon { color: var(--ok); }

/* ---------- detail: záložky ---------- */
[data-ui="v2"] .v2-vat-tabs {
  display: flex; align-items: flex-end; gap: var(--sp-1, 4px); min-width: 0; max-width: 100%;
  padding: 0 var(--sp-2); border-bottom: 1px solid var(--line-2);
  margin-bottom: calc(var(--sp-4) - var(--sp-7));
}
[data-ui="v2"] .v2-vat-tab {
  position: relative; display: inline-flex; align-items: center; gap: var(--sp-2); flex: none;
  height: 36px; margin-bottom: -1px; padding: 0 var(--sp-5);
  border: 1px solid var(--line); border-bottom-color: var(--line-2);
  border-radius: var(--r-md) var(--r-md) 0 0;
  background: var(--surface-2); color: var(--ink-3);
  font: 600 13px/1 var(--font-sans); white-space: nowrap; cursor: pointer;
  transition: height var(--dur-fast, .15s) var(--ease, ease), color var(--dur-fast, .15s) var(--ease, ease), background var(--dur-fast, .15s) var(--ease, ease);
}
[data-ui="v2"] .v2-vat-tab .icon { font-size: 17px; }
[data-ui="v2"] .v2-vat-tab:hover { height: 38px; color: var(--ink); background: var(--surface); }
[data-ui="v2"] .v2-vat-tab.on {
  z-index: 1; height: 42px; color: var(--ink); background: var(--surface); border-color: var(--line-2); border-bottom-color: var(--surface);
  box-shadow: inset 0 3px 0 var(--accent);
}
[data-ui="v2"] .v2-vat-tab.on .icon { color: var(--accent-text); }
[data-ui="v2"] .v2-vat-tab:focus-visible { outline: 2px solid var(--focus); outline-offset: -4px; }
[data-ui="v2"] .v2-vat-tab-count {
  display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: var(--r-pill); background: var(--warn-soft); color: var(--warn); font: 700 11px/1 var(--font-sans);
}
[data-ui="v2"] .v2-vat-tabpanel { display: flex; flex-direction: column; gap: var(--sp-5); min-width: 0; }
@media (prefers-reduced-motion: reduce) { [data-ui="v2"] .v2-vat-tab { transition: none; } }
[data-ui="v2"] .v2-vat-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-6); }

/* ---------- formulář přiznání a tabulky hlášení ---------- */
[data-ui="v2"] .v2-vat-formsec, [data-ui="v2"] .v2-vat-khsec, [data-ui="v2"] .v2-vat-outcard, [data-ui="v2"] .v2-vat-epo { display: flex; flex-direction: column; gap: var(--sp-4); min-width: 0; }
[data-ui="v2"] .v2-vat-formsec-h { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--sp-3); font: 600 14px/1.35 var(--font-sans); color: var(--ink); }
[data-ui="v2"] .v2-vat-formsec-h .icon { font-size: 20px; color: var(--accent-text); align-self: center; }
[data-ui="v2"] .v2-vat-roman {
  display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 24px; padding: 0 var(--sp-3);
  border-radius: var(--r-xs); background: var(--accent-soft); color: var(--accent-text); font: 700 12px/1 var(--font-sans);
}
[data-ui="v2"] .v2-vat-tablewrap { overflow-x: auto; min-width: 0; }
[data-ui="v2"] .v2-vat-form { width: 100%; border-collapse: collapse; font: 400 13px/1.4 var(--font-sans); font-variant-numeric: tabular-nums; }
[data-ui="v2"] .v2-vat-form thead th {
  padding: var(--sp-3) var(--sp-5); text-align: left; font: 600 12px/1.3 var(--font-sans); color: var(--ink-2);
  background: var(--surface-2); border-bottom: 1px solid var(--line); white-space: nowrap;
}
[data-ui="v2"] .v2-vat-form thead th.num, [data-ui="v2"] .v2-vat-form td.num { text-align: right; white-space: nowrap; }
[data-ui="v2"] .v2-vat-form thead th.ln { width: 52px; }
[data-ui="v2"] .v2-vat-form tbody td, [data-ui="v2"] .v2-vat-form tbody th, [data-ui="v2"] .v2-vat-form tfoot td, [data-ui="v2"] .v2-vat-form tfoot th {
  padding: var(--sp-3) var(--sp-5); border-bottom: 1px solid var(--line); vertical-align: middle; text-align: left;
}
[data-ui="v2"] .v2-vat-form tbody th.lbl { font-weight: 400; color: var(--ink); }
[data-ui="v2"] .v2-vat-form td.num { text-align: right; }
[data-ui="v2"] .v2-vat-form tbody tr:last-child td, [data-ui="v2"] .v2-vat-form tbody tr:last-child th { border-bottom: 0; }
[data-ui="v2"] .v2-vat-form td.ln { color: var(--ink-3); font-weight: 600; white-space: nowrap; }
[data-ui="v2"] .v2-vat-form td.is-zero, [data-ui="v2"] .v2-vat-form td.na { color: var(--ink-3); }
[data-ui="v2"] .v2-vat-form td.is-corrected {
  background: var(--warn-soft); color: var(--ink); font-weight: 700; box-shadow: inset 3px 0 0 var(--warn);
}
[data-ui="v2"] .v2-vat-form td.is-corrected .icon { font-size: 14px; color: var(--warn); margin-right: 4px; vertical-align: -2px; }
[data-ui="v2"] .v2-vat-form tbody tr:hover td, [data-ui="v2"] .v2-vat-form tbody tr:hover th { background: var(--surface-2); }
[data-ui="v2"] .v2-vat-form tbody tr:hover td.is-corrected { background: var(--warn-soft); }
[data-ui="v2"] .v2-vat-line.is-key td, [data-ui="v2"] .v2-vat-line.is-key th { font-weight: 700; font-size: 14px; padding-block: var(--sp-5); }
[data-ui="v2"] .v2-vat-line.is-key.tone-warn td, [data-ui="v2"] .v2-vat-line.is-key.tone-warn th { background: var(--warn-soft); }
[data-ui="v2"] .v2-vat-line.is-key.tone-ok td, [data-ui="v2"] .v2-vat-line.is-key.tone-ok th { background: var(--ok-soft); }
[data-ui="v2"] .v2-vat-line.is-key.tone-warn td.num { color: var(--warn); }
[data-ui="v2"] .v2-vat-line.is-key.tone-ok td.num { color: var(--ok); }
[data-ui="v2"] .v2-vat-total th, [data-ui="v2"] .v2-vat-total td { font-weight: 700; background: var(--surface-2); border-top: 1px solid var(--line-2); border-bottom: 0; }
[data-ui="v2"] .v2-vat-khchips { display: flex; flex-wrap: wrap; gap: var(--sp-3); }
[data-ui="v2"] .v2-vat-khchip { white-space: nowrap; }
[data-ui="v2"] .v2-vat-khempty, [data-ui="v2"] .v2-vat-csub, [data-ui="v2"] .v2-vat-checkintro { margin: 0; max-width: 78ch; }
[data-ui="v2"] .v2-vat-showall { align-self: flex-start; }

/* ---------- kontroly ---------- */
[data-ui="v2"] .v2-vat-findings { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-3); }
[data-ui="v2"] .v2-vat-finding {
  display: flex; align-items: flex-start; gap: var(--sp-4); padding: var(--sp-5); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface);
}
[data-ui="v2"] .v2-vat-finding .icon { font-size: 20px; flex: none; }
[data-ui="v2"] .v2-vat-finding.tone-warn { border-color: var(--warn); background: var(--warn-soft); }
[data-ui="v2"] .v2-vat-finding.tone-warn .icon { color: var(--warn); }
[data-ui="v2"] .v2-vat-finding.tone-info { background: var(--info-soft); border-color: var(--info); }
[data-ui="v2"] .v2-vat-finding.tone-info .icon { color: var(--info); }
[data-ui="v2"] .v2-vat-finding b { font-weight: 600; color: var(--ink); font-size: 13px; line-height: 1.5; }

/* ---------- kontroly: skupiny nálezů ---------- */
[data-ui="v2"] .v2-vat-checkgroup { display: flex; flex-direction: column; gap: var(--sp-3); min-width: 0; }
[data-ui="v2"] .v2-vat-checkgroup-h { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--sp-3); font: 600 14px/1.35 var(--font-sans); color: var(--ink); }

/* ---------- záložka Podle DPH indexů ---------- */
[data-ui="v2"] .v2-vat-idx td[data-label="Název"] { white-space: normal; min-width: 180px; }
[data-ui="v2"] .v2-vat-idx tbody th.lbl .v2-vat-mono { font-weight: 600; }
[data-ui="v2"] .v2-vat-idxrow.is-unmapped th,
[data-ui="v2"] .v2-vat-idxrow.is-unmapped td { color: var(--ink-3); }
[data-ui="v2"] .v2-vat-diff td.is-diff { font-weight: 700; color: var(--warn); }
[data-ui="v2"] .v2-vat-formsec-h .t-meta { font-weight: 400; }

/* ---------- dialog Průběžný přehled (mimo kořen modulu, proto vlastní pravidla pro poznámky) ---------- */
[data-ui="v2"] .v2-vat-dlg { display: flex; flex-direction: column; gap: var(--sp-5); min-width: 0; }
[data-ui="v2"] .v2-vat-dlg .v2-dlg-text { margin: 0; max-width: 62ch; }
[data-ui="v2"] .v2-vat-dlg .v2-vat-fields { max-width: none; }
[data-ui="v2"] .v2-vat-dlg .v2-note:has(> .icon:first-child) { flex-direction: row; align-items: flex-start; gap: var(--sp-3); }
[data-ui="v2"] .v2-vat-dlg .v2-note > .icon:first-child { font-size: 18px; flex: none; margin-top: 1px; }
[data-ui="v2"] .v2-vat-dlg .v2-note.warn > .icon:first-child { color: var(--warn); }
[data-ui="v2"] .v2-vat-dlg .v2-note.bad > .icon:first-child { color: var(--bad); }
[data-ui="v2"] .v2-vat-dlg .v2-note.info { border-color: var(--info); background: var(--info-soft); color: var(--ink); }
[data-ui="v2"] .v2-vat-dlg .v2-note.info > .icon:first-child { color: var(--info); }
[data-ui="v2"] .v2-vat-dlg .v2-note > div, [data-ui="v2"] .v2-vat-dlg .v2-note > span { min-width: 0; }
[data-ui="v2"] .v2-vat-qseg.v2-seg { flex-wrap: wrap; max-width: 100%; align-self: flex-start; height: auto; min-height: 38px; }
[data-ui="v2"] .v2-vat-qseg .v2-seg-btn:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; }
[data-ui="v2"] .v2-vat-pvmsg:focus { outline: none; }
[data-ui="v2"] .v2-vat-pvmsg:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: var(--r-xs); }

/* ---------- výstupy ---------- */
[data-ui="v2"] .v2-vat-outrows { display: flex; flex-direction: column; }
[data-ui="v2"] .v2-vat-outrow { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--sp-3) var(--sp-6); padding: var(--sp-4) 0; border-top: 1px solid var(--line); }
[data-ui="v2"] .v2-vat-outinfo { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 260px; }
[data-ui="v2"] .v2-vat-outinfo b { font: 600 13px/1.4 var(--font-sans); color: var(--ink); }
[data-ui="v2"] .v2-vat-outbtn { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; max-width: 100%; }
[data-ui="v2"] .v2-vat-outbtn .v2-btn { max-width: 100%; white-space: normal; text-align: left; }
[data-ui="v2"] .v2-vat-busynote { margin: 0; }
[data-ui="v2"] .v2-vat-epolist { margin: 0; padding-left: var(--sp-9); display: flex; flex-direction: column; gap: var(--sp-3); font: 400 13px/1.5 var(--font-sans); color: var(--ink); }
[data-ui="v2"] .v2-vat-epolist a { color: var(--accent-text); }
[data-ui="v2"] .v2-vat-epolist a:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: var(--r-xs); }

/* ---------- úzké obrazovky: bez vodorovného přetečení ---------- */
@media (max-width: 720px) {
  [data-ui="v2"] .v2-vat-table thead { display: none; }
  [data-ui="v2"] .v2-vat-table, [data-ui="v2"] .v2-vat-table tbody, [data-ui="v2"] .v2-vat-table tr { display: block; width: 100%; }
  [data-ui="v2"] .v2-vat-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2) var(--sp-4); padding: var(--sp-5); border-bottom: 1px solid var(--line); }
  [data-ui="v2"] .v2-vat-table tbody td { display: flex; flex-direction: column; gap: 2px; padding: 0; white-space: normal; border-bottom: 0; min-width: 0; }
  [data-ui="v2"] .v2-vat-sub { margin-left: 0; }
  [data-ui="v2"] .v2-vat-table tbody td::before { content: attr(data-label); font: 600 11.5px/1.3 var(--font-sans); color: var(--ink-3); }
  [data-ui="v2"] .v2-vat-table tbody td:first-child, [data-ui="v2"] .v2-vat-table tbody td.c-action, [data-ui="v2"] .v2-vat-table tbody td.c-result { grid-column: 1 / -1; }
  [data-ui="v2"] .v2-vat-result { white-space: normal; }
  [data-ui="v2"] .v2-vat-table tbody td.c-action { text-align: left; align-items: stretch; }
  [data-ui="v2"] .v2-vat-table tbody td.c-action::before { display: none; }
  [data-ui="v2"] .v2-vat-table tbody tr:hover td { background: none; }
}
@media (max-width: 560px) {
  [data-ui="v2"] .v2-vat-tabs { padding: 0; gap: 2px; flex-wrap: wrap; }
  [data-ui="v2"] .v2-vat-tab { flex: 1 1 calc(50% - 2px); min-width: 0; height: auto; min-height: 40px; justify-content: center; gap: 4px; padding: var(--sp-3) 6px; font-size: 12.5px; white-space: normal; text-align: center; line-height: 1.2; }
  [data-ui="v2"] .v2-vat-tab .icon { display: none; }
  [data-ui="v2"] .v2-vat-tab:hover, [data-ui="v2"] .v2-vat-tab.on { height: auto; }
  [data-ui="v2"] .v2-vat-pseg.v2-seg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-self: stretch; }
  [data-ui="v2"] .v2-vat-pseg .v2-seg-btn { min-height: 34px; padding-inline: var(--sp-3); }
  [data-ui="v2"] .v2-vat-qseg.v2-seg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-self: stretch; }
  [data-ui="v2"] .v2-vat-qseg .v2-seg-btn { min-height: 38px; padding-inline: var(--sp-3); white-space: normal; line-height: 1.25; }
  [data-ui="v2"] .v2-vat-dlg .v2-vat-noteacts .v2-btn { flex: 1 1 100%; justify-content: center; }
  [data-ui="v2"] .v2-vat-wstep .lbl { display: none; }
  [data-ui="v2"] .v2-vat-wstep.on .lbl { display: inline; }
  [data-ui="v2"] .v2-vat-fieldrow2 { grid-template-columns: 1fr; }
  [data-ui="v2"] .v2-vat-summary > div { grid-template-columns: 1fr; gap: 2px; }
  [data-ui="v2"] .v2-vat-tile-v { font-size: 20px; }
  [data-ui="v2"] .v2-vat-tile.is-result .v2-vat-tile-v { font-size: 22px; }
  [data-ui="v2"] .v2-vat-wfoot { flex-direction: column; align-items: stretch; }
  [data-ui="v2"] .v2-vat-wfoot .v2-btn, [data-ui="v2"] .v2-vat-generate-wrap { width: 100%; }
  [data-ui="v2"] .v2-vat-generate-wrap .v2-btn { justify-content: center; }
  [data-ui="v2"] .v2-vat-why { text-align: left; order: -1; }
  [data-ui="v2"] .v2-vat-outbtn, [data-ui="v2"] .v2-vat-outbtn .v2-btn { width: 100%; }
  [data-ui="v2"] .v2-vat-outbtn .v2-btn { justify-content: center; }
  [data-ui="v2"] .v2-vat-outrow { align-items: stretch; }
  /* Formulář přiznání a tabulky hlášení: každý řádek jako malá karta, sloupce s popisky. */
  [data-ui="v2"] .v2-vat-tablewrap { overflow-x: visible; }
  [data-ui="v2"] .v2-vat-form thead { display: none; }
  [data-ui="v2"] .v2-vat-form, [data-ui="v2"] .v2-vat-form tbody, [data-ui="v2"] .v2-vat-form tfoot, [data-ui="v2"] .v2-vat-form tr { display: block; width: 100%; }
  [data-ui="v2"] .v2-vat-form tr { padding: var(--sp-3) var(--sp-5); border-bottom: 1px solid var(--line); }
  [data-ui="v2"] .v2-vat-form tbody tr:last-child { border-bottom: 0; }
  [data-ui="v2"] .v2-vat-form tbody td, [data-ui="v2"] .v2-vat-form tbody th, [data-ui="v2"] .v2-vat-form tfoot td, [data-ui="v2"] .v2-vat-form tfoot th { padding: 2px 0; border-bottom: 0; }
  [data-ui="v2"] .v2-vat-form td[data-label]:not(.ln) { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-4); text-align: right; }
  [data-ui="v2"] .v2-vat-form td[data-label]:not(.ln)::before { content: attr(data-label); font: 600 11.5px/1.3 var(--font-sans); color: var(--ink-3); text-align: left; }
  [data-ui="v2"] .v2-vat-form td.na { display: none; }
  [data-ui="v2"] .v2-vat-form td.ln::before { content: 'Řádek '; font-weight: 600; }
  [data-ui="v2"] .v2-vat-form td.ln { display: block; }
  [data-ui="v2"] .v2-vat-form td.is-corrected { box-shadow: none; border-left: 3px solid var(--warn); padding-left: var(--sp-3); }
  [data-ui="v2"] .v2-vat-form tbody tr:hover td, [data-ui="v2"] .v2-vat-form tbody tr:hover th { background: none; }
}
