﻿/**
 * Učitati ZADNJI u <head> (poslije teme) — osigurava vidljive ikone u footer toolbaru.
 * Samo gumbi u traci (toggle), NE padajući izbornik — tamo boje zadaje footer-theme-bar.
 */

/* FAB „Uputstvo” (fa-question) — iznad footera (footer-theme-bar: z-index 10050) */
a.btn-uputstvo-fab,
a.btn-viber-help-fab {
    z-index: 10060 !important;
}

/* Modali i dropdowni uvijek IZNAD footera (footer-theme-bar: 10050) */
.modal-backdrop { z-index: 10100 !important; }
.modal          { z-index: 10200 !important; }
.ui-autocomplete,
.datepicker.dropdown-menu,
.bootstrap-select.open > .dropdown-menu,
.bootstrap-select .dropdown-menu.open,
.select2-dropdown,
.select2-container--open .select2-dropdown { z-index: 10300 !important; }

footer#appFooterToolbar.itnr-footer-app .itnr-footer-app__tools #bottomMenuControls.itnr-footer-nav,
footer#appFooterToolbar.itnr-footer-app #bottomMenuControls.itnr-footer-nav {
    visibility: visible !important;
    opacity: 1 !important;
    display: inline-flex !important;
}

footer#appFooterToolbar.itnr-footer-app .itnr-footer-app__tools #bottomMenuControls.itnr-footer-nav > li.navbar-link > a.dropdown-toggle,
footer#appFooterToolbar.itnr-footer-app #bottomMenuControls.itnr-footer-nav > li.navbar-link > a.dropdown-toggle {
    color: #f8fafc !important;
    background: rgba(15, 23, 42, 0.92) !important;
    border: 1px solid rgba(255, 255, 255, 0.45) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

footer#appFooterToolbar.itnr-footer-app #bottomMenuControls.itnr-footer-nav > li.navbar-link > a.dropdown-toggle,
footer#appFooterToolbar.itnr-footer-app #bottomMenuControls.itnr-footer-nav > li.navbar-link > a.dropdown-toggle .itnr-footer-tool-btn__ico,
footer#appFooterToolbar.itnr-footer-app #bottomMenuControls.itnr-footer-nav > li.navbar-link > a.dropdown-toggle .itnr-footer-tool-btn__ico i,
footer#appFooterToolbar.itnr-footer-app #bottomMenuControls.itnr-footer-nav > li.navbar-link > a.dropdown-toggle .caret {
    color: #f8fafc !important;
    -webkit-text-fill-color: #f8fafc !important;
    opacity: 1 !important;
}

footer#appFooterToolbar.itnr-footer-app #bottomMenuControls.itnr-footer-nav > li.navbar-link > a.dropdown-toggle .fa,
footer#appFooterToolbar.itnr-footer-app #bottomMenuControls.itnr-footer-nav > li.navbar-link > a.dropdown-toggle .fas,
footer#appFooterToolbar.itnr-footer-app #bottomMenuControls.itnr-footer-nav > li.navbar-link > a.dropdown-toggle .fa::before,
footer#appFooterToolbar.itnr-footer-app #bottomMenuControls.itnr-footer-nav > li.navbar-link > a.dropdown-toggle .fas::before {
    color: #f8fafc !important;
    -webkit-text-fill-color: #f8fafc !important;
    opacity: 1 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35) !important;
}

/*
 * SweetAlert 2: gumbi imaju klase swal-button + btn.controls (iz teme).
 * Sukob: bijela/svijetla pozadina iz .btn.controls i bijeli tekst iz .swal-button → nevidljivo do hovera.
 * Osiguraj tamni tekst na svijetloj podlozi u tijelu, i čitljive gumbove u podnožju (poslije teme).
 */
.swal-modal {
    background-color: #ffffff !important;
    color: #0f172a !important;
}

.swal-modal .swal-title {
    color: rgba(15, 23, 42, 0.92) !important;
}

.swal-modal .swal-text,
.swal-modal .swal-text *,
.swal-modal .swal-content,
.swal-modal .swal-content * {
    color: #1e293b !important;
    -webkit-text-fill-color: #1e293b !important;
}

.swal-modal .swal-text a,
.swal-modal .swal-content a {
    color: #2563eb !important;
    -webkit-text-fill-color: #2563eb !important;
}

