/* ============================================================
   ALAT „REGISTAR USLUGA" (/pomoc/) — strana 03 triptiha
   Port predaje design_handoff_pomoc_registar (pomoc.css, v1).
   Odstupanja od prototipa: body klasa page-alat-pomoc (naš obrazac),
   preview-ribbon uklonjen; ostalo 1:1.
   Član porodice /zakon/ + /incident/. Ista konzola: --al-* tokeni,
   axc hero, enc-footer, dark default + light.
   Potpis 03: KARTOGRAFIJA TRŽIŠTA — kuriran imenik, proveren i datiran.
   TRI KLASE (najosetljivije mesto): CP domaćin ≠ istaknut ≠ običan.
   CSP-safe: bez inline style=""; sva dinamika kroz klase/data-.
   ============================================================ */

/* ---- tokeni — konzola (dark, default) ---- */
body.page-alat-pomoc{
  --al-bg:#0f0f0d; --al-grid:rgba(232,232,230,.02);
  --al-plate:#141412; --al-plate2:#191917; --al-field:#0a0a09;
  --al-line:#262624; --al-line2:#343430;
  --al-hi:#ece9e3; --al-md:#c8c5be; --al-lo:#a0a09e; --al-mute:#8a8780; --al-faint:#5a5754; --al-mute-text:#8a8780;
  --al-brand:#c0392b; --al-brand-hi:#d44a3a;
  /* crvena kao TEKST: --al-brand/-hi nose i podloge i ivice, pa se ne diraju.
     Tamna uzima --brand-on-dark (#ee4130, S130); svetla ostaje na #b0301f. */
  --al-brand-text:var(--brand-on-dark); --al-brand-soft:rgba(192,57,43,.16);
  --al-accent:#ffd9a8;
  /* akcent nosi i podloge i obrise; tekst ide na -text (svetla tema nize) */
  --al-accent-text:var(--al-accent);
  --al-paid:#c79248; --al-paid-hi:#d8a961; --al-paid-soft:rgba(199,146,72,.13);
  --al-risk-hi:#d0604e; --al-risk-med:#c79248; --al-risk-low:#7fa168;
  --al-steel:#8fa9c4; --al-violet:#8f7fd0; --al-steel-soft:rgba(143,169,196,.12);
}
html{ color-scheme:dark; }
html, body.page-alat-pomoc{ background:var(--al-bg); }
body.page-alat-pomoc{ color:var(--al-hi); font-family:var(--font-sans); }
body.page-alat-pomoc ::selection{ background:var(--al-brand-soft); color:var(--al-hi); }
html.theme-anim, html.theme-anim body.page-alat-pomoc{ transition:background .25s ease; }

body.page-alat-pomoc a{ color:var(--al-brand-text); text-decoration:none; }
body.page-alat-pomoc a:hover{ color:var(--al-hi); }
/* Tabbar više NE treba krpu ovde (S110). `tabbar.css` sam nosi dovoljnu
   specifičnost protiv `body.page-alat-pomoc a` (0,1,2). Krpa je uz to bila
   štetna: `!important` na baznoj ćeliji gazio je i belo na SOS ćeliji, pa
   je crveni SOS imao siv tekst. */

.hex{ clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%); }

/* ============================================================
   HERO · KONZOLA (.axc) — iskren okvir, kartografija ponude
   ============================================================ */
.axc{ background:#0f0f0d; border-bottom:1px solid #262624; position:relative; overflow:hidden; }
.axc-inner{
  max-width:var(--container-wide); margin:0 auto; padding:40px 28px 34px;
  min-height:600px; /* iste visine na sva tri alata triptiha (Denis, S67) */
  position:relative; z-index:2;
  display:grid; grid-template-columns:1fr; align-items:end;
}

/* ---- mapa Srbije u pozadini heroa (poveznica triptiha; kao /zakon/) ---- */
.axc-hexwrap{
  position:absolute; top:0; bottom:0; left:50%; transform:translateX(-50%);
  width:100%; max-width:var(--container-wide); z-index:1; pointer-events:none;
}
.axc-hex{
  position:absolute; top:50%; right:8%;
  height:calc(100% - 40px); max-height:600px; width:auto;
  transform:translateY(-50%);
  pointer-events:none;
}
.axc-hex svg{ height:100%; width:auto; display:block; overflow:visible; }
.axc-hex__edge polygon{ fill:none; stroke:var(--al-accent); stroke-opacity:.9; stroke-width:3.4; }
.axc-hex__fill polygon{ fill:var(--al-bg); stroke:none; }
.axc-hex__cells .c-org{ fill:var(--al-accent); }
.axc-hex__cells .c-fir{ fill:var(--al-brand-hi); }
.axc-hex__cells .c-nio{ fill:var(--al-brand); fill-opacity:.5; }
.axc-hex__cells .c-gra{ fill:none; stroke:var(--al-line2); stroke-opacity:.5; stroke-width:1; }
html[data-theme="light"] body.page-alat-pomoc .axc-hex__cells .c-gra{ stroke-opacity:.85; }
.axc-hex__cells .tw{ animation:zknTwinkle 6s ease-in-out infinite; }
@keyframes zknTwinkle{ 0%{opacity:0} 16%{opacity:1} 40%{opacity:1} 60%{opacity:0} 100%{opacity:0} }
.axc-hex__cells .p0{ animation-delay:-.2s; animation-duration:5.8s; }
.axc-hex__cells .p1{ animation-delay:-1.4s; animation-duration:7.1s; }
.axc-hex__cells .p2{ animation-delay:-2.9s; animation-duration:6.3s; }
.axc-hex__cells .p3{ animation-delay:-4.1s; animation-duration:7.6s; }
.axc-hex__cells .p4{ animation-delay:-0.8s; animation-duration:6.7s; }
.axc-hex__cells .p5{ animation-delay:-3.5s; animation-duration:5.5s; }
.axc-hex__cells .p6{ animation-delay:-2.2s; animation-duration:7.9s; }
.axc-hex__cells .p7{ animation-delay:-5.0s; animation-duration:6.1s; }
.axc-hex__cells .p8{ animation-delay:-1.9s; animation-duration:8.2s; }
.axc-hex__cells .p9{ animation-delay:-3.8s; animation-duration:6.9s; }
.axc-hex__cells .p10{ animation-delay:-0.5s; animation-duration:7.4s; }
.axc-hex__cells .p11{ animation-delay:-4.7s; animation-duration:5.9s; }
@media (prefers-reduced-motion: reduce){ .axc-hex__cells .tw{ animation:none; } }
/* Ista suptilna hero mapa kao /zakon/ — hex se pomera van viewport-a i priguši.
   Dominantan sloj je canvas .axc-well (mreža čvorova) na svim triptih stranama. */
@media (max-width:1000px){ .axc-hex{ right:-16%; opacity:.5; } }
@media (max-width:560px){ .axc-hex{ opacity:.32; right:-30%; } }

/* Gravitacioni bunar — statička mreža ispod mape (partial: zakon-hero-well.php).
   Duplirano po istom obrascu kao .axc-hex; well centar ≈ težište mape Srbije. */
.axc-well{
  position:absolute; inset:0;
  pointer-events:none; overflow:hidden;
  z-index:0;
}
.axc-well__canvas{ width:100%; height:100%; display:block; }
@media (max-width:1000px){ .axc-well{ opacity:.7; } }
@media (max-width:560px){ .axc-well{ opacity:.5; } }

.axc-kick{
  display:flex; align-items:center; gap:10px;
  font-family:var(--font-mono); font-size:10.5px; font-weight:500;
  letter-spacing:.22em; text-transform:uppercase; color:#8a8780; margin:0 0 14px;
}
.axc-kick::before{ content:""; width:6px; height:6px; background:var(--al-risk-low);
  clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%); }
