/* ============================================================
   Javne nabavke · shared (.nb-*) additions for PBI #5571.
   These selectors are copied verbatim from the mock nabavke-shared.css
   and were not yet shipped by the plan-list redesign. Keep in sync
   with the mock. (nb-badge / nb-btn / nb-panel / nb-table / nb-pager /
   nb-filterbar / nb-rowact base already ship in redesign-procurement-plan.css.)
   ============================================================ */

/* Breadcrumb links */
.nb-pagehead__crumblink { color: var(--is-fg-3); text-decoration: none; }
.nb-pagehead__crumblink:hover { text-decoration: underline; }

/* Orange badge variant (procedure type KZ) — not shipped in redesign-procurement-plan.css */
.nbp .nb-badge--orange,
.nb-badge--orange { background: var(--is-brand-orange-100); color: #9a5b14; border: 1px solid #fad7a8; }

/* Icon button (panel head refresh, doc actions) */
.nb-iconbtn {
  width: 30px; height: 30px; border-radius: var(--is-radius-sm); border: 1px solid var(--is-border-2);
  background: #fff; color: var(--is-fg-2); cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px; transition: background .12s, color .12s, border-color .12s;
}
.nb-iconbtn:hover { background: var(--is-bg-surface-3); color: var(--is-fg-1); }

/* Panel title (+ count pill) */
.nb-panel__title { font: 700 14px var(--is-font-sans); color: var(--is-fg-1); display: flex; align-items: center; gap: 8px; }
.nb-panel__title i { color: var(--is-fg-3); font-size: 13px; }
.nb-panel__title .nb-count { font: 700 11px var(--is-font-sans); color: var(--is-fg-2); background: var(--is-bg-surface-3); border: 1px solid var(--is-border-1); padding: 1px 8px; border-radius: 999px; }

/* Table link cells */
.nb-zaht { font: 600 12.5px var(--is-font-mono); color: var(--is-brand-blue-700); text-decoration: none; white-space: nowrap; }
.nb-zaht:hover { text-decoration: underline; }
.nb-title-cell { font: 600 12.5px var(--is-font-sans); color: var(--is-fg-1); }
.nb-rowlink { color: var(--is-action-blue); text-decoration: none; font-weight: 600; cursor: pointer; }
.nb-rowlink:hover { text-decoration: underline; }

/* Primary row-action icon (e.g. "Pokreni zahtjev") */
.nb-rowact .is-primary { color: var(--is-brand-blue-700); }
.nb-rowact .is-primary:hover { background: var(--is-brand-blue-100); color: var(--is-brand-blue-700); border-color: #cfe4f4; }

/* Skeleton shimmer */
@keyframes nb-shimmer { 0% { background-position: -360px 0; } 100% { background-position: 360px 0; } }
.nb-skel { display: inline-block; height: 12px; border-radius: 4px; background: linear-gradient(90deg, var(--is-bg-surface-3) 25%, #eef1f5 37%, var(--is-bg-surface-3) 63%); background-size: 720px 100%; animation: nb-shimmer 1.3s ease-in-out infinite; }

/* Dual-range value filter */
.nb-range { display: inline-flex; flex-direction: column; gap: 4px; min-width: 230px; }
.nb-range__label { display: flex; align-items: center; justify-content: space-between; gap: 10px; font: 600 9.5px var(--is-font-sans); color: var(--is-fg-3); text-transform: uppercase; letter-spacing: .05em; }
.nb-range__vals { font: 600 11px var(--is-font-mono); color: var(--is-brand-blue-700); text-transform: none; letter-spacing: 0; }
.nb-range__track { position: relative; height: 22px; display: flex; align-items: center; }
.nb-range__rail { position: absolute; left: 0; right: 0; height: 4px; border-radius: 999px; background: var(--is-bg-surface-3); border: 1px solid var(--is-border-1); }
.nb-range__fill { position: absolute; height: 4px; border-radius: 999px; background: var(--is-brand-blue); }
.nb-range input[type=range] { position: absolute; left: 0; right: 0; width: 100%; margin: 0; background: transparent; pointer-events: none; -webkit-appearance: none; appearance: none; height: 22px; }
.nb-range input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 15px; height: 15px; border-radius: 999px; background: #fff; border: 2px solid var(--is-brand-blue); cursor: pointer; box-shadow: var(--is-shadow-1); }
.nb-range input[type=range]::-moz-range-thumb { pointer-events: auto; width: 15px; height: 15px; border-radius: 999px; background: #fff; border: 2px solid var(--is-brand-blue); cursor: pointer; }

/* Document list */
.nb-doclist { display: flex; flex-direction: column; }
.nb-doc { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-bottom: 1px solid var(--is-border-1); }
.nb-doc:last-child { border-bottom: 0; }
.nb-doc:hover { background: rgba(0,123,255,.03); }
.nb-doc__icon { width: 38px; height: 38px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0; }
.nb-doc__icon--pdf { background: var(--is-danger-bg); color: #b3261e; border: 1px solid #f3b8b8; }
.nb-doc__icon--word { background: var(--is-brand-blue-100); color: var(--is-brand-blue-700); border: 1px solid #cfe4f4; }
.nb-doc__icon--excel { background: var(--is-success-bg); color: #1a7a3a; border: 1px solid #b8e3c5; }
.nb-doc__icon--img { background: #efe6f5; color: #5c1a73; border: 1px solid #d9c5e5; }
.nb-doc__icon--file { background: var(--is-bg-surface-3); color: var(--is-fg-3); border: 1px solid var(--is-border-1); }
.nb-doc__body { flex: 1; min-width: 0; }
.nb-doc__name { font: 600 12.5px var(--is-font-sans); color: var(--is-fg-1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nb-doc__meta { display: flex; align-items: center; gap: 8px; margin-top: 4px; font: 500 11px var(--is-font-mono); color: var(--is-fg-3); flex-wrap: wrap; }
.nb-doc__meta .nb-doc__by { font-family: var(--is-font-sans); }
.nb-doc__sep { width: 3px; height: 3px; border-radius: 999px; background: var(--is-fg-muted); display: inline-block; }
.nb-doc__actions { display: inline-flex; gap: 4px; flex-shrink: 0; }

/* Upload drop-zone */
.nb-uploadzone { border: 2px dashed var(--is-border-3); border-radius: var(--is-radius-md); padding: 22px 18px; text-align: center; color: var(--is-fg-2); cursor: pointer; transition: background .15s, border-color .15s, color .15s; margin: 14px; }
.nb-uploadzone:hover { border-color: var(--is-brand-blue); background: var(--is-brand-blue-100); color: var(--is-brand-blue-700); }
.nb-uploadzone i { font-size: 22px; color: var(--is-fg-3); display: block; margin-bottom: 7px; }
.nb-uploadzone:hover i { color: var(--is-brand-blue); }
.nb-uploadzone__title { font: 700 13px var(--is-font-sans); margin-bottom: 2px; }
.nb-uploadzone__sub { font: 500 11.5px var(--is-font-sans); color: var(--is-fg-3); }