.swal-modal .swal-footer .swal-button.swal-button--confirm.btn.controls {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: linear-gradient(180deg, #38bdf8 0%, #0ea5e9 100%) !important;
    background-color: #0ea5e9 !important;
    border: 1px solid rgba(14, 165, 233, 0.55) !important;
    text-shadow: none !important;
}

.swal-modal .swal-footer .swal-button.swal-button--confirm.btn.controls:hover:not([disabled]),
.swal-modal .swal-footer .swal-button.swal-button--confirm.btn.controls:focus:not([disabled]) {
    color: #ffffff !important;
    background: linear-gradient(180deg, #7dd3fc 0%, #38bdf8 100%) !important;
}

.swal-modal .swal-footer .swal-button.swal-button--danger.btn.controls,
.swal-modal .swal-footer .swal-button--danger.btn.controls {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: linear-gradient(180deg, #f87171 0%, #dc2626 100%) !important;
    background-color: #dc2626 !important;
    border: 1px solid rgba(220, 38, 38, 0.6) !important;
}

.swal-modal .swal-footer .swal-button.swal-button--cancel.btn.controls {
    color: #374151 !important;
    -webkit-text-fill-color: #374151 !important;
    background: linear-gradient(180deg, #f9fafb 0%, #e5e7eb 100%) !important;
    background-color: #f3f4f6 !important;
    border: 1px solid #d1d5db !important;
}

.swal-modal .swal-footer .swal-button.swal-button--cancel.btn.controls:hover:not([disabled]) {
    color: #111827 !important;
    background: #e5e7eb !important;
}

/*
 * Logo u lijevom izborniku — učitava se POSLIJE teme (nema @import cache problema).
 * Teme koje @importaju Base.css često zadrže stari keš uvezenog fajla; ovo osigurava vidljive promjene.
 */
#mainLeftContainer #Logo {
    max-height: 44px !important;
    max-width: 100% !important;
}

#mainLeftContainer img#Logo.itnr-nav-logo-img,
#mainLeftContainer img#Logo {
    /*max-height: 30px !important;*/
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: scale(1);
    transform-origin: center center;
}

/*
 * Validacija — posljednji CSS u <head> (poslije DevExtreme / tema).
 * SpinTable: DanijelDataTable.Validate() stavlja .invalidtr na <tr>; zebra u Modern Slate (#MainContent .SpinTable … nth-child) ima
 * background !important i uništava staru blagu crvenu iz SpinTable.css — ovamo eksplicitno nadjačavamo.
 */
@keyframes itnr-invalid-glow {
    0%,
    100% {
        box-shadow:
            0 0 0 1px rgba(220, 38, 38, 0.35),
            0 0 10px rgba(220, 38, 38, 0.14);
    }
    50% {
        box-shadow:
            0 0 0 2px rgba(220, 38, 38, 0.5),
            0 0 18px rgba(220, 38, 38, 0.26);
    }
}

@keyframes itnr-invalid-inset {
    0%,
    100% {
        box-shadow: inset 0 0 0 2px rgba(220, 38, 38, 0.75), 0 0 8px rgba(220, 38, 38, 0.12);
    }
    50% {
        box-shadow: inset 0 0 0 2px rgba(239, 68, 68, 0.95), 0 0 14px rgba(220, 38, 38, 0.22);
    }
}

body#MainContent .SpinTable tbody tr.invalidtr > td,
body#MainContent .SpinTable.evenoddcoloring tbody tr.invalidtr > td {
    background: linear-gradient(180deg, rgba(254, 226, 226, 0.97) 0%, rgba(254, 202, 202, 0.72) 48%, rgba(252, 165, 165, 0.55) 100%) !important;
}

body#MainContent .SpinTable tbody tr.invalidtr:hover > td {
    background: linear-gradient(180deg, rgba(252, 165, 165, 0.85) 0%, rgba(248, 113, 113, 0.45) 100%) !important;
}

body#MainContent .SpinTable tbody tr.invalidtr > td:first-child {
    box-shadow: inset 4px 0 0 #dc2626 !important;
}

