/* DAGÓ 2.0 — pages-a.css · az új konzol-arculat oldal-szintű szabályai (2026-10-12, tulaj makettjei)
   Színliterál itt sem lehet — minden szín a tokens.css-ből.
   Oldalak: Élő adások (#page-elo · makett 02, 03), Rendszer (#page-rendszer · 04, 05, 06), API-keretek (#page-api · 07).
   Minden szabály az oldal gyökeréhez kötve, hogy a többi oldalra ne szivárogjon. */
@layer pages {

/* ── Közös: szegmentált fülek tömör borostyán kiválasztással (makett 02 / 04 / 07) ─────────────── */
:is(#page-elo .elo-seg, #page-rendszer .rs-tabs, #page-api .api-seg) .tab[aria-selected="true"] {
  background: var(--amber); color: var(--on-accent);
}
:is(#page-elo, #page-rendszer, #page-api) a.btn { text-decoration: none; }
:is(#page-elo, #page-rendszer, #page-api) .table td { vertical-align: middle; }
:is(#page-elo, #page-rendszer, #page-api) .toolbar .search input { background: var(--surface); }
:is(#page-elo, #page-rendszer, #page-api) :is(span.meter, span.meter-f) { display: block; }
/* Asztalon a cím és a jobb oldali vezérlők egy sorban maradnak (makett) — a hosszú leírás a címoszlopban tördel. */
@media (min-width: 1080px) {
  :is(#page-elo, #page-rendszer) .pagehead { flex-wrap: nowrap; }
  :is(#page-elo, #page-rendszer) .pagehead > div:first-child { flex: 1 1 auto; min-width: 0; }
  :is(#page-elo, #page-rendszer) .pagehead-act { flex: none; }
}

/* ══ ÉLŐ ADÁSOK ═══════════════════════════════════════════════════════════════════════════════ */
#page-elo .elo-headact { flex-direction: column; align-items: flex-end; gap: 10px; }
#page-elo .elo-seg { border: 1px solid var(--line-2); padding: 4px; }
#page-elo .elo-seg .tab { min-height: 44px; min-width: 160px; font-size: 17px; font-family: var(--font-head); color: var(--text); }
#page-elo .elo-btns { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
#page-elo .elo-body { display: flex; flex-direction: column; gap: var(--gap); }
#page-elo .elo-groups { display: flex; flex-direction: column; gap: var(--gap); }

#page-elo .elo-filter { padding: 14px 16px; }
#page-elo .elo-filter .toolbar { gap: 12px; }
#page-elo .elo-filter .search { flex: 2 1 280px; }
#page-elo .elo-count { margin-left: auto; color: var(--muted); font-size: 14px; white-space: nowrap; }

#page-elo .elo-group { padding: 16px; }
#page-elo .elo-group--watch {
  border-color: color-mix(in srgb, var(--warn) 60%, var(--line-2));
  background: color-mix(in srgb, var(--warn) 5%, var(--panel));
}
#page-elo .elo-gh {
  display: flex; align-items: center; gap: 12px; margin: 2px 0 14px;
  font-family: var(--font-head); font-size: 27px; font-weight: 700; line-height: 1.1;
  color: color-mix(in srgb, var(--gc) 75%, var(--text));
}
#page-elo .elo-gh small { font-family: var(--font-body); font-size: 22px; font-weight: 400; color: var(--text); }
#page-elo .elo-group--off .elo-gh { color: var(--text); }
#page-elo .elo-dot { width: 20px; height: 20px; border-radius: 50%; background: var(--gc); flex: none; }
#page-elo .elo-table td { padding-top: 12px; padding-bottom: 12px; }
#page-elo .elo-table .who b { font-size: 15.5px; }
#page-elo .elo-state {
  height: 34px; padding: 0 14px; border-radius: var(--r-sm); font-size: 14.5px; font-weight: 500;
  border: 1px solid color-mix(in srgb, var(--bc) 55%, var(--line-2));
  background: color-mix(in srgb, var(--bc) 14%, var(--panel));
}
#page-elo .elo-state::before { width: 12px; height: 12px; }
#page-elo .elo-clock { font-family: var(--font-mono); font-size: 14.5px; font-variant-numeric: tabular-nums; }
#page-elo .elo-sub { display: block; color: var(--muted); font-size: 13px; margin-top: 2px; }
#page-elo .elo-more { width: 1%; text-align: right; }
#page-elo .elo-group .rows { padding: 0; }
/* A tulajdonos neve sima szöveg, mint a makettben — a link csak rámutatáskor látszik. */
#page-elo .elo-table .linkbtn { color: var(--text); text-decoration: none; font-weight: 500; }
#page-elo .elo-table .linkbtn:hover { color: var(--amber-ink); text-decoration: underline; }

/* Adásminőség: négy összesítő csempe */
#page-elo .elo-stats { display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
#page-elo .elo-stat {
  display: flex; align-items: center; gap: 16px; padding: 18px;
  border: 1px solid var(--line-2); border-radius: var(--r); background: var(--panel);
}
#page-elo .elo-stat-ic {
  width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; flex: none; font-size: 24px;
  background: color-mix(in srgb, var(--sc) 22%, var(--panel)); color: color-mix(in srgb, var(--sc) 80%, var(--text));
}
#page-elo .elo-stat-l { display: block; font-size: 14.5px; }
#page-elo .elo-stat-n { display: block; font-family: var(--font-head); font-size: 30px; font-weight: 700; line-height: 1.1; }
#page-elo .elo-stat-s { display: block; color: var(--muted); font-size: 13.5px; }

#page-elo .elo-split { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1080px) { #page-elo .elo-split { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); } }

#page-elo .elo-lvl { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; text-transform: uppercase; white-space: nowrap; }
#page-elo .elo-lvl::before { content: ""; width: 11px; height: 11px; border-radius: 50%; background: var(--lc); }
#page-elo .elo-lvl--ok { --lc: var(--ok); }
#page-elo .elo-lvl--warn { --lc: var(--warn); color: var(--warn-ink); }
#page-elo .elo-kvtable td { padding-top: 9px; padding-bottom: 9px; }
#page-elo .elo-kvtable td:first-child { color: var(--muted); }
#page-elo .elo-chk { width: 1%; text-align: right; font-size: 18px; }
#page-elo .elo-ok { color: var(--ok); }
#page-elo .elo-bad { color: var(--danger); }
#page-elo .elo-badtxt { color: var(--danger-ink); font-weight: 600; }
#page-elo .elo-help { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
#page-elo .elo-help:last-child { border-bottom: 0; }
#page-elo .elo-help-ic {
  width: 38px; height: 38px; border-radius: 50%; flex: none; display: grid; place-items: center; font-size: 18px;
  background: color-mix(in srgb, var(--hc) 25%, var(--panel)); color: color-mix(in srgb, var(--hc) 80%, var(--text));
}
#page-elo .elo-help b { display: block; font-family: var(--font-head); font-size: 19px; }
#page-elo .elo-help p { margin: 2px 0 0; color: var(--muted); font-size: 14px; }

@media (max-width: 759px) {
  #page-elo .elo-headact { align-items: stretch; width: 100%; }
  #page-elo .elo-seg .tab { min-width: 0; flex: 1; }
  #page-elo .elo-btns { justify-content: flex-start; }
  #page-elo .elo-count { margin-left: 0; }
}

/* ══ RENDSZER ═════════════════════════════════════════════════════════════════════════════════ */
#page-rendszer .rs-headact { align-items: flex-start; gap: 10px; }
#page-rendszer .rs-maint {
  display: flex; gap: 14px; align-items: flex-start; padding: 14px 18px;
  border: 1px solid var(--line-2); border-radius: var(--r); background: var(--panel); font-size: 14.5px;
}
#page-rendszer .rs-maint > .i { font-size: 28px; color: var(--muted); margin-top: 2px; }
#page-rendszer .rs-maint b { display: block; font-family: var(--font-head); font-size: 19px; }
#page-rendszer .rs-maint b small { font-family: var(--font-body); font-weight: 400; font-size: 15px; }
#page-rendszer .rs-maint span { display: block; color: var(--muted); }
#page-rendszer .rs-upd { display: inline-block; color: var(--muted); font-size: 14px; margin-top: 8px; }

#page-rendszer .rs-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line-2); }
#page-rendszer .rs-tabs .tab {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 44px; font-family: var(--font-head); font-size: 18px; color: var(--text);
}
#page-rendszer .rs-body { display: flex; flex-direction: column; gap: var(--gap); }

