/* ════════════════════════════════════════════════
   OSNOVA — pisava, barve, Bootstrap overrides
   ════════════════════════════════════════════════ */

html, body {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a, .btn-link {
    color: #006bb7;
}

h1:focus {
    outline: none;
}

.content {
    padding-top: 1.1rem;
}


/* ════════════════════════════════════════════════
   BOOTSTRAP OVERRIDES — primarna barva viola
   ════════════════════════════════════════════════ */

.btn-primary {
    color: #fff;
    background-color: #7c5cbf;
    border-color: #7c5cbf;
}

    .btn-primary:hover {
        background-color: #6a4daa;
        border-color: #6a4daa;
        color: #fff;
    }

    .btn-primary:focus,
    .btn-primary:active {
        background-color: #6a4daa;
        border-color: #6a4daa;
        color: #fff;
    }

.btn-outline-primary {
    --bs-btn-color: #7c5cbf;
    --bs-btn-border-color: #7c5cbf;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #7c5cbf;
    --bs-btn-hover-border-color: #7c5cbf;
    --bs-btn-focus-shadow-rgb: 124, 92, 191;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #7c5cbf;
    --bs-btn-active-border-color: #7c5cbf;
    --bs-btn-disabled-color: #7c5cbf;
    --bs-btn-disabled-border-color: #7c5cbf;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus,
.form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}


/* ════════════════════════════════════════════════
   GUMBI — FD Kres akcijski gumbi
   Standardne ikone: Bootstrap Icons (bi-*)
   Shrani    → bi-floppy
   Briši     → bi-trash
   Prekliči  → bi-x-lg
   Uredi     → bi-pencil
   Tiskaj    → bi-printer
   Nov       → bi-plus-lg
   Uvoz      → bi-upload
   Izvozi    → bi-download
   Nazaj     → bi-arrow-left
   Počisti   → bi-x-circle
   Drive     → bi-folder
   Osveži    → bi-arrow-clockwise
   ════════════════════════════════════════════════ */

/* Tiskaj — srednje modra */
.btn-fdkres-tiskaj {
    background-color: #1565c0;
    border-color: #1565c0;
    color: white;
}

    .btn-fdkres-tiskaj:hover {
        background-color: #0d47a1;
        border-color: #0d47a1;
        color: white;
    }

    .btn-fdkres-tiskaj:focus {
        box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #1565c0;
        color: white;
    }

    .btn-fdkres-tiskaj:active {
        background-color: #0d47a1;
        border-color: #0d47a1;
        color: white;
    }


/* ════════════════════════════════════════════════
   VALIDACIJA — Bootstrap form feedback overrides
   ════════════════════════════════════════════════ */

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}


/* ════════════════════════════════════════════════
   BLAZOR — error boundary
   ════════════════════════════════════════════════ */

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }


/* ════════════════════════════════════════════════
   LAYOUT — app-wrapper, sidebar, main-content
   Mobilni:  top navbar + vsebina pod njim
   Desktop (≥992px): fiksna leva sidebar + vsebina desno
   ════════════════════════════════════════════════ */

.page-top {
    position: sticky;
    top: 0;
    z-index: 1030;
}

.app-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.main-content {
    flex: 1;
    min-height: calc(100vh - 56px);
    overflow-y: auto;
}

.sidebar {
    display: none;
}

@media (min-width: 992px) {
    .app-wrapper {
        flex-direction: row;
        align-items: stretch;
    }

    .sidebar {
        display: flex;
        flex-direction: column;
        width: 260px;
        min-width: 260px;
        flex-shrink: 0;
        background-color: #1a237e;
        min-height: 100vh;
        height: 100vh;
        position: sticky;
        top: 0;
        overflow-y: auto;
        z-index: 1030;
    }

    .main-content {
        flex: 1;
        min-width: 0;
        min-height: 100vh;
        overflow-y: auto;
    }
}


/* ════════════════════════════════════════════════
   SIDEBAR — desktop navigacija (#1a237e ozadje)
   ════════════════════════════════════════════════ */

.sidebar-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}

.sidebar-brand {
    padding: 0 1rem;
    height: 56px;
    min-height: 56px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,0.15);
    flex-shrink: 0;
}

.sidebar-brand-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none !important;
    color: white;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.03em;
}

    .sidebar-brand-link:hover {
        color: rgba(255,255,255,0.85);
    }

