/* ══════════════════════════════════════════════════════════════════════
   budzet-panel.css — ekran „Budżet i prognoza” (#budzet) i wskaźnik
   „Prognoza roku” na „Dzisiaj” (budzet-panel.js)

   Korzeń `.d10 .bu`: karty, przyciski, chipy i przypisy z dzisiaj.css
   (`d10-*`). Tu tylko to, czego „Dzisiaj” nie ma: wykres słupkowy roku
   z przedziałem i znacznikiem budżetu, tabela miesięcy (na telefonie
   wiersze jako karty — bez przewijania w bok), edytor miesiąca budżetu,
   dźwignie scenariuszy i porównanie. Kolory, kroje, rozmiary (`--fs-*`),
   promienie i odstępy wyłącznie z paleta.css. Wagi 400/500/600.
   ══════════════════════════════════════════════════════════════════════ */
.bu .info{margin:0 0 var(--s4)}
.bu h4{margin:var(--s3) 0 6px;font-size:var(--fs-1);font-weight:600;color:var(--t2)}
.bu-blad{font-size:var(--fs-1);color:var(--risk);font-weight:500;margin:var(--s2) 0}
.bu-brak{color:var(--t3);font-weight:500}
.bu-uwaga{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s2);font-size:var(--fs-1);color:var(--t2)}

/* ── prognoza roku ── */
.bu-gl{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:32px;align-items:start}
.bu .bu-duza{font-family:var(--fd);font-size:calc(var(--fs-6) * 1.6);font-weight:600;letter-spacing:-.04em;line-height:1;
  margin:8px 0 10px;white-space:nowrap;font-variant-numeric:tabular-nums}