/* Négy összesítő csempe (makett 04) */
#page-rendszer .rs-tiles { display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
#page-rendszer .rs-tile { display: flex; flex-direction: column; gap: 14px; padding: 16px; }
#page-rendszer .rs-tile-h { display: flex; align-items: center; gap: 10px; font-size: 22px; }
#page-rendszer .rs-tile-h h3 { font-family: var(--font-head); font-size: 21px; font-weight: 700; margin: 0; white-space: nowrap; }
#page-rendszer .rs-tile-h .card-link { margin-left: auto; font-size: 13.5px; white-space: nowrap; }
#page-rendszer .rs-tile-b {
  display: flex; align-items: center; gap: 14px; flex: 1; padding: 14px 12px;
  border: 1px solid var(--line-2); border-radius: var(--r-sm);
}
#page-rendszer .rs-big { font-family: var(--font-head); font-size: 48px; font-weight: 700; line-height: 1; text-align: center; flex: none; min-width: 64px; }
#page-rendszer .rs-tile-note { margin: -4px 0 0; color: var(--muted); font-size: 13.5px; }
#page-rendszer .rs-big > span:last-child { display: block; font-family: var(--font-body); font-size: 15px; font-weight: 400; color: var(--muted); margin-top: 8px; }
#page-rendszer .rs-tile-b:not(:has(.rs-lines)) .rs-big { text-align: left; }
#page-rendszer .rs-lines { list-style: none; margin: 0; padding: 0 0 0 14px; border-left: 1px solid var(--line-2); display: flex; flex-direction: column; gap: 8px; font-size: 14px; min-width: 0; }
#page-rendszer .rs-lines li { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
#page-rendszer .rs-lines b { color: color-mix(in srgb, var(--dc) 70%, var(--text)); }
#page-rendszer .rs-dot { width: 11px; height: 11px; border-radius: 50%; background: var(--dc); flex: none; }
#page-rendszer .rs-verdict { display: inline-flex; align-items: center; gap: 12px; font-size: 32px; }
#page-rendszer .rs-verdict .rs-dot { width: 18px; height: 18px; }
#page-rendszer .rs-btn { width: 100%; min-height: 42px; font-size: 16px; }

