/* Minification failed. Returning unminified contents.
(20,28): run-time error CSS1039: Token not allowed after unary operator: '-surface-bg'
(21,17): run-time error CSS1039: Token not allowed after unary operator: '-bs-body-color'
(22,23): run-time error CSS1039: Token not allowed after unary operator: '-font-family-base'
(28,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(30,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(31,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(32,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(33,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(35,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(36,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(37,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(38,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(39,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(40,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(44,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(45,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(46,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(47,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(48,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(49,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(50,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(55,28): run-time error CSS1039: Token not allowed after unary operator: '-surface-card'
(56,35): run-time error CSS1039: Token not allowed after unary operator: '-outline-variant'
(60,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(64,23): run-time error CSS1039: Token not allowed after unary operator: '-font-weight-bold'
(65,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(69,17): run-time error CSS1039: Token not allowed after unary operator: '-text-3'
(70,23): run-time error CSS1039: Token not allowed after unary operator: '-font-weight-medium'
(76,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(80,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(81,23): run-time error CSS1039: Token not allowed after unary operator: '-font-weight-semibold'
(82,31): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(90,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(93,23): run-time error CSS1039: Token not allowed after unary operator: '-font-weight-bold'
(103,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-soft'
(104,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-active'
(110,17): run-time error CSS1039: Token not allowed after unary operator: '-text-3'
(116,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(122,24): run-time error CSS1039: Token not allowed after unary operator: '-outline-variant'
(135,33): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-rgb'
(136,29): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-rgb'
(144,28): run-time error CSS1039: Token not allowed after unary operator: '-surface-variant'
(145,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(152,28): run-time error CSS1039: Token not allowed after unary operator: '-warning-bg'
(153,17): run-time error CSS1039: Token not allowed after unary operator: '-warning-strong'
(159,17): run-time error CSS1039: Token not allowed after unary operator: '-success-strong'
(160,28): run-time error CSS1039: Token not allowed after unary operator: '-success-bg'
(163,17): run-time error CSS1039: Token not allowed after unary operator: '-error-strong'
(164,28): run-time error CSS1039: Token not allowed after unary operator: '-error-bg'
(167,17): run-time error CSS1039: Token not allowed after unary operator: '-text-3'
(168,28): run-time error CSS1039: Token not allowed after unary operator: '-surface-variant'
(171,17): run-time error CSS1039: Token not allowed after unary operator: '-warning-strong'
(172,28): run-time error CSS1039: Token not allowed after unary operator: '-warning-bg'
(177,28): run-time error CSS1039: Token not allowed after unary operator: '-surface-subtle'
(178,17): run-time error CSS1039: Token not allowed after unary operator: '-text-4'
(180,23): run-time error CSS1039: Token not allowed after unary operator: '-font-weight-bold'
(183,31): run-time error CSS1039: Token not allowed after unary operator: '-outline-variant'
(186,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(219,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(220,40): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-rgb'
(223,28): run-time error CSS1039: Token not allowed after unary operator: '-surface-variant'
(224,17): run-time error CSS1039: Token not allowed after unary operator: '-text-3'
(229,17): run-time error CSS1039: Token not allowed after unary operator: '-text-3'
(233,23): run-time error CSS1039: Token not allowed after unary operator: '-font-weight-bold'
(236,17): run-time error CSS1039: Token not allowed after unary operator: '-text-4'
(272,28): run-time error CSS1039: Token not allowed after unary operator: '-surface-variant'
(273,17): run-time error CSS1039: Token not allowed after unary operator: '-text-4'
(333,24): run-time error CSS1039: Token not allowed after unary operator: '-outline-variant'
(372,22): run-time error CSS1039: Token not allowed after unary operator: '-toast-shadow'
(406,28): run-time error CSS1039: Token not allowed after unary operator: '-outline-variant'
(408,28): run-time error CSS1039: Token not allowed after unary operator: '-surface-card'
(413,17): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(416,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(420,17): run-time error CSS1039: Token not allowed after unary operator: '-text-secondary'
(441,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(442,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(443,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(453,28): run-time error CSS1039: Token not allowed after unary operator: '-outline-variant'
(455,28): run-time error CSS1039: Token not allowed after unary operator: '-surface-card'
(456,17): run-time error CSS1039: Token not allowed after unary operator: '-text-2'
(457,21): run-time error CSS1039: Token not allowed after unary operator: '-font-size-sm'
(458,23): run-time error CSS1039: Token not allowed after unary operator: '-font-weight-medium'
(464,28): run-time error CSS1039: Token not allowed after unary operator: '-surface-variant'
(465,24): run-time error CSS1039: Token not allowed after unary operator: '-outline'
(466,17): run-time error CSS1039: Token not allowed after unary operator: '-text-primary'
(471,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(472,40): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary-rgb'
(476,28): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(477,24): run-time error CSS1039: Token not allowed after unary operator: '-brand-primary'
(478,17): run-time error CSS1039: Token not allowed after unary operator: '-text-on-brand'
(486,17): run-time error CSS1039: Token not allowed after unary operator: '-text-4'
 */
