/* ===== iCAD portal v0.7 · ADMINISTRACIJA (izgled „C" kao aplikacija) — vlasnik: admin.js, admin-klijenti.js, uvoz.js =====
   Tokeni, okvir (bočna i donja traka) i zajedničke sastavnice (.gumb, .cip, .kod, .sl, .segment, .popis, .popis-redak,
   .plocica, .ladica, .tablica, .dijalog) su u stil.css — ovdje se samo slažu i dopunjuju. Sve stranice administracije
   su pod .adm (stranica() u admin-klijenti.js); dijalozi i ladice idu u <body>, pa imaju svoje klase. */

.adm, .adm-dijalog, .adm-ladica, dialog.dijalog {
  --adm-opasno: var(--opasno, #b3261e); --adm-opasno-tint: var(--opasno-tint, #fbe9e7); --adm-uspjeh: #17663a;
  --adm-chev: #8d9aa3;
}
.adm { min-width: 0; padding-bottom: 8px; }
.adm.okvir-admin { display: block; }               /* stara klasa (testovi je čekaju) — stranica Gradilišta */
.adm .skriveno { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.adm .tiho { color: var(--tekst-3); }
.adm .sitno { font-size: 13.5px; }
.adm .greska { color: var(--adm-opasno); }
.adm .uspjeh { color: var(--adm-uspjeh); }
.adm .u-pripremi { color: var(--jantar); font-weight: 750; }

/* ---------- zaglavlje stranice ---------- */
.adm .zaglavlje-stranice { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 24px; margin: 6px 0 22px; }
.adm .zaglavlje-tekst { min-width: 0; flex: 1 1 auto; }
.adm .zaglavlje-stranice .nadnaslov { margin: 0 0 4px; font-size: 14.5px; font-weight: 700; color: var(--tekst-3); }
.adm .zaglavlje-naslov { display: flex; align-items: center; gap: 14px; min-width: 0; }
.adm .zaglavlje-stranice h1 { margin: 0; font-size: 36px; line-height: 1.12; font-weight: 800; letter-spacing: -.025em; overflow-wrap: anywhere; }
.adm .zaglavlje-stranice.stalno h1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm .podnaslov-stranice { margin: 6px 0 0; color: var(--tekst-3); font-weight: 650; font-size: 15px; }
.adm .podnaslov-stranice a { color: var(--naglasak-jaki); font-weight: 750; }
.adm .zaglavlje-oznake { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; align-items: center; }
.adm .zaglavlje-stranice > .radnje { display: flex; flex-wrap: nowrap; justify-content: flex-end; align-items: center; gap: 10px; flex: 0 0 auto; }
.adm .zaglavlje-stranice .put { margin-bottom: 12px; }
.adm .opis-projekta { margin: 12px 0 0; max-width: 72ch; color: var(--tekst-2); font-weight: 550; }

/* red činjenica gradilišta (mjesto · investitor · godina · broj projekta · tko vidi) */
.adm dl.cinjenice.meta-red { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 0; padding: 0; background: none; box-shadow: none; border-radius: 0; overflow: visible; }
.adm dl.cinjenice.meta-red > div { display: inline-flex; align-items: center; gap: 7px; flex: none; min-width: 0; padding: 0; border: 0; background: none; }
.adm dl.cinjenice.meta-red dt { display: inline-flex; color: var(--tekst-3); margin: 0; letter-spacing: 0; text-transform: none; }
.adm dl.meta-red dd { margin: 0; font-size: 14.5px; font-weight: 650; color: var(--tekst-2); overflow-wrap: anywhere; }
.adm dl.meta-red dd a { color: var(--naglasak-jaki); font-weight: 750; }

/* oznaka klijenta u zaglavlju gradilišta (avatar + naziv) */
.adm .klijent-cip { text-decoration: none; gap: 7px; max-width: 100%; min-width: 0; }
.adm .klijent-cip .oznaka-klijenta { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; margin-top: 0; }
.adm a.klijent-cip:hover { box-shadow: 0 0 0 1px var(--naglasak-tint-2) inset; }

/* gumbi: riječ uz ikonu; „ikona-usko" na mobitelu ostaje samo ikona */
.adm .gumb .rijec, .adm-dijalog .gumb .rijec { white-space: nowrap; }

/* ---------- izbornik ⋯ ---------- */
.adm details.izbornik { position: relative; flex: none; }
.adm details.izbornik > summary { list-style: none; cursor: pointer; }
.adm details.izbornik > summary::-webkit-details-marker { display: none; }
.adm details.izbornik[open] > summary { background: var(--povrsina-3); }
.adm .izbornik-popis { position: absolute; right: 0; top: calc(100% + 6px); z-index: 40; min-width: 250px; max-width: min(340px, calc(100vw - 32px));
  padding: 6px; border-radius: 18px; background: var(--povrsina); box-shadow: 0 0 0 1px var(--crta), var(--sjena-3); display: flex; flex-direction: column; }
.adm .izbornik-stavka { display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 0 14px; border: 0; border-radius: 12px; background: none;
  font: inherit; font-weight: 650; font-size: 15px; color: var(--tekst); text-align: left; cursor: pointer; }
.adm .izbornik-stavka svg { color: var(--tekst-3); flex: none; }
.adm .izbornik-stavka:hover, .adm .izbornik-stavka:focus-visible { background: var(--povrsina-2); }
.adm .izbornik-stavka.opasno, .adm .izbornik-stavka.opasno svg { color: var(--adm-opasno); }
.adm .izbornik-stavka.samo-mobitel { display: none; }
.adm .izbornik-natpis { display: none; }

/* ---------- ploča (kartica s glavom) ---------- */
.adm .ploca { background: var(--povrsina); border-radius: var(--r-xl); box-shadow: var(--sjena-2); margin: 0 0 20px; min-width: 0; }
.adm .ploca-glava { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 14px; padding: 18px 20px 12px; }
.adm .ploca-glava h2 { margin: 0; font-size: 18px; font-weight: 800; letter-spacing: -.01em; }
.adm .ploca-glava .radnje { display: flex; flex-wrap: wrap; gap: 8px; }
.adm .ploca-tijelo { padding: 0 20px 18px; min-width: 0; }
.adm .ploca > .prazno, .adm .ploca > .omot-tablice { margin: 0 12px 12px; }
.adm .prazno-redak { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; padding: 4px 20px 18px; }
.adm .prazno-redak p { margin: 0; color: var(--tekst-3); font-weight: 600; flex: 1 1 280px; }
.adm .prazno-radnje { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 14px; }
.adm .adm-ispod-ploce { margin: -8px 4px 20px; }

/* retci popisa u administraciji (korisnici bez klijenta, administratori) */
.adm .adm-popis { display: flex; flex-direction: column; }
.adm .adm-red { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px 20px; min-height: 72px; position: relative; }
.adm .adm-red + .adm-red::before { content: ""; position: absolute; left: 78px; right: 20px; top: 0; height: 1px; background: var(--crta); }
.adm .adm-red-tekst { min-width: 0; }
.adm .adm-red .naslov { display: block; font-size: 15.5px; font-weight: 750; line-height: 1.3; overflow-wrap: anywhere; color: inherit; text-decoration: none; }
.adm .adm-red .pod { display: block; margin-top: 2px; font-size: 13.5px; color: var(--tekst-3); font-weight: 600; overflow-wrap: anywhere; }
.adm .adm-red .oznake { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.adm .adm-red.neaktivan { opacity: .7; }
.adm .adm-red-desno { display: flex; align-items: center; gap: 8px; }
.adm .adm-radnje-retka { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
.adm .adm-izbor { height: 44px; max-width: 280px; padding: 0 40px 0 14px; background-position: right 14px center; border-radius: 12px; border: 1px solid var(--crta-2); background-color: var(--povrsina);
  font: inherit; font-size: 14.5px; font-weight: 650; color: var(--tekst); }

/* ---------- avatar (inicijali; osnova je u stil.css) ---------- */
.adm .avatar { line-height: 1; }
.adm .avatar.mini { width: 22px; height: 22px; font-size: 9.5px; }

/* ---------- sličica gradilišta (.sl iz stil.css) ---------- */
.adm .sl { width: 56px; height: 56px; border-radius: 16px; flex: none; overflow: hidden; position: relative; }
.adm .sl img { width: 100%; height: 100%; object-fit: cover; display: block; }
.adm .sl .glif { width: 62%; height: 62%; }

/* ================= GRADILIŠTA ================= */
.adm .paznja-omot { margin: 0 0 22px; }
.adm .paznja-naslov { display: none; }
.adm .paznja { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.adm .paznja-omot:not(.sve) .paznja-kartica.visak { display: none; }
.adm .paznja-kartica { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 20px; background: var(--povrsina); box-shadow: var(--sjena-2); min-width: 0; }
.adm .paznja-kartica .ik-plocica { width: 48px; height: 48px; border-radius: 14px; flex: none; display: grid; place-items: center; }
.adm .ik-plocica.jantar { background: var(--jantar-tint); color: var(--jantar); }
.adm .ik-plocica.siva { background: var(--povrsina-3); color: var(--tekst-2); }
.adm .paznja-kartica .t { flex: 1; min-width: 0; }
.adm .paznja-kartica b { display: block; font-size: 15px; font-weight: 750; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm .paznja-kartica small { display: block; font-size: 13.5px; color: var(--tekst-3); font-weight: 650; }
.adm .paznja-kartica .gumb { flex: none; }
.adm .paznja-vise { margin-top: 12px; padding: 4px 6px; border: 0; border-radius: 10px; background: none; font: inherit; font-weight: 750; color: var(--naglasak-jaki); cursor: pointer; }
.adm .paznja-vise:hover { background: var(--naglasak-tint); }

/* čipovi filtra i tražilica */
.adm .adm-filtri { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 8px; }
.adm .adm-cipovi { display: flex; flex-wrap: wrap; gap: 10px; min-width: 0; }
.adm .adm-filtar { flex: none; max-width: 300px; border: 0; font-family: inherit; }      /* button.cip (stil.css) — filtar; ovdje samo duljina naziva */
.adm .adm-filtar .ime { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.adm .adm-filtar svg { color: var(--tekst-3); flex: none; }
.adm .adm-trazi { display: flex; align-items: center; gap: 10px; flex: 1 1 220px; min-width: 200px; height: 46px; padding: 0 14px; margin: 0;
  border-radius: 15px; background: var(--povrsina); box-shadow: 0 0 0 1px var(--crta) inset, var(--sjena-1); color: var(--tekst-3); cursor: text; }
.adm .adm-trazi:focus-within { box-shadow: 0 0 0 2px var(--naglasak) inset, var(--sjena-1); }
.adm .adm-trazi input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; padding: 0; margin: 0;
  font: inherit; font-weight: 600; font-size: 14.5px; color: var(--tekst); box-shadow: none; }
.adm .adm-trazi input::placeholder { color: var(--tekst-3); opacity: 1; }
.adm .adm-broj-trazenja { flex: none; font-size: 12.5px; font-weight: 800; color: var(--tekst-3); }
.adm .adm-upozorenje { display: flex; align-items: center; gap: 10px; margin: 10px 0 0; padding: 10px 14px; border-radius: 14px;
  background: var(--jantar-tint); color: var(--jantar); font-weight: 650; font-size: 14px; }
.adm .adm-upozorenje svg { flex: none; }

/* popis po godinama */
.adm .adm-godina { display: flex; align-items: baseline; gap: 10px; margin: 24px 4px 10px; }
.adm .adm-godina b { font-size: 20px; font-weight: 800; letter-spacing: -.01em; }
.adm .adm-godina span { font-size: 13.5px; color: var(--tekst-3); font-weight: 700; }
.adm .adm-gradilista { background: var(--povrsina); border-radius: 22px; box-shadow: var(--sjena-2); overflow: visible; display: block; padding: 0; }
.adm .adm-redak { display: grid; grid-template-columns: 56px minmax(0, 1.45fr) minmax(0, 1.1fr) minmax(0, 1.2fr) 136px 44px; gap: 18px; align-items: center;
  padding: 12px 14px 12px 12px; min-height: 82px; position: relative; }
.adm .adm-gradilista.bez-klijenta .adm-redak { grid-template-columns: 56px minmax(0, 1.6fr) minmax(0, 1.3fr) 136px 44px; }
.adm .adm-redak + .adm-redak::before { content: ""; position: absolute; left: 86px; right: 16px; top: 0; height: 1px; background: var(--crta); }
.adm .adm-redak:first-child { border-radius: 22px 22px 0 0; }
.adm .adm-redak:last-child { border-radius: 0 0 22px 22px; }
.adm .adm-redak:only-child { border-radius: 22px; }
.adm .adm-redak:hover { background: var(--povrsina-2); }
.adm .adm-redak:has(.veza-retka:focus-visible) { outline: 3px solid var(--naglasak-svijetli); outline-offset: -3px; }
.adm .adm-redak .veza-retka { color: inherit; text-decoration: none; outline: none; }
.adm .adm-redak .veza-retka::after { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 1; }
.adm .adm-redak details.izbornik { z-index: 2; justify-self: end; }
.adm .adm-redak details.izbornik > summary { box-shadow: none; background: transparent; }
.adm .adm-redak details.izbornik > summary:hover, .adm .adm-redak details.izbornik[open] > summary { background: var(--povrsina-3); }
.adm .adm-redak details.izbornik[open] { z-index: 45; }
.adm .adm-redak > div { min-width: 0; }
.adm .adm-naziv b { display: block; font-size: 16px; font-weight: 750; line-height: 1.3; overflow-wrap: anywhere; }
.adm .adm-naziv small, .adm .adm-paket small { display: block; font-size: 13.5px; color: var(--tekst-3); font-weight: 650; margin-top: 2px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm .adm-klijent { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 14.5px; }
.adm .adm-klijent > span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.adm .adm-paket b { display: flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 750; min-width: 0; }
.adm .adm-paket b > span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.adm .adm-paket b.tiho { color: var(--tekst-3); }
.adm .adm-status { justify-self: start; }
.adm .adm-objavljeno { display: inline-flex; align-items: center; gap: 6px; color: var(--naglasak-jaki); font-weight: 750; font-size: 14px; }
.adm .adm-redak.arhiviran .adm-naziv, .adm .adm-redak.arhiviran .sl { opacity: .65; }
.adm .ploca .adm-popis-gradilista { margin: 0 -8px; }
.adm .ploca .adm-gradilista { box-shadow: none; border-radius: 0; background: transparent; }
.adm .ploca .adm-godina { margin-top: 8px; }

/* ================= KLIJENTI ================= */
.adm .adm-mreza-klijenata { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; margin: 0 0 24px; }
.adm .adm-klijent-kartica { display: flex; flex-direction: column; gap: 16px; padding: 18px; border-radius: 24px; background: var(--povrsina); box-shadow: var(--sjena-2);
  color: inherit; text-decoration: none; transition: transform .15s, box-shadow .2s; min-width: 0; }
.adm .adm-klijent-kartica:hover { transform: translateY(-2px); box-shadow: var(--sjena-3); }
.adm .adm-klijent-kartica.neaktivan { opacity: .72; }
.adm .kk-vrh { display: flex; align-items: center; gap: 14px; min-width: 0; }
.adm .kk-vrh .t { flex: 1; min-width: 0; }
.adm .kk-vrh b { display: block; font-size: 17px; font-weight: 800; line-height: 1.25; overflow-wrap: anywhere; }
.adm .kk-vrh small { display: block; margin-top: 3px; font-size: 13.5px; color: var(--tekst-3); font-weight: 650; overflow-wrap: anywhere; }
.adm .kk-vrh > svg { color: var(--adm-chev); flex: none; }
.adm .kk-dno { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.adm .kk-objava { font-size: 12.5px; color: var(--tekst-3); font-weight: 650; }

/* jedan klijent: činjenice u redu s ikonama (kao zaglavlje gradilišta), korisnici kao kartice-retci */
.adm-klijent-stranica .zaglavlje-stranice { align-items: flex-start; }
.adm-klijent-stranica .zaglavlje-stranice dl.cinjenice { margin-top: 14px; }
.adm .kontakt { display: flex; flex-direction: column; }
.adm .klijent-cinjenice .kontakt { flex-direction: row; flex-wrap: wrap; gap: 0 14px; }
.adm .klijent-cinjenice .mono { font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.adm .adm-korisnici .adm-red .oznake { margin-top: 5px; }
.adm .adm-korisnici .adm-red-desno .izbornik { flex: none; }

/* ================= GRADILIŠTE ================= */
.adm-projekt .zaglavlje-stranice h1 { font-size: 34px; }
/* 20. 10.: jedan stupac — Povijest paketa je kartica prekidača (prije stupac desno, uz Upravljanje isti popis paketa dvaput) */
.adm .adm-gr-raspored { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.adm .adm-gr-glavno { min-width: 0; }
.adm .adm-plocice { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 16px; }
.adm .adm-plocice > .plocica { min-width: 0; }
.adm .adm-segment { margin-top: 22px; max-width: 640px; overflow-x: auto; scrollbar-width: none; }
.adm .adm-segment::-webkit-scrollbar { display: none; }
/* administracija: Povijest paketa je kartica prekidača i na računalu (kod kupca je ondje stupac desno — stil.css je skriva) */
.adm .adm-segment .seg-povijest { display: flex; }
.adm .adm-seg-sadrzaj { margin-top: 14px; min-width: 0; }
/* dorada v0.7: prekidač i „Oznaka s komada — Nađi" kao kod kupca (.gr-alati iz stil.css); uz Povijest desno nema mjesta
   za oboje u jednom retku, pa je polje oznake redak iznad prekidača (kao na mobitelu u prototipu) */
.adm .adm-alati .adm-segment { margin-top: 0; }
@media (min-width: 1024px) {
  .adm .adm-alati { flex-wrap: wrap; }
  .adm .adm-alati > .oznaka-trazi { order: -1; flex: 1 1 100%; max-width: none; }
}
.adm .vrh-seg { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 2px 4px 10px; font-size: 13.5px; color: var(--tekst-3); font-weight: 650; }
.adm .vrh-seg.priprema { margin-top: 22px; color: var(--jantar); }
.adm .popis-podnozje { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 56px; border: 0; border-top: 1px solid var(--crta);
  background: none; font: inherit; font-size: 14.5px; font-weight: 750; color: var(--naglasak-jaki); cursor: pointer; }
.adm .popis-podnozje:hover { background: var(--povrsina-2); }
.adm .popis .popis-redak.zamijenjen .naslov { color: var(--tekst-2); }
.adm .adm-popis-nacrta.priprema { box-shadow: 0 0 0 1px #f0dcae inset, var(--sjena-1); }
.adm .ik-plocica.pdf.jantar { background: var(--jantar-tint); color: var(--jantar); }
.adm .sl.tamna { background: var(--tamna); color: #fff; }

/* kartice (.karta): povijest paketa, mape */
.adm .karta { background: var(--povrsina); border-radius: 24px; box-shadow: var(--sjena-2); overflow: hidden; min-width: 0; }
.adm .karta-zaglavlje { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 18px 18px 4px 20px; }
.adm .karta-zaglavlje h3 { margin: 0; font-size: 18px; font-weight: 800; }
.adm .karta-zaglavlje > span { font-size: 13px; color: var(--tekst-3); font-weight: 700; text-align: right; }
.adm .adm-mape { padding: 6px 0; }
.adm .adm-datoteke > * + * { margin-top: 16px; }

/* vremenska crta paketa */
.adm .adm-vremenska { list-style: none; margin: 0; padding: 6px 4px 10px; }
.adm .adm-vr-razdjel { display: flex; align-items: center; gap: 10px; padding: 12px 14px 4px; font-size: 12.5px; font-weight: 800; letter-spacing: .07em;
  text-transform: uppercase; color: var(--tekst-3); }
.adm .adm-vr-razdjel::after { content: ""; flex: 1; height: 1px; background: var(--crta); }
.adm .adm-vr { position: relative; }
.adm .adm-vr-gumb { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 0 10px; align-items: start; width: 100%; padding: 10px 12px 10px 10px;
  border: 0; border-radius: 16px; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.adm .adm-vr-gumb:hover { background: var(--povrsina-2); }
.adm .adm-vr-os { position: relative; align-self: stretch; display: flex; justify-content: center; }
.adm .adm-vr-os::before { content: ""; position: absolute; top: -12px; bottom: -12px; left: 50%; width: 2px; transform: translateX(-50%); background: var(--crta-2); }
.adm .adm-vr-razdjel + .adm-vr .adm-vr-os::before { top: 18px; }
.adm .adm-vr:has(+ .adm-vr-razdjel) .adm-vr-os::before, .adm .adm-vr:last-child .adm-vr-os::before { bottom: calc(100% - 18px); }
.adm .adm-vr-razdjel + .adm-vr:has(+ .adm-vr-razdjel) .adm-vr-os::before, .adm .adm-vr-razdjel + .adm-vr:last-child .adm-vr-os::before { display: none; }
.adm .adm-vr-cvor { position: relative; margin-top: 7px; width: 14px; height: 14px; border-radius: 50%; background: var(--naglasak);
  box-shadow: 0 0 0 4px var(--povrsina), 0 0 0 5px var(--naglasak-tint-2); }
.adm .adm-vr.zamijenjena .adm-vr-cvor { background: var(--povrsina); box-shadow: 0 0 0 4px var(--povrsina), inset 0 0 0 2px #a7b2b9; }
.adm .adm-vr.priprema .adm-vr-cvor { background: #d39a2c; box-shadow: 0 0 0 4px var(--povrsina), 0 0 0 5px #f2d9a6; }
.adm .adm-vr-tekst { min-width: 0; }
.adm .adm-vr-gore { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.adm .adm-vr-datum { font-size: 13px; color: var(--tekst-3); font-weight: 700; }
.adm .adm-vr-naziv { display: block; margin-top: 4px; font-size: 16px; font-weight: 750; line-height: 1.3; overflow-wrap: anywhere; }
.adm .adm-vr.zamijenjena .adm-vr-naziv { color: var(--tekst-2); }
.adm .adm-vr-dno { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin-top: 6px; font-size: 13.5px; color: var(--tekst-3); font-weight: 650; }
.adm .mini-3d { display: inline-flex; align-items: center; gap: 4px; color: var(--naglasak-jaki); font-weight: 800; }
.adm .adm-vr-zamjena { display: inline-flex; align-items: center; gap: 5px; }
.adm .adm-vr-gumb > svg { color: var(--adm-chev); margin-top: 8px; }
.adm .adm-povijest-prazno { padding: 6px 20px 18px; margin: 0; }

/* ---------- Upravljanje: paketi kao kartice s radnjama ---------- */
.adm .adm-upravljanje > .ploca:last-child { margin-bottom: 0; }
.adm .paketi { display: flex; flex-direction: column; gap: 10px; padding: 2px 12px 14px; }
.adm .objekt-skupina { padding: 0 0 4px; }
.adm .objekt-skupina + .objekt-skupina { border-top: 1px solid var(--crta); padding-top: 6px; }
.adm .objekt-naslov { display: flex; align-items: center; gap: 8px; margin: 12px 20px 8px; font-size: 15px; font-weight: 800; }
.adm .objekt-naslov svg { color: var(--tekst-3); }
.adm .objekt-naslov .brojac { font-size: 12.5px; font-weight: 700; color: var(--tekst-3); }
.adm .paket { border: 1px solid var(--crta); border-radius: 18px; background: var(--povrsina); min-width: 0; transition: box-shadow .2s, border-color .2s; }
.adm .paket.priprema { border-color: #efdcb2; background: #fffcf5; }
.adm .paket:has(> .paket-glava.otvoren) { box-shadow: var(--sjena-2); border-color: var(--crta-2); }
.adm .paket.priprema:has(> .paket-glava.otvoren) { border-color: #e5c987; }
/* glava paketa (dorada v0.7): [gumb rasklapanja: oznaka · naziv] · stanje + brza radnja · strelica */
.adm .paket-glava { display: grid; grid-template-columns: minmax(0, 1fr) auto 28px; gap: 12px; align-items: center; width: 100%; min-height: 68px;
  padding: 6px 14px 6px 0; border-radius: 18px; cursor: pointer; }
.adm .paket-glava:hover { background: rgba(15, 26, 32, .025); }
.adm .paket-otvori { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: center; min-width: 0; min-height: 56px;
  padding: 6px 0 6px 14px; border: 0; border-radius: 18px; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.adm .paket-otvori:focus-visible { outline-offset: -3px; }
.adm .paket-desno { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; }
.adm .paket-desno .brza-radnja { min-height: 36px; height: 36px; padding: 0 12px; font-size: 13.5px; border-radius: 12px; flex: none; }
.adm .brza-mjesto { display: flex; justify-content: flex-end; min-width: 92px; }
.adm .brza-mjesto:empty { visibility: hidden; }
.adm .paket-desno .brza-radnja.tekst { color: var(--tekst-2); }
.adm .paket-glava .oznaka-rev { min-width: 52px; height: 30px; justify-content: center; font-size: 13.5px; display: inline-flex; align-items: center; }
.adm .paket-glava .oznaka-rev.prazna { min-width: 0; width: 0; padding: 0; background: none; margin-right: -14px; }
.adm .paket-naslov { display: flex; flex-direction: column; min-width: 0; }
.adm .naziv-paketa { font-size: 16px; font-weight: 750; line-height: 1.3; overflow-wrap: anywhere; }
.adm .paket.stara .naziv-paketa { color: var(--tekst-2); }
.adm .paket-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 0; margin-top: 3px; font-size: 13.5px; color: var(--tekst-3); font-weight: 650; }
.adm .paket-meta > * + *::before { content: "·"; margin: 0 7px; color: var(--tekst-3); font-weight: 700; }
.adm .paket-meta .mini-3d { margin-left: 10px; }
.adm .paket-meta .mini-3d::before { content: none; }
.adm .stupac-stanje { justify-self: end; }
.adm .paket-glava .strelica { display: grid; place-items: center; color: var(--adm-chev); transition: transform .2s; }
.adm .paket-glava.otvoren .strelica { transform: rotate(180deg); }
.adm .paket-tijelo { padding: 0 16px 16px; border-top: 1px solid var(--crta); }
.adm .paket-radnje { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 38px 12px 0; }
/* rasklopljen paket: radnje (Objavi/Povuci) samo u tijelu, s desnim rubom na istoj okomici kao u glavi
   (glava: 14 px ruba + 28 px strelice + 12 px razmaka = 54 px; tijelo već ima 16 px → još 38 px) */
.adm .paket-glava.otvoren .brza-mjesto { display: none; }
.adm .paket-radnje .razmak { flex: 1; }
.adm .paket-akcije { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-left: auto; }
.adm .paket-stanje-tekst { font-size: 13.5px; font-weight: 700; color: var(--tekst-3); }
.adm .paket-stanje-tekst.priprema { color: var(--jantar); }
.adm .kvacica-redak, .adm-dijalog .kvacica-redak { display: inline-flex; align-items: center; gap: 8px; font-weight: 650; cursor: pointer; }
.adm .kvacica-redak input, .adm-dijalog .kvacica-redak input, .adm .uvoz-opcija input { width: 20px; height: 20px; accent-color: var(--naglasak); flex: none; }
.adm .paket-napomena { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 12px; padding: 9px 12px; border-radius: 12px; background: var(--povrsina-2);
  color: var(--tekst-2); font-size: 14px; font-weight: 600; }
.adm .paket-napomena svg { flex: none; margin-top: 2px; color: var(--tekst-3); }
.adm .kartice { display: inline-flex; gap: 2px; padding: 4px; border-radius: 14px; background: #e3e8eb; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.adm .kartice::-webkit-scrollbar { display: none; }
.adm .kartice [role="tab"] { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 14px; border: 0; border-radius: 11px; background: none;
  font: inherit; font-size: 14px; font-weight: 700; color: var(--tekst-2); cursor: pointer; white-space: nowrap; flex: none; }
.adm .kartice [role="tab"] svg { color: var(--tekst-3); }
.adm .kartice [role="tab"][aria-selected="true"] { background: var(--povrsina); color: var(--tekst); box-shadow: 0 1px 2px rgba(15, 26, 32, .1), 0 3px 10px -4px rgba(15, 26, 32, .18); }
.adm .kartice [role="tab"][aria-selected="true"] svg { color: var(--naglasak-jaki); }
.adm .kartice .brojac { font-size: 12px; font-weight: 800; color: var(--tekst-3); background: rgba(15, 26, 32, .06); border-radius: 999px; padding: 1px 7px; }
.adm .kartica-sadrzaj { margin-top: 14px; min-width: 0; }

/* datoteke paketa */
.adm .paket-tijelo .omot-tablice { border-radius: 14px; box-shadow: 0 0 0 1px var(--crta) inset; overflow-x: auto; }
.adm .paket-tijelo table.tablica { width: 100%; border-collapse: collapse; font-size: 14px; }
.adm .paket-tijelo .tablica th { padding: 10px 12px 8px; font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--tekst-3); text-align: left; background: none; }
.adm .paket-tijelo .tablica td { padding: 10px 12px; border-top: 1px solid var(--crta); vertical-align: middle; }
.adm .paket-tijelo .tablica td.broj, .adm .paket-tijelo .tablica th.broj { text-align: right; white-space: nowrap; }
/* 20. 10. („Objavi malo lijevo, malo desno"): Preuzmi / Obriši u retku datoteke imaju desni rub na istoj okomici kao Objavi
   / Povuci objavu iznad i brza radnja u glavi paketa — 54 px od ruba kartice (tijelo 16 + ćelija 38) */
@media (min-width: 721px) {
  .adm .paket-tijelo .tablica td.kut, .adm .paket-tijelo .tablica th.kut { padding-right: 38px; }
}
.adm .datoteka-celija { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.adm .datoteka-ik { color: var(--tekst-3); display: inline-flex; margin-top: 1px; }
.adm .datoteka-ik svg { width: 20px; height: 20px; }
.adm .datoteka-ime { overflow-wrap: anywhere; font-weight: 650; min-width: 0; }
.adm .datoteka-ime .podnaslov { display: block; font-size: 12.5px; font-weight: 600; color: var(--tekst-3); margin-top: 2px; }
.adm .tihi-izbor { min-width: 150px; height: 36px; padding: 0 32px 0 12px; background-position: right 11px center; border: 1px solid transparent; border-radius: 10px; background-color: var(--povrsina-2);
  background-position: right 10px center; font: inherit; font-size: 13.5px; color: var(--tekst); max-width: 210px; }
.adm .tihi-izbor:hover, .adm .tihi-izbor:focus { border-color: var(--crta-2); }
.adm .paket-zakljucan { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; }
.adm .paket-zakljucan svg { flex: none; }
.adm .upload-ispod { margin-top: 14px; }

/* područje za upload */
.adm .spust { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 16px; border: 2px dashed var(--crta-2); border-radius: 18px;
  background: var(--povrsina-2); text-align: center; cursor: pointer; transition: border-color .15s, background .15s; }
.adm .spust[data-preko] { border-color: var(--naglasak); background: var(--naglasak-tint); }
.adm .spust input { display: none; }
.adm .spust-ik { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--naglasak-tint); color: var(--naglasak-jaki); margin-bottom: 4px; }
.adm .spust b { font-size: 15.5px; font-weight: 750; }
.adm .spust-gumbi { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 8px; }
.adm .tijek-slanja:not(:empty) { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }
.adm .upload-red { display: grid; grid-template-columns: minmax(0, 1fr) minmax(60px, 120px) auto auto; gap: 10px; align-items: center; padding: 8px 12px;
  border-radius: 12px; background: var(--povrsina-2); font-size: 13.5px; }
.adm .upload-red .ime { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 650; }
.adm .upload-red .velicina-slanja { white-space: nowrap; }
.adm .stanje-slanja { font-weight: 750; white-space: nowrap; font-variant-numeric: tabular-nums; }
.adm .upload-red.gotovo .stanje-slanja { color: var(--adm-uspjeh); }
.adm .upload-greska { margin: -2px 0 4px 12px; }
.adm .upload-ponovi { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.adm .napredak { display: block; height: 6px; border-radius: 3px; background: var(--crta); overflow: hidden; }
.adm .napredak > i { display: block; height: 100%; width: 0; border-radius: 3px; background: var(--naglasak); transition: width .2s; }

/* 3D i nacrti paketa */
.adm .podrucje-3d > * + * { margin-top: 12px; }
.adm .stanje-3d { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0; }
.adm .nacrti-spoja > summary { cursor: pointer; font-weight: 700; color: var(--tekst-2); width: max-content; max-width: 100%; }
.adm .kvacice { max-height: 260px; overflow: auto; margin-top: 8px; padding: 4px; border-radius: 12px; box-shadow: 0 0 0 1px var(--crta) inset; }
.adm .kvacice label { display: flex; align-items: flex-start; gap: 10px; padding: 7px 8px; border-radius: 10px; cursor: pointer; font-size: 14px; }
.adm .kvacice label:hover { background: var(--povrsina-2); }
.adm .kvacice input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--naglasak); flex: none; }
.adm .kvacica-tekst { overflow-wrap: anywhere; min-width: 0; }
.adm .nacrti-spoja > p { margin: 8px 0 0; }
.adm .radnje-3d { display: flex; flex-wrap: wrap; gap: 8px; }
.adm .obrada { margin-top: 14px; padding: 14px 16px; border-radius: 16px; background: var(--povrsina-2); box-shadow: 0 0 0 1px var(--crta) inset; }
.adm .obrada-glava { display: flex; align-items: center; gap: 8px; }
.adm .obrada-glava svg { color: var(--naglasak-jaki); flex: none; }
.adm .obrada-glava .proteklo { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--tekst-3); font-variant-numeric: tabular-nums; }
.adm .obrada .napredak { margin-top: 10px; }
.adm .obrada .koraci { margin-top: 8px; font-size: 13.5px; color: var(--tekst-2); white-space: pre-wrap; overflow-wrap: anywhere; }
.adm .obrada > .gumb { margin-top: 8px; }
.adm .obrada.greska-obrade { background: var(--adm-opasno-tint); box-shadow: 0 0 0 1px #f3c7c2 inset; }
.adm .obrada.greska-obrade .obrada-glava svg { color: var(--adm-opasno); }

/* podaci paketa */
.adm .podaci-paketa .polja { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 16px; }
.adm .podaci-paketa .puno { grid-column: 1 / -1; }
.adm .podaci-dno { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin-top: 12px; }
.adm .podaci-dno p { margin: 0; flex: 1 1 320px; }

/* polja (podaci paketa, uvoz) — isti oblik kao u dijalozima */
.adm .polje, .adm-dijalog .polje { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.adm .polje > label, .adm-dijalog .polje > label { font-size: 13px; font-weight: 750; color: var(--tekst-2); }
.adm .polje input:not([type="checkbox"]):not([type="file"]), .adm .polje select, .adm .polje textarea,
.adm-dijalog input:not([type="checkbox"]):not([type="file"]), .adm-dijalog select, .adm-dijalog textarea {
  width: 100%; min-height: 46px; padding: 0 14px; border: 1px solid var(--crta-2); border-radius: 12px; background-color: var(--povrsina);
  font: inherit; font-size: 15px; color: var(--tekst); }
/* select zadržava strelicu iz stil.css (background-image) — zato gore background-color, a ne background;
   v0.8: tekst 14 px od lijevog ruba (kao u poljima), strelica 14 px od desnog */
.adm .polje select, .adm-dijalog select { height: 46px; padding: 0 40px 0 14px; background-position: right 14px center; }
.adm .polje textarea, .adm-dijalog textarea { padding: 10px 12px; min-height: 72px; resize: vertical; }
.adm .polje input:focus, .adm .polje select:focus, .adm .polje textarea:focus,
.adm-dijalog input:focus, .adm-dijalog select:focus, .adm-dijalog textarea:focus { outline: none; border-color: var(--naglasak); box-shadow: 0 0 0 3px var(--naglasak-tint-2); }
.adm-dijalog input[aria-invalid="true"] { border-color: var(--adm-opasno); box-shadow: 0 0 0 3px var(--adm-opasno-tint); }

/* ---------- dijalozi administracije (u <body>) ---------- */
.adm-dijalog .polja { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.adm-dijalog .puno { grid-column: 1 / -1; }
.adm-dijalog .polja-redak { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 14px 16px; }
.adm-dijalog .polja-redak.lomi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.adm-dijalog .napomena-dijaloga { margin: 0; font-size: 13px; color: var(--tekst-3); font-weight: 600; }
.adm-dijalog .oib-redak { display: flex; gap: 8px; }
.adm-dijalog .oib-redak input { flex: 1; min-width: 0; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.adm-dijalog .oib-redak .gumb { flex: none; }
.adm-dijalog .oib-poruka { margin-top: 6px; padding: 9px 12px; border-radius: 12px; background: var(--naglasak-tint); color: var(--tekst-2); font-size: 13.5px; font-weight: 600; }
.adm-dijalog .oib-poruka b { color: var(--tekst); }
.adm-dijalog .oib-poruka.greska { background: var(--adm-opasno-tint); color: var(--adm-opasno); }
.adm-dijalog .oib-poruka.upozorenje { background: var(--jantar-tint); color: var(--jantar); }
.adm-dijalog .oib-poruka.ucitavam { background: var(--povrsina-2); color: var(--tekst-3); }
.adm-dijalog .oib-poruka .tiho { color: var(--tekst-3); margin-top: 4px; }
.adm-dijalog .registar-upozorenje, dialog .registar-upozorenje { margin-top: 6px; }
dialog .razlike-registra { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
dialog .razlike-registra label { display: grid; grid-template-columns: auto 130px minmax(0, 1fr); gap: 10px; align-items: start; padding: 10px 12px; border-radius: 12px;
  background: var(--povrsina-2); cursor: pointer; font-size: 14px; }
dialog .razlike-registra input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--naglasak); }
dialog .razlika-natpis { font-weight: 750; color: var(--tekst-2); }
dialog .razlika-vrijednosti { overflow-wrap: anywhere; }
dialog .razlika-vrijednosti s { color: var(--tekst-3); }
dialog .registar-uvod { font-size: 14px; color: var(--tekst-2); }

/* ladica paketa (Povijest) */
.adm-popis-ladice { margin-top: 4px; }
.adm-ladica-napomena { margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; background: var(--povrsina-2); color: var(--tekst-2); font-weight: 600; font-size: 14px; }

/* ================= DNEVNIK ================= */
.adm .adm-izbor-omot { position: relative; display: inline-flex; align-items: center; height: 46px; padding: 0; border-radius: 999px; background: var(--povrsina);
  box-shadow: 0 0 0 1px var(--crta-2) inset; color: var(--tekst-3); min-width: 0; max-width: 100%; }
/* v0.8: select je preko cijele pilule (ikona lijevo leži na njemu), pa je i otvoreni popis poravnat s pilulom, a ne s tekstom */
.adm .adm-izbor-omot > svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.adm .adm-izbor-omot select { height: 46px; min-width: 0; max-width: 300px; border: 0; border-radius: 999px; background-color: transparent;
  background-position: right 16px center; font: inherit; font-weight: 700; font-size: 14.5px; color: var(--tekst); padding: 0 42px 0 44px; cursor: pointer; }
/* stil.css (v0.8) ima opće select:is(select,#_) { padding-left: 16px } — u piluli tekst ide desno od ikone (ista težina
   kao opće pravilo + .adm), a otvoreni popis je poravnat s pilulom */
.adm .adm-izbor-omot select:is(select, #_) { padding-left: 44px; padding-right: 42px; background-position: right 16px center; }
.adm .adm-izbor-omot:focus-within { box-shadow: 0 0 0 2px var(--naglasak) inset; }
.adm .adm-izbor-omot select:focus { outline: none; }
.adm table.dnevnik, .adm table.dnevnik tbody { display: block; width: 100%; border: 0; background: none; box-shadow: none; }
.adm-dnevnik .omot-tablice { overflow: visible; box-shadow: none; background: none; margin-top: 6px; }
/* dorada v0.7: height auto — opće pravilo .tablica tbody tr { height: 60px } davalo je naslovu dana ~45 px praznine */
.adm table.dnevnik tr.skupina { display: block; height: auto; margin: 18px 4px 8px; background: none; }
.adm table.dnevnik tr.skupina:first-child { margin-top: 8px; }
.adm table.dnevnik tr.zapis { height: auto; }
.adm table.dnevnik tr.skupina th { display: block; padding: 0; border: 0; background: none; text-align: left; font-size: 12.5px; font-weight: 800; letter-spacing: .07em;
  text-transform: uppercase; color: var(--tekst-3); }
.adm table.dnevnik tr.zapis { display: grid; grid-template-columns: 40px minmax(0, 1.1fr) minmax(0, 1.5fr) 64px; gap: 14px; align-items: center;
  margin: 0 0 6px; padding: 10px 16px 10px 12px; border-radius: 16px; background: var(--povrsina); box-shadow: var(--sjena-1), 0 0 0 1px rgba(15, 26, 32, .03) inset; }
.adm table.dnevnik tr.zapis:hover { box-shadow: var(--sjena-2); }
.adm table.dnevnik td { display: block; padding: 0; border: 0; min-width: 0; background: none; }
.adm table.dnevnik td::before { content: none !important; display: none !important; }
.adm .dn-ikona { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--povrsina-3); color: var(--tekst-2); }
.adm .dn-ikona.naglasak { background: var(--naglasak-tint); color: var(--naglasak-jaki); }
.adm .dn-ikona.opasno { background: var(--adm-opasno-tint); color: var(--adm-opasno); }
.adm .dn-ikona.jantar { background: var(--jantar-tint); color: var(--jantar); }
.adm .dn-glavno b { display: block; font-size: 15px; font-weight: 750; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm .dn-glavno .puta { color: var(--tekst-3); font-weight: 800; }
.adm .dn-glavno small, .adm .dn-gdje small { display: block; margin-top: 2px; font-size: 13px; color: var(--tekst-3); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm .dn-gradiliste { display: block; font-size: 14px; font-weight: 700; color: var(--tekst-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm .dn-vrijeme { text-align: right; font-size: 13.5px; font-weight: 750; color: var(--tekst-3); font-variant-numeric: tabular-nums; }

/* ================= DIJAGNOSTIKA ================= */
.adm .adm-upozorenja { display: flex; flex-direction: column; gap: 8px; margin: 0 0 18px; }
.adm .adm-upozorenja .adm-upozorenje { margin: 0; }
.adm .adm-brojke { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; margin: 0 0 20px; }
.adm .adm-brojka { display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: 20px; background: var(--povrsina); box-shadow: var(--sjena-2); min-width: 0; }
.adm .adm-brojka .ik-plocica { width: 48px; height: 48px; border-radius: 14px; flex: none; display: grid; place-items: center; background: var(--naglasak-tint); color: var(--naglasak-jaki); }
.adm .adm-brojka > div { min-width: 0; }
.adm .adm-brojka b { display: block; font-size: 26px; font-weight: 800; line-height: 1.1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.adm .adm-brojka span { display: block; font-size: 13.5px; color: var(--tekst-3); font-weight: 700; }
.adm .adm-brojka small { display: block; font-size: 12.5px; color: var(--tekst-3); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm .adm-slicice .ploca-tijelo > p { margin: 0; max-width: 80ch; }
.adm .adm-sustav dl.cinjenice { margin: 0; }
.adm .adm-sustav dl.cinjenice dd { overflow-wrap: anywhere; }
/* dorada v0.7: Sustav kao popis redaka (natpis lijevo, vrijednost desno), a ne rešetka s crtama */
.adm .adm-sustav dl.cinjenice.popis-cinjenica { display: block; background: none; box-shadow: none; border-radius: 0; overflow: visible; }
.adm .adm-sustav dl.popis-cinjenica > div { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 2px 16px; align-items: baseline;
  padding: 11px 0; border-top: 1px solid var(--crta); background: none; }
.adm .adm-sustav dl.popis-cinjenica > div:first-child { border-top: 0; padding-top: 2px; }
.adm .adm-sustav dl.popis-cinjenica dt { margin: 0; }
.adm .adm-sustav dl.popis-cinjenica dd { font-size: 14.5px; font-weight: 650; color: var(--tekst); }
.adm .adm-sustav dl.popis-cinjenica dd.sporedno { font-size: 13px; font-weight: 600; color: var(--tekst-2); }
@media (max-width: 720px) { .adm .adm-sustav dl.popis-cinjenica > div { grid-template-columns: minmax(0, 1fr); } }

/* ================= UVOZ MAPE ================= */
.adm .uvoz-kartica > .ploca-tijelo { padding: 20px; }
.adm .uvoz-odabir { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 300px); gap: 16px; align-items: end; }
.adm .uvoz-mapa { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 16px; padding: 16px; border-radius: 20px; border: 2px dashed var(--crta-2); background: var(--povrsina-2); min-width: 0; }
.adm .uvoz-znak { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; background: var(--naglasak-tint); color: var(--naglasak-jaki); flex: none; }
.adm .uvoz-mapa-tekst { flex: 1 1 220px; min-width: 0; }
.adm .uvoz-mapa-tekst b { display: block; font-size: 16px; font-weight: 800; }
.adm .uvoz-opis { display: block; margin-top: 2px; overflow-wrap: anywhere; }
.adm .uvoz-mapa-gumb { flex: none; }
.adm .plan-dvojba { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; margin-top: 16px; padding: 12px 14px; border-radius: 14px;
  background: var(--jantar-tint); color: var(--jantar); font-weight: 650; font-size: 14px; }
.adm .plan-dvojba > span { flex: 1 1 320px; }
.adm .plan-prazne, .adm .plan-nerazvrstano { margin: 12px 0 0; }
.adm .plan-dokumenti { margin-top: 18px; padding: 14px 16px; border-radius: 18px; box-shadow: 0 0 0 1px var(--crta) inset; background: var(--povrsina-2); }
.adm .plan-dokumenti-glava { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; cursor: pointer; }
.adm .plan-dokumenti details { margin-top: 6px; }
.adm .plan-datoteke { max-height: 180px; overflow: auto; white-space: nowrap; margin-top: 4px; }
.adm .plan-projekt { margin-top: 18px; padding: 16px; border-radius: 20px; background: var(--povrsina); box-shadow: 0 0 0 1px var(--crta) inset, var(--sjena-1); min-width: 0; }
.adm .plan-glava { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin-bottom: 10px; }
.adm .plan-znak { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: var(--naglasak-tint); color: var(--naglasak-jaki); flex: none; }
.adm .plan-naziv-omot { flex: 1 1 260px; min-width: 0; }
.adm .plan-glava input, .adm .plan-glava select { height: 44px; padding: 0 12px; border: 1px solid var(--crta-2); border-radius: 12px; background-color: var(--povrsina);
  font: inherit; font-size: 14.5px; color: var(--tekst); max-width: 100%; }
.adm .plan-glava select { padding: 0 40px 0 14px; background-position: right 14px center; }
.adm .plan-naziv { width: 100%; font-weight: 750 !important; font-size: 16px !important; }
.adm .plan-godina { width: 96px; }
.adm .plan-cilj-izbor { width: auto; }
.adm .plan-cilj { margin: 0 0 8px; color: var(--jantar); font-weight: 650; }
.adm .plan-cilj.greska { color: var(--adm-opasno); }
.adm .plan-isti, .adm .plan-objekti { margin: 0 0 8px; }
.adm .plan-tablica { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.adm .plan-projekt .omot-tablice { border-radius: 14px; box-shadow: 0 0 0 1px var(--crta) inset; overflow-x: auto; }
.adm .plan-tablica th { padding: 9px 10px 7px; font-size: 11.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--tekst-3); text-align: left; white-space: nowrap; }
.adm .plan-tablica td { padding: 8px 10px; border-top: 1px solid var(--crta); vertical-align: top; }
.adm .plan-tablica input:not([type="checkbox"]), .adm .plan-tablica select { height: 36px; padding: 0 8px; border: 1px solid var(--crta-2); border-radius: 10px;
  background-color: var(--povrsina); font: inherit; font-size: 13.5px; color: var(--tekst); max-width: 100%; }
.adm .plan-tablica select { padding: 0 32px 0 12px; background-position: right 11px center; }
.adm .plan-tablica input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--naglasak); margin-top: 9px; }
.adm .plan-tablica input[aria-invalid="true"] { border-color: var(--adm-opasno); box-shadow: 0 0 0 2px var(--adm-opasno-tint); }
.adm .plan-tablica summary { cursor: pointer; white-space: nowrap; font-weight: 600; padding-top: 8px; }
.adm .plan-paket { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; min-width: 150px; }
.adm .plan-mapa { font-size: 12px; color: var(--tekst-3); line-height: 1.3; overflow-wrap: anywhere; }
.adm .plan-tablica td.plan-objekt { min-width: 200px; }
.adm .plan-faza { min-width: 200px; width: 100%; }
.adm .plan-model { white-space: nowrap; display: inline-block; padding-top: 8px; }
.adm .plan-stanje-sadrzaj { display: block; min-width: 100px; padding-top: 8px; }
.adm .plan-traka { display: block; margin-top: 5px; }
.adm .plan-tablica:not(:has(.plan-stanje-sadrzaj > :not(:empty):not([hidden]))) .plan-stanje { display: none; }
.adm .plan-cilj { display: inline-flex; cursor: help; max-width: 100%; }
.adm .plan-cilj.greska { background: var(--adm-opasno-tint); color: var(--adm-opasno); }
.adm .plan-tablica summary svg, .adm .plan-tablica td:nth-child(7) > svg { vertical-align: -3px; margin-right: 6px; color: var(--tekst-3); }
/* dorada v0.7: plan uvoza — svaki paket je KARTICA-REDAK (tr kao mreža), a ne tablica sa 7 stupaca punih polja.
   1. red: kvačica · paket (i ime mape) · oznaka · datum izdanja; 2. red: objekt/faza · datoteke · 3D model (… i title) */
@media (min-width: 721px) {
  .adm .plan-projekt .omot-tablice { box-shadow: none; overflow: visible; border-radius: 0; }
  .adm table.plan-kartice, .adm table.plan-kartice tbody { display: block; width: 100%; }
  .adm table.plan-kartice thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .adm table.plan-kartice tbody { display: flex; flex-direction: column; gap: 10px; }
  .adm table.plan-kartice tr[data-paket] { display: grid; grid-template-columns: 26px minmax(0, 1.1fr) minmax(0, 1fr) 104px 170px;
    grid-template-areas: "uvezi paket paket oznaka datum" "uvezi faza datoteke model model" "uvezi stanje stanje stanje stanje";
    gap: 8px 12px; align-items: center; padding: 12px 16px 12px 14px; border-radius: 16px; background: var(--povrsina);
    box-shadow: 0 0 0 1px var(--crta) inset; }
  .adm table.plan-kartice tr[data-paket]:has(input[aria-label="Uvezi paket"]:not(:checked)) { background: var(--povrsina-2); }
  .adm table.plan-kartice tr[data-paket]:has(input[aria-label="Uvezi paket"]:not(:checked)) > td:not(:first-child) { opacity: .55; }
  .adm table.plan-kartice td { display: block; padding: 0; border: 0; min-width: 0; width: auto; }
  .adm table.plan-kartice tbody tr[data-paket] { height: auto; }
  .adm table.plan-kartice td:nth-child(1) { grid-area: uvezi; align-self: start; padding-top: 2px; }
  .adm table.plan-kartice td:nth-child(2) { grid-area: paket; }
  .adm table.plan-kartice td:nth-child(3) { grid-area: faza; }
  .adm table.plan-kartice td:nth-child(4) { grid-area: oznaka; }
  .adm table.plan-kartice td:nth-child(5) { grid-area: datum; }
  .adm table.plan-kartice td:nth-child(6) { grid-area: datoteke; }
  .adm table.plan-kartice td:nth-child(7) { grid-area: model; display: flex; align-items: center; min-width: 0; color: var(--tekst-2); }
  .adm table.plan-kartice td:nth-child(8) { grid-area: stanje; }
  .adm table.plan-kartice td.plan-stanje:not(:has(.plan-stanje-sadrzaj > :not(:empty):not([hidden]))) { display: none; }
  .adm table.plan-kartice .plan-paket { flex-direction: row; align-items: center; gap: 10px; min-width: 0; }
  .adm table.plan-kartice .plan-paket select { width: auto; min-width: 200px; max-width: 260px; font-weight: 750; }
  .adm table.plan-kartice .plan-mapa { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .adm table.plan-kartice input[aria-label="Oznaka"] { width: 100% !important; font-weight: 800; }
  .adm table.plan-kartice input[aria-label="Datum izdanja"] { width: 100%; }
  .adm table.plan-kartice .plan-faza, .adm table.plan-kartice td.plan-objekt { min-width: 0; }
  .adm table.plan-kartice input[type="checkbox"] { margin-top: 9px; }
  .adm table.plan-kartice summary { display: inline-flex; align-items: center; gap: 6px; padding-top: 0; color: var(--tekst-2); list-style: none; }
  .adm table.plan-kartice summary::-webkit-details-marker { display: none; }
  .adm table.plan-kartice summary svg { margin: 0; vertical-align: 0; }
  .adm table.plan-kartice details[open] summary svg:last-child { transform: rotate(180deg); }
  .adm table.plan-kartice .plan-model { display: block; min-width: 0; padding-top: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .adm table.plan-kartice .plan-model + .bez-loma { flex: none; margin-left: 4px; }
  .adm table.plan-kartice .plan-stanje-sadrzaj { min-width: 0; padding-top: 0; }
}
.adm .uvoz-opcije:not([hidden]) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 18px; padding: 14px 16px; border-radius: 18px; background: var(--povrsina-2); }
.adm .uvoz-opcija { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.adm .uvoz-opcija b { display: block; font-size: 14.5px; font-weight: 750; }
.adm .uvoz-opcija small { display: block; font-size: 12.5px; color: var(--tekst-3); font-weight: 600; }
.adm .uvoz-pokreni { margin-left: auto; }
.adm .uvoz-napredak:not(:empty) { margin-top: 16px; }
.adm .uvoz-napredak .napredak { height: 8px; border-radius: 4px; }
.adm .uvoz-napredak-tekst { margin-top: 6px; font-variant-numeric: tabular-nums; }
.adm .uvoz-sazetak { margin-top: 14px; }
/* v0.8.1 (skeptik): sažetak se nakon uvoza sam pomakne u vidik (scrollIntoView „nearest" = dno uz dno zaslona) — na
   mobitelu bi „Otvori gradilište →" tada ostao ispod plutajuće donje trake; dno sažetka staje iznad nje */
#uvoz-sazetak { scroll-margin-bottom: 16px; }
body.ima-tabove #uvoz-sazetak { scroll-margin-bottom: calc(var(--visina-tabova) + 28px + env(safe-area-inset-bottom)); }
.adm .uvoz-rezultati { margin: 10px 0 0; padding-left: 0; list-style: none; }
.adm .uvoz-rezultati li + li { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--crta); }
.adm .uvoz-rezultati a:not(.gumb) { color: var(--naglasak-jaki); }
/* v0.8.1: uz svako uvezeno gradilište „Kako ga vidi klijent" i „Otvori gradilište →" (uz Dokumente klijenta „Otvori klijenta") */
.adm .uvoz-rez-glava { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.adm .uvoz-rez-tekst { flex: 1 1 280px; min-width: 0; overflow-wrap: anywhere; }
.adm .uvoz-rez-radnje { display: flex; flex-wrap: wrap; gap: 8px; }
.adm .uvoz-rez-glava + .sitno { margin-top: 6px; }
/* v0.8.1: gumb „Pretpregled" u glavi gradilišta u planu */
.adm .plan-glava .plan-pretpregled { height: 44px; min-height: 44px; flex: none; }
.adm .upozorenje-tekst { color: var(--jantar); }

/* ================= ŠIRINE ================= */
@media (min-width: 1024px) and (max-width: 1279px) {
  .adm .adm-redak { grid-template-columns: 56px minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.1fr) 120px 44px; gap: 14px; }
}
@media (max-width: 1023px) {
  .adm .zaglavlje-stranice .put { display: none; }
  .adm .zaglavlje-stranice { flex-direction: column; align-items: stretch; gap: 14px; margin-top: 2px; }
  .adm .zaglavlje-stranice > .radnje { justify-content: flex-start; flex-wrap: wrap; align-self: stretch; margin-top: 0; }
  /* gumb ⋯ je ovdje lijevo: popis se otvara udesno (admin.js ga uz to pri otvaranju pomakne unutar zaslona) */
  .adm .zaglavlje-stranice > .radnje details.izbornik .izbornik-popis { left: 0; right: auto; }
  .adm .zaglavlje-stranice h1 { font-size: 30px; }
  .adm .adm-segment .seg-3d { display: none; }
  .adm .adm-segment { max-width: none; }
  .adm .adm-redak { grid-template-columns: 56px minmax(0, 1fr) 44px; grid-template-rows: auto; gap: 4px 14px; align-items: start; padding: 14px 10px 14px 12px; }
  .adm .adm-redak > .sl { grid-column: 1; grid-row: 1 / span 3; }
  .adm .adm-redak > .adm-naziv { grid-column: 2; grid-row: 1; }
  .adm .adm-redak > details.izbornik, .adm .adm-redak > span:last-child { grid-column: 3; grid-row: 1; }
  .adm .adm-redak > .adm-klijent { grid-column: 2; grid-row: 2; margin-top: 4px; }
  .adm .adm-redak > .adm-paket { grid-column: 2; grid-row: 3; margin-top: 4px; }
  .adm .adm-redak > .adm-status { grid-column: 2; grid-row: 4; margin-top: 6px; }
  .adm .adm-gradilista.bez-klijenta .adm-redak { grid-template-columns: 56px minmax(0, 1fr) 44px; }
  .adm .adm-gradilista.bez-klijenta .adm-redak > .adm-paket { grid-row: 2; }
  .adm .adm-gradilista.bez-klijenta .adm-redak > .adm-status { grid-row: 3; }
  .adm .adm-redak + .adm-redak::before { left: 82px; }
  /* „Treba pažnju": jedan red kartica koji se lista prstom (vrtuljak), a ne stupac preko cijelog prvog ekrana */
  .adm .paznja-naslov { display: flex; align-items: center; gap: 8px; margin: 0 2px 8px; font-size: 13px; font-weight: 800; letter-spacing: .08em;
    text-transform: uppercase; color: var(--tekst-3); }
  .adm .paznja-naslov .brojac { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px;
    background: var(--jantar-tint); color: var(--jantar); font-size: 12px; letter-spacing: 0; }
  .adm .paznja { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -16px; padding: 2px 16px 10px;
    scroll-padding: 0 16px; scrollbar-width: none; overscroll-behavior-x: contain; }
  .adm .paznja::-webkit-scrollbar { display: none; }
  .adm .paznja .paznja-kartica, .adm .paznja-omot:not(.sve) .paznja-kartica.visak { display: grid; flex: 0 0 min(84%, 340px); scroll-snap-align: start;
    grid-template-columns: 40px minmax(0, 1fr); gap: 0 12px; align-items: start; padding: 12px 14px; border-radius: 18px; position: relative; }
  .adm .paznja .paznja-kartica:only-child { flex-basis: 100%; }
  .adm .paznja-kartica .ik-plocica { width: 40px; height: 40px; border-radius: 12px; grid-row: 1 / span 2; }
  .adm .paznja-kartica b { white-space: nowrap; }
  .adm .paznja-kartica small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .adm .paznja-kartica .paznja-radnja { grid-column: 2; justify-self: start; height: auto; min-height: 0; margin-top: 4px; padding: 2px 0; border-radius: 6px;
    background: none; box-shadow: none; color: var(--naglasak-jaki); font-size: 14px; }
  .adm .paznja-kartica .paznja-radnja::after { content: ""; position: absolute; inset: 0; border-radius: 18px; }
  .adm .paznja-kartica:active { background: var(--povrsina-2); }
  .adm .paznja-vise { display: none; }
}
@media (max-width: 720px) {
  .adm .zaglavlje-stranice h1 { font-size: 28px; }
  .adm .skriveno-usko { display: none !important; }
  .adm .izbornik-stavka.samo-mobitel { display: flex; }
  .adm .gumb.ikona-usko { padding-left: 0; padding-right: 0; width: 48px; justify-content: center; }
  .adm .gumb.ikona-usko .rijec { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .adm .zaglavlje-stranice > .radnje > .primarni { margin-left: auto; }
  .adm .zaglavlje-stranice .gumb.velik { height: 48px; min-height: 48px; padding: 0 16px; font-size: 15px; border-radius: 15px; }
  .adm table.adm-korisnici td.kut { position: static; padding-top: 10px; }
  .adm table.adm-korisnici tr td:first-child { padding-right: 0; }
  .adm table.adm-korisnici .adm-radnje-retka { justify-content: flex-start; }
  .adm table.adm-korisnici .adm-radnje-retka .rijec { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
  .adm .adm-cipovi { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 2px 16px 6px; scrollbar-width: none; width: calc(100% + 32px); }
  .adm .adm-cipovi::-webkit-scrollbar { display: none; }
  .adm .adm-trazi { flex-basis: 100%; }
  .adm details.izbornik.s-natpisom > summary.gumb.ikona { width: auto; height: 48px; min-height: 48px; padding: 0 16px 0 13px; border-radius: 15px; gap: 7px;
    font-size: 15.5px; }
  .adm .izbornik.s-natpisom .izbornik-natpis { display: inline; }
  /* Upravljanje na mobitelu: paketi su same kartice na sivoj podlozi (bez bijele ploče oko njih i bez uskog ruba) */
  .adm .adm-upravljanje > .ploca { background: none; box-shadow: none; border-radius: 0; margin-bottom: 14px; }
  .adm .adm-upravljanje > .ploca > .ploca-glava { padding: 4px 4px 10px; min-height: 0; border-bottom: 0; }
  .adm .adm-upravljanje .paketi { padding: 0; gap: 12px; }
  .adm .adm-upravljanje .paket { border-color: transparent; box-shadow: var(--sjena-2); }
  .adm .adm-upravljanje .paket.priprema { border-color: #efdcb2; }
  .adm .adm-upravljanje .objekt-skupina + .objekt-skupina { border-top: 0; padding-top: 0; }
  .adm .adm-upravljanje .objekt-naslov { margin: 16px 4px 10px; }
  .adm .adm-upravljanje > .ploca > .prazno { margin: 0; }
  .adm .adm-plocice { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .adm .adm-segment button { flex: 1 1 auto; padding: 0 8px; }
  .adm .paket-glava { grid-template-columns: minmax(0, 1fr) 24px; gap: 0 8px; padding: 4px 12px 12px 0; }
  .adm .paket-otvori { gap: 12px; padding-left: 12px; align-items: start; }
  .adm .paket-glava .strelica { grid-column: 2; grid-row: 1; align-self: start; margin-top: 18px; }
  .adm .paket-desno { grid-column: 1 / -1; grid-row: 2; justify-content: space-between; padding-left: 70px; }
  .adm .brza-mjesto { min-width: 0; }
  .adm .paket-glava .oznaka-rev { align-self: start; min-width: 46px; margin-top: 6px; }
  .adm .paket-tijelo { padding: 0 12px 12px; }
  .adm .paket-radnje { padding-right: 0; }
  .adm .paket-radnje .razmak { display: none; }
  .adm .paket-akcije { margin-left: 0; justify-content: flex-start; }
  .adm .paketi { padding: 2px 8px 10px; }
  .adm .kartice { display: flex; width: 100%; }
  .adm .kartice [role="tab"] { flex: 1; justify-content: center; padding: 0 10px; }
  .adm .podaci-paketa .polja { grid-template-columns: minmax(0, 1fr); }
  .adm .upload-red { grid-template-columns: minmax(0, 1fr) auto; }
  .adm .upload-red .napredak { grid-column: 1 / -1; grid-row: 2; }
  .adm .upload-red .velicina-slanja { display: none; }
  .adm .adm-radnje-retka .rijec { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .adm .adm-red { padding: 12px 14px; grid-template-columns: auto minmax(0, 1fr); }
  .adm .adm-red-desno { grid-column: 1 / -1; justify-content: flex-start; padding-left: 58px; }
  .adm .adm-red + .adm-red::before { left: 14px; right: 14px; }
  .adm .adm-izbor { max-width: 100%; }
  .adm-dijalog .polja, .adm-dijalog .polja-redak, .adm-dijalog .polja-redak.lomi { grid-template-columns: minmax(0, 1fr); }
  dialog .razlike-registra label { grid-template-columns: auto minmax(0, 1fr); }
  dialog .razlika-vrijednosti { grid-column: 2; }
  .adm table.dnevnik tr.zapis { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 2px 12px; align-items: start; padding: 12px 14px 12px 12px; }
  .adm table.dnevnik td.dn-ik { grid-row: 1 / span 2; }
  .adm table.dnevnik td.dn-gdje { grid-column: 2 / -1; grid-row: 2; }
  .adm table.dnevnik td.dn-vrijeme { grid-column: 3; grid-row: 1; }
  .adm .adm-izbor-omot { flex: 1 1 100%; }
  .adm .adm-izbor-omot select { max-width: none; flex: 1; }
  .adm .adm-brojke { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .adm .adm-brojka { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; }
  .adm .uvoz-odabir { grid-template-columns: minmax(0, 1fr); }
  .adm .uvoz-kartica > .ploca-tijelo { padding: 14px; }
  .adm .uvoz-mapa-gumb, .adm .uvoz-mapa-gumb .gumb { width: 100%; justify-content: center; }
  .adm .uvoz-pokreni, .adm .uvoz-pokreni .gumb { width: 100%; margin-left: 0; justify-content: center; }
  .adm .plan-projekt { padding: 12px; }
  .adm .plan-znak { display: none; }
  .adm .plan-tablica td.plan-objekt, .adm .plan-faza, .adm .plan-stanje-sadrzaj { min-width: 0; }
  .adm .plan-model { max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; }
  .adm .adm-mreza-klijenata { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 380px) {
  .adm .adm-plocice { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .adm *, .adm *::before, .adm *::after { transition: none !important; animation: none !important; }
  .adm .adm-klijent-kartica:hover { transform: none; }
}
.adm .slicice-greske { margin: 10px 0 0; padding-left: 20px; font-size: 13px; color: var(--adm-opasno); }
.adm .slicice-greske li + li { margin-top: 3px; }

/* ================= v0.8 — Florijanove primjedbe (20. 10. 2026.) ================= */
/* ploča s podnaslovom (Dokumenti klijenta: što su i tko ih vidi) */
.adm .ploca-naslovi { min-width: 0; flex: 1 1 320px; }
.adm .ploca-podnaslov { margin: 4px 0 0; font-size: 14px; font-weight: 600; color: var(--tekst-3); max-width: 80ch; }

/* padajući izbornici (točka 7): u Chromeu (≥ 135) i otvoreni popis je stiliziran — opcije s razmakom od ruba,
   zaobljen okvir i sjena kao ostale ladice; ostali preglednici i dodirni zasloni zadržavaju sistemski popis */
@supports (appearance: base-select) {
  @media (hover: hover) and (pointer: fine) {
    .adm select, .adm-dijalog select { appearance: base-select; display: inline-flex; align-items: center; }
    .adm select::picker-icon, .adm-dijalog select::picker-icon { display: none; }
    .adm select::picker(select), .adm-dijalog select::picker(select) {
      appearance: base-select; margin: 6px 0; padding: 6px; border: 0; border-radius: 16px; background: var(--povrsina); color: var(--tekst);
      box-shadow: 0 0 0 1px var(--crta), var(--sjena-3); max-block-size: min(440px, 60vh); overflow-y: auto; min-inline-size: anchor-size(self-inline); }
    .adm select option, .adm-dijalog select option { display: flex; align-items: center; min-height: 40px; padding: 8px 14px; border-radius: 10px;
      font: inherit; font-size: 14.5px; font-weight: 600; color: var(--tekst); white-space: nowrap; cursor: pointer; }
    .adm select option::checkmark, .adm-dijalog select option::checkmark { display: none; }
    .adm select option:hover, .adm-dijalog select option:hover, .adm select option:focus-visible, .adm-dijalog select option:focus-visible {
      background: var(--povrsina-2); outline: none; }
    .adm select option:checked, .adm-dijalog select option:checked { background: var(--naglasak-tint); color: var(--naglasak-jaki); font-weight: 750; }
    .adm select option:disabled, .adm-dijalog select option:disabled { color: var(--tekst-3); cursor: default; }
  }
}

/* „Vide: 2 korisnika" u zaglavlju gradilišta — otvara dijalog „Tko vidi gradilište" */
.adm .tko-vidi { display: inline; padding: 0; border: 0; background: none; font: inherit; font-size: 14.5px; font-weight: 650; color: var(--tekst-2); cursor: pointer; text-align: left; }
.adm .tko-vidi .tko-vidi-broj { color: var(--naglasak-jaki); font-weight: 750; text-decoration: underline; text-decoration-color: var(--naglasak-tint-2);
  text-decoration-thickness: 2px; text-underline-offset: 3px; }
.adm .tko-vidi:hover .tko-vidi-broj { text-decoration-color: currentColor; }
.adm .tko-vidi:focus-visible { outline: 2px solid var(--naglasak); outline-offset: 3px; border-radius: 6px; }
.adm .tko-vidi-odabrani { color: var(--tekst-3); font-weight: 650; }

/* dijalog s pristupnim kodom */
dialog.pk-dijalog { width: min(560px, calc(100vw - 24px)); }
.pk-dijalog .pk-za { margin: 0 0 12px; font-size: 15px; color: var(--tekst-2); overflow-wrap: anywhere; }
.pk-dijalog .pk-za b { color: var(--tekst); }
.pk-dijalog .pk-uvod { margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; background: var(--naglasak-tint); color: var(--tekst-2); font-size: 14px; font-weight: 600; }
.pk-dijalog .pk-okvir { padding: 16px 16px 14px; border-radius: 18px; background: var(--povrsina-2); box-shadow: 0 0 0 1px var(--crta) inset; }
.pk-dijalog .pk-kod-red { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 14px; }
.pk-dijalog .pk-kod { font-family: ui-monospace, "Cascadia Mono", Consolas, "SFMono-Regular", Menlo, monospace; font-size: 32px; font-weight: 700;
  letter-spacing: .12em; color: var(--tekst); line-height: 1.15; user-select: all; overflow-wrap: anywhere; }
.pk-dijalog .pk-pod { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 8px; font-size: 13px; font-weight: 650; color: var(--tekst-3); }
.pk-dijalog .pk-pod .pk-rok { color: var(--jantar); font-weight: 750; }
.pk-dijalog .pk-uputa { margin: 12px 0 0; font-size: 13.5px; font-weight: 600; color: var(--tekst-3); }
.pk-dijalog .pk-poruka-okvir { margin-top: 16px; }
.pk-dijalog .pk-natpis { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 750; color: var(--tekst-2); }
.pk-dijalog .pk-poruka { margin: 0; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--crta-2); background: var(--povrsina);
  font-size: 14px; font-weight: 600; line-height: 1.5; color: var(--tekst); overflow-wrap: anywhere; user-select: all; }
.pk-dijalog .pk-poruka-radnje { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.pk-dijalog .pk-stanje { margin: 12px 0 0; padding: 10px 12px; border-radius: 12px; background: var(--povrsina-2); font-size: 13.5px; font-weight: 650; color: var(--tekst-2); }
.pk-dijalog .pk-stanje.uspjeh { background: var(--naglasak-tint); color: var(--naglasak-jaki); }
.pk-dijalog .pk-stanje.upozorenje { background: var(--jantar-tint); color: var(--jantar); }
.adm-dijalog .gumb.kopirano, .adm .gumb.kopirano { box-shadow: 0 0 0 2px var(--naglasak) inset; }

/* dijalog „Tko vidi gradilište" */
dialog.tv-dijalog { width: min(660px, calc(100vw - 24px)); }
.tv-dijalog .tv-za { margin: 0 0 14px; font-size: 14.5px; font-weight: 650; color: var(--tekst-2); overflow-wrap: anywhere; }
.tv-dijalog .tv-za b { color: var(--tekst); }
.tv-dijalog .tv-za a { color: var(--naglasak-jaki); font-weight: 750; }
.tv-dijalog .tv-napomena { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 12px; padding: 10px 12px; border-radius: 12px;
  background: var(--jantar-tint); color: var(--jantar); font-size: 14px; font-weight: 650; }
.tv-dijalog .tv-napomena svg { flex: none; margin-top: 1px; }
.tv-dijalog .tv-nacin { max-width: 440px; }
.tv-dijalog .tv-nacin button { height: 42px; font-size: 14.5px; font-weight: 750; color: var(--tekst-2); cursor: pointer; }
.tv-dijalog .tv-nacin button[aria-checked="true"] { background: var(--povrsina); color: var(--tekst); box-shadow: 0 1px 2px rgba(15, 26, 32, .1), 0 3px 10px -4px rgba(15, 26, 32, .18); }
.tv-dijalog .tv-opis { margin: 8px 0 0; font-size: 13.5px; font-weight: 600; color: var(--tekst-3); }
.tv-dijalog .tv-glava-popisa { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 18px 0 6px; }
.tv-dijalog .tv-zbir { margin: 0; font-size: 12.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--tekst-3); }
.tv-dijalog .tv-zbir.nitko { color: var(--jantar); }
.tv-dijalog .tv-spremljeno { font-size: 13px; font-weight: 700; color: var(--tekst-3); white-space: nowrap; }
.tv-dijalog .tv-spremljeno.uspjeh { color: var(--naglasak-jaki); }
.tv-dijalog .tv-spremljeno.greska { color: var(--adm-opasno); white-space: normal; }
.tv-dijalog .tv-popis { display: flex; flex-direction: column; border-radius: 18px; box-shadow: 0 0 0 1px var(--crta) inset; overflow: hidden; }
.tv-dijalog .tv-redak { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "av tekst vidi" ". radnje radnje";
  align-items: start; gap: 0 12px; padding: 14px 16px; }
.tv-dijalog .tv-redak > .avatar { grid-area: av; }
.tv-dijalog .tv-redak > .tv-tekst { grid-area: tekst; }
.tv-dijalog .tv-redak > .prekidac { grid-area: vidi; }
.tv-dijalog .tv-redak > .tv-radnje { grid-area: radnje; }
.tv-dijalog .tv-redak + .tv-redak { border-top: 1px solid var(--crta); }
.tv-dijalog .tv-redak.neaktivan { background: var(--povrsina-2); }
.tv-dijalog .tv-redak.neaktivan .tv-ime b, .tv-dijalog .tv-redak.neaktivan small { color: var(--tekst-3); }
.tv-dijalog .tv-redak > .avatar { margin-top: 2px; }
.tv-dijalog .tv-tekst { min-width: 0; }
.tv-dijalog .tv-ime { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; }
.tv-dijalog .tv-ime b { font-size: 15px; font-weight: 750; overflow-wrap: anywhere; }
.tv-dijalog .tv-tekst > small { display: block; margin-top: 2px; font-size: 13px; font-weight: 600; color: var(--tekst-3); overflow-wrap: anywhere; }
.tv-dijalog .tv-radnje { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.tv-dijalog .tv-radnje .gumb.malen { height: 34px; min-height: 34px; padding: 0 12px; font-size: 13.5px; }
.tv-dijalog .tv-prazno { margin: 0; padding: 18px 16px; color: var(--tekst-3); font-weight: 600; }
.tv-dijalog .tv-prazno.greska { color: var(--adm-opasno); }
.tv-dijalog .tv-dodaj-omot { margin-top: 12px; }
.tv-dijalog .tv-dodaj-obrazac { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) auto auto; gap: 8px; align-items: center; }
.tv-dijalog .tv-dodaj-obrazac[hidden] { display: none; }
.tv-dijalog .tv-dodaj-obrazac input { min-height: 44px; height: 44px; }
.tv-dijalog .tv-bez-klijenta { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 12px; padding: 16px; border-radius: 16px;
  background: var(--jantar-tint); color: var(--jantar); }
.tv-dijalog .tv-bez-klijenta b { font-size: 15px; }
.tv-dijalog .tv-bez-klijenta p { margin: 4px 0 0; color: var(--tekst-2); font-weight: 600; font-size: 14px; }
.tv-dijalog .tv-bez-klijenta .gumb { grid-column: 2; justify-self: start; margin-top: 10px; }

/* prekidač „Vidi" (checkbox kao klizač) */
.prekidac { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; user-select: none; position: relative; margin-top: 4px; }
.prekidac input { position: absolute; opacity: 0; width: 44px; height: 26px; margin: 0; cursor: pointer; }
.prekidac-staza { width: 44px; height: 26px; border-radius: 999px; background: var(--crta-2); position: relative; flex: none; transition: background .15s; }
.prekidac-staza::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff;
  box-shadow: 0 1px 3px rgba(15, 26, 32, .3); transition: transform .15s; }
.prekidac input:checked + .prekidac-staza { background: var(--naglasak); }
.prekidac input:checked + .prekidac-staza::after { transform: translateX(18px); }
.prekidac input:focus-visible + .prekidac-staza { outline: 2px solid var(--naglasak); outline-offset: 2px; }
.prekidac-natpis { font-size: 13.5px; font-weight: 750; color: var(--tekst-2); }
.prekidac input:not(:checked) ~ .prekidac-natpis { color: var(--tekst-3); }
.prekidac.ugasen { cursor: default; opacity: .5; }
.prekidac.ugasen input { cursor: default; }

/* Dijagnostika → Održavanje (sklopivo): sličice paketa nastaju same, ovdje se samo nadoknađuju */
.adm details.adm-odrzavanje > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; padding-bottom: 18px; }
.adm details.adm-odrzavanje > summary::-webkit-details-marker { display: none; }
.adm details.adm-odrzavanje > summary h2 { flex: none; }
.adm details.adm-odrzavanje > summary .odrz-sazetak { flex: 1; font-size: 14px; font-weight: 650; color: var(--tekst-3); }
.adm details.adm-odrzavanje > summary > svg { color: var(--adm-chev); transition: transform .15s; flex: none; }
.adm details.adm-odrzavanje[open] > summary > svg { transform: rotate(180deg); }
.adm details.adm-odrzavanje[open] > summary { padding-bottom: 12px; }
.adm details.adm-odrzavanje > summary:focus-visible { outline: 2px solid var(--naglasak); outline-offset: -2px; border-radius: var(--r-xl); }
.adm .odrz-stavka { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 12px 20px; padding: 14px 16px;
  border-radius: 16px; background: var(--povrsina-2); }
.adm .odrz-tekst { flex: 1 1 320px; min-width: 0; }
.adm .odrz-tekst b { display: block; font-size: 15px; font-weight: 750; }
.adm .odrz-tekst p { margin: 4px 0 10px; font-size: 14px; font-weight: 600; color: var(--tekst-2); max-width: 70ch; }
.adm .adm-odrzavanje .adm-slicice-izlaz:not(:empty) { margin-top: 12px; }

/* Uvoz mape → „Kakva mapa?" (sklopivo): stablo primjera i tri točke */
.adm .uvoz-kakva { margin-top: 16px; border-radius: 16px; background: var(--povrsina-2); }
.adm .uvoz-kakva > summary { list-style: none; display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; cursor: pointer;
  font-size: 14.5px; font-weight: 750; color: var(--naglasak-jaki); border-radius: 16px; }
.adm .uvoz-kakva > summary::-webkit-details-marker { display: none; }
.adm .uvoz-kakva > summary > span { flex: 1; }
.adm .uvoz-kakva > summary > svg:last-child { transition: transform .15s; }
.adm .uvoz-kakva[open] > summary > svg:last-child { transform: rotate(180deg); }
.adm .uvoz-kakva > summary:focus-visible { outline: 2px solid var(--naglasak); outline-offset: 2px; }
.adm .uvoz-kakva-tijelo { padding: 0 14px 14px; }
.adm .uvoz-stablo { list-style: none; margin: 0; padding: 10px 0; border-radius: 14px; background: var(--povrsina); box-shadow: 0 0 0 1px var(--crta) inset; }
.adm .uvoz-stablo li { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); align-items: center; gap: 2px 16px; padding: 4px 14px;
  font-size: 14px; line-height: 1.35; }
.adm .uvoz-stablo li:nth-child(odd) { background: color-mix(in srgb, var(--povrsina-2) 55%, transparent); }
.adm .uvoz-stablo .st-ime { display: flex; align-items: center; gap: 7px; min-width: 0; padding-left: calc(var(--dubina, 0) * 22px); }
.adm .uvoz-stablo .st-ime svg { flex: none; color: var(--tekst-3); }
.adm .uvoz-stablo li.mapa .st-ime svg { color: var(--jantar); }
.adm .uvoz-stablo code { font-family: ui-monospace, "Cascadia Mono", Consolas, "SFMono-Regular", Menlo, monospace; font-size: 13px; font-weight: 600;
  color: var(--tekst); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm .uvoz-stablo .st-znaci { color: var(--tekst-3); font-weight: 600; }
.adm .uvoz-stablo .st-znaci.uvoz { color: var(--naglasak-jaki); font-weight: 700; }
.adm .uvoz-stablo .st-strelica { margin-right: 6px; }
.adm .uvoz-tocke { margin: 12px 0 0; padding-left: 20px; font-size: 14px; font-weight: 600; color: var(--tekst-2); }
.adm .uvoz-tocke li + li { margin-top: 4px; }

@media (max-width: 720px) {
  .tv-dijalog .tv-redak { grid-template-areas: "av tekst vidi" "radnje radnje radnje"; padding: 12px; gap: 0 10px; }
  .tv-dijalog .tv-redak .prekidac-natpis { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tv-dijalog .tv-radnje { margin-top: 10px; }
  .tv-dijalog .tv-dodaj-obrazac { grid-template-columns: minmax(0, 1fr) auto; }
  .tv-dijalog .tv-dodaj-obrazac input { grid-column: 1 / -1; }
  .tv-dijalog .tv-nacin { max-width: none; }
  .tv-dijalog .tv-nacin button { font-size: 13.5px; padding: 0 6px; }
  .pk-dijalog .pk-kod { font-size: 26px; letter-spacing: .08em; }
  .pk-dijalog .pk-poruka-radnje .gumb { flex: 1 1 auto; justify-content: center; }
  .adm .uvoz-stablo li { grid-template-columns: minmax(0, 1fr); padding: 5px 12px; }
  .adm .uvoz-stablo .st-znaci { padding-left: calc(var(--dubina, 0) * 14px + 23px); font-size: 13px; }
  .adm .uvoz-stablo .st-ime { padding-left: calc(var(--dubina, 0) * 14px); }
  .adm .odrz-stavka .gumb { width: 100%; justify-content: center; }
}

/* ===== v0.8.1 · pretpregled gradilišta prije uvoza (pretpregled.js) — ladica je u <body>, izvan .adm; izgled je
   kupčev (stil.css: ladica, vremenska crta, popis), ovdje samo ono što pretpregled ima više ===== */
@media (min-width: 1024px) { dialog.ladica.ladica-pretpregled { width: min(600px, 100vw); } }
.ladica-pretpregled .ladica-pod .pp-oznaka { font-size: 12.5px; }
.ladica-pretpregled .pp-tijelo > * + * { margin-top: 14px; }
.ladica-pretpregled .pp-tijelo > .pp-odjeljak, .ladica-pretpregled .pp-tijelo > .pp-povijest { margin-top: 22px; }
.ladica-pretpregled .pp-traka { align-items: flex-start; font-size: 14px; line-height: 1.4; }
.ladica-pretpregled .pp-traka > svg { flex: none; margin-top: 1px; }
.ladica-pretpregled .pp-traka b { font-weight: 800; }
.ladica-pretpregled .pp-traka-dodatak { display: block; margin-top: 6px; font-weight: 650; }
.ladica-pretpregled .pp-glava .meta-red { margin-top: 2px; }
.ladica-pretpregled .pp-glava .oznake-red { margin-top: 10px; }
.ladica-pretpregled .pp-vrh .popis-redak { min-height: 64px; }
.ladica-pretpregled .pp-povijest .kartica-glava { padding-top: 16px; }
.ladica-pretpregled .pp-odjeljak > .grupa-naslov { margin-top: 4px; }
.ladica-pretpregled .pp-napomena { margin: 0 4px 8px; }
.ladica-pretpregled .vr-gumb > svg.chev { transition: transform .15s; }
.ladica-pretpregled .vr-gumb[aria-expanded="true"] > svg.chev { transform: rotate(180deg); }
.ladica-pretpregled .vr-gumb[aria-expanded="true"] { background: var(--povrsina-2); }
.ladica-pretpregled .vr-gore .cip { min-height: 22px; }
/* sadržaj paketa ispod stavke crte: uvučen do teksta stavke (os crte je 12 + 30 px), crta se nastavlja uz njega */
.ladica-pretpregled .pp-paket { position: relative; padding: 4px 12px 14px 52px; }
.ladica-pretpregled .vr:not(:last-child):not(:has(+ .vr-razdjel)) > .pp-paket::before { content: ""; position: absolute; left: 26px; top: 0; bottom: 0;
  width: 2px; background: var(--crta-2); }
.ladica-pretpregled .pp-paket .grupa + .grupa { margin-top: 12px; }
.ladica-pretpregled .pp-paket .grupa-naslov { margin: 0 4px 6px; font-size: 11.5px; }
.ladica-pretpregled .pp-paket .popis { box-shadow: 0 0 0 1px var(--crta); border-radius: 16px; }
.ladica-pretpregled .pp-paket .popis-redak { min-height: 60px; }
.ladica-pretpregled .pp-paket .popis-tekst .naslov { font-size: 15px; }
.ladica-pretpregled .pp-popis-teksta { margin: 0; padding: 12px 14px 12px 30px; border-radius: 16px; background: var(--jantar-tint); color: var(--jantar);
  font-size: 13.5px; font-weight: 650; }
.ladica-pretpregled .pp-popis-teksta li + li { margin-top: 6px; }
@media (max-width: 720px) {
  .adm .uvoz-rez-radnje { width: 100%; }
  .adm .uvoz-rez-radnje .gumb { flex: 1 1 auto; }
  .adm .plan-glava .plan-pretpregled { width: 100%; }
  .ladica-pretpregled .pp-paket { padding: 4px 4px 12px 16px; }
  .ladica-pretpregled .vr:not(:last-child):not(:has(+ .vr-razdjel)) > .pp-paket::before { display: none; }
}
