/* NahrAI — styly Schvalovacího okna (modul approval-window.js).

   Vlastní soubor, protože modul je samostatný; v2.css zůstává nedotčené.
   Všechno je scopované pod [data-ui="v2"] jako zbytek portálu a barvy,
   mezery i rádiusy pocházejí výhradně z tokens.css — světlý i tmavý motiv
   fungují bez vlastního přepínače. Tlačítka, pilulky, poznámky a dialog
   jsou třídy portálu (v2-btn, v2-pill, v2-note, v2-modal v2-dlg); tady je
   jen rozvržení okna a to, co portál nemá.

   Rozvržení podle místa, které okno v portálu opravdu má (šířka hostitele,
   ne okna prohlížeče — vlevo je lišta navigace 64 nebo 216 px a odsazení
   obsahu). Modul měří hostitele a nastaví .aw-root[data-aw-layout]:
   „split“ = dva sloupce (údaje 560–680 px, originál aspoň 480 px, lepivý na
   plnou výšku), jinak záložky Údaje / Originál s originálem na celou šířku.
   Hranici (1064 px hostitele) drží konstanty cSplit* v approval-window.js.
   Mobilní optimalizace je mimo rozsah (vlna 5). */

[data-ui="v2"] .aw-root { min-width: 0; }

[data-ui="v2"] .aw-window {
  display: flex; flex-direction: column; gap: var(--sp-7);
  min-width: 0;
}

/* ============================================================
   Hlavička: lišta, věta, hlášky, záložky
   ============================================================ */
[data-ui="v2"] .aw-head { display: flex; flex-direction: column; gap: var(--sp-5); min-width: 0; }
[data-ui="v2"] .aw-topbar {
  display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-4);
  min-width: 0;
}
[data-ui="v2"] .aw-back { padding: var(--sp-3) var(--sp-6); }
[data-ui="v2"] .aw-docid { font: 600 14px/1.3 var(--font-sans); color: var(--ink); overflow-wrap: anywhere; }
[data-ui="v2"] .aw-handed { color: var(--ink-2); }

[data-ui="v2"] .aw-headline {
  margin: 0; max-width: 72ch;
  font: 700 21px/1.35 var(--font-sans); letter-spacing: -.01em; color: var(--ink);
}
/* Věta dostává fokus programově (po otevření a po akci). Kroužek jen při
   ovládání klávesnicí, ať se nepřekresluje po každém kliknutí myší. */
[data-ui="v2"] .aw-headline:focus { outline: none; }
[data-ui="v2"] .aw-headline:focus-visible {
  outline: 2px solid var(--focus); outline-offset: 4px; border-radius: var(--r-xs);
}
[data-ui="v2"] .aw-alert,
[data-ui="v2"] .aw-banner { max-width: 760px; }

[data-ui="v2"] .aw-tabs {
  display: inline-flex; gap: var(--sp-2); padding: var(--sp-1);
  border: 1px solid var(--line); border-radius: var(--r-pill); background: var(--surface-2);
  align-self: flex-start;
}
[data-ui="v2"] .aw-tab {
  padding: var(--sp-2) var(--sp-7); border: 0; border-radius: var(--r-pill);
  background: transparent; color: var(--ink-2); cursor: pointer;
  font: 600 13.5px/1.3 var(--font-sans);
}
[data-ui="v2"] .aw-tab[aria-selected="true"] { background: var(--surface); color: var(--ink); box-shadow: var(--shadow); }
[data-ui="v2"] .aw-tab:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

/* ============================================================
   Údaje a originál: výchozí jsou záložky, dva sloupce jen při „split“
   ============================================================ */
[data-ui="v2"] .aw-cols {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: var(--sp-9); align-items: start; min-width: 0;
}
[data-ui="v2"] .aw-col-data { display: flex; flex-direction: column; gap: var(--sp-7); min-width: 0; }
[data-ui="v2"] .aw-col-original {
  position: static;
  display: flex; flex-direction: column; gap: var(--sp-3);
  height: 75vh; min-height: 420px; min-width: 0;
}
/* Záložky: viditelný je jen vybraný panel. */
[data-ui="v2"] .aw-window[data-aw-tab-active="data"] .aw-col-original { display: none; }
[data-ui="v2"] .aw-window[data-aw-tab-active="original"] .aw-col-data { display: none; }