.axc-kick b{ color:#ffd9a8; font-weight:500; }
.axc h1{
  font-weight:600; font-size:clamp(28px,3.4vw,42px); line-height:1.22;
  letter-spacing:-.024em; margin:0 0 12px; color:#ece9e3; max-width:26ch;
}
/* tri reda triptiha (Denis, S69) — boje zastave: crvena/plava/bela (bela =
   osnovna boja h1, ne treba klasa). Isto na sve tri strane (zajednički H1). */
.axc h1 .l-red{ color:var(--al-brand-text); }
.axc h1 .l-blue{ color:var(--al-steel); }
.axc-sub{ font-size:16px; line-height:1.6; color:#a0a09e; margin:0; max-width:56ch; }
.axc-mods{ display:flex; gap:8px; flex-wrap:wrap; margin-top:24px; }
.axc-mods a{
  display:inline-flex; align-items:baseline; gap:8px;
  font-family:var(--font-mono); font-size:11px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; text-decoration:none;
  padding:9px 13px; color:#c8c5be;
  border:1px solid #343430; border-radius:2px; cursor:pointer;
  transition:color .15s ease, border-color .15s ease;
}
.axc-mods a::before{ content:""; width:6px; height:6px; align-self:center; flex:0 0 auto; background:var(--al-risk-low);
  clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%); }
.axc-mods a:hover{ color:#ece9e3; border-color:#8a8780; }
.axc-mods .num{ color:#ffd9a8; font-weight:600; }

/* iskren okvir u heroju — gornji levi ugao, iznad kickera/H1 (Denis, S69) */
.axc-frame{
  max-width:420px; margin:0 0 22px;
  border:1px solid var(--al-line2); background:rgba(10,10,9,.6); padding:18px 20px 20px;
  position:relative;
}
.axc-frame::before, .axc-frame::after{ content:""; position:absolute; width:12px; height:12px; border:0 solid var(--al-mute); pointer-events:none; }
.axc-frame::before{ top:-1px; left:-1px; border-top-width:1px; border-left-width:1px; }
.axc-frame::after{ bottom:-1px; right:-1px; border-bottom-width:1px; border-right-width:1px; }
.axc-frame__k{ font-family:var(--font-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--al-mute-text); margin:0 0 10px; }
.axc-frame p{ font-size:14px; line-height:1.6; color:var(--al-md); margin:0; }

/* Statistika u gornjem desnom uglu (iznad mape) — dinamička iz JSON-a. */
.axc-stat{
  position:absolute; top:40px; right:28px; z-index:3;
  font-family:var(--font-mono); font-size:10.5px; line-height:2;
  letter-spacing:.14em; text-transform:uppercase; color:#8a8780;
  text-align:right; white-space:nowrap;
}
.axc-stat b{ color:#ece9e3; font-weight:500; }
.axc-stat .sig{ color:var(--al-brand-text); }

@media (max-width:1000px){ .axc-inner{ grid-template-columns:1fr; gap:26px; } }
@media (max-width:560px){
  .axc-inner{ padding:32px 18px 28px; }
  .axc-stat{ top:18px; right:18px; font-size:9.5px; }
}

/* ============================================================
   TRAKA TRIPTIHA (zajednički sloj — vidljiva samo standalone)
   ============================================================ */
/* --trip-h FIKSIRAN u CSS-u (bilo JS-mereno, ali ResizeObserver okinjavo
   sync na svaku scroll-frame promenu → sticky slojevi jitter-uju). Sada
   je vrednost stabilna, sticky elementi se ne mrdaju tokom scroll-a. */
:root{ --trip-h:68px; }
@media (max-width:820px){ :root{ --trip-h:64px; } }
.trip{ position:sticky; top:var(--hdr-h,56px); z-index:20; background:#0c0c0a; border-bottom:1px solid var(--al-line); min-height:var(--trip-h,64px); box-sizing:border-box; }
.trip__inner{ max-width:var(--container-wide); margin:0 auto; padding:10px 28px; display:flex; align-items:stretch; gap:10px; overflow-x:auto; scrollbar-width:none; }
.trip__inner::-webkit-scrollbar{ display:none; }
.trip__lead{ display:inline-flex; align-items:center; gap:9px; flex:0 0 auto; padding:0 14px 0 0; font-family:var(--font-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--al-mute-text); white-space:nowrap; }
.trip__lead::before{ content:""; width:6px; height:6px; background:var(--al-brand); clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%); }
/* Denis, S70: traka nije čitljiva kao tri odvojene celine — svaki tab
   dobija sopstvenu granicu/pozadinu (isti "kartica" jezik kao .zkn-legend/
   .zkn-level), umesto samo tanke linije između njih. */
/* Specifičnost pojačana + !important: `body.page-alat-pomoc a` (0,1,2)
   inače boji sve tabove crveno. */
.trip .trip__tab{ flex:1 1 0; min-width:0; display:flex; align-items:center; gap:11px; text-decoration:none; padding:12px 18px; border:1px solid var(--al-line); border-left-width:3px; border-radius:2px; color:var(--al-lo) !important; background:var(--al-plate); font-family:var(--font-sans); text-align:left; cursor:pointer; transition:color .15s, background .15s, border-color .15s; }
.trip__no{ font-family:var(--font-mono); font-size:12px; font-weight:600; letter-spacing:.06em; color:var(--al-mute-text); flex:0 0 auto; }
.trip__t{ font-family:var(--font-mono); font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; flex:0 0 auto; }
.trip__q{ font-size:13px; color:var(--al-mute-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.trip .trip__tab:hover{ color:var(--al-hi) !important; background:var(--al-plate2); border-color:var(--al-line2); }
.trip .trip__tab:focus-visible{ outline:2px solid var(--al-brand); outline-offset:-2px; }
.trip .trip__tab.is-here{ color:var(--al-hi) !important; background:var(--al-plate2); border-color:var(--al-brand); }
.trip__tab.is-here .trip__no{ color:var(--al-brand-text); }
@media (max-width:560px){
  .trip__inner{ padding:8px 12px; gap:6px; }
  .trip__lead{ display:none; }
  .trip__q{ display:none; }
  /* .trip prefiks OBAVEZAN (S85, Denis: dugmad viša nego na zakon/incident):
     bazno pravilo ovde je `.trip .trip__tab` (jače od golog `.trip__tab`),
     pa je kompakt padding gubio na specifičnosti i NIKAD se nije primenjivao. */
  .trip .trip__tab{ padding:10px 10px; gap:8px; }
}

/* ---- sadržaj traka po kategorijama usluga (lepljiva ispod trip trake, scroll-spy) ---- */
/* +70px = visina .trip trake (S70: kartice su je proširile sa 49px) */
.reg-toc{ position:sticky; top:calc(var(--hdr-h,56px) + var(--trip-h,68px) - 1px); z-index:19; background:#0c0c0a; border-bottom:1px solid var(--al-line); }
.reg-toc__inner{
  max-width:var(--container-wide); margin:0 auto; padding:10px 28px;
  display:flex; align-items:center; gap:6px; overflow-x:auto; scrollbar-width:none;
}
.reg-toc__inner::-webkit-scrollbar{ display:none; }
.reg-toc__lead{ font-family:var(--font-mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--al-mute-text); white-space:nowrap; margin-right:6px; flex:0 0 auto; }
/* !important jer `body.page-alat-pomoc a` (0,1,2) bi inače pobedilo. */
.reg-toc a{
  flex:0 0 auto; display:inline-flex; align-items:baseline; gap:7px; text-decoration:none;
  font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; color:var(--al-lo) !important;
  padding:6px 11px; border:1px solid transparent; border-radius:2px; white-space:nowrap;
  transition:color .15s, border-color .15s, background .15s;
}
.reg-toc a .n{ color:var(--al-mute-text) !important; font-weight:600; }
.reg-toc a:hover{ color:var(--al-hi) !important; border-color:var(--al-line2); background:var(--al-plate); }
.reg-toc a:hover .n{ color:var(--al-accent-text) !important; }
.reg-toc a.is-here{ color:var(--al-hi) !important; border-color:var(--al-line2); background:var(--al-plate); }
.reg-toc a.is-here .n{ color:var(--al-accent-text) !important; }
html[data-theme="light"] .reg-toc{ background:#e9e7de; }
html.trip-embed .reg-toc{ display:none; }
@media (max-width:760px){ .reg-toc__inner{ padding:9px 16px; } .reg-toc__lead{ display:none; } }

/* ============================================================
   TELO
   ============================================================ */
.reg{ max-width:var(--container-wide); margin:0 auto; padding:44px 28px 96px; }
.reg-kick{ display:flex; align-items:center; gap:10px; margin:0 0 12px; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--al-mute-text); }
.reg-kick .n{ color:var(--al-risk-low); }
.reg-sec{ margin-top:52px; }
.reg-sec__head{ margin:0 0 20px; }
.reg-h2{ margin:0 0 10px; font-size:clamp(22px,2.4vw,29px); font-weight:600; letter-spacing:-.02em; color:var(--al-hi); }
.reg-lead{ margin:0; max-width:66ch; font-size:15.5px; line-height:1.62; color:var(--al-md); }

/* ============================================================
   KLASA A — CP DOMAĆIN (autor sajta i registra; NIJE oglas)
   Brend identitet, drugačiji oblik/širina od unosa, brend ivica.
   ============================================================ */
.reg-host{
  position:relative; margin:0 0 8px; border:1px solid var(--al-line2);
  border-top:3px solid var(--al-brand); background:var(--al-plate);
  display:grid; grid-template-columns:auto 1fr auto; gap:22px; align-items:center;
  padding:22px 24px;
}
.reg-host::after{ content:""; position:absolute; inset:0; pointer-events:none; background:var(--al-brand-soft); opacity:.5; mix-blend-mode:normal; }
.reg-host > *{ position:relative; z-index:1; }
.reg-host__mark{ width:44px; height:59px; color:var(--al-brand-text); flex:0 0 auto; }
.reg-host__body{ min-width:0; }
.reg-host__k{ display:flex; align-items:center; gap:9px; margin:0 0 7px; font-family:var(--font-mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--al-brand-text); }
.reg-host__k::before{ content:""; width:6px; height:6px; background:var(--al-brand); clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%); }
.reg-host__nm{ margin:0 0 5px; font-size:19px; font-weight:600; letter-spacing:-.01em; color:var(--al-hi); }
.reg-host__rec{ margin:0 0 8px; font-size:14.5px; line-height:1.55; color:var(--al-md); max-width:62ch; }
.reg-host__note{ margin:0; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.03em; color:var(--al-mute-text); }
.reg-host__cta{ display:flex; flex-direction:column; gap:8px; flex:0 0 auto; }
.reg-host__cta a{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap;
  font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  padding:10px 16px; border-radius:2px; text-decoration:none; transition:background .15s, border-color .15s, color .15s;
}
.reg-host__cta a.is-primary{ background:var(--al-brand); color:#fff; border:1px solid var(--al-brand); }
.reg-host__cta a.is-primary:hover{ background:var(--al-brand-hi); border-color:var(--al-brand-hi); color:#fff; }
.reg-host__cta a.is-ghost{ color:var(--al-md); border:1px solid var(--al-line2); }
.reg-host__cta a.is-ghost:hover{ color:var(--al-hi); border-color:var(--al-mute); }

/* ============================================================
   KLASA A · PROŠIRENO — CP DOMAĆIN „UVODNA REČ" (misao domaćina)
   Levo = identitet (brend-tint podloga) · desno = izjava (čist plate).
   Koristi se kad postoji prava uvodna reč; kompaktni .reg-host ostaje
   za slučaj samo-potpisa (fallback).
   ============================================================ */
.reg-lede{
  position:relative; margin:0 0 10px; border:1px solid var(--al-line2);
  border-top:3px solid var(--al-brand); background:var(--al-plate);
  display:grid; grid-template-columns:minmax(230px,290px) 1fr;
}
.reg-lede__id{
  position:relative; padding:28px 26px; border-right:1px solid var(--al-line);
  display:flex; flex-direction:column; gap:0; overflow:hidden;
}
.reg-lede__id::after{ content:""; position:absolute; inset:0; background:var(--al-brand-soft); opacity:.6; pointer-events:none; }
.reg-lede__id > *{ position:relative; z-index:1; }
.reg-lede__mark{ width:46px; height:62px; color:var(--al-brand-text); margin:0 0 18px; }
.reg-lede__k{ display:flex; align-items:center; gap:9px; margin:0 0 9px; font-family:var(--font-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--al-brand-text); }
.reg-lede__k::before{ content:""; width:6px; height:6px; flex:0 0 auto; background:var(--al-brand); clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%); }
.reg-lede__nm{ margin:0 0 auto; font-size:22px; font-weight:600; letter-spacing:-.015em; color:var(--al-hi); }
.reg-lede__note{ margin:22px 0 16px; font-family:var(--font-mono); font-size:10.5px; line-height:1.55; letter-spacing:.02em; color:var(--al-mute-text); }
.reg-lede__cta{ display:flex; gap:8px; flex-wrap:wrap; }
.reg-lede__cta a{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap;
  font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  padding:10px 16px; border-radius:2px; text-decoration:none; transition:background .15s, border-color .15s, color .15s;
}
.reg-lede__cta a.is-primary{ background:var(--al-brand); color:#fff; border:1px solid var(--al-brand); }
.reg-lede__cta a.is-primary:hover{ background:var(--al-brand-hi); border-color:var(--al-brand-hi); color:#fff; }
.reg-lede__cta a.is-ghost{ color:var(--al-md); border:1px solid var(--al-line2); }
.reg-lede__cta a.is-ghost:hover{ color:var(--al-hi); border-color:var(--al-mute); }
.reg-lede__say{ padding:28px 34px 26px; min-width:0; }
.reg-lede__eyebrow{ display:flex; align-items:center; gap:9px; margin:0 0 16px; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--al-mute-text); }
.reg-lede__eyebrow .n{ color:var(--al-risk-low); }
.reg-lede__say p{ margin:0 0 17px; font-size:15.5px; line-height:1.78; color:var(--al-lo); max-width:60ch; text-wrap:pretty; }
.reg-lede__say p.is-lead{ font-size:16px; color:var(--al-md); }
.reg-lede__say p em{ font-style:normal; color:var(--al-md); font-weight:500; }
.reg-lede__say p .brand{ color:var(--al-brand-text); font-weight:500; font-style:normal; }
.reg-lede__handoff{ display:flex; align-items:center; gap:11px; margin:20px 0 0; padding:13px 0 0; border-top:1px solid var(--al-line); font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; color:var(--al-lo); }
.reg-lede__handoff .ar{ color:var(--al-risk-low); font-weight:700; }
.reg-lede__handoff b{ color:var(--al-md); font-weight:600; }
@media (max-width:820px){
  .reg-lede{ grid-template-columns:1fr; }
  .reg-lede__id{ border-right:0; border-bottom:1px solid var(--al-line); }
  .reg-lede__nm{ margin-bottom:14px; }
  .reg-lede__say{ padding:24px 22px; }
}
/* Telefon (≤560px): panel se na mobilnom slaže vertikalno pa naraste (uvodna
   reč gura registar dole). Sažimamo „hrom" — padding-e, logo, razmake i blago
   prored — da panel bude niži; veličine slova (hijerarhija lead-a) ostaju. */
@media (max-width:560px){
  .reg-lede__id{ padding:18px 18px; }
  .reg-lede__mark{ width:36px; height:48px; margin:0 0 12px; }
  .reg-lede__k{ margin:0 0 8px; }
  .reg-lede__note{ margin:14px 0 13px; }
  .reg-lede__say{ padding:18px 18px 20px; }
  .reg-lede__eyebrow{ margin:0 0 11px; }
  .reg-lede__say p{ margin:0 0 12px; line-height:1.64; }
  .reg-lede__handoff{ margin:14px 0 0; padding:11px 0 0; }
}

/* ============================================================
   PRETRAGA — jednostavno tekstualno polje (S72; klasifikacioni
   filteri povučeni dok firme same ne potvrde specifikacije).
   ============================================================ */
.reg-search{
  position:sticky;
  /* -1px daje overlap sa .trip donjim rubom umesto sub-pixel gap-a (npr.
     .trip bottom 118.39 vs top 119 → 0.6px zazor kroz koji se vidi tekst).
     Overlap je bezbedan jer .trip ima veći z-index. */
  top:calc(var(--hdr-h,56px) + var(--trip-h,68px) - 1px);
  z-index:15;
  /* Kompaktan kao .trip traka (Denis: „nema potrebe da bude viši od trake sa
     poglavljima"; na /pomoc/ TOC-a nema pa search preuzima tu ulogu). Razmak
     od reg-host bloka iznad je preko padding-top (ne margin — margin iznad
     sticky element-a pravi zazor kroz koji prolazi tekst). Visina ≈ .trip 68px. */
  padding:14px 16px 13px;
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  background:var(--al-plate); border:1px solid var(--al-line);
}
/* Mobilni: search blok krao previše prostora listi (Denis) — manji gornji
   razmak, sakrivena „PRETRAGA" labela (lupa-ikona u polju je dovoljan afordans)
   i broj unosa („48 unosa" — Denis: nepotrebno na mobilnom). Search = jedan red. */
@media (max-width:560px){
  .reg-search{ padding:14px 12px 11px; gap:9px 12px; }
  /* .reg-search prefiks = (0,2,0) da pobedi baznu .reg-search__lbl (0,1,0)
     koja u izvoru dolazi POSLE ovog @media bloka. */
  .reg-search .reg-search__lbl,
  .reg-search .reg-search__cnt{ display:none; }
  .reg-search__in{ padding:9px 8px 9px 6px; font-size:16px; } /* 16px = iOS bez zuma */
}
.reg-search__lbl{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--al-mute-text);
  display:inline-flex; align-items:center; gap:9px;
}
.reg-search__lbl::before{
  content:""; width:6px; height:6px; background:var(--al-risk-low);
  clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);
}
.reg-search__box{
  position:relative; flex:1 1 320px; min-width:220px;
  display:flex; align-items:center;
  border:1px solid var(--al-line2); background:var(--al-field); border-radius:2px;
  transition:border-color .14s, box-shadow .14s;
}
.reg-search__box:focus-within{ border-color:var(--al-brand); box-shadow:0 0 0 1px var(--al-brand); }
.reg-search__i{
  width:16px; height:16px; margin:0 4px 0 12px; flex:0 0 auto;
  color:var(--al-mute-text);
}
.reg-search__in{
  flex:1 1 auto; padding:10px 8px 10px 6px;
  background:transparent; border:0; outline:none;
  color:var(--al-hi); font-family:var(--font-sans); font-size:15px;
}
.reg-search__in::placeholder{ color:var(--al-mute-text); }
.reg-search__x{
  flex:0 0 auto; margin:2px 6px; padding:6px; cursor:pointer;
  background:transparent; border:0; color:var(--al-mute-text); border-radius:2px;
  display:inline-flex; align-items:center; justify-content:center;
  transition:color .14s, background .14s;
}
.reg-search__x:hover{ color:var(--al-hi); background:var(--al-plate2); }
.reg-search__x svg{ width:14px; height:14px; }
.reg-search__cnt{
  font-family:var(--font-mono); font-size:12px; color:var(--al-md);
  font-variant-numeric:tabular-nums; margin-left:auto;
}
.reg-search__cnt b{ color:var(--al-hi); font-weight:600; }

/* sidra iz heroa ne smeju da se sakriju iza lepljivih traka */
#registar, #kako, #ograda{ scroll-margin-top:calc(var(--hdr-h,56px) + var(--trip-h,68px) + var(--toc-h,52px) + 13px); }
.reg-filters{ border:1px solid var(--al-line); background:var(--al-plate); }
.reg-filters__bar{ display:flex; align-items:center; gap:14px; padding:12px 16px; border-bottom:1px solid var(--al-line); flex-wrap:wrap; }
.reg-filters__lead{ display:inline-flex; align-items:center; gap:9px; font-family:var(--font-mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--al-mute-text); }
.reg-filters__lead::before{ content:""; width:6px; height:6px; background:var(--al-risk-low); clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%); }
.reg-count{ font-family:var(--font-mono); font-size:12px; color:var(--al-md); font-variant-numeric:tabular-nums; }
.reg-count b{ color:var(--al-hi); font-weight:600; }
.reg-reset{
  margin-left:auto; display:inline-flex; align-items:center; gap:7px; cursor:pointer;
  font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; color:var(--al-lo); white-space:nowrap;
  background:transparent; border:1px solid var(--al-line2); border-radius:2px; padding:7px 12px;
  transition:color .15s, border-color .15s, opacity .15s;
}
.reg-reset:hover{ color:var(--al-hi); border-color:var(--al-mute); }
.reg-reset[disabled]{ opacity:.4; cursor:default; }
.reg-reset svg{ width:12px; height:12px; }

/* situacija — brzi start, krupniji */
.reg-sit{ padding:15px 16px; border-bottom:1px solid var(--al-line); }
.reg-sit__lead{ font-family:var(--font-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--al-mute-text); margin:0 0 10px; }
.reg-sit__row{ display:flex; gap:8px; flex-wrap:wrap; }
.reg-sitbtn{
  display:inline-flex; align-items:center; gap:9px; cursor:pointer; text-align:left;
  padding:11px 15px; border:1px solid var(--al-line2); border-radius:2px; background:var(--al-field);
  color:var(--al-md); font-family:var(--font-sans); font-size:14px; font-weight:500;
  transition:border-color .14s, color .14s, background .14s;
}
.reg-sitbtn .d{ width:8px; height:8px; flex:0 0 auto; background:var(--al-mute); clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%); transition:background .14s; }
.reg-sitbtn:hover{ color:var(--al-hi); border-color:var(--al-mute); }
.reg-sitbtn.is-on{ color:var(--al-hi); border-color:var(--al-risk-low); background:rgba(127,161,104,.10); }
.reg-sitbtn.is-on .d{ background:var(--al-risk-low); }
.reg-sitbtn:focus-visible{ outline:none; border-color:var(--al-brand); box-shadow:0 0 0 1px var(--al-brand); }

/* ose: usluga / veličina / sektor */
.reg-axes{ display:grid; grid-template-columns:1fr; }
.reg-fset{ padding:13px 16px; border-bottom:1px solid var(--al-line); display:grid; grid-template-columns:120px 1fr; gap:14px; align-items:start; }
.reg-fset:last-child{ border-bottom:0; }
.reg-fset__lead{ font-family:var(--font-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--al-mute-text); padding-top:6px; }
.reg-chips{ display:flex; gap:7px; flex-wrap:wrap; }
.reg-chip{
  display:inline-flex; align-items:center; gap:7px; cursor:pointer;
  padding:6px 11px; border:1px solid var(--al-line2); border-radius:2px; background:var(--al-field);
  color:var(--al-lo); font-family:var(--font-sans); font-size:13px; line-height:1.2;
  transition:border-color .13s, color .13s, background .13s;
}
.reg-chip .no{ font-family:var(--font-mono); font-size:10.5px; font-weight:600; color:var(--al-mute-text); }
.reg-chip:hover{ color:var(--al-hi); border-color:var(--al-mute); }
.reg-chip.is-on{ color:var(--al-hi); border-color:var(--al-brand); background:var(--al-brand-soft); }
.reg-chip.is-on .no{ color:var(--al-brand-text); }
.reg-chip:focus-visible{ outline:none; border-color:var(--al-brand); box-shadow:0 0 0 1px var(--al-brand); }

/* ============================================================
   LISTA — kategorije + kartice
   ============================================================ */
.reg-list{ margin-top:26px; }
.reg-cat{ margin-top:30px; }
.reg-cat:first-child{ margin-top:0; }
.reg-cat[hidden]{ display:none; }
.reg-cat__head{ display:flex; align-items:baseline; gap:12px; margin:0 0 12px; padding-bottom:9px; border-bottom:1px solid var(--al-line); }
.reg-cat__no{ font-family:var(--font-mono); font-size:12px; font-weight:600; color:var(--al-risk-low); flex:0 0 auto; }
.reg-cat__nm{ font-size:15px; font-weight:600; letter-spacing:-.005em; color:var(--al-hi); }
.reg-cat__cnt{ margin-left:auto; font-family:var(--font-mono); font-size:11px; color:var(--al-mute-text); font-variant-numeric:tabular-nums; }

.reg-subhead{ margin:18px 0 8px; font-family:var(--font-mono); font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--al-mute-text); }
.reg-subhead:first-child{ margin-top:0; }

.reg-cards{ display:grid; gap:1px; background:var(--al-line); border:1px solid var(--al-line); }
.reg-cards + .reg-subhead{ margin-top:22px; }

/* ============================================================
   OSNOVNA JEDINICA — RED REGISTRA sa POTPISOM POKRIVENOSTI
   Levo: koordinata + ime + rečenica + sektori/kontakt.
   Desno (rail): traka pokrivenosti (8 usluga) · merač klijenta ·
   pečat provere. Skenabilno na 100+ — oko čita „oblik" firme.
   ============================================================ */
.reg-card{ background:var(--al-plate); padding:15px 18px; display:grid; grid-template-columns:1fr auto; gap:8px 34px; align-items:start; }
.reg-card[hidden]{ display:none; }
.reg-card__main{ min-width:0; grid-column:1; }
.reg-card__idrow{ display:flex; align-items:baseline; gap:11px; flex-wrap:wrap; }
.reg-card__id{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.04em; color:var(--al-mute-text); flex:0 0 auto; font-variant-numeric:tabular-nums; }
.reg-card__nm{ font-size:15.5px; font-weight:600; letter-spacing:-.005em; color:var(--al-hi); }
.reg-card__rec{ margin:6px 0 0; font-size:13.5px; line-height:1.5; color:var(--al-md); max-width:72ch; }
.reg-card__more{ margin:6px 0 0; font-size:13px; line-height:1.5; color:var(--al-lo); max-width:72ch; }
.reg-card__sub{ display:flex; align-items:baseline; gap:7px 16px; flex-wrap:wrap; margin-top:10px; }
.reg-card__sect{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.03em; color:var(--al-lo); }
.reg-card__sect .lbl{ color:var(--al-mute-text); letter-spacing:.12em; text-transform:uppercase; margin-right:7px; }
.reg-card__sect .sep{ color:var(--al-mute-text); margin:0 4px; }
.reg-card__contact{ display:inline-flex; align-items:center; gap:14px; flex-wrap:wrap; font-family:var(--font-mono); font-size:12px; color:var(--al-md); }
.reg-card__contact a{ color:var(--al-md); }
.reg-card__contact a:hover{ color:var(--al-hi); }
.reg-card__mail::before{ content:"✉ "; color:var(--al-mute-text); }
.reg-card__tel::before{ content:"☏ "; color:var(--al-mute-text); }

/* desni rail — vizuelni potpis */
/* S80: grid → flex kolona; align-self:stretch + margin-top:auto na .reg-card__act
   spušta red akcija (Podeli, budući Profil) na dno, uz desni kraj kartice. */
.reg-card__sig{ grid-column:2; align-self:stretch; display:flex; flex-direction:column; align-items:flex-end; gap:9px; }
.reg-sigrow{ display:grid; grid-template-columns:auto auto; align-items:center; gap:11px; }
.reg-sigrow__l{ font-family:var(--font-mono); font-size:9px; letter-spacing:.11em; text-transform:uppercase; color:var(--al-mute-text); text-align:right; }

/* pokrivenost — 8 heks (redosled = usluge po hitnosti) */
.reg-cov{ display:flex; gap:4px; }
.reg-cov__c{ width:11px; height:12px; flex:0 0 auto; background:var(--al-line2); clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%); }
.reg-cov__c.is-on{ background:var(--al-mute); }
.reg-cov__c.is-primary{ background:var(--al-hi); }

/* merač klijenta — 4 pipa (mikro→velika) */
.reg-size{ display:flex; gap:3px; }
.reg-size__p{ width:15px; height:5px; background:var(--al-line2); border-radius:1px; }
.reg-size__p.is-on{ background:var(--al-risk-low); }

/* pečat provere */
.reg-stamp{ display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.04em; color:var(--al-mute-text); white-space:nowrap; }
.reg-stamp::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--al-risk-low); flex:0 0 auto; }
.reg-stamp .dt{ color:var(--al-lo); }

