/* NiKiCard pult-felület. Színek a NiKiCa logójából: rózsaszín (márka), babakék, vajsárga. */
:root {
  --tinta: #1c2a47;
  --tinta-2: #4a5876;
  --tinta-3: #7a869e;
  --papir: #f5f7fb;
  --lap: #ffffff;
  --vonal: #dfe5ef;
  --roza: #d4147c;
  --roza-sotet: #b00f66;
  --roza-halvany: #fde8f3;
  --kek: #2f7fc1;
  --kek-halvany: #e3f0fb;
  --vaj: #ffd96b;
  --vaj-halvany: #fff6d9;
  --ok: #1a8a5f;
  --ok-halvany: #e2f5ec;
  --figy: #9a6700;
  --figy-halvany: #fff4d6;
  --hiba: #c0283a;
  --hiba-halvany: #fdeaec;
  --kis: 10px; --kozep: 16px; --nagy: 24px;
  --betu: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--papir); color: var(--tinta);
  font: 16px/1.5 var(--betu); font-variant-numeric: tabular-nums;
}
a { color: var(--kek); text-underline-offset: 2px; }
a:hover { color: var(--roza-sotet); }
:focus-visible { outline: 3px solid var(--kek); outline-offset: 2px; border-radius: 4px; }
h1 { font-size: 1.75rem; line-height: 1.2; margin: 0 0 .25rem; letter-spacing: -.01em; }
h2 { font-size: 1.2rem; margin: 0 0 .75rem; }
h3 { font-size: 1.05rem; margin: 1.4rem 0 .4rem; }
p { margin: 0 0 .8rem; }
.halk { color: var(--tinta-2); }
.apro { font-size: .875rem; color: var(--tinta-2); }
.szam { font-variant-numeric: tabular-nums; white-space: nowrap; }
.jobb { text-align: right; }

/* ---------- fejléc ---------- */
.fej { background: var(--lap); border-bottom: 1px solid var(--vonal); position: sticky; top: 0; z-index: 10; }
.fej-bel { max-width: 1200px; margin: 0 auto; padding: 8px 20px 0; display: flex; align-items: center; flex-wrap: wrap; gap: 0 28px; }
.fej-bel .logo { order: 1; min-height: 48px; }
.fej-bel .felh { order: 2; margin-left: auto; }
.fej-bel .menu { order: 3; flex: 0 0 100%; margin: 4px -12px 0; }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--tinta); font-weight: 700; font-size: 1.15rem; letter-spacing: -.01em; }
.logo img { width: 34px; height: 34px; display: block; }
.logo span b { color: var(--roza); font-weight: 700; }
.menu { display: flex; gap: 2px; flex-wrap: wrap; align-items: stretch; }
.menu a { padding: 10px 11px 12px; font-size: .95rem; text-decoration: none; color: var(--tinta-2); font-weight: 600; border-bottom: 3px solid transparent; }
.menu a:hover { color: var(--tinta); background: var(--papir); border-radius: var(--kis) var(--kis) 0 0; }
.menu a[aria-current="page"] { color: var(--roza-sotet); border-color: var(--roza); }
.menu .hamarosan { color: var(--tinta-3); font-weight: 500; padding: 10px 14px 12px; cursor: default; }
.menu .elvalaszto { width: 1px; background: var(--vonal); margin: 10px 6px 12px; }
.felh { display: flex; align-items: center; gap: 12px; font-size: .9rem; color: var(--tinta-2); white-space: nowrap; }
.felh strong { color: var(--tinta); }
.felh form { margin: 0; }

/* ---------- tartalom ---------- */
.tartalom { max-width: 1200px; margin: 0 auto; padding: 28px 20px 64px; }
.oldalfej { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }
.oldalfej p { margin: 0; color: var(--tinta-2); }
.lap { background: var(--lap); border: 1px solid var(--vonal); border-radius: var(--nagy); padding: 24px; }
.lap + .lap { margin-top: 20px; }
.racs { display: grid; gap: 20px; }
.racs.ketto { grid-template-columns: minmax(280px, 380px) 1fr; align-items: start; }
@media (max-width: 860px) { .racs.ketto { grid-template-columns: 1fr; } .felh { flex-wrap: wrap; gap: 4px 12px; } }