#page-rendszer .rs-split { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1080px) {
  #page-rendszer .rs-split { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
  #page-rendszer .rs-split--wide { grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); }
  #page-rendszer .rs-split--one { grid-template-columns: minmax(0, 1fr); }
}
#page-rendszer .rs-col { display: flex; flex-direction: column; gap: var(--gap); }
#page-rendszer .rs-ich { display: flex; align-items: center; gap: 12px; }
#page-rendszer .rs-ich--danger .i { color: var(--danger); }

#page-rendszer .rs-use { display: flex; align-items: center; gap: 14px; min-width: 170px; }
#page-rendszer .rs-pct { min-width: 42px; font-variant-numeric: tabular-nums; }
#page-rendszer .rs-use .meter { flex: 1; max-width: 180px; height: 11px; }
#page-rendszer .rs-res td { padding-top: 13px; padding-bottom: 13px; }

#page-rendszer .rs-sbs { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line-2); border-radius: var(--r-sm); }
#page-rendszer .rs-sb { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 12px; padding: 12px 16px; }
#page-rendszer .rs-sb + .rs-sb { border-top: 1px solid var(--line); }
#page-rendszer .rs-sb-l { font-size: 15px; }
#page-rendszer .rs-sb-r { display: flex; gap: 10px; align-items: baseline; }
#page-rendszer .rs-sb-r b { display: block; color: color-mix(in srgb, var(--dc) 70%, var(--text)); font-weight: 600; }
#page-rendszer .rs-sb-r small { display: block; color: var(--muted); font-size: 13px; }

#page-rendszer .rs-state { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
#page-rendszer .rs-state--pill { padding: 3px 10px; border-radius: var(--r-sm); background: color-mix(in srgb, var(--dc) 15%, var(--panel)); color: color-mix(in srgb, var(--dc) 70%, var(--text)); }
#page-rendszer .rs-mono { font-family: var(--font-mono); font-size: 13px; overflow-wrap: anywhere; }

#page-rendszer .rs-count {
  display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%;
  background: var(--danger); color: var(--on-accent); font-weight: 700;
}
#page-rendszer .rs-issues { display: flex; flex-direction: column; gap: 10px; }
#page-rendszer .rs-issue {
  display: flex; gap: 12px; padding: 12px 14px; border-radius: var(--r-sm);
  border: 1px solid var(--line-2); border-left: 4px solid var(--dc); background: var(--surface);
}
#page-rendszer .rs-issue > .i { color: var(--dc); font-size: 22px; flex: none; margin-top: 2px; }
#page-rendszer .rs-issue b { display: block; font-family: var(--font-mono); font-size: 14.5px; }
#page-rendszer .rs-issue span { color: var(--muted); font-size: 14px; }
#page-rendszer .rs-more {
  display: flex; width: 100%; align-items: center; justify-content: space-between; margin-top: 12px;
  padding: 11px 14px; border: 1px solid var(--line-2); border-radius: var(--r-sm); background: var(--surface); font-size: 15px;
}
#page-rendszer .rs-sum { display: grid; grid-template-columns: minmax(0, 1fr) auto; margin: 0; font-size: 15px; }
#page-rendszer .rs-sum dt, #page-rendszer .rs-sum dd { padding: 9px 0; border-bottom: 1px solid var(--line); }
#page-rendszer .rs-sum dt { color: var(--text); }
#page-rendszer .rs-sum dd { margin: 0; text-align: right; font-weight: 700; font-family: var(--font-mono); font-size: 14px; }
#page-rendszer .rs-sum dt:last-of-type, #page-rendszer .rs-sum dd:last-of-type { border-bottom: 0; }
#page-rendszer .rs-when { color: var(--muted); font-size: 13px; margin: 0; }