/* --- KLASA B — ISTAKNUT (plaćeno mesto): amber, NE brend, NE neutral --- */
.reg-card--pro{ background:var(--al-plate2); border-left:3px solid var(--al-paid); padding-left:21px; }
.reg-paid{
  display:inline-flex; align-items:center; gap:7px; align-self:center;
  font-family:var(--font-mono); font-size:9.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--al-paid-hi); background:var(--al-paid-soft); border:1px solid var(--al-paid); border-radius:2px; padding:4px 9px; white-space:nowrap;
}
.reg-paid::before{ content:""; width:6px; height:6px; background:var(--al-paid); clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%); }
.reg-profil{ display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; color:var(--al-paid-hi); }
.reg-profil:hover{ color:var(--al-hi); }
.reg-card--pro .reg-cov__c.is-primary{ background:var(--al-paid-hi); }

/* --- PODELI KARTICU + DEEP-LINK BLESAK (S80) --- */
/* red akcija: dno desne kolone (ispod PROVERA pečata), uz sam desni kraj
   kartice. Buduće dugme „Profil" staje u isti red desno od Podeli — obe
   akcije dele iste proporcije (visinu/padding definiše .reg-share). */
.reg-card__act{ margin-top:auto; padding-top:10px; display:flex; gap:8px; }
.reg-share{
  display:inline-flex; align-items:center; gap:7px; padding:7px 13px;
  border:1px solid var(--al-line); border-radius:2px; background:none; cursor:pointer;
  font-family:var(--font-mono); font-size:11px; letter-spacing:.05em; color:var(--al-mute-text);
  transition:color .15s, border-color .15s;
}
.reg-share:hover{ color:var(--al-hi); border-color:var(--al-mute); }
.reg-share__i{ width:12px; height:12px; flex:0 0 auto; }
.reg-share.is-copied{ color:var(--al-paid-hi); border-color:var(--al-paid); }
/* skriveno polje za clipboard fallback (bez inline stila — CSP) */
.reg-copyfld{ position:fixed; left:-9999px; top:0; width:1px; height:1px; opacity:0; }
/* deep-link: kartica ne sme pod sticky heder + triptih traku */
.reg-card{ scroll-margin-top:calc(var(--hdr-h, 56px) + var(--trip-h, 64px) + 18px); }
/* amber blesak — jedan udah i gasi se; tokeni rade u obe teme */
.reg-card.is-flash{ animation:reg-flash 2.4s ease-out 1; }
@keyframes reg-flash{
  0%   { box-shadow:0 0 0 0 var(--al-paid-soft), 0 0 0 1px var(--al-paid); }
  18%  { box-shadow:0 0 0 7px var(--al-paid-soft), 0 0 0 1px var(--al-paid); }
  70%  { box-shadow:0 0 0 7px rgba(0,0,0,0), 0 0 0 1px var(--al-paid); }
  100% { box-shadow:0 0 0 0 rgba(0,0,0,0), 0 0 0 0 rgba(0,0,0,0); }
}
@media (prefers-reduced-motion: reduce){
  .reg-card.is-flash{ animation:none; outline:1px solid var(--al-paid); outline-offset:3px; }
}

