body{
    background: linear-gradient(to bottom, #e2f3f3, #daf0f0);
}
.fi-topbar-ctn, .fi-topbar{
    background: #00b0b9;
    color: white;
}

/*
 * Kéziratbeküldő varázsló – függőleges lépéssáv.
 *
 * A Filament Wizardnak nincs gyári vertical elrendezése: a lépések mindig
 * vízszintes fejlécként (`<ol class="fi-sc-wizard-header">`) renderelődnek.
 * Az alábbi szabályok a natív markupot rendezik két oszlopba, így a lépésváltás,
 * az elérhetőség és a validáció végig a Filament saját logikájával működik.
 * Csak a `kbr-wizard` extra osztályt kapó varázslóra vonatkozik.
 */

.fi-sc-wizard.kbr-wizard > .fi-sc-wizard-header {
    grid-auto-flow: row;
    overflow-x: visible;
    gap: 0.25rem;
    border-bottom: 0;
}

.fi-sc-wizard.kbr-wizard .fi-sc-wizard-header-step-separator {
    display: none;
}

.fi-sc-wizard.kbr-wizard .fi-sc-wizard-header-step-btn {
    width: 100%;
    border-radius: 0.5rem;
    column-gap: 0.75rem;
    padding: 0.625rem 0.75rem;
}

.fi-sc-wizard.kbr-wizard .fi-sc-wizard-header-step-icon-ctn {
    width: 1.75rem;
    height: 1.75rem;
}

.fi-sc-wizard.kbr-wizard .fi-sc-wizard-header-step-text {
    max-width: none;
    width: auto;
}

.fi-sc-wizard.kbr-wizard .fi-sc-wizard-header-step-description {
    display: none;
}

/*
 * A Filament a lépéseket "01", "02"… formában számozza. A sorszámot CSS
 * számlálóval írjuk ki "1.", "2."… alakban; az eredeti szöveg nem látszik.
 */
.fi-sc-wizard.kbr-wizard > .fi-sc-wizard-header {
    counter-reset: kbr-wizard-step;
}

.fi-sc-wizard.kbr-wizard .fi-sc-wizard-header-step {
    counter-increment: kbr-wizard-step;
}

.fi-sc-wizard.kbr-wizard .fi-sc-wizard-header-step-number {
    font-size: 0;
}

.fi-sc-wizard.kbr-wizard .fi-sc-wizard-header-step-number::before {
    content: counter(kbr-wizard-step) ".";
    font-size: 0.875rem;
}

/* Aktív lépés: kitöltött pirula, mint a látványterven. */
.fi-sc-wizard.kbr-wizard .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-btn {
    background-color: var(--primary-600);
}

.fi-sc-wizard.kbr-wizard .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-label,
.fi-sc-wizard.kbr-wizard .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-number {
    color: #fff;
}

.fi-sc-wizard.kbr-wizard .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-icon-ctn {
    border-color: #fff;
}

/* A lépés tartalma és a lábléc egyetlen fehér kártyát alkot. */
.fi-sc-wizard.kbr-wizard > .fi-sc-wizard-step.fi-active {
    margin-top: 0;
    padding: 1.5rem;
    background-color: #fff;
    border-radius: 0.75rem 0.75rem 0 0;
}

.fi-sc-wizard.kbr-wizard > .fi-sc-wizard-footer {
    margin-top: 0;
    padding: 0 1.5rem 1.5rem;
    background-color: #fff;
    border-radius: 0 0 0.75rem 0.75rem;
}

/*
 * Beküldés visszaigazoló oldal (a folyamat 5. lépése).
 * Ugyanaz a kétoszlopos elrendezés, mint a varázslónál, de statikus lépéssávval.
 */

/* "Vissza a főoldalra" hivatkozás a beküldő űrlap és a visszaigazoló oldal tetején. */
.kbr-back-link {
    display: inline-block;
    padding: 0.5rem 0.875rem;
    border: 1px solid var(--primary-600);
    border-radius: 0.5rem;
    background-color: #fff;
    color: var(--primary-600);
    font-size: 0.8125rem;
    font-weight: 500;
}

.kbr-back-link:hover {
    background-color: var(--primary-50, #f0fdfa);
}

/* Fejléc: felhasználó neve | szerepköre, majd a "Kilépés" gomb. */
.kbr-topbar-user {
    color: #ffffff;
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
}

.kbr-topbar-separator {
    margin: 0 0.25rem;
    font-weight: 400;
    opacity: 0.7;
}

.kbr-topbar-button {
    display: inline-flex;
    align-items: center;
    margin-inline-start: 0.875rem;
    padding: 0.4375rem 0.9375rem;
    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: 0.5rem;
    color: #ffffff;
    font-size: 0.8125rem;
    font-weight: 500;
    white-space: nowrap;
}

.kbr-topbar-button:hover {
    background-color: rgba(255, 255, 255, 0.15);
}

/* Dashboard widgetek betűméretei a látványterv szerint. */
.kbr-widget-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--gray-950);
}

.kbr-widget-subtitle {
    margin-top: 0.25rem;
    font-size: 0.8125rem;
    color: var(--gray-500);
}