/*
 * dashboard.css
 * -------------------------------------------------------------
 * Komponentni selektori za autenticated dashboard (S-dashboard redesign).
 * Top-navbar app: navbar + kartice + tablice + badge-evi + icon-tile.
 *
 * Sve boje/dimenzije čitaju iz CSS varijabli u tenant-theme.css
 * (--brand-*, --surface-*, --text-*, --outline*, --*-strong). Nema
 * hardkodiranih brand boja — status-tint pozadine su jedina iznimka
 * (semantičke, ne tenant-swapane; komentirano).
 *
 * Učitava se u OBA layouta (_LayoutDashboard + _LayoutLogin) jer sadrži
 * dijeljeni .btn-brand; navbar/table/kartica pravila su inertna na loginu.
 *
 * Verzija: 1.0 (S-dashboard redesign)
 * -------------------------------------------------------------
 */

body {
    background-color: var(--surface-bg);
    color: var(--bs-body-color);
    font-family: var(--font-family-base);
}

/* ============ SHARED BRAND BUTTON (BS5.3 button CSS API) ============ */
/* Jedina definicija .btn-brand u projektu (maknuto iz login-layout.css). */
.btn-brand {
    --bs-btn-color:                 #fff;
    --bs-btn-bg:                    var(--brand-primary);
    --bs-btn-border-color:          var(--brand-primary);
    --bs-btn-hover-color:           #fff;
    --bs-btn-hover-bg:              var(--brand-primary-hover);
    --bs-btn-hover-border-color:    var(--brand-primary-hover);
    --bs-btn-active-color:          #fff;
    --bs-btn-active-bg:             var(--brand-primary-active);
    --bs-btn-active-border-color:   var(--brand-primary-active);
    --bs-btn-disabled-color:        #fff;
    --bs-btn-disabled-bg:           var(--brand-primary);
    --bs-btn-disabled-border-color: var(--brand-primary);
    --bs-btn-focus-shadow-rgb:      var(--brand-primary-rgb);
}

.btn-brand-soft {
    --bs-btn-color:               var(--brand-primary);
    --bs-btn-bg:                  transparent;
    --bs-btn-border-color:        transparent;
    --bs-btn-hover-color:         var(--brand-primary-hover);
    --bs-btn-hover-bg:            var(--surface-variant);
    --bs-btn-hover-border-color:  transparent;
    --bs-btn-active-bg:           var(--surface-variant);
}

/* ============ NAVBAR ============ */
.navbar-laus {
    background-color: var(--surface-card);
    border-bottom: 1px solid var(--outline-variant);
}

.navbar-laus .navbar-brand {
    color: var(--text-primary);
}

.navbar-laus .navbar-brand__title {
    font-weight: var(--font-weight-bold);
    color: var(--text-primary);
}

.navbar-laus .nav-link {
    color: var(--text-3);
    font-weight: var(--font-weight-medium);
    border-bottom: 2px solid transparent;
    padding: 0.5rem 0.8rem;
}

.navbar-laus .nav-link:hover {
    color: var(--text-primary);
}

.navbar-laus .nav-link.active {
    color: var(--text-primary);
    font-weight: var(--font-weight-semibold);
    border-bottom-color: var(--text-primary);
}