/* --- ZASTARELA PROVERA (>12 meseci) — vizuelno degradiran --- */
.reg-card--stale{ background:repeating-linear-gradient(135deg, var(--al-plate) 0 10px, var(--al-field) 10px 20px); }
.reg-card--stale .reg-card__nm, .reg-card--stale .reg-card__rec{ color:var(--al-lo); }
.reg-card--stale .reg-stamp{ color:var(--al-risk-med); }
.reg-card--stale .reg-stamp::before{ background:var(--al-risk-med); }
.reg-card--stale .reg-stamp .dt::after{ content:" · isteklo"; color:var(--al-risk-med); }

/* ============================================================
   DOPUNSKI INDIKATORI REDA (design_handoff_registar_indikatori) —
   svi mono, sitni. „Nema podatka" = ODSUTAN (element se ne renderuje),
   ne prazan. Sve na tokenima → obe teme besplatno.
   ============================================================ */

/* 4 · dežurstvo 0–24 (IR/MDR) — inverzni high-contrast: vidi bez čitanja */
.reg-247{ display:inline-flex; align-items:center; gap:5px; flex:0 0 auto; align-self:center;
  font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.05em;
  color:var(--al-bg); background:var(--al-hi); border-radius:2px; padding:3px 7px 3px 6px; white-space:nowrap; }
