/* PGD Uršna sela — skupna stilska datoteka za javno stran in admin vmesnik */
/* POMEMBNO: stran dejansko nalaga "style.min.css" (stisnjena različica
   te datoteke, brez presledkov/komentarjev — hitrejše nalaganje).
   Če UREJATE to datoteko (style.css), po končanem urejanju NUJNO
   znova ustvarite style.min.css, sicer bodo spremembe na strani
   nevidne. Poenostavljeno povedano: style.css urejate, style.min.css
   pa mora biti VEDNO njegova sveža, stisnjena kopija. */

:root{
  --bg: #15120f;
  --bg-raised: #251d15;
  --bg-raised-2: #332720;
  --red: #b20202;
  --red-bright: #d4291f;
  --ember: #f68712;
  --paper: #efe7d8;
  --ink-dim: rgba(239,231,216,0.64);
  --ink-faint: rgba(239,231,216,0.38);
  --line: rgba(239,231,216,0.14);
  --line-strong: rgba(239,231,216,0.24);
  --radius: 3px;
  --container: 1560px;
  /* Enotna največja širina vsebine v modulih s stransko vrstico
     (urejevalnik, intranet, mladina). */
  --modul-sirina: 1120px;
  --ok: #6fae6a;
  --err: #d4291f;
  /* Ozadje in obroba vnosnih polj — namenoma jasno LOČENA od ozadja
     kartice, v kateri stojijo, da je na prvi pogled očitno, kaj je
     mogoče izpolniti in kaj je le ozadje/besedilo. */
  --input-bg: #0b0906;
  --input-border: rgba(239,231,216,0.38);
  --input-shadow: inset 0 1px 3px rgba(0,0,0,0.45);
  /* Besedilo na PGD Uršna sela raste, ki vedno ostaja rdeč (rdeča
     ne glede na temo), zato ta odtenek besedila ostane vedno svetel. */
  --on-red: #efe7d8;
  /* KLJUČNO za vgrajene izbirnike datuma/ure: brez tega brskalnik
     izriše ikono koledarja in spustni izbirnik v SVETLI shemi — na
     temni podlagi je ikona praktično nevidna in polje deluje, kot da
     ne dela. Ta ena vrstica poskrbi, da brskalnik uporabi temno
     različico vgrajenih kontrolnikov. */
  color-scheme: dark;
}

/* ---------- SVETLA TEMA ---------- */
:root[data-theme="light"]{
  color-scheme: light;
  --bg: #fdf4f2;
  --bg-raised: #f7e1db;
  --bg-raised-2: #edc7bd;
  --ember: #c1440e;
  --paper: #2b1310;
  --ink-dim: rgba(43,19,16,0.66);
  --ink-faint: rgba(43,19,16,0.42);
  --line: rgba(43,19,16,0.12);
  --line-strong: rgba(43,19,16,0.22);
  --ok: #2f7a2b;
  --err: #b3261e;
  --input-bg: #fffbfa;
  --input-border: rgba(43,19,16,0.36);
  --input-shadow: inset 0 1px 2px rgba(43,19,16,0.08);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--paper);
  font-family:'Work Sans', sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.brand,.big-num{
  font-family:'Oswald', sans-serif;
  font-weight:600;
  letter-spacing:0.01em;
  margin:0;
}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--container); margin:0 auto; padding:0 24px;}
section{padding:88px 0; scroll-margin-top:80px;}
section + section{ border-top:1px solid var(--line); }
@media (max-width:640px){ section{padding:56px 0;} }

::selection{background:var(--red); color:var(--on-red);}
:focus-visible{outline:2px solid var(--ember); outline-offset:3px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* ---------- VSTOPNE ANIMACIJE STRANI ---------- */
/* Glavna vsebina (javna stran in urejevalnik) se ob nalaganju nežno
   dvigne in pojavi namesto da bi bila takoj v celoti prisotna — enoten
   "vstopni" občutek na vsaki strani. .admin-shell je skupen ovoj vseh
   strani urejevalnika (glej includes/admin_nav.php), zato ta ena
   pravila veljajo krovno na vseh straneh, ne da bi bilo treba
   posamezne strani posebej urejati. */
body > main, .admin-shell{ animation:stranVstop .45s ease; }
@keyframes stranVstop{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }

/* ---------- REVEAL OB DRSENJU (javna stran) ---------- */
/* Posamezne rubrike na dolgi glavni strani se ob prvem prihodu v
   pogled med drsenjem nežno dvignejo in pojavijo (glej assets/reveal.js,
   ki doda razred "is-visible"), namesto da bi bile vse vidne že ob
   nalaganju — to razbije sicer dolg, enoličen tok strani. Prvi razdelek
   (junak/hero) je izvzet, ker je viden takoj ob nalaganju. Če JS ne
   steče ali IntersectionObserver ni podprt, reveal.js razred doda
   takoj, zato vsebina nikoli ne ostane trajno skrita. */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .6s ease, transform .6s ease; }
.reveal.is-visible{ opacity:1; transform:none; }

/* Kartice v karuselih (Dogodki, Novice) se ob prvem prikazu rubrike
   dodatno "posujejo" ena za drugo (majhen zamik na kartico), namesto
   da bi se vse pojavile hkrati z rubriko — brez dodatnega JS opazovalca,
   ker gre za isti "is-visible" razred, ki ga doda že reveal.js. */
.reveal .carousel-track > *{
  opacity:0; transform:translateY(18px) scale(.97);
  transition:opacity .5s ease, transform .5s ease;
}
.reveal.is-visible .carousel-track > *{ opacity:1; transform:none; }
.reveal.is-visible .carousel-track > *:nth-child(1){ transition-delay:.03s; }
.reveal.is-visible .carousel-track > *:nth-child(2){ transition-delay:.08s; }
.reveal.is-visible .carousel-track > *:nth-child(3){ transition-delay:.13s; }
.reveal.is-visible .carousel-track > *:nth-child(4){ transition-delay:.18s; }
.reveal.is-visible .carousel-track > *:nth-child(5){ transition-delay:.23s; }
.reveal.is-visible .carousel-track > *:nth-child(6){ transition-delay:.28s; }
.reveal.is-visible .carousel-track > *:nth-child(7){ transition-delay:.33s; }
.reveal.is-visible .carousel-track > *:nth-child(8){ transition-delay:.38s; }

/* ---------- NAV ---------- */
header.site{
  position:sticky; top:0; z-index:260;
  background:var(--bg-raised);
  border-bottom:1px solid var(--line);
}
.nav-row{
  /* Zgornja vrsta (znamka + ikone) je VEDNO ena, nikoli se ne prelomi —
     to zagotovi "order:99" na nav.links spodaj (glej tam), ki rubrike
     vedno potisne v svojo, ločeno spodnjo vrsto, ne glede na širino
     zaslona ali število rubrik. Brez tega bi lahko ob "ravno pravšnji"
     širini brskalnik poskusil rubrike stlačiti zraven ikon in jih ob
     neuspehu razdrobil v dodatne vrstice (tudi ikone same) — kar je bilo
     videti razbito. Spodnja vrsta rubrik ima svojo, popolnoma ločeno
     višino, ki raste natanko toliko, kolikor rubrik je dejansko vidnih
     (glej .nav-links-row) — glava torej ni nikoli fiksno visoka.  */
  display:flex; flex-wrap:wrap; align-items:center;
  column-gap:24px; min-height:64px;
  /* POZOR: samo navpični odmik. Ta element ima hkrati razred .wrap,
     ki skrbi za vodoravni odmik od roba zaslona (padding:0 24px).
     Če bi tu uporabili bližnjico "padding:14px 0", bi ta vodoravni
     odmik povozila na 0 in glava bi se raztegnila čez cel ekran. */
  padding-top:14px;
  padding-bottom:14px;
}
.nav-brand{ flex:none; }
.nav-row > .nav-actions{ flex:none; flex-shrink:0; margin-left:auto; }
.nav-row > .links-simple{ flex:none; margin-left:auto; }
/* Nekatere podstrani (arhiv, posamezna objava) v .nav-row poleg
   znamke nimajo ne .links-simple ne .nav-actions, temveč en sam
   gumb ("Domov", "Vse novice in dogodki") — tudi ta naj se drži
   desnega roba, enako kot povsod drugje. */
.nav-row > .nav-brand + .btn{ margin-left:auto; }

/* Rubrike so vedno v svoji, ločeni spodnji vrsti (glej pojasnilo pri
   .nav-row zgoraj) — a oblikovana kot lasten, jasno vizualno ločen
   pas s finim ozadjem in simetričnim odmikom (enako zgoraj kot spodaj,
   za razliko od prejšnje različice, kjer je bila ločnica prilepljena
   tik ob ikone). Znotraj se rubrike prosto prelomijo v toliko vrstic,
   kolikor jih dejansko potrebujejo (1 vrstica za malo rubrik, 2-3 za
   veliko) — pas torej nikoli nima fiksne višine. */
.nav-row > nav.links{
  order:99; flex:1 1 100%; min-width:0;
  justify-content:center;
  margin-top:14px; padding-top:14px;
  border-top:1px solid var(--line);
  transition:opacity .15s ease;
}

/* Ko uporabnik začne drseti po strani, se pas rubrik (ki je lahko pri
   veliko rubrikah precej visok) na širokih zaslonih skrije — znamka in
   ikoni ostajata na vrhu. Namesto nenadnega "display:none" (kar je bilo
   videti kot trzav skok ob vsakem začetku drsenja) se pas gladko strne
   na višino 0 prek "max-height". Spremenljivko --nav-links-h (dejanska
   višina pasu v pikslih) ob nalaganju in vsaki spremembi velikosti
   osvežuje JS (glej index.php) — brez nje bi morali uganiti dovolj
   veliko fiksno vrednost, kar bi bodisi obrezalo vsebino pri veliko
   rubrikah, bodisi naredilo prehod neenakomerno hiter/počasen glede na
   dejansko višino. Isti gumb kot na mobilnih napravah (☰, #menuToggle)
   se ob tem prikaže tudi na desktopu, da ga uporabnik lahko kadarkoli
   spet odpre — takrat se prikaže kot spustni pas nad vsebino, ne
   potisne je navzdol. */
header.site.nav-scrolled .menu-toggle{ display:flex; align-items:center; justify-content:center; }
@media (min-width:941px){
  .nav-row > nav.links{
    max-height:var(--nav-links-h, 400px);
    overflow:hidden;
    transition:max-height .32s ease, opacity .22s ease, margin-top .32s ease, padding-top .32s ease, border-color .32s ease;
  }
  header.site.nav-scrolled .nav-row > nav.links:not(.open){
    max-height:0; opacity:0; margin-top:0; padding-top:0; border-top-color:transparent;
    pointer-events:none;
  }
  header.site.nav-scrolled .nav-row > nav.links.open{
    display:flex; position:absolute; left:0; right:0; top:100%;
    margin:0; padding:18px 24px; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    background:var(--bg-raised); box-shadow:0 20px 40px rgba(0,0,0,0.35);
    flex-wrap:wrap; justify-content:center; gap:8px;
    max-height:none; overflow:visible;
    animation:modalFadeIn .12s ease;
  }
}

/* ---------- INDEKS POŽARNE OGROŽENOSTI ---------- */
/* Pas je omejen na dejansko širino strani (ne čez cel zaslon):
   barvo ima NOTRANJI element, ki je znotraj .wrap, zunanji pa je
   samo prozoren nosilec. */
.fire-index-bar{ color:#fff; }
.fire-index-wrap{ padding-top:10px; padding-bottom:0; }
.fire-index-inner{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
  gap:6px 16px; padding:10px 20px; font-size:13.5px;
  border-radius:8px;
}
.fire-index-label{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.fire-index-label svg{ flex:none; }
.fire-index-date{ opacity:0.8; font-size:12.5px; }
.fire-index-link{ color:#fff; text-decoration:underline; text-underline-offset:2px; white-space:nowrap; flex:none; }
@media (max-width:600px){
  .fire-index-inner{ padding:9px 14px; font-size:12.5px; border-radius:6px; }
}

@media (max-width:560px){
  /* Podstrani (npr. zasebnost): povezave gredo v svojo vrstico —
     flex-basis:100% na zadnjem elementu ga vedno prelomi na novo
     vrstico, ne glede na to, koliko prostora bi sicer zavzel. */
  .nav-row{ row-gap:8px; padding-top:14px; padding-bottom:14px; }
  .nav-row > .links-simple{ flex-basis:100%; margin-left:0; }
}
.nav-brand{
  display:flex; align-items:center; gap:10px;
  font-family:'Oswald', sans-serif; font-weight:600; font-size:19px;
  text-decoration:none; white-space:nowrap;
}
.nav-brand .mark{ width:34px; height:34px; flex:none; object-fit:contain; }

.hero-logo-row{ display:flex; align-items:center; gap:20px; margin-bottom:32px; flex-wrap:wrap; }
.hero-logo{ width:128px; height:128px; flex:none; object-fit:contain; filter:drop-shadow(0 8px 24px rgba(0,0,0,0.45)); }
.hero-logo-row .est-badge{ margin-bottom:0; }
@media (max-width:640px){ .hero-logo{ width:96px; height:96px; } }

.login-logo{ width:56px; height:56px; object-fit:contain; margin:0 auto 18px; display:block; }
nav.links{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
nav.links a{
  display:inline-flex; align-items:center; gap:7px;
  font-size:13.5px; color:var(--ink-dim); text-decoration:none; white-space:nowrap;
  padding:8px 14px; border-radius:999px; border:1px solid transparent;
  transition:color .15s ease, background .15s ease, border-color .15s ease, transform .12s ease;
}
nav.links a svg{ flex:none; opacity:0.65; transition:opacity .15s ease; }
nav.links a:hover{ color:var(--paper); background:var(--bg-raised-2); border-color:var(--line-strong); transform:translateY(-1px); }
nav.links a:hover svg{ opacity:1; }
nav.links a.nav-active{ color:var(--ember); background:rgba(246,135,18,0.12); border-color:rgba(246,135,18,0.35); }
nav.links a.nav-active svg{ opacity:1; color:var(--ember); }

/* Enostavna navigacija za podstrani (cenik, zasebnost) — vedno v vrstici,
   ne uporablja mobilnega hamburger menija, ker ima le nekaj povezav. */
.links-simple{ display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.links-simple a{
  text-decoration:none; font-size:14px; color:var(--ink-dim);
  padding:6px 0; white-space:nowrap;
  transition:color .15s ease;
}
.links-simple a:hover{ color:var(--paper); }
@media (max-width:560px){
  .links-simple{ gap:14px; }
  .links-simple a{ font-size:13px; }
}

.nav-actions{ display:flex; align-items:center; gap:12px; justify-self:end; }

.menu-toggle{
  display:none; background:none; border:1px solid var(--line-strong);
  border-radius:4px; width:40px; height:36px; color:var(--paper); cursor:pointer;
}
.theme-toggle{
  display:flex; align-items:center; justify-content:center; flex:none;
  width:38px; height:38px; border-radius:50%; position:relative;
  background:none; border:1px solid var(--line-strong); color:var(--paper); cursor:pointer;
  transition:border-color .15s ease, color .15s ease, transform .12s ease;
}
.theme-toggle:hover{ border-color:var(--ember); color:var(--ember); }
.theme-toggle:active{ transform:scale(0.92); }
/* Ikoni sonca/lune sta zdaj vedno oba v pretoku (namesto da bi enega
   preprosto skril atribut "hidden"), le drug čez drugega prekrivno
   postavljena — tako se lahko preklop med njima zavrti in prekrižno
   pojavi/izgine, namesto da bi nenadoma "skočil". */
.theme-toggle svg{
  position:absolute; top:50%; left:50%; margin:-8px 0 0 -8px;
  transition:opacity .25s ease, transform .35s ease;
}
.theme-toggle .theme-icon-moon{ opacity:1; transform:rotate(0deg) scale(1); }
.theme-toggle .theme-icon-sun{ opacity:0; transform:rotate(-90deg) scale(0.5); }
.theme-toggle[aria-pressed="true"] .theme-icon-moon{ opacity:0; transform:rotate(90deg) scale(0.5); }
.theme-toggle[aria-pressed="true"] .theme-icon-sun{ opacity:1; transform:rotate(0deg) scale(1); }
@media (max-width:940px){
  /* Pod 940px se rubrike ne prikazujejo več v vrstici (nav.links
     dobi display:none in ne šteje v postavitev glave), zato v tej
     vrstici ostaneta le znamka na levi in ikone na desni. */
  nav.links{
    display:none; position:absolute; left:0; right:0; top:100%;
    background:var(--bg-raised); flex-direction:column; flex-wrap:nowrap;
    align-items:stretch;
    padding:10px 16px 18px; border-bottom:1px solid var(--line); gap:0;
    max-height:calc(100vh - 100%); overflow-y:auto;
    box-shadow:0 20px 40px rgba(0,0,0,0.5);
  }
  nav.links.open{display:flex;}
  nav.links a{ padding:13px 10px; font-size:16px; color:var(--paper); border-radius:4px; }
  .menu-toggle{display:block;}
  /* Odkar je poleg preklopa teme in hamburgerja tudi ikona iskalnika,
     na tem celotnem mobilnem razponu vse tri malce skrčimo, da imajo
     dovolj prostora in se hamburger ne odreže ob robu. */
  .theme-toggle{ width:36px; height:36px; }
  .search-toggle{ width:36px; height:36px; }
  .nav-actions{ gap:8px; }
}

@media (max-width:400px){
  /* Na najožjih telefonih (npr. iPhone SE) skrčimo glavo, da se
     hamburger gumb ne odreže ob desnem robu. */
  .wrap{ padding:0 14px; }
  .nav-row{ gap:8px; }
  .nav-brand{ font-size:15px; gap:7px; }
  .nav-brand .mark{ width:28px; height:28px; }
  .nav-actions{ gap:6px; }
  .menu-toggle{ width:36px; height:32px; }
  .theme-toggle{ width:30px; height:30px; }
  .search-toggle{ width:30px; height:30px; }
}


/* ---------- HERO ---------- */
.hero{ position:relative; padding:100px 0 90px; overflow:hidden; border-bottom:1px solid var(--line); }
.hero-bg{ position:absolute; inset:0; z-index:0; opacity:0.75; }
@media (max-width:640px){ .hero-bg{ opacity:0.55; } }
.hero-scene-light{ display:none; }
:root[data-theme="light"] .hero-scene-dark{ display:none; }
:root[data-theme="light"] .hero-scene-light{ display:inline; }
.hero .wrap{position:relative; z-index:1;}
.hero-grid{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:center; }
@media (max-width:860px){ .hero-grid{grid-template-columns:1fr;} }

.est-badge{
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid var(--line-strong); border-radius:20px;
  padding:6px 14px 6px 8px; font-size:13.5px; color:var(--ink-dim); margin-bottom:28px;
}
.est-badge .flame{width:16px; height:16px; flex:none;}

.hero h1{ font-size:clamp(52px, 8vw, 92px); line-height:0.94; text-transform:uppercase; color:var(--paper); }
.hero h1 .thin{
  display:block; font-weight:400; font-size:0.34em; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--ember); line-height:1.4; margin-bottom:14px;
}
.hero p.lede{ margin-top:22px; font-size:18px; color:var(--ink-dim); }
.hero-ctas{ display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 22px; border-radius:3px; text-decoration:none;
  font-size:15px; font-weight:600; font-family:'Work Sans', sans-serif;
  border:1px solid transparent; cursor:pointer;
  transition:transform .12s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{ transform:translateY(-1px); }
.btn-primary{ background:var(--red); color:#fff; }
.btn-primary:hover{ background:var(--red-bright); }
.btn-ghost{ background:transparent; border-color:var(--line-strong); color:var(--paper); }
.btn-ghost:hover{ background:rgba(239,231,216,0.06); border-color:var(--ember); color:var(--ember); }
.btn-small{ padding:8px 14px; font-size:13.5px; }
.btn-danger{ background:transparent; border-color:rgba(212,41,31,0.5); color:var(--red-bright); }
.btn-danger:hover{ background:rgba(212,41,31,0.12); }

.hero-panel{ border:1px solid var(--line-strong); background:var(--bg-raised); border-radius:4px; padding:26px 26px 22px; }
.hero-panel .row{ display:flex; justify-content:space-between; align-items:baseline; padding:14px 0; border-bottom:1px solid var(--line); }
.hero-panel .row:last-child{border-bottom:none;}
.hero-panel .row .label{color:var(--ink-dim); font-size:14px;}
.hero-panel .row .val{font-family:'Oswald', sans-serif; font-size:16px;}

/* ---------- SECTION HEADERS ---------- */
.sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:44px; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:20px; }
.sec-head h2{ font-size:clamp(28px,4vw,38px); }
.sec-head p{ color:var(--ink-dim); margin:8px 0 0; }

/* Ločnica med dvema vsebinama, združenima v en razdelek (npr. O nas + Zgodovina) */
.sub-divider{ margin:56px 0 32px; padding-top:8px; border-top:1px solid var(--line); }
.sub-divider h3{ font-size:22px; margin-bottom:6px; }
.sub-divider p{ color:var(--ink-dim); font-size:14.5px; margin:0; }

/* ---------- O NAS ---------- */
.about-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:60px; }
@media (max-width:800px){ .about-grid{grid-template-columns:1fr; gap:36px;} }
.about-grid p{ color:var(--ink-dim); margin:0 0 16px; }
.about-grid p:last-child{margin-bottom:0;}
.stat-list{ display:flex; flex-direction:column; }

/* Slike v razdelku O nas (npr. zemljevid območja, hidrantno omrežje) */
.about-maps{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:22px; margin-top:36px; }
@media (max-width:700px){ .about-maps{ grid-template-columns:1fr; } }
.about-maps figure{ margin:0; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:var(--bg-raised); }
.about-maps img{ width:100%; height:240px; object-fit:cover; cursor:pointer; display:block; transition:transform .35s ease; }
.about-maps figure:hover img{ transform:scale(1.04); }
.about-maps figcaption{ padding:12px 16px; font-size:13.5px; color:var(--ink-dim); border-top:1px solid var(--line); }
.stat{ display:flex; justify-content:space-between; align-items:baseline; padding:16px 0; border-bottom:1px solid var(--line); }
.stat:first-child{ border-top:1px solid var(--line); }
.stat .n{font-family:'Oswald'; font-size:26px; color:var(--ember);}
.stat .l{font-size:14px; color:var(--ink-dim); text-align:right;}

/* ---------- TIMELINE ---------- */
.tl-item{ display:grid; grid-template-columns:110px 1fr; gap:28px; padding:26px 0; border-top:1px solid var(--line); }
.tl-item > *{ min-width:0; }
.tl-item:last-child{ border-bottom:1px solid var(--line); }
.tl-year{ font-family:'Oswald'; font-size:26px; color:var(--ember); }
.tl-item h3{ font-size:18px; font-weight:600; margin-bottom:6px; }
.tl-item p{ color:var(--ink-dim); margin:0; }
@media (max-width:600px){ .tl-item{grid-template-columns:1fr; gap:6px;} }
.note{ margin-top:28px; font-size:13.5px; color:var(--ink-faint); border-left:2px solid var(--line-strong); padding-left:14px; }

/* ---------- VODSTVO ---------- */
.officers-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; }
@media (max-width:860px){ .officers-grid{grid-template-columns:repeat(2, 1fr);} }
@media (max-width:560px){ .officers-grid{grid-template-columns:1fr;} }
.officer-card{
  border:1px solid var(--line); border-radius:3px; padding:20px; background:var(--bg-raised); min-width:0;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.officer-card:hover{
  transform:translateY(-5px); border-color:var(--ember);
  box-shadow:0 16px 30px rgba(0,0,0,0.3);
}
.officer-card .role{ font-size:12.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ember); }
.officer-card h3{ font-size:18px; margin:6px 0 10px; font-weight:600; }
.officer-card .line{ font-size:13.5px; color:var(--ink-dim); margin-top:4px; }
.officer-card .line-icon{ display:flex; align-items:flex-start; gap:7px; }
.officer-card .line-icon svg{ flex:none; color:var(--ember); margin-top:2px; }
.officer-card .line-icon a{ min-width:0; overflow-wrap:anywhere; }
.officer-card .line a{ text-decoration:underline; text-decoration-color:var(--line-strong); }

/* ---------- OPREMA — manifest style ---------- */
.manifest{ border-top:1px solid var(--line-strong); }
.m-row{ display:grid; grid-template-columns:64px 1.4fr 1fr 1fr; gap:20px; align-items:center; padding:22px 0; border-bottom:1px solid var(--line); }
.m-row > *{ min-width:0; }
.m-row .m-icon{ width:38px; height:38px; color:var(--ember); }
.m-row .m-thumb{ width:64px; height:48px; object-fit:cover; border-radius:3px; border:1px solid var(--line-strong); cursor:pointer; }
.m-row h3{ font-size:17px; font-weight:600; }
.m-row .m-sub{ color:var(--ink-faint); font-size:13.5px; margin-top:4px; }
.m-row .m-field .k{ font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); }
.m-row .m-field .v{ font-size:14.5px; margin-top:3px; }
@media (max-width:760px){ .m-row{grid-template-columns:44px 1fr; } .m-row .m-field{grid-column:2; } }

/* ---------- OPREMA — nadstandardna (izpostavljena) kartica ---------- */
.vozila-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(min(360px, 100%), 1fr));
  gap:24px; margin-bottom:36px;
}
.vozilo-card{
  background:var(--bg-raised); border:1px solid var(--line-strong); border-radius:8px;
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.vozilo-card:hover{
  transform:translateY(-5px); border-color:var(--ember);
  box-shadow:0 18px 34px rgba(0,0,0,0.32);
}
/* "object-fit:contain" namesto "cover" + temnejše ozadje in blazina
   okoli slike: prej se je slika (npr. vozilo) obrezala čez rob 220px
   škatle, zdaj se cela slika vedno prilega znotraj nje, morebiten
   prazen rob ob straneh/vrhu pa zapolni ozadje kartice, da ni videti
   praznine. */
.vozilo-slika{
  width:100%; height:220px; object-fit:contain; object-position:center;
  cursor:pointer; display:block; background:var(--bg-raised-2); padding:10px;
}
.vozilo-slika-prazna{
  display:flex; align-items:center; justify-content:center; color:var(--ink-faint);
  background:var(--bg-raised-2);
}
.vozilo-body{ padding:22px 24px 26px; flex:1; display:flex; flex-direction:column; }
.vozilo-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:6px; }
.vozilo-head h3{ font-size:19px; line-height:1.3; }
.vozilo-sub{ color:var(--ink-faint); font-size:13.5px; margin-top:4px; }
.vozilo-status{
  flex:none; font-size:12px; font-family:'Oswald'; text-transform:uppercase; letter-spacing:.04em;
  color:var(--ember); border:1px solid rgba(246,135,18,0.4); border-radius:20px; padding:5px 12px; white-space:nowrap;
}
.vozilo-namen{ color:var(--ink-dim); font-size:14.5px; margin:10px 0 18px; }

