/* Okno „Podpis“ a políčka podpisu v dokumentech (21. 10. 2026). Ostré lemování 1 px, rohy 4 px, bez stínů, jako ostatní okna. */
.sig-overlay { position: fixed; inset: 0; z-index: 100050; display: flex; align-items: center; justify-content: center; padding: 12px; box-sizing: border-box; background: rgba(20,15,40,.55); }
.sig-panel { display: flex; flex-direction: column; width: min(640px,100%); max-height: calc(100dvh - 24px); border: 1px solid var(--ak-line,#3b2a7a); border-radius: 5px; background: var(--surface,#fff); color: var(--text,#1d1648); font-family: 'IBM Plex Sans',sans-serif; box-sizing: border-box; }
.sig-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; padding: 16px 16px 6px 20px; }
.sig-title { font-size: 21px; font-weight: 800; line-height: 1.15; }
.sig-sub { margin-top: 2px; font-size: 13px; font-weight: 600; color: var(--text2,#6b6760); overflow-wrap: anywhere; }
.sig-close { flex: none; width: 44px; height: 44px; padding: 0; border: 1px solid var(--accent,#5b2fb0); border-radius: 4px; background: var(--surface,#fff); color: var(--accent,#5b2fb0); font-size: 20px; cursor: pointer; }
.sig-body { flex: 1; min-height: 0; overflow-y: auto; padding: 4px 20px 8px; }
.sig-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; padding: 4px 0 10px; }
.sig-tab { min-height: 44px; border: 1px solid var(--border,#cbbbff); border-radius: 4px; background: var(--surface,#fff); color: var(--accent,#5b2fb0); font: 800 14px 'IBM Plex Sans',sans-serif; cursor: pointer; }
.sig-tab.active { border-color: var(--accent,#5b2fb0); background: var(--ak-edit-bg,#efe9ff); }
.sig-pad { position: relative; height: 200px; border: 1px solid var(--ak-line,#3b2a7a); border-radius: 4px; background: repeating-linear-gradient(#fff,#fff 31px,#f3effc 32px); overflow: hidden; touch-action: none; }
.sig-pad canvas { position: absolute; inset: 0; width: 100%; height: 100%; touch-action: none; cursor: crosshair; }
.sig-cross { position: absolute; left: 12px; top: 56%; font-size: 22px; color: #b9aedc; pointer-events: none; }
.sig-baseline { position: absolute; left: 12px; right: 12px; top: 72%; border-top: 1px solid #8f7fc8; pointer-events: none; }
.sig-hint { position: absolute; right: 12px; bottom: 10px; font-size: 11px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; color: #8a86a0; pointer-events: none; }
.sig-tools { display: flex; gap: 8px; padding: 10px 0 2px; }
.sig-tool { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px; border: 1px solid var(--border,#cbbbff); border-radius: 4px; background: var(--surface,#fff); color: var(--accent,#5b2fb0); font: 700 13px 'IBM Plex Sans',sans-serif; cursor: pointer; }
.sig-tool:disabled { opacity: .45; cursor: default; }
.sig-text { width: 100%; box-sizing: border-box; min-height: 44px; padding: 0 12px; border: 1px solid var(--ak-line,#3b2a7a); border-radius: 4px; background: #fff; color: #1d1648; font: 600 16px 'IBM Plex Sans',sans-serif; }
.sig-fonts { display: grid; gap: 6px; padding-top: 8px; }
.sig-font { min-height: 56px; padding: 0 12px; border: 1px solid var(--border,#cbbbff); border-radius: 4px; background: #fff; font-size: 30px; line-height: 1; text-align: left; cursor: pointer; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.sig-font.active { border-color: var(--accent,#5b2fb0); background: var(--ak-edit-bg,#efe9ff); }
.sig-saved-box { min-height: 130px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--ak-line,#3b2a7a); border-radius: 4px; background: #fff; padding: 12px; box-sizing: border-box; }
.sig-saved-box img { max-width: 100%; max-height: 110px; }
.sig-saved-msg { font-size: 13px; font-weight: 600; color: #6b6760; text-align: center; }
.sig-ink { display: flex; align-items: center; gap: 6px; padding: 10px 0 0; flex-wrap: wrap; }
.sig-ink-label { margin-right: 4px; font-size: 12px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: var(--text2,#6b6760); }
.sig-swatch { width: 44px; height: 44px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border,#cbbbff); border-radius: 4px; background: var(--surface,#fff); cursor: pointer; }
.sig-swatch.active { border: 2px solid var(--accent,#5b2fb0); }
.sig-swatch span { width: 22px; height: 22px; border-radius: 50%; }
.sig-remember { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; font-weight: 600; cursor: pointer; }
.sig-remember input { width: 22px; height: 22px; accent-color: var(--accent,#5b2fb0); }
.sig-prev { margin-top: 10px; padding: 10px 12px; border: 1px solid var(--border,#e3e8f1); border-radius: 4px; background: #fafafa; color: #1d1648; }
.sig-prev-title { margin-bottom: 4px; font-size: 11px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: #8a86a0; }
.sig-prev-doc { width: min(260px,100%); margin-left: auto; text-align: center; }
.sig-prev-doc img { display: block; width: 100%; max-height: 64px; object-fit: contain; }
.sig-prev-doc img[hidden] { display: block; visibility: hidden; height: 50px; }
.sig-prev-line { border-top: 1px solid #1d1648; }
.sig-prev-name { margin-top: 2px; font-size: 12px; font-weight: 600; }
.sig-prev-cap { font-size: 10px; color: #6b6760; }
.sig-foot { display: flex; justify-content: flex-end; gap: 8px; padding: 10px 20px 16px; border-top: 1px solid var(--border,#e3e8f1); }
.sig-btn { min-height: 44px; padding: 0 18px; border: 1px solid var(--accent,#5b2fb0); border-radius: 4px; background: var(--surface,#fff); color: var(--accent,#5b2fb0); font: 700 14px 'IBM Plex Sans',sans-serif; cursor: pointer; }
.sig-btn.primary { background: var(--accent,#5b2fb0); color: #fff; }
@media (max-width: 600px) {
  .sig-overlay { align-items: flex-end; padding: 0; }
  .sig-panel { width: 100%; max-height: 100dvh; border-radius: 8px 8px 0 0; }
  .sig-head { padding: 12px 8px 4px 12px; }
  .sig-title { font-size: 19px; }
  .sig-body { padding: 2px 12px 6px; }
  .sig-pad { height: 170px; }
  .sig-foot { padding: 8px 12px calc(12px + env(safe-area-inset-bottom)); }
}
@media (max-height: 520px) { .sig-pad { height: 120px; } }
/* Políčko podpisu v registraci vrhu (náhled i PDF). Ovládací prvky `data-lr-nopdf` se do PDF nekopírují. */
.lr-sig-box { display: flex; align-items: flex-end; min-height: 56px; }
.lr-sig-box img { max-height: 54px; max-width: 220px; object-fit: contain; }
.lr-sig-ctl { display: flex; gap: 6px; flex-wrap: wrap; margin: 4px 0; }
.lr-sig-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px; border: 1px solid var(--accent,#5b2fb0); border-radius: 4px; background: var(--ak-edit-bg,#efe9ff); color: var(--accent,#5b2fb0); font: 800 13px 'IBM Plex Sans',sans-serif; cursor: pointer; }
.lr-sig-btn.ghost { background: var(--surface,#fff); font-weight: 700; }

/* Okno „Podpis“ – nový rámec (25. 10. 2026, návrh 3): záhlaví uprostřed, tři panely (Podpis, Barva a uložení, Náhled) s rámečky, dvě stejná tlačítka dole; na telefonu celé okno, ne spodní lišta. */
.sig-overlay { --xl:#3b2a7a; --xs:#d6cfee; --xi:#1d1648; --xm:#625a8c; --g-bg:#e3f6ef; --g-fg:#0b5a49; --y-bg:#fff6d9; --y-fg:#7a5a00; --b-bg:#e6f0fd; --b-fg:#1a5299; --l-bg:#efe9ff; --l-fg:#5b2fb0; align-items: center !important; padding: 12px !important; }
html.dark .sig-overlay { --xl:#8f7fc8; --xs:#3a3160; --xi:#e9e4ff; --xm:#a79bd6; --g-bg:#16382f; --g-fg:#9ce8d2; --y-bg:#3b3210; --y-fg:#f0d36a; --b-bg:#14283f; --b-fg:#a3cbf8; --l-bg:#2a1f4a; --l-fg:#cdb8ff; }
.sig-overlay .sig-panel { width: min(640px,100%); max-height: calc(100dvh - 24px); border: 1px solid var(--xl); border-radius: 6px; background: var(--surface,#fff); color: var(--xi); }
.sig-overlay .sig-head { position: relative; justify-content: center; align-items: center; min-height: 72px; box-sizing: border-box; padding: 12px 64px; border-bottom: 1px solid var(--xs); text-align: center; }
.sig-overlay .sig-titles { min-width: 0; }
.sig-overlay .sig-title { font-size: 20px; font-weight: 800; overflow-wrap: anywhere; }
.sig-overlay .sig-sub { margin-top: 2px; font-size: 12px; color: var(--xm); }
.sig-overlay .sig-close { position: absolute; right: 14px; top: 14px; border: 1px solid var(--xs); border-radius: 6px; background: var(--surface,#fff); color: var(--xm); }
.sig-overlay .sig-body { display: grid; gap: 6px; align-content: start; padding: 6px; background: var(--l-bg); }
.sig-overlay .sig-g { display: grid; gap: 6px; padding: 6px; border: 1px solid; border-radius: 6px; min-width: 0; align-content: start; }
.sig-overlay .sig-g.a { background: var(--g-bg); border-color: var(--g-fg); }
.sig-overlay .sig-g.b { background: var(--y-bg); border-color: var(--y-fg); }
.sig-overlay .sig-g.c { background: var(--b-bg); border-color: var(--b-fg); }
.sig-overlay .sig-g h4 { margin: 0; padding: 2px 0; text-align: center; font-size: 13px; font-weight: 800; color: var(--xi); }
.sig-overlay .sig-t { display: flex; flex-direction: column; gap: 8px; box-sizing: border-box; min-width: 0; padding: 8px; border: 1px solid var(--xl); border-radius: 6px; background: var(--surface,#fff); }
.sig-overlay .sig-g[hidden], .sig-overlay .sig-t[hidden] { display: none !important; }
.sig-overlay .sig-t .sig-tabs { padding: 0; }
.sig-overlay .sig-t .sig-view[hidden] { display: none; }
.sig-overlay .sig-t .sig-ink { justify-content: center; padding: 0; }
.sig-overlay .sig-t .sig-tools { justify-content: center; padding: 8px 0 0; }
.sig-overlay .sig-t .sig-remember { justify-content: center; }
.sig-overlay .sig-t .sig-prev { margin: 0; padding: 0; border: 0; background: transparent; text-align: center; color: var(--xi); }
.sig-overlay .sig-t .sig-prev-title { text-align: center; color: var(--xm); }
.sig-overlay .sig-t .sig-prev-doc { margin: 0 auto; }
.sig-overlay .sig-t .sig-prev-line { border-top-color: var(--xi); }
.sig-overlay .sig-t .sig-prev-cap { color: var(--xm); }
.sig-overlay .sig-foot { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; padding: 6px; border-top: 1px solid var(--xs); }
.sig-overlay .sig-foot .sig-btn { height: 56px; min-height: 56px; margin: 0; padding: 4px; border-radius: 6px; font-weight: 700; font-size: 15px; }
.sig-overlay .sig-foot .sig-btn:not(.primary) { border: 1px solid var(--l-fg); background: var(--surface,#fff); color: var(--l-fg); }
.sig-overlay .sig-foot .sig-btn.primary { border: 1px solid var(--g-fg); background: color-mix(in srgb,var(--g-fg) 24%,var(--g-bg)); color: var(--g-fg); }
@media (max-width: 600px) {
  .sig-overlay { align-items: center !important; padding: 6px !important; }
  .sig-overlay .sig-panel { width: 100%; max-height: calc(100dvh - 12px); border-radius: 6px; }
  .sig-overlay .sig-head { padding: 12px 64px; }
  .sig-overlay .sig-body { padding: 6px; }
  .sig-overlay .sig-foot { padding: 6px; }
  .sig-overlay .sig-title { font-size: 18px; }
}
