/* Plik stylów modułu: układ, kolory i responsywność interfejsu / Module stylesheet: layout, colors, and responsive interface behavior */
/* Administratum Green — styl zgodny z Main */
:root{
  --bg:#031605;
  --bg-grad:radial-gradient(circle at 20% 20%, rgba(0, 255, 128, 0.06), transparent 25%),
             radial-gradient(circle at 80% 0%, rgba(0, 255, 128, 0.08), transparent 35%),
             #031605;
  --panel:#000;
  --panel2:#000;
  --text:#9cf09c;
  --text2:#4FAF4F;
  --muted:#4a8b4a;
  --code:#D2FAD2;
  --text-old:#7f9b7f;
  --red:#d74b4b;
  --border:#16c60c;
  --accent:#16c60c;
  --accent-dark:#0d7a07;

  --b:rgba(22,198,12,.35);
  --b2:rgba(22,198,12,.2);
  --div:rgba(22,198,12,.18);

  --hbg:rgba(22,198,12,.06);
  --zebra-odd:rgba(22,198,12,.02);
  --zebra-even:rgba(22,198,12,.12);
  --hover:rgba(22,198,12,.16);
  --row-selected:rgba(22,198,12,.16);

  --glow:0 0 25px rgba(22, 198, 12, 0.45);
  --glowH:0 0 18px rgba(22, 198, 12, 0.35);
  --head:"Consolas","Fira Code","Source Code Pro",monospace;

  --header-row-height:36px;
}
*{
  box-sizing:border-box;
  font-family:"Consolas","Fira Code","Source Code Pro",monospace;
}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg-grad);
  color:var(--text);
  line-height:1.45;
  letter-spacing:.03em;
}
code{color:var(--code)}
.app{min-height:100%; display:flex; flex-direction:column}
.topbar{
  padding:14px 16px;
  border-bottom:1px solid var(--div);
  background:linear-gradient(180deg, rgba(22,198,12,.04), transparent);
  display:flex; gap:12px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap;
}
.brand{display:flex; gap:12px; align-items:center}
.sigil{
  width:48px; height:48px; display:grid; place-items:center;
  border:1px solid var(--b);
  background:rgba(22,198,12,.04);
  box-shadow: inset 0 0 0 1px rgba(22,198,12,.08);
}
/* Pole ikony i sam obraz mają ten sam rozmiar, żeby grafika wypełniała cały obszar bez przycinania / Icon slot and image share dimensions so the graphic fills the area without clipping */
.sigilIcon{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}
.title{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:600;
  text-shadow:var(--glowH);
}
.actions{display:flex; gap:10px; flex-wrap:wrap}
.language-switcher select{
  min-width:140px;
  padding:8px 12px;
  border-radius:6px;
  border:1px solid var(--b);
  background:#0b0b0b;
  color:var(--text);
}
.language-switcher select:focus{outline:none; box-shadow:0 0 0 3px rgba(22,198,12,.18)}
/* Ukrywa przełącznik języka, ale zostawia całą logikę tłumaczeń aktywną; aby przywrócić przełącznik usuń klasę .language-switcher--hidden z HTML. */
/* Hides the language switcher while keeping all translation logic active; to restore it remove .language-switcher--hidden from HTML. */
.language-switcher--hidden{display:none !important}
.actionsGroup{
  display:flex;
  flex-direction:column;
  gap:6px;
  max-width:640px;
  width:min(640px, calc(100vw - 40px));
}
.actionsNote{font-size:11px; color:var(--text2); letter-spacing:.02em; text-transform:none}
.actionsGroup--view{
  max-width:none;
  width:auto;
}
.viewButtons{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.actionsNote--view{
  max-width:260px;
}
.btn{
  border-radius:4px;
  padding:10px 12px;
  border:1px solid var(--b);
  cursor:pointer;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:600;
  font-size:12px;
  background:rgba(22,198,12,.08);
  color:var(--text);
}
.btn.primary{
  background:var(--text);
  color:var(--bg);
  border-color:rgba(22,198,12,.35);
}
.btn:disabled{opacity:.45; cursor:not-allowed}
.btn.secondary:hover{background:rgba(22,198,12,.12)}
.btn.primary:hover{filter:brightness(1.08)}
.filebtn input{display:none}

.main{flex:1; display:grid; grid-template-columns:180px 1fr; gap:12px; padding:12px}
.panel{
  border:1px solid var(--b);
  background:var(--panel);
  box-shadow: inset 0 0 0 1px rgba(22,198,12,.08);
  border-radius:4px;
  overflow:hidden;
}
.panelHeader{
  padding:10px 12px;
  background:rgba(22,198,12,.04);
  border-bottom:1px solid var(--div);
  text-transform:uppercase;
  letter-spacing:.16em;
  display:flex; gap:10px; align-items:center;
}
.panelBody{padding:12px}
.caret{color:rgba(22,198,12,.65)}
.panelTitle{color:var(--code)}
.fieldLabel{font-size:12px; color:var(--text2); margin-bottom:6px; letter-spacing:.10em; text-transform:uppercase}
.input{
  width:100%;
  padding:10px 10px;
  border-radius:4px;
  border:1px solid var(--b);
  background:var(--bg);
  color:var(--text);
  outline:none;
}
.input:focus{box-shadow:0 0 0 3px rgba(22,198,12,.18)}
.checkboxRow{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:12px;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text2);
}
.checkboxRow .checkboxLabel{
  color:var(--code);
  opacity:.9;
}
.checkboxRow--combat{
  color:var(--red);
}
.checkboxRow--combat .checkboxLabel{
  color:var(--red);
  opacity:1;
}
.checkboxRow--combat input{
  accent-color:var(--red);
}
.checkboxRow input{
  width:16px;
  height:16px;
  accent-color:var(--accent);
  cursor:pointer;
}
.hint{margin-top:10px; color:var(--text2); font-size:12px}
.muted{color:var(--muted); margin-top:8px}
.workspace{
  border:1px solid var(--b);
  background:var(--panel);
  box-shadow: inset 0 0 0 1px rgba(22,198,12,.08);
  border-radius:4px;
  overflow:hidden;
  display:flex; flex-direction:column;
}
.tabs{
  display:flex; gap:6px; flex-wrap:wrap;
  padding:10px 10px;
  border-bottom:1px solid var(--div);
  background:rgba(22,198,12,.03);
}
.tab{
  padding:8px 10px;
  border:1px solid var(--b2);
  background:rgba(22,198,12,.05);
  color:var(--text);
  border-radius:4px;
  cursor:pointer;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.tab.tab--character{
  color:var(--code);
  opacity:.9;
}
.tab.tab--character.active{
  color:var(--code);
}
.tab.tab--combat{
  color:var(--red);
}
.tab.tab--combat.active{
  color:var(--red);
}
.tab.active{
  background:rgba(22,198,12,.10);
  border-color:var(--b);
  box-shadow:0 0 0 2px rgba(22,198,12,.10);
}
/* Nowy układ tabeli */
.tableWrap{
  flex:1;
  display:flex;
  flex-direction:column;
  position:relative;
  background:linear-gradient(180deg, rgba(22,198,12,.03), transparent);
}
.tableFrame{
  flex:1;
  border-top:1px solid var(--div);
  border-bottom:1px solid var(--div);
  background:var(--panel);
  box-shadow: inset 0 0 0 1px rgba(22,198,12,.06);
  border-radius:6px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.tableViewport{
  flex:1;
  overflow:auto;
  scrollbar-width:thin;
  padding:4px;
}
.emptyState{padding:28px}
.emptyTitle{letter-spacing:.16em; text-transform:uppercase; color:var(--code)}
.emptyText{color:var(--text2); margin-top:10px}

/* Nowy styl tabeli */
.dataTable{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
  border:1px solid var(--div);
  box-shadow:var(--glow);
}
.dataTable thead th{
  position:sticky;
  top:0;
  background:linear-gradient(180deg, rgba(22,198,12,.08), rgba(22,198,12,.03));
  color:var(--code);
  padding:10px 9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-bottom:1px solid var(--div);
}
.dataTable thead tr:nth-child(2) th{
  top:var(--header-row-height);
  background:rgba(22,198,12,.05);
}
/* --- Aktywny filtr kolumny: jasna czerwień + glow dla nagłówka / Active column filter: bright red + glow for header --- */
.dataTable thead tr:first-child th.filter-active{
  box-shadow: inset 0 -2px 0 rgba(255,85,85,.40);
  background:linear-gradient(180deg, rgba(255,70,70,.18), rgba(255,70,70,.07));
}
.dataTable tbody tr:nth-child(odd){background:var(--zebra-odd)}
.dataTable tbody tr:nth-child(even){background:var(--zebra-even)}
.dataTable tbody tr:hover{background:var(--hover)}
.dataTable tbody tr.row-selected{background:var(--row-selected)}
.dataTable th,
.dataTable td{
  vertical-align:top;
  padding:8px 9px;
  border-bottom:1px solid var(--div);
}
.dataTable th{
  text-align:left;
  cursor:pointer;
  user-select:none;
  white-space:normal;
}
.dataTable .sortMark{color:rgba(207,245,220,.7)}
th .filter{
  width:100%;
  margin-top:6px;
  padding:6px 6px;
  border-radius:4px;
  border:1px solid var(--b2);
  background:var(--bg);
  color:var(--text);
  font-size:12px;
  outline:none;
}
td.num{text-align:right; color:var(--code)}
td.center{text-align:center}
.tag{
  display:inline-block;
  padding:3px 6px;
  border:1px solid var(--b);
  background:rgba(22,198,12,.06);
  border-radius:4px;
  font-size:11px;
  letter-spacing:.10em;
  text-transform:uppercase;
  cursor:pointer;
  margin:2px 4px 2px 0;
}
.tag:hover{background:rgba(22,198,12,.10)}
/* Popover */
.popover{
  position:fixed;
  right:16px;
  bottom:16px;
  width:min(520px, calc(100vw - 32px));
  max-height:min(70vh, 520px);
  display:none;
  flex-direction:column;
  background:var(--panel2);
  border:1px solid var(--b);
  border-radius:4px;
  box-shadow:0 0 16px rgba(22,198,12,.10);
  overflow:hidden;
  z-index:50;
}
.popover[aria-hidden="false"]{display:flex}
.popoverHeader{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 12px;
  border-bottom:1px solid var(--div);
  background:rgba(22,198,12,.04);
}
.popoverTitle{
  flex:1;
  min-width:0;
  padding-right:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--code);
  font-size:12px;
  word-break:break-word;
}
.iconBtn{
  border:1px solid var(--b2);
  background:rgba(22,198,12,.06);
  color:var(--text);
  border-radius:4px;
  padding:6px 8px;
  cursor:pointer;
}
.popoverBody{
  padding:8px 12px 12px;
  color:rgba(207,245,220,.92);
  font-size:13px;
  overflow:auto;
  flex:1;
  min-height:0;
  white-space:pre-wrap;
}
.popoverBlock + .popoverBlock{margin-top:8px}
.popoverLabel{
  color:var(--code);
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:11px;
}

/* Modal */
.modal{position:fixed; inset:0; background:rgba(0,0,0,.55); display:none; z-index:60; padding:16px}
.modal[aria-hidden="false"]{display:grid; place-items:center}
.modalCard{
  width:min(980px, 100%);
  max-height:calc(100vh - 32px);
  background:var(--panel2);
  border:1px solid var(--b);
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 0 16px rgba(22,198,12,.10);
}
.modalHeader{display:flex; justify-content:space-between; align-items:center; padding:10px 12px; border-bottom:1px solid var(--div); background:rgba(22,198,12,.04)}
.modalTitle{letter-spacing:.14em; text-transform:uppercase; color:var(--code)}
.modalBody{padding:12px; overflow:auto; max-height:calc(100vh - 120px)}
.compareTable{width:100%; border-collapse:collapse}
.compareTable th,.compareTable td{border-bottom:1px solid var(--div); padding:8px; vertical-align:top}
.compareTable th{color:var(--code); background:rgba(22,198,12,.04)}
.compareTable tbody tr:nth-child(odd){background:var(--zebra-odd)}
.compareTable tbody tr:nth-child(even){background:var(--zebra-even)}
.compareTable tbody tr:hover{background:var(--hover)}
.compareDiff{color:#E6B35C}

/* Responsive */
@media (max-width: 980px){
  .main{grid-template-columns:1fr}
}


/* Column tweaks */
/* Kolumna wyboru (pierwsza, ✓) — stała szerokość we wszystkich zakładkach */
.tableWrap table th:first-child,
.tableWrap table td:first-child{
  min-width:8ch;
  max-width:8ch;
  width:8ch;
  text-align:center;
}
/* Bestiariusz */
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Nazwa"]{min-width:26ch}
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Typ"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Typ"]{min-width:14ch; text-align:left}
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Zagrożenie"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Zagrożenie"]{min-width:5ch; text-align:center}
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Słowa Kluczowe"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Słowa Kluczowe"]{min-width:28ch}
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="S"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="S"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Wt"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Wt"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Zr"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Zr"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="I"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="I"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="SW"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="SW"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Int"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Int"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Ogd"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Ogd"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Odporność (w tym WP)"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Odporność (w tym WP)"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Wartość Pancerza"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Wartość Pancerza"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Obrona"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Obrona"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Żywotność"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Żywotność"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Odporność Psychiczna"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Odporność Psychiczna"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Upór"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Upór"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Odwaga"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Odwaga"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Szybkość"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Szybkość"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Rozmiar"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Rozmiar"]{text-align:center}
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="S"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="S"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Wt"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Wt"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Zr"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Zr"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="I"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="I"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="SW"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="SW"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Int"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Int"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Ogd"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Ogd"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Odporność (w tym WP)"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Odporność (w tym WP)"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Wartość Pancerza"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Wartość Pancerza"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Obrona"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Obrona"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Żywotność"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Żywotność"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Odporność Psychiczna"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Odporność Psychiczna"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Upór"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Upór"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Odwaga"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Odwaga"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Szybkość"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Szybkość"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Rozmiar"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Rozmiar"]{min-width:3ch; text-align:center}
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Umiejętności"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Umiejętności"]{min-width:28ch}
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Premie"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Premie"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Zdolności"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Zdolności"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Zdolności Hordy"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Zdolności Hordy"],
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Opcje Hordy"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Opcje Hordy"]{min-width:60ch}
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Atak"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Atak"]{min-width:50ch}
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Rozmiar"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Rozmiar"]{min-width:7ch}
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Podręcznik"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Podręcznik"]{min-width:17ch}
.tableWrap table[data-sheet="Bestiariusz"] th[data-col="Strona"],
.tableWrap table[data-sheet="Bestiariusz"] td[data-col="Strona"]{min-width:6ch; text-align:center}

