:root {
    --elteSzin: #192b64;
    --elteSzin1: #5b8ab5;
    --elteSzin2: #ceaF87;
    --elteSzin3: #31597f;
    --elteSzin4: #f1e9df;
    --elteSzin5: #ced8f7;
    --elteSzinSotetSzurke: #53565a;
    --elteSzinSzurke: #c8c9c7;

    --gtkSzin: rgb(96, 32, 110);
    --gtkSzin1: #bc84ca;
    --gtkSzin2: #a25eb5;
    --gtkMasoddSzin: #fdb813;
    --gtkMasoddSzin2: #dfbd6b;
    --gtkHarmadSzin: #b0583a;
    --gtkHarmadSzin2: #c68068;
    --gtkHarmadSzin3: #e9d5ce;
    --gtknegyedSzin: #033c28;

    --bs-primary: var(--gtkSzin);
    --bs-primary-rgb: 96, 32, 110;
    --bs-secondary: var(--gtkMasoddSzin);
    --bs-secondary-rgb: 253, 184, 19;
    --bs-highlight-color: var(--gtkMasoddSzin);
    --bs-link-hover-color: var(--gtkSzin2);
    --bs-navbar-color: var(--gtkSzin);
    --bs-font-sans-serif: 'Open Sans', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

[data-bs-theme="dark"] {
    --bs-body-bg: var(--elteSzinSotetSzurke);
    --bs-body-bg-rgb: 83, 86, 90;
    --bs-body-color: var(--elteSzin4);
    --bs-body-color-rgb: 241, 233, 223;
    --bs-link-color: var(--gtkSzin1);
}

h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1 {
    font-family: 'Goldenbook',
        -apple-system,
        "Segoe UI",
        "Helvetica Neue",
        sans-serif;
}

mark,
.mark {
    color: var(--gtkMasoddSzin);
    background-color: inherit;
}

input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}

.menu .list-group-item-action {
    background-color: inherit;
    color: #fff;
    background-color: var(--gtkSzin);
    text-transform: uppercase;
    padding-top: 0.5rem;
}

.menu .list-group-item-action.active {
    color: #000;
    background-color: white;
    border-color: white;
    text-transform: uppercase;
    padding-top: 0.5rem;
    border-left: 4px solid white;
}

.menu .list-group-item-action:hover {
    background-color: var(--gtkMasoddSzin);
    color: #000;
}

.submenu .list-group-item-action {
    border-left: 3px solid white;
    font-weight: lighter;
    text-transform: none;
    padding-top: 0.25rem;
}

.submenu .list-group-item-action.active {
    color: #000;
    background-color: white;
    border-color: white;
    text-transform: none;
    padding-top: 0.25rem;
}

a[aria-expanded=true] .bi-plus {
    display: none;
}

a[aria-expanded=false] .bi-dash {
    display: none;
}

@font-face {
    font-family: 'Goldenbook';
    src: url('/font/Goldenbook/Goldenbook-Regular.otf');
}

@font-face {
    font-family: 'Goldenbook';
    src: url('/font/Goldenbook/Goldenbook-Bold.otf');
    font-weight: bold;
}

@font-face {
    font-family: 'Open Sans';
    src: url('/font/Open_Sans/OpenSans-Regular.ttf');
}

@font-face {
    font-family: 'Open Sans';
    src: url('/font/Open_Sans/OpenSans-Bold.ttf');
    font-weight: bold;
}

@font-face {
    font-family: 'Open Sans';
    src: url('/font/Open_Sans/OpenSans-BoldItalic.ttf');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Open Sans';
    src: url('/font/Open_Sans/OpenSans-Italic.ttf');
    font-style: italic;
}

@font-face {
    font-family: 'Open Sans';
    src: url('/font/Open_Sans/OpenSans-Light.ttf');
    font-weight: lighter;
}

@font-face {
    font-family: 'Open Sans';
    src: url('/font/Open_Sans/OpenSans-LightItalic.ttf');
    font-weight: lighter;
    font-style: italic;
}

.tree-item {
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
}

.tree-item.active {
    background-color: rgb(59 130 246);
    /* primary/blue-500 */
    color: white;
}

.tree details>summary {
    list-style: none;
}

.tree details>summary::-webkit-details-marker {
    display: none;
}

.tree details>summary .tree-marker::before {
    content: "\25B6";
    /* ▶ */
    display: inline-block;
    transition: transform 0.1s ease;
}

.tree details[open]>summary .tree-marker::before {
    transform: rotate(90deg);
}

.cursor-move {
    cursor: move;
    /* fallback if grab cursor is unsupported */
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
}

.cursor-move:active {
    cursor: grabbing;
    cursor: -moz-grabbing;
    cursor: -webkit-grabbing;
}

form>.required>label:after {
    content: " *";
    color: red;
}

/* Dropdown menu: hidden by default, visible when toggled open */
[data-menu] {
    display: none;
}

[data-menu].is-open {
    display: block;
    z-index: 15;
}

/* HTMX request indicators — bundled here instead of injected by HTMX, since
   `htmx-config` disables `includeIndicatorStyles` so the layout can run under
   strict CSP without the inline-style hash HTMX would otherwise need. */
.htmx-indicator {
    opacity: 0;
    transition: opacity 200ms ease-in;
}

.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator {
    opacity: 1;
}


/* Queue */
/* Stats Cards */
.stats-card {
    border: none;
    border-radius: 0.5rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    overflow: hidden;
}

.stats-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.stats-card .card-body {
    padding: 1.25rem;
}

.stats-card .stats-icon {
    width: 48px;
    height: 48px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}