.reg-247__i{ width:11px; height:11px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; }

/* 2 · tip kanala — filled klasifikator (VAD · INTEGRATOR · LICENCE) */
.reg-kanal{ display:inline-flex; align-items:center; flex:0 0 auto;
  font-family:var(--font-mono); font-size:9.5px; font-weight:600; letter-spacing:.11em; text-transform:uppercase;
  color:var(--al-lo); background:var(--al-plate2); border:1px solid var(--al-line2); border-radius:2px; padding:3px 8px; white-space:nowrap; }

/* 1 · brend-tagovi — neutralni mono; klik = filter; „+N" preliv */
.reg-supply{ display:flex; align-items:center; gap:7px 9px; flex-wrap:wrap; margin-top:9px; }
.reg-brands{ display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.reg-brand{ display:inline-flex; align-items:center; cursor:pointer;
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.01em; line-height:1.2;
  color:var(--al-md); background:transparent; border:1px solid var(--al-line2); border-radius:2px; padding:2px 7px; white-space:nowrap;
  transition:color .13s, border-color .13s, background .13s; }
.reg-brand:hover{ color:var(--al-hi); border-color:var(--al-mute); }
.reg-brand.is-on{ color:var(--al-hi); border-color:var(--al-brand); background:var(--al-brand-soft); }
.reg-brand:focus-visible{ outline:none; border-color:var(--al-brand); box-shadow:0 0 0 1px var(--al-brand); }
.reg-brand--more{ color:var(--al-lo); border-style:dashed; letter-spacing:.04em; }
.reg-brand--more:hover{ color:var(--al-hi); border-color:var(--al-mute); }
.reg-brands.is-collapsed .reg-brand:nth-child(n+6):not(.reg-brand--more){ display:none; }

/* aktivni brend-filteri u baru */
.reg-brandsel{ display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap; }
.reg-brandsel[hidden]{ display:none; }
.reg-brandsel__l{ font-family:var(--font-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--al-mute-text); }
.reg-brandsel__x{ display:inline-flex; align-items:center; gap:6px; cursor:pointer;
  font-family:var(--font-mono); font-size:11px; color:var(--al-hi);
  background:var(--al-brand-soft); border:1px solid var(--al-brand); border-radius:2px; padding:3px 8px; }
.reg-brandsel__x::after{ content:"×"; font-size:13px; line-height:1; color:var(--al-brand-text); }
.reg-brandsel__x:hover{ border-color:var(--al-brand-hi); }

/* 5 · cert.rs evidencija — institucionalni (steel): poverenje bez naše ocene */
.reg-cert{ display:inline-flex; align-items:center; gap:6px; flex:0 0 auto;
  font-family:var(--font-mono); font-size:9.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--al-steel); background:var(--al-steel-soft); border:1px solid var(--al-steel); border-radius:2px; padding:3px 7px; white-space:nowrap; }