.vozilo-tech-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:10px 20px;
  padding:16px 0; margin-bottom:8px; border-top:1px solid var(--line);
}
.vozilo-tech-item{ display:flex; flex-direction:column; gap:2px; }
.vozilo-tech-item .k{ font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-faint); }
.vozilo-tech-item .v{ font-size:14.5px; font-family:'Oswald'; }

.vozilo-oprema-label{
  font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-faint);
  margin:14px 0 10px; padding-top:14px; border-top:1px solid var(--line);
}
.vozilo-oprema-badges{ display:flex; flex-wrap:wrap; gap:8px; }
.vozilo-badge{
  font-size:13px; background:var(--bg-raised-2); border:1px solid var(--line-strong);
  border-radius:20px; padding:5px 13px; color:var(--ink-dim);
}
@media (max-width:600px){
  .vozilo-tech-grid{ grid-template-columns:1fr; }
}
.vozila-ostalo-label{ font-size:15px; color:var(--ink-faint); margin-bottom:6px; text-transform:none; letter-spacing:0; }

/* ---------- DOGODKI (kartice v vodoravnem karuselu) ---------- */
.ev-date{
  font-family:'Oswald'; font-weight:600; color:var(--paper);
  background:var(--bg-raised-2); border:1px solid var(--ember); border-radius:5px;
  padding:10px 6px; text-align:center; line-height:1; position:relative; overflow:hidden;
}
.ev-thumb{ width:100%; height:100%; object-fit:cover; display:block; }
.ev-date .d{ font-size:34px; display:block; color:var(--ember); letter-spacing:-0.02em; }
.ev-date .m{ font-size:14px; letter-spacing:.06em; margin-top:4px; display:block; text-transform:uppercase; }
.ev-past-ribbon{
  position:absolute; top:11px; left:-30px; width:130px; text-align:center;
  background:var(--red); color:#fff; font-size:10.5px; font-weight:700; letter-spacing:.08em;
  padding:2px 0; transform:rotate(-38deg); box-shadow:0 1px 4px rgba(0,0,0,0.4); z-index:2;
}
.ev-card.ev-past{ opacity:0.6; }
.ev-card.ev-past:hover{ opacity:0.85; }

.ev-card{
  position:relative; border:1px solid var(--line); border-radius:6px; overflow:hidden;
  display:flex; flex-direction:column; background:var(--bg-raised);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ev-card-media{ position:relative; width:100%; height:150px; flex:none; }

/* Ko ima dogodek fotografijo, datum ne izgine — pokaže se kot
   izstopajoč pečat čez zgornji levi vogal fotografije, da ostane
   enako opazen kot brez slike. */
.ev-date-overlay{
  position:absolute; top:10px; left:10px; z-index:1;
  background:var(--red); border:2px solid var(--bg);
  border-radius:5px; padding:5px 7px;
  box-shadow:0 3px 10px rgba(0,0,0,0.5);
}
.ev-date-overlay .d{ font-size:19px; color:#fff; letter-spacing:-0.01em; }
.ev-date-overlay .m{ font-size:9px; color:rgba(255,255,255,0.9); margin-top:0; }

/* Dogodek brez fotografije: namesto praznine dobi barvit "vstopničast"
   panel z datumom, ki zavzame isto mesto kot bi ga slika. */
.ev-card-media-noimg{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--red), var(--ember)); color:#fff;
}
.ev-card-media-noimg .d{ font-family:'Oswald'; font-weight:700; font-size:42px; line-height:1; }
.ev-card-media-noimg .m{ font-size:13px; letter-spacing:.09em; text-transform:uppercase; margin-top:4px; }

.ev-tag-overlay{
  position:absolute; top:10px; right:10px; z-index:2;
  font-size:11.5px; font-weight:600; color:#fff; white-space:nowrap;
  background:rgba(0,0,0,0.45); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  border:1px solid rgba(255,255,255,0.35); border-radius:20px; padding:4px 11px;
}
.ev-tag-overlay-light{ background:rgba(0,0,0,0.22); }

.ev-card-body{ padding:20px 22px 22px; flex:1; display:flex; flex-direction:column; }
.ev-title{ font-weight:600; font-size:16.5px; overflow-wrap:anywhere; margin:0; }
.ev-place{ color:var(--ink-faint); font-size:13.5px; margin-top:5px; overflow-wrap:anywhere; }
.ev-card-actions{ display:flex; flex-direction:column; align-items:flex-start; margin-top:auto; padding-top:8px; }
.ev-map-link{
  display:inline-flex; align-items:center; gap:5px; margin-top:6px;
  font-size:12.5px; color:var(--ember); text-decoration:none; border-bottom:1px solid rgba(246,135,18,0.4);
}
.ev-map-link:hover{ border-bottom-color:var(--ember); }
.ev-map-link svg{ width:13px; height:13px; flex:none; }
.ev-tag{ font-size:12.5px; color:var(--ember); border:1px solid rgba(246,135,18,0.4); border-radius:20px; padding:5px 12px; white-space:nowrap; }

/* ---------- ČLANSTVO ---------- */
.join{ background:var(--bg-raised); border:1px solid var(--line-strong); border-radius:4px; padding:48px; display:grid; grid-template-columns:1fr 1fr; gap:48px; }
@media (max-width:760px){ .join{grid-template-columns:1fr; padding:28px;} }
.join h3{ font-size:22px; margin-bottom:14px; }
.join p{ color:var(--ink-dim); }
.req-list{ list-style:none; margin:18px 0 0; padding:0; }
.req-list li{ padding:10px 0; border-top:1px solid var(--line); font-size:14.5px; color:var(--ink-dim); display:flex; gap:10px; }
.req-list li::before{ content:"—"; color:var(--ember); flex:none; }
.contact-mini .row{ display:flex; gap:12px; padding:9px 0; font-size:14.5px; }
.contact-mini .row span.k{ color:var(--ink-faint); min-width:88px; }

/* ---------- DONACIJE ---------- */
.donate-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; min-width:0; }
@media (max-width:800px){ .donate-grid{grid-template-columns:1fr;} }
.donate-grid > *{ min-width:0; }
.donate-grid p{ color:var(--ink-dim); }

.trr-box{
  border:1px solid var(--line-strong); border-radius:8px; padding:26px 28px;
  background:var(--bg-raised); min-width:0; overflow:hidden;
}
.trr-box-head{ display:flex; align-items:center; gap:10px; margin-bottom:6px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.trr-box-head svg{ flex:none; color:var(--ember); }
.trr-box-head h3{ font-size:16px; margin:0; }
/* Vsako polje (Prejemnik, TRR, Banka …) je ena dosledna vrstica čez
   celotno širino — ime na levi, vrednost na desni — namesto prejšnje
   mešanice "eno poleg drugega" in "eno pod drugim", ki je bila
   neenakomerna in neurejena. */
.trr-box-grid{ display:flex; flex-direction:column; }
.trr-row{
  display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between;
  gap:8px 24px; padding:14px 0; border-bottom:1px solid var(--line);
}
.trr-row:last-child{ border-bottom:none; padding-bottom:0; }
.trr-row:first-child{ padding-top:0; }
.trr-box .k{
  font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint);
  flex:none; padding-top:3px;
}
.trr-box .v{
  font-family:'Oswald'; font-size:17px; letter-spacing:0.02em;
  overflow-wrap:anywhere; min-width:0; text-align:right; margin-left:auto;
}
@media (max-width:520px){
  .trr-row{ flex-direction:column; align-items:flex-start; gap:4px; }
  .trr-box .v{ text-align:left; margin-left:0; }
}

/* Ovojnica za QR-plačilo in 1% dohodnine: na dovolj širokih zaslonih se
   postavita eno zraven drugega (namesto vsak čez celo širino, kar je
   podaljševalo stran brez razloga). "auto-fit/minmax" namesto fiksnega
   preloma pri točno določeni širini zaslona (enak vzorec kot pri
   ".vozila-grid") — stolpec se samodejno prelomi nazaj pod drugega, ko
   za katerega zmanjka vsaj ~460px prostora (npr. ko manjka desna
   "1% dohodnine" kartica, en sam otrok samodejno zavzame celo širino). */
.donacije-akcije{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(min(460px, 100%), 1fr));
  gap:28px; margin-top:28px; align-items:start;
}
.donacije-akcije > .qr-pay-box, .donacije-akcije > .dohodnina-box{ margin-top:0; }

.dohodnina-box{
  border:1px solid var(--line-strong); border-radius:8px;
  padding:26px 28px; background:var(--bg-raised); min-width:0; overflow:hidden;
}
.dohodnina-box h3{ font-size:19px; margin-bottom:10px; }
.dohodnina-box p{ color:var(--ink-dim); font-size:14.5px; margin:0 0 18px; overflow-wrap:anywhere; }
.dohodnina-box .row-2{ display:flex; gap:10px; align-items:baseline; margin-bottom:18px; font-size:14.5px; flex-wrap:wrap; }
.dohodnina-box .row-2 .k{ color:var(--ink-faint); flex:none; }
.dohodnina-box .row-2 .v{ font-family:'Oswald'; font-size:17px; overflow-wrap:anywhere; min-width:0; }
.edavki-note{
  margin-top:22px; padding-top:20px; border-top:1px dashed var(--line-strong);
}
.edavki-note h4{ font-size:15px; margin-bottom:8px; }
.edavki-note p{ margin-bottom:14px; }

/* ---------- SPONZORJI ---------- */
.sponzorji-carousel{ position:relative; }
.sponzorji-track{
  display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:4px 4px 14px; scrollbar-width:thin;
}
.sponzorji-track::-webkit-scrollbar{ height:6px; }
.sponzorji-track::-webkit-scrollbar-thumb{ background:var(--line-strong); border-radius:3px; }
.sponzor-card{
  display:flex; align-items:center; justify-content:center; height:110px;
  flex:none; width:180px; scroll-snap-align:start;
  background:#fff; border:1px solid var(--line-strong); border-radius:6px;
  padding:16px; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease;
}
a.sponzor-card:hover{ transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,0.18); }
.sponzor-card img{ max-width:100%; max-height:100%; object-fit:contain; }
.sponzor-fallback{ font-family:'Oswald'; font-size:15px; color:#221c15; text-align:center; }
.sponzorji-nav{
  position:absolute; top:38px; transform:translateY(-50%);
  width:38px; height:38px; border-radius:50%; background:var(--bg-raised); border:1px solid var(--line-strong);
  color:var(--paper); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:18px;
  box-shadow:0 4px 12px rgba(0,0,0,0.3); z-index:2;
}
.sponzorji-nav:hover{ border-color:var(--ember); color:var(--ember); }
.sponzorji-nav-prev{ left:2px; }
.sponzorji-nav-next{ right:2px; }
@media (max-width:640px){
  .sponzorji-nav{ display:none; } /* na dotik zaslonih zadostuje drsenje s prstom */
}

/* ---------- QR PLAČILO ---------- */
.qr-pay-box{
  border:1px solid var(--line-strong); border-radius:8px;
  padding:26px 28px; background:var(--bg-raised); min-width:0; overflow:hidden;
}
.qr-pay-box-head{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.qr-pay-box-head svg{ flex:none; color:var(--ember); }
.qr-pay-box h3{ font-size:16px; margin:0; }
.qr-pay-box > p.hint{ color:var(--ink-dim); font-size:14.5px; margin:10px 0 0; overflow-wrap:anywhere; }
.qr-pay-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:32px; margin-top:22px; align-items:start; min-width:0; }
@media (max-width:700px){ .qr-pay-grid{grid-template-columns:1fr; gap:26px;} }
.qr-pay-fields{ min-width:0; }
.qr-pay-fields input{ max-width:100%; }
.qr-pay-code{ display:flex; flex-direction:column; align-items:center; gap:10px; min-width:0; }
.qr-pay-code svg{ background:#fff; padding:8px; border-radius:6px; width:100%; max-width:180px; height:auto; aspect-ratio:1; box-shadow:0 4px 14px rgba(0,0,0,0.22); }
.qr-caption{ font-size:12.5px; color:var(--ink-faint); margin:0; text-align:center; }

.upn-print-slip{ display:none !important; position:absolute; left:-9999px; top:-9999px; }
@media print{
  body *{ visibility:hidden; }
  .upn-print-slip, .upn-print-slip *{ visibility:visible; }
  .upn-print-slip{
    display:block !important; position:absolute; top:0; left:0; width:100%;
    padding:40px; color:#000; background:#fff;
  }
  .upn-print-inner{ display:flex; justify-content:space-between; gap:40px; }
  .upn-print-col h4{ font-family:'Oswald',sans-serif; font-size:13px; text-transform:uppercase; letter-spacing:.05em; margin:18px 0 4px; color:#555; }
  .upn-print-col h4:first-child{ margin-top:0; }
  .upn-print-col p{ margin:0 0 4px; font-size:15px; }
  .upn-print-qr{ text-align:center; }
  .upn-print-qr svg{ width:200px; height:200px; }
  .upn-print-disclaimer{ margin-top:30px; font-size:11px; color:#777; max-width:80ch; }
}

/* ---------- NOVICE ---------- */
.news-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
@media (max-width:860px){ .news-grid{grid-template-columns:1fr;} }
.news-card{
  position:relative; /* NUJNO: značka "+N" (št. dodatnih fotografij) je
     pozicionirana absolutno znotraj te kartice. Brez tega se pozicionira
     glede na celoten dokument in "pobegne" na povsem napačno mesto na
     strani (npr. sredi uvodne sekcije). */
  border:1px solid var(--line); border-radius:3px; overflow:hidden; display:flex; flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.news-top{ height:5px; background:var(--red); }
.news-photo{ width:100%; height:160px; object-fit:cover; cursor:pointer; }
.news-body{ padding:22px; flex:1; display:flex; flex-direction:column; }
.news-date{ font-size:12.5px; color:var(--ink-faint); }
.news-card h3{ font-size:17px; margin:10px 0 8px; font-weight:600; }
.news-card p{ color:var(--ink-dim); font-size:14.5px; margin:0; flex:1; white-space:pre-line; }

/* ---------- GALERIJA ---------- */
.gallery-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:760px){ .gallery-grid{grid-template-columns:repeat(2,1fr);} }
.gallery-grid figure{ margin:0; border:1px solid var(--line); border-radius:4px; overflow:hidden; background:var(--bg-raised); }
.gallery-grid img{ width:100%; height:200px; object-fit:cover; display:block; transition:transform .35s ease; cursor:pointer; }
.gallery-grid figure:hover img{ transform:scale(1.08); }
.gallery-grid figcaption{ font-size:13px; color:var(--ink-dim); padding:10px 12px; }

/* ---------- ALBUMI ---------- */
.album-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:760px){ .album-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:480px){ .album-grid{grid-template-columns:1fr;} }
.album-card{
  border:1px solid var(--line); border-radius:4px; overflow:hidden;
  background:var(--bg-raised-2); cursor:pointer; transition:border-color .15s ease;
}
.album-card:hover{ border-color:var(--ember); }
.album-card img{ width:100%; height:160px; object-fit:cover; transition:transform .3s ease; }
.album-card:hover img{ transform:scale(1.05); }
.album-cover-empty{
  width:100%; height:160px; display:flex; align-items:center; justify-content:center;
  font-size:40px; background:var(--bg-raised); color:var(--ink-faint);
}
.album-info{ padding:16px 18px; }
.album-info h3{ font-size:16px; margin-bottom:4px; }
.album-info p{ font-size:13.5px; color:var(--ink-dim); margin:0 0 8px; }
.album-count{ font-size:12.5px; color:var(--ember); font-family:'Oswald'; }

.album-viewer{
  display:none; position:fixed; inset:0; z-index:400;
  background:rgba(10,8,6,0.95); padding:40px 24px; overflow-y:auto;
}
.album-viewer.visible{ display:block; }
.album-viewer-inner{ max-width:1100px; margin:0 auto; }
.album-viewer-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; }
.album-viewer-head h3{ font-size:24px; color:var(--paper); }
.album-viewer-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:18px; }
.album-viewer-grid figure{ margin:0; border-radius:4px; overflow:hidden; background:var(--bg-raised); border:1px solid var(--line); }
.album-viewer-grid img{ width:100%; height:160px; object-fit:cover; cursor:pointer; display:block; transition:transform .3s ease; }
.album-viewer-grid figure:hover img{ transform:scale(1.06); }
.album-viewer-grid figcaption{ padding:8px 12px; font-size:12.5px; color:var(--ink-dim); }
@media (max-width:600px){ .album-viewer{ padding:24px 16px; } .album-viewer-head h3{ font-size:19px; } }

.lightbox{
  position:fixed; inset:0; z-index:600; background:rgba(10,8,6,0.92);
  display:none; align-items:center; justify-content:center; padding:40px 24px;
}
.lightbox.visible{ display:flex; }
.lightbox img{ max-width:min(90vw, 1100px); max-height:80vh; object-fit:contain; border-radius:4px; }
.lightbox-caption{ position:absolute; bottom:32px; left:0; right:0; text-align:center; color:var(--ink-dim); font-size:14px; }
.lightbox-close{
  position:absolute; top:20px; right:24px; background:none; border:1px solid var(--line-strong);
  color:var(--paper); width:40px; height:40px; border-radius:50%; font-size:18px; cursor:pointer;
}
.lightbox-close:hover{ border-color:var(--ember); color:var(--ember); }
.lightbox-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(20,16,12,0.55); border:1px solid var(--line-strong); color:var(--paper);
  width:52px; height:52px; border-radius:50%; font-size:30px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .15s ease, border-color .15s ease;
}
.lightbox-nav:hover{ background:rgba(246,135,18,0.25); border-color:var(--ember); color:var(--ember); }
.lightbox-prev{ left:16px; }
.lightbox-next{ right:16px; }
.lightbox-counter{
  position:absolute; top:20px; left:50%; transform:translateX(-50%);
  font-size:13px; color:var(--ink-dim); background:rgba(20,16,12,0.55);
  padding:5px 14px; border-radius:20px;
}
@media (max-width:640px){
  .lightbox-nav{ width:42px; height:42px; font-size:24px; }
  .lightbox-prev{ left:8px; }
  .lightbox-next{ right:8px; }
}

.photo-slot{
  border:1px dashed var(--line-strong); border-radius:4px;
  display:flex; align-items:center; justify-content:center;
  color:var(--ink-faint); font-size:13px; text-align:center; padding:24px;
  min-height:220px; background:var(--bg-raised); grid-column:span 1;
}
.photo-slot-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:760px){ .photo-slot-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .photo-slot-grid{ grid-template-columns:1fr; } }

/* ---------- KONTAKT ---------- */
.contact-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,4vw,56px); align-items:stretch; }
.contact-form-panel{ min-width:0; }
.contact-form-panel h3{ margin:0 0 20px; }
@media (max-width:800px){
  .contact-grid{ grid-template-columns:1fr; }
  .contact-grid .map-frame{ height:320px; min-height:320px; }
}
.map-frame{ border:1px solid var(--line-strong); border-radius:4px; overflow:hidden; height:100%; min-height:280px; }
.map-frame iframe{ width:100%; height:100%; min-height:280px; border:0; }
.map-placeholder{
  height:100%; min-height:280px; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:14px; text-align:center; padding:24px; color:var(--ink-dim); font-size:14px;
}
.map-placeholder p{ margin:0; color:var(--ink-faint); }
.map-external-link{ font-size:13px; color:var(--ink-faint); text-decoration:underline; text-decoration-color:var(--line-strong); }

.cookie-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:250;
  background:var(--bg-raised-2); border-top:1px solid var(--line-strong);
  box-shadow:0 -12px 40px rgba(0,0,0,0.5);
  transform:translateY(110%);
  transition:transform .3s ease;
  max-height:85vh; overflow-y:auto;
}
.cookie-banner.visible{ transform:translateY(0); }
.cookie-banner-inner{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px;
  padding:22px 24px;
}
.cookie-banner-inner > *{ min-width:0; }
.cookie-banner-icon{
  width:44px; height:44px; border-radius:50%; flex:none;
  background:rgba(246,135,18,0.15); color:var(--ember);
  display:flex; align-items:center; justify-content:center;
}
.cookie-banner-icon svg{ width:24px; height:24px; }
.cookie-banner-text h4{ font-size:15px; margin-bottom:4px; color:var(--paper); }
.cookie-banner-text p{ margin:0; font-size:13.5px; color:var(--ink-dim); }
.cookie-banner-text p a{ text-decoration:underline; color:var(--paper); }
.cookie-banner-actions{ display:flex; gap:10px; flex:none; }

@media (max-width:820px){
  /* Na telefonu: ikona stran, besedilo krajše, gumba čez celo širino
     in vedno vidna — pasica se po potrebi znotraj sebe pomika. */
  .cookie-banner-inner{
    grid-template-columns:1fr; gap:14px;
    padding:18px 18px calc(18px + env(safe-area-inset-bottom, 0px));
  }
  .cookie-banner-icon{ display:none; }
  .cookie-banner-text h4{ font-size:16px; }
  .cookie-banner-text p{ font-size:13.5px; line-height:1.5; }
  .cookie-banner-actions{ display:grid; grid-template-columns:1fr 1fr; gap:10px; width:100%; }
  .cookie-banner-actions .btn{ width:100%; justify-content:center; padding:14px 12px; }
}
@media (max-width:360px){
  .cookie-banner-actions{ grid-template-columns:1fr; }
}

.cookie-btn-accept{
  background:var(--red); color:#fff; border:1px solid var(--red);
  padding:11px 20px; font-size:14px; font-weight:600; border-radius:3px;
}
.cookie-btn-accept:hover{ background:var(--red-bright); border-color:var(--red-bright); }

.cookie-btn-reject{
  background:rgba(239,231,216,0.10); color:var(--paper);
  border:1px solid rgba(239,231,216,0.6);
  padding:11px 20px; font-size:14px; font-weight:600; border-radius:3px;
}
.cookie-btn-reject:hover{ background:rgba(239,231,216,0.18); border-color:var(--paper); }

/* ---------- FOOTER ---------- */
footer{ background:var(--bg); border-top:1px solid var(--line); padding:0; }
.footer-links{
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  padding:22px 0; border-bottom:1px solid var(--line); font-size:13.5px;
}
.footer-links .k{ color:var(--ink-faint); }
.footer-links a{ color:var(--ink-dim); text-decoration:underline; text-decoration-color:var(--line-strong); display:inline-flex; align-items:center; gap:6px; }
.footer-link-icon{ display:inline-flex; flex:none; }
.footer-links a:hover{ color:var(--ember); }
.foot-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding-top:24px; padding-bottom:24px; }
.foot-version{ text-align:center; font-size:11.5px; color:var(--ink-faint); margin:0 0 20px; }
.foot-row .brand{ font-size:16px; }
.foot-row p{ color:var(--ink-faint); font-size:13px; margin:0; }
.foot-row .admin-link{ color:var(--ink-faint); font-size:12.5px; text-decoration:underline; text-decoration-color:var(--line); }
.foot-row .admin-link:hover{ color:var(--ink-dim); }

/* =======================================================
   ADMIN PANEL STYLES
   ======================================================= */
.admin-body{ background:var(--bg); min-height:100vh; }
/* POENOTENO: urejevalnik, intranet in mladina uporabljajo isto
   največjo širino vsebine (--modul-sirina), isti odmik od stranske
   vrstice in isto sredinjenje. Prej so bile tri različne vrednosti
   (920px / 1100px / brez), zato so bili moduli med sabo neporavnani. */
.admin-shell{
  max-width:var(--modul-sirina); margin:0 auto;
  padding:40px 32px 80px; margin-left:272px;
}
@media (min-width:1460px){
  /* Na zelo širokih zaslonih vsebino oboje enako sredinimo v
     preostalem prostoru desno od stranske vrstice. */
  .admin-shell{ margin-left:calc(272px + (100vw - 272px - var(--modul-sirina))/2); }
}