/* Dva sloupce (hostitel aspoň 1064 px): údaje 560–680 px, zbytek originál. */
[data-ui="v2"] .aw-root[data-aw-layout="split"] .aw-tabs { display: none; }
[data-ui="v2"] .aw-root[data-aw-layout="split"] .aw-cols {
  grid-template-columns: minmax(560px, 680px) minmax(480px, 1fr);
}
[data-ui="v2"] .aw-root[data-aw-layout="split"] .aw-window .aw-col-data { display: flex; }
[data-ui="v2"] .aw-root[data-aw-layout="split"] .aw-window .aw-col-original {
  display: flex; position: sticky; top: var(--sticky-top);
  height: calc(100vh - var(--sticky-top) - var(--sp-9));
}

[data-ui="v2"] .aw-original-frame,
[data-ui="v2"] .aw-original-img,
[data-ui="v2"] .aw-original-host {
  flex: 1 1 auto; width: 100%; min-height: 0;
  border: 1px solid var(--line); border-radius: var(--r-xl);
  background: var(--paper); box-shadow: var(--paper-shadow);
}
[data-ui="v2"] .aw-original-img { object-fit: contain; }
[data-ui="v2"] .aw-original-empty {
  flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--sp-3); border: 1px dashed var(--line-2); border-radius: var(--r-xl);
  color: var(--ink-2); text-align: center;
}
[data-ui="v2"] .aw-original-empty .icon { font-size: 28px; color: var(--ink-3); }
[data-ui="v2"] .aw-original-empty p { margin: 0; }
[data-ui="v2"] .aw-original-link {
  display: inline-flex; align-items: center; gap: var(--sp-2); align-self: flex-end;
  color: var(--info); font: 600 13px/1.4 var(--font-sans);
}
[data-ui="v2"] .aw-original-link .icon { font-size: 16px; }

/* ============================================================
   Sekce, karta Rozhodnutí
   ============================================================ */
[data-ui="v2"] .aw-section {
  padding: var(--sp-7) var(--sp-8);
  border: 1px solid var(--line); border-radius: var(--r-2xl);
  background: var(--surface); box-shadow: var(--shadow);
  min-width: 0;
}
[data-ui="v2"] .aw-section-title {
  margin: 0 0 var(--sp-5);
  font: 700 12px/1.2 var(--font-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3);
}

[data-ui="v2"] .aw-facts { margin: 0; display: flex; flex-direction: column; }
[data-ui="v2"] .aw-fact {
  display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: var(--sp-5);
  padding: var(--sp-3) 0; border-top: 1px solid var(--line);
}
[data-ui="v2"] .aw-fact:first-child { border-top: 0; padding-top: 0; }
[data-ui="v2"] .aw-fact dt { color: var(--ink-2); font: 500 13px/1.45 var(--font-sans); }
[data-ui="v2"] .aw-fact dd { margin: 0; color: var(--ink); font: 500 14px/1.45 var(--font-sans); min-width: 0; overflow-wrap: anywhere; }
[data-ui="v2"] .aw-strong { font-weight: 700; }
/* Čísla v kartě písmem textu, jen se stejnou šířkou číslic: neproporcionální
   písmo má přeškrtnutou nulu a „20. 9.“ se v něm čte jako „28. 9.“. */
[data-ui="v2"] .aw-num { font-variant-numeric: tabular-nums; }
[data-ui="v2"] .aw-amount { font: 700 20px/1.25 var(--font-sans); letter-spacing: -.01em; }
[data-ui="v2"] .aw-sub { color: var(--ink-2); font-size: 13px; }
[data-ui="v2"] .aw-line { display: block; margin-top: var(--sp-1); color: var(--ink-2); font-size: 13px; }
[data-ui="v2"] .aw-missing { color: var(--ink-3); font-style: italic; }
[data-ui="v2"] .aw-message { font-style: italic; }
[data-ui="v2"] .aw-codebooks-note { margin: var(--sp-4) 0 0; }
[data-ui="v2"] .aw-facts-compact .aw-fact { grid-template-columns: 14rem minmax(0, 1fr); }