.bu-duza span{font-size:max(12px,.42em);font-weight:500;letter-spacing:-.01em;color:var(--t2);margin-left:6px}
.bu-przedz{font-size:var(--fs-2);color:var(--t2)}
.bu-przedz b{color:var(--t1);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.bu-opis{margin-top:var(--s2);font-size:var(--fs-1);color:var(--t3)}
.bu-gl-p{margin:0;display:grid;gap:var(--s4)}
.bu-gl-p>div{padding-top:var(--s3);border-top:var(--bw) solid var(--line)}
.bu-gl-p>div:first-child{padding-top:0;border-top:0}
.bu-gl-p dt{font-size:var(--fs-1);color:var(--t2);font-weight:500}
.bu-gl-p dd{margin:2px 0 0;font-family:var(--fd);font-size:var(--fs-5);font-weight:600;font-variant-numeric:tabular-nums}
.bu-gl-p dd+dd{font-family:var(--f);font-size:var(--fs-1);font-weight:500;color:var(--t3);display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.bu-gl-p small{font-size:inherit}

/* ── wykres roku ── */
.bu-wykres{min-width:0}
.bu-slupki{position:relative;height:200px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;
  border-bottom:var(--bw) solid var(--line2)}
.bu-zero{position:absolute;left:0;right:0;height:0;border-top:var(--bw) solid var(--line2)}
.bu-k{position:relative;min-width:0}
.bu-s{position:absolute;left:14%;right:14%;border-radius:4px 4px 0 0}
.bu-s.zamk{background:var(--gold-d)}
.bu-s.biez{background:var(--gold)}
.bu-s.prog{background:var(--karta);border:1.5px dashed var(--gold-d)}
.bu-s.ujemny{background:var(--risk);border-radius:0 0 4px 4px}
.bu-s.prog.ujemny{background:var(--karta);border-color:var(--risk)}
.bu-p{position:absolute;left:50%;width:0;border-left:2px solid var(--t3);margin-left:-1px;opacity:.75}
.bu-p::before,.bu-p::after{content:"";position:absolute;left:-6px;width:10px;border-top:2px solid var(--t3)}
.bu-p::before{top:0}.bu-p::after{bottom:0}
.bu-b{position:absolute;left:4%;right:4%;height:0;border-top:2px solid var(--t1)}
.bu-et{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;margin-top:6px}
.bu-et span{font-size:var(--fs-0);color:var(--t3);text-align:center;min-width:0;overflow:hidden}
.bu-et span.teraz{color:var(--t1);font-weight:600}
.bu-leg{list-style:none;margin:var(--s3) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:var(--fs-1);color:var(--t2)}
.bu-leg li{display:inline-flex;align-items:center;gap:6px}
.bu-l{display:inline-block;width:14px;height:10px;border-radius:2px}
.bu-l.zamk{background:var(--gold-d)}
.bu-l.biez{background:var(--gold)}
.bu-l.prog{background:var(--karta);border:1.5px dashed var(--gold-d)}
.bu-l.prz{width:2px;height:12px;background:var(--t3);border-radius:0}
.bu-l.bud{height:0;border-top:2px solid var(--t1);border-radius:0}

/* ── tabela miesięcy i porównania ── */
.bu-tab{width:100%;border-collapse:collapse;font-size:var(--fs-1);font-variant-numeric:tabular-nums}
.bu-tab th,.bu-tab td{padding:9px 10px;border-top:var(--bw) solid var(--line);text-align:left;vertical-align:baseline}
.bu-tab thead th{border-top:0;font-size:var(--fs-0);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t3)}
.bu-tab .k{text-align:right;white-space:nowrap}
.bu-tab tbody th{font-weight:500;color:var(--t1)}
.bu-m{display:block}
.bu-zr{display:block;font-size:var(--fs-0);color:var(--t3);font-weight:400}
.bu-tab tr.st-biezacy{background:var(--karta)}
.bu-tab tr.st-przyszly td{color:var(--t2)}
.bu-tab .bu-plus{color:var(--ok);font-weight:600}
.bu-tab .bu-minus{color:var(--risk);font-weight:600}
.bu-tab tr.bu-suma th,.bu-tab tr.bu-suma td{border-top:var(--bw) solid var(--line2);font-weight:600;color:var(--t1)}
.bu-et-k{display:none}

/* ── budżet: przyciski i edytor miesiąca ── */
.bu-akcje{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin:0 0 var(--s4)}
.bu-pyt{font-size:var(--fs-1);font-weight:600;color:var(--t1)}
.d10-przycisk.bu-ryzyko{color:var(--risk);border-color:rgba(165,63,63,.4)}
.bu-mies{display:flex;flex-direction:column;gap:var(--s3)}
.bu-mies-g{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3)}
.bu-mies-g label{font-size:var(--fs-1);font-weight:500;color:var(--t2)}
.bu-wyn{font-size:var(--fs-1);color:var(--t2)}
.bu-wyn b{color:var(--t1);font-weight:600;font-variant-numeric:tabular-nums}
.bu-pola{list-style:none;margin:0;padding:0}
.bu-pola li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:var(--s3);
  padding:8px 0;border-top:var(--bw) solid var(--line)}
.bu-pola li:first-child{border-top:0}
.bu-pola label{font-size:var(--fs-2);color:var(--t1);min-width:0}
.bu-rc{font-size:var(--fs-0);color:var(--warn);font-weight:600;white-space:nowrap}
.bu-wej{display:flex;align-items:center;gap:6px;min-width:0}
.bu-wej span{font-size:var(--fs-1);color:var(--t3)}
.bu-wej.krotkie{max-width:96px}
.bu-wart{font-weight:600;font-variant-numeric:tabular-nums}
.bu-fakt{display:flex;flex-direction:column;font-variant-numeric:tabular-nums;font-size:var(--fs-1);color:var(--t1);text-align:right}
.bu-fakt .bu-et-k{display:block;font-size:var(--fs-0);color:var(--t3)}
.bu-odch{text-align:right}
.bu-wejscie{min-height:38px;width:100%;min-width:0;padding:0 10px;background:var(--white);border:var(--bw) solid var(--line2);
  border-radius:var(--r-kontrolka);font:inherit;font-size:var(--fs-2);font-weight:500;color:var(--t1);font-variant-numeric:tabular-nums}
.bu-wejscie:focus-visible{outline:2px solid var(--gold-d);outline-offset:2px}

