/* =================================================================
   HACCP Denník — OBRAZOVKY MODULOV.

   NÁJDENÉ PRI REDIZAJNE: 147 tried použitých v šablónach nebolo
   definovaných v ŽIADNOM stylesheete. Dvadsaťdva obrazoviek —
   Dokumenty, Vzorky, Výdaj, Rozvoz, Semafor, Prevádzky, Kontrolór,
   Denné menu, Účet, Scorecard, Recall, Eskalácie, Ponuky, Nálepky —
   sa vykresľovalo ako holé HTML: čierny text na bielom, odrážky,
   žiadne karty, žiadne rozostupy. Preto systém pôsobil nedokončene
   všade okrem prehľadu, aj keď funkčne bol hotový.

   Názvoslovie tried je naprieč šablónami rovnaké, takže sa to dá
   pokryť spoločnými selektormi namiesto 147 osobitných pravidiel:

     *-obal      obal tabuľky        *-zoznam    zoznam položiek
     *-tabulka   dátová tabuľka      *-polozka   položka zoznamu
     *-filtre    riadok filtrov      *-akcie     tlačidlá pri položke
     *-udaje     text položky        *-ikona     ikona v štvorčeku

   Načítava sa POSLEDNÉ (zaklad.css → rozhranie.css → moduly.css).
   ================================================================= */

/* ── Súhrnné čísla ─────────────────────────────────────────────── */
.mriezka {
  display: grid; gap: .8rem; margin: 0 0 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
}
.karta.stat { text-align: center; padding: 1.1rem .85rem; }
.stat-cislo {
  margin: 0; font-size: 1.9rem; font-weight: 700;
  letter-spacing: -.03em; line-height: 1.1;
  font-variant-numeric: tabular-nums; color: var(--text);
}
.karta.stat .napoveda { display: block; margin: .2rem 0 0; }

/* ── Riadky filtrov a nástrojov ────────────────────────────────
   Filtre bývajú vo formulári, ktorý má zvislý smer. Tu ho treba
   prebiť na vodorovný, inak sú tri rozbaľovačky pod sebou cez pol
   obrazovky. */
.dok-filtre, .me-filtre, .sc-filtre, .roh-filtre, .vzh-filtre,
.vyd-filtre, .riadok-filtra, .riadok-nastroje, .pri-filter, .ev-filtre {
  display: flex; flex-direction: row; flex-wrap: wrap;
  align-items: flex-end; gap: .75rem;
  margin: 0 0 1.25rem; padding: .85rem 1rem;
  background: var(--plocha); border: 1px solid var(--ciara);
  border-radius: var(--r-l); box-shadow: var(--tien-1);
}
.dok-filtre .pole, .me-filtre .pole, .sc-filtre .pole, .roh-filtre .pole,
.vzh-filtre .pole, .vyd-filtre .pole, .riadok-filtra .pole,
.riadok-nastroje .pole, .pri-filter .pole {
  margin: 0; flex: 1 1 11rem; min-width: 0;
}
.riadok-nastroje { justify-content: space-between; align-items: center; }

/* ── Obaly tabuliek ────────────────────────────────────────────
   Vodorovné rolovanie je tu podstatné: na mobile má tabuľka s ôsmimi
   stĺpcami rozbiť SEBA, nie celú stránku. */
.vyd-tabulka-obal, .roh-obal, .vzh-obal, .sc-obal, .scd-obal, .su-obal,
.rc-obal, .fa-obal, .kd-obal, .ko-obal, .tabulka-obal, .ap-obal {
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  margin: 0 0 1.5rem;
  background: var(--plocha); border: 1px solid var(--ciara);
  border-radius: var(--r-l); box-shadow: var(--tien-1);
}