/* Avatar inicijali (navbar dropdown toggle + Profil header) */
.avatar-badge {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: var(--brand-primary);
    color: #fff;
    font-size: 12px;
    font-weight: var(--font-weight-bold);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.avatar-badge--lg {
    width: 68px;
    height: 68px;
    font-size: 24px;
    background-color: var(--brand-primary-soft);
    color: var(--brand-primary-active);
}

/* Bell (Zvonce) restyle za bijeli navbar — scoped na container,
   NE dira _Zvonce.cshtml (obavijesti-poll.js DOM contract ostaje). */
#obavijesti-zvonce-container .dropdown-toggle {
    color: var(--text-3);
    background-color: transparent;
    border: 0;
}
#obavijesti-zvonce-container .dropdown-toggle:hover,
#obavijesti-zvonce-container .dropdown-toggle:focus {
    color: var(--text-primary);
    background-color: transparent;
}

/* ============ CARDS ============ */
.card {
    border-color: var(--outline-variant);
}

.card-lift {
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.card-lift:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px -14px rgba(32, 26, 25, 0.22);
}

/* "Hitno" alert kartica — soft brand tint iz --brand-primary-rgb (token-derived) */
.card-alert {
    background-color: rgba(var(--brand-primary-rgb), 0.06);
    border-color: rgba(var(--brand-primary-rgb), 0.25);
}

/* ============ ICON TILE ============ */
.icon-tile {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background-color: var(--surface-variant);
    color: var(--brand-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
}
.icon-tile--warning {
    background-color: var(--warning-bg);
    color: var(--warning-strong);
}

/* ============ STATUS BADGES (rounded-pill) ============ */
/* Točne M3 status boje (kao mockup laus-theme). */
.badge-paid {
    color: var(--success-strong);
    background-color: var(--success-bg);
}
.badge-unpaid {
    color: var(--error-strong);
    background-color: var(--error-bg);
}
.badge-open {
    color: var(--text-3);
    background-color: var(--surface-variant);
}
.badge-warning {
    color: var(--warning-strong);
    background-color: var(--warning-bg);
}

/* ============ TABLES ============ */
.table thead th {
    background-color: var(--surface-subtle);
    color: var(--text-4);
    font-size: 11px;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-bottom-color: var(--outline-variant);
}
.table td {
    color: var(--text-primary);
    vertical-align: middle;
}

/* Racuni tablica: auto table-layout dijeli sirinu po sadrzaju, pa dugi "Opis"
   pojede sirinu ostalih stupaca i njihov sadrzaj (protokol, iznos, datum) se
   lomi u drugi red. Fiksni stupci se drze u jednom redu, a Opis nosi sav
   ostatak sirine i lomi se unutar sebe.
   Izuzeci u selektoru su nuzni, ne kozmetika:
     :not(.racun-rate-row) — red s razradom na rate ima ugnjezdenu tablicu, a
       white-space se nasljeduje, pa nowrap ne smije na njegovu colspan celiju;
     :not(.racuni-col-opis) — inace bi nowrap na td-u pobijedio po
       specificnosti (1,1,3 vs 1,1,0) i Opis se ne bi lomio. */
#racuniTable > thead > tr > th:not(.racuni-col-opis),
#racuniTable > tbody > tr:not(.racun-rate-row) > td:not(.racuni-col-opis) {
    white-space: nowrap;
}
#racuniTable .racuni-col-opis {
    /* width:100% u auto layoutu = "uzmi svu sirinu koja ostane"; ostali stupci
       dobiju max-content jer su nowrap. */
    width: 100%;
    /* anywhere: min-content stupca padne na ~1 znak, pa lom bez razmaka
       (dugi sifrarnicki naziv) ne prosiruje tablicu. */
    overflow-wrap: anywhere;
    /* Donja granica citljivosti; na uskim ekranima radije horizontalni scroll
       (.table-responsive) nego stupac Opis stisnut na par znakova. */
    min-width: 12rem;
}

/* ============ FORM CONTROLS (dashboard forme: upload modal itd.) ============ */
.form-control:focus,
.form-select:focus,
.input-group:focus-within .form-control {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--brand-primary-rgb), 0.18);
}
.input-group-text {
    background-color: var(--surface-variant);
    color: var(--text-3);
}

/* ============ UTILITY ============ */
.text-muted-2 {
    color: var(--text-3) !important;
}
.eyebrow {
    font-size: 12px;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-4);
}
.num {
    font-variant-numeric: tabular-nums;
}

