/* ============================================================
   brand-codecheck.css — a codecheck.hu (termék) arculata a hub meglévő változóira és komponenseire.
   Forrás: landing/mi-kodellenorzes/css/base/tokens.css + components/buttons.css — krém #f3f0e8 alap, #101010 tinta,
   #3a2bd6 lila elsődleges (gombok, kiemelés, aktív fül, linkek), fehér kártyák, pirula-gombok; Archivo + Space Mono marad.
   A GET /brand.css adja HUB_BRAND=codecheck (és egyedi) esetén, a style.css UTÁN. Egyedi brandnél a szerver elé fűzi:
   :root{--brand-primary:…;--brand-bg:…} — ezért itt a két változót NEM definiáljuk, csak tartalékkal olvassuk.
   Csak kódellenőrzés: a pentest / weboldal / Marveen funkciók elemei ([data-feature]) itt CSS-ből is rejtve (nincs villanás).
   ============================================================ */

:root {
  /* hub-változók → landing-tokenek */
  --paper:   var(--brand-bg, #f3f0e8);
  --paper-2: color-mix(in srgb, var(--paper) 90%, #101010);
  --ink:     #101010;
  --ink-2:   #2b2b2b;
  --muted:   #5a6472;
  --line:    #dcd8cd;
  --card:    #ffffff;
  --terra:   var(--brand-primary, #3a2bd6);
  --terra-d: color-mix(in srgb, var(--terra) 78%, #000);
  --gold:    #f2c14e;
  --coral:   #f26b5b;
  --green:   #7cc6a4;
  --blue:    #a9c9f5;
  --shadow:  0 2px 6px rgba(16, 16, 16, .06), 0 10px 26px rgba(16, 16, 16, .08);
  --shadow-s:0 1px 2px rgba(16, 16, 16, .05), 0 4px 12px rgba(16, 16, 16, .06);
  --r:   22px;
  --r-lg:26px;
  --r-sm:14px;
  /* a 3D-színpad (js/stage/palette.js) a --f-* tokenekből színez → a brand lilája */
  --f-primary: var(--terra);
  --f-ink: #101010;
  --f-grey: #5a6472;
  --f-hero: #f4f5f3;
  --f-card: #ffffff;
  --f-white: #ffffff;
  --f-sky: #a9c9f5;
  --f-mint: #7cc6a4;
  --f-coral: #f26b5b;
  --f-mustard: #f2c14e;
  --f-success: #1d6b47;
  --cc-gyuru: color-mix(in srgb, var(--terra) 16%, transparent);
  --cc-arnyek: color-mix(in srgb, var(--terra) 30%, transparent);
}

/* ---- funkció-réteg: csak kódellenőrzés ---- */
[data-feature~="pentest"], [data-feature~="weboldal"], [data-feature~="marveen"] { display: none !important; }
/* a logó a brand.js cseréje előtt ne villanjon fel az absec-pajzzsal */
img[data-brand="logo"]:not([data-brand-kesz]), img[data-brand="logo-sotet"]:not([data-brand-kesz]) { visibility: hidden; }

/* ---- alap: tiszta krém felület (a meleg foltok és a zajréteg nélkül) ---- */
body {
  background: var(--paper);
  background-image: radial-gradient(900px 520px at 100% -10%, color-mix(in srgb, var(--terra) 7%, transparent), transparent 62%);
  letter-spacing: -.005em;
}
body::before { display: none; }
::selection { background: color-mix(in srgb, var(--terra) 22%, #fff); }

/* ---- fejléc: széles (kb. 5:1) vektoros logó — pajzs + szóvédjegy; a márkanév a kickerben kisbetűs ----
   Csak a magasságot rögzítjük (width:auto → a természetes 519×104 arány), object-fit: a pajzs szűk helyen sem torzul. */
header.top { flex-wrap: wrap; gap: 14px 18px; }
.logo-pajzs { width: auto; height: 44px; aspect-ratio: auto; object-fit: contain; object-position: left center; filter: none; }
.logo-pajzs.kicsi { width: auto; height: 40px; }
/* a logó (benne a név) külön sorban, alatta a kicker + cím */
header.top > .logo-pajzs { flex: 0 0 auto; max-width: 100%; }
header.top > .logo-pajzs ~ .top-szoveg { flex: 1 1 100%; max-width: none; }
@media (max-width: 760px) { .logo-pajzs, .logo-pajzs.kicsi { width: auto; height: 32px; } }
.kicker { color: var(--terra); }
.kicker [data-brand="nev"], .kicker [data-brand="rovid"] { text-transform: none; letter-spacing: .02em; }
h1 { letter-spacing: -.035em; }
a.back:hover { color: var(--terra); }
.hero-vizjel { filter: grayscale(1); opacity: .22 !important; }

/* ---- kártyák, panelek ---- */
.card, .panel, .gate-panel, .progress-wrap, .flow-explain { border-color: rgba(16, 16, 16, .1); }
.card:hover { box-shadow: 0 2px 6px rgba(16, 16, 16, .08), 0 18px 40px rgba(16, 16, 16, .12); }
.card:hover .go { color: var(--terra); }
.panel::before { height: 5px; }
.card::before { height: 5px; }
.pill { background: var(--terra); box-shadow: 0 4px 12px var(--cc-arnyek); }
.chip::before { background: var(--terra); }

/* ---- űrlap ---- */
input[type=text]:focus, input[type=url]:focus, select:focus,
.fk input[type=email]:focus, .fk input[type=password]:focus, .fk input[type=search]:focus, .fk input[type=text]:focus,
.gf input[type=url]:focus, .gf input[type=password]:focus { border-color: var(--terra); box-shadow: 0 0 0 4px var(--cc-gyuru); }
.eng:has(input:checked) { border-color: var(--terra); background: color-mix(in srgb, var(--terra) 8%, #fff); }
.eng input, .ct-jogosultsag input, .fk label.fk-jelolo input { accent-color: var(--terra); }
.ct-jogosultsag { background: color-mix(in srgb, var(--terra) 5%, #fff); border-color: color-mix(in srgb, var(--terra) 35%, #fff); }
#codexEngedelyBox { background: color-mix(in srgb, var(--terra) 5%, #fff) !important; }

/* ---- pirula-gombok (landing: .btn-primary lila, .btn-ghost fehér, .btn-ink sötét) ---- */
.btn { background: var(--terra); color: #fff; border: 1px solid rgba(255, 255, 255, .22); font-weight: 700; letter-spacing: -.005em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 6px 18px var(--cc-arnyek); }
.btn:hover { background: var(--terra-d); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 10px 24px var(--cc-arnyek); }
.btn-2 { background: #fff; color: var(--ink); border: 1px solid rgba(16, 16, 16, .55); box-shadow: var(--shadow-s); }
.btn-2:hover { background: #fff; border-color: var(--terra); color: var(--terra); box-shadow: var(--shadow); }
.btn-3 { background: var(--ink); color: #fff; box-shadow: 0 6px 18px rgba(16, 16, 16, .22); }
.btn-3:hover { background: #2a2a2a; filter: none; box-shadow: 0 10px 24px rgba(16, 16, 16, .28); }
.stop-sor .btn { background: var(--ink); }
.stop-sor .btn:hover { background: var(--terra); }
.stop-sor { border-color: color-mix(in srgb, var(--terra) 40%, #fff); }
.fk .btn.fk-veszely { background: #8a2418; }
.fk .btn.fk-veszely:hover:not(:disabled) { background: #6e1c13; }

/* ---- aktív állapotok: szegmens-kapcsoló, fülek, fióksáv ---- */
.seg button.on { background: var(--terra); color: #fff; }
.seg button:not(.on):hover { color: var(--ink); }
.ad-fulek a.aktiv { background: var(--terra); color: #fff; }
.ad-fulek a:hover { color: var(--terra); }
.fiok-sav .fiok-sav-link:hover, .fiok-sav .fiok-sav-link[aria-current="page"] { color: var(--terra); }
.fiok-sav .fiok-sav-ki { background: var(--ink); color: #fff; }
.fiok-sav .fiok-sav-ki:hover:not(:disabled) { background: var(--terra); }
.fiok-sav .fiok-sav-kredit:hover { color: var(--terra); }
.cs-jelveny.cs-pro { background: color-mix(in srgb, var(--terra) 12%, #fff); color: var(--terra-d); }
.cs-jelveny.cs-uzleti { background: var(--ink); color: #fff; }
.fk .fk-cimke.mi { background: color-mix(in srgb, var(--terra) 10%, #fff); color: var(--terra-d); }

/* ---- linkek ---- */
.fk .hint a, .fk .fk-kis a, .fk .fk-linksor a, .fk label.fk-jelolo.fk-elfogad a, .fk .fk-adatok a, .fk .fk-linkgomb,
.ct-sav a, .ct-kredit a, #domainValaszto .hint a, .rfind .cvek a, .finding .cvek a, details.bizonyitek summary,
.lablec a:hover, .lablec a[aria-current="page"], .fk .fk-kis a#vallalatiLink { color: var(--terra); }
.fk .fk-linkgomb:hover { color: var(--ink); }

/* ---- futás-monitor: folyamatábra, sáv, élő jelző (a run.html saját <style>-ja fölé: :root-tal erősebb) ---- */
.step.fut .box { border-color: var(--terra); background: color-mix(in srgb, var(--terra) 9%, #fff); box-shadow: 0 0 0 4px var(--cc-gyuru); }
:root .flow .on, .flow .on .box { border-color: var(--terra); }
.bar > i { background: linear-gradient(90deg, color-mix(in srgb, var(--terra) 55%, #fff), var(--terra) 60%, var(--terra-d)); }
.status-line .dot { background: var(--terra); }
.flow-explain::before { background: var(--terra); }
.flow-explain .now { color: var(--terra); }
.cafbadge.vitatott { background: color-mix(in srgb, var(--terra) 10%, #fff); color: var(--terra-d); }
:root .aktiv-badge { background: linear-gradient(100deg, #101010, color-mix(in srgb, var(--terra) 70%, #101010));
  animation-name: ccAktivPulse; }
:root .aktiv-badge.t-ai { background: linear-gradient(100deg, var(--terra-d), var(--terra)); }
@keyframes ccAktivPulse {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--terra) 45%, transparent); }
  70% { box-shadow: 0 0 0 16px color-mix(in srgb, var(--terra) 0%, transparent); }
  100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--terra) 0%, transparent); }
}
.aktiv-felirat.af-kapu { color: var(--terra); }
/* monitor-kártya (Fázis / Most / Következő sorok, indítás előtti felszólítás) a lila/krém palettából */
.ms-fazis.af-fut .ms-ertek, .ms-fazis.af-kapu .ms-ertek, .aktiv-felirat.af-kapu .ms-ertek { color: var(--terra); }
.ms-sor.af-kesz .ms-ertek { color: var(--f-success); }
.run-fej .meta > span { background: #fff; border-color: rgba(16, 16, 16, .1); }
.start-box { border-color: color-mix(in srgb, var(--terra) 45%, #fff); background: color-mix(in srgb, var(--terra) 5%, #fff); }
.stage-hub { background: linear-gradient(180deg, color-mix(in srgb, var(--terra) 4%, transparent), transparent 70%); }

/* ---- index: admin-menü kártyák (vonalas SVG-ikonok) ---- */
.cards.cc-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 700px) { .cards.cc-menu { grid-template-columns: 1fr; } }
.card .cc-ikon { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; margin-bottom: 14px;
  background: color-mix(in srgb, var(--c, var(--terra)) 16%, #fff); color: var(--ink); }
.card .cc-ikon svg { width: 24px; height: 24px; }

/* ---- jegyzőkönyv (report.html): a nyomtatási gomb és a kiemelések a brand lilájával; a sötét fejléc olvasható marad ---- */
.tb-print, .cta .btn-mail { background: var(--terra); }
.cta { border-color: var(--terra); }
p.arch { border-left-color: var(--terra); }
.hero { background: linear-gradient(135deg, #101010, color-mix(in srgb, var(--terra) 38%, #101010)); }
.card[data-c="primary"] { --c: var(--terra); }
.card[data-c="green"] { --c: var(--green); }
.card[data-c="gold"] { --c: var(--gold); }