.sidebar-nav {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.25rem 0;
}

    .sidebar-nav::-webkit-scrollbar {
        width: 3px;
    }

    .sidebar-nav::-webkit-scrollbar-track {
        background: transparent;
    }

    .sidebar-nav::-webkit-scrollbar-thumb {
        background: rgba(255,255,255,0.2);
        border-radius: 2px;
    }

.sidebar-section {
    border-bottom: 1px solid rgba(255,255,255,0.07);
}

.sidebar-section-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0 1rem;
    height: 48px;
    color: rgba(255,255,255,0.85);
    background: none;
    border: none;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.03em;
    cursor: pointer;
    text-align: left;
    gap: 0.5rem;
    transition: background-color 0.15s, color 0.15s;
    filter: grayscale(1);
}

    .sidebar-section-btn:hover {
        color: white;
        background-color: rgba(255,255,255,0.08);
    }

.sidebar-podsection-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.3rem 1rem 0.3rem 1.25rem;
    height: 36px;
    color: rgba(255,255,255,0.5);
    background: none;
    border: none;
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;
    text-align: left;
    transition: background-color 0.12s, color 0.12s;
}

    .sidebar-podsection-btn:hover {
        color: rgba(255,255,255,0.8);
        background-color: rgba(255,255,255,0.05);
    }

.sidebar-chevron {
    font-size: 0.75rem;
    opacity: 0.6;
    transition: transform 0.2s ease;
    display: inline-block;
    margin-left: auto;
}

    .sidebar-chevron.odprt {
        transform: rotate(180deg);
    }

.sidebar-chevron-sm {
    font-size: 0.65rem;
    opacity: 0.5;
    transition: transform 0.2s ease;
    display: inline-block;
    margin-left: auto;
}

    .sidebar-chevron-sm.odprt {
        transform: rotate(180deg);
    }

.sidebar-section-body {
    padding-bottom: 0.5rem;
    background-color: rgba(0,0,0,0.15);
}

.sidebar-link {
    display: block !important;
    width: 100%;
    padding: 0.35rem 1rem 0.35rem 1.25rem;
    color: rgba(255,255,255,0.78) !important;
    text-decoration: none !important;
    font-size: 0.875rem;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-left: 3px solid transparent;
    transition: background-color 0.12s, color 0.12s, border-color 0.12s;
}

    .sidebar-link:hover {
        background-color: rgba(255,255,255,0.1);
        color: white !important;
    }

    .sidebar-link.active {
        background-color: rgba(124,92,191,0.3);
        color: white !important;
        border-left-color: #7c5cbf;
        font-weight: 600;
    }

.sidebar-footer {
    flex-shrink: 0;
    padding: 0.75rem 1rem;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.sidebar-odjava {
    display: block;
    width: 100%;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.2);
    color: rgba(255,255,255,0.78);
    border-radius: 6px;
    padding: 0.45rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    text-align: left;
    transition: background-color 0.12s, color 0.12s;
}

    .sidebar-odjava:hover {
        background: rgba(255,255,255,0.14);
        color: white;
    }


/* ════════════════════════════════════════════════
   NAVBAR — mobilna navigacija (<992px)
   ════════════════════════════════════════════════ */

.navbar-gumb {
    height: 56px;
    display: flex;
    align-items: center;
    padding: 0 1rem;
    color: rgba(255,255,255,0.75);
    background: none;
    border: none;
    white-space: nowrap;
    font-size: 1rem;
    cursor: pointer;
    gap: 0.25rem;
}

    .navbar-gumb:hover,
    .navbar-gumb.aktiven {
        color: white;
        background-color: rgba(255,255,255,0.1);
    }

.navbar-separator {
    width: 1px;
    background-color: rgba(255,255,255,0.2);
    margin: 10px 4px;
}

@media (max-width: 991px) {
    .navbar-gumb {
        height: auto;
        padding: 0.75rem 1rem;
        width: 100%;
        justify-content: flex-start;
    }

    .navbar-separator {
        display: none;
    }

    .navbar-collapse > div:first-child {
        flex-direction: column !important;
        height: auto !important;
    }
}


