/* ══════════════════════════════════════════════════════════════════════
   ortho-panel.css — moduł Ortho w panelu (ortho-panel.js)

   Przeniesione z zaakceptowanej makiety (`makiety/v10-ortho-przypadek.html`
   i `makiety/v10.css`). Klasy z przedrostkiem `or-` pod korzeniem `.or`:
   panel ma własne `.k`, `.tab`, `.chip` — nazwy z makiety zderzyłyby się
   z nimi. Kolory, kroje, rozmiary, promienie: tokeny z paleta.css.
   ══════════════════════════════════════════════════════════════════════ */
.or{font-size:var(--fs-2);line-height:1.5;color:var(--t1)}
.or h2,.or h3,.or p{margin:0}
.or h2{font-family:var(--fd);font-size:var(--fs-4);font-weight:600;letter-spacing:-.012em;line-height:1.3}
.or .or-h3{font-size:var(--fs-2);font-weight:600;margin:18px 0 4px}
.or-demo{margin:0 0 var(--s4);padding:var(--s3) var(--s4);border-radius:var(--r-wewn);background:var(--karta);
  border:var(--bw) solid rgba(138,97,21,.32);font-size:var(--fs-1);color:var(--t2)}
.or-demo b{color:var(--t1);font-weight:600}
.or-demo ul{margin:6px 0 0;padding-left:18px}
.or-link{background:none;border:0;padding:0;font:inherit;color:var(--gold-d);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* ── siatka i karty ── */
.or-siatka{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.or-k{min-width:0;background:var(--white);border:var(--bw) solid var(--line);border-radius:var(--r-powierzchnia);
  padding:22px 24px;box-shadow:0 1px 2px rgba(35,32,27,.04)}
.or-s12,.or-siatka>.or-kafle{grid-column:span 12}.or-s7{grid-column:span 7}.or-s6{grid-column:span 6}.or-s5{grid-column:span 5}
.or-k-g{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);margin-bottom:18px}
.or-k-g>div{min-width:0}
.or-oko{display:block;font-size:var(--fs-0);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);margin-bottom:6px}
.or-k-opis{margin-top:3px;color:var(--t2);font-size:var(--fs-1)}
.or-odn{display:inline-flex;align-items:center;gap:4px;min-height:32px;color:var(--gold-d);font-size:var(--fs-1);font-weight:600;
  text-decoration:none;white-space:nowrap}
.or-odn:hover{text-decoration:underline;text-underline-offset:3px}
.or .or-przypis{margin-top:14px;padding-top:12px;border-top:var(--bw) solid var(--line);color:var(--t3);font-size:var(--fs-1);line-height:1.5}
.or-siatka>.or-przypis{border-top:0;margin-top:0;padding-top:0}
.or .or-pusto{color:var(--t2);font-size:var(--fs-1);line-height:1.5}
.or .or-blad{margin-bottom:12px;padding:10px 12px;border-radius:var(--r-wewn);background:rgba(165,63,63,.06);
  border:var(--bw) solid rgba(165,63,63,.3);color:var(--risk);font-size:var(--fs-1);font-weight:600}
.or .or-uwaga{margin:0 0 12px;padding:10px 12px;border-radius:var(--r-wewn);background:var(--karta);border:var(--bw) solid var(--line);
  font-size:var(--fs-1);color:var(--t2)}
.or-przycisk{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;
  border-radius:var(--r-kontrolka);border:var(--bw) solid var(--line2);background:var(--white);color:var(--t1);
  font:inherit;font-size:var(--fs-1);font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}
.or-przycisk:hover{background:var(--paper)}
.or-przycisk:focus-visible,.or-link:focus-visible,.or-filtry button:focus-visible{outline:2px solid var(--gold-d);outline-offset:2px}
.or-przycisk.glowny{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.or-przycisk.glowny:hover{background:var(--ink3)}
.or-chip{display:inline-flex;align-items:center;gap:5px;padding:1px 9px;border-radius:var(--r-pigulka);vertical-align:middle;
  font-size:var(--fs-0);font-weight:600;line-height:1.5;white-space:nowrap;border:var(--bw) solid var(--line2);color:var(--t2)}
.or-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}
.or-chip.bez::before{display:none}
.or-chip.ok{color:var(--ok);border-color:rgba(47,107,79,.3);background:rgba(47,107,79,.07)}
.or-chip.warn{color:var(--warn);border-color:rgba(138,97,21,.32);background:rgba(138,97,21,.07)}
.or-chip.risk{color:var(--risk);border-color:rgba(165,63,63,.3);background:rgba(165,63,63,.06)}
.or-chip.zloto{color:var(--gold-d);border-color:rgba(127,97,48,.3);background:rgba(201,162,78,.12)}
.or-delta{display:inline-flex;align-items:center;padding:1px 7px;border-radius:var(--r-pigulka);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.or-delta.plus{color:var(--ok);background:rgba(47,107,79,.09)}
.or-delta.minus{color:var(--risk);background:rgba(165,63,63,.08)}
.or-delta.neutr{color:var(--t2);background:rgba(28,26,22,.06)}
.or-aw{display:inline-grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--ink);
  color:var(--gold-l);font-size:.75rem;font-weight:600;letter-spacing:.02em}
