/* Portal roditelja — vlastiti stil na Tabler 1.5 (BS5). NE dijeli ništa s adminom (admin-legacy-compat.css). */
:root {
  --ig-blue: #63b9e8; --ig-blue-dark: #3aa5dd; --ig-blue-light: #e6f3fb; --ig-ink: #1b3a4b;
  --tblr-primary: #63b9e8; --tblr-primary-rgb: 99, 185, 232; --tblr-link-color: #3aa5dd; --tblr-link-color-rgb: 58, 165, 221; --tblr-link-hover-color: #2b8fc4;
  --tblr-font-sans-serif: Roboto, -apple-system, "Segoe UI", sans-serif;
}
html { font-size: 16px; }
@media (max-width: 991.98px) { html { font-size: 17px; } }
body { background: #f4f6f9; }
.btn-primary { --tblr-btn-bg: #63b9e8; --tblr-btn-border-color: #63b9e8; --tblr-btn-hover-bg: #4fb0e5; --tblr-btn-hover-border-color: #4fb0e5; --tblr-btn-active-bg: #3aa5dd; --tblr-btn-active-border-color: #3aa5dd; --tblr-btn-color: #fff; --tblr-btn-hover-color: #fff; --tblr-btn-active-color: #fff; }
.btn-outline-primary { --tblr-btn-color: #3aa5dd; --tblr-btn-border-color: #63b9e8; --tblr-btn-hover-bg: #63b9e8; --tblr-btn-hover-border-color: #63b9e8; --tblr-btn-hover-color: #fff; }
/* ---- ljuska kao admin: lijevi izbornik + plava traka ---- */
:root { --tblr-sidebar-width: 16rem; }
.ig-sidebar { background: #fff; box-shadow: none !important; border: 0 !important; }
.ig-sidebar .navbar-brand { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1rem .5rem; }
.ig-sidebar .ig-sb-logo { height: 56px; max-width: 100%; }
.ig-sidebar .navbar-nav .nav-link { color: var(--ig-ink); font-weight: 500; border-radius: .375rem; margin: .1rem .5rem; padding: .6rem .8rem; }
.ig-sidebar .navbar-nav .nav-link .nav-link-icon { color: #6b7a86; width: 1.5rem; }
.ig-sidebar .navbar-nav .nav-link:hover, .ig-sidebar .navbar-nav .nav-link:hover .nav-link-icon { color: var(--ig-blue-dark); background: var(--ig-blue-light); }
.ig-sidebar .navbar-nav .nav-item.active > .nav-link { background: var(--ig-blue-light); color: var(--ig-blue-dark); font-weight: 600; }
.ig-sidebar .navbar-nav .nav-item.active > .nav-link .nav-link-icon { color: var(--ig-blue-dark); }
.ig-sidebar .navbar-nav .nav-item.active > .nav-link::after { display: none; }
.ig-sidebar .sb-close { color: var(--tblr-secondary); font-size: 1.2rem; }
.ig-topbar { background: var(--ig-blue); border-bottom: 0; min-height: 3.5rem; }
.ig-topbar .ig-top-title { color: #fff; font-size: 1.25rem; font-weight: 600; }
.ig-topbar .ig-top-btn { color: #fff; font-size: 1.2rem; }
.ig-topbar .ig-top-btn:hover { background: rgba(255,255,255,.18); color: #fff; }
.ig-topbar .ig-user, .ig-topbar .ig-user .small { color: #fff; }
.ig-topbar .ig-user .avatar { background: rgba(255,255,255,.25); color: #fff; }
.ig-topbar .ig-user:hover { background: #fff; color: var(--ig-blue-dark); border-radius: .375rem; }
.ig-topbar .ig-user:hover .small, .ig-topbar .ig-user:hover .avatar { color: var(--ig-blue-dark); }
.ig-topbar .ig-user:hover .avatar { background: rgba(100,187,234,.15); }
.ig-topbar .ig-lang .ig-lang-toggle { color: #fff; }
.ig-topbar .ig-lang .ig-lang-toggle:hover { background: #fff; color: var(--ig-blue-dark); }
:root { --ig-sb-fold: 4.25rem; }
.ig-shell .page-wrapper { margin-inline-start: var(--tblr-sidebar-width); }
.ig-shell > .navbar.ig-topbar { margin-inline-start: var(--tblr-sidebar-width); }
@media (max-width: 1199.98px) {
  .ig-sidebar.navbar-expand { width: 17rem; transform: translateX(-100%); transition: transform .22s ease; z-index: 1060; }
  body.sb-open .ig-sidebar.navbar-expand { transform: none; box-shadow: .5rem 0 2rem rgba(0,0,0,.18) !important; }
  .ig-shell .page-wrapper, .ig-shell > .navbar.ig-topbar { margin-inline-start: 0 !important; }
  .sb-backdrop { position: fixed; inset: 0; background: rgba(31,41,55,.45); z-index: 1055; opacity: 0; pointer-events: none; transition: opacity .22s; }
  body.sb-open .sb-backdrop { opacity: 1; pointer-events: auto; }
  body.sb-open { overflow: hidden; }
  .ig-topbar .ig-top-title { font-size: 1.05rem; max-width: 50vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
@media (min-width: 1200px) {
  .sb-backdrop { display: none; }
  /* desktop: hamburger sklapa izbornik u traku s ikonicama (kao u adminu); stanje se pamti */
  .ig-sidebar.navbar-expand { transition: width .2s ease; }
  body.sb-collapsed .ig-sidebar.navbar-expand { width: var(--ig-sb-fold); transform: none; overflow: visible; z-index: 1045; }
  /* naziv iskače IZVAN trake — zato se u sklopljenom stanju nigdje ne smije rezati */
  body.sb-collapsed .ig-sidebar .container-fluid,
  body.sb-collapsed .ig-sidebar .navbar-collapse,
  body.sb-collapsed .ig-sidebar .navbar-nav,
  body.sb-collapsed .ig-sidebar .nav-item { overflow: visible !important; }
  body.sb-collapsed .ig-shell .page-wrapper,
  body.sb-collapsed .ig-shell > .navbar.ig-topbar { margin-inline-start: var(--ig-sb-fold) !important; }
  body.sb-collapsed .ig-sidebar .navbar-brand { padding: .75rem .25rem .5rem; justify-content: center; }
  body.sb-collapsed .ig-sidebar .ig-sb-logo { height: auto; max-height: 30px; max-width: 2.6rem; object-fit: contain; }
  body.sb-collapsed .ig-sidebar .nav-link-title,
  body.sb-collapsed .ig-sidebar .sidebar-copyright,
  body.sb-collapsed .ig-sidebar .navbar-footer { display: none !important; }
  body.sb-collapsed .ig-sidebar .navbar-nav .nav-link { justify-content: center; padding: .65rem .25rem; margin: .1rem .35rem; position: relative; }
  body.sb-collapsed .ig-sidebar .navbar-nav .nav-link .nav-link-icon { width: auto; margin: 0; font-size: 1.05rem; }
  /* badge (npr. nepročitane poruke) ide u kut ikonice */
  body.sb-collapsed .ig-sidebar .navbar-nav .nav-link .badge { position: absolute; top: .15rem; right: .15rem; margin: 0 !important; font-size: .6rem; padding: .12rem .28rem; }
  /* istaknuta ikona i flyout su jedno tijelo (isto kao u adminu) */
  body.sb-collapsed .ig-sidebar .navbar-nav .nav-item.sb-hover > .nav-link { background: var(--ig-blue-light); color: var(--ig-blue-dark); border-radius: .375rem 0 0 .375rem; }
  body.sb-collapsed .ig-sidebar .navbar-nav .nav-item.sb-hover > .nav-link .nav-link-icon { color: var(--ig-blue-dark); }

}
.ig-guest-header { background: #fff; border-bottom: 1px solid var(--tblr-border-color); padding: .75rem 0; }
.ig-guest-header img { height: 48px; }
/* (staro vodoravno zaglavlje — više se ne koristi) */
.ig-header { background: #fff; border-bottom: 1px solid var(--tblr-border-color); }
.ig-header .navbar-brand img { height: 44px; }
.ig-header .nav-link { color: var(--ig-ink); font-weight: 500; border-radius: .375rem; }
.ig-header .nav-link:hover, .ig-header .nav-item.active > .nav-link { background: var(--ig-blue-light); color: var(--ig-blue-dark); }
.ig-header .nav-item.active > .nav-link .nav-link-icon { color: var(--ig-blue-dark); }
.ig-header .ig-user .avatar { background: var(--ig-blue-light); color: var(--ig-blue-dark); }
.ig-lang .ig-lang-toggle { color: var(--ig-ink); font-weight: 600; text-decoration: none; padding: .35rem .6rem; border-radius: .375rem; display: inline-flex; align-items: center; gap: .35rem; font-size: .9rem; }
.ig-lang .ig-lang-toggle:hover { background: var(--ig-blue-light); color: var(--ig-blue-dark); }
.ig-lang .ig-flag { width: 20px; height: 14px; border-radius: 2px; vertical-align: -2px; object-fit: cover; }
.ig-lang .dropdown-menu { box-shadow: none; border: 1px solid #e6eaee; min-width: 9rem; }
.ig-lang .dropdown-item.active { background: var(--ig-blue-light); color: var(--ig-ink); }
.ig-lang-float { position: fixed; top: .75rem; right: .75rem; z-index: 1040; background: rgba(255,255,255,.92); border-radius: .5rem; }
/* kartice i tablice */
.card { border-radius: .75rem; }
.card-header { background: #fff; border-bottom: 1px solid var(--tblr-border-color); }
.card-title { font-weight: 600; color: var(--ig-ink); }
.table thead th { text-transform: uppercase; font-size: .72rem; letter-spacing: .04em; color: var(--tblr-secondary); }
.badge { font-weight: 600; }
.page-title { color: var(--ig-ink); }
/* status boje kao prije */
.text-ig { color: var(--ig-blue-dark); }
.bg-ig-light { background: var(--ig-blue-light); }
/* podnožje portala (kao izvorno: plave poveznice, podaci, velike kartice, linija i copyright) */
/* Podnožje: tipografija kao u adminu (sitno i sivo, uži razmaci) — sadržaj ostaje isti */
.ig-footer { background: #f6f8fb; padding: .75rem 0 0; margin-top: 1.5rem; font-size: .8125rem; color: var(--tblr-secondary, #667382); }
.ig-footer .ig-footer-menu { list-style: none; padding: 0 .5rem; margin: 0 auto .5rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem 1rem; max-width: 76rem; }
.ig-footer .ig-footer-link { color: #2f6fe4; font-weight: 400; text-decoration: none; display: inline-block; line-height: 1.4; font-size: .8125rem; }
.ig-footer .ig-footer-link:hover { color: var(--ig-blue-dark); text-decoration: underline; }
.ig-footer .ig-company-info { text-align: center; line-height: 1.55; color: var(--tblr-secondary, #667382); font-size: .75rem; }
.ig-footer .ig-company-info a { color: #2f6fe4; text-decoration: none; }
.ig-footer .ig-cards { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .4rem 1rem; margin: .6rem auto 0; max-width: 76rem; padding: 0 1rem .75rem; }
.ig-footer .ig-card-logo { max-width: 56px; max-height: 22px; object-fit: contain; opacity: .8; }
@media (max-width: 575.98px) { .ig-footer .ig-card-logo { max-width: 46px; max-height: 19px; } .ig-footer .ig-cards { gap: .4rem .6rem; } }
.ig-footer .ig-footer-copy { border-top: 1px solid #e3e7ee; padding: .45rem 0; text-align: center; color: var(--tblr-secondary, #667382); font-size: .71875rem; }
#pdfModal .modal-body { min-height: 60vh; }
#pdfModalIframe { width: 100%; height: 80vh; border: 0; display: block; }
@media (max-width: 991.98px) { #pdfModal .modal-fullscreen-md-down #pdfModalIframe { height: calc(100vh - 4rem); } }
/* auth (prijava) */
.ig-auth { min-height: 100vh; display: flex; flex-direction: column; }
.ig-auth .ig-auth-body { flex: 1 1 auto; display: flex; align-items: flex-start; justify-content: center; padding: 4rem 1rem 2rem; }
.ig-auth .ig-auth-card { width: 100%; max-width: 28rem; }
.ig-auth .ig-auth-card .card { border: 0; box-shadow: 0 .5rem 2rem rgba(27,58,75,.08); }
.ig-auth .ig-auth-wide { max-width: 46rem; }
.ig-auth .ig-auth-logo { height: 72px; }
.ig-auth .ig-illustration { max-width: 520px; width: 100%; }
@media (max-width: 767.98px) { .ig-auth .ig-illustration { max-width: 240px; } .ig-auth .ig-auth-body { padding-top: 4rem; align-items: flex-start; } }
/* naslovnica: ugovori */
.ig-agreement-actions { display: flex; flex-wrap: wrap; gap: .35rem; justify-content: flex-end; }
@media (max-width: 767.98px) { .ig-agreement-actions { justify-content: flex-start; } }
.ig-child-chip { display: inline-block; background: var(--ig-blue-light); color: var(--ig-ink); border-radius: 1rem; padding: .15rem .6rem; font-size: .85rem; margin: 0 .25rem .25rem 0; }
/* ocjena / FAQ / stranice (javno) */
.stars { display: inline-flex; flex-direction: row-reverse; gap: .15rem; }
.stars input { position: absolute; opacity: 0; width: 0; height: 0; }
.stars label { font-size: 2.2rem; color: #d9dee3; cursor: pointer; transition: color .1s, transform .1s; line-height: 1; margin: 0; }
.stars.small label { font-size: 1.5rem; }
.stars label:hover, .stars label:hover ~ label, .stars input:checked ~ label { color: #f5b301; }
.stars input:focus-visible + label { outline: 2px solid #63b9e8; border-radius: .25rem; }
.aspect-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid #f0f2f4; }
.aspect-row:last-child { border-bottom: 0; }
@media (max-width: 575.98px) { .stars label { font-size: 1.9rem; } .aspect-row { flex-direction: column; align-items: flex-start; gap: .25rem; } }
.faq-cat { font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ig-blue-dark); font-weight: 700; margin: 1.25rem 0 .5rem; }
.faq-item { border: 1px solid #e6eaee; border-radius: .5rem; margin-bottom: .5rem; background: #fff; }
.faq-q { width: 100%; text-align: left; background: none; border: 0; padding: .9rem 1rem; font-weight: 600; color: var(--ig-ink); display: flex; justify-content: space-between; align-items: center; gap: 1rem; font-size: 1rem; cursor: pointer; }
.faq-q i { transition: transform .2s; color: #9aa5b1; flex: 0 0 auto; }
.faq-q[aria-expanded="true"] i { transform: rotate(180deg); }
.faq-a { display: none; padding: 0 1rem 1rem; color: #444; line-height: 1.6; }
.faq-a p:last-child { margin-bottom: 0; }
.page-text { line-height: 1.65; color: #333; }
.page-text h2, .page-text h3, .page-text h4 { color: var(--ig-ink); margin-top: 1.5rem; }
.page-text blockquote { border-left: 3px solid var(--ig-blue); margin: 1rem 0; padding: .25rem 1rem; color: #555; }

/* traka „Admin pregled“ iznad svega */
.ig-imp-bar { position: fixed; top: 0; left: 0; right: 0; height: 2.25rem; line-height: 1.35rem; z-index: 1071; background: #f59f00; color: #1b1b1b; text-align: center; padding: .45rem 1rem; font-size: .9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.ig-imp { padding-top: 2.25rem; }
.ig-imp-bar a { color: #1b1b1b; font-weight: 600; margin-left: .75rem; text-decoration: underline; }
/* Razmak ikone i teksta na gumbima: Tabler stilizira samo svoj `.icon`, a mi koristimo Font Awesome —
   u inline-flex gumbu razmak između ikone i teksta se izgubi („←Nazad“). `gap` ga vraća, a gumbe
   samo s ikonom ne dira (jedan element = nema razmaka). */
.btn { gap: .4rem; }

/* pregled samo za gledanje (admin bez superadmin prava) — mirnija, plava traka */
.ig-imp-bar.ig-imp-view { background: #1b6ec2; color: #fff; }
.ig-imp-bar.ig-imp-view a { color: #fff; }
body.ig-imp .ig-sidebar.navbar-expand { top: 2.25rem; }
body.ig-imp .ig-topbar { top: 2.25rem; }

/* Bootstrap Table (sve tablice portala): u kartici bez okvira, na mobitelu kartice umjesto redaka */
.bootstrap-table .fixed-table-container { border: 0; }
.bootstrap-table .fixed-table-body { overflow-x: auto; }
.bootstrap-table .fixed-table-toolbar { padding: 0 1rem; }
.bootstrap-table .fixed-table-toolbar .search input { max-width: 260px; }
.bootstrap-table .fixed-table-pagination { padding: .5rem 1rem; }
.bootstrap-table .fixed-table-pagination > .pagination-detail, .bootstrap-table .fixed-table-pagination > .pagination { margin-top: .5rem; margin-bottom: .5rem; }
.bootstrap-table .fixed-table-pagination .pagination-info { font-size: .875rem; color: var(--tblr-secondary); }
table[data-toggle="table"] > :not(caption) > * > *, .bootstrap-table .table > :not(caption) > * > * { padding: .6rem .75rem; }
table[data-toggle="table"] > :not(caption) > * > *:first-child, .bootstrap-table .table > :not(caption) > * > *:first-child { padding-left: 1.25rem; }
table[data-toggle="table"] > :not(caption) > * > *:last-child, .bootstrap-table .table > :not(caption) > * > *:last-child { padding-right: 1.25rem; }
/* prije inicijalizacije: desno poravnanje brojčanih stupaca kao poslije (BT to radi iz data-align) */
table[data-toggle="table"]:not(.bootstrap-table *) th[data-align="right"], table[data-toggle="table"]:not(.bootstrap-table *) th[data-halign="right"] { text-align: right; }
.bootstrap-table .fixed-table-container .table thead th .th-inner { padding: .6rem .75rem; }
.bootstrap-table .fixed-table-container .table thead th:first-child .th-inner { padding-left: 1.25rem; }
.bootstrap-table .fixed-table-container .table thead th .sortable { background-position: right .5rem center; }
.bootstrap-table .table .no-records-found td { color: var(--tblr-secondary); text-align: left; padding: 1rem 1.25rem; }
.bootstrap-table .table .detail-icon { color: var(--ig-blue-dark); }
.bootstrap-table .table tr.detail-view > td { background: #f8fafc; padding: 0; }
.bootstrap-table .table tr.detail-view .ig-kv { margin: 0; background: transparent; }
.bootstrap-table .table tr.detail-view .ig-kv th { padding-left: 1.25rem; }
/* kartice (cardView) na mobitelu */
.bootstrap-table .fixed-table-container .table td > .card-views { padding: .85rem 1rem; }
.bootstrap-table .fixed-table-container .table .card-view { display: flex; align-items: flex-start; gap: .75rem; padding: .2rem 0; }
.bootstrap-table .fixed-table-container .table .card-view .card-view-title { flex: 0 0 38%; max-width: 38%; min-width: 0; font-weight: 500; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--tblr-secondary); padding-top: .15rem; white-space: normal; }
.bootstrap-table .fixed-table-container .table .card-view .card-view-value { flex: 1 1 auto; min-width: 0; text-align: left !important; overflow-wrap: anywhere; }
.bootstrap-table .fixed-table-container .table .card-view .card-view-value .ig-agreement-actions { justify-content: flex-start; }
.bootstrap-table .fixed-table-container .table .card-view.card-view-field-act { flex-direction: column; gap: .35rem; margin-top: .35rem; }
.bootstrap-table .fixed-table-container .table .card-view.card-view-field-act .card-view-title { flex: none; max-width: none; }
.bootstrap-table .fixed-table-container .table .card-view .card-view-value.text-nowrap { white-space: normal !important; }
.bootstrap-table .fixed-table-container .table tr[data-has-detail-view] > td > .card-views { cursor: pointer; position: relative; padding-right: 2.25rem; }
.bootstrap-table .fixed-table-container .table tr[data-has-detail-view] > td > .card-views::after { content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; right: 1rem; top: .95rem; color: var(--ig-blue-dark); font-size: .8rem; transition: transform .15s; }
.bootstrap-table .fixed-table-container .table tr[data-has-detail-view].ig-open > td > .card-views::after { transform: rotate(180deg); }
.bootstrap-table .fixed-table-container .table tr[data-has-detail-view] > td:not(:first-child) { cursor: pointer; }
.bootstrap-table .table tr.detail-view .ig-kv th { width: 25%; }
@media (max-width: 991.98px) { .bootstrap-table .table tr.detail-view .ig-kv th { width: 38%; } }
/* × u zaglavlju modala uvijek desno (stari view-ovi imaju vlastiti gumb bez .btn-close) */
.modal-header > button:last-child { margin-left: auto !important; }

/* Sklopljen izbornik: naziv (i podizbornik) iskače uz ikonu — isto ponašanje kao u adminu. */
.sb-flyout { position: fixed; z-index: 1085; min-width: 11rem; max-width: 18rem; background: #fff; border: 0; border-radius: 0 .5rem .5rem 0; box-shadow: .35rem .35rem 1rem rgba(0,0,0,.12); padding: 0 0 .35rem; display: none; overflow: hidden; }
.sb-flyout.show { display: block; }
.sb-flyout::before { content: ""; position: absolute; left: -.75rem; top: 0; bottom: 0; width: .75rem; }
.sb-flyout-title { display: flex; align-items: center; height: var(--sb-row-h, 2.6rem); padding: 0 1.1rem 0 .9rem; font-size: .95rem; font-weight: 600; color: var(--ig-blue-dark); background: var(--ig-blue-light); white-space: nowrap; }
.sb-flyout-item { display: flex; align-items: center; gap: .6rem; padding: .5rem 1.1rem .5rem .9rem; color: var(--ig-ink); text-decoration: none; white-space: nowrap; font-size: .95rem; }
.sb-flyout-item:hover { background: rgba(100,187,234,.12); color: var(--ig-blue-dark); }
.sb-flyout-item.active { font-weight: 600; color: var(--ig-blue-dark); }
.sb-flyout:not(.sb-flyout-group) { padding: 0; box-shadow: .35rem .35rem 1rem rgba(0,0,0,.10); }
.sb-flyout-single { height: var(--sb-row-h, 2.6rem); padding: 0 1.1rem 0 .9rem; font-weight: 600; color: var(--ig-blue-dark); background: var(--ig-blue-light); }
.sb-flyout-single:hover { background: var(--ig-blue-light); color: var(--ig-blue-dark); }
.sb-flyout .badge { margin-left: .4rem; }

/* Čarobnjak: koraci nose svoje kartice, pa sadržaj smije biti širi nego obična stranica portala */
.ig-wizard-wide { max-width: 1500px; }
@media (min-width: 1200px) { .ig-wizard-wide { padding-inline: 1.5rem; } }

/* Lijevi izbornik je fiksiran na visinu prozora, pa je na dugim stranicama ispod njega ostajala
   siva praznina („izbornik stoji u sredini", Frane 27.10.2026.). Bijela traka iza izbornika ide
   cijelom visinom stranice, pa se taj rez više ne vidi. */
@media (min-width: 1200px) {
  .page.ig-shell { background: linear-gradient(90deg, #fff 0, #fff var(--tblr-sidebar-width), transparent var(--tblr-sidebar-width)); min-height: 100vh; }
  body.sb-collapsed .page.ig-shell { background: linear-gradient(90deg, #fff 0, #fff var(--ig-sb-fold), transparent var(--ig-sb-fold)); }
}