/* ════════════════════════════════════════════════
   STRANI S TABELAMI — standardna full-height struktura

   Uporaba:
   <div class="container-fluid px-3 py-3 fdkres-stran">
       <div class="flex-shrink-0 mb-2">
           @* glava + filtri *@
       </div>
       <div class="card shadow-sm fdkres-tabela-card">
           <div class="card-body fdkres-scroll">
               <table class="table table-sm table-bordered mb-0 fdkres-tabela">
                   ...
               </table>
           </div>
       </div>
   </div>

   .fdkres-stran       — flex column, višina = 100vh minus navbar
   .fdkres-tabela-card — card ki se raztegne v preostali prostor
   .fdkres-scroll      — scroll wrapper; height:100% + overflow:auto
   ════════════════════════════════════════════════ */

/* Glavni page wrapper */
.fdkres-stran {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 56px);
}

    .fdkres-stran .table {
        font-size: 0.82rem;
    }

/* Na mobilnem se zunanji rob strani (article.content: px-4 pt-3 v MainLayout.razor)
   sešteva z lastnim px-3 py-3 ovojem .fdkres-stran, kar podvoji rob (skupaj ~2,5rem).
   Z negativnim marginom izničimo zunanji rob, tako da ostane samo en nivo (16px). */
@media (max-width: 991.98px) {
    .fdkres-stran {
        /* .container-fluid postavi width:100%, zato negativni margin sam ne razširi škatle —
           širino moramo eksplicitno povečati za natanko toliko, kolikor odštejemo z marginom. */
        width: calc(100% + 3rem);
        margin: -1rem -1.5rem 0 -1.5rem;
    }
}

/* Card ki zavzame ves preostali prostor pod glavo/filtri.
   min-height:0 je ključno — brez tega flex child ne more biti
   manjši od vsebine in scroll nikoli ne deluje. */
.fdkres-tabela-card {
    flex: 1 1 0;
    min-height: 0;
    overflow: visible;
}

    /* card-body mora biti točno visok kot card */
    .fdkres-tabela-card .card-body {
        height: 100%;
        padding: 0;
    }

/* .fdkres-kompaktna — opcijski dodatek k .fdkres-tabela-card za mobilne strani
   s kratkimi seznami (npr. poročila): brez tega se kartica vedno razteza čez
   preostanek višine okna, kar pri malo vrsticah pusti velik prazen prostor pod tabelo. */
@media (max-width: 767.98px) {
    .fdkres-tabela-card.fdkres-kompaktna {
        flex: 0 1 auto;
    }

        .fdkres-tabela-card.fdkres-kompaktna .card-body {
            height: auto;
        }

        .fdkres-tabela-card.fdkres-kompaktna .fdkres-scroll {
            height: auto;
            max-height: 65vh;
        }
}
    .fdkres-tabela-card .table td,
    .fdkres-tabela-card .table th {
        font-size: 0.82rem;
    }

/* Scroll wrapper znotraj card-body */
.fdkres-scroll {
    overflow-y: auto;
    overflow-x: auto;
    height: 100%;
}

    .fdkres-scroll::-webkit-scrollbar {
        width: 6px;
        height: 6px;
    }

    .fdkres-scroll::-webkit-scrollbar-track {
        background: #f0eefa;
        border-radius: 3px;
    }

    .fdkres-scroll::-webkit-scrollbar-thumb {
        background: #b0a0d8;
        border-radius: 3px;
    }

        .fdkres-scroll::-webkit-scrollbar-thumb:hover {
            background: #7c5cbf;
        }


/* ════════════════════════════════════════════════
   FORMA KARTICA — za strani kjer je forma pod tabelo
   ali sama (brez tabele).

   Uporaba (ko je forma edina vsebina oz. nadomesti tabelo):
   <div class="container-fluid px-3 py-3 fdkres-stran">
       <div class="flex-shrink-0 mb-2">
           @* glava (naslov + gumbi) — brez filtra *@
       </div>
       <BlagajnaFormaKartica Naslov="..." CssClass="fdkres-forma-card">
           <Body>...</Body>
       </BlagajnaFormaKartica>
   </div>

   Oziroma direktno kot card:
   <div class="card shadow-sm fdkres-forma-card">
       <div class="card-header blagajna-forma-header py-2">
           <strong class="text-white">Naslov</strong>
       </div>
       <div class="card-body fdkres-forma-body">
           ...vsebina...
       </div>
   </div>

   .fdkres-forma-card  — card ki se raztegne, glava fiksna, telo scrolla
   .fdkres-forma-body  — scrollabilno telo forme
   ════════════════════════════════════════════════ */