.vyd-tabulka, .roh-tabulka, .vzh-tabulka, .sc-tabulka, .scd-tabulka,
.su-tabulka, .rc-tabulka, .fa-tabulka, .kd-tabulka, .ko-tabulka,
.tr-tabulka, .ap-tabulka, .tabulka {
  width: 100%; border-collapse: collapse; font-size: .92rem;
}
.vyd-tabulka th, .roh-tabulka th, .vzh-tabulka th, .sc-tabulka th,
.scd-tabulka th, .su-tabulka th, .rc-tabulka th, .fa-tabulka th,
.kd-tabulka th, .ko-tabulka th, .tr-tabulka th, .ap-tabulka th, .tabulka th {
  padding: .7rem .85rem; text-align: left; white-space: nowrap;
  font-size: .72rem; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; color: var(--text-slaby);
  background: var(--plocha-2); border-bottom: 1px solid var(--ciara);
}
.vyd-tabulka td, .roh-tabulka td, .vzh-tabulka td, .sc-tabulka td,
.scd-tabulka td, .su-tabulka td, .rc-tabulka td, .fa-tabulka td,
.kd-tabulka td, .ko-tabulka td, .tr-tabulka td, .ap-tabulka td, .tabulka td {
  padding: .75rem .85rem; vertical-align: top;
  border-bottom: 1px solid var(--ciara);
}
.vyd-tabulka tbody tr:last-child td, .roh-tabulka tbody tr:last-child td,
.vzh-tabulka tbody tr:last-child td, .sc-tabulka tbody tr:last-child td,
.scd-tabulka tbody tr:last-child td, .su-tabulka tbody tr:last-child td,
.rc-tabulka tbody tr:last-child td, .fa-tabulka tbody tr:last-child td,
.kd-tabulka tbody tr:last-child td, .ko-tabulka tbody tr:last-child td,
.tabulka tbody tr:last-child td { border-bottom: 0; }
.vyd-tabulka td small, .roh-tabulka td small, .vzh-tabulka td small,
.ko-tabulka td small, .fa-tabulka td small, .tabulka td small {
  display: block; color: var(--text-tichy); font-size: .8rem;
}

/* Stornovaný riadok sa NESKRÝVA, len prečiarkne (CLAUDE.md §3). */
.roh-storno-dovod, .vzh-storno-dovod, .vyd-storno-dovod {
  display: block; margin-top: .2rem;
  font-size: .78rem; color: var(--varovanie); text-decoration: none;
}

/* ── Zoznamy položiek ──────────────────────────────────────────── */
.dok-zoznam, .vz-zoznam, .ko-zoznam, .me-zoznam, .es-zoznam, .ro-zoznam,
.kos-zoznam, .zr-zoznam, .pr-zoznam, .sem-nalezy, .karty-zoznam,
.ponuky, .nalepky, .dd-verzie, .es-zastupcovia, .ro-predlohy {
  list-style: none; margin: 0 0 1.5rem; padding: 0;
  display: grid; gap: .5rem;
}

.dok-polozka, .vz-polozka, .ko-riadok, .me-riadok, .sem-nalez,
.es-zoznam > li, .ro-zoznam > li, .kos-zoznam > li, .zr-zoznam > li,
.pr-zoznam > li, .dd-verzia, .es-zastupcovia > li, .ro-predlohy > li {
  display: flex; align-items: center; gap: .85rem; flex-wrap: wrap;
  padding: .85rem 1rem;
  background: var(--plocha); border: 1px solid var(--ciara);
  border-radius: var(--r-m); box-shadow: var(--tien-1);
}
.dok-polozka > div, .vz-polozka > div, .ko-riadok > div, .me-riadok > div,
.sem-nalez > div, .dd-verzia > div {
  flex: 1 1 12rem; min-width: 0;
}
.dok-udaje, .ko-adresa, .dd-udaje, .ro-udaje, .uc-rozpis {
  display: flex; flex-direction: column; flex: 1 1 12rem; min-width: 0;
}
.dok-udaje a, .me-riadok a { text-decoration: none; color: var(--text); }
.dok-udaje a:hover strong { text-decoration: underline; }

.dok-ikona, .vz-ikona {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.4rem; height: 2.4rem; flex: 0 0 auto;
  font-size: 1.15rem; background: var(--plocha-2); border-radius: 10px;
}