/* ── scenariusze ── */
.bu-scen-s{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.bu-dzw{display:flex;flex-direction:column;gap:var(--s4);min-width:0}
.bu-dzw h3{margin:0}
.bu-mini{display:none;margin-top:-8px;font-size:var(--fs-1);color:var(--t2)}
.bu-mini b{color:var(--t1);font-weight:600;font-variant-numeric:tabular-nums}
.bu-dz-g{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2)}
.bu-dz-g label,.bu-p1 label,.bu-prow legend,.bu-zapis label{font-size:var(--fs-1);font-weight:500;color:var(--t2)}
.bu-dz-g output{font-family:var(--fd);font-size:var(--fs-3);font-weight:600;color:var(--t1);font-variant-numeric:tabular-nums}
.bu-suwak{width:100%;margin:6px 0 0;accent-color:var(--gold-d);min-height:28px}
.bu-suwak:focus-visible{outline:2px solid var(--gold-d);outline-offset:2px}
.bu-dz-o{font-size:var(--fs-0);color:var(--t3);line-height:1.5;margin-top:4px}
.bu-zakres{display:flex;gap:var(--s4);font-size:var(--fs-1);color:var(--t1);margin-top:-6px}
.bu-zakres label,.bu-ch,.bu-zab label{display:inline-flex;align-items:center;gap:6px;min-height:32px;cursor:pointer}
.bu-zab{margin:-6px 0 0;padding:var(--s2) var(--s3);border:var(--bw) solid var(--line);border-radius:var(--r-wewn);
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 var(--s3);font-size:var(--fs-1)}
.bu-zab label{min-width:0;overflow-wrap:anywhere}
.bu-prow{margin:0;padding:0;border:0;min-width:0}
.bu-prow legend{padding:0;margin-bottom:6px}
.bu-prow ul{list-style:none;margin:0;padding:0}
.bu-prow li{display:grid;grid-template-columns:minmax(0,1fr) 96px minmax(0,170px);align-items:center;gap:var(--s2);padding:5px 0}
.bu-lek{font-size:var(--fs-1);color:var(--t1);min-width:0;overflow-wrap:anywhere}
.bu-prow .d10-kontrolka{width:100%;min-width:0}
.bu-nowy{display:flex;flex-direction:column;gap:var(--s2)}
.bu-ch{font-size:var(--fs-2);color:var(--t1);font-weight:500}
.bu-nowy-p{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);padding:var(--s3);border:var(--bw) solid var(--line);border-radius:var(--r-wewn)}
.bu-nowy-p .bu-dz-o{grid-column:1 / -1;margin:0}
.bu-nowy-p .d10-kontrolka{width:100%}
.bu-p1{display:flex;flex-direction:column;gap:4px;min-width:0}
.bu-dzw .bu-akcje{margin:0}

.bu-wynik{min-width:0;position:sticky;top:var(--s4)}
.bu-wyn-k{padding:var(--s4) var(--s5);border-radius:var(--r-wewn);background:var(--karta);border:var(--bw) solid var(--line)}
.bu-por{margin:var(--s2) 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.bu-por dt{font-size:var(--fs-1);color:var(--t2);font-weight:500}
.bu-por dd{margin:2px 0 0;font-family:var(--fd);font-size:var(--fs-4);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.bu-por.drobne{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--s3);padding-top:var(--s3);border-top:var(--bw) solid var(--line)}
.bu-por.drobne dd{font-family:var(--f);font-size:var(--fs-2);font-weight:500;white-space:normal}
.bu-por.drobne b{font-weight:600}
.bu-kroki{list-style:none;margin:0;padding:0}
.bu-kroki li{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);padding:4px 0;font-size:var(--fs-1);color:var(--t1)}
.bu-uwagi{margin:var(--s3) 0 0;padding-left:18px;font-size:var(--fs-1);color:var(--warn)}