.or-aw.maly{width:22px;height:22px}
.or-wykres{min-width:0}

/* ── nagłówek przypadku ── */
.or-glowa{min-width:0}
.or-okruchy{display:flex;flex-wrap:wrap;gap:6px;font-size:var(--fs-1);color:var(--t3);margin-bottom:6px}
.or-okruchy a{color:var(--t2);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}
.or-przyp-g{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}
.or .or-h1{font-family:var(--fd);font-size:var(--fs-5);font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.or-h1 span{color:var(--t3);font-weight:500;font-size:.7em}
.or-akcje{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.or-akcje-g{display:flex;gap:8px;flex-wrap:wrap}
.or-meta{display:flex;flex-wrap:wrap;gap:8px 28px;margin:14px 0 0;padding:0}
.or-meta div{min-width:0}
.or-meta dt{font-size:var(--fs-0);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t3)}
.or-meta dd{margin:2px 0 0;font-size:var(--fs-2);font-weight:500;display:flex;align-items:center;gap:6px;overflow-wrap:anywhere}

/* ── sygnały ── */
.or-sygnaly{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.or-syg{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r-wewn);background:var(--white);
  border:var(--bw) solid var(--line);border-left:3px solid var(--warn);min-width:0}
.or-syg.risk{border-left-color:var(--risk)}
.or-syg svg{width:16px;height:16px;flex:0 0 auto;margin-top:2px}
.or-syg.warn svg{color:var(--warn)}.or-syg.risk svg{color:var(--risk)}
.or-syg b{display:block;font-size:var(--fs-2);font-weight:600;line-height:1.35}
.or-syg span{display:block;font-size:var(--fs-1);color:var(--t2);margin-top:2px}

/* ── kafle ── */
.or-kafle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.or-kafel{min-width:0;display:flex;flex-direction:column;gap:2px;padding:18px 20px 14px}
.or-kafel .or-et{font-size:var(--fs-1);color:var(--t2);font-weight:500}
.or-kafel .or-w{font-family:var(--fd);font-size:var(--fs-5);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-top:4px;
  white-space:nowrap;font-variant-numeric:tabular-nums}
.or-kafel .or-w.risk{color:var(--risk)}
.or-kafel .or-w small{font-size:max(12px,.62em);font-weight:500;color:var(--t2);letter-spacing:0;margin-left:4px}
.or-kafel .or-pod{font-size:var(--fs-0);color:var(--t3);margin-top:6px}
.or-postep{height:6px;border-radius:3px;background:rgba(28,26,22,.08);margin-top:12px;display:flex;gap:2px;overflow:hidden}
.or-postep i{display:block;height:100%}
.or-postep .opl{background:var(--ink)}.or-postep .zal{background:var(--risk)}

/* ── tabele → karty na telefonie ── */
.or-tab{width:100%;border-collapse:collapse;font-size:var(--fs-1)}
.or-tab th{text-align:left;font-size:var(--fs-0);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t3);
  padding:0 10px 10px;border-bottom:var(--bw) solid var(--line2);white-space:nowrap}
.or-tab td{padding:12px 10px;border-bottom:var(--bw) solid var(--line);vertical-align:middle;font-variant-numeric:tabular-nums}
.or-tab tbody tr:last-child td{border-bottom:0}
.or-tab .r{text-align:right;white-space:nowrap}
.or-tab th:first-child,.or-tab td:first-child{padding-left:0}
.or-tab th:last-child,.or-tab td:last-child{padding-right:0}
.or-tab tbody tr:hover{background:rgba(201,162,78,.05)}
.or-tab tfoot td{border-top:var(--bw) solid var(--line2);border-bottom:0;font-weight:600}
.or-tab-koszty th:first-child{width:38%}
.or-sub{display:block;font-size:var(--fs-0);color:var(--t3);font-weight:400}
.or-typ{display:table;margin:3px 0 0 auto;padding:0 6px;border-radius:4px;font-size:.75rem;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;white-space:nowrap}
.or-typ.rez{border:var(--bw) dashed var(--t3);color:var(--t2)}
.or-typ.rzecz{background:var(--ink);color:var(--gold-l)}
.or-odch{font-weight:600}
.or-odch.plus{color:var(--risk)}.or-odch.minus{color:var(--ok)}.or-odch.zero{color:var(--t3);font-weight:400}
.or-tylko-mob{display:none}
.or-ramka{display:flex;gap:10px;margin-top:16px;padding:12px 14px;border-radius:var(--r-wewn);background:var(--karta);border:var(--bw) solid var(--line);
  font-size:var(--fs-1);color:var(--t2)}
