.zgn-ov{
  --zgn-ink:#14181f;
  --zgn-ink2:#5a6472;
  --zgn-ink3:#8a94a3;
  --zgn-line:#e6e9ee;
  --zgn-acc:#1e9e5a;
  --zgn-acc-soft:#e6f5ec;
  --zgn-hi:#3aa76d;
  --zgn-mid:#8bb43a;
  --zgn-lo:#e0a53b;
  --zgn-vlo:#d9534f;
  font-family:inherit;
  color:var(--zgn-ink);
  max-width:640px;
  margin:0 auto;
  -webkit-tap-highlight-color:transparent;
}
.zgn-ov *{box-sizing:border-box}

.zgn-ov-hd{padding:4px 2px 12px}
.zgn-ov-eyebrow{
  font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--zgn-acc);display:inline-flex;align-items:center;gap:7px;
}
.zgn-ov-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--zgn-acc)}
.zgn-ov-note{margin:8px 0 0;font-size:13px;color:var(--zgn-ink2);line-height:1.45}

.zgn-ov-loading,.zgn-ov-empty,.zgn-ov-closed{
  padding:16px 2px;font-size:13px;color:var(--zgn-ink3);
}
.zgn-ov-closed{border-top:1px solid var(--zgn-line);margin-top:4px}

.zgn-sec{border-top:1px solid var(--zgn-line)}
.zgn-sec-hd{
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--zgn-ink3);padding:12px 2px 6px;
}

.zgn-row{border-bottom:1px solid var(--zgn-line)}
.zgn-row.zgn-open{background:#fbfcfd}
.zgn-row.zgn-rated{background:linear-gradient(90deg,var(--zgn-acc-soft),transparent 55%)}
.zgn-row.zgn-sending{opacity:.6;pointer-events:none}

.zgn-row-head{display:flex;align-items:center;gap:11px;padding:11px 4px;cursor:pointer}
.zgn-num{
  flex:none;width:30px;text-align:center;font-weight:700;font-size:16px;
  color:var(--zgn-ink2);font-variant-numeric:tabular-nums;
}
.zgn-who{flex:1;min-width:0}
.zgn-nm{display:block;font-weight:600;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zgn-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--zgn-ink3);margin-top:2px}
.zgn-meta i{font-style:normal;color:var(--zgn-line)}
.zgn-pos{font-weight:600;color:var(--zgn-ink2)}
.zgn-sub{color:var(--zgn-acc);font-weight:700}

.zgn-avg{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--zgn-ink2)}
.zgn-avg b{font-variant-numeric:tabular-nums}
.zgn-avg.zgn-hi b{color:var(--zgn-hi)}
.zgn-avg.zgn-mid b{color:var(--zgn-mid)}
.zgn-avg.zgn-lo b{color:var(--zgn-lo)}
.zgn-avg.zgn-vlo b{color:var(--zgn-vlo)}
.zgn-avg.zgn-na{color:var(--zgn-ink3);font-weight:500}

