/* ==========================================================================
   Sípmester – szervezői felület. Csendes, munkára szabott: a hangsúly az adatokon.
   ========================================================================== */
@font-face { font-family: "Cinzel"; src: url("../fonts/cinzel.woff2") format("woff2"); font-weight: 400 900; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("../fonts/barlow-regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("../fonts/barlow-medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("../fonts/barlow-semibold.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Barlow Condensed"; src: url("../fonts/barlowcondensed-semibold.woff2") format("woff2"); font-weight: 600; font-display: swap; }

:root {
  --navy: #0B2745; --navy-2: #1E4775; --gold: #B47F3B; --gold-l: #D9AE6B;
  --bg: #F1F4F8; --panel: #fff; --line: #D8DFE8; --text: #1A2533; --muted: #5B6879;
  --ok: #2E7D32; --err: #B3261E; --warn: #8A5A00;
  --sans: "Barlow", "Segoe UI", system-ui, sans-serif;
  --cond: "Barlow Condensed", "Arial Narrow", sans-serif;
  --serif: "Cinzel", Georgia, serif;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font: 400 1rem/1.5 var(--sans); color: var(--text); background: var(--bg); }
a { color: var(--navy-2); text-underline-offset: .15em; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
h1 { font: 600 1.75rem/1.2 var(--sans); color: var(--navy); margin: 0 0 8px; }
h2 { font: 600 1.15rem/1.3 var(--sans); color: var(--navy); margin: 0 0 14px; }
code { font-size: .9em; background: #EEF2F7; padding: 1px 5px; border-radius: 3px; }
code.big { font-size: 1.15rem; padding: 2px 8px; letter-spacing: .04em; }
.muted { color: var(--muted); }
.small { font-size: .875rem; }
.lead { color: var(--muted); margin: 0 0 20px; max-width: 70ch; }
.right { text-align: right; }
.nowrap { white-space: nowrap; }
.num { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ---------------------------------------------------------------- elrendezés */
body.admin { display: grid; grid-template-columns: 232px minmax(0, 1fr); min-height: 100vh; }
.side { background: var(--navy); color: #C9D4E2; display: flex; flex-direction: column; padding: 20px 0; position: sticky; top: 0; height: 100vh;
  overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; }
.side-brand { display: block; padding: 0 20px 18px; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.12); }
.side-name { display: block; font: 600 1.35rem/1.1 var(--serif); color: #fff; }
.side-sub { display: block; font-size: .8125rem; color: var(--gold-l); margin-top: 4px; }
.side nav ul { list-style: none; margin: 0; padding: 0; }
.side-menu { flex: 1 0 auto; display: flex; flex-direction: column; }
.side-menu-btn { display: none; }
.side-top { margin: 10px 0 4px !important; }
.side-group { border-top: 1px solid rgba(255,255,255,.07); }
.side-group > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center;
  padding: 10px 20px 6px; font-size: .75rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--gold-l); user-select: none; }
.side-group > summary::-webkit-details-marker { display: none; }
.side-group > summary::after { content: ""; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg); transition: transform .15s; margin-right: 2px; }
.side-group[open] > summary::after { transform: rotate(45deg); }
.side-group > summary:hover { color: #fff; }
.side-group ul { padding-bottom: 6px !important; }
.side-group a { padding: 6px 20px 6px 28px !important; }
.side nav a { display: block; padding: 8px 20px; color: #DCE4EE; text-decoration: none; border-left: 3px solid transparent; }
.side nav a:hover { background: rgba(255,255,255,.06); color: #fff; }
.side nav a[aria-current="page"] { border-left-color: var(--gold); background: rgba(255,255,255,.08); color: #fff; font-weight: 600; }
.side-user { margin-top: 12px; padding: 16px 20px 4px; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-direction: column; gap: 4px; font-size: .875rem; flex: none; }
.side-user-name { color: #fff; font-weight: 600; }
.side-user-role { color: var(--gold-l); margin-bottom: 6px; }
.side-user a, .side-user .link { color: #DCE4EE; text-align: left; }
.main { padding: 28px clamp(16px, 3vw, 40px) 64px; max-width: 1180px; }

@media (max-width: 860px) {
  body.admin { grid-template-columns: minmax(0, 1fr); }
  .side { position: static; height: auto; padding: 12px 0 0; }
  .side-brand { padding-bottom: 10px; }
  .side { overflow: visible; }
  .side-menu-btn { display: block; list-style: none; cursor: pointer; margin: 0 16px 10px; padding: 9px 14px; border: 1px solid rgba(255,255,255,.25);
    border-radius: 6px; color: #fff; font-weight: 600; width: max-content; }
  .side-menu-btn::-webkit-details-marker { display: none; }
  .side-menu-btn::before { content: "☰  "; }
  .side-menu[open] > .side-menu-btn::before { content: "✕  "; }
  .side-user { flex-direction: row; flex-wrap: wrap; gap: 4px 14px; padding: 10px 16px; margin: 0; }
  .side-user-role { margin: 0; }
}

.page-head { margin-bottom: 18px; }
.page-head.row { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.page-head p { margin: 0; }
.crumbs { font-size: .875rem; margin-bottom: 4px !important; }

/* ---------------------------------------------------------------- panelek, táblák */
.panel { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; padding: 20px 22px; margin-bottom: 20px; }
.table { width: 100%; border-collapse: collapse; }
.table th { text-align: left; font-weight: 600; font-size: .8125rem; color: var(--muted); padding: 6px 10px; border-bottom: 1px solid var(--line); }
.table td { padding: 9px 10px; border-bottom: 1px solid #EBEFF4; vertical-align: middle; }
.table tr:last-child td { border-bottom: 0; }
.table tr.off td { color: var(--muted); }
.table.small td { font-size: .875rem; padding: 6px 8px; }
.table td.json { font-family: ui-monospace, Consolas, monospace; font-size: .75rem; color: var(--muted); word-break: break-all; }
.panel:has(> .table) { overflow-x: auto; }

.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 16px; margin-bottom: 20px; }
.stat { background: var(--panel); border: 1px solid var(--line); border-left: 4px solid var(--gold); border-radius: 6px; padding: 14px 18px; }
.stat b { display: block; font: 600 2rem/1.1 var(--cond); color: var(--navy); font-variant-numeric: tabular-nums; }
.stat span { color: var(--muted); font-size: .875rem; }

.chip { display: inline-block; font-size: .75rem; font-weight: 600; padding: 2px 8px; border-radius: 99px; border: 1px solid var(--line); color: var(--muted); background: #fff; }
.chip-on { background: var(--navy); border-color: var(--navy); color: #fff; }
.chip-wait { border-color: var(--gold); color: var(--warn); }
.chip-empty { border-style: dashed; }

/* ---------------------------------------------------------------- űrlapok */
.form label, .form .field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 16px; font-weight: 500; }
.form fieldset { border: 0; padding: 0; margin: 0 0 16px; }
.form .label, .form legend { font-weight: 500; padding: 0; margin-bottom: 5px; }
.form label.inline, label.inline { flex-direction: row; align-items: center; gap: 8px; font-weight: 400; margin-right: 18px; display: inline-flex; }
.self-end { align-self: end; margin-bottom: 26px !important; }
.form.narrow { max-width: 460px; }
.hint { font-weight: 400; font-size: .8125rem; color: var(--muted); }
input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="time"],
input[type="datetime-local"], input:not([type]), select, textarea {
  font: inherit; color: var(--text); background: #fff; border: 1px solid #B9C4D2; border-radius: 4px; padding: 8px 10px; width: 100%;
}
input:focus, select:focus, textarea:focus { border-color: var(--navy-2); outline: 2px solid rgba(180,127,59,.45); outline-offset: 0; }
input[type="file"] { font: inherit; }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 18px; }
@media (max-width: 720px) { .grid2, .grid4 { grid-template-columns: 1fr; } .self-end { margin-bottom: 16px !important; } }
.actions { display: flex; gap: 16px; align-items: center; margin-top: 6px; }
form.inline { display: inline; margin-left: 10px; }

.btn { font: 600 1rem var(--sans); border-radius: 4px; padding: 9px 18px; border: 1px solid transparent; cursor: pointer; text-decoration: none; display: inline-block; }
.btn-primary { background: var(--navy); color: #fff; }
.btn-primary:hover { background: var(--navy-2); }
.btn-danger { background: #fff; color: var(--err); border-color: #E3B9B5; }
.btn-danger:hover { background: #FCEFEE; }
.btn-wide { width: 100%; }
button.link { background: none; border: 0; padding: 0; font: inherit; color: var(--navy-2); text-decoration: underline; text-underline-offset: .15em; cursor: pointer; }
button.link.danger { color: var(--err); }

.flash { padding: 10px 14px; border-radius: 4px; margin: 0 0 16px; background: #fff; border: 1px solid var(--line); border-left-width: 4px; }
.flash-ok { border-left-color: var(--ok); }
.flash-error { border-left-color: var(--err); color: #7A1C16; }

.thumb { max-height: 90px; width: auto; vertical-align: middle; border-radius: 3px; border: 1px solid var(--line); }
.thumb-sm { max-height: 36px; width: auto; }

/* ---------------------------------------------------------------- szerkesztő */
.editor { border: 1px solid #B9C4D2; border-radius: 4px; background: #fff; }
.editor:focus-within { border-color: var(--navy-2); outline: 2px solid rgba(180,127,59,.45); }
.editor-bar { display: flex; flex-wrap: wrap; gap: 2px; padding: 6px; border-bottom: 1px solid var(--line); background: #F7F9FB; position: sticky; top: 0; z-index: 1; }
.editor-bar button { font: 500 .875rem var(--sans); background: #fff; border: 1px solid var(--line); border-radius: 3px; padding: 4px 9px; cursor: pointer; color: var(--text); }
.editor-bar button:hover { border-color: var(--navy-2); }
.editor-bar button.on { background: var(--navy); color: #fff; border-color: var(--navy); }
.editor-bar .sep { width: 1px; background: var(--line); margin: 2px 4px; }
.editor-area { min-height: 320px; padding: 14px 18px; font-weight: 400; outline: none; }
.editor-area:empty::before { content: "Kezdd el írni a szöveget…"; color: var(--muted); }
.prose { line-height: 1.6; max-width: 72ch; }
.prose h2 { font-size: 1.3rem; margin: 1.2em 0 .4em; }
.prose h3 { font-size: 1.1rem; margin: 1.1em 0 .3em; color: var(--navy); }
.prose p { margin: 0 0 .8em; }
.prose blockquote { border-left: 3px solid var(--gold); margin: 1em 0; padding-left: 1em; color: var(--muted); }

/* ---------------------------------------------------------------- belépés */
body.bare { min-height: 100vh; display: grid; place-items: center; background: #fff; }
.login { width: min(420px, 92vw); padding: 24px 0; text-align: center; }
.login-logo { width: 300px; max-width: 80%; height: auto; margin-bottom: 8px; }
.login-box { text-align: left; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--gold); border-radius: 8px; padding: 22px 24px; }
.login-box h1 { font: 600 1.25rem var(--serif); margin-bottom: 14px; }
.login-box label { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; font-weight: 500; }

/* ---------------------------------------------------------------- M2: csapatok, import, levelek */
.btn-ghost { background: #fff; color: var(--navy); border-color: #B9C4D2; }
.btn-ghost:hover { border-color: var(--navy-2); }
.row-between { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.panel.row-between { padding: 14px 22px; }
.nomargin { margin: 0; }
.warn { color: var(--warn); font-weight: 500; }
.chip-ok { background: var(--ok); border-color: var(--ok); }
.span2 { grid-column: span 2; }
@media (max-width: 720px) { .span2 { grid-column: auto; } }
.upper { text-transform: uppercase; }
.w-crest { width: 44px; }

.crest { display: inline-block; vertical-align: middle; object-fit: contain; flex: none; }
.crest-badge {
  width: var(--s); height: var(--s); border-radius: 50%; display: inline-grid; place-items: center;
  background: var(--c1); color: var(--c2); border: 2px solid var(--c2); box-shadow: 0 0 0 1px var(--c1);
  font: 600 calc(var(--s) * .3)/1 var(--cond); letter-spacing: .02em;
}
.team-head { display: flex; align-items: center; gap: 16px; }
.team-head h1 { margin: 0; }

.subform { border-top: 1px solid var(--line); margin-top: 16px; padding-top: 16px; }
.subform h3 { font: 600 1rem var(--sans); color: var(--navy); margin: 0 0 12px; }
.grid-player { display: grid; grid-template-columns: 90px minmax(0, 2fr) 140px 120px auto; gap: 0 14px; }
@media (max-width: 860px) { .grid-player { grid-template-columns: 1fr 1fr; } }
.table tr.editing td { background: #FBF3E4; }
.table tr.err td { background: #FCEFEE; }
.table tr.off td { color: var(--muted); }

.scroll { overflow-x: auto; }
details.raw summary { cursor: pointer; font-weight: 600; color: var(--navy); }
details.raw[open] summary { margin-bottom: 12px; }
.raw-table td, .raw-table th { white-space: nowrap; }
.raw-table tr.hdr td { background: #FBF3E4; font-weight: 600; }

select.multi { min-height: 8em; margin: 4px 0 10px; }
.form fieldset textarea { margin: 4px 0 6px; }
.preview-box { background: #F7F9FB; border: 1px solid var(--line); border-left: 4px solid var(--gold); border-radius: 4px; padding: 10px 14px; margin: 8px 0 14px; }
.preview-box p { margin: 0 0 6px; }
.wrap-actions { flex-wrap: wrap; }
.tabs { display: flex; gap: 4px; margin: 0 0 10px; }
.tabs a { padding: 6px 12px; border-radius: 4px; text-decoration: none; color: var(--navy); }
.tabs a[aria-current="page"] { background: var(--navy); color: #fff; }
.narrow-wide { max-width: 640px; }
input[type="color"] { width: 100%; height: 40px; padding: 3px; border: 1px solid #B9C4D2; border-radius: 4px; background: #fff; cursor: pointer; }

/* ---------------------------------------------------------------- M3: csoportok, menetrend, tabella */
.draw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 16px; }
.draw-group { border: 1px solid var(--line) !important; border-top: 3px solid var(--gold) !important; border-radius: 6px; padding: 10px 12px 4px !important; }
.draw-group legend { font-weight: 600; color: var(--navy); padding: 0 4px; }
.draw-slot { display: grid !important; grid-template-columns: 2.4em 1fr; align-items: center; gap: 8px !important; margin-bottom: 8px !important; }
.draw-slot span { font: 600 1rem var(--cond); color: var(--muted); }
.draw-slot select.dupe { border-color: var(--err); background: #FCEFEE; }
.gen-table td { vertical-align: top; }
.pair-table select { min-width: 170px; }
.pair-table input.src { margin-top: 4px; font-size: .8125rem; padding: 4px 8px; }
.pair-table td { vertical-align: top; }
.st-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 440px), 1fr)); gap: 0 20px; }
.standings { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.standings th { font-size: .75rem; color: var(--muted); text-align: left; padding: 4px; border-bottom: 1px solid var(--line); }
.standings td { padding: 6px 4px; border-bottom: 1px solid #EBEFF4; }
.st-n { text-align: center !important; }
.st-pos { color: var(--muted); width: 1.8em; }
.st-pts { font-weight: 700; color: var(--navy); }
.st-team { display: flex; align-items: center; gap: 8px; }
.st-tied td { background: #FBF3E4; }
.tie-box { margin-top: 12px; padding-top: 10px; border-top: 1px dashed var(--line); }
input.tiny { width: 4.5em; padding: 4px 6px; }
.crit-list { padding-left: 1.4em; margin: 0 0 12px; }
.crit-list li { margin-bottom: 8px; }
.crit-list select { max-width: 520px; }
.test-panel { border-style: dashed; border-color: var(--gold); background: #FFFCF6; }

/* ---------------------------------------------------------------- M4: fotók, játékvezetők */
.avatar { display: inline-block; vertical-align: middle; border-radius: 50%; object-fit: cover; flex: none; }
.avatar-ini { width: var(--s); height: var(--s); display: inline-grid; place-items: center; background: #DCE4EE; color: var(--navy);
  font: 600 calc(var(--s) * .38)/1 var(--sans); }
.photo-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
.photo-row label { margin-bottom: 0 !important; }
.team-photo-thumb { display: block; max-width: 240px; border-radius: 4px; border: 1px solid var(--line); margin-bottom: 6px; }
.avail-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-bottom: 6px; }
.avail-row input[type="time"] { width: auto; }
.assign-table select { min-width: 210px; max-width: 280px; }
.assign-table td.cell-hard { background: #FCEFEE; }
.assign-table td.cell-soft { background: #FBF3E4; }
.cell-note { display: block; font-size: .75rem; color: var(--warn); margin-top: 3px; max-width: 280px; }
.cell-hard .cell-note { color: var(--err); }
.load-list { list-style: none; margin: 0; padding: 0; columns: 3 220px; column-gap: 28px; }
.load-list li { display: flex; gap: 8px; align-items: baseline; padding: 3px 0; border-bottom: 1px solid #EBEFF4; break-inside: avoid; }
.load-list li span:first-child { flex: 1; }
.load-list b { font: 600 1.05rem var(--cond); color: var(--navy); min-width: 1.5em; text-align: right; }

/* ---------------------------------------------------------------- M5: élő */
.live-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 0 20px; }
.live-slot { display: grid; grid-template-columns: 6.5em 1fr auto; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid #EBEFF4; }
.live-slot.is-live .live-lbl { color: #C62828; }
.live-lbl { font-weight: 600; color: var(--muted); }
.live-teams strong { font: 600 1.2rem var(--cond); color: var(--navy); margin-left: 6px; }
.table tr.is-live td { background: #FDF0EF; }

/* ---------------------------------------------------------------- M6: közvetítés */
.bc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 8px 32px; }
.label-s { font-weight: 600; color: var(--navy); margin: 0 0 4px; }
code.copy { user-select: all; }
.pin-list { list-style: none; margin: 0 0 10px; padding: 0; }
.pin-list li { padding: 4px 0; }
.inline-form { display: flex; gap: 8px; flex-wrap: wrap; }
.inline-form input { max-width: 260px; }
.bc-preview { margin-top: 12px; width: min(640px, 100%); aspect-ratio: 16 / 9; border: 1px solid var(--line); border-radius: 4px; overflow: hidden; background: var(--key); }
.bc-preview iframe { width: 100%; height: 100%; border: 0; display: block; }

/* ---------------------------------------------------------------- látogatottság */
.bars { width: 100%; height: auto; display: block; }
.bars-grid { stroke: #E3E8EF; stroke-width: 1; }
.bars-day { stroke: var(--gold); stroke-width: 1.5; stroke-dasharray: 4 3; }
.bars-ax { font: 500 12px var(--sans); fill: var(--muted); }
.bars-v { fill: #C9D6E6; }
.bars-u { fill: var(--navy); }
.bars-legend { margin: 6px 0 0; font-size: .8125rem; color: var(--muted); }
.lg { display: inline-block; width: 12px; height: 12px; vertical-align: -1px; margin: 0 4px 0 12px; border-radius: 2px; }
.lg-v { background: #C9D6E6; margin-left: 0; }
.lg-u { background: var(--navy); }
.an-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 0 20px; }
.an-wide { grid-column: 1 / -1; }
.hbar td { padding: 6px 8px; }
.hbar-cell { width: 45%; }
.hbar-cell span { display: block; height: 10px; background: var(--gold); border-radius: 2px; min-width: 2px; }
.dev-bar { display: flex; height: 34px; border-radius: 4px; overflow: hidden; margin-bottom: 14px; }
.dev { display: flex; align-items: center; justify-content: center; font-size: .8125rem; font-weight: 600; color: #fff; white-space: nowrap; overflow: hidden; }
.dev-mobile { background: var(--navy); }
.dev-tablet { background: var(--navy-2); }
.dev-desktop { background: var(--gold); color: var(--navy); }
.an-h3 { font: 600 .9rem var(--sans); color: var(--muted); margin: 8px 0 6px; }
input.tiny-wide { width: 7em; padding: 4px 6px; }
.rank-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 4px 24px; margin: 8px 0 12px; }
.rank-row { display: grid !important; grid-template-columns: 30px 1fr auto; align-items: center; gap: 10px !important; margin: 0 !important; padding: 4px 0; border-bottom: 1px solid #EBEFF4; font-weight: 400 !important; }
.link-list { list-style: none; margin: 0 0 8px; padding: 0; }
.link-list li { padding: 6px 0; border-bottom: 1px solid #EBEFF4; }
.link-list .muted { font-size: .8125rem; display: block; }
.dev-bar { margin-bottom: 6px; }
.dev-legend { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0 0 14px; font-size: .8125rem; color: var(--muted); }
.dev-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 6px; vertical-align: -1px; }
.ov-list { margin: 6px 0; padding-left: 1.2em; }
.gen-auto.is-off { opacity: .45; }
.flash-like { border-left: 4px solid var(--warn); }
.reset-row { display: flex !important; flex-direction: row !important; gap: 12px !important; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid #EBEFF4; font-weight: 400 !important; }
.reset-row input { margin-top: 4px; }
.form label.narrow { max-width: 360px; }
.restore-box { display: inline-block; margin-left: 10px; text-align: left; }
.restore-box summary { cursor: pointer; color: var(--err); text-decoration: underline; }
.restore-box[open] { display: block; margin: 10px 0 0; padding: 12px; border: 1px solid #E3B9B5; border-radius: 6px; background: #FFF8F7; white-space: normal; }
.restore-box form { max-width: 460px; }
.steps { padding-left: 1.3em; }
.steps li { margin-bottom: 6px; }

.logo-prev { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 12px; }
.logo-prev > div { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px; border-radius: 6px; background: var(--key); }
.logo-prev > div span { font-size: .75rem; color: #fff; background: rgba(0,0,0,.55); padding: 2px 6px; border-radius: 3px; }
.logo-prev .logo-prev-photo { background: repeating-linear-gradient(115deg, #8C6E52 0 14px, #6F563F 14px 22px); }
.logo-up { margin: 10px 0; align-items: center; }
.gala-row td { background: #FBF6EE; }

/* telefonon a széles táblázatok a panelen belül görgethetők, a lap maga nem lóg ki */
@media (max-width: 860px) {
  .panel { overflow-x: auto; }
  .main { min-width: 0; }
  .table { min-width: max-content; }
  .page-head.row { flex-wrap: wrap; }
  .actions, .wrap-actions { flex-wrap: wrap; }
}
code { overflow-wrap: anywhere; }
/* címerek importálása */
.crest-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 170px), 1fr)); gap: 14px; margin: 6px 0 14px; }
.crest-card { display: flex; flex-direction: column; gap: 6px; padding: 10px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.crest-img { height: 110px; display: grid; place-items: center; background: repeating-conic-gradient(#EEF2F7 0 25%, #fff 0 50%) 0 0 / 16px 16px; border-radius: 4px; }
.crest-img img { max-width: 100%; max-height: 104px; }
.crest-file { font-size: .75rem; color: var(--muted); }
.crest-card select { width: 100%; }
.crest-card.is-dupe { border-color: var(--err); box-shadow: 0 0 0 2px #F6D3D0; }
.crest-now { display: flex; flex-wrap: wrap; gap: 14px; }
.crest-now span { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px; border-radius: 6px; background: var(--navy); }
.crest-now small { color: #fff; font-size: .75rem; }