.bu-zapisane{margin-top:var(--s5);padding-top:var(--s4);border-top:var(--bw) solid var(--line)}
.bu-zapisane h3{margin:var(--s4) 0 2px}
.bu-zapis{display:flex;flex-direction:column;gap:4px;max-width:640px}
.bu-zapis-w{display:flex;gap:var(--s2)}
.bu-zapis-w .bu-wejscie{flex:1 1 auto}
.bu-lista-sc{list-style:none;margin:var(--s2) 0 0;padding:0}
.bu-lista-sc li{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s2);padding:6px 0;border-top:var(--bw) solid var(--line)}
.bu-lista-sc li:first-child{border-top:0}
.bu-lista-sc .bu-ch{font-size:var(--fs-2);min-width:0;overflow-wrap:anywhere}
.bu-sc-a{display:flex;flex-wrap:wrap;gap:var(--s2)}
.bu-porown{margin-top:var(--s4)}
.bu-tab-por td,.bu-tab-por thead th{min-width:0}
.bu-tab-por thead th{text-transform:none;letter-spacing:0;font-size:var(--fs-1);color:var(--t1);white-space:normal}
/* L2 (19.10.2026): `.bu-tab .k` (nowrap) wygrywało specyficznością, więc długie nazwy
   scenariuszy w nagłówkach rozpychały tabelę do 1092 px i przewijały stronę w bok przy 1024 px. */
.bu-tab-por thead th.k{white-space:normal;overflow-wrap:anywhere}

