/* =============================================================================
   Iktatás — a B ügynök felületei (gyorsiktatás, iktatókönyvek, ügyiratok, irat-adatlap).
   Egy fájl = egy komponens-család, ≤ 200 sor. A tokenek az absec-rendszerből jönnek; a tartalék érték
   (var(--x, #…)) csak azért van, hogy a lap a tokenfájl nélkül is olvasható maradjon.
   A betöltést a _Stilusok partialban a felületi ügynök (C) köti be.
   ============================================================================= */

/* ---- oldalfej: cím és elsődleges művelet egy sorban ---- */
.f-oldalfej {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem 1.5rem;
    margin-bottom: 1.25rem;
}

.f-oldalfej h1 { margin: 0; }
.f-oldalfej p { margin: 0.4rem 0 0; }

/* Irat- és ügyirat-adatlap feje: az iktatószám a lap h1-e (DM Mono, nagy), mellette az állapotjelvény, alatta a tárgy.
   A cím oszlopa összehúzódhat (min-width: 0), a hosszú iktatószám pedig kisebb betűvel, végső esetben törve fér ki. */
.f-oldalfej__cim { flex: 1 1 18rem; min-width: 0; }

.f-oldalfej__sor {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.9rem;
}

.f-oldalfej .f-oldalfej__szam {
    min-width: 0;
    font-family: var(--font-mono, "DM Mono", ui-monospace, monospace);
    font-size: clamp(1.35rem, 5.4vw, 2.25rem);
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

.f-oldalfej .f-oldalfej__targy {
    margin: 0.5rem 0 0;
    font-size: 1.05rem;
    overflow-wrap: anywhere;
}

.f-oldalfej__targy a {
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

/* ---- űrlap: hibaszöveg a mező alatt, műveletsor ---- */
.f-hint--hiba {
    color: var(--f-danger, #8a2418);
    font-weight: 600;
}

.f-muveletsor {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 1.25rem 0 2rem;
}

/* ---- irat-adatlap: dl-rács ---- */
.f-dl-racs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 1rem 1.5rem;
    margin: 0;
}

.f-dl-racs > div { min-width: 0; }

.f-dl-racs dt {
    margin: 0 0 0.2rem;
    color: var(--f-grey, #5a6472);
    font-family: var(--font-mono, "DM Mono", ui-monospace, monospace);
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.f-dl-racs dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.f-szoveg-tordelt { white-space: pre-wrap; }

/* ---- SHA-256 lenyomat: hosszú, ezért törhető és kisebb ---- */
.f-hash {
    max-width: 18rem;
    overflow-wrap: anywhere;
    font-size: 0.78rem;
}

/* ---- idővonal az eseménynaplóból ---- */
.f-idovonal {
    position: relative;
    margin: 0;
    padding: 0 0 0 1.25rem;
    list-style: none;
    border-left: 2px solid var(--f-border, #d9d4c7);
}

.f-idovonal li {
    position: relative;
    display: grid;
    gap: 0.1rem;
    padding: 0 0 1rem;
}

.f-idovonal li::before {
    content: "";
    position: absolute;
    left: calc(-1.25rem - 6px);
    top: 0.35rem;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--f-primary, #3a2bd6);
}

.f-idovonal__ido {
    color: var(--f-grey, #5a6472);
    font-size: 0.82rem;
}

/* ---- állapotjelvények: a szín csak állapotjelzés, a szöveg mindig sötét ---- */
.f-badge--nyitott { background: var(--f-sky, #cfe3f7); color: var(--f-ink, #101010); }
.f-badge--ugyintezes { background: var(--f-mustard, #f2d37a); color: var(--f-ink, #101010); }
.f-badge--lezart-ugy { background: var(--f-mint, #bfe8d2); color: var(--f-ink, #101010); }
.f-badge--sztornozott { background: var(--f-coral, #f4b3a6); color: var(--f-ink, #101010); }

/* ---- lapozó ---- */
.f-lapozo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin: 1rem 0 2rem;
}

/* ---- segédek (a felületi ügynök azonos nevű szabályai ugyanezt adják) ---- */
.f-mono { font-family: var(--font-mono, "DM Mono", ui-monospace, monospace); }

.f-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