/* Napló (makett 06): tábla + jobb oldali részletek */
#page-rendszer .rs-logsplit { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1080px) { #page-rendszer .rs-logsplit.has-aside { grid-template-columns: minmax(0, 1fr) 360px; } }
#page-rendszer .rs-audit td { padding-top: 11px; padding-bottom: 11px; }
#page-rendszer .rs-audit tr.is-sel td {
  background: color-mix(in srgb, var(--amber) 18%, var(--panel));
  border-top: 1px solid var(--amber); border-bottom: 1px solid var(--amber);
}
#page-rendszer .rs-detail { max-width: 300px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); }
#page-rendszer .rs-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; color: var(--muted); font-size: 14px; }
#page-rendszer .rs-pages { display: flex; gap: 6px; flex-wrap: wrap; }
#page-rendszer .rs-pg {
  min-width: 38px; height: 38px; padding: 0 10px; border-radius: var(--r-sm);
  border: 1px solid var(--line-2); background: var(--surface); color: var(--text); font-size: 15px;
}
#page-rendszer .rs-pg[aria-current="page"] { background: var(--amber); border-color: var(--amber); color: var(--on-accent); font-weight: 700; }
#page-rendszer .rs-pg:disabled { opacity: .4; cursor: not-allowed; }
#page-rendszer .rs-aside { position: sticky; top: 76px; }
#page-rendszer .rs-aside-top b { display: block; font-family: var(--font-head); font-size: 24px; margin-top: 6px; }
#page-rendszer .rs-when2 { color: var(--muted); font-size: 14px; }
#page-rendszer .rs-box { margin-top: 12px; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: var(--r-sm); }
#page-rendszer .rs-box h4 { margin: 0 0 4px; font-family: var(--font-head); font-size: 18px; }
#page-rendszer .rs-box .rs-sum dd { font-family: var(--font-body); font-weight: 500; }

@media (max-width: 759px) {
  #page-rendszer .rs-tabs .tab { font-size: 15px; gap: 6px; }
  #page-rendszer .rs-aside { position: static; }
  #page-rendszer .rs-sb { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}

/* ══ API-KERETEK ══════════════════════════════════════════════════════════════════════════════ */
#page-api .api-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
#page-api .api-seg { background: none; padding: 0; gap: 8px; }
#page-api .api-seg .tab {
  min-height: 42px; min-width: 120px; border: 1px solid var(--line-2); background: var(--surface);
  font-family: var(--font-head); font-size: 18px; color: var(--text);
}
#page-api .api-seg .tab[aria-selected="true"] { border-color: var(--amber); }
#page-api .api-upd { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 15px; }

#page-api .api-tiles { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
#page-api .api-tile {
  display: flex; flex-direction: column; gap: 14px; text-align: left; width: 100%; padding: 14px 16px;
  border: 1px solid var(--line-2); border-radius: var(--r); background: var(--surface); color: var(--text);
}
#page-api .api-tile:hover { border-color: color-mix(in srgb, var(--sc) 60%, var(--line-2)); }
#page-api .api-tile-h { display: flex; align-items: center; gap: 12px; }
#page-api .api-tile-h b { display: block; font-family: var(--font-head); font-size: 21px; line-height: 1.15; }
#page-api .api-tile-h small { display: block; color: var(--muted); font-size: 13.5px; }
#page-api .api-ic {
  width: 42px; height: 42px; border-radius: 50%; flex: none; display: grid; place-items: center; font-size: 20px;
  background: color-mix(in srgb, var(--sc) 32%, var(--panel));
}
#page-api .api-ic--sm { width: 28px; height: 28px; font-size: 14px; }
#page-api .api-tile-v { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 15px; margin-top: auto; }
#page-api .api-tile-v b { font-size: 19px; }
#page-api .api-tile .meter { height: 9px; }
#page-api .api-free { color: var(--muted); font-size: 13px; text-align: right; }
#page-api .api-err { color: var(--warn-ink); font-size: 14px; }
#page-api .api-meter { display: block; height: 9px; border-radius: var(--r-pill); }
#page-api .api-meter--free { background: color-mix(in srgb, var(--purple) 80%, var(--panel)); }
#page-api .api-meter--none { background: var(--surface-2); }

#page-api .api-table td { padding-top: 9px; padding-bottom: 9px; }
#page-api .api-table th small { font-weight: 400; color: var(--muted); }
#page-api .api-barcol { width: 28%; min-width: 140px; }
#page-api .api-barcol .meter { height: 10px; }
#page-api .api-name { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; font-weight: 500; }

@media (max-width: 759px) {
  #page-api .api-seg .tab { min-width: 0; flex: 1; }
  #page-api .api-seg { width: 100%; }
}

}