body#MainContent .SpinTable tbody tr.invalidtr input[type="text"],
body#MainContent .SpinTable tbody tr.invalidtr input[type="number"],
body#MainContent .SpinTable tbody tr.invalidtr input[type="search"],
body#MainContent .SpinTable tbody tr.invalidtr select,
body#MainContent .SpinTable tbody tr.invalidtr textarea {
    border-color: #dc2626 !important;
    border-width: 2px !important;
    background: #fff5f5 !important;
    animation: itnr-invalid-glow 2.2s ease-in-out infinite !important;
}

body#MainContent .SpinTable tbody tr.invalidtr > td > .input-group > input.tablecontrol,
body#MainContent .SpinTable tbody tr.invalidtr > td > .input-group > .form-control.tablecontrol {
    animation: itnr-invalid-inset 2.2s ease-in-out infinite !important;
    background: #fff5f5 !important;
}

body#MainContent .SpinTable tbody tr.invalidtr > td > .bootstrap-select > .dropdown-toggle {
    border-color: #dc2626 !important;
    border-width: 2px !important;
    background: linear-gradient(180deg, #fef2f2 0%, #ffffff 55%) !important;
    animation: itnr-invalid-glow 2.2s ease-in-out infinite !important;
}

@media (prefers-reduced-motion: reduce) {
    body#MainContent .SpinTable tbody tr.invalidtr input[type="text"],
    body#MainContent .SpinTable tbody tr.invalidtr input[type="number"],
    body#MainContent .SpinTable tbody tr.invalidtr input[type="search"],
    body#MainContent .SpinTable tbody tr.invalidtr select,
    body#MainContent .SpinTable tbody tr.invalidtr textarea,
    body#MainContent .SpinTable tbody tr.invalidtr > td > .input-group > input.tablecontrol,
    body#MainContent .SpinTable tbody tr.invalidtr > td > .input-group > .form-control.tablecontrol,
    body#MainContent .SpinTable tbody tr.invalidtr > td > .bootstrap-select > .dropdown-toggle {
        animation: none !important;
    }
}

body#MainContent .mainrightContainer .has-error .control-label,
body#MainContent .mainrightContainer .has-error label.itiFormLabel,
body#MainContent .modal-body .has-error .control-label {
    color: #b91c1c !important;
}

body#MainContent .mainrightContainer .field-validation-error,
body#MainContent .modal-body .field-validation-error,
body#MainContent #SPAcontainer .field-validation-error {
    color: #b91c1c !important;
    font-weight: 600 !important;
}

body#MainContent .mainrightContainer .has-error .form-control,
body#MainContent .mainrightContainer .has-error select,
body#MainContent .mainrightContainer .has-error textarea,
body#MainContent .mainrightContainer input.form-control.input-validation-error,
body#MainContent .mainrightContainer select.form-control.input-validation-error,
body#MainContent .mainrightContainer textarea.form-control.input-validation-error,
body#MainContent .mainrightContainer select.input-validation-error:not(.form-control),
body#MainContent .mainrightContainer textarea.input-validation-error:not(.form-control),
body#MainContent #SPAcontainer input.form-control.input-validation-error,
body#MainContent #SPAcontainer select.input-validation-error,
body#MainContent #SPAcontainer textarea.input-validation-error,
body#MainContent .modal-body .has-error .form-control,
body#MainContent .modal-body input.form-control.input-validation-error,
body#MainContent .modal-body select.input-validation-error,
body#MainContent .modal-body textarea.input-validation-error {
    border-color: #dc2626 !important;
    border-width: 2px !important;
    background: linear-gradient(180deg, #fef2f2 0%, #ffffff 52%) !important;
    animation: itnr-invalid-glow 2.2s ease-in-out infinite !important;
}

body#MainContent .mainrightContainer .form-control.input-validation-error:focus,
body#MainContent .modal-body .form-control.input-validation-error:focus {
    border-color: #b91c1c !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.32) !important;
    animation: none !important;
}

body#MainContent .mainrightContainer .has-error .bootstrap-select > .dropdown-toggle,
body#MainContent .mainrightContainer .bootstrap-select > .dropdown-toggle.input-validation-error,
body#MainContent .modal-body .has-error .bootstrap-select > .dropdown-toggle,
body#MainContent .modal-body .bootstrap-select > .dropdown-toggle.input-validation-error {
    border-color: #dc2626 !important;
    border-width: 2px !important;
    background: linear-gradient(180deg, #fef2f2 0%, #ffffff 52%) !important;
    animation: itnr-invalid-glow 2.2s ease-in-out infinite !important;
}