.kbr-widget-text {
    font-size: 0.8125rem;
    line-height: 1.6;
    color: var(--gray-600);
}

.kbr-widget-warning {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #d97706;
}

/*
 * Szövegbe ágyazott hivatkozás: a rendszer minden linkje ugyanazt a kék színt
 * kapja, hogy jól elkülönüljön a környező szövegtől. Fix színérték, nem CSS
 * változó, így minden böngészőben (Edge, Firefox, Chrome) egyformán jelenik meg.
 */
.kbr-link,
a.kbr-link,
.kbr-detail-file-name a,
.kbr-intro a {
    font-weight: 600;
    color: #1d4ed8;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.kbr-link:hover,
a.kbr-link:hover,
.kbr-detail-file-name a:hover,
.kbr-intro a:hover {
    color: #1e3a8a;
}

/* Főoldali bevezető szöveg. */
.kbr-intro p {
    font-size: 0.875rem;
    line-height: 1.65;
    color: var(--gray-700);
    text-align: justify;
}

.kbr-intro p + p {
    margin-top: 0.75rem;
}

/* Absztrakt mezők: korlát a címkében, élő karakterszámláló. */
.kbr-field-limit {
    margin-inline-start: 0.25rem;
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--primary-600);
}

.kbr-counter {
    font-variant-numeric: tabular-nums;
}

.kbr-counter-limit {
    font-weight: 600;
    color: #dc2626;
}

.kbr-counter-warning {
    font-weight: 500;
    color: #dc2626;
}

/*
 * Látszólag inaktív gomb. Szándékosan nem `disabled`, mert a letiltott gomb
 * nem kap kattintást, így a figyelmeztetés sem jelenhetne meg.
 */
.kbr-button-inactive {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Adatlap feletti sáv: "Vissza a főoldalra" gomb és nézetváltó. */
.kbr-detail-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    max-width: 46rem;
    margin-inline: auto;
}

.kbr-detail-switch {
    font-size: 0.8125rem;
}

/* Beküldött kézirat részletes adatlapja. */
.kbr-detail-card {
    max-width: 46rem;
    margin-inline: auto;
    padding: 1.75rem 2rem 2rem;
    border-radius: 1rem;
    background-color: #fff;
    box-shadow: 0 10px 30px -18px rgba(15, 118, 110, 0.35);
}

.kbr-detail-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.75rem;
}

.kbr-detail-head h1 {
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--gray-950);
}

.kbr-detail-head p {
    margin-top: 0.375rem;
    font-size: 0.8125rem;
    color: var(--gray-400);
}

.kbr-detail-block + .kbr-detail-block {
    margin-top: 1.75rem;
}

.kbr-detail-block h2 {
    margin-bottom: 0.75rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--gray-700);
}

/* Fájlsorok: név + fájlnév balra, "Módosítás" gomb jobbra. */
.kbr-detail-file {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.875rem 1.125rem;
    border: 1px solid var(--gray-200);
    border-radius: 0.625rem;
}

.kbr-detail-file + .kbr-detail-file {
    margin-top: 0.625rem;
}

.kbr-detail-file-type {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--gray-950);
}

.kbr-detail-file-name {
    margin-top: 0.125rem;
    font-size: 0.75rem;
    color: var(--gray-400);
}

/* Függő csere, indoklás, módosítási kérelem a fájlkártyán. */
.kbr-detail-file-note {
    margin-top: 0.375rem;
    font-size: 0.75rem;
    line-height: 1.5;
    color: var(--gray-600);
}

.kbr-detail-file-note-warning {
    padding: 0.375rem 0.625rem;
    border-radius: 0.375rem;
    background-color: #fffbeb;
    color: #92400e;
}

/* Megerősítő lépés fájllistája. */
.kbr-confirm-files .kbr-detail-file + .kbr-detail-file {
    margin-top: 0.625rem;
}

.kbr-detail-file-actions {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 0.5rem;
}

/* Zárolt fájlnál a felirat a gombok alá kerül, hogy a fájlnév ne szoruljon össze. */
.kbr-detail-file-actions:has(.kbr-detail-file-locked) {
    flex-wrap: wrap;
    justify-content: flex-end;
    max-width: 50%;
}

.kbr-detail-file-locked {
    order: 3;
    flex-basis: 100%;
    text-align: end;
    font-size: 0.75rem;
    font-style: italic;
    color: var(--gray-400);
    white-space: nowrap;
}

/* Adattáblák: bal oszlop halvány háttérrel, mint a látványterven. */
.kbr-detail-table {
    width: 100%;
    border: 1px solid var(--gray-200);
    border-radius: 0.625rem;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}

.kbr-detail-table th,
.kbr-detail-table td {
    padding: 0.75rem 1.125rem;
    border-top: 1px solid var(--gray-200);
    font-size: 0.8125rem;
    line-height: 1.45;
    text-align: start;
    vertical-align: top;
}

.kbr-detail-table tr:first-child th,
.kbr-detail-table tr:first-child td {
    border-top: 0;
}