.vz-akcie, .ko-akcie, .dd-akcie, .pv-akcie, .me-verzie {
  display: flex; align-items: center; gap: .4rem; flex-wrap: wrap;
  margin-left: auto;
}

/* ── Prázdny stav ──────────────────────────────────────────────
   Prázdna obrazovka bez vysvetlenia vyzerá ako chyba. */
.prazdne, .prazdne-obdobie {
  padding: 2rem 1.25rem; text-align: center;
  color: var(--text-tichy);
  background: var(--plocha-2);
  border: 1px dashed var(--ciara-silna);
  border-radius: var(--r-l);
}

/* ── Semafor pripravenosti ─────────────────────────────────────── */
.sem-cislo {
  margin: 0; font-size: 3.25rem; font-weight: 750; line-height: 1;
  letter-spacing: -.04em; font-variant-numeric: tabular-nums;
}
.sem-zo { font-size: 1.15rem; font-weight: 500; color: var(--text-slaby); }
.sem-popis { margin: .4rem 0 0; color: var(--text-tichy); }

.sem-nalez { border-left: 4px solid var(--ciara); }
.sem-nalez.sem-cervena  { border-left-color: var(--odchylka); background: var(--odchylka-jemna); }
.sem-nalez.sem-oranzova { border-left-color: var(--varovanie); background: var(--varovanie-jemna); }
.sem-nalez.sem-zelena   { border-left-color: var(--ok); }
.sem-nalez.sem-info     { border-left-color: var(--znacka-svetla); }
.sem-nalez.sem-vypnute  { border-left-color: var(--ciara-silna); background: var(--plocha-2); }
.stitok-kriticky { color: #fff; background: var(--odchylka); border-color: var(--odchylka); }

/* Pôvod odchýlky a počet výskytov. Štítok je tichý zámerne — nesmie
   prekričať závažnosť, ktorá je v riadku to hlavné. */
.stitok-povod { font-weight: 500; }
.odch-vyskyty { font-weight: 600; color: var(--varovanie); }

.odch-filtre { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .8rem; }
.odch-filter {
  /* 48 px je minimum z CLAUDE.md §7 — pri 34 px sa na tablete trafí
     vedľajší filter. Zmerané pri prompte 7. */
  display: inline-flex; align-items: center; min-height: 48px;
  padding: .35rem .95rem; font-size: .9rem; text-decoration: none;
  color: var(--text-tichy); background: var(--pozadie);
  border: 1px solid var(--ciara); border-radius: 99px;
}
.odch-filter.aktivny {
  color: #fff; background: var(--znacka); border-color: var(--znacka);
}

/* ── Prevádzky: karta na prevádzku ─────────────────────────────── */
.pv-karty {
  display: grid; gap: 1rem; margin: 0 0 1.5rem;
  grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr));
}
.pv-karta { border-top: 4px solid var(--ciara); }
.pv-zelena   { border-top-color: var(--ok); }
.pv-oranzova { border-top-color: var(--varovanie); }
.pv-cervena  { border-top-color: var(--odchylka); }