/* ---------- BOČNI MENI UREJEVALNIKA ---------- */
.admin-sidebar{
  position:fixed; top:0; left:0; bottom:0; width:272px;
  background:linear-gradient(180deg, var(--bg-raised) 0%, var(--bg) 100%);
  border-right:1px solid var(--line);
  display:flex; flex-direction:column; overflow-y:auto; z-index:210;
}
.admin-sidebar-brand{
  display:flex; align-items:center; gap:12px; padding:20px 16px 20px 20px;
  border-bottom:1px solid var(--line); flex:none;
}
.admin-sidebar-brand img{ width:38px; height:38px; object-fit:contain; flex:none; margin:0; }
.admin-sidebar-brand span{ flex:1; min-width:0; font-family:'Oswald'; font-size:16px; color:var(--paper); line-height:1.25; }
.admin-sidebar-brand small{ display:block; color:var(--ember); font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; font-family:'Work Sans'; margin-top:2px; }
.admin-brand-view-site{
  flex:none; display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:50%;
  border:1px solid var(--line-strong); color:var(--ink-dim);
  transition:border-color .15s ease, color .15s ease, transform .12s ease;
}
.admin-brand-view-site:hover{ border-color:var(--ember); color:var(--ember); transform:translateY(-1px); }

/* Iskanje po meniju — pri skoraj štirideset postavkah v sedmih
   skupinah je hitreje vtipkati nekaj črk kot brskati po sklopih, zato
   je iskalno polje na vrhu, takoj pod znamko. */
.admin-nav-search-wrap{ padding:14px 16px 6px; flex:none; }
/* Ikona je centrirana glede na .admin-nav-search-box (ki vsebuje SAMO
   ikono in polje), ne glede na celoten .admin-nav-search-wrap — ta
   ima namreč pod poljem še prostor za sporočilo "Ni zadetkov", zaradi
   česar je bila ikona prej centrirana glede na previsok okvir in ni
   bila poravnana z besedilom v polju. */
.admin-nav-search-box{ position:relative; }
.admin-nav-search-icon{ position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--ink-faint); pointer-events:none; }
/* Poimenovano prek nadrejenega ovoja (ne le enega samega razreda), da
   ta pravila zanesljivo zmagajo nad splošnim pravilom za
   input[type=text] nižje v datoteki — le-to ima zaradi atributnega
   izbirnika višjo specifičnost kot sam razred in je prej povozilo
   levi odmik ter velikost polja, zato sta se besedilo in ikona
   prekrivala. */
.admin-nav-search-wrap .admin-nav-search-input{
  width:100%; margin:0; padding:9px 12px 9px 34px; font-size:13.5px;
  background:var(--input-bg); border:1px solid var(--input-border); border-radius:6px;
  color:var(--paper); box-shadow:none;
}
.admin-nav-search-wrap .admin-nav-search-input:focus{ outline:none; border-color:var(--ember); box-shadow:0 0 0 3px rgba(246,135,18,0.18); }
.admin-nav-search-empty{ display:block; padding:10px 6px 2px; font-size:12.5px; color:var(--ink-faint); text-align:center; }
.admin-nav-search-empty[hidden]{ display:none; }

.admin-sidebar-nav{ flex:1; padding:8px 12px 14px; }
.admin-sidebar-nav > div:not(.admin-nav-group){ margin-bottom:4px; }

/* Vsaka poimenovana skupina dobi lasten barvni "accent" (glej razrede
   .accent-* spodaj) — z barvno ločenimi ikonskimi značkami je meni na
   prvi pogled razčlenjen na smiselne sklope, namesto da bi bil en sam
   enoličen seznam ne glede na to, katere skupine so trenutno odprte. */
.admin-nav-group{ margin-bottom:2px; }
.admin-nav-group-label{
  display:flex; align-items:center; gap:9px; width:100%;
  padding:11px 10px; margin-top:4px; border-radius:6px; border:none;
  background:none; cursor:pointer; text-align:left;
  font-family:'Work Sans', sans-serif; font-size:11.5px; text-transform:uppercase;
  letter-spacing:.06em; color:var(--ink-faint); font-weight:600;
  transition:background .12s ease, color .12s ease;
}
.admin-nav-group-label:hover{ background:rgba(239,231,216,0.05); color:var(--ink-dim); }
.admin-nav-group-dot{ flex:none; width:7px; height:7px; border-radius:50%; background:rgb(var(--accent-rgb)); opacity:0.85; }
.admin-nav-group-text{ flex:1; }
.admin-nav-group-chevron{ flex:none; color:var(--ink-faint); transition:transform .22s ease; }
.admin-nav-group.open > .admin-nav-group-label .admin-nav-group-chevron{ transform:rotate(180deg); }
/* Uporablja "grid 0fr/1fr" prijem namesto uganjene/izračunane
   max-height vrednosti v pikslih — višina vsebine se je pri drugačni
   velikosti pisave, gostoti zaslona ali priporočilih brskalnika lahko
   razlikovala od tiste, ki jo je izračunal PHP, zato je bil spodnji
   del zadnje ikone v skupini včasih obrezan. Grid pristop se vedno
   prilagodi dejanski višini vsebine, brez ugibanja. */
.admin-nav-group-body{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .28s ease, opacity .2s ease;
  opacity:0.4;
}
.admin-nav-group.open > .admin-nav-group-body{ grid-template-rows:1fr; opacity:1; }
.admin-nav-group-body-inner{ overflow:hidden; min-height:0; }