.reg-cert::before{ content:""; width:6px; height:6px; flex:0 0 auto; background:currentColor; clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }

/* 7 · odziv (sla) — nova osa iz upitnika (S77, port iz kompletna_ponuda
   predaje 17.7). Mono, mirno; „nema podatka" = ODSUTAN.
   (prima_neklijenta osa IZBAČENA — S77: u Srbiji svi primaju sve, ne razdvaja.) */
.reg-sla{ display:inline-flex; align-items:center; gap:6px; flex:0 0 auto;
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.04em; color:var(--al-lo); white-space:nowrap; }
.reg-sla::before{ content:""; width:6px; height:6px; flex:0 0 auto; border:1px solid var(--al-faint); border-radius:50%; }

/* 6 · grad — mono lokacija */
.reg-grad{ display:inline-flex; align-items:center; gap:6px; flex:0 0 auto;
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.04em; color:var(--al-lo); }
.reg-grad::before{ content:""; width:6px; height:6px; flex:0 0 auto; border:1px solid var(--al-faint); }

/* 3 · nivo provere — „potvrdila firma": pun/dupli pečat uz datum */
.reg-stamp.is-confirmed{ color:var(--al-risk-low); }
.reg-stamp.is-confirmed::before{ display:none; }
.reg-seal{ width:13px; height:13px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.3; }
.reg-seal__c{ fill:currentColor; stroke:none; }
.reg-stamp__lab{ font-size:9px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; color:var(--al-risk-low); }
.reg-stamp.is-confirmed .dt{ color:var(--al-md); }

/* legenda potpisa — dekodira jezik jednom */
.reg-legend{ display:flex; gap:12px 28px; flex-wrap:wrap; align-items:center; margin:18px 0 2px; padding:11px 16px; border:1px solid var(--al-line); background:var(--al-field); }
.reg-legend__item{ display:flex; align-items:center; gap:10px; font-size:12px; color:var(--al-lo); }
.reg-legend__item b{ color:var(--al-md); font-weight:600; }
.reg-legend__k{ font-family:var(--font-mono); font-size:9px; letter-spacing:.11em; text-transform:uppercase; color:var(--al-mute-text); }

/* --- BEZ POGOTKA --- */
.reg-empty{ padding:44px 24px; text-align:center; border:1px dashed var(--al-line2); background:var(--al-field); }
.reg-empty[hidden]{ display:none; }
.reg-empty h3{ margin:0 0 8px; font-size:17px; font-weight:600; color:var(--al-hi); }
.reg-empty p{ margin:0 auto 16px; max-width:46ch; font-size:14px; line-height:1.6; color:var(--al-lo); }
.reg-empty__btn{ cursor:pointer; font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--al-hi); background:transparent; border:1px solid var(--al-mute); border-radius:2px; padding:9px 15px; transition:border-color .15s; }
.reg-empty__btn:hover{ border-color:var(--al-brand); }

/* ============================================================
   KAKO UĆI + OGRADA
   ============================================================ */