/* Odznaky: nejméně 12 px (návrh §8.4). */
[data-ui="v2"] .aw-badge {
  display: inline-flex; align-items: center; gap: var(--sp-1);
  padding: 1px var(--sp-3); border-radius: var(--r-pill);
  font: 600 12px/1.5 var(--font-sans); white-space: nowrap; vertical-align: 1px;
}
[data-ui="v2"] .aw-badge .icon { font-size: 14px; }
[data-ui="v2"] .aw-badge.tone-ok   { background: var(--ok-soft);   color: var(--ok); }
[data-ui="v2"] .aw-badge.tone-warn { background: var(--warn-soft); color: var(--warn); }
[data-ui="v2"] .aw-badge.tone-bad  { background: var(--bad-soft);  color: var(--bad); }
[data-ui="v2"] .aw-badge.tone-info { background: var(--info-soft); color: var(--info); }
[data-ui="v2"] .aw-badge.tone-mut  { background: var(--bg-2);      color: var(--ink-2); }

/* ============================================================
   Výhrady
   ============================================================ */
[data-ui="v2"] .aw-res-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--sp-3); }
[data-ui="v2"] .aw-res {
  display: flex; align-items: flex-start; gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-5);
  border: 1px solid var(--line); border-left-width: 3px; border-radius: var(--r-md);
  background: var(--surface-2); color: var(--ink); font: 500 13.5px/1.45 var(--font-sans);
}
[data-ui="v2"] .aw-res .icon { font-size: 18px; flex: 0 0 auto; }
[data-ui="v2"] .aw-res.tone-bad  { border-left-color: var(--bad);  background: var(--bad-soft); }
[data-ui="v2"] .aw-res.tone-bad .icon { color: var(--bad); }
[data-ui="v2"] .aw-res.tone-warn { border-left-color: var(--warn); background: var(--warn-soft); }
[data-ui="v2"] .aw-res.tone-warn .icon { color: var(--warn); }
[data-ui="v2"] .aw-res.tone-info { border-left-color: var(--info); background: var(--info-soft); }
[data-ui="v2"] .aw-res.tone-info .icon { color: var(--info); }
[data-ui="v2"] .aw-res-text { min-width: 0; overflow-wrap: anywhere; }

[data-ui="v2"] .aw-more { margin-top: var(--sp-4); }
[data-ui="v2"] .aw-more > summary {
  cursor: pointer; color: var(--ink-2); font: 600 13px/1.4 var(--font-sans);
  padding: var(--sp-2) 0;
}
[data-ui="v2"] .aw-more > summary:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: var(--r-xs); }
[data-ui="v2"] .aw-more[open] > summary { margin-bottom: var(--sp-3); }
[data-ui="v2"] .aw-accounting {
  padding: var(--sp-4) var(--sp-8);
  border: 1px solid var(--line); border-radius: var(--r-2xl); background: var(--surface);
  margin-top: 0;
}

/* ============================================================
   Položky
   ============================================================ */