/* ── „Dzisiaj”: prognoza roku ── */
.bu-dzis{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s4);padding:16px 24px}
.bu-dzis-t{min-width:0}
.bu-dzis .d10-oko{margin-bottom:2px}
.bu-dzis-l{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
.bu-dzis-l b{font-family:var(--fd);font-size:var(--fs-5);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.bu-dzis-l span{font-size:var(--fs-1);color:var(--t2)}
.bu-dzis-l .bu-dzis-p{color:var(--t3)}
.bu-dzis-s{font-size:var(--fs-0);color:var(--t3);margin-top:2px}

@media (max-width:1180px){
  .bu-scen-s{grid-template-columns:minmax(0,1fr)}
  .bu-wynik{position:static}
  .bu-mini{display:block}
}
@media (max-width:900px){
  .bu-gl{grid-template-columns:minmax(0,1fr);gap:var(--s5)}
}
@media (max-width:640px){
  .bu .bu-duza{font-size:calc(var(--fs-6) * 1.25)}
  .bu-slupki{height:160px;gap:3px}
  .bu-et{gap:3px}
  .bu-s{left:8%;right:8%}
  /* Tabela jako lista kart — role table/row/cell zostają w znacznikach. */
  .bu-tab thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .bu-tab,.bu-tab tbody,.bu-tab tr,.bu-tab th,.bu-tab td{display:block;width:auto}
  .bu-tab tr{padding:10px 0;border-top:var(--bw) solid var(--line)}
  .bu-tab tbody tr:first-child{border-top:0}
  .bu-tab th,.bu-tab td{border-top:0;padding:2px 0}
  .bu-tab tbody th{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2);margin-bottom:4px}
  .bu-tab .k{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);text-align:right}
  .bu-tab .bu-et-k{display:inline;font-size:var(--fs-0);color:var(--t3);font-weight:500;text-align:left;white-space:normal}
  .bu-tab tr.st-biezacy{padding-left:8px;padding-right:8px;border-radius:var(--r-wewn)}
  .bu-zr{display:inline}
  .bu-pola li{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px var(--s3)}
  .bu-pola label{grid-column:1 / -1}
  .bu-fakt{text-align:left}
  .bu-odch{grid-column:1 / -1;text-align:left}
  .bu-prow li{grid-template-columns:minmax(0,1fr) 88px}
  .bu-prow li .d10-kontrolka{grid-column:1 / -1}
  .bu-nowy-p{grid-template-columns:minmax(0,1fr)}
  .bu-wyn-k{padding:var(--s3) var(--s4)}
  .bu-por{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .bu-por .bu-roz{grid-column:1 / -1}
  .bu-por.drobne{grid-template-columns:minmax(0,1fr)}
  .bu-zapis-w{flex-direction:column}
  .bu-akcje .d10-przycisk{flex:1 1 auto}
  .bu-lista-sc li{flex-direction:column;align-items:stretch}
  .bu-sc-a .d10-przycisk{flex:1 1 auto}
  .bu-dzis{padding:14px 16px}
  .bu-dzis .d10-odn{width:100%}
}
@media (max-width:360px){
  .bu .bu-duza{font-size:var(--fs-6)}
  .bu-et span{font-size:max(12px,.62em)}
}

/* ── L5b (19.10.2026): Budżet na telefonie krótszy (było 9024 px przy 375×812) ──
   Rzadko używane pola (pozycje miesiąca, prowizje lekarzy) zwijają się pod przycisk,
   tabela miesięcy i porównanie to zwarte kafelki zamiast listy etykieta–wartość.
   Na komputerze przycisk jest ukryty, a treść widoczna jak dotąd. */
.bu-zw,.bu-zw-tresc{display:contents}
.bu-zwin{display:none}
@media (max-width:640px){
  .bu-zw{display:block}
  .bu-zwin{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:44px;padding:0 var(--s3);border:var(--bw) solid var(--line);
    border-radius:var(--r-wewn);background:var(--karta);color:var(--t1);font:inherit;font-size:var(--fs-2);font-weight:500;text-align:left;cursor:pointer}
  .bu-zwin-t{flex:1 1 auto;min-width:0}
  .bu-zwin-w{font-size:var(--fs-1);color:var(--t3);font-weight:400}
  .bu-zwin::after{content:"";width:8px;height:8px;border-right:2px solid var(--t2);border-bottom:2px solid var(--t2);transform:rotate(45deg);margin:-4px 4px 0 0;flex:0 0 auto}
  .bu-zw.otw>.bu-zwin::after{transform:rotate(-135deg);margin:4px 4px 0 0}
  .bu-zw:not(.otw)>.bu-zw-tresc{display:none}
  .bu-zw.otw>.bu-zw-tresc{display:block;margin-top:var(--s3)}
  .bu-zw .bu-porown h3,.bu-zw .bu-prow legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  /* tabela miesięcy: miesiąc w pierwszej linii, liczby po trzy w rzędzie z podpisem nad wartością */
  .bu-tab:not(.bu-tab-por) tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px var(--s3);padding:8px 0}
  .bu-tab:not(.bu-tab-por) tbody th{grid-column:1 / -1;margin-bottom:0}
  .bu-tab:not(.bu-tab-por) .k,.bu-tab-por .k{display:block;text-align:left}
  .bu-tab:not(.bu-tab-por) .bu-et-k,.bu-tab-por .bu-et-k{display:block}
  .bu-tab:not(.bu-tab-por) th,.bu-tab:not(.bu-tab-por) td,.bu-tab-por th,.bu-tab-por td{border:0;padding:0}
  .bu-tab:not(.bu-tab-por) .k{white-space:nowrap}
  .bu-tab:not(.bu-tab-por) tbody tr.bu-suma{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* porównanie scenariuszy: kolumny po dwie */
  .bu-tab-por tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px var(--s3);padding:6px 0}
  .bu-tab-por tbody th{grid-column:1 / -1;margin-bottom:0}
  .bu-lista-sc li{flex-direction:row;align-items:center}
  .bu-lista-sc .bu-ch{flex:1 1 130px}
  .bu-lista-sc .bu-ch input{flex:0 0 auto}
  .bu-sc-a{flex:0 0 auto}
  .bu-sc-a .d10-przycisk{flex:0 0 auto}
  /* pozycje miesiąca: nazwa i odchylenie w pierwszej linii, pole i wykonanie w drugiej */
  .bu-pola li{align-items:center}
  .bu-pola label{grid-column:1;grid-row:1}
  .bu-odch{grid-column:2;grid-row:1;text-align:right}
  .bu-pola .bu-wej,.bu-pola .bu-wart{grid-column:1;grid-row:2}
  .bu-pola .bu-fakt{grid-column:2;grid-row:2;text-align:right}
}