/* ---------- üzenetek ---------- */
.uzenet { border-radius: var(--kozep); padding: 12px 16px; margin: 0 0 16px; border-left: 5px solid; font-weight: 500; }
.uzenet.ok { background: var(--ok-halvany); border-color: var(--ok); }
.uzenet.hiba { background: var(--hiba-halvany); border-color: var(--hiba); }
.uzenet.figy { background: var(--figy-halvany); border-color: var(--vaj); }

/* ---------- űrlapok ---------- */
label { display: block; font-weight: 600; margin: 0 0 4px; }
.mezo { margin-bottom: 16px; }
.mezo .apro { margin: 4px 0 0; }
input[type=text], input[type=search], input[type=password], input[type=number], input[type=email], input[type=tel], input[type=date], select, textarea {
  width: 100%; font: inherit; color: var(--tinta); background: var(--lap);
  border: 1.5px solid #c5cedd; border-radius: var(--kis); padding: 11px 14px; min-height: 48px;
}
textarea { min-height: 220px; line-height: 1.5; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--kek); outline: 3px solid var(--kek-halvany); outline-offset: 0; }
.sor { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 16px; }
.pipa { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; }
.pipa input { width: 22px; height: 22px; margin-top: 2px; accent-color: var(--roza); flex: none; }
.gomb {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px;
  font: inherit; font-weight: 700; border-radius: 999px; border: 2px solid transparent; cursor: pointer; text-decoration: none;
  background: var(--roza); color: #fff;
}
.gomb:hover { background: var(--roza-sotet); color: #fff; }
.gomb.masodlagos { background: var(--lap); color: var(--tinta); border-color: #c5cedd; }
.gomb.masodlagos:hover { border-color: var(--tinta); background: var(--lap); color: var(--tinta); }
.gomb.veszely { background: var(--lap); color: var(--hiba); border-color: var(--hiba); }
.gomb.veszely:hover { background: var(--hiba); color: #fff; }
.gomb.kicsi { min-height: 36px; padding: 0 14px; font-size: .9rem; }
.gomb[disabled] { opacity: .5; cursor: not-allowed; }
.gombok { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }

/* ---------- a pult nyitóoldala: a beolvasó mező a főszereplő ---------- */
.kereso { max-width: 760px; margin: 28px auto 8px; text-align: center; }
.kereso h1 { font-size: 2.1rem; margin-bottom: 6px; }
.kereso form { display: flex; gap: 10px; margin-top: 22px; }
.kereso input[type=search] { min-height: 64px; font-size: 1.35rem; padding: 0 22px; border-radius: 999px; border-width: 2px; }
.kereso .gomb { min-height: 64px; padding: 0 32px; font-size: 1.1rem; }
.kereso .apro { margin-top: 12px; }
.talalatok { max-width: 760px; margin: 22px auto 0; }
.talalat { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 18px; background: var(--lap);
  border: 1px solid var(--vonal); border-radius: var(--kozep); text-decoration: none; color: var(--tinta); }
.talalat + .talalat { margin-top: 8px; }
.talalat:hover { border-color: var(--roza); }
.talalat b { font-size: 1.05rem; }
.talalat small { color: var(--tinta-2); display: block; }

/* ---------- a tag pontkártyája ---------- */
.tag-nev { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.zsebek { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 18px 0; }
.zseb { border-radius: var(--kozep); padding: 14px 16px 12px; }
.zseb .cimke { font-size: .875rem; font-weight: 600; }
.zseb .ertek { font-size: 2.6rem; font-weight: 700; line-height: 1.1; letter-spacing: -.02em; margin-top: 2px; }
.zseb .ft { font-size: .85rem; margin-top: 2px; }
.zseb.regi { background: var(--kek-halvany); color: #174a73; }
.zseb.uj { background: var(--roza-halvany); color: #7d0c49; }
.azon { font-family: Consolas, "Cascadia Mono", monospace; font-size: 1.05rem; letter-spacing: .06em; background: var(--vaj-halvany); border-radius: 8px; padding: 6px 10px; display: inline-block; }
.adatok { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; font-size: .95rem; }
.adatok dt { color: var(--tinta-2); }
.adatok dd { margin: 0; }
.jelveny { display: inline-block; padding: 3px 12px; border-radius: 999px; font-size: .85rem; font-weight: 700; }
.jelveny.igenyelheto { background: var(--vaj-halvany); color: #7a5600; }
.jelveny.aktiv { background: var(--ok-halvany); color: var(--ok); }
.jelveny.letiltva { background: var(--hiba-halvany); color: var(--hiba); }
.jelveny.tulajdonos { background: var(--roza-halvany); color: var(--roza-sotet); }
.jelveny.penztaros { background: var(--kek-halvany); color: #174a73; }

.fulek { display: flex; gap: 4px; border-bottom: 2px solid var(--vonal); margin: -4px 0 20px; }
.fulek a { padding: 10px 18px; font-weight: 700; text-decoration: none; color: var(--tinta-2); border-bottom: 3px solid transparent; margin-bottom: -2px; }
.fulek a[aria-current="true"] { color: var(--roza-sotet); border-color: var(--roza); }
.elonezet { background: var(--vaj-halvany); border-radius: var(--kozep); padding: 12px 16px; margin: 4px 0 16px; font-weight: 600; }
.elonezet:empty { display: none; }
.mi-tortenik { font-size: .9rem; color: var(--tinta-2); margin: 0 0 14px; }

/* ---------- táblázatok ---------- */
table { width: 100%; border-collapse: collapse; }
th { text-align: left; font-size: .875rem; color: var(--tinta-2); font-weight: 600; padding: 8px 10px; border-bottom: 2px solid var(--vonal); white-space: nowrap; }
td { padding: 11px 10px; border-bottom: 1px solid var(--vonal); vertical-align: top; }
tbody tr:hover td { background: #fafbfe; }
td.pozitiv { color: var(--ok); font-weight: 700; }
td.negativ { color: var(--hiba); font-weight: 700; }
tr.stornozott td:not(.mozg) { text-decoration: line-through; color: var(--tinta-3); }
.tablazat-gorgo { overflow-x: auto; }

/* ---------- összesítő ---------- */
.szamsor { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 0; border: 1px solid var(--vonal); border-radius: var(--nagy); background: var(--lap); overflow: hidden; }
.szamsor > div { padding: 20px 22px; border-right: 1px solid var(--vonal); }
.szamsor > div:last-child { border-right: 0; }
.szamsor .ertek { font-size: 2.2rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
.szamsor .cimke { color: var(--tinta-2); font-weight: 600; font-size: .95rem; }
.szamsor .al { color: var(--tinta-2); font-size: .85rem; margin-top: 4px; }
.szamsor .regi .ertek { color: #174a73; }
.szamsor .uj .ertek { color: var(--roza-sotet); }
.figyelmeztetes { display: flex; gap: 12px; padding: 12px 16px; border-radius: var(--kozep); border-left: 5px solid; margin-bottom: 8px; }
.figyelmeztetes.figy { background: var(--figy-halvany); border-color: var(--vaj); }
.figyelmeztetes.hiba { background: var(--hiba-halvany); border-color: var(--hiba); }
.figyelmeztetes.info { background: var(--kek-halvany); border-color: var(--kek); }
.figyelmeztetes a { margin-left: auto; white-space: nowrap; font-weight: 600; }
.diagram { width: 100%; height: auto; display: block; }
.diagram .racs-vonal { stroke: var(--vonal); stroke-width: 1; }
.diagram .tengely { fill: var(--tinta-2); font-size: 11px; }
.diagram .oszlop { fill: var(--roza); }
.diagram .oszlop:hover { fill: var(--roza-sotet); }
.diagram-fej { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }

/* ---------- kisokos ---------- */
.kisokos { display: grid; grid-template-columns: 250px 1fr; gap: 28px; align-items: start; }
@media (max-width: 860px) { .kisokos { grid-template-columns: 1fr; } }
.kisokos nav { position: sticky; top: 84px; }
.kisokos nav a { display: block; padding: 9px 14px; border-radius: var(--kis); text-decoration: none; color: var(--tinta-2); font-weight: 600; }
.kisokos nav a:hover { background: var(--lap); }
.kisokos nav a[aria-current="page"] { background: var(--roza-halvany); color: var(--roza-sotet); }
.cikk { max-width: 68ch; }
.cikk h1 { margin-bottom: 1rem; }
.cikk h3 { margin-top: 1.6rem; }
.cikk li { margin-bottom: .35rem; }
.cikk ol, .cikk ul { padding-left: 1.4rem; margin: 0 0 1rem; }

/* ---------- belépés ---------- */
.belepes { min-height: 100vh; display: grid; place-items: center; padding: 20px; }
.belepes .lap { width: 100%; max-width: 420px; padding: 32px; }
.belepes .logo { justify-content: center; margin-bottom: 8px; font-size: 1.4rem; }
.belepes .logo img { width: 44px; height: 44px; }
.belepes h1 { text-align: center; font-size: 1.3rem; }
.belepes .gomb { width: 100%; }

.ures { text-align: center; padding: 36px 16px; color: var(--tinta-2); }
.lapozo { display: flex; gap: 10px; justify-content: center; margin-top: 18px; }

@media (prefers-reduced-motion: no-preference) {
  .gomb, .talalat, .menu a { transition: background-color .12s, border-color .12s, color .12s; }
}
@media print { .fej, .gombok, .fulek { display: none; } body { background: #fff; } }

/* ---------- Ügyfél-app oldal: QR-doboz és nyomtatható plakát ---------- */
.qr-doboz { width: min(320px, 80vw); aspect-ratio: 1; margin: 0 auto; background: #fff; border: 1px solid var(--vonal); border-radius: 18px; padding: 8px; }
.qr-doboz svg, .plakat-qr svg { width: 100%; height: 100%; display: block; }
.plakat { display: none; }
@media print {
  body.nyomtat-plakat .tartalom > *:not(.plakat), .fej { display: none !important; }
  .tartalom > *:not(.plakat) { display: none !important; }
  .plakat { display: block !important; text-align: center; padding: 8mm 12mm; font-family: var(--betu); color: #1c2a47; }
  .plakat-logo { width: 38mm; height: 38mm; }
  .plakat h2 { font-size: 30pt; margin: 4mm 0 2mm; } .plakat h2 b { color: #d4147c; }
  .plakat-al { font-size: 15pt; margin: 0 0 6mm; }
  .plakat-qr { width: 96mm; height: 96mm; margin: 0 auto 6mm; }
  .plakat-lepesek { display: inline-block; text-align: left; font-size: 14pt; line-height: 1.5; margin: 0 0 6mm; padding-left: 6mm; }
  .plakat-url { font-size: 16pt; font-weight: 700; letter-spacing: .02em; }
  @page { size: A5 portrait; margin: 6mm; }
}

/* ---------- Beállítások: EXCEL IMPORT riport ---------- */
.import-riport { margin-top: 22px; padding-top: 6px; border-top: 2px solid var(--vonal); }
.import-riport h3 { margin-top: 20px; }
.lista-egyszeru { margin: 0 0 12px; padding-left: 1.2rem; }
.lista-egyszeru li { margin-bottom: 6px; }
.import-jovahagy { margin-top: 18px; padding: 16px 18px; background: var(--papir); border-radius: var(--kozep); }
.import-jovahagy .uzenet { margin: 10px 0 0; }
#excel-import code, #mentes code { background: var(--papir); padding: 1px 6px; border-radius: 6px; font-size: .9em; }
input[type=file] { width: 100%; font: inherit; padding: 10px; border: 1.5px dashed #c5cedd; border-radius: var(--kis); background: var(--lap); }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---------- ajándékutalvány ---------- */
.jelveny.u-aktiv { background: var(--ok-halvany); color: var(--ok); }
.jelveny.u-lejart { background: var(--figy-halvany); color: var(--figy); }
.jelveny.u-felhasznalt { background: var(--kek-halvany); color: #174a73; }
.jelveny.u-tiltva, .jelveny.u-visszavonva { background: var(--hiba-halvany); color: var(--hiba); }

/* A nyomtatható utalvány-kártya: névjegykártya méret (85 × 55 mm); képernyőn nagyítva látszik, nyomtatáskor pontosan 85 × 55 mm. */
body.ukartya-oldal { background: #e9edf5; margin: 0; padding: 24px 16px 40px; display: flex; flex-direction: column; align-items: center; gap: 18px; }
.ukartya-vezerlo { max-width: 560px; text-align: center; }
.ukartya-vezerlo h1 { font-size: 1.3rem; margin: 0 0 6px; }
.ukartya-vezerlo p { margin: 0 0 12px; color: var(--tinta-2); }
.ukartya-keret { zoom: 3.2; }
.ukartya {
  width: 85mm; height: 55mm; background: #fff; color: #1c2a47; position: relative; overflow: hidden;
  border-radius: 3mm; display: grid; grid-template-columns: 1fr 31mm; gap: 2mm; padding: 4mm 4mm 4mm 5mm;
  box-shadow: 0 0 0 .25mm #cfd6e4; font-family: var(--betu); line-height: 1.2;
}
.ukartya::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2.2mm; background: #d4147c; }
.ukartya-marka { display: flex; align-items: center; gap: 1.4mm; font-weight: 700; font-size: 3.1mm; }
.ukartya-marka img { width: 6mm; height: 6mm; }
.ukartya-marka b { color: #d4147c; }
.ukartya-cim { font-size: 2.6mm; letter-spacing: .06em; text-transform: uppercase; color: #4a5876; margin: 3.2mm 0 .8mm; }
.ukartya-osszeg { font-size: 9.2mm; font-weight: 800; letter-spacing: -.02em; line-height: 1; }
.ukartya-ervenyes { font-size: 2.7mm; color: #4a5876; margin-top: 2mm; }
.ukartya-lab { font-size: 2.3mm; color: #7a869e; margin-top: 3mm; }
.ukartya-qr { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1mm; }
.ukartya-qr .qr-doboz { width: 29mm; height: 29mm; background: #fff; }
.ukartya-qr .qr-doboz svg { width: 100%; height: 100%; display: block; }
.ukartya-kod { font-size: 1.85mm; letter-spacing: .02em; font-family: "Consolas", "Courier New", monospace; text-align: center; word-break: break-all; }
@media print {
  @page { size: 85mm 55mm; margin: 0; }
  body.ukartya-oldal { background: #fff; padding: 0; display: block; }
  .ukartya-vezerlo { display: none; }
  .ukartya-keret { zoom: 1; }
  .ukartya { box-shadow: none; border-radius: 0; break-inside: avoid; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* felhasználók: szerep-választó egy sorban a gombbal */
form.sor-urlap { display: flex; gap: 6px; align-items: center; }
form.sor-urlap select { width: auto; min-width: 120px; padding: 6px 10px; }
fieldset.mezocsoport { border: 0; padding: 0; margin: 0; min-width: 0; }
fieldset.mezocsoport:disabled input, fieldset.mezocsoport:disabled select { background: var(--papir); color: var(--tinta-2); }

/* ---------- jogosultságok ---------- */
.szerep-valaszto { flex-wrap: wrap; margin-bottom: 14px; }
.szerep-valaszto a.uj-szerep { margin-left: auto; color: var(--kek); }
.jog-fej { display: flex; gap: 16px; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; margin-bottom: 14px; }
.jog-fej h2 { margin: 0 0 4px; }
.jog-fej p { margin: 0 0 4px; }
.jog-szerkeszt summary { list-style: none; cursor: pointer; }
.jog-szerkeszt summary::-webkit-details-marker { display: none; }
table.jogtabla { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--lap); border: 1px solid var(--vonal); border-radius: 14px; overflow: hidden; }
table.jogtabla thead th { position: sticky; top: 0; z-index: 2; background: #eef2f9; font-size: .85rem; text-align: left; padding: 10px 14px; border-bottom: 1px solid var(--vonal); }
table.jogtabla th.jog-oszlop, table.jogtabla td.jog-oszlop { width: 92px; text-align: center; }
table.jogtabla tbody + tbody tr.jog-csoport th, table.jogtabla tbody + tbody tr.jog-csoport td { border-top: 1px solid var(--vonal); }
tr.jog-csoport th, tr.jog-csoport td { background: var(--kek-halvany); padding: 8px 14px; font-size: .95rem; text-align: left; color: #174a73; }
tr.jog-csoport td { text-align: center; }
tr.jog-modul th { font-weight: 600; padding: 10px 14px 10px 28px; text-align: left; vertical-align: top; }
tr.jog-modul td { padding: 10px 6px; vertical-align: top; }
tr.jog-modul + tr.jog-modul th, tr.jog-modul + tr.jog-modul td { border-top: 1px solid #edf0f6; }
.jog-leiras { display: block; font-weight: 400; font-size: .8rem; color: var(--tinta-2); margin-top: 2px; line-height: 1.35; }
.jog-leiras b { font-weight: 600; color: var(--tinta); }
.jog-nincs { color: #b3bccd; }
.jog-kapcsolo, .jog-mind { display: inline-block; position: relative; cursor: pointer; line-height: 0; }
.jog-kapcsolo input, .jog-mind input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.jog-gomb { display: inline-block; width: 38px; height: 22px; border-radius: 999px; background: #cfd6e4; position: relative; transition: background-color .12s; }
.jog-gomb::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); transition: transform .12s; }
.jog-kapcsolo input:checked + .jog-gomb { background: var(--ok); }
.jog-kapcsolo input[data-szint="torol"]:checked + .jog-gomb { background: var(--hiba); }
.jog-kapcsolo input:checked + .jog-gomb::after { transform: translateX(16px); }
.jog-kapcsolo input:focus-visible + .jog-gomb, .jog-mind input:focus-visible { outline: 3px solid var(--kek); outline-offset: 2px; }
.jog-mind input { position: static; opacity: 1; width: 18px; height: 18px; accent-color: #174a73; }
.jog-mentes-sav { position: sticky; bottom: 0; display: flex; gap: 14px; align-items: center; justify-content: space-between; flex-wrap: wrap; background: rgba(255,255,255,.96); border-top: 1px solid var(--vonal); padding: 12px 16px; margin-top: 12px; border-radius: 14px; box-shadow: 0 -6px 18px rgba(28,42,71,.08); }
@media (prefers-reduced-motion: reduce) { .jog-gomb, .jog-gomb::after { transition: none; } }

/* kampányok: a hét napjai egy sorban */
.napok-sor { display: flex; gap: 8px; flex-wrap: wrap; }
.napok-cimke { display: inline-flex; align-items: center; gap: 6px; border: 1.5px solid var(--vonal); border-radius: 999px; padding: 6px 14px; margin: 0; background: var(--lap); cursor: pointer; }
.napok-cimke:has(input:checked) { background: var(--roza-halvany); border-color: var(--roza); color: var(--roza-sotet); }

/* gyakorló feladatok */
ol.gyakorlas-lista { margin: 0; padding-left: 0; list-style: none; display: grid; gap: 14px; }
ol.gyakorlas-lista li { border: 1px solid var(--vonal); border-radius: 14px; padding: 12px 16px; background: var(--lap); }
ol.gyakorlas-lista p { margin: 4px 0 0 30px; }
.gyakorlas-pipa { display: flex; gap: 10px; align-items: center; cursor: pointer; margin: 0; }
.gyakorlas-pipa input { width: 20px; height: 20px; accent-color: var(--ok); }
.gyakorlas-pipa:has(input:checked) strong { text-decoration: line-through; color: var(--tinta-3); }
.demo-sav { background: var(--vaj); color: var(--tinta); text-align: center; padding: 6px 12px; font-size: .88rem; font-weight: 700; letter-spacing: .02em; }

/* hírlevél előnézet */
pre.hirlevel-elonezet { white-space: pre-wrap; word-break: break-word; font: inherit; background: var(--papir); border: 1px solid var(--vonal); border-radius: 12px; padding: 14px 16px; max-height: 420px; overflow: auto; }
.felh a.aktiv-link { font-weight: 700; color: var(--roza-sotet); }