@media (prefers-reduced-motion: reduce) {
    body#MainContent .mainrightContainer .has-error .form-control,
    body#MainContent .mainrightContainer .has-error select,
    body#MainContent .mainrightContainer .has-error textarea,
    body#MainContent .mainrightContainer input.form-control.input-validation-error,
    body#MainContent .mainrightContainer select.input-validation-error,
    body#MainContent .mainrightContainer textarea.input-validation-error,
    body#MainContent #SPAcontainer input.form-control.input-validation-error,
    body#MainContent #SPAcontainer select.input-validation-error,
    body#MainContent #SPAcontainer textarea.input-validation-error,
    body#MainContent .modal-body .has-error .form-control,
    body#MainContent .modal-body input.form-control.input-validation-error,
    body#MainContent .modal-body select.input-validation-error,
    body#MainContent .modal-body textarea.input-validation-error,
    body#MainContent .mainrightContainer .has-error .bootstrap-select > .dropdown-toggle,
    body#MainContent .mainrightContainer .bootstrap-select > .dropdown-toggle.input-validation-error,
    body#MainContent .modal-body .has-error .bootstrap-select > .dropdown-toggle,
    body#MainContent .modal-body .bootstrap-select > .dropdown-toggle.input-validation-error {
        animation: none !important;
    }
}

/*
 * Plava tema 5 — kasni sloj (poslije itnr-* CSS-a).
 * itnr-app-topbar / sidebar-compact-float koriste staklene rgba i color-mix koji prigušuju login paletu.
 * Aktivno samo kad je body.theme-plava5 (vidi _Layout.cshtml + SetTheme).
 */