.kbr-detail-table th {
    width: 34%;
    border-inline-end: 1px solid var(--gray-200);
    background-color: #f7fafb;
    font-weight: 400;
    color: var(--gray-400);
}

.kbr-detail-table td {
    color: var(--gray-800);
}

.kbr-detail-panel,
.kbr-detail-author {
    padding: 0.875rem 1.125rem;
    border: 1px solid var(--gray-200);
    border-radius: 0.625rem;
}

.kbr-detail-author {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.kbr-detail-author + .kbr-detail-author {
    margin-top: 0.625rem;
}

.kbr-detail-panel-label {
    font-size: 0.75rem;
    color: var(--gray-400);
}

.kbr-detail-panel-text {
    margin-top: 0.1875rem;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: var(--gray-800);
}

.kbr-detail-panel-text + .kbr-detail-panel-label {
    margin-top: 0.875rem;
}

.kbr-detail-author-name {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--gray-950);
}

.kbr-detail-author-meta {
    margin-top: 0.125rem;
    font-size: 0.75rem;
    color: var(--gray-400);
}

.kbr-detail-author-role {
    font-size: 0.75rem;
    color: var(--gray-500);
}

.kbr-detail-empty {
    font-size: 0.8125rem;
    color: var(--gray-500);
}

/* Admin nézet: értesítési előzmények és műveletek. */
.kbr-detail-history {
    padding: 1rem 1.25rem;
    border: 1px solid #f5deb0;
    border-radius: 0.625rem;
    background-color: #fdf8ec;
}

.kbr-detail-history p {
    font-size: 0.8125rem;
    line-height: 1.6;
    color: #9a6b1f;
}

.kbr-detail-history p span {
    color: #b08a4a;
}

.kbr-detail-admin {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

/* Tájékoztató doboz: a rendszer többi információs eleméhez igazodó kék doboz, sorkizárt szöveggel. */
.kbr-info-box {
    margin-bottom: 0.75rem;
}

.kbr-info-box .fi-callout-description {
    text-align: justify;
}

/* Kiadott beküldés zöld háttérrel az admin listában. */
.kbr-admin-row-published {
    background-color: #f0fdf4 !important;
}

/* "Fájlok módosítva" állapot + Újraküldés az adatlap alján. */
.kbr-detail-resubmit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.75rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--primary-500);
    border-radius: 0.625rem;
}

.kbr-detail-resubmit > span {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--gray-700);
}

.kbr-submission-card {
    max-width: 46rem;
    margin-inline: auto;
    padding: 2rem;
    border-radius: 0.75rem;
    background-color: #fff;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
}

.kbr-submission-head {
    text-align: center;
}

.kbr-submission-head h1 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--gray-950);
}

.kbr-submission-head p {
    font-size: 0.8125rem;
    color: var(--gray-500);
}

.kbr-submission-success {
    margin: 1.5rem 0;
    text-align: center;
}

.kbr-submission-success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    margin-bottom: 0.75rem;
    border: 2px solid #16a34a;
    border-radius: 9999px;
    color: #16a34a;
}

.kbr-submission-success-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #16a34a;
}

.kbr-submission-success-text {
    font-size: 0.875rem;
    color: var(--gray-500);
}

.kbr-submission-panel {
    margin-top: 1rem;
    padding: 1.25rem;
    border: 1px solid var(--gray-200);
    border-radius: 0.75rem;
}

.kbr-submission-panel-info {
    border-color: #b9e4e6;
    background-color: #eefafa;
}

.kbr-submission-panel h2 {
    margin-bottom: 0.75rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--gray-950);
}

.kbr-submission-panel p {
    margin-bottom: 0.5rem;
    font-size: 0.8125rem;
    color: var(--gray-700);
}

.kbr-submission-note {
    font-style: italic;
    color: var(--gray-400) !important;
}

.kbr-stages {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
}

.kbr-stage {
    display: flex;
    gap: 0.75rem;
}

.kbr-stage-number {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 1.375rem;
    height: 1.375rem;
    border-radius: 9999px;
    background-color: var(--primary-600);
    color: #fff;
    font-size: 0.6875rem;
    font-weight: 600;
}

.kbr-stage-title {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--gray-950);
}

.kbr-stage-description {
    display: block;
    font-size: 0.75rem;
    color: var(--gray-500);
}

/* Két oszlop csak nagyobb kijelzőn; mobilon marad az egymás alatti elrendezés. */
@media (min-width: 1024px) {
    .fi-sc-wizard.kbr-wizard {
        display: grid;
        grid-template-columns: 15rem minmax(0, 1fr);
        column-gap: 2rem;
        row-gap: 0;
        align-items: start;
    }

    .fi-sc-wizard.kbr-wizard > .fi-sc-wizard-header {
        grid-column: 1;
        grid-row: 1 / -1;
        position: sticky;
        top: 1.5rem;
    }

    .fi-sc-wizard.kbr-wizard > :not(.fi-sc-wizard-header) {
        grid-column: 2;
    }
}

/* XML letöltés: félév megadása. */
.kbr-xml-export {
    max-width: 28rem;
}

.kbr-xml-export-actions {
    margin-top: 1.25rem;
}
