/* anPOS — Poslovanje: dodatni stil nad Bootstrap 5 */
:root {
    --anpos-primary: #2563eb;
    --anpos-accent:  #7c3aed;
}

.guest-body {
    min-height: 100vh;
    background: radial-gradient(1200px 600px at 50% -10%, #e2e8f0, #f8fafc);
}
[data-bs-theme="dark"] .guest-body {
    background: radial-gradient(1200px 600px at 50% -10%, #1e293b, #0f172a);
}

/* Glava se prilagodi temi (prej fiksen barvni gradient) */
.app-navbar {
    background: var(--bs-body-bg);
    /* Boljši kontrast menijskih povezav (privzeto je BS 0.65) */
    --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .82);
    --bs-navbar-hover-color: var(--anpos-primary);
    --bs-navbar-active-color: var(--anpos-primary);
}
.app-navbar .nav-link.active,
.app-navbar .nav-link:focus { font-weight: 600; }
[data-bs-theme="dark"] .app-navbar {
    --bs-navbar-hover-color: #93c5fd;
    --bs-navbar-active-color: #93c5fd;
}

/* Logotip v glavi/prijavi — menjava glede na temo (Bootstrap data-bs-theme) */
.anpos-logo { width: auto; display: block; }
.anpos-logo--dark { display: none; }
[data-bs-theme="dark"] .anpos-logo--light { display: none; }
[data-bs-theme="dark"] .anpos-logo--dark { display: block; }

.brand-mark {
    display: inline-grid; place-items: center;
    width: 28px; height: 28px; border-radius: 8px;
    font-weight: 800; color: #fff;
    background: linear-gradient(135deg, var(--anpos-primary), var(--anpos-accent));
}
.brand-mark--lg { width: 54px; height: 54px; font-size: 1.6rem; border-radius: 14px; }

.module-card {
    transition: transform .12s ease, box-shadow .12s ease;
}
a:hover > .module-card {
    transform: translateY(-3px);
    box-shadow: 0 .75rem 1.75rem rgba(37, 99, 235, .18) !important;
}
.module-card--locked { opacity: .9; background: #fbfcfe; }

.module-icon {
    flex: 0 0 auto;
    width: 48px; height: 48px; border-radius: 12px;
    display: grid; place-items: center;
    font-size: 1.4rem; color: var(--anpos-primary);
    background: #eef2ff;
}
.module-icon--muted { color: #94a3b8; background: #f1f5f9; }

/* Temni način — popravki trdo kodiranih svetlih barv */
[data-bs-theme="dark"] .module-card--locked { background: var(--bs-tertiary-bg); }
[data-bs-theme="dark"] .module-icon { color: #93c5fd; background: rgba(37, 99, 235, .20); }
[data-bs-theme="dark"] .module-icon--muted { color: #94a3b8; background: rgba(148, 163, 184, .16); }

/* Mobilni glavni meni (offcanvas s strani): ožji, poudarjen panel,
   ozadje zatemnjeno in zamegljeno. Na ≥lg se vrne v običajen navbar. */
#mainNav.offcanvas-lg { --bs-offcanvas-width: 300px; }
@media (max-width: 991.98px) {
    #mainNav.offcanvas-lg.offcanvas-end { box-shadow: -0.5rem 0 2rem rgba(15, 23, 42, .25); }
    #mainNav .navbar-nav .nav-link { padding-top: .55rem; padding-bottom: .55rem; }
}
.offcanvas-backdrop.show {
    opacity: 1;
    background: rgba(15, 23, 42, .45);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

/* Koledarček (vanillajs-datepicker): nad modali/meniji + uskladitev s temo.
   Knjižnica ima v glavi (mesec/leto, puščici) in nogi (Danes/Počisti) trdo
   kodirane svetle gumbe — prekrijemo jih z Bootstrap spremenljivkami teme. */
.datepicker { z-index: 1090; }
.datepicker-picker {
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    border: 1px solid var(--bs-border-color);
    box-shadow: 0 .5rem 1.5rem rgba(15, 23, 42, .25);
}
.datepicker-header .datepicker-controls .btn,
.datepicker-footer .datepicker-controls .btn {
    background: var(--bs-body-bg);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}
.datepicker-header .datepicker-controls .btn:hover,
.datepicker-footer .datepicker-controls .btn:hover {
    background: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
}
.datepicker-header .datepicker-controls .btn:disabled,
.datepicker-footer .datepicker-controls .btn:disabled {
    background: var(--bs-body-bg);
    color: var(--bs-secondary-color);
    opacity: .55;
}
.datepicker-footer { background: var(--bs-body-bg); }
.datepicker .days-of-week .dow { color: var(--bs-secondary-color); }
.datepicker-cell.focused:not(.selected),
.datepicker-cell:not(.disabled):hover { background: var(--bs-tertiary-bg); }
.datepicker-cell.selected, .datepicker-cell.selected:hover { background: var(--anpos-primary); color: #fff; }
.datepicker-cell.today:not(.selected) { background: rgba(37, 99, 235, .15); }
.datepicker-cell.prev, .datepicker-cell.next { color: var(--bs-secondary-color); opacity: .6; }

/* Filtrirne vrstice (materialno ipd.): ozko polje za datum (širina kot
   dd.mm.llll) in širše iskalno polje. Razred .flt-date se prek className
   prenese tudi na vidno polje vanillajs-datepickerja. */
.flt-date { max-width: 8.5rem; }
@media (min-width: 768px) { .flt-search { min-width: 18rem; } }

/* Temni način: glave/noge tabel (.table-light) na temni kartici niso več svetla
   vrstica, ampak potemnijo — poenoteno za vse module (delovni/servisni nalogi,
   prejemnice, izdajnice, šifranti …). En vir resnice namesto popravkov po pogledih. */
[data-bs-theme="dark"] .table-light {
    --bs-table-bg: var(--bs-tertiary-bg);
    --bs-table-color: var(--bs-body-color);
    --bs-table-border-color: var(--bs-border-color);
}