/* ============ TABLE TOOLS (client-side pretraga + sort) ============ */
.table-toolbar__search {
    max-width: 360px;
}

.js-sortable thead th[data-sort]:not([data-sort="none"]) {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}
.js-sortable thead th[data-sort]:not([data-sort="none"])::after {
    content: "⇅";
    opacity: 0.3;
    margin-left: 0.35rem;
    font-size: 0.8em;
}
.js-sortable thead th.sort-asc::after {
    content: "↑";
    opacity: 0.9;
}
.js-sortable thead th.sort-desc::after {
    content: "↓";
    opacity: 0.9;
}

/* Empty-state ikona krug (upisni/racuni prazno stanje) */
.empty-tile {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background-color: var(--surface-variant);
    color: var(--text-4);
    font-size: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ============ RESPONSIVE — navbar dropdownovi ============ */
/* Safety net: nijedan navbar dropdown ne smije biti širi od viewporta. */
.navbar-laus .dropdown-menu {
    max-width: calc(100vw - 1rem);
}

/* Obavijesti panel na malim ekranima: Popper right-align inače prelazi lijevi
   rub ekrana (zvono je blizu desnog ruba). Fiksiraj panel preko širine viewporta
   s malim marginama i ubij Popper transform. */
@media (max-width: 575.98px) {
    #obavijesti-zvonce-container .dropdown-menu {
        position: fixed !important;
        top: 3.5rem !important;
        left: 0.5rem !important;
        right: 0.5rem !important;
        bottom: auto !important;
        width: auto !important;
        max-width: none !important;
        transform: none !important;
    }
    #obavijesti-zvonce-container #obavijesti-scroll {
        max-height: 60vh !important;
    }
}

/* Search toolbar na mobitelu = puna širina (bez 360px limita). */
@media (max-width: 575.98px) {
    .table-toolbar__search {
        max-width: none;
        width: 100%;
    }
}

/* Tražilica koja dijeli red s naslovom sekcije. .input-group je width:100%, pa bi u flex redu
   progutala cijelu širinu i gurnula naslov u svoj red. Pravilo je namjerno u min-width upitu,
   ne inline na elementu: inline stil bi pobijedio gornji max-width:575.98px blok i tražilica
   bi na mobitelu ostala uska umjesto pune širine. */
@media (min-width: 576px) {
    .table-toolbar--uz-naslov .table-toolbar__search {
        width: auto;
    }
}

/* ============ DIJALOZI (portal-dialozi.js) ============ */
/* Chrome prati karticu dashboarda: topli obrub, 16px radius, ista mekana
   elevacija kao .card-lift:hover. Header/footer bez BS divider linija —
   kartice na ekranu ih također nemaju. */
/* Potvrda sjedi pri vrhu, ne centrirano — ali nize od toast containera (top: 0),
   da crvena greska i potvrda ne padnu jedna preko druge. */
.portal-dialog .modal-dialog {
    margin-top: 5.5rem;
}
.portal-dialog .modal-content {
    border-color: var(--outline-variant);
    border-radius: 1rem;
    box-shadow: 0 12px 26px -14px rgba(32, 26, 25, 0.22);
    overflow: hidden;   /* crveni header greske mora pratiti radius */
}
.portal-dialog .modal-header {
    align-items: center;
    gap: 0.75rem;
    border-bottom: 0;
    padding-bottom: 0.5rem;
}
.portal-dialog .modal-body {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.portal-dialog .modal-footer {
    border-top: 0;
    padding-top: 0.75rem;
    gap: 0.5rem;
}
.portal-dialog .modal-footer > * {
    margin: 0;   /* BS default .5rem margine dupliraju gap */
}

/* Ikona u headeru potvrde = isti tile kao na karticama usluga. */
.portal-dialog__ikona {
    flex: 0 0 auto;
}

/* Greska = crveni toast, paritet s WebArgosy toastr.error: puna crvena podloga,
   bez naslova, samo tekst + x u kutu. Boja i pozicija su iste kao server-side
   TempData toast (_PorukaKorisniku.cshtml) — dva "greska" prikaza moraju biti
   nerazlučiva. z-index 1090 drzi toast iznad modala (BS modal = 1055). */
#portal-greska-toastovi {
    z-index: 1090;
}
.toast.portal-greska {
    width: 420px;
    max-width: 92vw;
    box-shadow: var(--toast-shadow);
}
/* Dijagnostika (Dev/Test) — poruka nosi exception tekst, treba joj sirina. */
body[data-dijagnostika="true"] .toast.portal-greska {
    width: 720px;
}