.or-ramka svg{flex:0 0 auto;width:16px;height:16px;margin-top:2px;color:var(--gold-d)}
.or-ramka b{color:var(--t1);font-weight:600}
.or-przyp{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
.or-przyp b{font-weight:600;white-space:nowrap}
.or-przyp:hover b{text-decoration:underline;text-underline-offset:3px}
.or-przyp small{display:block;color:var(--t3);font-size:var(--fs-0)}
.or-syg-lista{display:inline-flex;flex-wrap:wrap;gap:4px}
.or-marza b{display:block;font-weight:600}
.or-marza small{color:var(--t3);font-size:var(--fs-0)}
.or-filtry{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.or-filtry button{min-height:32px;padding:0 12px;border-radius:var(--r-pigulka);border:var(--bw) solid var(--line2);background:var(--white);
  font:inherit;font-size:var(--fs-1);font-weight:500;color:var(--t2);cursor:pointer}
.or-filtry button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}

/* ── płatności i wizyty ── */
.or-harm{display:flex;gap:2px;height:28px;margin:4px 0 10px}
.or-harm i{display:block;height:100%;border-radius:3px;background:rgba(28,26,22,.09);min-width:2px}
.or-harm i.opl{background:var(--ink)}
.or-harm i.zal{background:var(--risk)}
.or-harm-leg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:var(--fs-0);color:var(--t2)}
.or-harm-leg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px;background:rgba(28,26,22,.12)}
.or-harm-leg i.opl{background:var(--ink)}.or-harm-leg i.zal{background:var(--risk)}
.or-liczby{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}
.or-liczby dt,.or-wiz-g dt{font-size:var(--fs-1);color:var(--t2)}
.or-liczby dd,.or-wiz-g dd{margin:2px 0 0;font-family:var(--fd);font-size:var(--fs-5);font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.or-liczby dd.risk{color:var(--risk)}
.or-wiz-g{display:flex;gap:28px;flex-wrap:wrap;margin:0 0 12px}
.or-wiz-g dd small{font-size:max(12px,.6em);color:var(--t3);font-weight:500;letter-spacing:0}
.or-raty{list-style:none;margin:14px 0 0;padding:0}
.or-raty li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:var(--bw) solid var(--line);font-size:var(--fs-1)}
.or-raty b{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.or-wiecej{margin-top:8px;font-size:var(--fs-1)}
.or-wiecej summary{cursor:pointer;color:var(--gold-d);font-weight:600;min-height:32px;display:flex;align-items:center}

/* ── formularze ── */
.or-form-k{border-color:rgba(127,97,48,.35)}
.or-pola{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}
.or-pole{display:flex;flex-direction:column;gap:4px;min-width:0}
.or-pole.szer{grid-column:1 / -1}
.or-pole[hidden]{display:none}
.or-pole label{font-size:var(--fs-1);font-weight:600;color:var(--t1)}
.or-pole label small{font-weight:400;color:var(--t3)}
.or-pole input,.or-pole select{min-height:40px;width:100%;min-width:0;padding:0 10px;border:var(--bw) solid var(--line2);border-radius:var(--r-kontrolka);
  background:var(--white);font:inherit;font-size:var(--fs-2);color:var(--t1)}
.or-pole input:focus-visible,.or-pole select:focus-visible{outline:2px solid var(--gold-d);outline-offset:1px}
.or-pomoc{font-size:var(--fs-0);color:var(--t3)}
.or-zestaw{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;margin:6px 0 0;padding:14px 0 0;
  border:0;border-top:var(--bw) solid var(--line);min-width:0}
.or-zestaw legend{padding:0;font-size:var(--fs-0);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t3)}
.or-kalk{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.or-kalk small{color:var(--t3);font-size:var(--fs-1)}
.or-form .or-akcje{margin:16px 0 0;justify-content:flex-start}

@media (max-width:1180px){
  .or-s7,.or-s6,.or-s5{grid-column:span 12}
  .or-sygnaly{grid-template-columns:minmax(0,1fr)}
  .or-kafle{grid-template-columns:repeat(2,minmax(0,1fr))}
  .or-pola,.or-zestaw{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* L2 (19.10.2026): tabela „Wszystkie przypadki” ma 7 kolumn i ok. 880 px
   szerokości minimalnej — przy 1024 px (menu 220 px + karta) wystawała poza
   okno i przewijała całą stronę w bok. W zakresie 641–1180 px jej wiersze
   układają się jak karty w dwóch kolumnach; poniżej 641 px zostają zwykłe
   karty z bloku telefonu. */
@media (min-width:641px) and (max-width:1180px){
  .or-k-g{flex-wrap:wrap}
  .or-tab-szeroka.karty thead,.or-tab-szeroka.karty thead tr,.or-tab-szeroka.karty thead th{display:block;position:absolute;left:0;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .or-tab-szeroka.karty{position:relative}
  .or-tab-szeroka.karty,.or-tab-szeroka.karty tbody{display:block;width:100%}
  .or-tab-szeroka.karty tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;padding:12px 0;border-bottom:var(--bw) solid var(--line)}
  .or-tab-szeroka.karty tbody tr:last-child{border-bottom:0}
  .or-tab-szeroka.karty td{display:flex;justify-content:flex-end;align-items:baseline;flex-wrap:wrap;gap:4px 8px;min-width:0;padding:3px 0;border:0;text-align:right;white-space:normal}
  .or-tab-szeroka.karty td::before{margin-right:auto;content:attr(data-et);color:var(--t3);font-size:var(--fs-0);font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding-top:2px}
  .or-tab-szeroka.karty td.glowna{grid-column:1 / -1;display:block;text-align:left;padding-bottom:8px}
  .or-tab-szeroka.karty td.glowna::before{display:none}
}
@media (max-width:640px){
  .or-siatka,.or-kafle{gap:12px}
  .or-k{padding:18px 16px;border-radius:14px}
  .or-kafel{padding:14px 14px 10px}
  .or-kafel .or-w{font-size:var(--fs-4)}
  .or-k-g{flex-wrap:wrap}
  .or-akcje{width:100%;margin-left:0}
  .or-akcje .or-przycisk{flex:1 1 calc(50% - 8px)}
  .or .or-h1{white-space:normal;overflow-wrap:anywhere}
  .or-pola,.or-zestaw{grid-template-columns:minmax(0,1fr)}
  .or-liczby{grid-template-columns:1fr 1fr}
  .or-liczby div:last-child{grid-column:1 / -1}
  .or-liczby dd,.or-wiz-g dd{font-size:var(--fs-4)}
  .or-wiz-g{gap:16px}
  .or-raty li{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}
  .or-raty li .or-chip{grid-column:1 / -1;justify-self:start}
  .or-typ{display:inline-block;margin:0}
  .or-tylko-mob{display:inline}
  .or-tab.karty thead,.or-tab.karty thead tr,.or-tab.karty thead th{display:block;position:absolute;left:0;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .or-tab.karty{position:relative}
  .or-tab.karty,.or-tab.karty tbody,.or-tab.karty tr,.or-tab.karty td{display:block;width:100%}
  .or-tab.karty tr{padding:12px 0;border-bottom:var(--bw) solid var(--line)}
  .or-tab.karty tbody tr:last-child{border-bottom:0}
  .or-tab.karty td{display:flex;justify-content:flex-end;align-items:baseline;flex-wrap:wrap;gap:4px 8px;padding:3px 0;border:0;text-align:right;white-space:normal}
  .or-tab.karty td::before{margin-right:auto;content:attr(data-et);color:var(--t3);font-size:var(--fs-0);font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding-top:2px}
  .or-tab.karty td.glowna{display:block;text-align:left;padding-bottom:8px}
  .or-tab.karty td.glowna::before{display:none}
  .or-tab-koszty.karty tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:18px}
  .or-tab-koszty.karty td.glowna{grid-column:1 / -1}
  .or-tab.karty tfoot,.or-tab.karty tfoot tr{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%}
  .or-tab.karty tfoot td{display:block;width:auto;padding:4px 0}
  .or-tab.karty tfoot td::before{display:none}
  .or-tab.karty tfoot td.or-ukryj-mob{display:none}
  .or-meta{gap:8px 18px}
}
@media (max-width:360px){
  .or-kafle{grid-template-columns:minmax(0,1fr)}
  .or-kafel .or-w{font-size:var(--fs-3);white-space:normal}
  .or-akcje .or-przycisk{padding:0 8px}
}
