/* ==========================================================================
   Ainesa — vizualni sloj (theme)
   Učitava se NAKON css/style.css. Mijenja isključivo izgled:
   boje iz brand palete, iOS zaobljenja, sjene, tipografske težine.
   Ne dira nikakvu funkcionalnost, klase, ni strukturu HTML-a.

   <link rel="stylesheet" href="{{ url_for('static', filename='css/ainesa-theme.css', v=STATIC_VERSION) }}" />
   ========================================================================== */

:root {
  /* --- Brand paleta (iz Ainesa color schema) --- */
  --ai-navy-900: #0B2435;
  --ai-navy-800: #0B3853;
  --ai-navy-700: #114D6A;
  --ai-navy-600: #364965;
  --ai-steel:    #7A94AC;
  --ai-sky-500:  #44ACE1;
  --ai-sky-200:  #A7D7EE;
  --ai-sky-100:  #C6DEF3;
  --ai-teal-500: #69B39D;
  --ai-teal-900: #084742;
  --ai-coral:    #F0A78A;
  --ai-red:      #E76068;
  --ai-cream:    #FEF1EB;

  /* --- Mapiranje na postojeće tokene aplikacije --- */
  --brand-900: var(--ai-navy-900);
  --brand-700: var(--ai-navy-800);
  --brand-600: var(--ai-navy-700);
  --brand-500: var(--ai-sky-500);
  --brand-400: var(--ai-steel);
  --brand-150: var(--ai-sky-100);
  --brand-100: #EAF3FA;
  --brand-ink: var(--ai-navy-900);

  --accent-500: var(--ai-coral);
  --accent-600: #E28E6E;
  --accent-700: #CC6E52;
  --accent-100: var(--ai-cream);

  --header-bg: rgba(11, 36, 53, 0.04);
  --header-border: rgba(122, 148, 172, 0.22);
  --header-frame: rgba(122, 148, 172, 0.22);
  --brand-shadow: 0 1px 2px rgba(11, 36, 53, .05), 0 8px 24px -8px rgba(11, 36, 53, .16);

  /* --- iOS zaobljenja --- */
  --ios-radius: 18px;
  --ios-radius-sm: 12px;
  --ios-radius-pill: 999px;

  --ai-ease: cubic-bezier(.32, .72, 0, 1);

  /* Bootstrap sistemske boje na paletu */
  --bs-primary: #114D6A;
  --bs-primary-rgb: 17, 77, 106;
  --bs-link-color: #114D6A;
  --bs-link-color-rgb: 17, 77, 106;
  --bs-link-hover-color: #0B2435;
  --bs-border-radius: 12px;
  --bs-border-radius-sm: 10px;
  --bs-border-radius-lg: var(--ios-radius);
  --bs-body-color: #16303F;
}

/* ==========================  Podloga i tipografija  ====================== */

body {
  background-color: #F1F5F9;
  background-image: radial-gradient(1200px 600px at 85% -10%, rgba(68, 172, 225, .10), transparent 60%),
                    radial-gradient(900px 520px at 5% 0%, rgba(105, 179, 157, .08), transparent 60%);
  background-attachment: fixed;
  color: #16303F;
  letter-spacing: -0.005em;
}

h1, h2, h3, h4, h5, h6, .fw-semibold, .fw-bold {
  letter-spacing: -0.015em;
}

