/* =====================================================================
   Генератор ПН · /tax-invoices/pn-generator (04.09.2026)
   Продовжує «paper & ink» статей: ролі з tokens-v2, нульові радіуси,
   таблиця-реєстр без заливки шапки. Скоуп — .png усередині .seo-article.
   ===================================================================== */

body.v2 .seo-article.png h2 { margin-top: var(--s-7, 48px); }
body.v2 .seo-article.png h3 {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: var(--s-6, 32px) 0 var(--s-3, 12px);
}

/* ── Вставка тексту ─────────────────────────────────────────────── */
body.v2 .png-import textarea {
  width: 100%;
  padding: var(--s-4, 16px);
  background: var(--surface-1);
  color: var(--text);
  border: 1px solid var(--rule);
  border-radius: 0;
  font-family: var(--font-sans);
  font-size: var(--fs-body-sm, 0.9375rem);
  line-height: 1.5;
  resize: vertical;
}
body.v2 .png-import textarea:focus { outline: none; border-color: var(--text-strong); }
body.v2 .png-import__row {
  display: flex;
  align-items: center;
  gap: var(--s-4, 16px);
  margin-top: var(--s-3, 12px);
  flex-wrap: wrap;
}
body.v2 .png-hint { font-size: 0.8125rem; color: var(--text-muted); }

/* ── Кнопки ─────────────────────────────────────────────────────── */
body.v2 .seo-article.png .btn {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 0.85rem 1.35rem;
  border: 1px solid var(--text-strong);
  background: var(--text-strong);
  color: var(--surface);
  text-decoration: none;
  cursor: pointer;
  box-shadow: none;
  transform: none;
  transition: background var(--dur-fast, 120ms) var(--ease-quiet, ease),
              color var(--dur-fast, 120ms) var(--ease-quiet, ease);
}
body.v2 .seo-article.png .btn:hover { background: transparent; color: var(--text-strong); box-shadow: none; transform: none; }
body.v2 .seo-article.png .png-ghost { background: transparent; color: var(--text-strong); }
body.v2 .seo-article.png .png-ghost:hover { background: var(--text-strong); color: var(--surface); }
body.v2 .seo-article.png .btn[disabled] { opacity: 0.5; cursor: default; }

/* ── Бланк ──────────────────────────────────────────────────────── */
body.v2 .png-doc {
  border: 1px solid var(--rule);
  padding: var(--s-6, 32px);
  background: var(--surface-1);
}
body.v2 .png-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--s-5, 24px);
  flex-wrap: wrap;
  padding-bottom: var(--s-4, 16px);
  border-bottom: 1px solid var(--rule);
}
body.v2 .png-head__l { display: flex; gap: var(--s-5, 24px); flex-wrap: wrap; }
body.v2 .png-deadline { font-size: 0.875rem; color: var(--text); }
body.v2 .png-deadline b { color: var(--text-strong); font-weight: 500; }
body.v2 .png-over { color: var(--danger, #C72A1F); font-weight: 500; }
body.v2 .png-ok { color: var(--ink-green, #2F4A3A); }
[data-theme="dark"] body.v2 .png-ok,
:root:not([data-theme="light"]) body.v2 .png-ok { color: var(--confirmed, #14B8A6); }

body.v2 .png-parties {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-5, 24px);
  margin-top: var(--s-5, 24px);
}
@media (max-width: 720px) { body.v2 .png-parties { grid-template-columns: 1fr; } }
body.v2 .png-parties fieldset { border: 1px solid var(--rule-faint); padding: var(--s-4, 16px); margin: 0; }
body.v2 .png-parties legend {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding: 0 6px;
}
body.v2 .png-doc label {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  margin-bottom: var(--s-3, 12px);
}
body.v2 .png-doc input,
body.v2 .png-doc select {
  display: block;
  width: 100%;
  margin-top: 4px;
  padding: 0.55rem 0.6rem;
  background: var(--surface);
  color: var(--text-strong);
  border: 1px solid var(--rule-faint);
  border-radius: 0;
  font-family: var(--font-sans);
  font-size: var(--fs-body-sm, 0.9375rem);
}
body.v2 .png-doc input:focus,
body.v2 .png-doc select:focus { outline: none; border-color: var(--text-strong); }

/* ── Розділ Б ───────────────────────────────────────────────────── */
body.v2 .png-table-wrap { overflow-x: auto; border-top: 1px solid var(--rule-strong); }
body.v2 .png-table { width: 100%; border-collapse: collapse; font-size: var(--fs-body-sm, 0.9375rem); min-width: 720px; }
body.v2 .png-table th {
  text-align: left;
  padding: 0.6rem 0.5rem 0.6rem 0;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  border-bottom: 1px solid var(--rule);
  white-space: nowrap;
}
body.v2 .png-table td { padding: 0.35rem 0.5rem 0.35rem 0; border-bottom: 1px solid var(--rule-faint); vertical-align: middle; }
body.v2 .png-table td input,
body.v2 .png-table td select { margin-top: 0; }
body.v2 .png-table .num { font-family: var(--font-mono); text-align: right; color: var(--text-strong); white-space: nowrap; }
body.v2 .png-table .i-del {
  background: transparent;
  border: 1px solid var(--rule-faint);
  color: var(--text-muted);
  width: 1.75rem;
  height: 1.75rem;
  line-height: 1;
  cursor: pointer;
  border-radius: 0;
}
body.v2 .png-table .i-del:hover { border-color: var(--danger, #C72A1F); color: var(--danger, #C72A1F); }
body.v2 .png-add {
  margin-top: var(--s-3, 12px);
  background: transparent;
  border: 1px dashed var(--rule);
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.6rem 1rem;
  cursor: pointer;
  border-radius: 0;
}
body.v2 .png-add:hover { color: var(--text-strong); border-color: var(--text-strong); }

/* ── Розділ А ───────────────────────────────────────────────────── */
body.v2 .png-totals { width: 100%; max-width: 26rem; border-collapse: collapse; font-size: var(--fs-body-sm, 0.9375rem); }
body.v2 .png-totals td { padding: 0.5rem 0; border-bottom: 1px solid var(--rule-faint); }
body.v2 .png-totals td:last-child { text-align: right; font-family: var(--font-mono); color: var(--text-strong); }
body.v2 .png-totals tr:first-child td { border-top: 1px solid var(--rule-strong); font-weight: 500; }

body.v2 .png-actions { display: flex; flex-wrap: wrap; gap: var(--s-3, 12px); margin-top: var(--s-6, 32px); }
body.v2 .png-note { margin-top: var(--s-4, 16px); font-size: 0.8125rem; color: var(--text-muted); max-width: 60ch; }

/* ── Друк: тільки бланк ─────────────────────────────────────────── */
@media print {
  body.v2 .png-import, body.v2 .png-actions, body.v2 .png-add,
  body.v2 .png-table .i-del, body.v2 .article-breadcrumbs, body.v2 .png-note { display: none !important; }
  body.v2 .png-doc { border: 0; padding: 0; background: #fff; }
  body.v2 .png-doc input, body.v2 .png-doc select { border: 0; border-bottom: 1px solid #000; background: transparent; color: #000; }
  body.v2 .png-table { min-width: 0; }
}