.zgn-cta{
  flex:none;border:0;cursor:pointer;font:inherit;
  display:inline-flex;align-items:center;gap:4px;
  font-size:13px;font-weight:600;color:var(--zgn-acc);
  background:var(--zgn-acc-soft);padding:8px 13px;border-radius:999px;
}
.zgn-cta-off{background:transparent;color:var(--zgn-ink3);cursor:default}
.zgn-row.zgn-open .zgn-cta{background:var(--zgn-acc);color:#fff}
.zgn-chev{transition:transform .2s}
.zgn-row.zgn-open .zgn-chev{transform:rotate(90deg)}

.zgn-your{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.zgn-your-val{
  display:inline-flex;align-items:center;gap:5px;color:#fff;background:var(--zgn-acc);
  padding:6px 11px;border-radius:999px;font-size:13px;font-weight:700;
}
.zgn-your-val.zgn-lo{background:var(--zgn-lo)}
.zgn-your-val.zgn-vlo{background:var(--zgn-vlo)}
.zgn-your-val b{font-size:15px;font-variant-numeric:tabular-nums}
.zgn-change{font-size:11px;color:var(--zgn-ink3);font-weight:600;text-decoration:underline;cursor:pointer}

.zgn-picker{max-height:0;overflow:hidden;transition:max-height .26s ease}
.zgn-row.zgn-open .zgn-picker{max-height:240px}
.zgn-picker-lbl{font-size:12px;font-weight:600;color:var(--zgn-ink2);padding:2px 4px 10px}
.zgn-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:0 4px 16px}
.zgn-n{
  aspect-ratio:1/1;border:1.5px solid var(--zgn-line);border-radius:12px;background:#fff;
  color:var(--zgn-ink);font:inherit;font-weight:700;font-size:18px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-variant-numeric:tabular-nums;transition:transform .1s,background .12s,border-color .12s,color .12s;
}
.zgn-n:active{transform:scale(.9)}
.zgn-n.zgn-n-low{color:var(--zgn-ink3)}
.zgn-n.zgn-pick{background:var(--zgn-acc);border-color:var(--zgn-acc);color:#fff}

.zgn-toast{
  position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(18px);
  background:var(--zgn-ink);color:#fff;font-size:13px;font-weight:600;
  padding:11px 17px;border-radius:999px;opacity:0;pointer-events:none;z-index:99999;
  transition:opacity .22s,transform .22s;box-shadow:0 8px 24px rgba(0,0,0,.25);
  max-width:88vw;text-align:center;
}
.zgn-toast.zgn-show{opacity:1;transform:translateX(-50%) translateY(0)}
.zgn-toast-err{background:#b03a36}

@media (min-width:560px){
  .zgn-num{width:34px;font-size:17px}
  .zgn-nm{font-size:16px}
}

/* ---- okidač (stalno vidljiv, ispod Sastava) ---- */
.zgn-ov{display:block}
.zgn-ov-trigger{
  display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;font:inherit;
  width:100%;box-sizing:border-box;
  border:0;background:var(--zgn-acc);color:#fff;
  font-weight:700;font-size:15px;padding:15px 18px;border-radius:14px;margin:14px 0;
  box-shadow:0 4px 14px rgba(30,158,90,.28);transition:transform .1s,box-shadow .15s;
}
.zgn-ov-trigger-star{font-size:16px;line-height:1}
.zgn-ov-trigger-chev{font-weight:700;opacity:.9}
.zgn-ov-trigger:hover{box-shadow:0 6px 18px rgba(30,158,90,.36)}
.zgn-ov-trigger:active{transform:scale(.99)}

/* ---- modal ---- */
html.zgn-ov-lock{overflow:hidden}
.zgn-ov-overlay{
  position:fixed;inset:0;z-index:100000;display:flex;align-items:flex-end;justify-content:center;
  background:rgba(20,24,31,.55);opacity:0;pointer-events:none;transition:opacity .22s;
}
.zgn-ov-overlay.zgn-show{opacity:1;pointer-events:auto}
.zgn-ov-modal{
  width:100%;max-width:560px;max-height:88vh;background:#fff;color:var(--zgn-ink);
  border-radius:20px 20px 0 0;display:flex;flex-direction:column;
  transform:translateY(24px);transition:transform .26s ease;font-family:inherit;
  box-shadow:0 -12px 40px rgba(20,24,31,.22);
}
.zgn-ov-overlay.zgn-show .zgn-ov-modal{transform:translateY(0)}

.zgn-ov-mhd{display:flex;align-items:flex-start;gap:12px;padding:18px 18px 12px;border-bottom:1px solid var(--zgn-line)}
.zgn-ov-mhd>div{flex:1}
.zgn-ov-x{
  flex:none;border:0;background:#f2f4f7;color:var(--zgn-ink2);cursor:pointer;
  width:32px;height:32px;border-radius:50%;font-size:20px;line-height:1;
}
.zgn-ov-modal .zgn-ov-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 18px}
.zgn-ov-foot{
  display:flex;gap:10px;padding:12px 18px;border-top:1px solid var(--zgn-line);
  background:#fff;border-radius:0 0 20px 20px;
}
.zgn-ov-dismiss{
  flex:1;border:1.5px solid var(--zgn-line);background:#fff;color:var(--zgn-ink3);
  font:inherit;font-weight:600;font-size:14px;padding:12px;border-radius:12px;cursor:pointer;
}
.zgn-ov-done{
  flex:1;border:0;background:var(--zgn-acc);color:#fff;
  font:inherit;font-weight:700;font-size:14px;padding:12px;border-radius:12px;cursor:pointer;
}

/* na širem ekranu — centrirana kartica umjesto bottom-sheeta */
@media (min-width:640px){
  .zgn-ov-overlay{align-items:center}
  .zgn-ov-modal{border-radius:20px;transform:translateY(12px) scale(.98)}
  .zgn-ov-overlay.zgn-show .zgn-ov-modal{transform:translateY(0) scale(1)}
  .zgn-ov-foot{border-radius:0 0 20px 20px}
}

/* ---- inline badge ubačen u AnWP Sastav (izvan .zgn-ov scopea → fiksne boje) ---- */
.zgn-inline-badge{
  display:inline-block;margin-left:8px;padding:1px 7px;border-radius:6px;
  font-size:12px;font-weight:700;line-height:1.5;color:#fff;background:#1e9e5a;
  vertical-align:middle;font-variant-numeric:tabular-nums;
}
.zgn-inline-badge.zgn-hi{background:#3aa76d}
.zgn-inline-badge.zgn-mid{background:#8bb43a}
.zgn-inline-badge.zgn-lo{background:#e0a53b}
.zgn-inline-badge.zgn-vlo{background:#d9534f}

/* prazan broj dresa (niže lige) — sakrij gutter */
.zgn-num:empty{display:none}