.reg-join{ margin-top:56px; border:1px solid var(--al-line); background:var(--al-plate); padding:28px 26px 30px; }
.reg-join ol{ list-style:none; margin:18px 0 0; padding:0; counter-reset:jc; display:grid; gap:1px; background:var(--al-line); border:1px solid var(--al-line); }
.reg-join li{ counter-increment:jc; background:var(--al-plate); padding:14px 16px; display:flex; gap:13px; align-items:baseline; }
.reg-join li::before{ content:counter(jc,decimal-leading-zero); font-family:var(--font-mono); font-size:12px; font-weight:600; color:var(--al-risk-low); flex:0 0 auto; }
.reg-join li b{ color:var(--al-hi); font-weight:600; }
.reg-join li span{ display:block; margin-top:3px; font-size:13px; color:var(--al-mute-text); }
.reg-rule{ margin:22px 0 0; padding:14px 16px; border-left:3px solid var(--al-brand); background:var(--al-brand-soft); font-size:14.5px; line-height:1.6; color:var(--al-hi); }
.reg-join__contact{ margin:16px 0 0; font-family:var(--font-mono); font-size:12px; color:var(--al-lo); }

/* POZIV NENAVEDENIMA — donji „bookend" gornjem „Uvodna reč" panelu: registar
   iz javnih izvora može nekoga da zaobiđe, pa ga humano poziva da se prijavi. */
/* S79 (Denis): zelen ton kao ostali signali strane — crvena ostaje rezervisana
   za blok domaćina (reg-lede) iznad; isti transparentni preliv, druga boja */
.reg-invite{ position:relative; margin-top:22px; border:1px solid var(--al-line2); border-top:3px solid var(--al-risk-low); background:var(--al-plate); padding:24px 26px; display:flex; align-items:center; justify-content:space-between; gap:20px 30px; flex-wrap:wrap; }
.reg-invite::after{ content:""; position:absolute; inset:0; pointer-events:none; background:rgba(127,161,104,.14); opacity:.4; }
.reg-invite > *{ position:relative; z-index:1; }
.reg-invite__tx{ min-width:0; max-width:64ch; }
.reg-invite__h{ margin:0 0 7px; font-size:18px; font-weight:600; letter-spacing:-.01em; color:var(--al-hi); }
.reg-invite__p{ margin:0; font-size:14px; line-height:1.62; color:var(--al-lo); }
.reg-invite__p em{ font-style:normal; color:var(--al-md); font-weight:500; }
/* a.reg-invite__cta (0,2,1) da pobedi body.page-alat-pomoc a (0,1,2) koji bi
   inače obojio dugme brend-crvenom umesto belom. */
.reg-invite a.reg-invite__cta{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap; font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; padding:12px 18px; border-radius:2px; text-decoration:none; background:#55743f; color:#fff; border:1px solid #55743f; transition:filter .15s; }
.reg-invite a.reg-invite__cta:hover{ filter:brightness(1.12); color:#fff; }
/* S79: dva CTA — prijava (primarni) + javna ponuda za firme (ghost) */
.reg-invite__ctas{ flex:0 0 auto; display:flex; gap:10px; flex-wrap:wrap; }
.reg-invite a.reg-invite__cta--ghost{ background:transparent; color:var(--al-md); border-color:var(--al-line2); }
.reg-invite a.reg-invite__cta--ghost:hover{ background:transparent; color:var(--al-hi); border-color:var(--al-mute); }
@media (max-width:560px){ .reg-invite{ padding:20px 18px; gap:16px; } .reg-invite__ctas{ width:100%; } .reg-invite a.reg-invite__cta{ width:100%; } }

.reg-ograda{ margin-top:34px; padding-top:22px; border-top:1px solid var(--al-line); font-size:12.5px; line-height:1.65; color:var(--al-mute-text); max-width:78ch; }
.reg-ograda b{ color:var(--al-mute-text); font-weight:600; }

/* ============================================================
   PREMIUM ŠABLON (demo) — istaknut unos u kontekstu + profil-članak
   Dizajnira se sada, aktivira se kad naplata krene.
   ============================================================ */
.reg-demohead{ margin:0 0 8px; }
.reg-demohead .reg-h2{ margin-bottom:8px; }
.reg-classkey{ display:flex; gap:8px 18px; flex-wrap:wrap; margin:14px 0 0; padding:0; list-style:none; }
.reg-classkey li{ display:flex; align-items:center; gap:9px; font-size:13px; color:var(--al-lo); }
.reg-classkey .s{ width:12px; height:12px; flex:0 0 auto; border-radius:1px; }
.reg-classkey .s--host{ background:var(--al-brand); }
.reg-classkey .s--pro{ background:var(--al-paid); }
.reg-classkey .s--plain{ background:var(--al-line2); border:1px solid var(--al-mute); }
.reg-classkey b{ color:var(--al-md); font-weight:600; }

/* profil-članak (podstranica /pomoc/{firma}/) — dosije obrazac */
.reg-profil-art{ margin-top:30px; border:1px solid var(--al-line2); border-top:3px solid var(--al-paid); background:var(--al-plate); }
.reg-pa__head{ padding:22px 24px; border-bottom:1px solid var(--al-line); display:flex; align-items:flex-start; gap:16px; flex-wrap:wrap; }
.reg-pa__head-main{ flex:1 1 260px; min-width:0; }
.reg-pa__k{ font-family:var(--font-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--al-mute-text); margin:0 0 8px; }
.reg-pa__nm{ margin:0 0 8px; font-size:24px; font-weight:600; letter-spacing:-.02em; color:var(--al-hi); }
.reg-pa__rec{ margin:0; font-size:15px; line-height:1.55; color:var(--al-md); max-width:60ch; }
.reg-pa__meta{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--al-line); border-bottom:1px solid var(--al-line); }
.reg-pa__cell{ background:var(--al-plate); padding:14px 18px; }
.reg-pa__cell .lbl{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--al-mute-text); display:block; margin-bottom:5px; }
.reg-pa__cell .val{ font-size:13.5px; color:var(--al-md); line-height:1.45; }
.reg-pa__body{ padding:24px; display:grid; gap:24px; }
.reg-pa__sec h3{ margin:0 0 9px; font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--al-mute-text); display:flex; align-items:center; gap:9px; }
.reg-pa__sec h3::before{ content:""; width:6px; height:6px; background:var(--al-paid); clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%); }
.reg-pa__sec p, .reg-pa__sec li{ font-size:14.5px; line-height:1.6; color:var(--al-md); }
.reg-pa__sec ul{ margin:0; padding-left:18px; display:grid; gap:5px; }
/* ključna kuraciona vrednost — za koga jesu / za koga nisu */
.reg-fit{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--al-line); border:1px solid var(--al-line); }
.reg-fit__col{ background:var(--al-plate); padding:16px 18px; }
.reg-fit__col h4{ margin:0 0 10px; display:flex; align-items:center; gap:9px; font-size:14px; font-weight:600; color:var(--al-hi); }
.reg-fit__col h4 .m{ font-family:var(--font-mono); font-size:16px; line-height:1; }
.reg-fit__col--yes h4 .m{ color:var(--al-risk-low); }
.reg-fit__col--no h4 .m{ color:var(--al-risk-hi); }
.reg-fit__col ul{ margin:0; padding-left:16px; display:grid; gap:6px; }
.reg-fit__col li{ font-size:13.5px; line-height:1.5; color:var(--al-md); }
.reg-pa__foot{ padding:16px 24px; border-top:1px solid var(--al-line); display:flex; gap:12px 20px; flex-wrap:wrap; align-items:center; }
.reg-pa__foot .reg-check{ margin-left:auto; }
.reg-pa__cta{ display:inline-flex; align-items:center; gap:8px; white-space:nowrap; font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; padding:10px 16px; border-radius:2px; background:var(--al-plate2); border:1px solid var(--al-line2); color:var(--al-md); }
.reg-pa__cta:hover{ color:var(--al-hi); border-color:var(--al-mute); }
@media (max-width:760px){
  .reg-pa__meta{ grid-template-columns:1fr; }
  .reg-fit{ grid-template-columns:1fr; }
}

/* ============================================================
   FOOTER (enc-ftr) — uvek taman; static (duga strana)
   ============================================================ */