.pv-hlavicka {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: .75rem; margin-bottom: .6rem;
}
.pv-hlavicka h2 { margin: 0; font-size: 1.08rem; }
.pv-skore {
  font-size: 1.5rem; font-weight: 700; letter-spacing: -.03em;
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.pv-zo { font-size: .85rem; font-weight: 500; color: var(--text-slaby); }

.pv-udaje { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.pv-udaje li {
  display: flex; align-items: center; justify-content: space-between;
  gap: .75rem; padding: .3rem 0; font-size: .9rem;
  border-bottom: 1px dashed var(--ciara);
}
.pv-udaje li:last-child { border-bottom: 0; }
.pv-udaje span { color: var(--text-tichy); }
.pv-zle, .pv-zle strong { color: var(--odchylka); font-weight: 600; }
.pv-posledny { margin: .6rem 0 0; font-size: .85rem; color: var(--text-tichy); }

/* Minigraf skóre — výšku stĺpca nesie premenná --v zo šablóny. */
.pv-graf, .tr-graf {
  display: flex; align-items: flex-end; gap: 2px;
  height: 2.75rem; margin: .75rem 0 0;
  padding: .3rem .4rem;
  background: var(--plocha-2); border-radius: var(--r-s);
}
.pv-stlpec {
  flex: 1 1 0; min-width: 3px;
  height: var(--v, 0%); min-height: 2px;
  background: var(--ciara-silna); border-radius: 2px 2px 0 0;
}
.pv-s-zelena    { background: var(--ok); }
.pv-s-oranzova  { background: var(--varovanie); }
.pv-s-cervena   { background: var(--odchylka); }
.pv-s-zatvorene { background: var(--ciara); }
.pv-sucty { margin-bottom: 1.5rem; }

/* ── Výdaj: dlaždice jedál a pultov ────────────────────────────── */
.vyd-mriezka {
  display: grid; gap: .85rem; margin: 0 0 1.5rem;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
}
.vyd-dlazdica {
  padding: 1rem; background: var(--plocha);
  border: 1px solid var(--ciara); border-left: 4px solid var(--ciara);
  border-radius: var(--r-l); box-shadow: var(--tien-1);
}
.vyd-dlazdica h2 { margin: 0 0 .4rem; font-size: 1.02rem; }
.vyd-ok { border-left-color: var(--ok); }
.vyd-dlho { border-left-color: var(--odchylka); background: var(--odchylka-jemna); }
.vyd-teplota {
  margin: 0; font-size: 2rem; font-weight: 700; line-height: 1.1;
  letter-spacing: -.03em; font-variant-numeric: tabular-nums;
}
.vyd-stav { margin: 0; color: var(--text-tichy); font-weight: 600; }
.vyd-meranie { display: flex; gap: .5rem; align-items: stretch; margin-top: .75rem; }
.vyd-meranie input { flex: 1 1 auto; min-width: 0; }
.vyd-banner { margin-bottom: 1rem; }
.vyd-pridanie { margin: 1rem 0; }

/* ── Vzorky ────────────────────────────────────────────────────── */
.vz-tlacidla {
  display: grid; gap: .65rem; margin: 0 0 1.5rem;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
}
.vz-tlacidlo {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: .4rem;
  width: 100%; min-height: 5.5rem; padding: .85rem;
  font-size: .92rem; font-weight: 600; text-align: center;
  color: var(--text); background: var(--plocha);
  border: 1px solid var(--ciara); border-radius: var(--r-l);
  box-shadow: var(--tien-1); cursor: pointer;
}
.vz-tlacidlo:hover { border-color: var(--znacka-obrys); background: var(--znacka-jemna); }
.vz-tlacidlo .vz-ikona { width: 2.4rem; height: 2.4rem; font-size: 1.35rem; }
.vz-uchovavana { border-left: 4px solid var(--ok); }
.vz-konci { border-left: 4px solid var(--varovanie); background: var(--varovanie-jemna); }
.vz-rucne { margin: 1rem 0; }

/* ── Dokumenty ─────────────────────────────────────────────────
   Plné úložisko zastaví NAHRÁVANIE, nikdy zápis do denníka — preto je
   pás žltý a nie červený. */
.dok-kvota { margin-bottom: 1.25rem; }
.dok-kvota-riadok {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: .75rem; flex-wrap: wrap; margin-bottom: .5rem;
}
.dok-pas {
  height: .5rem; background: var(--ciara); border-radius: 99px; overflow: hidden;
}
.dok-pas span { display: block; height: 100%; background: var(--znacka); }
.dok-kvota-varovanie { border-color: var(--varovanie-obrys); background: var(--varovanie-jemna); }
.dok-kvota-varovanie .dok-pas span { background: var(--varovanie); }
.dok-novy { margin: 1.25rem 0; }

/* ── Eskalácie, rozvoz, menu, kontrolór ────────────────────────── */
.es-prepinac { margin: 0 0 1.25rem; }
.es-formular, .ro-formular, .rc-zadanie, .ko-novy, .nova-moznosti {
  margin: 0 0 1.5rem; padding: 1.15rem 1.25rem;
  background: var(--plocha); border: 1px solid var(--ciara);
  border-radius: var(--r-l); box-shadow: var(--tien-1);
}
.ro-volba, .me-vyber, .nova-kopia {
  display: flex; gap: .6rem; flex-wrap: wrap; align-items: center;
  margin: 0 0 1rem;
}
.me-dni { display: flex; gap: .4rem; flex-wrap: wrap; margin: 0 0 1.25rem; }
.me-volny { color: var(--text-slaby); font-style: italic; }
.ko-moduly { display: flex; gap: .35rem; flex-wrap: wrap; }
.kd-ua { font-size: .78rem; color: var(--text-slaby); word-break: break-all; }

/* ── Účet, balíčky, faktúry ────────────────────────────────────── */
.ucet-cena {
  font-size: 1.6rem; font-weight: 700; letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.ucet-siroke { grid-column: 1 / -1; }
.ba-platba { margin-top: 1rem; }
.uc-sezona { color: var(--text-tichy); font-size: .88rem; }
.uc-spolu { font-weight: 700; font-variant-numeric: tabular-nums; }

/* ── Scorecard a súhrn ─────────────────────────────────────────── */
.sc-legenda {
  display: flex; gap: 1rem; flex-wrap: wrap;
  margin: 0 0 1.25rem; font-size: .82rem; color: var(--text-tichy);
}

/* ── AI import ─────────────────────────────────────────────────── */
.ai-sirsia { max-width: 46rem; }
.ai-nahlad {
  max-height: 22rem; overflow: auto;
  padding: 1rem; margin: 0 0 1.25rem;
  font-family: ui-monospace, Consolas, monospace; font-size: .82rem;
  white-space: pre-wrap; word-break: break-word;
  background: var(--plocha-2); border: 1px solid var(--ciara);
  border-radius: var(--r-m);
}
.karta-zamknuta { opacity: .72; border-style: dashed; }
.zoznam-nahlad {
  max-height: 16rem; overflow: auto; margin: .5rem 0 0;
  padding-left: 1.15rem; font-size: .88rem; color: var(--text-tichy);
}

/* ── Nálepky a skener ──────────────────────────────────────────── */
.zaskrtavatko { width: 22px; height: 22px; }
.skryty-text { position: absolute; left: -9999px; }
.skener {
  width: 100%; max-width: 30rem; margin: 0 auto;
  border-radius: var(--r-l); overflow: hidden; background: #000;
}
.poradie-sipky { display: inline-flex; gap: .2rem; }
.san-frekvencia { white-space: nowrap; }
.uzke { max-width: 34rem; }

/* ── Príručka a pridelenia ─────────────────────────────────────── */
.pr-hlavicka {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem;
}
.pr-obsah {
  padding: 1.25rem 1.5rem;
  background: var(--plocha); border: 1px solid var(--ciara);
  border-radius: var(--r-l); box-shadow: var(--tien-1);
  line-height: 1.7;
}
.pr-chyba { color: var(--odchylka); font-weight: 600; }
.pr-osoba { display: flex; align-items: center; gap: .6rem; }
.pr-vyber { display: grid; gap: .4rem; }

/* ── Etiketa vzorky (na tlač) ──────────────────────────────────── */
.et-stranka { display: grid; gap: .5rem; }
.et-etiketa {
  padding: .85rem 1rem;
  border: 2px solid var(--text); border-radius: var(--r-s);
}
.et-nazov { margin: 0 0 .3rem; font-size: 1.15rem; font-weight: 700; }
.et-oznacenie, .et-lehota, .et-kym { margin: 0; font-size: .88rem; }
.et-riadok { display: flex; justify-content: space-between; gap: 1rem; }

/* ── QR pre hostí ──────────────────────────────────────────────── */
.qr-karta { text-align: center; max-width: 26rem; margin: 0 auto; }
.qr-obrazok {
  width: 100%; max-width: 16rem; height: auto; margin: 0 auto .75rem;
  display: block; padding: .75rem; background: #fff;
  border: 1px solid var(--ciara); border-radius: var(--r-m);
}
.qr-adresa {
  font-family: ui-monospace, Consolas, monospace; font-size: .85rem;
  word-break: break-all; color: var(--text-tichy);
}

/* ── Úzke obrazovky ────────────────────────────────────────────── */
@media (max-width: 40rem) {
  .mriezka { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat-cislo { font-size: 1.5rem; }
  .sem-cislo { font-size: 2.6rem; }
  .vyd-mriezka, .pv-karty { grid-template-columns: 1fr; }
  .vz-tlacidla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dok-filtre, .me-filtre, .sc-filtre, .roh-filtre, .vzh-filtre,
  .vyd-filtre, .riadok-filtra, .pri-filter { padding: .75rem .85rem; }
  .vz-akcie, .ko-akcie, .dd-akcie, .pv-akcie { margin-left: 0; width: 100%; }
}

/* ── Kancelárske teploty: záloha pred nabehnutím ostrova ───────
   Serverom vykreslený zoznam sa skryje AŽ keď island potvrdí, že
   sa namontoval. Keby sa skryl vopred a Vue by nenabehlo, majiteľ
   pozerá na prázdnu obrazovku. */
.kan-zaloha { margin-bottom: 1.25rem; }
.kan-historia { margin-bottom: 1.5rem; }

/* Výdaj: jadro po uvarení. Kancelársky rám — tá istá dvojica ako
   v kiosku (dlaždica + tlmené tlačidlo pod ňou). */
.vyd-bunka { display: flex; flex-direction: column; gap: .4rem; }
.vyd-bunka .vyd-dlazdica { flex: 1 1 auto; }
.vyd-jadro-tl {
  min-height: 48px; padding: 0 .8rem; font-size: .9rem;
  color: var(--text-tichy); background: var(--plocha);
  border: 1px solid var(--ciara); border-radius: var(--r-m); cursor: pointer;
}
.vyd-jadro-tl[disabled] { opacity: .5; cursor: not-allowed; }
.vyd-stitok.vyd-jadro { color: var(--znacka); }

/* ── Odporučte nás ───────────────────────────────────────────────
   Kód musí byť čitateľný na diaľku aj cez telefón — zákazník ho
   niekomu diktuje. Preto veľký monospace s rozostupom písmen: `0`
   a `O` v ňom síce nie sú (generátor ich vynecháva), ale aj tak sa
   z neho číta po znakoch. */
.odp-karta {
  margin: 1.2rem 0;
  padding: 1.2rem;
  background: var(--plocha);
  border: 1px solid var(--ciara);
  border-radius: 14px;
}
.odp-popis { margin: 0 0 .2rem; color: var(--tichy); font-size: .9rem; }
.odp-kod {
  margin: 0 0 1rem;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 2rem; font-weight: 700; letter-spacing: .18em;
}
.odp-odkaz { width: 100%; font-size: .95rem; }

.odp-suhrn {
  display: flex; flex-wrap: wrap; gap: 1.5rem;
  margin: 1.2rem 0; padding: 1rem 1.2rem;
  background: var(--plocha); border: 1px solid var(--ciara);
  border-radius: 14px;
}
.odp-suhrn div { display: flex; flex-direction: column; }
.odp-suhrn strong { font-size: 1.6rem; line-height: 1.1; }
.odp-suhrn span { color: var(--tichy); font-size: .88rem; }

.odp-zoznam { list-style: none; margin: .6rem 0 0; padding: 0; }
.odp-polozka {
  padding: .8rem 1rem; margin-bottom: .5rem;
  background: var(--plocha); border: 1px solid var(--ciara);
  border-radius: 12px;
}
/* Stav sa dá rozoznať aj bez farby — ľavý pruh, nie iba odtieň. */
.odp-polozka.odp-odmeneny { border-left: 5px solid var(--ok); }
.odp-polozka.odp-vydany { border-left: 5px solid var(--varovanie); }
.odp-polozka.odp-zamietnuty,
.odp-polozka.odp-zruseny { border-left: 5px solid var(--ciara); opacity: .7; }

.odp-poznamka { margin-top: 1.5rem; }