.admin-nav-link{
  display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:6px;
  color:var(--ink-dim); text-decoration:none; font-size:14px; margin-bottom:2px;
  border-left:3px solid transparent;
  transition:background .12s ease, color .12s ease, border-color .12s ease, transform .12s ease;
}
.admin-nav-link:hover{ background:rgba(239,231,216,0.06); color:var(--paper); transform:translateX(2px); }
.admin-nav-link.active{
  background:rgba(var(--accent-rgb), 0.14); color:var(--paper); font-weight:600;
  border-left-color:rgb(var(--accent-rgb));
}
.admin-nav-link.active .admin-nav-icon{ background:rgba(var(--accent-rgb), 0.3); border-color:rgba(var(--accent-rgb), 0.5); }
.admin-sidebar-nav .admin-nav-link.nav-hidden, .admin-nav-group.nav-hidden{ display:none; }
.admin-nav-icon{
  flex:none; display:flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:8px; font-size:14px;
  background:rgba(var(--accent-rgb), 0.12); border:1px solid rgba(var(--accent-rgb), 0.22);
  transition:background .12s ease, border-color .12s ease;
}
.admin-nav-link-text{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Barvni "accent"-i skupin — nevtralno ozadje kartic ostaja enako,
   spremeni se le barva pikice pred imenom skupine in podlage ikonskih
   značk znotraj nje. "Pregled" (brez skupine) in "Objavljanje" delita
   isti odtenek žerjavice, ker gre za osrednjo, najpogosteje uporabljeno
   vsebino — Skrbništvo je namenoma nevtralno sivo, saj gre za redkeje
   uporabljena, bolj tehnična opravila. */
.admin-sidebar-nav{ --accent-rgb:246,135,18; }
.accent-red{ --accent-rgb:246,135,18; }
.accent-gold{ --accent-rgb:212,160,23; }
.accent-teal{ --accent-rgb:47,158,143; }
.accent-blue{ --accent-rgb:90,140,220; }
.accent-purple{ --accent-rgb:155,107,214; }
.accent-gray{ --accent-rgb:180,168,152; }

.admin-sidebar-foot{ padding:16px 20px 20px; border-top:1px solid var(--line); flex:none; }
.admin-view-site-btn{
  display:grid; grid-template-columns:18px minmax(0,1fr) 12px;
  align-items:center; column-gap:8px; min-height:50px;
  background:var(--red); color:#fff; text-decoration:none; font-weight:600;
  font-size:13px; padding:10px 12px; border-radius:7px; text-align:left;
  white-space:nowrap; transition:background .15s ease;
}
.admin-view-site-btn:hover{ background:var(--red-bright); }
.admin-view-site-btn svg{ display:block; width:18px; height:18px; }
.admin-link-label{ min-width:0; }
.admin-link-arrow{ font-size:15px; line-height:1; text-align:right; }
.admin-view-site-btn-small{
  grid-template-columns:16px minmax(0,1fr) 12px; column-gap:7px;
  min-height:44px; font-size:13px; padding:9px 11px;
}
.admin-view-site-btn-small svg{ width:16px; height:16px; }

/* Skupina hitrih povezav na dnu stranske vrstice (ogled strani,
   intranet, mladina) — ista majhna oblika gumba, le vsak z rahlim
   barvnim poudarkom, da so med seboj hitro ločljivi. */
.admin-quicklinks{ display:flex; flex-direction:column; gap:8px; }
.admin-quicklinks .admin-view-site-btn-small{ margin-bottom:0; }
.admin-quicklinks .admin-view-site-btn-intranet{ background:#236b47; }
.admin-quicklinks .admin-view-site-btn-intranet:hover{ background:#2e7b52; }
.admin-quicklinks .admin-view-site-btn-mladina{ background:#345f96; }
.admin-quicklinks .admin-view-site-btn-mladina:hover{ background:#3c6da8; }
.admin-sidebar-who{
  display:flex; align-items:center; gap:10px;
  margin-top:14px; padding-top:14px; border-top:1px solid var(--line);
  font-size:12.5px; color:var(--ink-faint);
}
.admin-sidebar-avatar{
  flex:none; display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:50%;
  background:rgba(246,135,18,0.16); border:1px solid rgba(246,135,18,0.35);
  color:var(--ember); font-family:'Oswald'; font-size:14px; font-weight:600;
}
.admin-sidebar-who-text{ min-width:0; display:flex; flex-direction:column; gap:1px; }
.admin-sidebar-who strong{ color:var(--ink-dim); font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-sidebar-who a{ display:inline; color:var(--ember); text-decoration:underline; font-size:inherit; margin:0; }

.admin-menu-toggle{ display:none; }
.admin-sidebar-overlay{ display:none; }

@media (max-width:960px){
  .admin-shell{ margin-left:0; max-width:none; padding:24px 18px 60px; }
  .admin-sidebar{
    left:0; width:280px; max-width:82vw;
    transform:translateX(-100%); transition:transform .28s ease;
    box-shadow:none;
  }
  .admin-sidebar.open{ transform:translateX(0); box-shadow:16px 0 32px rgba(0,0,0,0.45); }
  .admin-menu-toggle{
    display:flex; align-items:center; gap:10px; width:100%;
    padding:15px 20px; margin-bottom:8px;
    background:var(--bg-raised); border:none; border-bottom:1px solid var(--line);
    color:var(--paper); font-size:15px; font-weight:500; font-family:'Work Sans'; cursor:pointer;
    position:sticky; top:0; z-index:150;
  }
  .admin-menu-toggle-icon{ font-size:17px; }
  .admin-sidebar-overlay{
    display:none; position:fixed; inset:0; background:rgba(8,6,4,0.6); z-index:205;
  }
  .admin-sidebar-overlay.visible{ display:block; }
}

.card{ border:1px solid var(--line-strong); border-radius:4px; background:var(--bg-raised); padding:28px; margin-bottom:28px; }
.card h2{ font-size:22px; margin-bottom:6px; }
.card > p.hint{ color:var(--ink-dim); font-size:14px; margin:0 0 20px; }

.dash-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; }
.dash-tile{
  display:flex; flex-direction:column; align-items:center; text-align:center;
  text-decoration:none; background:var(--bg-raised-2); border:1px solid var(--line-strong);
  border-radius:8px; padding:20px 14px; transition:border-color .15s ease, transform .15s ease;
}
.dash-tile:hover{ border-color:var(--ember); transform:translateY(-2px); }
.dash-tile svg{ width:26px; height:26px; color:var(--ember); margin-bottom:10px; flex:none; }
.dash-tile .n{ font-family:'Oswald'; font-size:26px; color:var(--paper); line-height:1; }
.dash-tile .l{ font-size:12.5px; color:var(--ink-dim); margin-top:6px; line-height:1.35; }

@media (max-width:900px){ .dash-grid{ grid-template-columns:repeat(3, 1fr); } }
@media (max-width:600px){
  .dash-grid{ grid-template-columns:repeat(2, 1fr); gap:12px; }
  .dash-tile{ padding:16px 10px; }
  .dash-tile svg{ width:22px; height:22px; margin-bottom:8px; }
  .dash-tile .n{ font-size:21px; }
  .dash-tile .l{ font-size:12px; }
}
label{ display:block; font-size:13.5px; color:var(--ink-dim); margin:0 0 6px; font-weight:600; }
input:not([type]), input[type=text], input[type=password], input[type=date], input[type=number], input[type=email], input[type=file], input[type=tel], input[type=url], textarea, select{
  width:100%; background:var(--input-bg); border:1px solid var(--input-border); color:var(--paper);
  border-radius:5px; padding:12px 14px; font-family:'Work Sans', sans-serif; font-size:14.5px;
  margin-bottom:18px; box-shadow:var(--input-shadow);
}
textarea{ min-height:110px; resize:vertical; }
input:focus, textarea:focus, select:focus{
  outline:none; border-color:var(--ember);
  box-shadow:var(--input-shadow), 0 0 0 3px rgba(246,135,18,0.22);
}
.form-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:600px){ .form-row-2{grid-template-columns:1fr;} }
.form-row-3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:18px; }
@media (max-width:900px){ .form-row-3{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){
  .form-row-3{grid-template-columns:1fr;}
  /* Na eno-stolpčni postavitvi ni več za kaj poravnavati z višino
     nalepke sosednjega polja, zato ta zamik samo ustvarja prazen prostor. */
  .form-row-3 .pin-checkbox{ margin-top:0 !important; }
}

/* Vnos datuma kot ločena polja dan / mesec / leto */
.date-fields{ display:grid; grid-template-columns:1fr 1.6fr 1fr; gap:10px; margin-bottom:18px; }
.date-fields select, .date-fields input{ margin-bottom:0; }
@media (max-width:480px){ .date-fields{ grid-template-columns:1fr; } }

.flash{
  padding:13px 16px; border-radius:3px; font-size:14px; margin-bottom:22px;
  animation:obvestiloVstop .35s ease;
}
@keyframes obvestiloVstop{ from{ opacity:0; transform:translateY(-8px); } to{ opacity:1; transform:none; } }

/* Kontaktni obrazec (javna stran) */
.contact-form{ width:100%; }
.hp-field{ position:absolute; left:-9999px; top:-9999px; opacity:0; height:0; overflow:hidden; }
.flash-err{ background:rgba(212,41,31,0.14); border:1px solid rgba(212,41,31,0.4); color:#f0a89e; }
.flash-ok{ background:rgba(111,174,106,0.14); border:1px solid rgba(111,174,106,0.4); color:#b7d9b3; }

/* Kratko, samodejno izginjajoče obvestilo o uspehu/neuspehu izdaje
   računa — plava nad vsebino, da je opazno ne glede na to, kje na
   strani se uporabnik nahaja po preusmeritvi. */
.racun-toast{
  position:fixed; top:24px; left:50%; transform:translateX(-50%);
  z-index:900; padding:14px 26px; border-radius:8px; font-size:14.5px; font-weight:600;
  box-shadow:0 12px 30px rgba(0,0,0,0.35); opacity:1; transition:opacity .3s ease, transform .3s ease;
}
.racun-toast-out{ opacity:0; transform:translateX(-50%) translateY(-12px); }
.racun-toast-ok{ background:#2f7a2b; color:#fff; border:1px solid #6fae6a; }
.racun-toast-err{ background:#8a231c; color:#fff; border:1px solid #d4291f; }
@media (max-width:600px){
  .racun-toast{ left:16px; right:16px; transform:none; text-align:center; }
  .racun-toast-out{ transform:translateY(-12px); }
}

table.admin-table{ width:100%; border-collapse:collapse; }
table.admin-table th{
  text-align:left; font-size:12.5px; text-transform:uppercase; letter-spacing:.04em;
  color:var(--ink-faint); font-weight:500; padding:10px 12px; border-bottom:1px solid var(--line-strong);
}
table.admin-table td{ padding:14px 12px; border-bottom:1px solid var(--line); font-size:14.5px; vertical-align:top; }
table.admin-table tr:last-child td{ border-bottom:none; }
table.admin-table tbody tr{ transition:background-color .15s ease; }
table.admin-table tbody tr:not(.row-zamuja):hover{ background-color:rgba(246,135,18,0.06); }
.row-actions{ display:flex; gap:8px; flex-wrap:wrap; }

/* ---------- KOLEDAR / EVIDENCA IZPOSOJ — nove UI izboljšave ---------- */
.stat-cards{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:16px; margin:18px 0 22px; }
.stat-card{
  background:var(--bg-raised-2); border:1px solid var(--line-strong); border-radius:8px;
  padding:18px 20px; text-align:center;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.stat-card:hover{ transform:translateY(-3px); box-shadow:0 10px 24px rgba(0,0,0,0.28); border-color:var(--ember); }
.stat-card-warn{ border-color:var(--err); background:rgba(212,41,31,0.08); }
.stat-card-warn:hover{ border-color:var(--err); }
.stat-num{ font-family:'Oswald'; font-size:32px; font-weight:700; color:var(--ember); line-height:1; }
.stat-card-warn .stat-num{ color:var(--err); }
.stat-label{ font-size:12.5px; color:var(--ink-dim); margin-top:6px; }

.status-badge{
  display:inline-flex; align-items:center; gap:4px; font-size:12.5px; font-weight:600;
  padding:4px 11px; border-radius:20px; white-space:nowrap;
}
.status-v-teku{ background:rgba(90,140,220,0.15); color:#8fb4e8; border:1px solid rgba(90,140,220,0.4); }
.status-rezervirano{ background:rgba(246,135,18,0.14); color:var(--ember); border:1px solid rgba(246,135,18,0.4); }
.status-zamuja{ background:rgba(212,41,31,0.16); color:#f0a89e; border:1px solid rgba(212,41,31,0.45); }
.status-zakljuceno{ background:rgba(239,231,216,0.08); color:var(--ink-faint); border:1px solid var(--line-strong); }
.status-racun-izdan{ background:rgba(111,174,106,0.15); color:var(--ok); border:1px solid rgba(111,174,106,0.4); }

.row-zamuja{ background:rgba(212,41,31,0.05); }
.row-zamuja:hover{ background:rgba(212,41,31,0.1); }

.evidenca-filter-row{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom:16px; }
.evidenca-search{ flex:1; min-width:220px; }
#evidencaStanjeFilter{ flex:none; width:auto; min-width:160px; }


/* Na ozkih zaslonih se tabela prelomi v sklop kartic (ena vrstica =
   ena kartica z oznakami polj), namesto da bi se stisnila ali gnila
   čez rob zaslona. Zahteva "data-label" na vsakem <td>, ki se prikaže
   prek CSS content:attr() namesto skrite glave tabele. */
@media (max-width:820px){
  table.admin-table{ border:none; }
  table.admin-table tr:first-child{ display:none; }
  table.admin-table, table.admin-table tbody, table.admin-table tr, table.admin-table td{ display:block; width:100%; }
  table.admin-table tr{
    margin-bottom:16px; border:1px solid var(--line-strong); border-radius:6px;
    padding:4px 0; background:var(--bg-raised);
  }
  table.admin-table td{
    padding:9px 14px; border-bottom:1px solid var(--line); text-align:left;
    word-break:break-word; overflow-wrap:anywhere;
  }
  table.admin-table td:last-child{ border-bottom:none; }
  table.admin-table td:empty{ display:none; }
  table.admin-table td[data-label]:before{
    content:attr(data-label); display:block;
    font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-faint);
    margin-bottom:3px;
  }
  /* Stolpec z dejanji (brez oznake, brez besedila) naj razporedi gumbe lepo */
  table.admin-table td .row-actions{ width:100%; }
  table.admin-table td.thumb-cell{ text-align:center; }
}

/* Bočni meni (272px) na teh širinah že zavzame prostor, a tabela bi se
   brez tega pravila še vedno poskušala prikazati kot polna tabela,
   čeprav ji dejansko razpoložljivega prostora zmanjka — uporabi torej
   isti "kartični" prikaz kot zgoraj tudi tu. */
@media (min-width:821px) and (max-width:1092px){
  table.admin-table{ border:none; }
  table.admin-table tr:first-child{ display:none; }
  table.admin-table, table.admin-table tbody, table.admin-table tr, table.admin-table td{ display:block; width:100%; }
  table.admin-table tr{
    margin-bottom:16px; border:1px solid var(--line-strong); border-radius:6px;
    padding:4px 0; background:var(--bg-raised);
  }
  table.admin-table td{
    padding:9px 14px; border-bottom:1px solid var(--line); text-align:left;
    word-break:break-word; overflow-wrap:anywhere;
  }
  table.admin-table td:last-child{ border-bottom:none; }
  table.admin-table td:empty{ display:none; }
  table.admin-table td[data-label]:before{
    content:attr(data-label); display:block;
    font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-faint);
    margin-bottom:3px;
  }
  table.admin-table td .row-actions{ width:100%; }
  table.admin-table td.thumb-cell{ text-align:center; }
}

.login-shell{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
.login-card{ width:100%; max-width:380px; border:1px solid var(--line-strong); background:var(--bg-raised); border-radius:6px; padding:36px; }
.login-card h1{ font-size:24px; margin-bottom:6px; text-transform:none; }
.login-card p.hint{ color:var(--ink-dim); font-size:14px; margin:0 0 24px; }

.thumb-cell img{ width:88px; height:60px; object-fit:cover; border-radius:3px; border:1px solid var(--line); }

/* Pripenjanje novic/dogodkov na vrh */
.pin-checkbox{
  display:flex; align-items:center; gap:10px; font-size:14.5px; color:var(--ink-dim);
  margin:-4px 0 20px; cursor:pointer;
}
.pin-checkbox input{ width:auto; margin:0; }

.pravice-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:6px 20px;
  background:var(--input-bg); border:1px solid var(--input-border); border-radius:6px;
  padding:16px 18px 4px; margin-bottom:20px;
}
.pravice-grid .pin-checkbox{ margin:0 0 12px; font-size:14px; }

.password-with-actions{ display:flex; gap:8px; align-items:center; }
.password-with-actions input{ flex:1; min-width:0; }
.password-with-actions button{ flex:none; }

.dnevnik-filtri{
  display:flex; gap:14px; align-items:flex-end; flex-wrap:wrap;
  margin-bottom:6px; padding-bottom:18px; border-bottom:1px solid var(--line);
}
.dnevnik-filter-polje{ display:flex; flex-direction:column; gap:6px; min-width:160px; flex:1; }
.dnevnik-filter-polje label{ font-size:12.5px; color:var(--ink-faint); }
.dnevnik-filter-polje input, .dnevnik-filter-polje select{ width:100%; }
@media (max-width:600px){
  .dnevnik-filtri{ flex-direction:column; align-items:stretch; }
  .dnevnik-filter-polje{ min-width:0; }
}

.zg-povzetek{
  display:flex; gap:0; flex-wrap:wrap; margin:20px 0; border:1px solid var(--line-strong);
  border-radius:6px; overflow:hidden;
}
.zg-povzetek-postavka{
  flex:1; min-width:140px; padding:16px 20px; text-align:center;
  border-right:1px solid var(--line-strong); background:var(--bg-raised);
}
.zg-povzetek-postavka:last-child{ border-right:none; }
.zg-st{ display:block; font-family:'Oswald'; font-size:28px; color:var(--ember); }
.zg-lab{ display:block; font-size:12.5px; color:var(--ink-faint); margin-top:4px; }
@media (max-width:600px){
  .zg-povzetek-postavka{ min-width:100%; border-right:none; border-bottom:1px solid var(--line-strong); }
  .zg-povzetek-postavka:last-child{ border-bottom:none; }
}

.tip-preklop{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
.tip-opcija{
  flex:1; min-width:220px; display:flex; gap:10px; align-items:flex-start;
  border:1px solid var(--line-strong); border-radius:6px; padding:14px 16px; cursor:pointer;
}
.tip-opcija:has(input:checked){ border-color:var(--ember); background:rgba(246,135,18,0.06); }
.tip-opcija input{ width:auto; margin:3px 0 0; }
.tip-opcija .hint{ font-weight:400; margin:2px 0 0; }
.pin-badge{ margin-right:6px; }

.rental-estimate{
  border:1px dashed var(--line-strong); border-radius:6px; padding:14px 18px;
  margin:-6px 0 20px; font-size:14px; color:var(--ink-dim); background:rgba(246,135,18,0.05);
}
.rental-estimate strong{ color:var(--ember); font-family:'Oswald'; }

/* Izbira barve v ceniku + prikaz barve v seznamih */
.color-picker-row{ display:flex; align-items:center; gap:12px; margin-bottom:18px; }
input[type=color]{
  width:52px; height:38px; padding:3px; border:1px solid var(--input-border);
  border-radius:4px; background:var(--input-bg); cursor:pointer; margin:0; flex:none;
}
.color-hint{ font-size:13px; color:var(--ink-faint); }
.color-swatch{
  display:inline-block; width:14px; height:14px; border-radius:3px;
  vertical-align:-2px; margin-right:8px; box-shadow:0 0 0 1px rgba(0,0,0,0.4);
}

.color-presets{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.color-preset-swatch{
  width:42px; height:42px; border-radius:8px; border:2px solid transparent;
  display:flex; align-items:center; justify-content:center; padding:0;
  cursor:pointer; position:relative; box-shadow:0 0 0 1px rgba(0,0,0,0.25) inset;
}
.color-preset-swatch svg{ width:20px; height:20px; }
.color-preset-swatch.izbran{ border-color:var(--paper); box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--paper); }
.color-preset-swatch.zaseden{ cursor:not-allowed; opacity:0.55; }
.color-preset-swatch:not(.zaseden):hover{ transform:scale(1.08); }

/* Interni podatki v urejevalniku — vizualno ločeni, da je jasno,
   da niso javno vidni */
.internal-fields{
  border:1px dashed var(--line-strong); border-radius:6px;
  padding:20px 22px; margin:6px 0 22px; background:rgba(239,231,216,0.03);
}
.internal-fields h3{
  font-size:13px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--ember); margin-bottom:6px;
}
.internal-fields p.hint{ font-size:13px; color:var(--ink-dim); margin:0 0 16px; }
.upload-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:16px; margin-top:8px; }
.upload-grid figure{ margin:0; border:1px solid var(--line); border-radius:4px; overflow:hidden; background:var(--bg); }
.upload-grid img{ width:100%; height:110px; object-fit:cover; }
.upload-grid figcaption{ padding:8px 10px; font-size:12.5px; color:var(--ink-dim); }
.upload-grid form{ margin:8px 10px 10px; }

/* ---------- IZPOSOJA IN CENIK (storitve, redne storitve, koledar) ---------- */
.service-list{ display:flex; flex-direction:column; }
.service-row{
  display:grid; grid-template-columns:72px 1fr auto; gap:20px; align-items:center;
  padding:20px 0; border-bottom:1px solid var(--line);
}
.service-row > *{ min-width:0; }
.service-row:last-child{ border-bottom:none; }
.service-thumb{
  width:72px; height:72px; object-fit:cover; border-radius:6px;
  border:1px solid var(--line-strong); cursor:pointer; flex:none;
}
.service-thumb-slot{
  display:flex; align-items:center; justify-content:center; color:var(--ink-faint);
  background:var(--bg-raised-2);
}
.service-row-body h3{ font-size:16.5px; margin-bottom:4px; overflow-wrap:anywhere; }
.service-row-body p{ color:var(--ink-dim); font-size:14px; margin:0; line-height:1.55; overflow-wrap:anywhere; }
.service-row-price{
  font-family:'Oswald'; font-size:19px; color:var(--ember); text-align:right; white-space:nowrap; flex:none;
}
.service-row-price span{ font-size:12.5px; color:var(--ink-faint); font-family:'Work Sans'; display:block; margin-top:2px; }
.service-row-details{
  grid-column:1 / -1; margin-top:16px; padding-top:16px; border-top:1px solid var(--line);
}
.service-row-details .vozilo-tech-grid{ padding:0; margin-bottom:8px; border-top:none; }
.service-row-details .vozilo-oprema-label{ margin-top:14px; padding-top:14px; }

/* ---------- KONTAKT ZA REZERVACIJO/PREVZEM/VRAČILO IZPOSOJE ---------- */
/* Majhen okvirček pod koledarjem v rubriki "Zasedenost in
   povpraševanje" — prej je bila ta kartica čez celo širino strani,
   ločeno od koledarja/obrazca, kar ni bilo smiselno umeščeno. */
.cal-kolona{ display:flex; flex-direction:column; gap:20px; }
.rezervacija-box{
  width:100%; max-width:380px; background:var(--bg-raised); border:1px solid var(--line-strong);
  border-radius:8px; padding:18px 20px;
}
.rezervacija-box h4{ font-size:14.5px; margin:0 0 4px; }
.rezervacija-box > p{ color:var(--ink-dim); font-size:13px; margin:0 0 14px; }
.rezervacija-oseba{ padding:12px 0; border-top:1px solid var(--line); }
.rezervacija-oseba:first-of-type{ border-top:none; padding-top:0; }
.rc-ime{ display:block; font-weight:600; font-size:14.5px; margin-bottom:2px; }
.rc-vloga{ display:block; font-size:12px; color:var(--ember); text-transform:uppercase; letter-spacing:.04em; margin-bottom:6px; }
.rc-line{ display:block; font-size:13.5px; color:var(--ink-dim); text-decoration:none; margin-top:3px; }
.rc-line:hover{ color:var(--ember); text-decoration:underline; }
@media (max-width:640px){
  .service-row{ grid-template-columns:52px 1fr; row-gap:10px; }
  .service-thumb{ width:52px; height:52px; }
  .service-row-price{ grid-column:2; text-align:left; }
  .service-row-details{ grid-column:1 / -1; }
}

table.simple-price{ width:100%; border-collapse:collapse; }
table.simple-price th{ text-align:left; font-size:12.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-faint); padding:10px 12px; border-bottom:1px solid var(--line-strong); }
table.simple-price td{ padding:14px 12px; border-bottom:1px solid var(--line); font-size:15px; }
table.simple-price td.price{ text-align:right; font-family:'Oswald'; color:var(--ember); }

.sub-divider .cal-shell{ margin-top:8px; }
.cal-shell{ width:100%; max-width:460px; }
.cal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.cal-head h3{ font-size:18px; }
.cal-nav{ display:flex; gap:8px; }
.cal-nav button{ background:transparent; border:1px solid var(--line-strong); color:var(--paper); width:32px; height:32px; border-radius:4px; cursor:pointer; }
.cal-nav button:hover{ border-color:var(--ember); color:var(--ember); }
.cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.cal-dow{ text-align:center; font-size:11px; color:var(--ink-faint); padding-bottom:6px; text-transform:uppercase; }
.cal-day{
  aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:3px; border-radius:5px; font-size:13.5px; color:var(--ink-dim);
  background:var(--bg-raised-2); border:1px solid var(--line);
}
.cal-day.empty{ background:transparent; border-color:transparent; }
.cal-day.busy{ color:#fff; cursor:pointer; font-weight:600; border-color:transparent; }
.cal-day.busy:hover{ outline:2px solid var(--paper); outline-offset:-2px; }
.cal-day .cal-num{ line-height:1; }

/* --- Izbirnik obdobja (klikni začetek, nato konec) --- */
.range-cal-shell{ max-width:420px; margin-bottom:18px; }
.cal-day.range-pick{ cursor:pointer; }
.cal-day.range-pick:hover{ background:var(--ember); color:#fff; border-color:var(--ember); }
.cal-day.range-today .cal-num{ text-decoration:underline; text-underline-offset:3px; }
.cal-day.range-start, .cal-day.range-end{ background:var(--red); color:#fff; font-weight:600; border-color:var(--red); }
.cal-day.range-mid{ background:rgba(178,2,2,0.28); color:var(--paper); border-color:rgba(178,2,2,0.4); }
.cal-day.range-start.range-end{ border-radius:4px; }
.cal-day.range-start:not(.range-end){ border-radius:4px 0 0 4px; }
.cal-day.range-end:not(.range-start){ border-radius:0 4px 4px 0; }
.cal-dots{ display:flex; gap:2px; }
.cal-dots i{ width:5px; height:5px; border-radius:50%; display:block; box-shadow:0 0 0 1px rgba(0,0,0,0.35); }

/* Na širših zaslonih naj se koledar dejansko poveča, ne ostane
   majhen sredi praznega prostora — razmiki in pisave rastejo z njim. */
@media (min-width:640px){
  .cal-shell{ max-width:540px; }
  .cal-head h3{ font-size:20px; }
  .cal-dow{ font-size:12px; }
  .cal-day{ font-size:15px; gap:4px; }
  .cal-grid{ gap:6px; }
}
@media (min-width:1024px){
  .cal-shell{ max-width:660px; }
  .cal-head{ margin-bottom:20px; }
  .cal-head h3{ font-size:23px; }
  .cal-nav button{ width:36px; height:36px; }
  .cal-dow{ font-size:13px; padding-bottom:9px; }
  .cal-day{ font-size:17px; border-radius:6px; gap:5px; }
  .cal-grid{ gap:8px; }
  .cal-dots i{ width:6px; height:6px; }
}
@media (min-width:1300px){
  .cal-shell{ max-width:760px; }
  .cal-day{ font-size:18px; }
}

.cal-detail{
  margin-top:14px; padding:14px 16px; border:1px solid var(--line-strong);
  border-radius:6px; background:var(--bg-raised); font-size:14px;
}
.cal-detail ul{ list-style:none; margin:8px 0 0; padding:0; }
.cal-detail li{ display:flex; align-items:center; gap:8px; padding:4px 0; color:var(--ink-dim); }
.cal-detail .dot{ width:10px; height:10px; border-radius:2px; flex:none; }
.cal-detail-name{ flex:1; }
.cal-detail-qty{ font-family:'Oswald'; font-size:13px; color:var(--ink-faint); flex:none; }

.cal-legend{ display:flex; gap:16px; margin-top:16px; font-size:12.5px; color:var(--ink-dim); flex-wrap:wrap; }
.cal-legend .dot{ display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:6px; vertical-align:middle; }
.cal-legend .dot-free{ background:var(--bg-raised); border:1px solid var(--line-strong); }
.cal-empty{ margin-top:16px; font-size:13.5px; color:var(--ink-faint); }
@media (min-width:1024px){
  .cal-detail{ padding:18px 20px; font-size:15px; }
  .cal-legend{ font-size:13.5px; gap:20px; margin-top:20px; }
}

/* ---------- INTERVENCIJE ---------- */
.news-date-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.news-date-row .news-date{ margin:0; }

/* ---------- ZBIRALNA AKCIJA ---------- */
.campaign-badge{
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid rgba(246,135,18,0.45); border-radius:20px;
  padding:6px 16px 6px 12px; font-size:13px; font-weight:600; letter-spacing:.03em;
  color:var(--ember); background:rgba(246,135,18,0.08); margin-bottom:22px;
  text-transform:uppercase;
}
.campaign-badge .flame{ width:15px; height:15px; flex:none; }

.campaign-hero{ display:grid; grid-template-columns:1.05fr 1fr; gap:44px; align-items:center; }
@media (max-width:900px){ .campaign-hero{ grid-template-columns:1fr; gap:32px; } }

.campaign-hero-media{ position:relative; border-radius:8px; overflow:hidden; border:1px solid var(--line-strong); aspect-ratio:4/3; }
.campaign-hero-img{ width:100%; height:100%; object-fit:cover; display:block; cursor:pointer; }
.campaign-hero-media::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.32) 100%);
}
@media (max-width:900px){ .campaign-hero-media{ aspect-ratio:16/10; } }

.campaign-hero-body h2{ font-size:clamp(28px,4vw,40px); line-height:1.08; }
.campaign-hero-body-solo{ grid-column:1 / -1; max-width:720px; }
.campaign-hero-sub{ margin-top:12px; font-size:18px; color:var(--paper); font-weight:600; }
.campaign-hero-desc{ margin-top:12px; font-size:15px; color:var(--ink-dim); line-height:1.65; }

.campaign-stats{ display:grid; grid-template-columns:repeat(3, auto); gap:28px; margin-top:28px; }
.campaign-stats-single{ grid-template-columns:auto; }
.campaign-stat-num{
  font-family:'Oswald', sans-serif; font-weight:700; font-size:clamp(24px,3vw,32px);
  line-height:1; color:var(--paper); white-space:nowrap;
}
.campaign-stat-accent .campaign-stat-num{ color:var(--ember); }
.campaign-stat-label{ font-size:12.5px; color:var(--ink-dim); margin-top:5px; text-transform:uppercase; letter-spacing:.04em; }
@media (max-width:480px){ .campaign-stats{ grid-template-columns:repeat(3, 1fr); gap:14px; } }

.campaign-progress-wrap{ margin-top:18px; }
.campaign-progress-bar{ width:100%; height:14px; border-radius:7px; background:var(--bg-raised-2); border:1px solid var(--line-strong); overflow:hidden; }
.campaign-progress-fill{ height:100%; background:linear-gradient(90deg, var(--red), var(--ember)); border-radius:7px 0 0 7px; transition:width 1s cubic-bezier(.16,1,.3,1); }

.campaign-cta-row{ display:flex; gap:14px; flex-wrap:wrap; margin-top:28px; }

.campaign-donate-card{
  margin-top:52px; border:1px solid var(--line-strong); border-radius:10px;
  background:var(--bg-raised); padding:32px 32px 36px;
}
.campaign-donate-head{ margin-bottom:24px; }
.campaign-donate-head h3{ font-size:22px; margin:0; }
.campaign-donate-head p{ color:var(--ink-dim); font-size:14.5px; margin:8px 0 0; }
@media (max-width:560px){ .campaign-donate-card{ padding:24px 20px 28px; } }

.campaign-timeline{ position:relative; padding-left:28px; }
.campaign-timeline::before{ content:''; position:absolute; left:5px; top:6px; bottom:6px; width:2px; background:var(--line-strong); }
.campaign-tl-item{ position:relative; padding-bottom:28px; }
.campaign-tl-item:last-child{ padding-bottom:0; }
.campaign-tl-dot{
  position:absolute; left:-28px; top:4px; width:12px; height:12px; border-radius:50%;
  background:var(--ember); border:2px solid var(--bg-raised); box-shadow:0 0 0 2px var(--ember);
}
.campaign-tl-date{ font-family:'Oswald'; font-size:13px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.03em; margin-bottom:4px; }
.campaign-tl-body h4{ font-size:16.5px; margin-bottom:5px; }
.campaign-tl-body p{ font-size:14.5px; color:var(--ink-dim); margin:0; line-height:1.6; }

.botri-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(160px,1fr)); gap:18px; }
.boter-card{
  border:1px solid var(--line); border-top:3px solid var(--line-strong); border-radius:6px; padding:22px 16px; text-align:center;
  background:var(--bg-raised); transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.boter-card:hover{ transform:translateY(-3px); box-shadow:0 10px 22px rgba(0,0,0,0.25); }
.boter-card img{ width:64px; height:64px; object-fit:cover; border-radius:50%; margin:0 auto 12px; display:block; border:1px solid var(--line-strong); }
.boter-avatar-fallback{
  width:64px; height:64px; border-radius:50%; margin:0 auto 12px; display:flex;
  align-items:center; justify-content:center; font-family:'Oswald'; font-size:19px;
  color:var(--ember); background:var(--bg-raised-2); border:1px solid var(--line-strong);
}
.boter-ime{ font-weight:600; font-size:14.5px; }
.boter-razred{ font-size:12.5px; color:var(--ember); margin-top:4px; font-family:'Oswald'; text-transform:uppercase; letter-spacing:.04em; }

.boter-tier-gold{ border-top-color:#d4af37; }
.boter-tier-gold .boter-razred{ color:#d4af37; }
.boter-tier-gold .boter-avatar-fallback{ color:#d4af37; border-color:rgba(212,175,55,0.5); }
.boter-tier-silver{ border-top-color:#b9c2cc; }
.boter-tier-silver .boter-razred{ color:#b9c2cc; }
.boter-tier-silver .boter-avatar-fallback{ color:#b9c2cc; border-color:rgba(185,194,204,0.5); }
.boter-tier-bronze{ border-top-color:#b5794a; }
.boter-tier-bronze .boter-razred{ color:#b5794a; }
.boter-tier-bronze .boter-avatar-fallback{ color:#b5794a; border-color:rgba(181,121,74,0.5); }

/* ---------- OBRAZCI ---------- */
.forms-list{ display:flex; flex-direction:column; gap:16px; }
.form-item{
  display:flex; align-items:center; gap:18px; padding:20px 22px;
  border:1px solid var(--line); border-radius:6px; background:var(--bg-raised);
}
.form-item-icon{ flex:none; font-size:28px; }
.form-item-body{ flex:1; min-width:0; }
.form-item-body h3{ font-size:16px; margin-bottom:4px; }
.form-item-body p{ font-size:14px; color:var(--ink-dim); margin:0; }
.form-item-download{ flex:none; white-space:nowrap; }
.form-item-ext{ font-family:'Oswald'; font-size:12px; color:var(--ember); margin-left:2px; }
@media (max-width:600px){
  .form-item{ flex-wrap:wrap; }
  .form-item-body{ flex-basis:100%; order:1; }
  .form-item-icon{ order:0; }
  .form-item-download{ order:2; margin-left:auto; }
}

/* Blaga ovira pred priložnostnim kopiranjem fotografij (ni prava
   zaščita — nekoga odločenega ne ustavi — a odvrne priložnostno
   "povleci sliko na namizje"). Ne velja za logotip v glavi/nogi. */
main img{ -webkit-user-drag:none; user-drag:none; -webkit-touch-callout:none; }

/* ---------- VREME IN NESREČE (radar + SPIN) ---------- */
.weather-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(420px, 100%), 1fr)); gap:24px; }
.weather-panel{ background:var(--bg-raised); border:1px solid var(--line-strong); border-radius:8px; padding:22px 24px 24px; display:flex; flex-direction:column; }
.weather-panel h3{ font-size:17px; margin-bottom:6px; }
.weather-panel-note{ color:var(--ink-faint); font-size:13px; margin-bottom:14px; }
.weather-radar-img{ width:100%; border-radius:5px; border:1px solid var(--line); background:var(--bg-raised-2); }
.weather-spin-cta{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  min-height:220px; border:1px dashed var(--line-strong); border-radius:5px; background:var(--bg-raised-2);
  color:var(--ember); text-decoration:none; font-family:'Oswald'; font-size:17px; letter-spacing:.02em;
  transition:border-color .15s ease, background .15s ease;
}
.weather-spin-cta:hover{ border-color:var(--ember); background:rgba(246,135,18,0.06); }
.weather-panel-link{ margin-top:14px; font-size:13.5px; color:var(--ember); text-decoration:underline; text-underline-offset:2px; align-self:flex-start; }
@media (max-width:600px){
  .weather-spin-cta{ min-height:180px; }
}

/* ---------- KLIC V SILI 112 ---------- */
.emergency-intro{ display:flex; align-items:center; gap:28px; margin-bottom:36px; flex-wrap:wrap; }
.emergency-112-badge{
  flex:none; font-family:'Oswald'; font-weight:700; font-size:40px; letter-spacing:0.01em;
  color:#fff; background:var(--red); width:112px; height:112px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 6px rgba(178,2,2,0.14);
}
.emergency-intro h2{ margin-bottom:8px; }
.emergency-intro p{ color:var(--ink-dim); font-size:15px; margin:0; }
.emergency-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; }
.emergency-item{
  background:var(--bg-raised); border:1px solid var(--line-strong); border-radius:8px;
  padding:22px 18px; text-align:center;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.emergency-item:hover{
  transform:translateY(-5px); border-color:var(--red-bright);
  box-shadow:0 16px 30px rgba(0,0,0,0.3);
}
.emergency-item svg{ width:32px; height:32px; color:var(--ember); margin-bottom:12px; }
.emergency-item h3{
  font-family:'Oswald'; font-size:16px; letter-spacing:.05em; color:var(--red-bright);
  margin-bottom:6px;
}
:root[data-theme="light"] .emergency-item h3{ color:var(--red); }
.emergency-item p{ font-size:13.5px; color:var(--ink-dim); margin:0; line-height:1.5; }
.emergency-footer-note{
  margin-top:28px; text-align:center; font-size:14px; color:var(--ink-faint);
  padding-top:22px; border-top:1px solid var(--line);
}
@media (max-width:900px){
  .emergency-grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:520px){
  .emergency-112-badge{ width:88px; height:88px; font-size:30px; }
  .emergency-intro{ gap:18px; }
}

/* ---------- MODALNO OKNO (npr. "Zaključi izposojo") ---------- */
/* Namenoma prekrije celotno stran, da ga ni mogoče spregledati ali
   pomotoma prezreti — za pomembna dejanja, ki jih uporabnik MORA
   zavestno bodisi dokončati bodisi izrecno opustiti. */
.modal-overlay{
  position:fixed; inset:0; z-index:500; background:rgba(8,6,4,0.72);
  display:flex; align-items:flex-start; justify-content:center;
  padding:5vh 20px; overflow-y:auto;
  animation:modalFadeIn .15s ease;
}
@keyframes modalFadeIn{ from{ opacity:0; } to{ opacity:1; } }
.modal-box{
  position:relative; width:100%; max-width:600px; margin-bottom:5vh;
  box-shadow:0 24px 60px rgba(0,0,0,0.55); border-color:var(--ember);
  animation:modalPopIn .18s ease;
}
@keyframes modalPopIn{ from{ opacity:0; transform:translateY(-14px) scale(0.98); } to{ opacity:1; transform:none; } }
.modal-x{
  position:absolute; top:16px; right:16px; width:34px; height:34px; border-radius:50%;
  background:var(--input-bg); border:1px solid var(--input-border); color:var(--ink-dim);
  font-size:20px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.modal-x:hover{ border-color:var(--ember); color:var(--ember); }
.modal-actions{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
@media (max-width:480px){
  .modal-overlay{ padding:0; align-items:flex-end; }
  .modal-box{ max-width:none; margin-bottom:0; border-radius:14px 14px 0 0; max-height:92vh; overflow-y:auto; }
}

/* ---------- POJAVNO OKNO ZA NOVICE/DOGODKE (javna stran) ---------- */
.news-card-clickable, .ev-card-clickable{ cursor:pointer; }
.news-card-clickable:hover, .ev-card-clickable:hover{
  transform:translateY(-5px); border-color:var(--ember);
  box-shadow:0 16px 30px rgba(0,0,0,0.3);
}
.news-photo-count{
  position:absolute; bottom:10px; right:10px; background:rgba(0,0,0,0.65); color:#fff;
  font-size:12px; font-weight:600; padding:3px 9px; border-radius:20px;
}
.content-modal-overlay{
  display:none; position:fixed; inset:0; z-index:500; background:rgba(8,6,4,0.72);
  align-items:flex-start; justify-content:center; padding:5vh 20px; overflow-y:auto;
}
.content-modal-overlay.open{ display:flex; animation:modalFadeIn .15s ease; }
.content-modal-box{
  position:relative; width:100%; max-width:640px; margin-bottom:5vh;
  background:var(--bg-raised); border:1px solid var(--line-strong); border-radius:8px;
  padding:32px; box-shadow:0 24px 60px rgba(0,0,0,0.4);
  animation:modalPopIn .18s ease; max-height:88vh; overflow-y:auto;
}
.content-modal-box h3{ font-size:22px; margin:6px 0 12px; }
.content-modal-text{ color:var(--ink-dim); line-height:1.65; white-space:pre-line; margin-bottom:18px; }
.content-modal-gallery{ display:grid; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:10px; }
.content-modal-gallery img{ width:100%; height:120px; object-fit:cover; border-radius:6px; cursor:zoom-in; }
@media (max-width:480px){
  .content-modal-box{ padding:24px 20px; max-width:none; border-radius:14px 14px 0 0; }
}

/* ---------- ISKALNIK ---------- */
.search-toggle{
  display:flex; align-items:center; justify-content:center; flex:none;
  width:38px; height:38px; border-radius:50%;
  background:none; border:1px solid var(--line-strong); color:var(--paper); cursor:pointer;
}
.search-toggle:hover{ border-color:var(--ember); color:var(--ember); }
.search-toggle.active{ background:var(--ember); border-color:var(--ember); color:#fff; }
.search-panel{
  display:none; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:var(--bg-raised); animation:modalFadeIn .12s ease;
}
.search-panel.open{ display:block; }
.search-panel-inner{ display:flex; align-items:center; gap:12px; padding:16px 24px; }
.search-panel-icon{ flex:none; color:var(--ink-faint); }
.search-panel-inner input{
  flex:1; background:none; border:none; outline:none; color:var(--paper);
  font-size:16px; font-family:'Work Sans', sans-serif; padding:6px 0;
}
.search-panel-inner input::placeholder{ color:var(--ink-faint); }
#searchClose{
  flex:none; background:none; border:none; color:var(--ink-faint); font-size:22px;
  line-height:1; cursor:pointer; padding:0 4px;
}
#searchClose:hover{ color:var(--ember); }
.search-results{ max-height:0; overflow-y:auto; transition:max-height .15s ease; }
.search-results.has-results{ max-height:min(60vh, 480px); border-top:1px solid var(--line); }
.search-result-item{
  display:flex; align-items:baseline; gap:12px; padding:13px 24px; text-decoration:none;
  width:100%; text-align:left; font:inherit; background:transparent; color:inherit;
  border:0; border-bottom:1px solid var(--line); cursor:pointer;
}
.search-result-item:hover{ background:rgba(246,135,18,0.07); }
.search-result-tip{ flex:none; font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--ember); width:110px; }
.search-result-body{ min-width:0; flex:1; }
.search-result-title{ display:block; font-weight:600; color:var(--paper); font-size:14.5px; }
.search-result-snippet{ display:block; font-size:13px; color:var(--ink-dim); margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.search-no-results{ padding:20px 24px; color:var(--ink-faint); font-size:14px; }
@media (max-width:600px){
  .search-panel-inner{ padding:12px 16px; }
  .search-result-item{ padding:12px 16px; flex-wrap:wrap; }
  .search-result-tip{ width:auto; }
}

/* ---------- ZGODOVINA RAZLIČIC (admin/changelog.php) ---------- */
.changelog-list{ max-width:820px; margin:0 auto; }
.changelog-entry{
  display:grid; grid-template-columns:150px 1fr; gap:24px;
  padding:22px 0; border-bottom:1px solid var(--line);
}
.changelog-entry > *{ min-width:0; }
.changelog-entry:last-child{ border-bottom:none; }
.changelog-ver{ display:flex; flex-direction:column; gap:4px; }
.changelog-ver-num{
  font-family:'Oswald'; font-size:19px; font-weight:600; color:var(--ember);
  background:rgba(246,135,18,0.1); border:1px solid rgba(246,135,18,0.3);
  border-radius:5px; padding:4px 10px; text-align:center; white-space:nowrap;
}
.changelog-ver-datum{ font-size:12px; color:var(--ink-faint); text-align:center; }
.changelog-body h3{ font-size:16.5px; margin:0 0 10px; }
.changelog-body ul{ margin:0; padding-left:20px; color:var(--ink-dim); font-size:14px; line-height:1.6; }
.changelog-body li{ margin-bottom:4px; }
@media (max-width:600px){
  .changelog-entry{ grid-template-columns:1fr; gap:8px; }
  .changelog-ver{ flex-direction:row; align-items:center; gap:10px; }
}

/* ---------- GUMB "NAZAJ NA VRH" ---------- */
.back-to-top{
  position:fixed; bottom:24px; right:24px; z-index:300;
  width:46px; height:46px; border-radius:50%;
  background:var(--ember); color:#fff; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,0.35);
  opacity:0; transform:translateY(12px); transition:opacity .2s ease, transform .2s ease;
  pointer-events:none;
}
.back-to-top.visible{ opacity:1; transform:translateY(0); pointer-events:auto; }
.back-to-top:hover{ background:var(--ember-dark, #d4780f); }
@media (max-width:600px){
  .back-to-top{ bottom:16px; right:16px; width:42px; height:42px; }
}

/* ---------- VZDRŽEVANJE: pregled neuporabljenih datotek ---------- */
.orphan-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:14px; }
.orphan-item{
  position:relative; display:flex; flex-direction:column; gap:6px;
  border:1px solid var(--line-strong); border-radius:6px; padding:10px;
  cursor:pointer; background:var(--bg-raised); transition:border-color .15s ease;
}
.orphan-item:hover{ border-color:var(--ember); }
.orphan-item img{ width:100%; height:110px; object-fit:cover; border-radius:4px; background:var(--bg); }
.orphan-item input[type=checkbox]{ width:auto; margin:0; }
.orphan-meta{ font-size:11.5px; color:var(--ink-faint); }

/* ---------- DOSTOPNOST: preskoči na vsebino ---------- */
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:1000;
  background:var(--ember); color:#fff; padding:12px 20px; border-radius:0 0 6px 0;
  font-weight:600; text-decoration:none;
}
.skip-link:focus{ left:0; }
/* Vidna obroba ob tipkovnični navigaciji (za uporabnike brez miške). */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{
  outline:2px solid var(--ember); outline-offset:2px;
}

/* ---------- POVPRAŠEVANJE ZA IZPOSOJO (javna stran) ---------- */
.povprasevanje-box{ margin-top:44px; }
.povprasevanje-form{ max-width:none; }
.povprasevanje-form .hint{ margin:14px 0 16px; }

/* ---------- SAMOSTOJNA STRAN OBJAVE (novica / dogodek) ---------- */
.objava-stran{ padding:56px 0 80px; }
.objava-wrap{ max-width:800px; }
.objava-nazaj{ display:inline-block; margin-bottom:26px; color:var(--ink-dim); font-size:14px; text-decoration:none; }
.objava-nazaj:hover{ color:var(--ember); }
.objava-oznaka{ font-family:'Oswald'; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--ember); margin-bottom:10px; }
.objava-wrap h1{ font-size:clamp(26px,4vw,40px); line-height:1.15; margin-bottom:14px; }
.objava-lokacija{ color:var(--ink-dim); font-size:15px; margin-bottom:18px; }
.objava-slika{ width:100%; max-height:460px; object-fit:cover; border-radius:8px; margin:24px 0 28px; cursor:zoom-in; }
.objava-besedilo{ font-size:16.5px; line-height:1.75; color:var(--ink); }
.objava-galerija{ display:grid; grid-template-columns:repeat(auto-fill, minmax(180px,1fr)); gap:12px; margin-top:32px; }
.objava-galerija img{ width:100%; height:150px; object-fit:cover; border-radius:6px; cursor:zoom-in; }
.objava-deli{ margin-top:44px; padding-top:22px; border-top:1px solid var(--line); display:flex; gap:16px; align-items:center; flex-wrap:wrap; font-size:14px; color:var(--ink-dim); }
.objava-deli a{ color:var(--ember); text-decoration:none; }
.objava-deli a:hover{ text-decoration:underline; }

/* ---------- ARHIV OBJAV ---------- */
.arhiv-vec{ margin-top:26px; text-align:center; }
.arhiv-filtri{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:28px; }
.arhiv-locilo{ width:1px; height:22px; background:var(--line-strong); margin:0 6px; }
.arhiv-seznam{ display:flex; flex-direction:column; gap:14px; }
.arhiv-vrstica{
  display:grid; grid-template-columns:120px 1fr; gap:18px; align-items:center;
  padding:14px; border:1px solid var(--line); border-radius:6px; text-decoration:none;
  transition:border-color .15s ease, transform .15s ease;
}
.arhiv-vrstica > *{ min-width:0; }
.arhiv-vrstica:hover{ border-color:var(--ember); transform:translateY(-1px); }
.arhiv-vrstica img{ width:120px; height:80px; object-fit:cover; border-radius:4px; }
.arhiv-brez-slike{
  width:120px; height:80px; display:flex; align-items:center; justify-content:center;
  background:var(--bg-raised-2); border-radius:4px; font-size:24px; opacity:.5;
}
.arhiv-vsebina h3{ font-size:17px; margin:4px 0 6px; overflow-wrap:anywhere; }
.arhiv-vsebina p{ color:var(--ink-dim); font-size:14px; margin:0; line-height:1.55; overflow-wrap:anywhere; }
@media (max-width:600px){
  .arhiv-vrstica{ grid-template-columns:80px 1fr; gap:12px; }
  .arhiv-vrstica img, .arhiv-brez-slike{ width:80px; height:64px; }
}

/* ---------- INTRANET ZA ČLANE ---------- */
.login-sub{ color:var(--ink-dim); font-size:14px; margin:0 0 24px; line-height:1.55; text-align:center; }
.login-foot{ margin-top:24px; font-size:13px; color:var(--ink-faint); text-align:center; line-height:1.7; }
.login-foot a{ color:var(--ember); }

/* Stranska vrstica je position:fixed (isto kot v urejevalniku), zato
   vsebino odmaknemo z margin-left, NE s flexom — sicer bi se vsebina
   skrila pod vrstico. */
.in-shell{ min-height:100vh; }
.in-main{ padding:40px 32px 80px; margin-left:272px; min-width:0; max-width:var(--modul-sirina); margin-right:auto; }
@media (max-width:860px){ .in-main{ margin-left:0; } }
.in-head{
  display:flex; justify-content:space-between; align-items:center; gap:20px;
  flex-wrap:wrap; margin-bottom:28px; padding-bottom:20px; border-bottom:1px solid var(--line);
}
.in-head h1{ font-size:26px; margin:0; }
.in-head-sub{ color:var(--ink-dim); font-size:14px; margin-top:4px; }
/* Noga stranske vrstice: ime, funkcija in povezave poravnani v eno
   navpično os, z ikonami enake širine — prej so bile vrstice
   neporavnane, ker so ikone različno široke. */
.in-user{ display:flex; align-items:center; gap:11px; font-size:14px; margin-bottom:14px; }
.in-user > *{ min-width:0; }
.in-user-besedilo{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.in-user-besedilo strong{
  font-size:13.5px; line-height:1.3; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap;
}
.in-user-funkcija{
  font-size:12px; color:var(--ink-faint); line-height:1.3;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.in-foot-povezave{ display:flex; flex-direction:column; gap:2px; }
.in-foot-povezave a{
  display:flex !important; align-items:center; gap:9px;
  padding:6px 0; margin:0 !important; font-size:13px; line-height:1.4;
}
.in-foot-ikona{
  width:18px; flex:none; text-align:center; font-size:13px;
  display:inline-flex; align-items:center; justify-content:center;
}
.in-user-krog{
  width:38px; height:38px; border-radius:50%; background:var(--ember); color:#fff;
  display:flex; align-items:center; justify-content:center; font-family:'Oswald'; font-weight:600; font-size:15px;
}

/* Kompaktne kartice: ikona levo, besedilo v sredini, število desno.
   Prej so bile postavljene navpično in so zavzele veliko prostora —
   na telefonu je bilo treba drseti mimo njih, preden si sploh videl
   vsebino. Zdaj je na en pogled vidnih več hkrati. */
.in-kartice{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
  gap:10px; margin-bottom:26px;
}
.in-kartica{
  background:var(--bg-raised); border:1px solid var(--line-strong); border-radius:9px;
  padding:13px 15px; text-decoration:none;
  display:flex; align-items:center; gap:12px;
  transition:border-color .15s ease, background .15s ease;
}
.in-kartica > *{ min-width:0; }
.in-kartica:hover{ border-color:var(--ember); background:var(--bg-raised-2); }
.in-kartica-ikona{ font-size:20px; margin:0; flex:none; line-height:1; }
.in-kartica-besedilo{ flex:1; min-width:0; }
.in-kartica h3{
  font-size:14px; margin:0 0 2px; line-height:1.3;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.in-kartica p{
  color:var(--ink-faint); font-size:12.5px; margin:0; line-height:1.4;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.in-kartica-stevec{
  font-family:'Oswald'; font-size:24px; font-weight:700; color:var(--ember);
  line-height:1; flex:none; margin-left:auto;
}
@media (max-width:480px){
  .in-kartice{ grid-template-columns:1fr; gap:8px; }
  .in-kartica{ padding:11px 13px; }
  .in-kartica-stevec{ font-size:21px; }
}

.in-sekcija{ margin-bottom:38px; }
.in-sekcija-glava{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.in-sekcija-glava h2{ font-size:19px; margin:0; }

.in-objava{
  border:1px solid var(--line); border-left:3px solid var(--ember); border-radius:6px;
  padding:18px 20px; margin-bottom:12px; background:var(--bg-raised);
}
.in-objava.nujno{ border-left-color:var(--err); background:rgba(212,41,31,0.06); }
.in-objava-meta{ font-size:12.5px; color:var(--ink-faint); margin-bottom:6px; display:flex; gap:10px; flex-wrap:wrap; }
.in-objava h3{ font-size:16.5px; margin:0 0 8px; }
.in-objava p{ margin:0; color:var(--ink-dim); font-size:14.5px; line-height:1.65; white-space:pre-line; }

.in-vrstica{
  display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center;
  padding:14px 16px; border:1px solid var(--line); border-radius:6px; margin-bottom:10px;
  background:var(--bg-raised);
}
.in-vrstica > *{ min-width:0; max-width:100%; }
/* ENOTNA IKONA V VRSTICAH
   Prej so bile ikone postavljene z vgrajenim slogom, prvi stolpec
   mreže pa je bil "auto" — širina se je zato prilagajala vsakemu
   emojiju posebej. Ker so ⚠️, ⏳ in ✔️ različno široki, je bilo
   besedilo v vsaki vrstici drugače zamaknjeno. S to fiksno širino so
   vse vrstice poravnane, ne glede na to, katera ikona je v njih. */
.in-ikona{
  width:26px; height:26px; flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:19px; line-height:1; text-align:center;
  /* Emoji namenoma pustimo v barvni obliki — poravnavo zagotavlja
     že fiksna širina zgoraj. Vsiljena besedilna oblika
     (font-variant-emoji) jih naredi blede in nedosledne. */
  overflow:hidden;
}
.in-ikona-mala{ width:22px; height:22px; font-size:16px; }
.in-vrstica.moje{ border-color:var(--ember); background:rgba(246,135,18,0.06); }
.in-datum-blok{
  text-align:center; width:52px; flex:none; font-family:'Oswald'; line-height:1;
  border-right:1px solid var(--line); padding-right:14px;
}
.in-datum-blok .d{ font-size:22px; color:var(--ember); display:block; }
.in-datum-blok .m{ font-size:11px; text-transform:uppercase; color:var(--ink-faint); display:block; margin-top:3px; }
.in-vrstica-naslov{ font-weight:600; font-size:15px; overflow-wrap:anywhere; }
.in-vrstica-pod{ color:var(--ink-faint); font-size:13px; margin-top:3px; overflow-wrap:anywhere; }

.in-prazno{ color:var(--ink-faint); font-size:14px; padding:22px; text-align:center; border:1px dashed var(--line-strong); border-radius:6px; }
.in-dok{ display:flex; align-items:center; gap:14px; padding:13px 16px; border:1px solid var(--line); border-radius:6px; margin-bottom:9px; text-decoration:none; background:var(--bg-raised); transition:border-color .15s ease; }
.in-dok:hover{ border-color:var(--ember); }
.in-dok-ikona{ font-size:20px; flex:none; }
.in-dok-ime{ flex:1; font-size:14.5px; overflow-wrap:anywhere; }
.in-dok-meta{ font-size:12px; color:var(--ink-faint); flex:none; }

@media (max-width:860px){
  .in-main{ padding:20px 16px 60px; }
  .in-vrstica{ grid-template-columns:auto 1fr; }
  .in-vrstica > :last-child{ grid-column:2; justify-self:start; margin-top:6px; }
}
.foot-links{ display:flex; gap:18px; }

/* ---------- VEČ POSTAVK V IZPOSOJI ---------- */
.postavke-seznam{ margin-bottom:12px; }
.postavka-vrstica{
  border:1px solid var(--line-strong); border-radius:8px; padding:14px;
  margin-bottom:10px; background:var(--bg-raised);
}
.postavka-glavno{ display:grid; grid-template-columns:1fr 92px auto; gap:10px; align-items:center; }
.postavka-glavno > *{ min-width:0; margin:0 !important; }
.postavka-naziv{ margin-top:10px !important; }
.postavka-zaloga{ margin:8px 0 0 !important; font-size:12.5px; }
.postavka-odstrani{ padding:8px 12px !important; }
@media (max-width:600px){
  .postavka-glavno{ grid-template-columns:1fr auto auto; gap:8px; }
  .postavka-kolicina{ width:74px; }
}

/* ---------- ZGODOVINA IZPOSOJ: zložljive kartice ---------- */
.zg-seznam{ display:flex; flex-direction:column; gap:10px; }
.zg-kartica{
  border:1px solid var(--line-strong); border-radius:8px; background:var(--bg-raised);
  overflow:hidden; transition:border-color .15s ease;
}
.zg-kartica[open]{ border-color:var(--ember); }
.zg-kartica.zg-zamuja{ border-left:3px solid var(--err); }
.zg-vrh{
  display:grid; grid-template-columns:auto 1fr auto auto; gap:12px; align-items:center;
  padding:14px 16px; cursor:pointer; list-style:none; user-select:none;
}
.zg-vrh::-webkit-details-marker{ display:none; }
.zg-vrh:hover{ background:rgba(246,135,18,0.05); }
.zg-vrh > *{ min-width:0; }
.zg-glavno{ display:flex; flex-direction:column; gap:3px; }
.zg-naziv{ font-weight:600; font-size:15px; overflow-wrap:anywhere; }
.zg-pod{ font-size:12.5px; color:var(--ink-faint); overflow-wrap:anywhere; }
.zg-pusc{ color:var(--ink-faint); transition:transform .15s ease; font-size:13px; }
.zg-kartica[open] .zg-pusc{ transform:rotate(180deg); }
.zg-telo{ padding:0 16px 16px; border-top:1px solid var(--line); padding-top:14px; }
.zg-podatki{ display:grid; grid-template-columns:repeat(auto-fit, minmax(190px,1fr)); gap:10px 20px; font-size:14px; }
.zg-podatki > *{ min-width:0; overflow-wrap:anywhere; }
.zg-oznaka{ display:block; font-size:11.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); margin-bottom:2px; }
.zg-postavke{ margin-top:14px; }
.zg-postavka{
  display:inline-block; background:var(--bg-raised-2); border:1px solid var(--line);
  border-radius:20px; padding:4px 12px; font-size:13px; margin:4px 6px 0 0;
}
@media (max-width:700px){
  /* Na ozkih zaslonih je kartica strnjena v eno vrstico; podrobnosti
     se pokažejo šele ob kliku, da seznam ostane pregleden. */
  .zg-vrh{ grid-template-columns:auto 1fr auto; gap:10px; padding:12px 13px; }
  .zg-znacka{ grid-column:2; justify-self:start; margin-top:6px; font-size:11.5px; }
  .zg-naziv{ font-size:14.5px; }
}

/* ---------- PRIJAZNEJŠI OBRAZCI ---------- */
/* Vnosna polja: nekoliko več zraka, mehkejši robovi in jasnejši
   odziv ob fokusu — da obrazci delujejo manj "uradniško". */
input:not([type]), input[type=text], input[type=password], input[type=date], input[type=number],
input[type=email], input[type=tel], input[type=url], input[type=time], textarea, select{
  border-radius:7px;
  padding:11px 13px;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
input:not([type]):hover, input[type=text]:hover, input[type=email]:hover, input[type=tel]:hover,
input[type=number]:hover, input[type=date]:hover, textarea:hover, select:hover{
  border-color:var(--line-strong);
}
input:focus, textarea:focus, select:focus{
  box-shadow:0 0 0 3px rgba(246,135,18,0.15);
}
label{ font-size:13.5px; letter-spacing:.01em; }

/* Kartice obrazcev: mehkejši videz z rahlo sencо. */
.card{ border-radius:10px; }

/* Gumbi: nekoliko bolj zaobljeni in z rahlim dvigom ob prehodu miške. */
.btn{ border-radius:7px; transition:transform .12s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease; }
.btn:hover{ transform:translateY(-1px); }
.btn-primary:hover{ box-shadow:0 4px 14px rgba(178,2,2,0.3); }
.btn:active{ transform:translateY(0); }

/* Skupine polj v dveh stolpcih naj se na ozkih zaslonih vedno zlijejo. */
@media (max-width:640px){
  .form-row-2{ grid-template-columns:1fr !important; }
}

/* ---------- POVPRAŠEVANJE ZA TERMIN — prenovljen obrazec ---------- */
.pv-box{
  margin-top:44px; max-width:680px; scroll-margin-top:80px;
  background:var(--bg-raised); border:1px solid var(--line-strong); border-radius:14px;
  padding:30px 32px 26px; box-shadow:0 10px 32px rgba(0,0,0,0.18);
  transition:box-shadow .3s ease, border-color .3s ease;
}
/* Kratek utrip po kliku na artikel v ceniku, da je jasno, kam je
   povpraševanje "priletelo". */
.pv-box.pv-poudarjen{ border-color:var(--ember); box-shadow:0 10px 32px rgba(0,0,0,0.18), 0 0 0 4px rgba(246,135,18,0.25); }
.pv-glava{ display:flex; gap:16px; align-items:center; margin-bottom:26px; }
.pv-ikona{
  width:48px; height:48px; flex:none; border-radius:12px; display:flex;
  align-items:center; justify-content:center; font-size:22px;
  background:rgba(246,135,18,0.12); border:1px solid rgba(246,135,18,0.3);
}
.pv-glava h3{ font-size:20px; margin:0 0 3px; }
.pv-glava p{ margin:0; color:var(--ink-dim); font-size:14px; }

.pv-korak{ padding:20px 0; border-top:1px solid var(--line); }
.pv-korak:first-of-type{ border-top:none; padding-top:0; }
.pv-korak-glava{
  display:flex; align-items:center; gap:11px; margin-bottom:14px;
  font-family:'Oswald'; font-size:15px; letter-spacing:.02em;
}
.pv-st{
  width:25px; height:25px; flex:none; border-radius:50%; background:var(--ember); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:600;
}

/* Postavke opreme */
.pv-vrstica{ display:grid; grid-template-columns:1fr 112px 38px; gap:9px; align-items:center; margin-bottom:9px; }
.pv-vrstica > *{ min-width:0; margin:0 !important; }
.pv-storitev{ margin:0 !important; }
.pv-kol{ display:flex; align-items:stretch; border:1px solid var(--line-strong); border-radius:7px; overflow:hidden; width:112px; height:42px; }
.pv-kol-gumb{
  width:34px; height:42px; flex:none; border:none; background:var(--bg-raised-2); color:var(--paper);
  font-size:18px; cursor:pointer; line-height:1;
  display:flex; align-items:center; justify-content:center; padding:0;
}
.pv-kol-gumb:hover{ background:var(--ember); color:#fff; }
.pv-kolicina{
  width:100%; flex:1; text-align:center; border:none !important; border-radius:0 !important;
  background:var(--bg) !important;
  /* Poravnava: gumba − in + sta visoka 42px, zato mora biti tudi polje
     enako visoko in navpično centrirano, sicer številka "plava" višje. */
  height:42px; padding:0 !important; line-height:42px;
  font-size:15px; font-variant-numeric:tabular-nums;
  -moz-appearance:textfield;
}
.pv-kolicina::-webkit-outer-spin-button, .pv-kolicina::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.pv-odstrani{
  width:38px; height:42px; flex:none; border:1px solid var(--line); border-radius:7px;
  background:transparent; color:var(--ink-faint); cursor:pointer; font-size:14px;
}
.pv-odstrani:hover{ border-color:var(--err); color:var(--err); }
.pv-dodaj{
  background:none; border:1px dashed var(--line-strong); border-radius:7px; color:var(--ink-dim);
  padding:9px 15px; cursor:pointer; font-size:13.5px; font-family:inherit; width:100%;
}
.pv-dodaj:hover{ border-color:var(--ember); color:var(--ember); }

/* Datumi */
.pv-datumi{ display:flex; align-items:flex-end; gap:12px; }
.pv-polje{ flex:1; display:flex; flex-direction:column; gap:5px; min-width:0; }
.pv-polje span{ font-size:12.5px; color:var(--ink-faint); }
.pv-polje input{ margin:0 !important; }
.pv-puscica{ color:var(--ink-faint); padding-bottom:12px; flex:none; }
.pv-namig{ margin:10px 0 0; font-size:13px; color:var(--ember); min-height:18px; }

/* Kontakt */
.pv-kontakt{ display:grid; gap:9px; }
.pv-kontakt input{ margin:0 !important; }
.pv-opomba-vklop{ margin-top:12px; }
.pv-opomba-vklop summary{
  cursor:pointer; font-size:13.5px; color:var(--ink-dim); list-style:none;
  display:inline-flex; align-items:center; gap:6px;
}
.pv-opomba-vklop summary::-webkit-details-marker{ display:none; }
.pv-opomba-vklop summary::before{ content:'＋'; color:var(--ember); }
.pv-opomba-vklop[open] summary::before{ content:'−'; }
.pv-opomba-vklop summary:hover{ color:var(--ember); }
.pv-opomba-vklop textarea{ margin-top:10px !important; }

.pv-poslji{ width:100%; margin-top:22px; padding:14px !important; font-size:15.5px; }
.pv-drobno{ margin:12px 0 0; font-size:12.5px; color:var(--ink-faint); text-align:center; line-height:1.5; }

@media (max-width:560px){
  .pv-box{ padding:24px 18px 20px; border-radius:12px; }
  .pv-datumi{ flex-direction:column; align-items:stretch; gap:10px; }
  .pv-puscica{ display:none; }
  .pv-vrstica{ grid-template-columns:1fr auto; grid-template-areas:'sel sel' 'kol odst'; gap:8px; }
  .pv-storitev{ grid-area:sel; }
  .pv-kol{ grid-area:kol; }
  .pv-odstrani{ grid-area:odst; justify-self:end; }
}

/* ---------- UREJEVALNIK: KORAKOVNI OBRAZEC "DODAJ ZASEDENOST/IZPOSOJO" ---------- */
/* Isti vizualni jezik korakov (pv-korak/pv-st) kot pri javnem obrazcu
   za povpraševanje — tu le v širši, admin postavitvi, z oznako, kateri
   koraki so vidni tudi obiskovalcem (koledar) in kateri so čisto interni. */
.rz-card{ padding:30px 30px 26px; }
.rz-wizard{ max-width:640px; }
.rz-korak{ padding:26px 0; }
.rz-korak .pv-korak-glava{ font-size:16.5px; margin-bottom:18px; }
.rz-korak .pv-st{ width:28px; height:28px; font-size:14px; }
.rz-korak-zadnji{ padding-bottom:8px; }
.rz-tag{
  margin-left:auto; flex:none; display:inline-flex; align-items:center; gap:5px;
  font-family:'Work Sans', sans-serif; font-size:11px; font-weight:600; text-transform:uppercase;
  letter-spacing:.03em; padding:4px 10px; border-radius:20px; white-space:nowrap;
}
.rz-tag-public{ background:rgba(111,174,106,0.15); color:var(--ok); border:1px solid rgba(111,174,106,0.4); }
.rz-tag-interno{ background:rgba(239,231,216,0.08); color:var(--ink-faint); border:1px solid var(--line-strong); }
.rz-oddaj{ display:flex; gap:10px; flex-wrap:wrap; padding-top:22px; border-top:1px solid var(--line); }
@media (max-width:560px){
  .rz-card{ padding:22px 18px 20px; }
  .rz-korak{ padding:20px 0; }
  .rz-tag{ font-size:10px; padding:3px 8px; }
  .rz-oddaj .btn{ flex:1 1 auto; text-align:center; justify-content:center; }
}

/* ---------- ENOTEN KARUSEL: vodoravno listanje (Dogodki, Novice) ---------- */
/* Skupna komponenta za obe rubriki: pripete/aktualne kartice so vedno
   prve (razvrščeno že v PHP), na širokih zaslonih pa se lahko listajo
   s puščicama ali pikicami namesto neskončnega navpičnega seznama. */
.carousel-shell{ position:relative; }
.carousel-track{
  display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:4px 4px 6px; scroll-behavior:smooth; scrollbar-width:none; -ms-overflow-style:none;
  cursor:grab;
}
.carousel-track::-webkit-scrollbar{ display:none; }
.carousel-track:active, .carousel-track.is-dragging{ cursor:grabbing; scroll-behavior:auto; }
.carousel-track:focus-visible{ outline:2px solid var(--ember); outline-offset:3px; border-radius:6px; }
.carousel-track > .news-card, .carousel-track > .ev-card{ flex:none; width:330px; scroll-snap-align:start; }

/* Robova, ki nežno "pojemata" proti ozadju strani, ko je v tisto smer
   še kaj skritega — takoj namigneta, da je mogoče listati naprej. */
.carousel-edge{
  position:absolute; top:0; bottom:10px; width:64px; z-index:2;
  pointer-events:none; opacity:0; transition:opacity .25s ease;
}
.carousel-edge-l{ left:0; background:linear-gradient(to right, var(--bg), transparent); }
.carousel-edge-r{ right:0; background:linear-gradient(to left, var(--bg), transparent); }
.carousel-shell.has-overflow-l .carousel-edge-l,
.carousel-shell.has-overflow-r .carousel-edge-r{ opacity:1; }

.carousel-nav{
  position:absolute; top:38%; transform:translateY(-50%);
  width:42px; height:42px; border-radius:50%; z-index:3;
  background:var(--bg-raised); border:1px solid var(--line-strong); color:var(--paper);
  font-size:20px; cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,0.35);
  transition:border-color .15s ease, color .15s ease, opacity .2s ease, transform .15s ease;
}
.carousel-nav:hover{ border-color:var(--ember); color:var(--ember); transform:translateY(-50%) scale(1.06); }
.carousel-nav-prev{ left:4px; }
.carousel-nav-next{ right:4px; }
.carousel-nav.is-hidden{ opacity:0; pointer-events:none; transform:translateY(-50%) scale(.8); }

.carousel-dots{ display:flex; justify-content:center; align-items:center; gap:8px; margin-top:16px; }
.carousel-dot{
  width:8px; height:8px; padding:0; border:none; border-radius:50%; background:var(--line-strong);
  cursor:pointer; transition:background-color .2s ease, width .2s ease, border-radius .2s ease;
}
.carousel-dot:hover{ background:var(--ink-dim); }
.carousel-dot.is-active{ background:var(--ember); width:22px; border-radius:5px; }

@media (max-width:760px){
  .carousel-nav{ display:none; }              /* na dotik zadostuje poteg s prstom */
  .carousel-edge{ width:28px; }
  .carousel-track > .news-card, .carousel-track > .ev-card{ width:280px; }
  .carousel-track{ cursor:auto; }
}

/* ---------- CENIK IZPOSOJE — prenovljen videz ---------- */
.service-list{ display:grid; grid-template-columns:repeat(auto-fill, minmax(330px,1fr)); gap:16px; }
.service-row{
  display:grid !important; grid-template-columns:64px 1fr; gap:16px; align-items:start;
  padding:20px !important; border:1px solid var(--line-strong) !important; border-radius:12px;
  background:var(--bg-raised); position:relative; overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
/* Barvni trak ob levem robu prevzame barvo storitve iz cenika. */
.service-row::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--barva-storitve, var(--ember)); opacity:.85;
}
.service-row:hover{
  /* Ob razpiranju kartico dvignemo NAD ostale (z-index) in ji
     dovolimo, da preraste svojo višino, ne da bi premaknila sosede —
     zato position:absolute znotraj nosilca enake velikosti. */
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(0,0,0,0.42);
  border-color:var(--ember) !important;
  z-index:5;
}
/* Mreža: vse kartice v vrstici dobijo enako višino. */
.service-list{ align-items:stretch; }
.service-row{ height:100%; }
.service-row:last-child{ border-bottom:1px solid var(--line-strong) !important; }
.service-thumb, .service-thumb-slot{
  width:64px; height:64px; border-radius:10px; flex:none;
  display:flex; align-items:center; justify-content:center;
  background:var(--bg-raised-2); border:1px solid var(--line);
  font-size:22px; color:var(--ink-faint); overflow:hidden;
}
.service-thumb{ object-fit:cover; }
.service-row-body h3{ font-size:16.5px; margin:2px 0 6px; overflow-wrap:anywhere; }
/* ENAKA VIŠINA VSEH KARTIC: opis omejimo na 3 vrstice, ne glede na
   dolžino besedila. Ob prehodu miške se kartica razpre in pokaže
   celotno besedilo — ker je razširitev absolutna (plava nad ostalimi),
   postavitev sosednjih kartic ostane nedotaknjena. */
.service-row-body p{
  font-size:13.5px; color:var(--ink-dim); line-height:1.55; margin:0;
  overflow-wrap:anywhere;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden;
}
.service-row:hover .service-row-body p{
  -webkit-line-clamp:unset; overflow:visible;
}
.service-row-price{
  grid-column:2; margin-top:12px; padding-top:12px; border-top:1px solid var(--line);
  font-family:'Oswald'; font-size:20px; color:var(--ember); font-weight:600;
}
.service-row-price span{ font-size:13px; color:var(--ink-faint); font-weight:400; font-family:'Work Sans', sans-serif; }
.service-zaloga{
  display:inline-block; margin-top:8px; font-size:12px; color:var(--ink-faint);
  background:var(--bg-raised-2); border:1px solid var(--line); border-radius:20px; padding:3px 10px;
}
/* Klik kjerkoli na kartico storitve doda artikel v povpraševanje spodaj. */
.service-row-clickable{ cursor:pointer; }
.service-row-clickable:focus-visible{ outline:2px solid var(--ember); outline-offset:2px; }
.service-cta{
  display:inline-flex; align-items:center; gap:5px; margin-top:10px;
  font-size:12.5px; font-weight:600; color:var(--ember); opacity:0; transform:translateX(-4px);
  transition:opacity .18s ease, transform .18s ease;
}
.service-cta svg{ transition:transform .18s ease; }
.service-row-clickable:hover .service-cta,
.service-row-clickable:focus-visible .service-cta{ opacity:1; transform:none; }
.service-row-clickable:hover .service-cta svg{ transform:translateX(3px); }
@media (max-width:560px){
  .service-list{ grid-template-columns:1fr; }
  .service-row{ grid-template-columns:52px 1fr; gap:13px; padding:16px !important; }
  .service-thumb, .service-thumb-slot{ width:52px; height:52px; }
}

/* ---------- UREJANJE PRAVIC ČLANOV ---------- */
.pravice-blok{ margin-top:10px; }
.pravice-blok summary{
  cursor:pointer; font-size:13.5px; color:var(--ink-dim); list-style:none;
  display:inline-block; padding:5px 12px; border:1px solid var(--line-strong); border-radius:20px;
}
.pravice-blok summary::-webkit-details-marker{ display:none; }
.pravice-blok summary:hover{ border-color:var(--ember); color:var(--ember); }
.pravice-blok[open] summary{ border-color:var(--ember); color:var(--ember); margin-bottom:12px; }
/* Na ozkih zaslonih tabele ne stiskamo (postala bi neberljiva),
   ampak ji dovolimo vodoravno drsenje znotraj lastnega okvirja. */
.pravice-blok{ min-width:0; max-width:100%; }
/* Drsenje omogočimo na SAMEM bloku, ne le na obrazcu — tako deluje
   ne glede na to, ali je tabela ovita v obrazec ali ne. */
.pravice-blok[open]{ overflow-x:auto; }
/* Okvir, znotraj katerega tabela lahko drsi. Brez izrecne omejitve
   širine bi jo vsebina raztegnila čez rob zaslona. */
.pravice-blok form{ overflow-x:auto; max-width:100%; min-width:0; }
.pravice-tabela{ width:100%; min-width:400px; border-collapse:collapse; font-size:13.5px; }
.pravice-tabela th{
  text-align:center; font-size:11.5px; text-transform:uppercase; letter-spacing:.04em;
  color:var(--ink-faint); font-weight:600; padding:6px 4px; border-bottom:1px solid var(--line);
}
.pravice-tabela th:first-child{ text-align:left; }
.pravice-tabela td{ padding:7px 4px; text-align:center; border-bottom:1px solid var(--line); }
.pravice-tabela td:first-child{ text-align:left; white-space:nowrap; }
.pravice-tabela input[type=checkbox]{ width:auto; margin:0; cursor:pointer; }
.pravice-tabela tr:last-child td{ border-bottom:none; }

/* ---------- MLADINA: odzivi staršev ---------- */
.mladina-odzivi{ display:flex; flex-wrap:wrap; gap:7px; margin-top:8px; }
.mladina-odzivi .status-badge{ font-size:12.5px; }
.starsi-otroci{ display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:8px; margin-bottom:14px; }

/* ---------- PORTAL ZA STARŠE ---------- */
.stars-shell{ min-height:100vh; display:flex; flex-direction:column; }
.stars-glava{ background:var(--bg-raised); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:100; }
.stars-glava-vrsta{
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  flex-wrap:wrap; padding-top:14px; padding-bottom:14px;
}
.stars-uporabnik{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.stars-ime{ font-size:14px; color:var(--ink-dim); }
.stars-vsebina{ flex:1; padding-top:36px; padding-bottom:60px; max-width:840px; }

.stars-vaja{
  border:1px solid var(--line-strong); border-radius:12px; padding:22px 24px;
  margin-bottom:16px; background:var(--bg-raised);
}
.stars-vaja-glava{ display:flex; gap:18px; align-items:center; }
.stars-vaja-glava > *{ min-width:0; }
.stars-vaja-glava h3{ font-size:18px; margin:0 0 4px; overflow-wrap:anywhere; }
.stars-vaja-kdaj{ margin:0; font-size:13.5px; color:var(--ink-faint); }
.stars-vaja-opis{ margin:14px 0 0; font-size:14.5px; color:var(--ink-dim); line-height:1.6; white-space:pre-line; }

.stars-potrditev{ margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.stars-potrditev-ime{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-weight:600; font-size:15px; margin-bottom:10px; }
.stars-potrditev-obrazec{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.stars-potrditev-obrazec input[type=text]{ flex:1; min-width:180px; margin:0 !important; }
.stars-gumbi{ display:flex; gap:8px; flex:none; }

.stars-galerija{ display:grid; grid-template-columns:repeat(auto-fill, minmax(180px,1fr)); gap:12px; }
.stars-foto{ display:block; border-radius:8px; overflow:hidden; border:1px solid var(--line-strong); text-decoration:none; }
.stars-foto img{ width:100%; height:150px; object-fit:cover; display:block; }
.stars-foto-opis{ display:block; padding:8px 10px; font-size:12.5px; color:var(--ink-dim); }
@media (max-width:600px){
  .stars-potrditev-obrazec{ flex-direction:column; align-items:stretch; }
  .stars-gumbi{ justify-content:stretch; }
  .stars-gumbi .btn{ flex:1; }
}

/* Majhna oznaka ob logotipu ("Za starše", "Intranet") v vodoravnih
   glavah (za razliko od admin-sidebar-brand, kjer je postavitev
   navpična in small zato display:block). */
.nav-brand span small{
  display:inline-block; margin-left:9px; padding:2px 9px;
  font-size:10.5px; font-weight:600; text-transform:uppercase; letter-spacing:.06em;
  color:var(--ember); border:1px solid rgba(246,135,18,0.35); background:rgba(246,135,18,0.1);
  border-radius:20px; vertical-align:middle;
}

/* ---------- VGRAJENI IZBIRNIKI DATUMA IN URE ---------- */
/* Poleg color-scheme zgoraj ikono še izrecno pobarvamo in povečamo
   klikalno površino, da je na vseh brskalnikih dobro vidna. */
input[type=date], input[type=time], input[type=datetime-local]{
  position:relative;
  min-height:46px;                 /* enotna višina z ostalimi polji */
  cursor:pointer;                  /* celo polje je klikljivo (glej assets/datum.js) */
}
/* Besedilni del naj se ne izbira kot navadno besedilo — s tem je
   jasneje, da gre za gumb, ki odpre koledar, ne za prosto besedilo. */
input[type=date]::-webkit-datetime-edit,
input[type=time]::-webkit-datetime-edit{ cursor:pointer; }
input[type=date]::-webkit-calendar-picker-indicator,
input[type=time]::-webkit-calendar-picker-indicator,
input[type=datetime-local]::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:.85;
  padding:4px;
  border-radius:4px;
  filter:invert(62%) sepia(58%) saturate(2400%) hue-rotate(354deg) brightness(101%) contrast(94%);
}
:root[data-theme="light"] input[type=date]::-webkit-calendar-picker-indicator,
:root[data-theme="light"] input[type=time]::-webkit-calendar-picker-indicator,
:root[data-theme="light"] input[type=datetime-local]::-webkit-calendar-picker-indicator{
  filter:invert(28%) sepia(84%) saturate(1800%) hue-rotate(1deg) brightness(92%) contrast(96%);
}
input[type=date]::-webkit-calendar-picker-indicator:hover,
input[type=time]::-webkit-calendar-picker-indicator:hover,
input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{
  opacity:1;
  background:rgba(246,135,18,0.15);
}
/* ---------- KOLEDAR + POVPRAŠEVANJE ENEDEN OB DRUGEM ---------- */
/* Na širokih zaslonih je prostora dovolj, da obiskovalec hkrati vidi
   zasedenost IN obrazec — ni mu treba drseti gor in dol med njima. */
.cal-pv-mreza{ display:grid; grid-template-columns:1fr; gap:28px; align-items:start; }
@media (min-width:1000px){
  .cal-pv-mreza{ grid-template-columns:minmax(0,1fr) minmax(0,460px); gap:32px; }
  .cal-pv-mreza > *{ min-width:0; }
  .cal-pv-mreza .pv-box{ margin-top:0; max-width:none; }
}

/* ---------- MERILEC MOČI GESLA ---------- */
.geslo-merilec{
  margin:-12px 0 14px;      /* potegnjen navzgor, da pripada polju nad njim */
  display:none;
}
.geslo-merilec.viden{ display:block; }
.geslo-crta{
  height:5px; border-radius:3px; background:var(--bg-raised-2);
  overflow:hidden; margin-bottom:6px;
}
.geslo-crta span{
  display:block; height:100%; width:0;
  transition:width .25s ease, background .25s ease;
}
.geslo-opis{ font-size:12.5px; line-height:1.5; }
.geslo-merilec.slabo   .geslo-crta span{ background:var(--err); }
.geslo-merilec.slabo   .geslo-opis{ color:var(--err); }
.geslo-merilec.srednje .geslo-crta span{ background:#e0a92b; }
.geslo-merilec.srednje .geslo-opis{ color:#e0a92b; }
.geslo-merilec.dobro   .geslo-crta span{ background:var(--ok); }
.geslo-merilec.dobro   .geslo-opis{ color:var(--ok); }
.geslo-gumb{ margin:-6px 0 16px; }
.in-foot-verzija{
  margin-top:12px; padding-top:10px; border-top:1px solid var(--line);
  font-size:11.5px; color:var(--ink-faint); line-height:1.6;
}
.in-foot-verzija a{ display:inline !important; margin:0 !important; font-size:11.5px !important; color:var(--ink-faint) !important; }
.in-foot-verzija a:hover{ color:var(--ember) !important; }

/* ---------- OBVESTILO O NOVOSTIH (nadzorna plošča) ---------- */
.novosti-pas{
  display:flex; align-items:flex-start; gap:14px;
  background:linear-gradient(135deg, rgba(246,135,18,0.12), rgba(246,135,18,0.04));
  border:1px solid rgba(246,135,18,0.35); border-left:3px solid var(--ember);
  border-radius:10px; padding:16px 18px; margin-bottom:26px;
}
.novosti-pas > *{ min-width:0; }
.novosti-pas-mirno{
  background:var(--bg-raised); border-color:var(--line-strong); border-left-color:var(--ok);
}
.novosti-ikona{ font-size:20px; flex:none; line-height:1.2; }
.novosti-pas strong{ font-size:15px; }
.novosti-cas{ font-size:12.5px; color:var(--ink-faint); margin-left:8px; }
.novosti-seznam{ margin-top:5px; font-size:14.5px; color:var(--ember); line-height:1.55; overflow-wrap:anywhere; }
.mini-izbirnik{ margin:-10px 0 10px !important; font-size:13px !important; padding:8px 10px !important; }
.mini-kljukica{ margin:-6px 0 16px !important; font-size:12.5px; }
.mini-kljukica span{ font-size:12.5px; color:var(--ink-faint); }

/* ---------- DELJENJE OBJAV ---------- */
.deli-vrstica{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  margin:18px 0 4px; padding-top:16px; border-top:1px solid var(--line);
}
.deli-oznaka{ font-size:13px; color:var(--ink-faint); margin-right:2px; }
.deli-gumb{
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 13px; border-radius:20px; font-size:13px; font-family:inherit;
  border:1px solid var(--line-strong); background:transparent; color:var(--ink-dim);
  text-decoration:none; cursor:pointer; transition:all .15s ease; white-space:nowrap;
}
.deli-gumb:hover{ transform:translateY(-1px); }
/* Barve prevzamemo ob prehodu miške, da vrstica v mirovanju ostane
   umirjena in ne tekmuje z vsebino objave. */
.deli-fb:hover{ border-color:#1877f2; color:#1877f2; background:rgba(24,119,242,0.08); }
.deli-wa:hover{ border-color:#25d366; color:#25d366; background:rgba(37,211,102,0.08); }
.deli-mail:hover{ border-color:var(--ember); color:var(--ember); background:rgba(246,135,18,0.08); }
.deli-kopiraj:hover{ border-color:var(--paper); color:var(--paper); }
.deli-gumb.deli-kopirano{
  border-color:var(--ok) !important; color:var(--ok) !important;
  background:rgba(111,174,106,0.12) !important;
}
@media (max-width:520px){
  .deli-oznaka{ width:100%; margin-bottom:2px; }
  .deli-gumb{ font-size:12.5px; padding:6px 11px; }
}

/* ---------- MOJ PROFIL ---------- */
/* Zasnovano za uporabnike, ki niso vešči računalnika: velika slika,
   oštevilčeni razdelki, večji gumbi in jasno ločena področja. */
.profil-glava{
  display:flex; align-items:center; gap:22px; flex-wrap:wrap;
  background:var(--bg-raised); border:1px solid var(--line-strong);
  border-radius:12px; padding:24px 26px; margin-bottom:28px;
}
.profil-glava > *{ min-width:0; }
.profil-slika-ovoj{
  width:92px; height:92px; flex:none; border-radius:50%;
  overflow:hidden; border:3px solid var(--ember);
  display:flex; align-items:center; justify-content:center;
  background:var(--bg-raised-2);
}
.profil-slika{ width:100%; height:100%; object-fit:cover; }
.profil-zacetnice{ font-family:'Oswald'; font-size:34px; font-weight:600; color:var(--ember); }
.profil-glava-besedilo h2{ margin:0 0 4px; font-size:23px; overflow-wrap:anywhere; }
.profil-funkcija{ margin:0 0 6px; color:var(--ink-dim); font-size:15px; display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.profil-uporabnisko{ margin:0 0 12px; font-size:13px; color:var(--ink-faint); }
.profil-povzetek{ display:flex; gap:18px; flex-wrap:wrap; }
.profil-povzetek a{ font-size:13.5px; color:var(--ink-dim); text-decoration:none; }
.profil-povzetek a:hover{ color:var(--ember); }
.profil-povzetek strong{ color:var(--ember); font-family:'Oswald'; font-size:17px; }

.profil-razdelek{ margin-bottom:20px; }
.profil-razdelek h2{ display:flex; align-items:center; gap:12px; font-size:18px; margin-bottom:18px; }
.profil-st{
  width:29px; height:29px; flex:none; border-radius:50%;
  background:var(--ember); color:#fff; font-size:15px; font-weight:600;
  display:flex; align-items:center; justify-content:center;
}
/* Večji gumb za shranjevanje — glavno dejanje na strani naj bo
   nedvoumno in enostavno zadeti tudi na dotik. */
.profil-shrani{ width:100%; padding:15px !important; font-size:16px !important; margin-top:6px; }

/* Slika v stranski vrstici */
.in-user-krog-povezava{ display:block !important; margin:0 !important; padding:0 !important; flex:none; }
.in-user-slika{
  width:38px; height:38px; border-radius:50%; object-fit:cover;
  border:2px solid var(--ember); display:block;
}
@media (min-width:700px){
  .profil-shrani{ width:auto; padding:15px 42px !important; }
}

/* ---------- POENOTENO SREDINJENJE MODULOV ----------
   To pravilo mora biti na KONCU datoteke: definicija .in-main je
   zapisana pozneje kot razdelek o postavitvi, zato bi jo prej
   zapisano pravilo za sredinjenje povozilo (in intranet ne bi bil
   poravnan z urejevalnikom). */
@media (min-width:1460px){
  .admin-shell,
  .in-main{ margin-left:calc(272px + (100vw - 272px - var(--modul-sirina))/2); }
}

/* ---------- INVENTAR ---------- */
.inv-iskanje{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:0; }
.inv-iskanje > *{ margin:0 !important; }
.inv-iskalnik{ flex:1; min-width:220px; }
.inv-oznaka{
  background:var(--bg-raised-2); border:1px solid var(--line-strong); border-radius:4px;
  padding:2px 7px; font-size:12.5px; color:var(--ember); font-family:monospace; margin-right:6px;
}
.pregled-polje{
  font-size:26px !important; font-family:monospace !important; text-align:center;
  letter-spacing:2px; padding:16px !important;
}

/* Nalepke — mreža na zaslonu, posamezne nalepke pri tisku */
.nalepke-mreza{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:14px; }
.nalepka{
  border:1px dashed var(--line-strong); border-radius:6px; padding:12px;
  background:#fff; color:#000; text-align:center;
}
.nalepka-naziv{ font-size:10.5px; font-weight:600; margin-bottom:2px; color:#000; overflow-wrap:anywhere; }
/* Oznaka je glavni podatek na nalepki — mora biti berljiva na prvi
   pogled in z razdalje, brez skeniranja. */
.nalepka-oznaka{
  font-family:'Oswald', monospace; font-size:19px; font-weight:700;
  letter-spacing:1.5px; color:#000; line-height:1.1; margin-bottom:6px;
}
/* Kodi sta eno ob drugi, da je nalepka nižja in bolje izkoristi
   ozek trak (12–24 mm). */
.nalepka-kode{ display:flex; align-items:center; justify-content:center; gap:10px; }
.nalepka-koda{ flex:1 1 auto; min-width:0; }
.nalepka-koda svg{ max-width:100%; height:auto; display:block; }
/* QR je bistveno večji: telefon ga tako prebere hitreje, z večje
   razdalje in tudi pri slabši svetlobi v garaži. Prostora je dovolj,
   ker je črtna koda ob njej in ne pod njo. */
.nalepka-qr{ flex:none; display:flex; align-items:center; }
.nalepka-qr svg{ width:96px; height:96px; display:block; }
.nalepka-drustvo{ font-size:7.5px; color:#444; margin-top:4px; letter-spacing:.04em; }
@media (max-width:560px){
  .inv-iskanje > select, .inv-iskanje > .btn{ flex:1; }
  .pregled-polje{ font-size:21px !important; letter-spacing:1px; }
}

/* ---------- POVRATNA INFORMACIJA MED PRIJAVO ---------- */
.prijava-tece{
  opacity:.85; cursor:progress;
  display:inline-flex !important; align-items:center; justify-content:center; gap:10px;
}
.prijava-vrtavka{
  width:15px; height:15px; flex:none; border-radius:50%;
  border:2px solid rgba(255,255,255,0.35); border-top-color:#fff;
  animation:prijava-vrti .7s linear infinite;
}
@keyframes prijava-vrti{ to{ transform:rotate(360deg); } }
/* Izrazito sporočilo med odklepanjem — namenoma vidno, da uporabnik
   ve, da postopek teče, in ne pritiska gumba večkrat. */
.prijava-opomba{
  margin:16px 0 0; text-align:center;
  background:linear-gradient(135deg, rgba(246,135,18,0.14), rgba(246,135,18,0.05));
  border:1px solid rgba(246,135,18,0.4); border-radius:10px;
  padding:16px 14px;
  animation:prijava-vstop .3s ease;
}
@keyframes prijava-vstop{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
.prijava-opomba-naslov{
  font-family:'Oswald', sans-serif; font-size:15.5px; color:var(--ember);
  letter-spacing:.02em; margin-bottom:12px;
}
.prijava-koraki{ display:flex; flex-direction:column; gap:7px; margin-bottom:12px; }
.prijava-korak{
  font-size:13px; color:var(--ink-faint); opacity:.4;
  transition:opacity .35s ease, color .35s ease;
  display:flex; align-items:center; justify-content:center; gap:8px;
}
.prijava-korak::before{
  content:'○'; font-size:11px; color:var(--ink-faint); transition:color .35s ease;
}
.prijava-korak.aktiven{ opacity:1; color:var(--paper); }
.prijava-korak.aktiven::before{ content:'●'; color:var(--ok); }
.prijava-opomba-drobno{
  font-size:12px; color:var(--ink-faint); line-height:1.5;
  padding-top:10px; border-top:1px solid rgba(246,135,18,0.2);
}
/* Kdor ima v sistemu izklopljene animacije, naj vrtavka miruje. */
@media (prefers-reduced-motion: reduce){
  .prijava-vrtavka{ animation:none; border-top-color:rgba(255,255,255,0.9); }
}

/* ---------- OPOZORILO PRED ZAKLEPOM SEJE ---------- */
.seja-opozorilo{
  position:fixed; bottom:20px; left:50%; transform:translateX(-50%);
  z-index:9000; max-width:420px; width:calc(100% - 32px);
  background:var(--bg-raised); border:1px solid var(--err);
  border-left:4px solid var(--err); border-radius:10px;
  padding:14px 18px; box-shadow:0 10px 30px rgba(0,0,0,0.45);
  display:flex; flex-direction:column; gap:6px;
  animation:seja-vstop .25s ease;
}
@keyframes seja-vstop{ from{ opacity:0; transform:translate(-50%, 12px); } to{ opacity:1; transform:translateX(-50%); } }
.seja-opozorilo strong{ font-size:15px; color:var(--err); }
.seja-opozorilo span{ font-size:13.5px; color:var(--ink-dim); line-height:1.5; }
.seja-sekunde{ font-family:'Oswald'; font-weight:600; color:var(--err); }
/* Namig o razpoložljivi zalogi pri povpraševanju */
.pv-zaloga-namig{
  grid-column:1 / -1; font-size:12.5px; color:var(--ink-faint);
  line-height:1.45; margin-top:2px;
}
.pv-zaloga-namig:empty{ display:none; }
.pv-zaloga-namig.opozorilo{ color:var(--ember); font-weight:500; }

/* --- PATCH 02: admin gesla in pregled pravic --- */
.admin-geslo-mreza{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;align-items:start}
.admin-geslo-polje{position:relative;min-width:0}
.admin-geslo-polje input{width:100%;padding-right:46px;min-width:0}
.admin-geslo-oko{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--ink-dim);cursor:pointer;border-radius:6px}
.admin-geslo-oko:hover{background:var(--bg-raised-2);color:var(--paper)}
.admin-geslo-dejanja{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:-4px 0 18px}
.admin-geslo-status{font-size:13px;color:var(--ink-faint)}
.admin-geslo-status.ok{color:var(--ok)}
.admin-geslo-status.napaka{color:var(--err)}
.pravice-povzetek{margin:0}
.pravice-povzetek summary{cursor:pointer;color:var(--ember);font-weight:600;list-style-position:inside}
.pravice-povzetek-seznam{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.pravice-povzetek-seznam span{display:inline-flex;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:var(--bg-raised-2);font-size:12.5px;color:var(--ink-dim)}
@media (max-width:680px){
  .admin-geslo-mreza{grid-template-columns:1fr}
  .admin-geslo-dejanja .btn{width:100%;justify-content:center}
  .pravice-grid{grid-template-columns:1fr;padding:14px 14px 4px}
}


/* ===== POPRAVEK 03: kompaktnejši pregledi in jasnejši razdelki ===== */
/* Javni razdelki naj se vizualno ne zlijejo drug v drugega. */
section + section{
  border-top:2px solid var(--line-strong);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.015);
}

/* Intranet / Mladina: kompaktnejše pregledne ploščice. */
.in-kartice{
  grid-template-columns:repeat(auto-fit,minmax(205px,1fr));
  gap:8px; margin-bottom:22px;
}
.in-kartica{
  min-height:62px; padding:10px 12px; gap:10px; border-radius:8px;
}
.in-kartica-ikona{
  width:24px; height:24px; display:inline-flex; align-items:center; justify-content:center;
  font-size:18px; line-height:1; text-align:center;
}
.in-kartica h3{font-size:13.5px;margin-bottom:1px;}
.in-kartica p{font-size:11.75px;line-height:1.3;}
.in-kartica-stevec{font-size:21px;min-width:22px;text-align:right;}

/* Vsaka vsebinska rubrika ima jasno zgornjo ločnico in dovolj praznega prostora. */
.in-sekcija{
  margin:0 0 28px; padding-top:22px; border-top:1px solid var(--line-strong);
}
.in-sekcija:first-of-type{padding-top:0;border-top:0;}
.in-sekcija-glava{margin-bottom:12px;}
.in-sekcija-glava h2{font-size:18px;}

/* Enotna os ikon v seznamih (Roki, Pregledi, Mladina in drugi intranetni seznami). */
.in-vrstica{grid-template-columns:28px minmax(0,1fr) auto;gap:12px;padding:12px 14px;}
.in-ikona{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;line-height:1;margin:0;}

@media (max-width:860px){
  .in-main{padding:18px 12px 54px;}
  .in-head{margin-bottom:20px;padding-bottom:15px;}
  .in-kartice{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
  .in-kartica{min-height:58px;padding:9px 10px;gap:8px;}
  .in-kartica-ikona{width:21px;height:21px;font-size:17px;}
  .in-kartica h3{font-size:12.75px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
  .in-kartica p{display:none;}
  .in-kartica-stevec{font-size:19px;min-width:18px;}
  .in-vrstica{grid-template-columns:28px minmax(0,1fr);gap:9px;padding:11px 12px;}
  .in-vrstica > :last-child{grid-column:2;margin-top:4px;}
  .in-sekcija{padding-top:18px;margin-bottom:24px;}
}
@media (max-width:360px){
  .in-kartice{grid-template-columns:1fr;}
  .in-kartica p{display:block;}
}


/* ===== MOBILNI UI: ROKI IN ČLANI — poravnani kontrolniki ===== */
/* Posebni kartici ne uporabljata generičnega pravila, ki je akcije na
   telefonu stisnilo v drugi stolpec. Akcije imajo svojo polno širino. */
.rok-vrstica,
.clan-vrstica{
  align-items:start;
}
.rok-vrstica .rok-dejanja,
.clan-vrstica .clan-dejanja{
  min-width:0;
}

/* ROKI: interval + dejanje sta vizualno ena smiselna vrstica. */
.rok-dejanja{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.rok-opravljeno-form{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  margin:0;
}
.rok-interval{
  display:grid;
  grid-template-columns:auto 76px auto;
  align-items:center;
  gap:8px;
  margin:0;
  color:var(--ink-dim);
  font-size:13.5px;
  font-weight:500;
  white-space:nowrap;
}
.rok-interval input[type=number]{
  width:76px;
  min-width:76px;
  height:44px;
  margin:0;
  padding:9px 10px;
  text-align:center;
}
.rok-opravljeno,
.rok-izbrisi{
  min-height:44px;
  justify-content:center;
  white-space:nowrap;
}
.rok-opravljeno{ min-width:142px; }
.rok-izbrisi-form{ margin:0; }
.rok-izbrisi{
  width:48px;
  min-width:48px;
  padding-left:0;
  padding-right:0;
  font-size:18px;
}

/* ČLANI: vse upravljalne funkcije ostanejo v kartici in se razporedijo
   po polni razpoložljivi širini, ne v ozkem tretjem stolpcu. */
.clan-vrstica{
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  padding:16px;
}
.clan-vrstica > .in-ikona{
  width:44px;
  height:44px;
  font-size:25px;
  border-radius:50%;
  background:var(--bg-raised-2);
  border:1px solid var(--line);
}
.clan-vrstica > .clan-dejanja{
  grid-column:1 / -1;
  width:100%;
  margin-top:2px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,auto));
  justify-content:start;
  gap:10px;
}
.clan-dejanja form{ margin:0; min-width:0; }
.clan-dejanja .btn{
  min-height:44px;
  justify-content:center;
  width:100%;
  white-space:normal;
  line-height:1.25;
}
.clan-naslov{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.clan-ime{ min-width:0; }
.clan-naslov .status-badge{ margin-left:0 !important; }

/* Ponastavitev gesla: polje je vedno polne širine. Generator in
   ponastavitev sta pod njim kot dva enako uporabna, velika gumba. */
.clan-geslo-form{
  margin-top:12px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,auto);
  gap:9px 10px;
  max-width:620px;
  align-items:start;
}
.clan-geslo-form > input[type=text],
.clan-geslo-form > input[type=password]{
  grid-column:1 / -1;
  width:100%;
  min-width:0;
  min-height:46px;
  margin:0;
}
.clan-geslo-form > .geslo-merilec{
  grid-column:1 / -1;
  margin:0;
}
.clan-geslo-form > .geslo-gumb,
.clan-geslo-form > .clan-ponastavi{
  min-height:44px;
  width:100%;
  justify-content:center;
  margin:0;
  white-space:normal;
  line-height:1.25;
}
.clan-geslo-form > .geslo-gumb{ grid-column:1; }
.clan-geslo-form > .clan-ponastavi{ grid-column:2; }

@media (max-width:860px){
  /* Prepišemo generični .in-vrstica > :last-child, ki je povzročal
     natančno stiskanje akcij, vidno na mobilnih posnetkih. */
  .rok-vrstica{
    grid-template-columns:32px minmax(0,1fr);
    gap:10px 12px;
    padding:15px 14px;
  }
  .rok-vrstica > .rok-dejanja{
    grid-column:1 / -1;
    width:100%;
    margin-top:10px;
    justify-self:stretch;
  }
  .rok-opravljeno-form{
    flex:1 1 390px;
  }
  .rok-interval{ flex:none; }
  .rok-opravljeno{ flex:1 1 150px; }

  .clan-vrstica{
    grid-template-columns:44px minmax(0,1fr);
    gap:12px;
    padding:15px 14px;
  }
  .clan-vrstica > .clan-dejanja{
    grid-column:1 / -1;
    justify-self:stretch;
    margin-top:8px;
  }
}

@media (max-width:620px){
  .rok-dejanja{
    display:grid;
    grid-template-columns:minmax(0,1fr) 48px;
    align-items:stretch;
    gap:9px;
  }
  .rok-opravljeno-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(132px,1fr);
    gap:9px;
    width:100%;
  }
  .rok-interval{
    grid-template-columns:auto minmax(60px,76px) auto;
    justify-content:start;
    min-height:44px;
  }
  .rok-izbrisi-form{ display:flex; }
  .rok-izbrisi{ height:100%; min-height:44px; }

  .clan-geslo-form{
    grid-template-columns:1fr 1fr;
    max-width:none;
  }
  .clan-vrstica > .clan-dejanja{
    grid-template-columns:1fr 1fr;
  }
  .clan-dejanja form:nth-last-child(1){ grid-column:auto; }
}

@media (max-width:430px){
  .rok-dejanja{ grid-template-columns:1fr 48px; }
  .rok-opravljeno-form{ grid-template-columns:1fr; }
  .rok-interval{
    grid-template-columns:auto 72px 1fr;
    width:100%;
  }
  .rok-opravljeno{ width:100%; }

  .clan-geslo-form{ grid-template-columns:1fr; }
  .clan-geslo-form > .geslo-gumb,
  .clan-geslo-form > .clan-ponastavi{ grid-column:1; }
  .clan-vrstica > .clan-dejanja{ grid-template-columns:1fr; }
  .clan-dejanja .btn{ min-height:46px; }
}

/* ===== UI KONSISTENTNOST 06.01 / INTRANET 02.01 =====
   Enotne višine akcijskih gumbov, enaka polja in bolj čitljiva razporeditev. */
.btn{
  min-height:46px;
  justify-content:center;
  line-height:1.2;
  white-space:nowrap;
}
.btn-small{
  min-height:40px;
  padding-top:9px;
  padding-bottom:9px;
}
.row-actions{
  align-items:stretch;
}
.row-actions > form:not(.rok-opravljeno-form){
  display:flex !important;
  margin:0;
}
.row-actions > form > .btn,
.row-actions > .btn{
  height:100%;
  min-height:40px;
}

/* Enotna višina in širina vnosnih/izbirnih kontrolnikov. */
input:not([type]), input[type=text], input[type=password], input[type=date], input[type=number],
input[type=email], input[type=tel], input[type=url], input[type=time],
input[type=datetime-local], select{
  min-height:46px;
}
.form-row-2 > div > input,
.form-row-2 > div > select,
.form-row-2 > div > textarea,
.form-row-3 > div > input,
.form-row-3 > div > select,
.form-row-3 > div > textarea{
  width:100%;
  min-width:0;
}
input[type=checkbox], input[type=radio]{
  box-sizing:border-box;
  width:20px;
  height:20px;
  min-width:20px;
  min-height:20px;
  margin:0;
  vertical-align:middle;
  accent-color:var(--red);
}
.pin-checkbox input[type=checkbox],
.pravice-tabela input[type=checkbox]{
  width:20px;
  height:20px;
  min-width:20px;
}
.pravice-tabela th:not(:first-child),
.pravice-tabela td:not(:first-child){
  width:64px;
  text-align:center;
}

/* Admin računi: e-poštno polje in gumb ostaneta poravnana; Shrani se ne prelomi. */
.admin-email-form{
  display:grid;
  grid-template-columns:minmax(150px,1fr) auto;
  gap:8px;
  align-items:center;
  min-width:270px;
  margin:0;
}
.admin-email-form input{
  margin:0 !important;
  min-width:0;
}
.admin-email-form .btn{
  margin:0;
  min-width:76px;
}
.admin-geslo-dejanja:empty{ display:none; }

/* Roki: statusna kartica ima tri jasne stolpce in besedilo je vertikalno centrirano. */
.rok-stat-kartica{
  display:grid;
  grid-template-columns:38px 44px minmax(0,1fr);
  align-items:center;
  column-gap:12px;
  min-height:76px;
}
.rok-stat-kartica .in-kartica-ikona{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:25px;
}
.rok-stat-kartica .in-kartica-stevec{
  margin:0;
  min-width:0;
  width:44px;
  text-align:center;
  font-size:28px;
}
.rok-stat-kartica .in-kartica-besedilo{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:44px;
}
.rok-stat-kartica h3,
.rok-stat-kartica p{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.rok-stat-kartica h3{ margin:0 0 3px; }
.rok-stat-kartica p{ margin:0; }

/* Pregled urejevalnika: skupine so vizualno bolj povezane, ploščice v skupini enako visoke. */
.dash-section-card > h2{
  margin-bottom:16px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.dash-section-card .dash-grid{
  align-items:stretch;
}
.dash-section-card .dash-tile{
  min-height:142px;
  justify-content:flex-start;
}
.dash-section-card .dash-tile .l{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
}

@media (max-width:1092px){
  .admin-email-form{ min-width:0; width:100%; }
}
@media (max-width:600px){
  .admin-email-form{ grid-template-columns:1fr; }
  .admin-email-form .btn{ width:100%; }
  .row-actions{ gap:8px; }
  .row-actions > form,
  .row-actions > form > .btn,
  .row-actions > .btn{ flex:1 1 auto; }
  .rok-stat-kartica{
    grid-template-columns:36px 42px minmax(0,1fr);
    min-height:72px;
    padding:11px 12px;
    column-gap:10px;
  }
  .rok-stat-kartica .in-kartica-ikona{ width:36px; height:36px; font-size:23px; }
  .rok-stat-kartica .in-kartica-stevec{ width:42px; font-size:26px; }
  .rok-stat-kartica .in-kartica-besedilo{ min-height:40px; }
  .rok-stat-kartica .in-kartica-besedilo p{ display:block; font-size:12px; }
  .dash-section-card .dash-tile{ min-height:126px; }
}

/* ---------- NADZORNA PLOŠČA: hero glava + poudarjene skupine ---------- */
.dash-hero{
  background:linear-gradient(135deg, rgba(var(--accent-rgb),0.14), var(--bg-raised) 55%);
  border:1px solid rgba(var(--accent-rgb),0.3);
  position:relative; overflow:hidden;
}
.dash-hero::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at calc(100% - 40px) -20px, rgba(var(--accent-rgb),0.22), transparent 60%);
}
.dash-hero-glava{ position:relative; z-index:1; }
.dash-hero-glava h2{ margin:2px 0 6px; }
.dash-hero-stats{
  position:relative; z-index:1;
  display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:14px;
  margin-top:22px;
}
.dash-hero-stat{
  background:var(--bg-raised-2); border:1px solid var(--line-strong); border-radius:var(--radius);
  padding:14px 16px; display:flex; flex-direction:column; gap:4px;
  transition:transform .18s ease, border-color .18s ease;
}
a.dash-hero-stat{ color:inherit; }
a.dash-hero-stat:hover{ border-color:var(--accent); transform:translateY(-1px); }
.dash-hero-stat-n{ font-family:'Oswald'; font-size:30px; line-height:1; color:var(--paper); }
.dash-hero-stat-l{ font-size:12.5px; color:var(--ink-dim); }
.dash-hero-stat-l small{ opacity:.85; }
.dash-hero-stat-opozorilo{ border-color:rgba(212,160,23,0.55); }
.dash-hero-stat-opozorilo .dash-hero-stat-n{ color:var(--ember); }
@media (max-width:900px){ .dash-hero-stats{ grid-template-columns:repeat(2, 1fr); } }

.dash-trend{
  position:relative; z-index:1; display:flex; align-items:center; gap:14px;
  margin-top:16px; padding:10px 16px; background:var(--bg-raised-2); border:1px solid var(--line-strong);
  border-radius:var(--radius);
}
.dash-trend-label{ font-size:12px; color:var(--ink-dim); flex:none; }
.dash-trend-svg{ flex:1; height:32px; min-width:80px; }
.dash-trend-danes{ font-family:'Oswald'; font-size:18px; color:var(--paper); flex:none; }
.dash-trend-danes small{ font-family:'Work Sans'; font-size:11px; color:var(--ink-dim); text-transform:uppercase; letter-spacing:.03em; }
@media (max-width:480px){ .dash-trend{ flex-wrap:wrap; } .dash-trend-svg{ order:3; width:100%; } }

.dash-section-card{ border-left:3px solid rgb(var(--accent-rgb)); }
.dash-tile-ikona{
  width:40px; height:40px; border-radius:10px; flex:none;
  display:flex; align-items:center; justify-content:center;
  background:rgba(var(--accent-rgb),0.14); border:1px solid rgba(var(--accent-rgb),0.28);
  margin-bottom:10px;
}
.dash-tile-ikona svg{ width:22px; height:22px; margin-bottom:0; color:rgb(var(--accent-rgb)); }
.dash-section-card .dash-tile:hover{ border-color:rgb(var(--accent-rgb)); }

@media (max-width:480px){
  .dash-hero-stats{ grid-template-columns:repeat(2, 1fr); gap:10px; }
  .dash-hero-stat{ padding:11px 12px; }
  .dash-hero-stat-n{ font-size:24px; }
}

/* ---------- RESPONSIVE QA: starši + pravice članov ---------- */
.starsi-ponastavi-form{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  align-items:center;
  max-width:420px;
  margin-top:8px;
}
.starsi-ponastavi-form input[type="text"],
.starsi-ponastavi-form input[type="password"]{
  min-width:0;
  width:100%;
}
.starsi-ponastavi-form .btn{
  min-height:46px;
  white-space:nowrap;
}

@media (max-width: 560px){
  .starsi-ponastavi-form{
    grid-template-columns:1fr;
    max-width:none;
    width:100%;
  }
  .starsi-ponastavi-form .btn{
    width:100%;
  }

  .pravice-blok[open],
  .pravice-blok form{
    overflow-x:visible;
  }
  .pravice-tabela{
    display:block;
    min-width:0;
    width:100%;
    border-collapse:separate;
  }
  .pravice-tabela tbody,
  .pravice-tabela tr,
  .pravice-tabela td{
    display:block;
    width:100%;
  }
  .pravice-tabela tr:first-child{
    display:none;
  }
  .pravice-tabela tr:not(:first-child){
    margin:0 0 10px;
    padding:11px 12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:var(--bg-raised-2);
  }
  .pravice-tabela td{
    border:0;
    padding:6px 0;
    text-align:left;
    white-space:normal;
  }
  .pravice-tabela td:first-child{
    padding:0 0 8px;
    margin-bottom:3px;
    border-bottom:1px solid var(--line);
    font-weight:700;
    color:var(--ink);
    white-space:normal;
  }
  .pravice-tabela td[data-label]{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 28px;
    gap:12px;
    align-items:center;
    min-height:38px;
  }
  .pravice-tabela td[data-label]::before{
    content:attr(data-label);
    color:var(--ink-dim);
    font-size:13px;
    font-weight:600;
    line-height:1.25;
  }
  .pravice-tabela td[data-label] input[type="checkbox"]{
    justify-self:end;
    margin:0;
  }
  .pravice-blok form > .btn[type="submit"]{
    width:100%;
  }
}

/* ---------- INVENTAR: BRskalnik in zanesljiv prikaz SELECT ----------
   Samsung Internet/WebKit lahko pri temni temi native <select> izriše z
   napačno barvo besedila. Inventar zato dobi eksplicitne barve in layout. */
.inv-brskalnik{ padding:18px; }
.inv-iskanje{
  display:grid;
  grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(150px,1fr));
  gap:12px;
  align-items:end;
}
.inv-iskanje > *{ margin:0 !important; min-width:0; }
.inv-filter{ min-width:0; }
.inv-filter label{ margin:0 0 6px; color:var(--ink-dim); }
.inv-filter input,
.inv-filter select{ margin:0 !important; width:100%; }
.inv-filter-dejanja{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  padding-top:2px;
}
.inv-select{
  display:block;
  width:100%;
  min-width:0;
  min-height:46px;
  color:var(--paper) !important;
  -webkit-text-fill-color:var(--paper);
  background-color:var(--input-bg) !important;
  border:1px solid var(--input-border);
  opacity:1;
  line-height:1.25;
  font-family:'Work Sans',sans-serif;
  font-size:14.5px;
}
.inv-select option{
  color:#efe7d8;
  background:#15120f;
  -webkit-text-fill-color:#efe7d8;
}
:root[data-theme="light"] .inv-select{
  color:var(--paper) !important;
  -webkit-text-fill-color:var(--paper);
  background-color:var(--input-bg) !important;
}
:root[data-theme="light"] .inv-select option{
  color:#2b1310;
  background:#fffbfa;
  -webkit-text-fill-color:#2b1310;
}
.inv-select:focus{
  color:var(--paper) !important;
  -webkit-text-fill-color:var(--paper);
}
@media (max-width:1180px){
  .inv-iskanje{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .inv-filter-iskanje{ grid-column:1 / -1; }
}
@media (max-width:560px){
  .inv-brskalnik{ padding:14px; }
  .inv-iskanje{ grid-template-columns:1fr; gap:10px; }
  .inv-filter-iskanje,
  .inv-filter-dejanja{ grid-column:1; }
  .inv-filter-dejanja{ display:grid; grid-template-columns:1fr; }
  .inv-filter-dejanja .btn{ width:100%; }
}

/* 07.00 — operativna nadzorna plošča, audit in analitika */
.attention-card{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:18px;margin-bottom:22px}
.attention-list{display:grid;gap:10px}
.attention-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}
.attention-item:before{content:"";width:8px;height:100%;min-height:34px;border-radius:8px;background:var(--ink-faint)}
.attention-item.attention-high:before{background:#d64545}.attention-item.attention-medium:before{background:#d99a31}.attention-item.attention-low:before{background:#5b8e6a}
.attention-item strong{display:block}.attention-item .hint{margin:3px 0 0}
.audit-diff{display:grid;gap:6px;margin-top:8px;font-size:12.5px;overflow-wrap:anywhere}.audit-diff>div{padding:6px 8px;border-left:2px solid var(--line-strong);background:var(--panel-soft)}
.analytics-bars{display:grid;gap:7px}.analytics-bar-row{display:grid;grid-template-columns:54px minmax(80px,1fr) 48px;align-items:center;gap:9px;font-size:12px}.analytics-bar-row strong{text-align:right}.analytics-bar-track{height:10px;border-radius:99px;background:var(--line);overflow:hidden}.analytics-bar-track i{display:block;height:100%;border-radius:99px;background:var(--ember)}
@media(max-width:680px){.attention-item{grid-template-columns:8px minmax(0,1fr) auto}.attention-item>.btn{grid-column:2;width:100%}.analytics-bar-row{grid-template-columns:48px minmax(60px,1fr) 40px}}

.in-dokument-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.in-dokument-row>.in-dok{min-width:0;flex:1 1 250px!important}.in-dokument-row .in-dok-ime{overflow-wrap:anywhere}@media(max-width:560px){.in-dokument-row>.in-dok{flex-basis:100%!important}.in-dokument-row>form{flex:1}.in-dokument-row>form>button{width:100%;justify-content:center}}

/* 07.00.01: narrow screens and long administrative values. */
.attention-item small{overflow-wrap:anywhere;}
.in-kartica{min-width:0;}
.in-kartica p{white-space:normal;overflow-wrap:anywhere;}
.emergency-item{min-width:0;overflow-wrap:anywhere;}
.nc-table-scroll{max-width:100%;overflow-x:auto;}
.push-settings{max-width:760px;}
.push-settings h1{margin:0 0 12px;}
.push-settings fieldset{border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:20px 0;}
.push-settings legend{padding:0 6px;font-weight:700;}
.push-topic{display:block;padding:8px 0;cursor:pointer;}
.push-topic input{width:auto;margin-right:8px;}
@media(max-width:480px){.push-settings{padding:18px;}.push-settings .row-actions{display:grid;grid-template-columns:1fr;}.push-settings .row-actions .btn{width:100%;white-space:normal;}}

/* 07.01.02: na javni strani ostane ena polna ločnica samo med rubrikami. */
main#top > section + section{border-top:2px solid var(--line-strong);box-shadow:none;}
main#top > .hero{border-bottom:0;}
main#top .sec-head{border-bottom:0;padding-bottom:0;}
main#top .sub-divider{border-top:0;padding-top:0;}
main#top .events .ev-row,main#top .events .ev-row:first-child{border-top:0;border-bottom:0;}
main#top .events .ev-row + .ev-row{margin-top:10px;}
main#top .manifest,main#top .stat:first-child,main#top .tl-item,main#top .tl-item:last-child{border-top:0;border-bottom:0;}
main#top .stat,main#top .m-row{border-bottom:0;}
main#top .tl-item + .tl-item,main#top .m-row + .m-row{margin-top:10px;}

/* Analitika: ločena pregleda za obisk v obdobju in celotno evidenco. */
.analytics-layout{display:grid;gap:24px;min-width:0;}
.analytics-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:30px 32px;border:1px solid var(--line-strong);border-radius:16px;background:linear-gradient(125deg,var(--bg-raised-2),var(--bg-raised));}
.analytics-hero h1{font-size:clamp(28px,3vw,38px);line-height:1.15;margin:5px 0 10px;}
.analytics-hero p{color:var(--ink-dim);margin:0;max-width:65ch;}
.analytics-eyebrow{color:var(--ember);font-size:11px;font-weight:700;letter-spacing:.12em;}
.analytics-period{display:grid;gap:6px;min-width:190px;margin:0;}
.analytics-period label{font-size:12px;font-weight:700;color:var(--ink-dim);}
.analytics-period select{margin:0;width:100%;}
.analytics-jump{display:flex;gap:8px;flex-wrap:wrap;}
.analytics-jump a{display:inline-flex;padding:9px 14px;border:1px solid var(--line-strong);border-radius:999px;background:var(--bg-raised);color:var(--paper);font-size:13px;text-decoration:none;}
.analytics-jump a:hover,.analytics-jump a:focus-visible{border-color:var(--ember);color:var(--ember);}
.analytics-notice{padding:14px 18px;border:1px solid var(--ember);border-radius:10px;background:rgba(246,135,18,.1);color:var(--paper);}
.analytics-section,.analytics-section + .analytics-section{padding:0;border:0;box-shadow:none;margin:0;scroll-margin-top:20px;}
.analytics-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin:0 0 16px;}
.analytics-section-head h2{font-size:24px;margin:4px 0 0;}
.analytics-section-head p{max-width:46ch;color:var(--ink-dim);font-size:13px;margin:0;}
.analytics-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;}
.analytics-metric{min-width:0;padding:19px 20px;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg-raised);display:flex;flex-direction:column;gap:7px;}
.analytics-metric span{font-size:13px;font-weight:700;color:var(--ink-dim);}
.analytics-metric strong{font-family:'Oswald',sans-serif;font-size:31px;line-height:1.1;color:var(--paper);font-weight:600;overflow-wrap:anywhere;}
.analytics-metric small{font-size:12px;line-height:1.4;color:var(--ink-faint);}
.analytics-metric-warning{border-color:var(--ember);}
.analytics-metric-warning strong{color:var(--ember);}
.analytics-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.analytics-panel{min-width:0;padding:23px 24px;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg-raised);}
.analytics-panel-head{margin-bottom:17px;}
.analytics-panel-head h3{font-size:18px;margin:0 0 4px;}
.analytics-panel-head p{font-size:12.5px;color:var(--ink-dim);margin:0;}
.analytics-panel-alert{border-color:rgba(246,135,18,.4);}
.analytics-empty{padding:18px;border-radius:8px;background:var(--bg-raised-2);color:var(--ink-dim);font-size:13px;margin:0;}
.analytics-list{display:grid;gap:13px;}
.analytics-list-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(60px,1fr) auto;align-items:center;gap:12px;font-size:13px;min-width:0;}
.analytics-list-label{min-width:0;overflow-wrap:anywhere;}
.analytics-list-row strong{min-width:28px;text-align:right;font-variant-numeric:tabular-nums;}
.analytics-color-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;flex:none;vertical-align:middle;}
.analytics-meter,.analytics-bar-track{height:9px;border-radius:99px;background:var(--bg-raised-2);overflow:hidden;}
.analytics-meter i,.analytics-bar-track i{display:block;height:100%;border-radius:99px;background:var(--ember);}
.analytics-count-list{display:grid;gap:0;}
.analytics-count-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
.analytics-count-list>div:last-child{border-bottom:0;}
.analytics-count-list span{min-width:0;overflow-wrap:anywhere;color:var(--ink-dim);}
.analytics-count-list strong{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
.analytics-activity{margin-top:16px;}
.analytics-activity .analytics-bars{max-height:390px;overflow-y:auto;padding-right:4px;gap:9px;}
.analytics-activity .analytics-bar-row{grid-template-columns:72px minmax(80px,1fr) 48px;font-size:12.5px;}
.analytics-settings{max-width:740px;}
.analytics-settings>p{color:var(--ink-dim);margin:0 0 16px;font-size:14px;}
.analytics-settings form{display:flex;flex-wrap:wrap;align-items:center;gap:16px;}
.analytics-toggle{display:inline-flex;align-items:center;gap:10px;flex:1 1 300px;cursor:pointer;}
.analytics-toggle span{font-size:14px;}
@media(max-width:860px){.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.analytics-hero{padding:23px 20px;}.analytics-period{width:100%;}.analytics-panels{grid-template-columns:1fr;}.analytics-panel{padding:20px;}.analytics-section-head{display:block;}.analytics-section-head p{margin-top:7px;}}
@media(max-width:460px){.analytics-metrics{grid-template-columns:1fr 1fr;gap:8px;}.analytics-metric{padding:14px;}.analytics-metric strong{font-size:26px;}.analytics-list-row{grid-template-columns:minmax(0,1fr) 70px auto;gap:7px;}.analytics-jump a{font-size:12px;padding:8px 10px;}}
@media(max-width:360px){.analytics-metrics{grid-template-columns:1fr;}.analytics-list-row{grid-template-columns:minmax(0,1fr) 60px auto;}}
/* Meniji, tipkovnica in dotik. */
.admin-sidebar-nav .admin-nav-link{min-height:44px;display:flex;align-items:center}
.admin-nav-group-label{min-height:40px}
.cal-nav button,.pv-kol-gumb,.pv-odstrani,.lightbox-nav,.lightbox-close,.modal-x{min-width:44px;min-height:44px}
.lightbox-trigger{cursor:zoom-in}
:focus-visible{outline:3px solid #f68712;outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.ev-detail-button{background:transparent;border:0;color:inherit;font:inherit;cursor:pointer;padding:8px 0;text-align:left}
.ev-detail-button:hover{text-decoration:underline}
.admin-task-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:4px 0}
.admin-task-tabs .active{background:var(--ember);color:white;border-color:var(--ember)}

/* ===== HEALTH CENTER — nadzorna plošča (admin/health.php) ===== */
.hc-shell{ max-width:var(--modul-sirina); margin:0 auto; padding:32px 24px 60px; }

.hc-hero{ position:relative; overflow:hidden; }
.hc-hero-glava{ margin-bottom:22px; }
.hc-hero-glavno{
  display:flex; align-items:center; gap:32px; flex-wrap:wrap;
  padding:6px 0 26px; border-bottom:1px solid var(--line-strong); margin-bottom:22px;
}
.hc-obroc{ position:relative; flex:none; width:150px; height:150px; }
.hc-obroc svg{ transform:rotate(-90deg); }
.hc-obroc-podlaga{ fill:none; stroke:var(--line-strong); stroke-width:9; }
.hc-obroc-napredek{
  fill:none; stroke:var(--ok); stroke-width:9; stroke-linecap:round;
  transition:stroke-dashoffset 1s cubic-bezier(.22,1,.36,1);
  animation:hc-obroc-vris 1s cubic-bezier(.22,1,.36,1) both;
}
.hc-stanje-pozor .hc-obroc-napredek{ stroke:var(--ember); }
.hc-stanje-kriticno .hc-obroc-napredek{ stroke:var(--err); }
@keyframes hc-obroc-vris{ from{ stroke-dashoffset:339.29; } }
.hc-obroc-besedilo{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; pointer-events:none;
}
.hc-obroc-besedilo strong{ font-family:'Oswald'; font-size:30px; line-height:1.1; color:var(--paper); }
.hc-obroc-besedilo span{ font-size:12.5px; color:var(--ink-faint); margin-top:1px; }
.hc-hero-status{ display:flex; flex-direction:column; gap:0; min-width:220px; }
.hc-hero-status h3{ display:flex; align-items:center; gap:9px; font-size:21px; margin:0; }
.hc-status-pika{ width:11px; height:11px; border-radius:50%; background:var(--ok); flex:none; box-shadow:0 0 0 4px rgba(111,174,106,0.18); }
.hc-stanje-pozor .hc-status-pika{ background:var(--ember); box-shadow:0 0 0 4px rgba(246,135,18,0.18); }
.hc-stanje-kriticno .hc-status-pika{ background:var(--err); box-shadow:0 0 0 4px rgba(212,41,31,0.18); animation:hc-utrip 1.6s ease-in-out infinite; }
@keyframes hc-utrip{ 0%,100%{ opacity:1; } 50%{ opacity:.45; } }

.hc-bliznjice{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.hc-bliznjica{
  --accent-rgb:180,168,152;
  display:flex; align-items:center; gap:12px; text-decoration:none;
  background:var(--bg-raised-2); border:1px solid var(--line-strong); border-left:3px solid rgb(var(--accent-rgb));
  border-radius:8px; padding:13px 15px; transition:transform .15s ease, border-color .15s ease, background .15s ease;
}
.hc-bliznjica:hover{ transform:translateY(-2px); border-color:rgba(var(--accent-rgb),0.55); background:var(--bg-raised); }
.hc-bliznjica-ikona{ font-size:21px; flex:none; }
.hc-bliznjica-besedilo{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.hc-bliznjica-besedilo strong{ font-size:14px; color:var(--paper); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hc-bliznjica-besedilo em{ font-style:normal; font-size:12px; color:var(--ink-faint); }

.hc-opozorilo{ border-color:rgba(212,41,31,0.4); background:rgba(212,41,31,0.06); }
.hc-opozorilo h3{ margin:0 0 12px; font-size:17px; }
.hc-opozorilo-seznam{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.hc-opozorilo-seznam a{
  display:flex; align-items:baseline; gap:10px; text-decoration:none; color:var(--ink-dim);
  padding:9px 12px; border-radius:6px; background:var(--bg-raised-2); border:1px solid var(--line);
  transition:border-color .15s ease, color .15s ease;
}
.hc-opozorilo-seznam a:hover{ border-color:var(--red-bright); color:var(--paper); }
.hc-opozorilo-ikona{ font-size:15px; flex:none; }
.hc-opozorilo-seznam strong{ color:var(--paper); }

.hc-kategorija{ scroll-margin-top:24px; }
.hc-kategorija-glava{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.hc-kategorija-glava h3{ display:flex; align-items:center; gap:10px; font-size:19px; margin:0; }
.hc-kategorija-ikona{ font-size:20px; }

.hc-preverjanja{ display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:12px; }
.hc-preverjanje{
  display:flex; align-items:flex-start; gap:12px; padding:14px 15px;
  background:var(--bg-raised-2); border:1px solid var(--line-strong); border-radius:8px;
  opacity:0; transform:translateY(6px); animation:hc-vstop .4s ease forwards;
}
.hc-preverjanja .hc-preverjanje:nth-child(1){animation-delay:.02s}
.hc-preverjanja .hc-preverjanje:nth-child(2){animation-delay:.06s}
.hc-preverjanja .hc-preverjanje:nth-child(3){animation-delay:.1s}
.hc-preverjanja .hc-preverjanje:nth-child(4){animation-delay:.14s}
.hc-preverjanja .hc-preverjanje:nth-child(5){animation-delay:.18s}
.hc-preverjanja .hc-preverjanje:nth-child(6){animation-delay:.22s}
.hc-preverjanja .hc-preverjanje:nth-child(n+7){animation-delay:.26s}
@keyframes hc-vstop{ to{ opacity:1; transform:none; } }
.hc-preverjanje.ni-ok{ border-color:rgba(212,41,31,0.4); background:rgba(212,41,31,0.05); }
.hc-preverjanje-ikona{ font-size:19px; flex:none; line-height:1.3; }
.hc-preverjanje-besedilo{ flex:1; min-width:0; }
.hc-preverjanje-besedilo h4{ font-size:14.5px; margin:0 0 2px; color:var(--paper); }
.hc-preverjanje-besedilo p{ font-size:12.75px; color:var(--ink-faint); margin:0; word-break:break-word; overflow-wrap:anywhere; }
.hc-preverjanje .status-badge{ flex:none; margin-top:1px; }

@media (max-width:760px){
  .hc-bliznjice{ grid-template-columns:1fr; }
  .hc-hero-glavno{ gap:22px; }
}
@media (max-width:480px){
  .hc-shell{ padding:22px 14px 44px; }
  .hc-obroc{ width:118px; height:118px; }
  .hc-obroc-besedilo strong{ font-size:24px; }
  .hc-hero-glavno{ flex-direction:column; align-items:flex-start; }
  .hc-preverjanja{ grid-template-columns:1fr; }
  .hc-preverjanje{ flex-wrap:wrap; }
}
.admin-task-tabs a{min-height:44px;display:inline-flex;align-items:center}

/* ===== VLECI-IN-SPUSTI SEZNAMI — vrstni red rubrik / povezave v nogi ===== */
.dnd-lista{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.dnd-item{
  display:flex; align-items:center; gap:12px; padding:11px 14px;
  background:var(--bg-raised-2); border:1px solid var(--line-strong); border-radius:9px;
  transition:opacity .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.dnd-item.je-skrito{ opacity:.55; }
.dnd-item.se-vlece{ opacity:.35; }
.dnd-rocaj{
  flex:none; width:32px; height:32px; border-radius:7px; border:1px solid transparent;
  background:transparent; color:var(--ink-faint); font-size:17px; line-height:1;
  cursor:grab; display:flex; align-items:center; justify-content:center;
  touch-action:none; transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.dnd-rocaj:hover{ background:var(--bg-raised); color:var(--paper); border-color:var(--line-strong); }
.dnd-rocaj:active{ cursor:grabbing; }
.dnd-stevilka{ flex:none; width:20px; color:var(--ink-faint); font-size:13px; text-align:right; font-variant-numeric:tabular-nums; }
.dnd-ikona{ flex:none; display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:7px; background:var(--bg-raised); color:var(--ember); }
.dnd-naziv{ flex:1; min-width:0; font-size:14.5px; font-weight:500; color:var(--paper); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dnd-tipkovnica{ display:flex; gap:4px; flex:none; }
.dnd-tipkovnica form{ display:inline-flex; }
.dnd-preklop-form{ flex:none; display:inline-flex; }
.dnd-preklop{
  flex:none; width:42px; height:24px; border-radius:20px; border:1px solid var(--line-strong);
  background:var(--bg); padding:2px; cursor:pointer; position:relative; transition:background .18s ease, border-color .18s ease;
}
.dnd-preklop-krogla{
  display:block; width:18px; height:18px; border-radius:50%; background:var(--ink-faint);
  transition:transform .18s cubic-bezier(.34,1.56,.64,1), background .18s ease;
}
.dnd-preklop.je-vklopljen{ background:rgba(111,174,106,0.25); border-color:var(--ok); }
.dnd-preklop.je-vklopljen .dnd-preklop-krogla{ transform:translateX(18px); background:var(--ok); }
.dnd-preklop-oznaka{ flex:none; width:76px; font-size:12px; color:var(--ink-faint); }

.dnd-toast{
  position:fixed; left:50%; bottom:28px; transform:translate(-50%,12px); z-index:400;
  background:var(--bg-raised-2); border:1px solid var(--line-strong); color:var(--paper);
  padding:11px 20px; border-radius:30px; font-size:14px; box-shadow:0 10px 30px rgba(0,0,0,0.35);
  opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease;
}
.dnd-toast.dnd-toast-prikazan{ opacity:1; transform:translate(-50%,0); }
.dnd-toast.dnd-toast-napaka{ border-color:var(--err); color:#f0a89e; }

@media (max-width:640px){
  .dnd-item{ flex-wrap:wrap; }
  .dnd-naziv{ order:1; flex-basis:calc(100% - 90px); white-space:normal; }
  .dnd-tipkovnica{ order:3; margin-left:44px; }
  .dnd-preklop-form{ order:2; margin-left:auto; }
  .dnd-preklop-oznaka{ order:4; width:auto; margin-left:6px; }
}

/* ---------- Povezave v nogi: izbor ikone in seznam ---------- */
.pv-obrazec-polja{ display:grid; grid-template-columns:1fr 1.4fr; gap:16px; }
@media (max-width:700px){ .pv-obrazec-polja{ grid-template-columns:1fr; } }
.pv-ikone-label{ display:block; margin:16px 0 8px; font-size:13.5px; color:var(--ink-dim); }
.pv-ikone-izbor{ display:flex; flex-wrap:wrap; gap:10px; }
.pv-ikona-opcija{
  display:flex; align-items:center; gap:8px; padding:8px 14px 8px 8px; border-radius:30px;
  border:1px solid var(--line-strong); background:var(--bg-raised-2); cursor:pointer;
  font-size:13.5px; color:var(--ink-dim); transition:border-color .15s ease, background .15s ease;
}
.pv-ikona-opcija input{ position:absolute; opacity:0; width:1px; height:1px; }
.pv-ikona-opcija:hover{ border-color:var(--line-strong); background:var(--bg-raised); }
.pv-ikona-opcija.je-izbrana{ border-color:var(--ember); background:rgba(246,135,18,0.1); color:var(--paper); }
.pv-ikona-swatch{
  display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%;
  background:var(--bg-raised); flex:none;
}
.pv-ikona-swatch svg{ width:14px; height:14px; }
.pv-ikona-brez{ color:var(--ink-faint); font-size:13px; }
.pv-urejanje-aktivno{ border-color:var(--ember); box-shadow:0 0 0 1px rgba(246,135,18,0.35); }

.pv-lista .dnd-item{ align-items:flex-start; }
.pv-lista-ikona{
  flex:none; width:32px; height:32px; border-radius:7px; background:var(--bg-raised);
  display:flex; align-items:center; justify-content:center; color:var(--ember); margin-top:1px;
}
.pv-lista-ikona svg{ width:15px; height:15px; }
.pv-lista-besedilo{ flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; padding-top:1px; }
.pv-lista-besedilo strong{ font-size:14.5px; color:var(--paper); }
.pv-lista-url{ font-size:12.5px; color:var(--ink-faint); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
@media (max-width:640px){ .pv-lista-url{ white-space:normal; word-break:break-word; } }

/* =======================================================
   SKUPNA "KARTIČNA" PREDSTAVITEV SEZNAMOV (uv-*)
   Zamenjuje stare .admin-table sezname z bogatejšim, bolj
   berljivim prikazom v obliki kartic + iskalnikom. Obrazci za
   dodajanje/urejanje in POST-akcije ostajajo nespremenjeni —
   ta blok skrbi samo za IZGLED seznama.
   ======================================================= */
.uv-orodna{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  flex-wrap:wrap; margin-bottom:16px;
}
.uv-iskalnik{ position:relative; flex:1; min-width:180px; max-width:360px; }
.uv-iskalnik svg{
  position:absolute; left:11px; top:50%; transform:translateY(-50%);
  width:15px; height:15px; color:var(--ink-faint); pointer-events:none;
}
.uv-iskalnik input{
  width:100%; padding:9px 12px 9px 34px; border-radius:8px;
  border:1px solid var(--line-strong); background:var(--bg-raised-2);
  color:var(--paper); font-size:13.5px; font-family:inherit;
}
.uv-iskalnik input:focus{ border-color:var(--ember); outline:none; }
.uv-stevec{ font-size:12.5px; color:var(--ink-dim); white-space:nowrap; }

.uv-lista{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:16px;
}
.uv-kartica{
  display:flex; flex-direction:column; background:var(--bg-raised-2);
  border:1px solid var(--line-strong); border-radius:var(--radius); overflow:hidden;
  transition:transform .16s ease, border-color .16s ease;
}
.uv-kartica:hover{ transform:translateY(-2px); border-color:var(--ember); }
.uv-kartica-slika{
  height:132px; flex:none; background:var(--bg-raised);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.uv-kartica-slika img{ width:100%; height:100%; object-fit:cover; }
.uv-kartica-slika svg{ width:34px; height:34px; color:var(--ink-faint); }
.uv-kartica-body{ padding:12px 14px; flex:1; display:flex; flex-direction:column; gap:6px; }
.uv-kartica-naslov{
  font-weight:600; font-size:14.5px; color:var(--paper); line-height:1.35;
  display:flex; align-items:flex-start; gap:6px;
}
.uv-kartica-meta{ font-size:12px; color:var(--ink-dim); display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.uv-kartica-desc{ font-size:12.5px; color:var(--ink-dim); line-height:1.4; margin:0; }
.uv-kartica-akcije{
  padding:10px 14px; border-top:1px solid var(--line); margin-top:auto;
  display:flex; gap:8px; flex-wrap:wrap;
}
.uv-ni-rezultatov{ display:none; padding:24px; text-align:center; color:var(--ink-dim); font-size:13.5px; }
.uv-kartica-zatemnjena{ opacity:.55; }

@media (max-width:480px){
  .uv-lista{ grid-template-columns:1fr; }
  .uv-orodna{ flex-direction:column; align-items:stretch; }
  .uv-iskalnik{ max-width:none; }
}

/* ---------- ZGODOVINA IZPOSOJ: GRAFI IN ANALIZA ---------- */
.graf-kontrole{ padding-bottom:20px; }
.graf-custom-obdobje{ max-width:190px; flex:none; }
.graf-custom-obdobje[hidden]{ display:none; }
.graf-mreza{ display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
@media (max-width:1000px){ .graf-mreza{ grid-template-columns:1fr; } }

.graf-panel{
  border:1px solid var(--line-strong); border-radius:10px; background:var(--bg-raised-2);
  padding:20px 22px 16px;
}
.graf-panel-glava{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.graf-panel-glava h3{ font-size:15.5px; margin:0; }
.graf-podkontrole{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.graf-podkontrole select{ width:auto; min-width:170px; margin:0 !important; }

.graf-pili{ display:flex; gap:6px; flex-wrap:wrap; }
.graf-kumulativno{ display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--ink-dim); white-space:nowrap; margin:0 !important; }
.graf-kumulativno input{ width:auto; margin:0 !important; }
#grafIzvoziCsv{ margin-top:14px; }
.graf-pil{
  background:transparent; border:1px solid var(--line-strong); color:var(--ink-dim);
  font-size:12px; font-weight:600; padding:6px 12px; border-radius:20px; cursor:pointer;
  transition:all .15s ease; font-family:'Work Sans', sans-serif; white-space:nowrap;
}
.graf-pil:hover{ border-color:var(--ember); color:var(--ember); }
.graf-pil.is-aktiven{ background:var(--ember); border-color:var(--ember); color:#fff; }

.graf-svg-wrap{ position:relative; width:100%; }
.graf-svg{ width:100%; height:auto; display:block; overflow:visible; }
.graf-label{ font-size:12px; fill:var(--ink-dim); font-family:'Work Sans', sans-serif; }
.graf-vrednost{ font-size:12.5px; font-weight:700; fill:var(--paper); font-family:'Oswald', sans-serif; }
.graf-trak{ fill:var(--bg-raised); }
.graf-bar{ cursor:pointer; transition:opacity .15s ease; }
.graf-bar:hover{ opacity:0.82; }
.graf-mreza-crta{ stroke:var(--line); stroke-width:1; }
.graf-os-label{ font-size:10.5px; fill:var(--ink-faint); font-family:'Work Sans', sans-serif; }
.graf-pika{ pointer-events:none; }
.graf-hover-pas{ cursor:crosshair; }
.graf-prazno{ text-align:center; padding:30px 0 10px; margin:0 !important; }

.graf-tooltip{
  position:fixed; z-index:900; pointer-events:none;
  background:var(--bg); border:1px solid var(--ember); border-radius:7px;
  padding:8px 12px; font-size:12.5px; line-height:1.5; color:var(--paper);
  box-shadow:0 8px 22px rgba(0,0,0,0.4); white-space:nowrap; max-width:220px;
}
@media (max-width:600px){
  .graf-panel{ padding:16px 14px 14px; }
  .graf-podkontrole{ flex-direction:column; align-items:stretch; }
  .graf-podkontrole select{ width:100%; }
}