body.page-alat-pomoc .enc-ftr{ background:#0a0a09; border-top:1px solid #2e2e2c; color:#a0a09e; font-family:var(--font-mono); font-size:12px; letter-spacing:.04em; }
body.page-alat-pomoc .enc-ftr-inner{
  /* Pun po sirini prozora (kao /enciklopedija/, /lozinka/, /izlozenost/ i
     /alati/), ne do kraja kolone sadrzaja. Denisova odluka S132: sravnjeno
     na svih deset strana koje koriste enc-footer. Ranije je ovde stajalo
     max-width + margin:0 auto. */
  padding:16px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
}
body.page-alat-pomoc .enc-ftr a{ color:#b0ada8; }
body.page-alat-pomoc .enc-ftr a:hover{ color:#ece9e3; }
body.page-alat-pomoc .enc-ftr .dot{ display:inline-block; width:3px; height:3px; border-radius:50%; background:#4a4a48; margin:0 10px; vertical-align:middle; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:860px){
  .reg-host{ grid-template-columns:auto 1fr; }
  .reg-host__cta{ grid-column:1 / -1; flex-direction:row; }
  .reg-fset{ grid-template-columns:1fr; gap:8px; }
  .reg-fset__lead{ padding-top:0; }
}
@media (max-width:760px){
  .reg-card{ grid-template-columns:1fr; gap:12px; }
  /* S89 (Denis, telefon): kartice razdvojene ploče umesto stopljene liste sa
     1px fugama — svaka svoj okvir + razmak. */
  .reg-cards{ gap:10px; background:none; border:none; }
  .reg-card{ border:1px solid var(--al-line); }
  /* S89: potpis u JEDAN red — Provera levo, Podeli desno; ranije je Podeli
     imao ceo svoj red pa je futer kartice bio duplo viši nego što treba. */
  .reg-card__sig{ grid-column:1; flex-direction:row; align-items:center; justify-content:space-between; gap:12px; padding-top:11px; border-top:1px solid var(--al-line); width:100%; }
  .reg-card__act{ margin-top:0; padding-top:0; width:auto; }
  .reg-sigrow{ grid-template-columns:auto auto; justify-content:start; }
  .reg-sigrow__l{ text-align:left; }
}
@media (max-width:640px){
  .reg{ padding:34px 16px 72px; }
  .reg-host{ grid-template-columns:1fr; text-align:left; }
  .reg-host__mark{ width:36px; height:48px; }
  .reg-host__cta a{ flex:1 1 auto; }
}

/* ============================================================
   ENTRANCE (samo standalone; reduced-motion = mirno)
   ============================================================ */
@media (prefers-reduced-motion:no-preference){
  .reg-empty:not([hidden]){ animation:regIn .2s ease both; }
}
@keyframes regIn{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }

/* ============================================================
   LIGHT TEMA
   ============================================================ */
html[data-theme="light"] body.page-alat-pomoc{
  --al-bg:#f2f0e9; --al-grid:rgba(20,20,18,.035);
  --al-plate:#ffffff; --al-plate2:#f6f4ee; --al-field:#ffffff;
  --al-line:#e3dfd4; --al-line2:#cec9bb;
  --al-hi:#1a1917; --al-md:#403d37; --al-lo:#5b574f; --al-mute:#7b776e; --al-faint:#a8a49b; --al-mute-text:#666663;
  --al-brand:#b0301f; --al-brand-hi:#c0392b; --al-brand-text:#b0301f; --al-brand-soft:rgba(192,57,43,.10);
  --al-accent:#9a5a15; --al-accent-text:#935614;
  --al-paid:#9a6a15; --al-paid-hi:#7d5410; --al-paid-soft:rgba(154,106,21,.10);
  --al-risk-hi:#bd3322; --al-risk-med:#8f6415; --al-risk-low:#4d7838;
  --al-steel:#4a6a8c; --al-violet:#5f4fa0; --al-steel-soft:rgba(74,106,140,.10);
  color:var(--al-hi);
}
/* notch i donja traka Safarija uzorkuju BODY kad nema sticky/fixed elementa uz
   ivicu — body ostaje taman, boju strane nosi #main (vidi alat-zakon.css) */
html[data-theme="light"]{ background:#f2f0e9; }
html[data-theme="light"] body.page-alat-pomoc{ background:#0f0f0d; }
html[data-theme="light"] body.page-alat-pomoc > main#main{ background:#f2f0e9; }
html[data-theme="light"] body.page-alat-pomoc ::selection{ background:var(--al-brand-soft); color:var(--al-hi); }
html[data-theme="light"] .axc{ background:#ecebe3; border-bottom-color:#e3dfd4; }
html[data-theme="light"] body.page-alat-pomoc .axc-stat{ color:var(--al-mute-text); }
html[data-theme="light"] body.page-alat-pomoc .axc-stat b{ color:#1a1917; }
html[data-theme="light"] body.page-alat-pomoc .axc-stat .sig{ color:#b0301f; }
html[data-theme="light"] .axc-kick{ color:var(--al-mute-text); }
html[data-theme="light"] .axc-kick b{ color:#935614; }
html[data-theme="light"] .axc h1{ color:#1a1917; }
html[data-theme="light"] .axc h1 .l-red{ color:#b0301f; }
html[data-theme="light"] .axc-sub{ color:#5b574f; }
html[data-theme="light"] .axc-mods a{ color:#403d37; border-color:#cec9bb; }
html[data-theme="light"] .axc-mods a:hover{ color:#1a1917; border-color:#7b776e; }
html[data-theme="light"] .trip{ background:#e9e7de; }
html[data-theme="light"] .reg-tools{ background:#f2f0e9; }

/* ============================================================
   EMBED MODE — unutar „Zakon u praksi" huba
   (roditelj daje header + hero + traku + futer; ovde sakrivamo svoje)
   ============================================================ */
html.trip-embed .hdr,
html.trip-embed .hdr-backdrop,
html.trip-embed .axc,
html.trip-embed .trip,
html.trip-embed .enc-ftr{ display:none !important; }
html.trip-embed body.page-alat-pomoc{ padding-bottom:0 !important; }
html.trip-embed body.page-alat-pomoc .reg{ padding-top:30px; }
/* u embedu strana ne skroluje interno; sticky filteri ostaju u toku */
html.trip-embed .reg-tools{ position:static; }

/* Klip horizontalnog preliva SAMO na html, i SAMO na desktopu (≥821px) —
   tamo heder (triptih grupa +253px) preliva do ~1430px. Na mobilnom je
   heder u burgeru pa NIŠTA ne preliva; clip na html tamo samo pravi
   fantomsku scroll traku u iOS Safari-ju (Denisov nalaz — traka gore desno
   iako se stranica ne skroluje u stranu). Zato clip iza min-width:821.
   main ostaje visible (override layout.css guard-a) da sticky ne jitter-uje. */
@media (min-width:821px){ html{ overflow-x:clip; } }
body.page-alat-pomoc main{ overflow-x:visible; }

/* Mobilni footer: enc-ftr se sakriva, cp-tabbar preuzima (isti obrazac kao /lozinka/ i /vesti/). */
@media (max-width:767px){
  body.page-alat-pomoc .enc-ftr{ display:none; }
  body.page-alat-pomoc main{ padding-bottom:calc(48px + env(safe-area-inset-bottom, 0px)); }
  /* horizontalni swipe za trake sa odabirima — vraća tanki scroll indikator + iOS momentum */
  .trip__inner,
  .reg-toc__inner{
    scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.18) transparent;
    -webkit-overflow-scrolling:touch;
  }
  .trip__inner::-webkit-scrollbar,
  .reg-toc__inner::-webkit-scrollbar{ display:block; height:3px; }
  .trip__inner::-webkit-scrollbar-thumb,
  .reg-toc__inner::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.18); border-radius:2px; }
  .trip__inner::-webkit-scrollbar-track,
  .reg-toc__inner::-webkit-scrollbar-track{ background:transparent; }
}