a { color: #114D6A; }
a:hover { color: #0B2435; }

::selection { background: rgba(68, 172, 225, .22); }

/* ================================  Navbar  =============================== */

.navbar.sticky-top {
  background-color: rgba(11, 36, 53, .92) !important;
  background-image: linear-gradient(180deg, rgba(17, 77, 106, .55) 0%, rgba(11, 36, 53, 0) 100%);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid rgba(198, 222, 243, .14);
  box-shadow: 0 1px 0 rgba(11, 36, 53, .04), 0 8px 24px -16px rgba(11, 36, 53, .5);
}

.navbar-dark .navbar-nav .nav-link {
  color: rgba(233, 242, 248, .78);
  border-radius: var(--ios-radius-pill);
  padding-inline: .7rem;
  transition: background-color .18s var(--ai-ease), color .18s var(--ai-ease);
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus-visible {
  color: #fff;
  background: rgba(198, 222, 243, .12);
}
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .show > .nav-link {
  color: #fff;
  background: rgba(68, 172, 225, .20);
  box-shadow: inset 0 0 0 1px rgba(167, 215, 238, .28);
}
.navbar-toggler {
  border-radius: var(--ios-radius-sm);
  border-color: rgba(198, 222, 243, .28);
}
.navbar-toggler:focus { box-shadow: 0 0 0 3px rgba(68, 172, 225, .3); }

.nav-case-link {
  border-radius: var(--ios-radius-pill);
  background: rgba(198, 222, 243, .10);
  box-shadow: inset 0 0 0 1px rgba(167, 215, 238, .22);
}
.nav-case-link:hover { background: rgba(198, 222, 243, .18); }
.nav-case-icon { color: var(--ai-sky-200); }
.nav-case-badge { color: #fff; font-weight: 600; }

/* ==============================  Dropdown  ============================== */

.dropdown-menu {
  --bs-dropdown-border-color: rgba(122, 148, 172, .18);
  border-radius: 16px;
  padding: .4rem;
  box-shadow: 0 18px 44px -12px rgba(11, 36, 53, .28), 0 2px 6px rgba(11, 36, 53, .06);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
  background: rgba(255, 255, 255, .96);
}
.dropdown-item {
  border-radius: 11px;
  padding: .5rem .7rem;
  font-weight: 500;
  color: #16303F;
  transition: background-color .14s var(--ai-ease), color .14s var(--ai-ease);
}
.dropdown-item:hover,
.dropdown-item:focus { background: #EAF3FA; color: var(--ai-navy-900); }
.dropdown-item.active,
.dropdown-item:active {
  background: var(--ai-navy-800);
  color: #fff;
}
.dropdown-item.text-danger:hover { background: rgba(231, 96, 104, .12); }
.dropdown-header {
  color: var(--ai-navy-700);
  font-weight: 700;
  letter-spacing: -0.01em;
}
.dropdown-divider { border-color: rgba(122, 148, 172, .18); }

/* ===============================  Gumbi  ================================ */
/* iOS: pilula, bez oštrih rubova, mekani pritisak */

.btn {
  --bs-btn-border-radius: var(--ios-radius-pill);
  border-radius: var(--ios-radius-pill) !important;
  font-weight: 600;
  letter-spacing: -0.01em;
  padding-inline: 1.05rem;
  transition: transform .12s var(--ai-ease), background-color .18s var(--ai-ease),
              border-color .18s var(--ai-ease), box-shadow .18s var(--ai-ease), color .18s var(--ai-ease);
}
.btn:active { transform: scale(.97); }
.btn:focus-visible { box-shadow: 0 0 0 3.5px rgba(68, 172, 225, .32) !important; outline: 0; }
.btn-sm { padding-inline: .8rem; }
.btn-lg { padding-inline: 1.4rem; }
.btn-close { border-radius: var(--ios-radius-pill); }

/* Puni primarni gumb — navy */
.btn-primary {
  --bs-btn-bg: #114D6A;
  --bs-btn-border-color: #114D6A;
  --bs-btn-hover-bg: #0B3853;
  --bs-btn-hover-border-color: #0B3853;
  --bs-btn-active-bg: #0B2435;
  --bs-btn-active-border-color: #0B2435;
  --bs-btn-disabled-bg: #7A94AC;
  --bs-btn-disabled-border-color: #7A94AC;
  box-shadow: 0 1px 2px rgba(11, 36, 53, .18), 0 6px 16px -8px rgba(11, 36, 53, .5);
}
.btn-primary:hover { box-shadow: 0 2px 4px rgba(11, 36, 53, .2), 0 10px 22px -10px rgba(11, 36, 53, .55); }

/* CTA — coral iz palete */
.btn-brand,
.btn-advanced-search.btn-primary,
.cta-btn.btn-light-brand,
#ask-ainesa-btn.btn-light-brand {
  --bs-btn-bg: var(--ai-coral);
  --bs-btn-border-color: var(--ai-coral);
  --bs-btn-color: #5A2B18;
  --bs-btn-hover-bg: #E9977A;
  --bs-btn-hover-border-color: #E9977A;
  --bs-btn-hover-color: #4A2312;
  --bs-btn-active-bg: #DE8A6C;
  --bs-btn-active-border-color: #DE8A6C;
  --bs-btn-active-color: #4A2312;
  background: var(--ai-coral);
  border-color: var(--ai-coral);
  color: #5A2B18;
  border-width: 1px;
  border-radius: var(--ios-radius-pill) !important;
  font-weight: 700;
  box-shadow: 0 1px 2px rgba(204, 110, 82, .25), 0 8px 20px -10px rgba(204, 110, 82, .6);
}
.btn-brand:hover,
.btn-advanced-search.btn-primary:hover,
.cta-btn.btn-light-brand:hover,
#ask-ainesa-btn.btn-light-brand:hover {
  background: #E9977A;
  border-color: #E9977A;
  color: #4A2312;
}
.btn-advanced-search.btn-primary:focus { box-shadow: 0 0 0 3.5px rgba(240, 167, 138, .38); }

/* Modul-specifične stranice (DKOM, ESLJP, SEU, AZTN) zadržavaju svoj
   vlastiti ton iz inline <style> bloka — tema im ne prepisuje CTA boju,
   samo zaobljenje i ponašanje pritiska. */
body.dkom-page .cta-btn.btn-light-brand,
body.esljp-page .cta-btn.btn-light-brand,
body.seu-page .cta-btn.btn-light-brand,
body.aztn-page .cta-btn.btn-light-brand,
body.dkom-page #ask-ainesa-btn.btn-light-brand,
body.esljp-page #ask-ainesa-btn.btn-light-brand,
body.seu-page #ask-ainesa-btn.btn-light-brand,
body.aztn-page #ask-ainesa-btn.btn-light-brand {
  background: var(--bs-btn-bg, #fff);
  border-color: var(--bs-btn-border-color);
  color: var(--bs-btn-color);
  box-shadow: 0 1px 2px rgba(11, 36, 53, .06);
}

/* Sekundarni outline u brand tonu */
.btn-outline-brand {
  --bs-btn-color: #114D6A;
  --bs-btn-border-color: rgba(122, 148, 172, .5);
  --bs-btn-bg: #fff;
  --bs-btn-hover-color: #0B2435;
  --bs-btn-hover-bg: #EAF3FA;
  --bs-btn-hover-border-color: var(--ai-sky-500);
  --bs-btn-active-color: #0B2435;
  --bs-btn-active-bg: var(--ai-sky-100);
  --bs-btn-active-border-color: var(--ai-sky-500);
}
.btn-outline-primary {
  --bs-btn-color: #114D6A;
  --bs-btn-border-color: rgba(17, 77, 106, .45);
  --bs-btn-hover-bg: #114D6A;
  --bs-btn-hover-border-color: #114D6A;
  --bs-btn-active-bg: #0B2435;
  --bs-btn-active-border-color: #0B2435;
}
.btn-outline-secondary {
  --bs-btn-color: #4A5F70;
  --bs-btn-border-color: rgba(122, 148, 172, .5);
  --bs-btn-hover-color: #0B2435;
  --bs-btn-hover-bg: #EDF2F7;
  --bs-btn-hover-border-color: var(--ai-steel);
  --bs-btn-active-color: #0B2435;
  --bs-btn-active-bg: #E3EAF1;
  --bs-btn-active-border-color: var(--ai-steel);
}
.btn-secondary {
  --bs-btn-bg: #E7EEF4;
  --bs-btn-border-color: #E7EEF4;
  --bs-btn-color: #16303F;
  --bs-btn-hover-bg: #DAE5EE;
  --bs-btn-hover-border-color: #DAE5EE;
  --bs-btn-hover-color: #0B2435;
  --bs-btn-active-bg: #CFDDE9;
  --bs-btn-active-border-color: #CFDDE9;
  --bs-btn-active-color: #0B2435;
}
.btn-success {
  --bs-btn-bg: var(--ai-teal-500);
  --bs-btn-border-color: var(--ai-teal-500);
  --bs-btn-hover-bg: #5AA48E;
  --bs-btn-hover-border-color: #5AA48E;
  --bs-btn-active-bg: #4E9581;
  --bs-btn-active-border-color: #4E9581;
}
.btn-outline-success {
  --bs-btn-color: var(--ai-teal-900);
  --bs-btn-border-color: rgba(105, 179, 157, .6);
  --bs-btn-hover-bg: var(--ai-teal-500);
  --bs-btn-hover-border-color: var(--ai-teal-500);
}
.btn-danger {
  --bs-btn-bg: var(--ai-red);
  --bs-btn-border-color: var(--ai-red);
  --bs-btn-hover-bg: #DC5158;
  --bs-btn-hover-border-color: #DC5158;
  --bs-btn-active-bg: #CE474E;
  --bs-btn-active-border-color: #CE474E;
}
.btn-outline-danger {
  --bs-btn-color: #B03B42;
  --bs-btn-border-color: rgba(231, 96, 104, .55);
  --bs-btn-hover-bg: var(--ai-red);
  --bs-btn-hover-border-color: var(--ai-red);
}
.btn-light {
  --bs-btn-bg: #fff;
  --bs-btn-border-color: rgba(122, 148, 172, .28);
  --bs-btn-color: #16303F;
  --bs-btn-hover-bg: #F1F6FA;
  --bs-btn-hover-border-color: rgba(122, 148, 172, .45);
}
.btn-link { text-decoration: none; font-weight: 600; color: #114D6A; }
.btn-link:hover { color: #0B2435; text-decoration: underline; }

/* Ikonski gumbi ostaju okrugli */
.rc-icon-btn,
.voice-mic-btn {
  border-radius: var(--ios-radius-pill) !important;
  border: 1px solid rgba(122, 148, 172, .35);
  background: #fff;
  color: #114D6A;
}
.rc-icon-btn:hover,
.voice-mic-btn:hover {
  background: #EAF3FA;
  border-color: var(--ai-sky-500);
  color: var(--ai-navy-800);
}

/* Gumbi unutar tamnog headera */
.header-brand .btn-outline-brand,
#search-section .search-toggle {
  color: rgba(255, 255, 255, .88) !important;
  border-color: rgba(198, 222, 243, .32) !important;
  background: rgba(198, 222, 243, .12) !important;
}
.header-brand .btn-outline-brand:hover,
#search-section .search-toggle:hover {
  background: rgba(198, 222, 243, .22) !important;
  border-color: rgba(167, 215, 238, .6) !important;
  color: #fff !important;
}

/* Sudske odluke / DKOM / AZTN imaju SVIJETLI header, pa gornji bijeli "ghost"
   stil ostaje gotovo nevidljiv (npr. gumb "Očisti"). Te stranice override-aju
   samo --bs-btn-* varijable, što ne nadjačava direktne !important deklaracije
   iznad — zato ovdje postavljamo tamnu, kontrastnu varijantu.
   Boje su namjerno identične gumbu "Otvori" (#search-section .search-toggle)
   na istoj stranici, da zaglavlja izgledaju ujednačeno. */
body.court-page .header-brand .btn-outline-brand {
  color: var(--court-700) !important;
  border-color: rgba(54, 73, 101, .25) !important;
  background: rgba(54, 73, 101, .08) !important;
}
body.court-page .header-brand .btn-outline-brand:hover {
  color: var(--court-700) !important;
  background: rgba(54, 73, 101, .15) !important;
}
body.dkom-page .header-brand .btn-outline-brand {
  color: var(--dkom-700) !important;
  border-color: rgba(14, 122, 110, .25) !important;
  background: rgba(14, 122, 110, .08) !important;
}
body.dkom-page .header-brand .btn-outline-brand:hover {
  color: var(--dkom-700) !important;
  background: rgba(14, 122, 110, .15) !important;
}
body.aztn-page .header-brand .btn-outline-brand {
  color: var(--aztn-700) !important;
  border-color: rgba(30, 58, 138, .25) !important;
  background: rgba(30, 58, 138, .08) !important;
}
body.aztn-page .header-brand .btn-outline-brand:hover {
  color: var(--aztn-700) !important;
  background: rgba(30, 58, 138, .15) !important;
}
body.court-page .header-brand .btn-outline-brand,
body.dkom-page .header-brand .btn-outline-brand,
body.aztn-page .header-brand .btn-outline-brand {
  transition: background .15s ease-out, border-color .15s ease-out;
}
body.court-page .header-brand .btn-outline-brand:active,
body.dkom-page .header-brand .btn-outline-brand:active,
body.aztn-page .header-brand .btn-outline-brand:active {
  transform: scale(.98);
}

@media (max-width: 768px) {
  /* Touch target min 38px (gumb "Očisti" u zaglavlju chata na mobitelu) */
  body.court-page .header-brand .btn-outline-brand,
  body.dkom-page .header-brand .btn-outline-brand,
  body.aztn-page .header-brand .btn-outline-brand {
    min-height: 38px;
    padding-left: .7rem !important;
    padding-right: .7rem !important;
  }
}

/* ============================  Kartice / paneli  ======================== */

.card {
  border-radius: var(--ios-radius);
  border: 1px solid rgba(122, 148, 172, .18);
  box-shadow: var(--brand-shadow);
}
.card-header {
  border-bottom: 1px solid rgba(122, 148, 172, .16);
  background: #F7FAFC;
}
.pane {
  border-radius: var(--ios-radius);
  border: 1px solid rgba(122, 148, 172, .16);
  box-shadow: var(--brand-shadow);
  background: #fff;
}
.pane .card-header.header-brand {
  background: linear-gradient(135deg, #114D6A 0%, #0B2435 100%);
  color: rgba(255, 255, 255, .94);
  letter-spacing: -0.01em;
}
.pane .card-header.header-brand.framed { border-color: rgba(198, 222, 243, .12); }
.text-brand-ink { color: rgba(255, 255, 255, .94); }
.card-body .text-brand-ink,
.card-body .fw-semibold.text-brand-ink { color: var(--ai-navy-800) !important; }

.rounded-16, .rounded-16.card { border-radius: var(--ios-radius) !important; }
.rounded-top-16 {
  border-top-left-radius: var(--ios-radius) !important;
  border-top-right-radius: var(--ios-radius) !important;
}

/* Rezultati pretrage */
.search-result-item,
.result-card {
  border-radius: 14px;
  border: 1px solid rgba(122, 148, 172, .2);
  background: #fff;
  transition: box-shadow .18s var(--ai-ease), border-color .18s var(--ai-ease), transform .18s var(--ai-ease);
}
.search-result-item:hover,
.result-card:hover {
  border-color: rgba(68, 172, 225, .45);
  box-shadow: 0 10px 24px -14px rgba(11, 36, 53, .35);
}
.rc-row1 { color: var(--ai-navy-800); }
.rc-row2 .bi, .rc-row3 .bi { color: var(--ai-sky-500); }
.results-empty-state { color: var(--ai-steel); }

/* ================================  Forme  =============================== */

.form-control,
.form-select {
  border-radius: var(--ios-radius-sm);
  border-color: rgba(122, 148, 172, .35);
  background-color: #fff;
  color: #16303F;
  transition: border-color .16s var(--ai-ease), box-shadow .16s var(--ai-ease);
}
.form-control::placeholder { color: #93A7B7; }
.form-control:focus,
.form-select:focus {
  border-color: var(--ai-sky-500);
  box-shadow: 0 0 0 3.5px rgba(68, 172, 225, .18);
}
.form-label { font-weight: 600; color: var(--ai-navy-800); }
.input-group > .form-control:not(:last-child) {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.input-group > .btn:last-child,
.input-group > .form-control:last-child {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: var(--ios-radius-sm) !important;
  border-bottom-right-radius: var(--ios-radius-sm) !important;
}
.input-group > .form-control:first-child {
  border-top-left-radius: var(--ios-radius-sm) !important;
  border-bottom-left-radius: var(--ios-radius-sm) !important;
}
.form-check-input {
  border-color: rgba(122, 148, 172, .55);
}
.form-check-input:checked {
  background-color: var(--ai-sky-500);
  border-color: var(--ai-sky-500);
}
.form-check-input:focus {
  border-color: var(--ai-sky-500);
  box-shadow: 0 0 0 3.5px rgba(68, 172, 225, .2);
}
/* iOS prekidač */
.form-switch .form-check-input {
  height: 1.4rem;
  width: 2.45rem;
  background-color: #D5DFE8;
  border: 0;
}
.form-switch .form-check-input:checked { background-color: var(--ai-teal-500); }

/* Filter akordeon — tonovi iz palete umjesto zasebnih plavo/teal shema */
:root {
  --sem-bg: #E4F1F9;
  --sem-edge: #44ACE1;
  --sem-text: #0B3853;
  --add-bg: #E4F1EE;
  --add-edge: #69B39D;
  --add-text: #084742;
}
.accordion-item { border-color: rgba(122, 148, 172, .18); }
.accordion-button { border-radius: 14px !important; }
.filters-section .accordion-button.highlighted-title,
.filters-section .accordion-button.additional-title {
  border-radius: 14px !important;
}
.accordion-button:not(.collapsed) { color: var(--ai-navy-800); }

/* ==============================  Badgevi  =============================== */

.badge {
  border-radius: var(--ios-radius-pill);
  font-weight: 600;
  letter-spacing: 0;
  padding: .34em .68em;
}
.badge.bg-primary { background-color: var(--ai-navy-700) !important; color: #fff !important; }
.badge.bg-secondary { background-color: var(--ai-steel) !important; color: #fff !important; }
.badge.bg-success { background-color: var(--ai-teal-500) !important; color: #fff !important; }
.badge.bg-danger { background-color: var(--ai-red) !important; color: #fff !important; }
.badge.bg-dark { color: #fff !important; }
.badge.bg-info { background-color: var(--ai-sky-500) !important; color: #fff !important; }
.badge.bg-warning { background-color: var(--ai-coral) !important; color: #5A2B18 !important; }
.badge.bg-light { color: var(--ai-navy-900) !important; }
.doc-count-badge { color: #fff !important; }
.badge.bg-info-subtle { background-color: var(--ai-sky-100) !important; }
.text-info-emphasis { color: var(--ai-navy-800) !important; }

/* ==============================  Nav tabovi  ============================ */

.nav-tabs { border-bottom-color: rgba(122, 148, 172, .22); gap: .25rem; }
.nav-tabs .nav-link {
  border: 0;
  border-radius: var(--ios-radius-pill);
  color: #4A5F70;
  font-weight: 600;
  padding: .45rem 1rem;
}
.nav-tabs .nav-link:hover { background: #EAF3FA; color: var(--ai-navy-800); }
.nav-tabs .nav-link.active {
  background: var(--ai-navy-800);
  color: #fff;
  box-shadow: 0 6px 16px -10px rgba(11, 36, 53, .8);
}
.nav-pills .nav-link { border-radius: var(--ios-radius-pill); font-weight: 600; }
.nav-pills .nav-link.active { background: var(--ai-navy-800); }

/* ==============================  Chat  ================================== */

#chat-messages {
  background: #FBFDFE;
  border-color: rgba(122, 148, 172, .18);
  border-radius: var(--ios-radius);
}
.chat-bubble {
  border-radius: 18px;
  box-shadow: 0 1px 2px rgba(11, 36, 53, .05);
}
.chat-message.ai .chat-bubble {
  background: #fff;
  border: 1px solid rgba(122, 148, 172, .2);
  border-bottom-left-radius: 6px;
  color: #16303F;
}
.chat-message.user .chat-bubble {
  background: var(--ai-sky-100);
  border: 1px solid rgba(68, 172, 225, .28);
  border-bottom-right-radius: 6px;
  color: var(--ai-navy-900);
}
div.chat-icon, div.chat-avatar, span.chat-icon, span.chat-avatar {
  background: linear-gradient(135deg, #114D6A, #0B2435);
  color: #fff;
}
/* Ainesa logo avatar (img) ostaje netaknut — bez pozadine i filtera */
img.chat-avatar, img.chat-icon {
  background: #fff;
  padding: 0;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(122, 148, 172, .28);
}
.chat-message.user .chat-icon,
.chat-message.user .chat-avatar {
  background: var(--ai-sky-500);
  color: #fff;
}

/* ==========================  Alerti i obavijesti  ======================= */

.alert {
  border-radius: 14px;
  border-width: 1px;
  font-weight: 500;
}
.alert-info { background: #EAF4FB; border-color: rgba(68, 172, 225, .3); color: #0B3853; }
.alert-success { background: #E9F4F1; border-color: rgba(105, 179, 157, .35); color: #084742; }
.alert-warning { background: var(--ai-cream); border-color: rgba(240, 167, 138, .5); color: #7A3E24; }
.alert-danger { background: #FCECEC; border-color: rgba(231, 96, 104, .35); color: #8E2F36; }

/* ==============================  Modali  ================================ */

.modal-content {
  border-radius: 22px;
  border: 0;
  box-shadow: 0 32px 80px -20px rgba(11, 36, 53, .45);
}
.modal-header {
  border-bottom: 1px solid rgba(122, 148, 172, .16);
  border-radius: 22px 22px 0 0;
}
.modal-title { font-weight: 700; color: var(--ai-navy-800); letter-spacing: -0.015em; }
.modal-footer { border-top: 1px solid rgba(122, 148, 172, .16); }
.list-group-item-action { border-radius: 12px; font-weight: 500; }
.list-group-item-action:hover { background: #EAF3FA; color: var(--ai-navy-800); }

/* =============================  Tablice  ================================ */

.table > thead th {
  background: #EEF4F9;
  color: var(--ai-navy-800);
  font-weight: 700;
  border-bottom-color: rgba(122, 148, 172, .28);
}
.table > tbody > tr:hover > * { background-color: #F5FAFD; }
.table { --bs-table-border-color: rgba(122, 148, 172, .18); }

/* ===========================  Paginacija  =============================== */

.pagination .page-link {
  color: var(--ai-navy-700);
  border-color: rgba(122, 148, 172, .22);
  border-radius: 10px !important;
  margin-inline: 2px;
  font-weight: 600;
}
.pagination .page-item.active .page-link {
  background-color: var(--ai-navy-800);
  border-color: var(--ai-navy-800);
}
.pagination .page-link:hover { background: #EAF3FA; color: var(--ai-navy-800); }

/* ===========================  Login stranica  =========================== */

/* JEDINI izvor pozadine logina — u style.css je namjerno nema (vidi napomenu
   ondje). Ako se mijenja, mijenja se ovdje. */
body.login-page {
  background: linear-gradient(160deg, #2d98cc 0%, #44ACE1 40%, #5aab9a 72%, #69B39D 100%);
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
}
.login-card {
  border-radius: 26px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 40px 90px -24px rgba(4, 20, 31, .6), 0 4px 12px rgba(4, 20, 31, .18);
}
.login-card .card-body h1 { color: var(--ai-navy-800); font-weight: 700; }
.brand-subtitle { color: rgba(255, 255, 255, .92); }
.footer-note { color: rgba(255, 255, 255, .8); }

/* ==========================  Tooltip / razno  =========================== */

.tooltip-brand, .tooltip {
  --bs-tooltip-bg: var(--ai-navy-900);
  --bs-tooltip-border-radius: 10px;
}
.tooltip-icon-brand { color: var(--ai-sky-500); }
.spinner-border { color: var(--ai-sky-500); }

.ai-disclaimer.disclaimer-pill {
  border-radius: var(--ios-radius-pill);
  background: rgba(198, 222, 243, .14);
  border: 1px solid rgba(198, 222, 243, .22);
}
.ai-disclaimer.disclaimer-pill i { color: var(--ai-coral); }

footer { color: #566B7A !important; }

/* Scrollbar u brand tonu */
* { scrollbar-color: rgba(122, 148, 172, .55) transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: rgba(122, 148, 172, .45);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover { background: rgba(122, 148, 172, .7); background-clip: content-box; }

/* Zastave u izborniku Propisi (flag-icons + dojam vijorenja) */
.menu-flag-wrap {
    position: relative;
    display: inline-flex;
    width: 16px;
    height: 12px;
    margin-right: 8px;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.10);
    overflow: hidden;
    vertical-align: -1px;
}
.menu-flag-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.82) brightness(0.97);
}