/* Blokirajuci loader (PortalDialog.ucitavanje) — pokriva ekran dok traje
   dugotrajna server operacija (npr. urudzbiranje usluge) i time sprjecava
   dvostruki submit. z-index 1085 = iznad BS modala (1055) i backdropa (1050),
   ispod greska-toastova (1090) da poruka greske ostane citljiva. Spinner je
   BS .spinner-border (cisti CSS, ne trazi Bootstrap JS). */
/* top/right/bottom/left, ne `inset` shorthand — CSS minifier u Release bundleu
   (AjaxMin) ne poznaje novije shorthande i tiho ih odbacuje. */
.portal-ucitavanje {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1085;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(32, 26, 25, 0.45);
}
.portal-ucitavanje__panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.875rem;
    min-width: 15rem;
    max-width: 92vw;
    padding: 1.75rem 2rem;
    border: 1px solid var(--outline-variant);
    border-radius: 1rem;
    background-color: var(--surface-card);
    box-shadow: 0 12px 26px -14px rgba(32, 26, 25, 0.22);
    text-align: center;
}
.portal-ucitavanje__panel .spinner-border {
    color: var(--brand-primary);
}
.portal-ucitavanje__tekst {
    color: var(--text-primary);
    font-weight: 600;
}
.portal-ucitavanje__podtekst {
    color: var(--text-secondary);
    font-size: 0.875rem;
}

/* ============ TABLE PAGER (table-tools.js renderirajPager) ============ */
/* Markup dolazi iz table-tools.js kao standardna BS .pagination lista. Ovdje se samo
   pretače u paletu portala: BS default je plavi link-stil s spojenim gumbima, što pokraj
   toplih kartica i crvenog brenda izgleda kao tuđa komponenta.

   Stilizira se preko .table-pager na nav kontejneru, ne globalno preko .pagination —
   modul je dijeljen, pa bi globalno pravilo zahvatilo i buduće pagere koji možda žele
   drugi izgled. */
.table-pager .pagination {
    gap: 0.25rem;
    flex-wrap: wrap;

    /* BS .page-link:focus lijepi plavi prsten (--bs-pagination-focus-box-shadow) i mijenja
       pozadinu. Klik na gumb ostavlja :focus, pa prsten stoji i nakon sto je stranica vec
       promijenjena. Gasi se ovdje, preko BS CSS varijabli (isti pristup kao .btn-brand),
       a ne override-om pravila. Fokus mise ostaje bez prstena; tipkovnica ga dobiva natrag
       kroz :focus-visible nize. */
    --bs-pagination-focus-box-shadow: none;
    --bs-pagination-focus-bg: var(--surface-variant);
    --bs-pagination-focus-color: var(--text-primary);
}

.table-pager .page-item .page-link {
    min-width: 2.25rem;      /* kvadratni target i za jednoznamenkaste brojeve */
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.5rem;
    border: 1px solid var(--outline-variant);
    border-radius: 0.5rem;   /* gumbi su odvojeni (gap), pa svaki nosi puni radius */
    background-color: var(--surface-card);
    color: var(--text-2);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    line-height: 1;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.table-pager .page-item .page-link:hover {
    background-color: var(--surface-variant);
    border-color: var(--outline);
    color: var(--text-primary);
}

.table-pager .page-item .page-link:focus-visible {
    outline: none;
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--brand-primary-rgb), 0.25);
}

.table-pager .page-item.active .page-link {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
    color: var(--text-on-brand);
}

/* Onemoguceni gumb ostaje vidljiv, ali bez obruba i bez hover odziva — ne smije
   izgledati kao da se na njega moze kliknuti. */
.table-pager .page-item.disabled .page-link {
    background-color: transparent;
    border-color: transparent;
    color: var(--text-4);
    opacity: 1;              /* BS spusta na 0.5; boja vec nosi "neaktivno" */
}

/* End of dashboard.css */