body.theme-plava5 .itnr-app-topbar.navbar-fixed-top,
body.theme-plava5 .navbar.navbar-fixed-top.itnr-app-topbar {
    background: linear-gradient(180deg, #101d2e 0%, #122234 52%, #152539 100%) !important;
    border-bottom: 1px solid rgba(124, 135, 148, 0.55) !important;
    box-shadow: 0 2px 10px rgba(15, 52, 96, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

body.theme-plava5 .itnr-app-topbar .itnr-topbar-btn,
body.theme-plava5 .itnr-app-topbar .itnr-topbar-btn.itnr-topbar-btn--theme,
body.theme-plava5 .itnr-app-topbar .itnr-topbar-btn.itnr-topbar-btn--help {
    background: rgba(255, 255, 255, 0.16) !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    color: #ffffff !important;
}

body.theme-plava5 .itnr-app-topbar .itnr-topbar-btn:hover,
body.theme-plava5 .itnr-app-topbar .itnr-topbar-btn:focus-visible {
    background: rgba(255, 255, 255, 0.28) !important;
    border-color: rgba(255, 255, 255, 0.48) !important;
}

body.theme-plava5 .navbar-link.user:not(.search):not(.searchContainer),
body.theme-plava5 .dropdown-toggle.navbar-link.user:not(.search):not(.searchContainer),
body.theme-plava5 .sidebar-navbar-collapse {
    background: linear-gradient(180deg, #336396 0%, #2e5c8c 38%, #2e5c8c 62%, #285478 100%) !important;
}

body.theme-plava5 .navbar-link.user:not(.search):not(.searchContainer):hover,
body.theme-plava5 .dropdown-toggle.navbar-link.user:not(.search):not(.searchContainer):hover,
body.theme-plava5 .dropdown-toggle.navbar-link.user:not(.search):not(.searchContainer)[aria-expanded="true"] {
    background: linear-gradient(180deg, #3978a8 0%, #3570a0 38%, #3570a0 62%, #306892 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
}

body.theme-plava5 #mainLeftContainer .dropdown-menu.left.level2,
body.theme-plava5 #mainLeftContainer .dropdown-menu.left.level2 ul.dropdown-menu.left {
    background: linear-gradient(180deg, #f6f6f6 0%, #f2f2f2 100%) !important;
    border-color: #cccccc !important;
}

body.theme-plava5 #mainLeftContainer .itnr-sidebar-float-panel,
body.theme-plava5 #mainLeftContainer .dropdown-menu.left.level2 > li.dropdown > ul.dropdown-menu.left,
body.theme-plava5 .itnr-sidebar-compact #itnr-l1-float-panel .dropdown-menu.left.level2,
body.theme-plava5 .itnr-sidebar-compact #itnr-l1-float-panel .dropdown-menu.left.level2 > li.dropdown > ul.dropdown-menu.left {
    background: linear-gradient(180deg, #f6f6f6 0%, #f2f2f2 100%) !important;
    background-color: #f4f4f4 !important;
    border-color: #cccccc !important;
}

body.theme-plava5 .itnr-sidebar-compact #itnr-l1-float-panel .dropdown-menu.left.level2 > li:not(.dropdown) > a:not(.navbar-link):hover,
body.theme-plava5 .itnr-sidebar-compact #itnr-l1-float-panel .dropdown-menu.left.level2 > li:not(.dropdown) > a:not(.navbar-link):focus,
body.theme-plava5 .itnr-sidebar-compact #itnr-l1-float-panel .dropdown-menu.left.level2 > li.dropdown > ul.dropdown-menu.left > li > a:hover,
body.theme-plava5 .itnr-sidebar-compact #itnr-l1-float-panel .dropdown-menu.left.level2 > li.dropdown > ul.dropdown-menu.left > li > a:focus {
    background-color: #ededed !important;
    color: #15263a !important;
}

body.theme-plava5 #menuSearch {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(0, 0, 0, 0.28) !important;
}

body.theme-plava5 footer.itnr-footer-app {
    background: linear-gradient(180deg, #0e2847 0%, #0f3460 100%) !important;
    border-top: 1px solid rgba(124, 135, 148, 0.45) !important;
}

body.theme-plava5 .FlyByAlert {
    background: linear-gradient(180deg, #f6f6f6 0%, #ffffff 100%) !important;
    border: 1px solid #cccccc !important;
    box-shadow: 0 4px 18px rgba(15, 52, 96, 0.2), 0 1.5px 5px rgba(0, 0, 0, 0.1) !important;
}

body.theme-plava5 .FlyByAlert.FlyByAlert--info { border-left-color: #15263a !important; }
body.theme-plava5 .FlyByAlert.FlyByAlert--info .fba-icon,
body.theme-plava5 .FlyByAlert.FlyByAlert--info .fba-progress-bar { color: #15263a !important; background: #15263a !important; }

body.theme-plava5 .FlyByAlert .fba-title { color: #3a3a3a !important; }
body.theme-plava5 .FlyByAlert .fba-body { color: #5a5a5a !important; }

/* Logo container — nadjačava LayoutCSS / Base, ista plava kao top navbar */
body.theme-plava5 body#MainContent #mainLeftContainer li.itnr-nav-logo-item > a.itnr-nav-logo-link,
body.theme-plava5 body#MainContent #mainLeftContainer li.itnr-nav-logo-item > a.itnr-nav-logo-link.header.search,
body.theme-plava5 body#MainContent #mainLeftContainer a.dropdown-toggle.navbar-link.header.search.itnr-nav-logo-link {
    background: linear-gradient(180deg, #101d2e 0%, #122234 52%, #152539 100%) !important;
    border: 1px solid rgba(124, 135, 148, 0.55) !important;
    border-radius: 8px !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 1px 4px rgba(15, 52, 96, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

body.theme-plava5 body#MainContent #mainLeftContainer li.itnr-nav-logo-item > a.itnr-nav-logo-link:hover,
body.theme-plava5 body#MainContent #mainLeftContainer li.itnr-nav-logo-item > a.itnr-nav-logo-link:focus,
body.theme-plava5 body#MainContent #mainLeftContainer a.dropdown-toggle.navbar-link.header.search.itnr-nav-logo-link:hover,
body.theme-plava5 body#MainContent #mainLeftContainer a.dropdown-toggle.navbar-link.header.search.itnr-nav-logo-link:focus {
    background: linear-gradient(180deg, #101d2e 0%, #122234 52%, #152539 100%) !important;
    filter: brightness(1.05);
}

body.theme-plava5 body#MainContent #mainLeftContainer img#Logo.itnr-nav-logo-img,
body.theme-plava5 body#MainContent #mainLeftContainer img#Logo {
    filter: brightness(1.05) contrast(1.02) !important;
}