/* Card wrapper — raztegne se v preostanek prostora */
.fdkres-forma-card {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

    /* Glava forme (viola pasica) — fiksna, se ne skrolla */
    .fdkres-forma-card .card-header {
        flex-shrink: 0;
    }

    /* Telo forme — se skrolla */
    .fdkres-forma-card .card-body {
        flex: 1 1 0;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        padding: 1rem;
    }

        .fdkres-forma-card .card-body::-webkit-scrollbar {
            width: 6px;
        }

        .fdkres-forma-card .card-body::-webkit-scrollbar-track {
            background: #f0eefa;
            border-radius: 3px;
        }

        .fdkres-forma-card .card-body::-webkit-scrollbar-thumb {
            background: #b0a0d8;
            border-radius: 3px;
        }

            .fdkres-forma-card .card-body::-webkit-scrollbar-thumb:hover {
                background: #7c5cbf;
            }


/* ════════════════════════════════════════════════
   ENOTNA TABELA — .fdkres-tabela
   Uporaba: <table class="table table-sm table-bordered mb-0 fdkres-tabela">
   ════════════════════════════════════════════════ */

.fdkres-tabela thead tr th {
    background-color: #1a237e !important;
    color: white !important;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border: none !important;
    padding: 0.5rem 0.75rem;
    white-space: nowrap;
    vertical-align: middle;
    /* Sticky header — deluje ker je fdkres-scroll overflow container */
    position: sticky;
    top: 0;
    z-index: 2;
    box-shadow: 0 2px 0 #1a237e;
}

.fdkres-tabela td {
    vertical-align: middle;
    font-size: 0.82rem;
}

.fdkres-tabela tbody tr:hover {
    background-color: #f3f0fa !important;
}

/* ── Sortabilni header ── */
.fdkres-tabela thead tr th.sortable {
    cursor: pointer;
    user-select: none;
}

    .fdkres-tabela thead tr th.sortable:hover {
        background-color: #2a3a8e !important;
    }

/* ── Statusne vrstice ── */

.fdkres-tabela .vrstica-osnutek {
    background-color: #fff3f3 !important;
}

.fdkres-tabela .vrstica-potrjeno {
    background-color: #f3fff3 !important;
}

.fdkres-tabela .vrstica-storno {
    background-color: #f5f5f5 !important;
    color: #999 !important;
}

/* ── Hierarhija kontov ── */

.fdkres-tabela .nivo-1 {
    background-color: #37474f !important;
    color: white !important;
    font-weight: bold;
    border-top: 2px solid #90a4ae !important;
}

.fdkres-tabela .nivo-2 {
    background-color: #cfd8dc !important;
    color: #000 !important;
    font-weight: 600;
}

.fdkres-tabela .nivo-3 {
    background-color: #f5f5f5 !important;
    color: #000;
}

.fdkres-tabela .nivo-4 {
    background-color: #ffffff;
    color: #000;
}

/* ── Seštevek / skupina ── */

.fdkres-tabela .vrstica-sestevek {
    background-color: #e8eaf6 !important;
    font-weight: bold;
}

.fdkres-tabela .vrstica-skupina {
    background-color: #f3f0fa !important;
    font-weight: 600;
}

.fdkres-tabela .vrstica-podpostavka td:nth-child(2) {
    padding-left: 2rem;
    color: #444;
}

/* ── Sortabilni headerji ── */

.fdkres-tabela thead tr th.sortable {
    cursor: pointer;
    user-select: none;
}

    .fdkres-tabela thead tr th.sortable:hover {
        background-color: #2a3a8e !important;
    }

/* ── Accordion detail tabelca — podrobnosti knjižb ── */

.fdkres-tabela-detail thead tr th {
    background-color: #4a3880 !important;
    color: white !important;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border: none !important;
    padding: 0.35rem 0.75rem;
    white-space: nowrap;
    vertical-align: middle;
}

.fdkres-tabela-detail td {
    vertical-align: middle;
    font-size: 0.82rem;
    background-color: #f3f0fa;
}

.fdkres-tabela-detail tbody tr:hover td {
    background-color: #e8e0f5 !important;
}

/* ── Accordion detail — zamik ko je znotraj glavne tabele ── */
.fdkres-tabela-detail-zamik {
    margin: 0 1rem;
}

/* ════════════════════════════════════════════════
   KLJUČ-VREDNOST TABELA — .fdkres-prikaz
   Dvostolpčne "label : vrednost" tabele (npr. Osebni podatki, Kontakt).
   Oznaka v prvem stolpcu naj bo istega velikostnega/pisnega razreda kot
   glava .fdkres-tabela-detail, da so vse podrobnostne tabele enotne.
   ════════════════════════════════════════════════ */
.fdkres-prikaz td.text-muted {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Naslovna pasica kartice nad .fdkres-prikaz tabelo (npr. "Osebni podatki") —
   isti velikostni/pisni razred in razmiki kot glava .fdkres-tabela-detail. */
.fdkres-prikaz-header {
    padding: 0.35rem 0.75rem !important;
}

    .fdkres-prikaz-header strong {
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }

/* Kartica, ki neposredno vsebuje .fdkres-tabela-detail (npr. Vloge, Zgodovina članstva) —
   overflow:hidden, da se kvadratasti zgornji robovi glave tabele porežejo po zaobljenem
   robu kartice (enako kot je to samodejno urejeno za .card-header). */
.card:has(> .card-body > .fdkres-tabela-detail) {
    overflow: hidden;
}

/* ════════════════════════════════════════════════
   PODZAVIHKI — .fdkres-podzavihki
   Druga raven zavihkov (npr. Osnovno/Ostalo/... znotraj Član, ali
   Članarina/Računi/... znotraj Računovodstvo) — pisava eno stopnjo
   manjša kot glavni zavihki, da je vizualna hierarhija jasna.
   ════════════════════════════════════════════════ */
.fdkres-podzavihki .nav-link {
    font-size: 0.875rem;
}

/* ════════════════════════════════════════════════
   ZAVIHKI / PODZAVIHKI — skupna pravila za jasnost in odzivnost
   .fdkres-zavihki (glavni nivo: Članstvo/Garderoba/...) in
   .fdkres-podzavihki (drugi nivo) uporabljata isto logiko:
   - neaktivni zavihki dobijo vidno obrobo za jasnejšo ločitev, na vseh
     velikostih zaslona (aktivni ima obrobo že usklajeno z barvo ozadja
     v posamezni strani);
   - na mobilnem aktivni zavihek obdrži naraven prostor za polni naziv,
     neaktivni pa si med sabo enakomerno delijo preostanek in besedilo
     po potrebi obrežejo z "…" — prilagodljivo glede na širino zaslona,
     brez fiksnih kratic za posamezen zavihek. Na desktopu je prostora
     dovolj, zato zavihki ostanejo naravne (nestisnjene) širine.
   ════════════════════════════════════════════════ */
.fdkres-zavihki .nav-link:not(.active),
.fdkres-podzavihki .nav-link:not(.active) {
    border: 1px solid #dee2e6 !important;
}

@media (max-width: 767.98px) {
    .fdkres-zavihki .nav-item,
    .fdkres-podzavihki .nav-item {
        min-width: 0;
        flex: 1 1 0;
    }

        .fdkres-zavihki .nav-item:has(.nav-link.active),
        .fdkres-podzavihki .nav-item:has(.nav-link.active) {
            flex: 0 1 auto;
        }

    .fdkres-zavihki .nav-link:not(.active),
    .fdkres-podzavihki .nav-link:not(.active) {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Občutek plastenja — vsak zavihek (razen prvega) vrže rahlo senco na
       levega soseda, kot da ga rahlo prekriva. Zaobljeni zgornji robovi
       okrepijo videz "kartončkov". Dejanskega geometrijskega prekrivanja
       ni, zato dotikalno območje vsakega zavihka ostane polno. */
    .fdkres-zavihki .nav-link,
    .fdkres-podzavihki .nav-link {
        border-top-left-radius: 0.5rem;
        border-top-right-radius: 0.5rem;
        position: relative;
    }

    .fdkres-zavihki .nav-item:not(:first-child) .nav-link,
    .fdkres-podzavihki .nav-item:not(:first-child) .nav-link {
        box-shadow: -3px 0 4px -2px rgba(0, 0, 0, 0.3);
    }
}

/* ── Tisk ── */

@media print {
    .d-print-none {
        display: none !important;
    }

    .sidebar, nav {
        display: none !important;
    }

    .fdkres-tabela thead tr th {
        background-color: #1a237e !important;
        color: white !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .fdkres-tabela .nivo-1 {
        background-color: #37474f !important;
        color: white !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .fdkres-tabela .nivo-2 {
        background-color: #cfd8dc !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .fdkres-tabela .vrstica-skupina {
        background-color: #f3f0fa !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .fdkres-tabela .vrstica-sestevek,
    .fdkres-tabela .vrstica-sestevek td {
        background-color: #f0f0f0 !important;
        font-weight: bold;
    }

        .fdkres-tabela .vrstica-sestevek td.text-danger {
            color: #7c1fa0 !important;
        }
}


/* ════════════════════════════════════════════════
   SKUPNE KOMPONENTE — forme, pickerji, modali
   ════════════════════════════════════════════════ */

/* Pasica glave forme/modala — viola */
.blagajna-forma-header {
    background-color: #4a3880;
    color: white;
    border-bottom: 1px solid #3a2a6a;
}

/* OsebaPickerComponent — fokus obroba */
.fdkres-oseba-picker:focus {
    border-color: #4a3880 !important;
    box-shadow: 0 0 0 0.15rem rgba(74, 56, 128, 0.35) !important;
}

/* DatumPicker wrapper */
.datum-picker-wrapper {
    position: relative;
}

/* Gumb "Danes" / pill gumb — za navigacijo */
.btn-fdkres-pill {
    border: 1px solid #dadce0;
    border-radius: 20px;
    padding: 4px 16px;
    background: none;
    font-size: 0.875rem;
    font-weight: 500;
    color: #3c4043;
    cursor: pointer;
}

    .btn-fdkres-pill:hover {
        background: #f1f3f4;
    }

/* ════════════════════════════════════════════════
   FILTER PASICA — skupna za vse strani z filtri
   Uporaba: <BlagajnaFilterBar ... /> oz. <div class="blagajna-filter-bar">
   ════════════════════════════════════════════════ */

.blagajna-filter-bar {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 0.375rem;
    padding: 0.5rem 0.75rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

    .blagajna-filter-bar label.filter-label {
        margin-bottom: 0;
        font-size: 0.875rem;
        font-weight: 600;
        white-space: nowrap;
    }


/* ════════════════════════════════════════════════
   APP SPOROCILO — enotna obvestilna pasica
   Vrsta: Uspeh (viola) | Napaka (rdeča) | Opozorilo (oranžna) | Info (modra)
   Uporaba: <AppSporocilo @bind-Sporocilo="sporocilo" Vrsta="AppSporociloVrsta.Uspeh" />
   ════════════════════════════════════════════════ */

.app-sporocilo-uspeh {
    background-color: #4a3880;
    color: white;
    border: none;
}

.app-sporocilo-napaka {
    background-color: #a32d2d;
    color: white;
    border: none;
}

.app-sporocilo-opozorilo {
    background-color: #854f0b;
    color: white;
    border: none;
}

.app-sporocilo-info {
    background-color: #185fa5;
    color: white;
    border: none;
}

.app-sporocilo-zapri {
    color: white;
    border: 1px solid rgba(255,255,255,0.4);
    padding: 2px 10px;
    font-size: 0.8rem;
    background: transparent;
}

    .app-sporocilo-zapri:hover {
        background-color: rgba(255,255,255,0.15);
        color: white;
    }

/* Stara .blagajna-sporocilo — obdržana za kompatibilnost */
.blagajna-sporocilo {
    background-color: #4a3880;
    color: white;
    border: none;
}

.blagajna-sporocilo-zapri {
    color: white;
    border: 1px solid rgba(255,255,255,0.4);
    padding: 2px 10px;
    font-size: 0.8rem;
}

    .blagajna-sporocilo-zapri:hover {
        background-color: rgba(255,255,255,0.15);
        color: white;
    }


/* ════════════════════════════════════════════════
   OZADJE — full-screen ozadje (npr. login)
   ════════════════════════════════════════════════ */

.page-background {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    min-height: 100vh;
}


/* ════════════════════════════════════════════════
   NAVIGACIJSKI HEADER — sidebar sekcijski naslovi
   ════════════════════════════════════════════════ */

.nav-section-header {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity: 0.5;
    padding: 0.5rem 1rem 0.25rem;
    pointer-events: none;
}


/* ════════════════════════════════════════════════
   NASLOV STRANI — skupni standard
   Uporaba: <h4 class="fdkres-naslov mb-0">Naslov</h4>
   ════════════════════════════════════════════════ */

.fdkres-naslov {
    color: #1a237e;
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: 0;
}