/* Tabela Rozmiarow */
.tableWrap table[data-sheet="Tabela Rozmiarów"] th[data-col="Rozmiar"],
.tableWrap table[data-sheet="Tabela Rozmiarów"] td[data-col="Rozmiar"]{min-width:8ch}
.tableWrap table[data-sheet="Tabela Rozmiarów"] th[data-col="Modyfikator Testu Ataku"],
.tableWrap table[data-sheet="Tabela Rozmiarów"] td[data-col="Modyfikator Testu Ataku"]{min-width:26ch; text-align:center}
.tableWrap table[data-sheet="Tabela Rozmiarów"] th[data-col="Zmniejszenie Poziomu Ukrycia"],
.tableWrap table[data-sheet="Tabela Rozmiarów"] td[data-col="Zmniejszenie Poziomu Ukrycia"]{min-width:26ch; text-align:center}
.tableWrap table[data-sheet="Tabela Rozmiarów"] th[data-col="Przykłady"],
.tableWrap table[data-sheet="Tabela Rozmiarów"] td[data-col="Przykłady"]{min-width:85ch; text-align:left}

/* Archetypy */
.tableWrap table[data-sheet="Archetypy"] th[data-col="Poziom"],
.tableWrap table[data-sheet="Archetypy"] td[data-col="Poziom"]{min-width:2ch; text-align:center}
.tableWrap table[data-sheet="Archetypy"] th[data-col="Frakcja"],
.tableWrap table[data-sheet="Archetypy"] td[data-col="Frakcja"],
.tableWrap table[data-sheet="Archetypy"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Archetypy"] td[data-col="Nazwa"],
.tableWrap table[data-sheet="Archetypy"] th[data-col="Gatunek"],
.tableWrap table[data-sheet="Archetypy"] td[data-col="Gatunek"]{min-width:26ch}
.tableWrap table[data-sheet="Archetypy"] th[data-col="Koszt XP"],
.tableWrap table[data-sheet="Archetypy"] td[data-col="Koszt XP"],
.tableWrap table[data-sheet="Archetypy"] th[data-col="Koszt PD"],
.tableWrap table[data-sheet="Archetypy"] td[data-col="Koszt PD"]{min-width:4ch; text-align:center}
.tableWrap table[data-sheet="Archetypy"] th[data-col="Słowa Kluczowe"],
.tableWrap table[data-sheet="Archetypy"] td[data-col="Słowa Kluczowe"],
.tableWrap table[data-sheet="Archetypy"] th[data-col="Atrybuty Archetypu"],
.tableWrap table[data-sheet="Archetypy"] td[data-col="Atrybuty Archetypu"],
.tableWrap table[data-sheet="Archetypy"] th[data-col="Umiejętności Archetypu"],
.tableWrap table[data-sheet="Archetypy"] td[data-col="Umiejętności Archetypu"]{min-width:26ch}
.tableWrap table[data-sheet="Archetypy"] th[data-col="Zdolność Archetypu"],
.tableWrap table[data-sheet="Archetypy"] td[data-col="Zdolność Archetypu"],
.tableWrap table[data-sheet="Archetypy"] th[data-col="Ekwipunek"],
.tableWrap table[data-sheet="Archetypy"] td[data-col="Ekwipunek"]{min-width:46ch}
.tableWrap table[data-sheet="Archetypy"] th[data-col="Inne"],
.tableWrap table[data-sheet="Archetypy"] td[data-col="Inne"]{min-width:10ch}
.tableWrap table[data-sheet="Archetypy"] th[data-col="Podręcznik"],
.tableWrap table[data-sheet="Archetypy"] td[data-col="Podręcznik"]{min-width:17ch}
.tableWrap table[data-sheet="Archetypy"] th[data-col="Strona"],
.tableWrap table[data-sheet="Archetypy"] td[data-col="Strona"]{min-width:6ch; text-align:center}

/* Pakiety Wyniesienia */
.tableWrap table[data-sheet="Pakiety Wyniesienia"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Pakiety Wyniesienia"] td[data-col="Nazwa"]{min-width:26ch}
.tableWrap table[data-sheet="Pakiety Wyniesienia"] th[data-col="Opis"],
.tableWrap table[data-sheet="Pakiety Wyniesienia"] td[data-col="Opis"]{min-width:56ch}
.tableWrap table[data-sheet="Pakiety Wyniesienia"] th[data-col="Koszt PD"],
.tableWrap table[data-sheet="Pakiety Wyniesienia"] td[data-col="Koszt PD"]{min-width:26ch}
.tableWrap table[data-sheet="Pakiety Wyniesienia"] th[data-col="Wymagania"],
.tableWrap table[data-sheet="Pakiety Wyniesienia"] td[data-col="Wymagania"],
.tableWrap table[data-sheet="Pakiety Wyniesienia"] th[data-col="Słowa Kluczowe"],
.tableWrap table[data-sheet="Pakiety Wyniesienia"] td[data-col="Słowa Kluczowe"],
.tableWrap table[data-sheet="Pakiety Wyniesienia"] th[data-col="Premia Wpływu"],
.tableWrap table[data-sheet="Pakiety Wyniesienia"] td[data-col="Premia Wpływu"]{min-width:26ch}
.tableWrap table[data-sheet="Pakiety Wyniesienia"] th[data-col="Pamiętna historia"],
.tableWrap table[data-sheet="Pakiety Wyniesienia"] td[data-col="Pamiętna historia"],
.tableWrap table[data-sheet="Pakiety Wyniesienia"] th[data-col="Ekwipunek"],
.tableWrap table[data-sheet="Pakiety Wyniesienia"] td[data-col="Ekwipunek"]{min-width:46ch}
.tableWrap table[data-sheet="Pakiety Wyniesienia"] th[data-col="Podręcznik"],
.tableWrap table[data-sheet="Pakiety Wyniesienia"] td[data-col="Podręcznik"]{min-width:17ch}
.tableWrap table[data-sheet="Pakiety Wyniesienia"] th[data-col="Strona"],
.tableWrap table[data-sheet="Pakiety Wyniesienia"] td[data-col="Strona"]{min-width:6ch; text-align:center}

/* Premie Frakcji */
.tableWrap table[data-sheet="Premie Frakcji"] th[data-col="Frakcja"],
.tableWrap table[data-sheet="Premie Frakcji"] td[data-col="Frakcja"]{min-width:26ch}
.tableWrap table[data-sheet="Premie Frakcji"] th[data-col="Premia 1"],
.tableWrap table[data-sheet="Premie Frakcji"] td[data-col="Premia 1"],
.tableWrap table[data-sheet="Premie Frakcji"] th[data-col="Premia 2"],
.tableWrap table[data-sheet="Premie Frakcji"] td[data-col="Premia 2"],
.tableWrap table[data-sheet="Premie Frakcji"] th[data-col="Premia 3"],
.tableWrap table[data-sheet="Premie Frakcji"] td[data-col="Premia 3"]{min-width:56ch}

/* Gatunki */
.tableWrap table[data-sheet="Gatunki"] th[data-col="Gatunek"],
.tableWrap table[data-sheet="Gatunki"] td[data-col="Gatunek"]{min-width:26ch}
.tableWrap table[data-sheet="Gatunki"] th[data-col="Koszt PD"],
.tableWrap table[data-sheet="Gatunki"] td[data-col="Koszt PD"]{min-width:4ch; text-align:center}
.tableWrap table[data-sheet="Gatunki"] th[data-col="Atrybuty"],
.tableWrap table[data-sheet="Gatunki"] td[data-col="Atrybuty"],
.tableWrap table[data-sheet="Gatunki"] th[data-col="Umiejętności"],
.tableWrap table[data-sheet="Gatunki"] td[data-col="Umiejętności"]{min-width:26ch}
.tableWrap table[data-sheet="Gatunki"] th[data-col="Zdolności gatunkowe"],
.tableWrap table[data-sheet="Gatunki"] td[data-col="Zdolności gatunkowe"]{min-width:46ch}
.tableWrap table[data-sheet="Gatunki"] th[data-col="Rozmiar"],
.tableWrap table[data-sheet="Gatunki"] td[data-col="Rozmiar"]{min-width:10ch; text-align:center}
.tableWrap table[data-sheet="Gatunki"] th[data-col="Szybkość"],
.tableWrap table[data-sheet="Gatunki"] td[data-col="Szybkość"]{min-width:4ch; text-align:center}

/* Slowa Kluczowe Frakcji */
.tableWrap table[data-sheet="Słowa Kluczowe Frakcji"] th[data-col="Frakcja"],
.tableWrap table[data-sheet="Słowa Kluczowe Frakcji"] td[data-col="Frakcja"],
.tableWrap table[data-sheet="Słowa Kluczowe Frakcji"] th[data-col="Słowo Kluczowe"],
.tableWrap table[data-sheet="Słowa Kluczowe Frakcji"] td[data-col="Słowo Kluczowe"]{min-width:28ch}
.tableWrap table[data-sheet="Słowa Kluczowe Frakcji"] th[data-col="Efekt"],
.tableWrap table[data-sheet="Słowa Kluczowe Frakcji"] td[data-col="Efekt"]{min-width:56ch}
.tableWrap table[data-sheet="Słowa Kluczowe Frakcji"] th[data-col="Opis"],
.tableWrap table[data-sheet="Słowa Kluczowe Frakcji"] td[data-col="Opis"]{min-width:26ch}

/* Implanty Astartes */
.tableWrap table[data-sheet="Implanty Astartes"] th[data-col="Numer"],
.tableWrap table[data-sheet="Implanty Astartes"] td[data-col="Numer"]{min-width:4ch; text-align:center}
.tableWrap table[data-sheet="Implanty Astartes"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Implanty Astartes"] td[data-col="Nazwa"]{min-width:26ch}
.tableWrap table[data-sheet="Implanty Astartes"] th[data-col="Opis"],
.tableWrap table[data-sheet="Implanty Astartes"] td[data-col="Opis"]{min-width:26ch}
/* Zakony Pierwszego Powołania */
.tableWrap table[data-sheet="Zakony Pierwszego Powołania"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Zakony Pierwszego Powołania"] td[data-col="Nazwa"]{min-width:26ch}
.tableWrap table[data-sheet="Zakony Pierwszego Powołania"] th[data-col="Opis"],
.tableWrap table[data-sheet="Zakony Pierwszego Powołania"] td[data-col="Opis"]{min-width:56ch}
.tableWrap table[data-sheet="Zakony Pierwszego Powołania"] th[data-col="Zaleta"],
.tableWrap table[data-sheet="Zakony Pierwszego Powołania"] td[data-col="Zaleta"]{min-width:26ch}
.tableWrap table[data-sheet="Zakony Pierwszego Powołania"] th[data-col="Wada"],
.tableWrap table[data-sheet="Zakony Pierwszego Powołania"] td[data-col="Wada"]{min-width:26ch}

/* Specjalne Bonusy Frakcji */
.tableWrap table[data-sheet="Specjalne Bonusy Frakcji"] th[data-col="Frakcja"],
.tableWrap table[data-sheet="Specjalne Bonusy Frakcji"] td[data-col="Frakcja"],
.tableWrap table[data-sheet="Specjalne Bonusy Wrogów"] th[data-col="Frakcja"],
.tableWrap table[data-sheet="Specjalne Bonusy Wrogów"] td[data-col="Frakcja"],
.tableWrap table[data-sheet="Specjalne Bonusy Frakcji"] th[data-col="Rodzaj"],
.tableWrap table[data-sheet="Specjalne Bonusy Frakcji"] td[data-col="Rodzaj"],
.tableWrap table[data-sheet="Specjalne Bonusy Wrogów"] th[data-col="Rodzaj"],
.tableWrap table[data-sheet="Specjalne Bonusy Wrogów"] td[data-col="Rodzaj"],
.tableWrap table[data-sheet="Specjalne Bonusy Frakcji"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Specjalne Bonusy Frakcji"] td[data-col="Nazwa"],
.tableWrap table[data-sheet="Specjalne Bonusy Wrogów"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Specjalne Bonusy Wrogów"] td[data-col="Nazwa"],
.tableWrap table[data-sheet="Specjalne Bonusy Frakcji"] th[data-col="Efekt"],
.tableWrap table[data-sheet="Specjalne Bonusy Frakcji"] td[data-col="Efekt"],
.tableWrap table[data-sheet="Specjalne Bonusy Wrogów"] th[data-col="Efekt"],
.tableWrap table[data-sheet="Specjalne Bonusy Wrogów"] td[data-col="Efekt"]{min-width:26ch}
.tableWrap table[data-sheet="Specjalne Bonusy Frakcji"] th[data-col="Opis"],
.tableWrap table[data-sheet="Specjalne Bonusy Frakcji"] td[data-col="Opis"],
.tableWrap table[data-sheet="Specjalne Bonusy Wrogów"] th[data-col="Opis"],
.tableWrap table[data-sheet="Specjalne Bonusy Wrogów"] td[data-col="Opis"]{min-width:56ch}

/* Cechy / Stany / Słowa kluczowe */
.tableWrap table[data-sheet="Cechy"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Cechy"] td[data-col="Nazwa"],
.tableWrap table[data-sheet="Stany"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Stany"] td[data-col="Nazwa"],
.tableWrap table[data-sheet="Słowa Kluczowe"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Słowa Kluczowe"] td[data-col="Nazwa"]{min-width:26ch}
.tableWrap table[data-sheet="Cechy"] th[data-col="Typ"],
.tableWrap table[data-sheet="Cechy"] td[data-col="Typ"],
.tableWrap table[data-sheet="Stany"] th[data-col="Typ"],
.tableWrap table[data-sheet="Stany"] td[data-col="Typ"],
.tableWrap table[data-sheet="Słowa Kluczowe"] th[data-col="Typ"],
.tableWrap table[data-sheet="Słowa Kluczowe"] td[data-col="Typ"]{min-width:14ch}
.tableWrap table[data-sheet="Cechy"] th[data-col="Opis"],
.tableWrap table[data-sheet="Cechy"] td[data-col="Opis"],
.tableWrap table[data-sheet="Stany"] th[data-col="Opis"],
.tableWrap table[data-sheet="Stany"] td[data-col="Opis"],
.tableWrap table[data-sheet="Słowa Kluczowe"] th[data-col="Opis"],
.tableWrap table[data-sheet="Słowa Kluczowe"] td[data-col="Opis"]{min-width:56ch}

/* Augumentacje / Ekwipunek */
.tableWrap table[data-sheet="Augumentacje"] th[data-col="Typ"],
.tableWrap table[data-sheet="Augumentacje"] td[data-col="Typ"],
.tableWrap table[data-sheet="Ekwipunek"] th[data-col="Typ"],
.tableWrap table[data-sheet="Ekwipunek"] td[data-col="Typ"]{min-width:14ch}
.tableWrap table[data-sheet="Augumentacje"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Augumentacje"] td[data-col="Nazwa"],
.tableWrap table[data-sheet="Ekwipunek"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Ekwipunek"] td[data-col="Nazwa"]{min-width:26ch}
.tableWrap table[data-sheet="Augumentacje"] th[data-col="Opis"],
.tableWrap table[data-sheet="Augumentacje"] td[data-col="Opis"],
.tableWrap table[data-sheet="Ekwipunek"] th[data-col="Opis"],
.tableWrap table[data-sheet="Ekwipunek"] td[data-col="Opis"]{min-width:56ch}
.tableWrap table[data-sheet="Augumentacje"] th[data-col="Efekt"],
.tableWrap table[data-sheet="Augumentacje"] td[data-col="Efekt"],
.tableWrap table[data-sheet="Ekwipunek"] th[data-col="Efekt"],
.tableWrap table[data-sheet="Ekwipunek"] td[data-col="Efekt"]{min-width:26ch}
.tableWrap table[data-sheet="Augumentacje"] th[data-col="Koszt"],
.tableWrap table[data-sheet="Augumentacje"] td[data-col="Koszt"],
.tableWrap table[data-sheet="Ekwipunek"] th[data-col="Koszt"],
.tableWrap table[data-sheet="Ekwipunek"] td[data-col="Koszt"]{min-width:3ch; text-align:center}
.tableWrap table[data-sheet="Augumentacje"] th[data-col="Dostępność"],
.tableWrap table[data-sheet="Augumentacje"] td[data-col="Dostępność"],
.tableWrap table[data-sheet="Ekwipunek"] th[data-col="Dostępność"],
.tableWrap table[data-sheet="Ekwipunek"] td[data-col="Dostępność"]{min-width:3ch; text-align:center}
.tableWrap table[data-sheet="Augumentacje"] th[data-col="Słowa Kluczowe"],
.tableWrap table[data-sheet="Augumentacje"] td[data-col="Słowa Kluczowe"],
.tableWrap table[data-sheet="Ekwipunek"] th[data-col="Słowa Kluczowe"],
.tableWrap table[data-sheet="Ekwipunek"] td[data-col="Słowa Kluczowe"]{min-width:28ch}
.tableWrap table[data-sheet="Augumentacje"] th[data-col="Koszt IM"],
.tableWrap table[data-sheet="Augumentacje"] td[data-col="Koszt IM"],
.tableWrap table[data-sheet="Ekwipunek"] th[data-col="Koszt IM"],
.tableWrap table[data-sheet="Ekwipunek"] td[data-col="Koszt IM"]{min-width:8ch; text-align:center}

/* Psionika */
.tableWrap table[data-sheet="Psionika"] th[data-col="Typ"],
.tableWrap table[data-sheet="Psionika"] td[data-col="Typ"]{min-width:14ch}
.tableWrap table[data-sheet="Psionika"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Psionika"] td[data-col="Nazwa"]{min-width:26ch}
.tableWrap table[data-sheet="Psionika"] th[data-col="Koszt PD"],
.tableWrap table[data-sheet="Psionika"] td[data-col="Koszt PD"]{min-width:4ch; text-align:center}
.tableWrap table[data-sheet="Psionika"] th[data-col="ST"],
.tableWrap table[data-sheet="Psionika"] td[data-col="ST"]{min-width:10ch; text-align:center}
.tableWrap table[data-sheet="Psionika"] th[data-col="Aktywacja"],
.tableWrap table[data-sheet="Psionika"] td[data-col="Aktywacja"]{min-width:10ch}
.tableWrap table[data-sheet="Psionika"] th[data-col="Czas Trwania"],
.tableWrap table[data-sheet="Psionika"] td[data-col="Czas Trwania"]{min-width:15ch}
.tableWrap table[data-sheet="Psionika"] th[data-col="Zasięg"],
.tableWrap table[data-sheet="Psionika"] td[data-col="Zasięg"]{min-width:8ch; text-align:center}
.tableWrap table[data-sheet="Psionika"] th[data-col="Wiele Celów"],
.tableWrap table[data-sheet="Psionika"] td[data-col="Wiele Celów"]{min-width:4ch; text-align:center}
.tableWrap table[data-sheet="Psionika"] th[data-col="Słowa Kluczowe"],
.tableWrap table[data-sheet="Psionika"] td[data-col="Słowa Kluczowe"]{min-width:28ch}
.tableWrap table[data-sheet="Psionika"] th[data-col="Efekt"],
.tableWrap table[data-sheet="Psionika"] td[data-col="Efekt"]{min-width:56ch}
.tableWrap table[data-sheet="Psionika"] th[data-col="Opis"],
.tableWrap table[data-sheet="Psionika"] td[data-col="Opis"],
.tableWrap table[data-sheet="Psionika"] th[data-col="Wzmocnienie"],
.tableWrap table[data-sheet="Psionika"] td[data-col="Wzmocnienie"]{min-width:26ch}

/* Modlitwy */
.tableWrap table[data-sheet="Modlitwy"] th[data-col="Typ"],
.tableWrap table[data-sheet="Modlitwy"] td[data-col="Typ"]{min-width:14ch}
.tableWrap table[data-sheet="Modlitwy"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Modlitwy"] td[data-col="Nazwa"]{min-width:26ch}
.tableWrap table[data-sheet="Modlitwy"] th[data-col="Koszt PD"],
.tableWrap table[data-sheet="Modlitwy"] td[data-col="Koszt PD"]{min-width:4ch; text-align:center}
.tableWrap table[data-sheet="Modlitwy"] th[data-col="Wymagania"],
.tableWrap table[data-sheet="Modlitwy"] td[data-col="Wymagania"]{min-width:26ch}
.tableWrap table[data-sheet="Modlitwy"] th[data-col="Efekt"],
.tableWrap table[data-sheet="Modlitwy"] td[data-col="Efekt"]{min-width:56ch}

/* Talenty */
.tableWrap table[data-sheet="Talenty"] th[data-col="Typ"],
.tableWrap table[data-sheet="Talenty"] td[data-col="Typ"]{min-width:14ch}
.tableWrap table[data-sheet="Talenty"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Talenty"] td[data-col="Nazwa"]{min-width:26ch}
.tableWrap table[data-sheet="Talenty"] th[data-col="Koszt PD"],
.tableWrap table[data-sheet="Talenty"] td[data-col="Koszt PD"]{min-width:4ch; text-align:center}
.tableWrap table[data-sheet="Talenty"] th[data-col="Wymagania"],
.tableWrap table[data-sheet="Talenty"] td[data-col="Wymagania"]{min-width:26ch}
.tableWrap table[data-sheet="Talenty"] th[data-col="Opis"],
.tableWrap table[data-sheet="Talenty"] td[data-col="Opis"]{min-width:26ch}
.tableWrap table[data-sheet="Talenty"] th[data-col="Efekt"],
.tableWrap table[data-sheet="Talenty"] td[data-col="Efekt"]{min-width:56ch}

/* Bronie */
.tableWrap table[data-sheet="Bronie"] th[data-col="Rodzaj"],
.tableWrap table[data-sheet="Bronie"] td[data-col="Rodzaj"],
.tableWrap table[data-sheet="Bronie"] th[data-col="Typ"],
.tableWrap table[data-sheet="Bronie"] td[data-col="Typ"]{min-width:14ch}
.tableWrap table[data-sheet="Bronie"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Bronie"] td[data-col="Nazwa"]{min-width:26ch}
.tableWrap table[data-sheet="Bronie"] th[data-col="DK"],
.tableWrap table[data-sheet="Bronie"] td[data-col="DK"],
.tableWrap table[data-sheet="Bronie"] th[data-col="PP"],
.tableWrap table[data-sheet="Bronie"] td[data-col="PP"],
.tableWrap table[data-sheet="Bronie"] th[data-col="Obrażenia"],
.tableWrap table[data-sheet="Bronie"] td[data-col="Obrażenia"]{text-align:center}
.tableWrap table[data-sheet="Bronie"] th[data-col="Szybkostrzelność"],
.tableWrap table[data-sheet="Bronie"] td[data-col="Szybkostrzelność"]{min-width:8ch; text-align:center}
.tableWrap table[data-sheet="Bronie"] th[data-col="Podręcznik"],
.tableWrap table[data-sheet="Bronie"] td[data-col="Podręcznik"]{min-width:17ch}
.tableWrap table[data-sheet="Bronie"] th[data-col="Strona"],
.tableWrap table[data-sheet="Bronie"] td[data-col="Strona"]{min-width:6ch; text-align:center}
.tableWrap table[data-sheet="Bronie"] th[data-col="Zasięg"],
.tableWrap table[data-sheet="Bronie"] td[data-col="Zasięg"]{min-width:18ch; white-space:nowrap; text-align:center}
.tableWrap table[data-sheet="Bronie"] th[data-col="Dostępność"],
.tableWrap table[data-sheet="Bronie"] td[data-col="Dostępność"]{min-width:4ch; text-align:center}
.tableWrap table[data-sheet="Bronie"] th[data-col="Koszt"],
.tableWrap table[data-sheet="Bronie"] td[data-col="Koszt"]{min-width:4ch; text-align:center}
.tableWrap table[data-sheet="Bronie"] th[data-col="Koszt IM"],
.tableWrap table[data-sheet="Bronie"] td[data-col="Koszt IM"]{min-width:8ch; text-align:center}
.tableWrap table[data-sheet="Bronie"] th[data-col="Słowa Kluczowe"],
.tableWrap table[data-sheet="Bronie"] td[data-col="Słowa Kluczowe"]{min-width:28ch}
.tableWrap table[data-sheet="Bronie"] th[data-col="Cechy"],
.tableWrap table[data-sheet="Bronie"] td[data-col="Cechy"]{min-width:32ch}

/* Pancerze */
.tableWrap table[data-sheet="Pancerze"] th[data-col="Typ"],
.tableWrap table[data-sheet="Pancerze"] td[data-col="Typ"]{min-width:14ch}
.tableWrap table[data-sheet="Pancerze"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Pancerze"] td[data-col="Nazwa"]{min-width:26ch}
.tableWrap table[data-sheet="Pancerze"] th[data-col="WP"],
.tableWrap table[data-sheet="Pancerze"] td[data-col="WP"]{min-width:4ch; text-align:center}
.tableWrap table[data-sheet="Pancerze"] th[data-col="Cechy"],
.tableWrap table[data-sheet="Pancerze"] td[data-col="Cechy"]{min-width:32ch}
.tableWrap table[data-sheet="Pancerze"] th[data-col="Koszt"],
.tableWrap table[data-sheet="Pancerze"] td[data-col="Koszt"]{min-width:4ch; text-align:center}
.tableWrap table[data-sheet="Pancerze"] th[data-col="Dostępność"],
.tableWrap table[data-sheet="Pancerze"] td[data-col="Dostępność"]{min-width:4ch; text-align:center}
.tableWrap table[data-sheet="Pancerze"] th[data-col="Słowa Kluczowe"],
.tableWrap table[data-sheet="Pancerze"] td[data-col="Słowa Kluczowe"]{min-width:28ch}
.tableWrap table[data-sheet="Pancerze"] th[data-col="Koszt IM"],
.tableWrap table[data-sheet="Pancerze"] td[data-col="Koszt IM"]{min-width:8ch; text-align:center}
.tableWrap table[data-sheet="Pancerze"] th[data-col="Podręcznik"],
.tableWrap table[data-sheet="Pancerze"] td[data-col="Podręcznik"]{min-width:17ch}
.tableWrap table[data-sheet="Pancerze"] th[data-col="Strona"],
.tableWrap table[data-sheet="Pancerze"] td[data-col="Strona"]{min-width:6ch; text-align:center}
.tableWrap table[data-sheet="Trafienia Krytyczne"] th[data-col="Rzut k66"],
.tableWrap table[data-sheet="Trafienia Krytyczne"] td[data-col="Rzut k66"]{min-width:6ch; text-align:center; white-space:nowrap}
.tableWrap table[data-sheet="Trafienia Krytyczne"] th[data-col="Opis"],
.tableWrap table[data-sheet="Trafienia Krytyczne"] td[data-col="Opis"]{min-width:56ch; text-align:left}
.tableWrap table[data-sheet="Trafienia Krytyczne"] th[data-col="Efekt"],
.tableWrap table[data-sheet="Trafienia Krytyczne"] td[data-col="Efekt"]{min-width:26ch; text-align:left}
.tableWrap table[data-sheet="Trafienia Krytyczne"] th[data-col="Chwała"],
.tableWrap table[data-sheet="Trafienia Krytyczne"] td[data-col="Chwała"]{min-width:26ch; text-align:left}
.tableWrap table[data-sheet="Groza Osnowy"] th[data-col="Rzut k66"],
.tableWrap table[data-sheet="Groza Osnowy"] td[data-col="Rzut k66"]{min-width:6ch; text-align:center; white-space:nowrap}
.tableWrap table[data-sheet="Groza Osnowy"] th[data-col="Efekt"],
.tableWrap table[data-sheet="Groza Osnowy"] td[data-col="Efekt"]{min-width:56ch; text-align:left}
.tableWrap table[data-sheet="Skrót Zasad"] th[data-col="Typ"],
.tableWrap table[data-sheet="Skrót Zasad"] td[data-col="Typ"]{min-width:32ch; text-align:left}
.tableWrap table[data-sheet="Skrót Zasad"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Skrót Zasad"] td[data-col="Nazwa"]{min-width:20ch; text-align:left}
.tableWrap table[data-sheet="Skrót Zasad"] th[data-col="Opis"],
.tableWrap table[data-sheet="Skrót Zasad"] td[data-col="Opis"]{min-width:56ch; text-align:left}
.tableWrap table[data-sheet="Skrót Zasad"] th[data-col="Strona"],
.tableWrap table[data-sheet="Skrót Zasad"] td[data-col="Strona"]{min-width:11ch; text-align:center; white-space:nowrap}
.tableWrap table[data-sheet="Tryby Ognia"] th[data-col="Nazwa"],
.tableWrap table[data-sheet="Tryby Ognia"] td[data-col="Nazwa"]{min-width:20ch; text-align:left}
.tableWrap table[data-sheet="Tryby Ognia"] th[data-col="Opis"],
.tableWrap table[data-sheet="Tryby Ognia"] td[data-col="Opis"]{min-width:56ch; text-align:left}
.tableWrap table[data-sheet="Hordy"] th[data-col="Nazwa zasady"],
.tableWrap table[data-sheet="Hordy"] td[data-col="Nazwa zasady"]{min-width:26ch; text-align:left}
.tableWrap table[data-sheet="Hordy"] th[data-col="Opis zasady"],
.tableWrap table[data-sheet="Hordy"] td[data-col="Opis zasady"]{min-width:60ch; text-align:left}
.tableWrap table[data-sheet="Hordy"] th[data-col="Przykład"],
.tableWrap table[data-sheet="Hordy"] td[data-col="Przykład"]{min-width:60ch; text-align:left}
.tableWrap table[data-sheet="Kary do ST"] th[data-col="Ile celów/akcji"],
.tableWrap table[data-sheet="Kary do ST"] td[data-col="Ile celów/akcji"]{min-width:20ch; max-width:20ch; width:20ch; text-align:center}
.tableWrap table[data-sheet="Kary do ST"] th[data-col="Kara do ST"],
.tableWrap table[data-sheet="Kary do ST"] td[data-col="Kara do ST"]{min-width:20ch; max-width:20ch; width:20ch; text-align:center}
.tableWrap table[data-sheet="Kary do ST"]{
  table-layout:fixed;
  width:max-content;
}
/* Globalne wymuszenie szerokości i stylu kolumn źródłowych dla wszystkich zakładek */
.tableWrap table[data-sheet] th[data-col="Podręcznik"],
.tableWrap table[data-sheet] td[data-col="Podręcznik"]{
  min-width:17ch;
  max-width:none;
  text-align:left;
  white-space:normal;
}
.tableWrap table[data-sheet] th[data-col="Strona"],
.tableWrap table[data-sheet] td[data-col="Strona"]{
  min-width:6ch;
  max-width:auto;
  text-align:left;
  white-space:normal;
}
.tableWrap table[data-sheet] td[data-col="Strona"]{
  color:var(--code);
}

/* Notatki — override względem globalnych reguł Podręcznik/Strona */
.tableWrap table[data-sheet="Notatki"] th[data-col="Co"],
.tableWrap table[data-sheet="Notatki"] td[data-col="Co"]{
  min-width:20ch;
  max-width:auto;
  text-align:left;
  white-space:normal;
}
.tableWrap table[data-sheet="Notatki"] th[data-col="Podręcznik"],
.tableWrap table[data-sheet="Notatki"] td[data-col="Podręcznik"]{
  min-width:auto;
  max-width:none;
  text-align:left;
  white-space:normal;
}
.tableWrap table[data-sheet="Notatki"] th[data-col="Strona"],
.tableWrap table[data-sheet="Notatki"] td[data-col="Strona"]{
  min-width:6ch;
  max-width:auto;
  text-align:left;
  white-space:normal;
}
.slash{color:var(--code)}
.ref{color:var(--code); opacity:.9}
.caretref{color:var(--code); opacity:.95}
.inline-red{color:var(--red)}
.keyword-red{color:var(--red)}
.keyword-comma{color:var(--text)}
.inline-bold{font-weight:700}
.inline-italic{font-style:italic}
.inline-strike{
  text-decoration:line-through;
  color:var(--text-old);
}
.inline-strike.inline-red{color:var(--red)}
.dataTable tbody tr.row-old{color:var(--text-old)}
.dataTable tbody tr.row-old .keyword-comma,
.dataTable tbody tr.row-old .ref,
.dataTable tbody tr.row-old .caretref,
.dataTable tbody tr.row-old .slash{color:var(--text-old)}

/* Filter menu */
.filterBtn{margin-left:6px; width:24px; height:24px; display:inline-grid; place-items:center;
  border:1px solid var(--b2); background:rgba(22,198,12,.04); color:var(--text); border-radius:6px; cursor:pointer}
.filterBtn:hover{background:rgba(22,198,12,.08)}
/* --- Aktywny przycisk filtra: jasna czerwień + glow / Active filter button: bright red + glow --- */
.filterBtn.filter-active{
  border-color:rgba(255,85,85,.40);
  background:rgba(255,70,70,.20);
  box-shadow:0 0 0 1px rgba(255,85,85,.30), 0 0 10px rgba(255,85,85,.40);
  position:relative;
}
.filterBtn.filter-active::after{
  content:"●";
  font-size:9px;
  color:rgb(255,120,120);
  position:absolute;
  top:-4px;
  right:-2px;
}
.filterMenu{position:fixed; z-index:40; min-width:240px; max-width:320px; max-height:360px; overflow:auto;
  background:var(--panel); border:1px solid var(--b); border-radius:8px; box-shadow:0 0 16px rgba(22,198,12,.10);
  padding:10px; display:none}
.filterMenu[aria-hidden="false"]{display:block}
.filterMenu .fmTitle{font-family:var(--head); letter-spacing:.12em; text-transform:uppercase; font-size:12px; color:var(--code); margin-bottom:8px}
.filterMenu .fmSearch{width:100%; margin-bottom:8px}
.filterMenu .fmActions{display:flex; gap:8px; margin-bottom:8px}
.filterMenu .fmList{display:flex; flex-direction:column; gap:6px}
.filterMenu .fmItem{display:flex; gap:8px; align-items:flex-start}
.filterMenu .fmItem label{cursor:pointer}
.celltext{
  white-space:pre-wrap;
  line-height:1.45;
  word-break:normal;
  overflow-wrap:normal;
}
.clampable{cursor:pointer}
.clampHint{color:var(--text2)}
.tableFilters{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:6px 0 8px;
}
.dataTable thead tr:nth-child(2) th.noFilterCell{padding:8px 9px}
.tableFilters .filterRow{display:flex; gap:6px; align-items:center}
.tableFilters .filterRow .input{padding:8px 8px}

/* --- Bramka dostępu do prywatnych danych / Private data access gate --- */