[data-ui="v2"] .aw-table-wrap { overflow-x: auto; }
[data-ui="v2"] .aw-rows { width: 100%; border-collapse: collapse; font: 400 13px/1.4 var(--font-sans); color: var(--ink); }
[data-ui="v2"] .aw-rows caption {
  caption-side: top; text-align: left; padding-bottom: var(--sp-3);
  color: var(--ink-2); font: 500 13px/1.4 var(--font-sans);
}
[data-ui="v2"] .aw-rows thead th {
  padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--line-2); background: var(--surface-2);
  text-align: left; font: 700 12px/1.2 var(--font-sans); letter-spacing: .05em; text-transform: uppercase; color: var(--ink-3);
}
[data-ui="v2"] .aw-rows tbody td,
[data-ui="v2"] .aw-rows tbody th {
  padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--line); vertical-align: top;
  text-align: left; font-weight: 400;
}
[data-ui="v2"] .aw-rows .aw-row-text { font-weight: 500; overflow-wrap: anywhere; }
[data-ui="v2"] .aw-rows tfoot th,
[data-ui="v2"] .aw-rows tfoot td { padding: var(--sp-3) var(--sp-4); font-weight: 700; text-align: left; }
/* Částky písmem textu se stejnou šířkou číslic (viz .aw-num): v neproporcionálním
   písmu se přeškrtnutá nula plete s osmičkou. */
[data-ui="v2"] .aw-rows .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
[data-ui="v2"] .aw-rates { width: auto; min-width: 320px; margin-top: var(--sp-7); }
[data-ui="v2"] .aw-rows-toggle { margin-top: var(--sp-4); }

/* ============================================================
   Změny a historie
   ============================================================ */
[data-ui="v2"] .aw-list { margin: 0; padding-left: var(--sp-8); display: flex; flex-direction: column; gap: var(--sp-2); font: 500 13.5px/1.45 var(--font-sans); }
[data-ui="v2"] .aw-history { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--sp-5); }
[data-ui="v2"] .aw-event { display: flex; gap: var(--sp-4); font: 500 13.5px/1.45 var(--font-sans); }
[data-ui="v2"] .aw-event-dot {
  flex: 0 0 auto; width: 10px; height: 10px; margin-top: 5px;
  border-radius: var(--r-pill); background: var(--info);
}
[data-ui="v2"] .aw-history-technical .aw-event-dot { background: var(--ink-3); }
[data-ui="v2"] .aw-event-comment { margin: var(--sp-1) 0 0; color: var(--ink-2); white-space: pre-wrap; overflow-wrap: anywhere; }

/* ============================================================
   Lepivá lišta akcí
   ============================================================ */
[data-ui="v2"] .aw-actions-slot { position: sticky; bottom: var(--sp-5); z-index: 5; }
[data-ui="v2"] .aw-actions {
  display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: var(--sp-5);
  padding: var(--sp-5) var(--sp-7);
  border: 1px solid var(--line); border-radius: var(--r-2xl);
  background: var(--surface); box-shadow: var(--shadow-lg);
}
[data-ui="v2"] .aw-actions-reason {
  flex: 1 1 280px; margin: 0; min-width: 0;
  color: var(--ink-2); font: 500 13.5px/1.45 var(--font-sans);
}
[data-ui="v2"] .aw-actions-buttons { display: flex; flex-wrap: wrap; gap: var(--sp-4); justify-content: flex-end; }
[data-ui="v2"] .aw-actions[aria-busy="true"] .v2-btn { cursor: progress; }
[data-ui="v2"] .aw-actions .v2-btn[aria-disabled="true"] { opacity: .6; }

/* ============================================================
   Načítání a dialog
   ============================================================ */
[data-ui="v2"] .aw-skeleton {
  height: 220px; border-radius: var(--r-2xl);
  background: linear-gradient(90deg, var(--bg-2), var(--surface-2), var(--bg-2));
  background-size: 200% 100%;
  animation: nahrai-shift 1.4s linear infinite;
}
[data-ui="v2"] .aw-modal .aw-dlg-warnings ul { margin: var(--sp-2) 0 0; padding-left: var(--sp-8); }
[data-ui="v2"] .aw-modal .aw-dlg-warnings li { margin: var(--sp-1) 0; }
[data-ui="v2"] .aw-modal .aw-dlg-status { display: flex; align-items: center; gap: var(--sp-2); margin: var(--sp-4) 0; }
[data-ui="v2"] .aw-modal .aw-dlg-error { margin-top: var(--sp-4); }
[data-ui="v2"] .aw-modal .aw-dlg-error[hidden] { display: none; }
[data-ui="v2"] .aw-modal textarea { width: 100%; resize: vertical; }
