/* RegimeCalc (adózási mód kalkulátor), shared by bevallva.hu/kalkulator and the app's Adózási mód tab.
   Everything is scoped under .rcalc. The host page supplies: --bg --sheet --sheet2 --line --fg --muted --accent
   --accent-fg --accent-soft --display --body --mono. */
.rcalc { --good:#1f6a35; --good-bg:#e1f1e5; --warn:#875300; --warn-bg:#fbefd5; --bad:#a3271c; --bad-bg:#fae2de; --c-szja:#2f6fb5; --c-tb:#d07a1f; --c-szocho:#8a5bb8; --c-vszja:#2a9a8c; --c-oa:#5a7f2c; --c-hipa:#7c8a92; --c-kata:#c2416b; --c-afa:#b39a1d; --c-fam:#1f6a35; --r:10px; font-family:var(--body); color:var(--fg); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .rcalc { --good:#7fd197; --good-bg:#16301f; --warn:#f0c26a; --warn-bg:#33270f; --bad:#ff9b8e; --bad-bg:#3a1b17; --c-szja:#6aa5ec; --c-tb:#f0a04f; --c-szocho:#b993e3; --c-vszja:#4cc7b7; --c-oa:#9cc565; --c-hipa:#a3b1b8; --c-kata:#ef7aa0; --c-afa:#e0c651; --c-fam:#7fd197; } }
:root[data-theme="dark"] .rcalc { --good:#7fd197; --good-bg:#16301f; --warn:#f0c26a; --warn-bg:#33270f; --bad:#ff9b8e; --bad-bg:#3a1b17; --c-szja:#6aa5ec; --c-tb:#f0a04f; --c-szocho:#b993e3; --c-vszja:#4cc7b7; --c-oa:#9cc565; --c-hipa:#a3b1b8; --c-kata:#ef7aa0; --c-afa:#e0c651; --c-fam:#7fd197; }
.rcalc, .rcalc * { box-sizing:border-box; }
.rcalc h1 { font-size:28px; font-weight:700; letter-spacing:-.01em; }
.rcalc h2 { font-size:19px; font-weight:700; }
.rcalc h3 { font-size:15px; font-weight:700; }
.rcalc .num, .rcalc td.n { font-variant-numeric:tabular-nums; }
.rcalc .mono { font-family:var(--mono); }
.rcalc .muted { color:var(--muted); }
.rcalc .small { font-size:13px; }
.rcalc .tiny { font-size:12px; }
.rcalc button { font:inherit; cursor:pointer; }
.rcalc button:focus-visible, .rcalc input:focus-visible, .rcalc select:focus-visible, .rcalc summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.rcalc .calc-top { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 28px; margin-bottom:14px; }
.rcalc .calc-top .t { display:flex; flex-direction:column; gap:2px; min-width:0; }
.rcalc .eyebrow { font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); font-weight:600; }
.rcalc .modes { display:flex; gap:4px; background:var(--sheet); border:1px solid var(--line); border-radius:12px; padding:4px; flex-wrap:wrap; }
.rcalc .modes button { border:0; background:none; color:var(--muted); padding:8px 14px; border-radius:9px; text-align:left; display:flex; flex-direction:column; line-height:1.25; }
.rcalc .modes button b { color:var(--fg); font-weight:600; font-size:14px; }
.rcalc .modes button span { font-size:12px; }
.rcalc .modes button[aria-pressed="true"] { background:var(--accent); color:var(--accent-fg); }
.rcalc .modes button[aria-pressed="true"] b { color:var(--accent-fg); }
.rcalc .example { display:flex; gap:10px; align-items:center; flex-wrap:wrap; background:var(--warn-bg); color:var(--warn); border-radius:var(--r); padding:8px 12px; font-size:13px; margin-bottom:14px; }
.rcalc .example button { border:1px solid currentColor; background:none; color:inherit; border-radius:7px; padding:2px 9px; font-size:12.5px; }
.rcalc .rules { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.rcalc .rule { background:var(--sheet); border:1px solid var(--line); border-radius:99px; padding:3px 11px; font-size:12.5px; }
.rcalc .rule b { font-variant-numeric:tabular-nums; }
.rcalc .rule.chg { border-color:var(--accent); background:var(--accent-soft); }
.rcalc .rule.assume { border-style:dashed; }
.rcalc .cols { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.18fr); gap:20px; align-items:start; }
@media (max-width: 1000px) { .rcalc .cols {grid-template-columns:minmax(0,1fr);} .rcalc .result {position:static !important;} }
.rcalc .sheet { background:var(--sheet); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.rcalc .sheet-h { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; background:var(--accent); color:var(--accent-fg); }
.rcalc .sheet-h h2 { color:var(--accent-fg); font-size:16px; }
.rcalc .row { border-top:1px solid var(--line); }
.rcalc .row:first-of-type { border-top:0; }
.rcalc .row > button.sum { width:100%; display:grid; grid-template-columns:150px minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px 16px; border:0; background:none; color:var(--fg); text-align:left; }
.rcalc .row > button.sum:hover { background:var(--sheet2); }
.rcalc .row .lab { font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:600; }
.rcalc .row .val { min-width:0; font-weight:500; }
.rcalc .row .val .sub { display:block; font-weight:400; color:var(--muted); font-size:12.5px; }
.rcalc .row .chev { color:var(--muted); font-size:12px; white-space:nowrap; }
.rcalc .row.open > button.sum { background:var(--sheet2); }
.rcalc .row .det { padding:4px 16px 16px; display:grid; gap:12px; background:var(--sheet2); }
.rcalc .fgrid { display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:10px 14px; }
.rcalc label.f { display:flex; flex-direction:column; gap:4px; font-size:12.5px; color:var(--muted); min-width:0; }
.rcalc label.f > span.h { font-size:11.5px; }
.rcalc label.c { display:flex; flex-direction:row; gap:8px; align-items:flex-start; font-size:13.5px; color:var(--fg); }
.rcalc label.c > input[type="checkbox"] { flex:none; margin-top:3px; }
.rcalc input, .rcalc select { font:inherit; color:var(--fg); background:var(--sheet); border:1px solid var(--line); border-radius:8px; padding:7px 9px; min-width:0; }
.rcalc input.n { font-variant-numeric:tabular-nums; text-align:right; }
.rcalc .seg { display:inline-flex; border:1px solid var(--line); border-radius:9px; overflow:hidden; flex-wrap:wrap; }
.rcalc .seg button { border:0; background:var(--sheet); color:var(--fg); padding:6px 11px; font-size:13px; border-right:1px solid var(--line); }
.rcalc .seg button:last-child { border-right:0; }
.rcalc .seg button[aria-pressed="true"] { background:var(--accent); color:var(--accent-fg); }
.rcalc .btn { border:0; border-radius:9px; padding:8px 14px; font-weight:600; background:var(--accent); color:var(--accent-fg); }
.rcalc .btn.sec { background:var(--sheet); color:var(--fg); border:1px solid var(--line); }
.rcalc .btn.link { background:none; color:var(--accent); padding:4px 0; }
.rcalc .chip { display:inline-block; font-size:11.5px; font-weight:600; padding:1px 8px; border-radius:99px; background:var(--sheet2); border:1px solid var(--line); color:var(--muted); white-space:nowrap; }
.rcalc .chip.ok { background:var(--good-bg); color:var(--good); border-color:transparent; }
.rcalc .chip.warn { background:var(--warn-bg); color:var(--warn); border-color:transparent; }
.rcalc .chip.bad { background:var(--bad-bg); color:var(--bad); border-color:transparent; }
.rcalc .chip.src { background:var(--accent-soft); color:var(--accent); border-color:transparent; }
.rcalc .months { display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); gap:3px; }
.rcalc .months .m { display:flex; flex-direction:column; align-items:center; gap:3px; font-size:10.5px; color:var(--muted); }
.rcalc .months .bar { width:100%; height:64px; display:flex; align-items:flex-end; background:var(--sheet); border-radius:4px; }
.rcalc .months .bar i { display:block; width:100%; border-radius:4px 4px 0 0; background:var(--accent); }
.rcalc .months .bar i.est { background:repeating-linear-gradient(135deg, var(--accent) 0 3px, transparent 3px 6px); border:1px solid var(--accent); border-bottom:0; }
.rcalc .months .bar.off { opacity:.35; }
.rcalc .jog { display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); gap:3px; }
.rcalc .jog button { border:0; height:30px; border-radius:5px; font-size:10.5px; color:var(--fg); padding:0; }
.rcalc .jog .foall, .rcalc .jog .reszm { background:var(--accent-soft); box-shadow:inset 0 -3px 0 var(--accent); }
.rcalc .jog .mellek, .rcalc .jog .diak { background:var(--warn-bg); box-shadow:inset 0 -3px 0 var(--warn); }
.rcalc .jog .nyugdij { background:var(--sheet2); box-shadow:inset 0 -3px 0 var(--muted); }
.rcalc .jog .off { background:transparent; border:1px dashed var(--line); color:var(--muted); }
.rcalc .legend { display:flex; gap:12px; flex-wrap:wrap; font-size:12px; color:var(--muted); }
.rcalc .legend i { display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:5px; vertical-align:-1px; }
.rcalc .result { position:sticky; top:12px; display:grid; gap:14px; }
.rcalc .panel { background:var(--sheet); border:1px solid var(--line); border-radius:14px; padding:16px 18px; display:grid; gap:12px; min-width:0; }
.rcalc .verdict { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 18px; align-items:end; }
.rcalc .verdict .big { font-family:var(--display); font-size:30px; font-weight:700; line-height:1.1; }
.rcalc .verdict .save { text-align:right; }
.rcalc .verdict .save b { font-family:var(--display); font-size:26px; color:var(--good); font-variant-numeric:tabular-nums; }
.rcalc .verdict .save.neg b { color:var(--bad); }
.rcalc .bars { display:grid; gap:10px; }
.rcalc .bar-row { display:grid; grid-template-columns:150px minmax(0,1fr) 150px; gap:10px; align-items:center; border:0; background:none; color:var(--fg); padding:6px 6px; border-radius:9px; text-align:left; }
.rcalc .bar-row:hover { background:var(--sheet2); }
.rcalc .bar-row[aria-pressed="true"] { background:var(--accent-soft); }
.rcalc .bar-row .nm { font-weight:600; font-size:14px; display:flex; flex-direction:column; }
.rcalc .bar-row .nm small { font-weight:400; color:var(--muted); font-size:11.5px; }
.rcalc .track { height:26px; display:flex; border-radius:6px; overflow:hidden; background:var(--sheet2); }
.rcalc .track i { display:block; height:100%; min-width:0; }
.rcalc .track.na { opacity:.45; background:repeating-linear-gradient(135deg, var(--sheet2) 0 6px, var(--line) 6px 8px); }
.rcalc .bar-row .tot { text-align:right; font-weight:700; font-variant-numeric:tabular-nums; }
.rcalc .bar-row .tot small { display:block; font-weight:400; color:var(--muted); font-size:11.5px; }
.rcalc .tabs { display:flex; gap:2px; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.rcalc .tabs button { border:0; background:none; padding:8px 12px; color:var(--muted); border-bottom:2px solid transparent; margin-bottom:-1px; font-weight:600; font-size:13.5px; }
.rcalc .tabs button[aria-selected="true"] { color:var(--fg); border-bottom-color:var(--accent); }
.rcalc .tbl { overflow-x:auto; }
.rcalc table { border-collapse:collapse; width:100%; font-size:13.5px; }
.rcalc th, .rcalc td { text-align:left; padding:6px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
.rcalc th { font-weight:600; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
.rcalc td.n, .rcalc th.n { text-align:right; white-space:nowrap; }
.rcalc tr.tot td { font-weight:700; border-bottom:0; }
.rcalc .sw { display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:6px; vertical-align:-1px; }
.rcalc .notes { display:grid; gap:6px; }
.rcalc .note { border-radius:9px; padding:8px 11px; font-size:13px; }
.rcalc .note.ok { background:var(--good-bg); color:var(--good); }
.rcalc .note.warn { background:var(--warn-bg); color:var(--warn); }
.rcalc .note.bad { background:var(--bad-bg); color:var(--bad); }
.rcalc .note.info { background:var(--sheet2); }
.rcalc svg text { fill:var(--muted); font-size:11px; font-family:var(--body); }
.rcalc .cal { display:grid; grid-template-columns:170px repeat(12, minmax(0,1fr)); gap:2px; font-size:11px; align-items:center; }
.rcalc .cal .h { color:var(--muted); text-align:center; }
.rcalc .cal .rl { font-size:12px; padding-right:6px; }
.rcalc .cal .cell { height:18px; border-radius:3px; background:var(--sheet2); }
.rcalc .cal .cell.on { background:var(--c-fam); opacity:.8; }
.rcalc .cal .cell.half { background:repeating-linear-gradient(135deg, var(--c-fam) 0 4px, transparent 4px 7px); }
.rcalc .cal .cell.ct { background:var(--warn); opacity:.55; }
.rcalc dialog { border:0; border-radius:16px; padding:0; width:min(860px, calc(100vw - 32px)); background:var(--sheet); color:var(--fg); box-shadow:0 30px 80px rgba(0,0,0,.35); }
.rcalc dialog::backdrop { background:rgba(8,20,18,.55); }
.rcalc .wz { display:grid; grid-template-rows:auto minmax(0,1fr) auto; max-height:min(88vh, 900px); }
.rcalc .wz-h { padding:16px 20px; border-bottom:1px solid var(--line); display:grid; gap:10px; }
.rcalc .steps { display:flex; gap:6px; flex-wrap:wrap; }
.rcalc .steps button { border:1px solid var(--line); background:var(--sheet); color:var(--muted); border-radius:99px; padding:3px 11px; font-size:12.5px; }
.rcalc .steps button[aria-current="step"] { background:var(--accent); color:var(--accent-fg); border-color:var(--accent); }
.rcalc .steps button.done { color:var(--accent); border-color:var(--accent); }
.rcalc .wz-b { padding:18px 20px; overflow:auto; display:grid; gap:14px; align-content:start; }
.rcalc .wz-f { padding:12px 20px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:10px; }
.rcalc .kid { border:1px solid var(--line); border-radius:12px; padding:12px 14px; display:grid; gap:10px; background:var(--sheet2); }
.rcalc .kid-h { display:flex; justify-content:space-between; gap:10px; align-items:center; flex-wrap:wrap; }
.rcalc .q { display:grid; gap:6px; }
.rcalc .q > b { font-size:14.5px; }
.rcalc .acts { display:flex; flex-wrap:wrap; gap:6px; }
.rcalc .act { display:inline-flex; align-items:center; gap:6px; background:var(--sheet); border:1px solid var(--line); border-radius:9px; padding:3px 4px 3px 9px; font-size:13px; min-width:0; }
.rcalc .act .btn.link { padding:0 6px; font-size:16px; line-height:1; }
.rcalc .ovres { display:grid; gap:2px; max-height:300px; overflow:auto; border:1px solid var(--line); border-radius:10px; background:var(--sheet); padding:4px; }
.rcalc .ovr { display:grid; grid-template-columns:62px minmax(0,1fr) auto; gap:10px; align-items:center; border:0; background:none; color:var(--fg); text-align:left; padding:6px 8px; border-radius:7px; font-size:13.5px; }
.rcalc .ovr:hover:not(:disabled) { background:var(--accent-soft); }
.rcalc .ovr:disabled { opacity:.5; cursor:default; }
.rcalc .ovr small { display:block; color:var(--muted); font-size:11.5px; }
.rcalc .ovres > p { margin:6px 8px; }
.rcalc .explain { font-size:12.5px; color:var(--muted); max-width:70ch; }
@media (prefers-reduced-motion: no-preference) { .rcalc .track i {transition:flex-basis .35s ease;} }
.rcalc h1, .rcalc h2, .rcalc h3 { font-family:var(--display); text-wrap:balance; margin:0; }
.rcalc .example.src { background:var(--accent-soft); color:var(--fg); }
.rcalc .example.src button { color:var(--accent); }
.rcalc .viewsw { display:flex; gap:10px 14px; align-items:center; flex-wrap:wrap; }
.rcalc .seg button:disabled { opacity:.45; cursor:default; }
.rcalc .track2 { display:grid; gap:3px; min-width:0; }
.rcalc .track.pc { height:10px; background:transparent; }
.rcalc .pcred { display:block; height:100%; border-radius:3px; background:repeating-linear-gradient(135deg, var(--good) 0 4px, transparent 4px 7px); border:1px solid var(--good); }
.rcalc .legend i.pcred { display:inline-block; width:10px; height:10px; }
.rcalc .row-btns { display:flex; gap:6px 16px; flex-wrap:wrap; }
.rcalc details.how { background:var(--sheet2); border-radius:10px; padding:10px 12px; }
.rcalc details.how summary { cursor:pointer; font-size:13.5px; }
.rcalc details.how ol { margin:8px 0 4px; padding-left:20px; display:grid; gap:4px; }
/* phones: name and total on one line, the coloured bar full width under them */
@media (max-width: 640px) {
  .rcalc .bar-row { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"nm tot" "trk trk"; row-gap:6px; }
  .rcalc .bar-row > .nm { grid-area:nm; }
  .rcalc .bar-row > .track2 { grid-area:trk; }
  .rcalc .bar-row > .tot { grid-area:tot; }
  .rcalc .row > button.sum { grid-template-columns:minmax(0,1fr) auto; }
  .rcalc .row > button.sum .lab { grid-column:1 / -1; }
  .rcalc .cal { grid-template-columns:92px repeat(12, minmax(0,1fr)); }
  .rcalc .cal .rl { font-size:11px; }
  .rcalc .verdict { grid-template-columns:minmax(0,1fr); }
  .rcalc .verdict .save { text-align:left; }
}
.rcalc .panel, .rcalc .result { grid-template-columns:minmax(0, 1fr); }
.rcalc .tabs { min-width:0; }
.rcalc .viewsw .xl { margin-left:auto; order:3; }
