@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

/* Dok auth.js ne ukloni klasu posle /api/auth/me, ne prikazuj admin-only (izbegava treptaj admin → operater). */
html.auth-shell-pending [data-admin-only='1'] {
  display: none !important;
}

:root {
  --pv-font: "Manrope", "Inter", "Segoe UI", Roboto, Arial, sans-serif;
  --pv-bg-page: #f2f5fb;
  --pv-text: #18202a;
  --pv-muted: #6f7a87;
  --pv-primary: #2084f3;
  --pv-primary-strong: #1268c8;
  --pv-border: #d0d9e4;
  --pv-border-soft: #e2e8f0;
  --pv-field-focus: #9cc7ff;
  --pv-field-ring: rgba(32, 132, 243, 0.14);
  --pv-radius-field: 12px;
  --pv-field-min-h: 40px;
  --app-field-pad-y: 9px;
  --app-field-pad-x: 10px;
  /* Horizontalni „gutter“ stranice (body + paneli) — na mobilnom ga media query dodatno smanjuje */
  --app-page-gutter-x: 12px;
  --app-page-gutter-y: 12px;
  /* Rezerva visine za fiksni futer (da poslednji sadržaj ne ode ispod trake) */
  --app-site-footer-fixed-reserve: 96px;
  /* Bočni panel (slide-over) — iznad fiksnog shell futera (--app-site-footer ~800), ispod .modal-backdrop (~1000) */
  --gm-side-panel-z: 910;
  --gm-side-panel-backdrop-z: 900;
  --gm-side-panel-width: min(100vw, 28rem);
  --gm-side-panel-shadow: -8px 0 24px rgba(15, 23, 42, 0.12);
  --gm-side-panel-shadow-start: 8px 0 24px rgba(15, 23, 42, 0.12);
  --gm-side-panel-backdrop-bg: rgba(15, 23, 42, 0.35);
  --gm-side-panel-transition-dur: 0.22s;
  --gm-side-panel-inner-pad: 18px 22px 22px;
  --gm-side-panel-title-size: 1.25rem;
  --pv-navy-1: #152f4d;
  --pv-navy-2: #1e4468;

  /* Vertikalni ritam — band ↔ red polja / dugmad (usklađeno sa podešavanjima) */
  --app-gap-band-to-fields: 14px;
  --app-gap-fields-to-band: 18px;
  --app-gap-row-to-row: 14px;
  --app-gap-band-first-offset: 8px;

  /* Ravna dugmad — prigušenije ERP tonove (manje „neon“, čitljiv kontrast) */
  --app-btn-on-solid: #f8fafc;
  --app-btn-solid-bg: #1a6fd4;
  --app-btn-solid-bg-hover: #1559ad;
  --app-btn-solid-border: #14529e;

  --app-btn-teal-bg: #2f6d5f;
  --app-btn-teal-bg-hover: #285f53;
  --app-btn-teal-border: #214f45;

  --app-btn-danger-bg: #a84848;
  --app-btn-danger-bg-hover: #943f3f;
  --app-btn-danger-border: #7f3636;

  --app-btn-violet-bg: #56518a;
  --app-btn-violet-bg-hover: #4b4679;
  --app-btn-violet-border: #3f3b66;

  --app-btn-amber-bg: #8f6d3c;
  --app-btn-amber-bg-hover: #7f6236;
  --app-btn-amber-border: #6b5330;

  --app-btn-surface-bg: #e8edf2;
  --app-btn-surface-bg-hover: #dfe5ec;
  --app-btn-surface-border: #b8c5d4;
  --app-btn-surface-text: #374f65;

  /* Na tamnoj traci (phase-card-bar): čitljiva življa plava */
  --app-btn-on-dark-bg: #6b8fb3;
  --app-btn-on-dark-bg-hover: #5f82a6;
  --app-btn-on-dark-border: rgba(255, 255, 255, 0.28);

  /* Sekundarni / status — meki ali življi tonovi */
  --app-soft-blue-bg: #dce8f4;
  --app-soft-blue-border: #a8bdd6;
  --app-soft-blue-text: #253d56;

  --app-soft-amber-bg: #f5ebe2;
  --app-soft-amber-border: #d4c2ae;
  --app-soft-amber-text: #5c4836;

  --app-soft-green-bg: #e2f0e8;
  --app-soft-green-border: #a8cbb8;
  --app-soft-green-text: #2d4a3e;

  --app-soft-red-bg: #f6e8e8;
  --app-soft-red-border: #d4b4b4;
  --app-soft-red-text: #6b3535;
  --bg: var(--pv-bg-page);
  --card: #ffffff;
  --text: var(--pv-text);
  --muted: var(--pv-muted);
  --border: var(--pv-border-soft);
  --primary: var(--pv-text);
  --primary-2: #1f2937;
  --success: #0f766e;
  --success-2: #115e59;
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 24px;
  /* Izveštaji / tabele / jedinstvene kontrole — ceo UI */
  --app-control-min-h: var(--pv-field-min-h);
  /* Globalni sistem dugmadi — jedna geometrija, tipografija i zaobljenje u celoj aplikaciji */
  --app-ui-btn-radius: 8px;
  --app-ui-btn-min-h: 36px;
  --app-ui-btn-pad-y: 6px;
  --app-ui-btn-pad-x: 12px;
  --app-ui-btn-fs: 13px;
  --app-ui-btn-fw: 550;
  --app-ui-btn-gap: 6px;
  /* Bočna navigacija — uvek isti ritam (ne zavisiti od --app-control-min-h / polja) */
  --app-sidebar-pad: 14px;
  --app-sidebar-nav-gap: 8px;
  --app-sidebar-nav-min-h: 36px;
  --app-sidebar-nav-pad-y: 7px;
  --app-sidebar-nav-pad-x: 12px;
  --app-sidebar-nav-fs: 13px;
  --app-sidebar-nav-fw: 600;
  --app-sidebar-nav-radius: 10px;
  --app-sidebar-brand-mb: 12px;
  --app-btn-min-h: var(--app-ui-btn-min-h);
  --app-btn-card-row-min-h: var(--app-ui-btn-min-h);
  --app-btn-fs: var(--app-ui-btn-fs);
  --app-btn-pad-y: var(--app-ui-btn-pad-y);
  --app-btn-pad-x: var(--app-ui-btn-pad-x);
  --app-table-th-fs: 13px;
  --app-table-td-fs: 14px;
  --app-table-th-py: 12px;
  --app-table-th-px: 11px;
  --app-table-td-py: 11px;
  --app-table-td-px: 10px;
  --app-table-head-bg: #f7f9fc;
  --app-table-head-color: #2a4059;
  --app-table-row-border: #e8eef6;
  --app-table-row-hover: #f0f4f9;
  --app-table-row-stripe: #f8fafc;
  --app-metric-label-fs: 12px;
  --app-metric-value-fs: 24px;
  --app-section-title-fs: 1.05rem;
  /* Tabele / list view — ista visina dugmadi kao u ostatku UI-ja */
  --app-table-btn-min-h: var(--app-ui-btn-min-h);
  --app-table-btn-pad-y: var(--app-ui-btn-pad-y);
  --app-table-btn-pad-x: var(--app-ui-btn-pad-x);
  --app-table-btn-fs: var(--app-ui-btn-fs);
  --app-table-cell-py-actions: 6px;
  --rps-stavka-acc-accent-kalk: rgba(107, 79, 154, 0.75);
  --rps-stavka-acc-accent-nalog: rgba(37, 99, 235, 0.35);
}

/* RunPrintShop — semantičke klase (Fascikle mapiranje). Detalji i checklist: docs/UI-FASCIKLE-GM-SEMANTIKA-I-SIDE-PANEL.md */
.gm-workspace {
  /* marker + pod html[data-ui-theme="fasc"] struktura kolone */
}

.gm-app-content {
  min-height: 0;
}

.gm-toolbar {
  /* marker uz .podesavanja-lista-toolbar; stilovi pod html[data-ui-theme="fasc"] */
}

.gm-table-card {
  /* marker uz glavnu listu / tabelu; stilovi pod html[data-ui-theme="fasc"] */
}

/* Osnovna deklaracija šeme boja — samo svetla (RunPrintShop Impose paleta) */
html {
  color-scheme: light;
  scrollbar-gutter: stable;
}

/* === Globalna tema „fasc“ — workspace; paleta = RunPrintShop Impose (samo svetlo) ===
   Paljenje: auth.js / app-shell.js postavljaju `data-ui-theme="fasc"` na <html> kada postoji
   `.enterprise-shell` i nije javna tamna naslovnica niti login. */
html[data-ui-theme='fasc'] {
  color-scheme: light;
  --pv-bg-page: #f2f5fb;
  --pv-text: #18202a;
  --pv-muted: #6f7a87;
  --pv-border: #d0d9e4;
  --pv-border-soft: #e2e8f0;
  --pv-primary: #2084f3;
  --pv-primary-strong: #1268c8;
  --pv-field-focus: #9cc7ff;
  --pv-field-ring: rgba(32, 132, 243, 0.14);
  --pv-radius-field: 12px;
  --card: #ffffff;
  --text: var(--pv-text);
  --muted: var(--pv-muted);
  --border: var(--pv-border-soft);
  --app-btn-solid-bg: #1a6fd4;
  --app-btn-solid-bg-hover: #1559ad;
  --app-btn-solid-border: #14529e;
  --app-soft-blue-bg: #dce8f4;
  --app-soft-blue-border: #a8bdd6;
  --app-soft-blue-text: #253d56;
  --app-table-head-bg: #f7f9fc;
  --app-table-head-color: #2a4059;
  --app-table-row-border: #e8eef6;
  --app-table-row-hover: #f0f4f9;
  --app-table-row-stripe: #f8fafc;
  --app-btn-surface-bg: #e8edf2;
  --app-btn-surface-bg-hover: #dfe5ec;
  --app-btn-surface-border: #b8c5d4;
  --app-btn-surface-text: #374f65;
  --pv-navy-1: #152f4d;
  --pv-navy-2: #1e4468;
  --app-btn-on-dark-bg: #6b8fb3;
  --app-btn-on-dark-bg-hover: #5f82a6;
  --app-btn-on-dark-border: rgba(255, 255, 255, 0.28);
  --rps-stavka-acc-accent-kalk: rgba(107, 79, 154, 0.75);
  --rps-stavka-acc-accent-nalog: rgba(32, 132, 243, 0.35);
}


html[data-ui-theme='fasc'] body:not(.login-page) {
  background: var(--pv-bg-page) !important;
  color: var(--pv-text);
  letter-spacing: -0.01em;
  margin: 0 !important;
}

/* Fasc: polja — pun set na kraju fajla (!important); ovde samo disabled prigušenje */
html[data-ui-theme='fasc'] body:not(.login-page) input:disabled,
html[data-ui-theme='fasc'] body:not(.login-page) select:disabled,
html[data-ui-theme='fasc'] body:not(.login-page) textarea:disabled {
  opacity: 0.72;
}

html[data-ui-theme='fasc'] body[data-public-landing-page='1'].app-session-loaded:not(.app-public-landing) {
  background: var(--pv-bg-page) !important;
  color: var(--pv-text);
}

/* Fascikle: app-frame (sidebar | kolona) — bez razmaka između kolona */
html[data-ui-theme='fasc'] .enterprise-shell {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0;
  min-height: 100vh;
  min-height: 100dvh;
}

@media (max-width: 900px) {
  html[data-ui-theme='fasc'] .enterprise-shell {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    min-height: calc(100dvh - 10px);
  }
}

html[data-ui-theme='fasc'] .sidebar {
  width: 260px;
  flex-shrink: 0;
  align-self: stretch;
  margin: 0;
  background: var(--card);
  border-radius: 0;
  border: none;
  border-right: 1px solid var(--pv-border);
  box-shadow: none;
  top: 0;
  min-height: 100dvh;
  padding: 1.1rem 0.75rem;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  html[data-ui-theme='fasc'] .sidebar {
    width: min(292px, 88vw);
    min-height: 0;
    border-radius: 0 16px 16px 0;
    border-right: none;
  }
}

html[data-ui-theme='fasc'] .sidebar .brand {
  margin-bottom: 0.75rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--pv-border);
}

html[data-ui-theme='fasc'] .sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

html[data-ui-theme='fasc'] .sidebar-nav .nav-link {
  color: var(--pv-text);
  background: transparent;
  border-color: transparent;
}

html[data-ui-theme='fasc'] .sidebar-nav .nav-link:hover {
  background: rgba(0, 0, 0, 0.04);
  border-color: var(--pv-border-soft);
}

html[data-ui-theme='fasc'] .sidebar-nav .nav-link.active {
  background: rgba(79, 70, 229, 0.12);
  border-color: rgba(79, 70, 229, 0.35);
  color: var(--pv-primary-strong);
  box-shadow: none;
}

html[data-ui-theme='fasc'] .workspace {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: var(--pv-bg-page);
  padding: 0 1.25rem 1rem;
  box-sizing: border-box;
}

/* Fasc desktop (≥901px): sidebar puna visina — skrol samo u radnoj zoni */
@media (min-width: 901px) {
  html[data-ui-theme='fasc'] body:not(.login-page):not(.app-public-landing) {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
  }

  html[data-ui-theme='fasc'] .enterprise-shell {
    height: 100dvh;
    max-height: 100dvh;
    min-height: 0;
    overflow: hidden;
  }

  html[data-ui-theme='fasc'] .sidebar {
    position: relative;
    top: auto;
    height: auto;
    min-height: 0;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  /* Skrol ispod topbara — header ne učestvuje u skrolu (nema „povlačenja“ na vrhu) */
  html[data-ui-theme='fasc'] .workspace,
  html[data-ui-theme='fasc'] .enterprise-shell > main.workspace {
    overflow: hidden;
    min-height: 0;
    max-height: 100dvh;
  }

  html[data-ui-theme='fasc'] .workspace > .detail-page-main {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  html[data-ui-theme='fasc'] .workspace > .detail-page-main > :not(.app-header) {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  html[data-ui-theme='fasc'] .workspace > .app-header ~ * {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  html[data-ui-theme='fasc'] body:has(.enterprise-shell > footer.app-site-footer):not(.app-public-landing) {
    padding-bottom: 0;
  }

  html[data-ui-theme='fasc'] body:has(.enterprise-shell > footer.app-site-footer):not(.app-public-landing) .workspace > .app-header ~ *,
  html[data-ui-theme='fasc'] body:has(.enterprise-shell > footer.app-site-footer):not(.app-public-landing) .workspace > .detail-page-main > :not(.app-header) {
    padding-bottom: calc(1rem + var(--app-site-footer-fixed-reserve) + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 900px) {
  html[data-ui-theme='fasc'] .workspace {
    padding: 0 max(5px, env(safe-area-inset-right)) 6px max(5px, env(safe-area-inset-left));
  }
}

html[data-ui-theme='fasc'] .workspace > .podesavanja-cards-stack,
html[data-ui-theme='fasc'] .workspace > .gm-app-content,
html[data-ui-theme='fasc'] .workspace > .novi-nalog-cards-stack,
html[data-ui-theme='fasc'] .workspace > #nalogOnePageLayout,
html[data-ui-theme='fasc'] .workspace > #podesavanjaMainLayout,
html[data-ui-theme='fasc'] .workspace > .nalog-one-page-layout {
  flex: 1 1 auto;
  min-height: 0;
}

html[data-ui-theme='fasc'] .brand,
html[data-ui-theme='fasc'] .app-header .topbar .brand {
  color: var(--pv-text);
}

/* Topbar stranice = fasc (ravna traka, ne kartica) — i detalj (nalog/kalk/ponuda) preko .detail-page-main */
html[data-ui-theme='fasc'] .workspace > .app-header,
html[data-ui-theme='fasc'] .workspace .detail-page-main > .app-header {
  position: relative;
  top: auto;
  z-index: 20;
  flex-shrink: 0;
  margin: 0 -1.25rem 1rem;
  padding: 1rem 1.25rem 0.75rem;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid var(--pv-border);
  background: var(--pv-bg-page);
  backdrop-filter: none;
  box-shadow: none;
}

@media (min-width: 901px) {
  html[data-ui-theme='fasc'] .workspace .detail-page-main > .app-header--nalog-detail-tabs-host {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  html[data-ui-theme='fasc'] body.nalog-detail-page .app-header--nalog-detail-tabs-host,
  html[data-ui-theme='fasc'] body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host,
  html[data-ui-theme='fasc'] body.ponuda-detail-page .app-header--nalog-detail-tabs-host,
  html[data-ui-theme='fasc'] .kalk-detail-app-header--tabs-host,
  html[data-ui-theme='fasc'] .pon-detail-app-header--tabs-host {
    box-shadow: none;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid var(--pv-border);
    background: var(--pv-bg-page);
    backdrop-filter: none;
  }

  html[data-ui-theme='fasc'] body.nalog--za-kalkulaciju .app-header--nalog-detail-tabs-host {
    border-bottom: 1px solid var(--pv-border);
    background: var(--pv-bg-page);
  }

  html[data-ui-theme='fasc'] body.nalog-detail-page .app-header--nalog-detail-tabs-host + .nalog-one-page-layout,
  html[data-ui-theme='fasc'] body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host + .nalog-one-page-layout,
  html[data-ui-theme='fasc'] body.ponuda-detail-page .app-header--nalog-detail-tabs-host + .nalog-one-page-layout {
    margin-top: 0.75rem;
  }
}

@media (max-width: 900px) {
  html[data-ui-theme='fasc'] .workspace > .app-header,
  html[data-ui-theme='fasc'] .workspace .detail-page-main > .app-header {
    margin: 0 0 5px;
    padding: 5px 5px 6px;
  }
}

html[data-ui-theme='fasc'] .workspace > .app-header .topbar,
html[data-ui-theme='fasc'] .workspace .detail-page-main > .app-header .topbar {
  align-items: center;
  gap: 0.75rem;
}

html[data-ui-theme='fasc'] .workspace > .app-header .topbar > div:first-child .brand,
html[data-ui-theme='fasc'] .workspace .detail-page-main > .app-header .topbar > div:first-child .brand {
  display: none;
}

html[data-ui-theme='fasc'] .workspace > .app-header .topbar h1,
html[data-ui-theme='fasc'] .workspace .detail-page-main > .app-header .topbar h1 {
  font-size: 1.25rem;
  font-weight: 650;
  letter-spacing: -0.03em;
  margin: 0 0 0.15rem;
}

html[data-ui-theme='fasc'] .workspace > .app-header .topbar > div:first-child > p.muted,
html[data-ui-theme='fasc'] .workspace .detail-page-main > .app-header .topbar > div:first-child > p.muted {
  margin: 0.2rem 0 0;
  font-size: 0.875rem;
}

html[data-ui-theme='fasc'] .nalog-one-page-tablist--in-app-header {
  margin-top: 0.5rem;
  padding-top: 0.4rem;
  border-top: 1px solid var(--pv-border-soft);
}

html[data-ui-theme='fasc'] .app-header .topbar .actions.app-header-actions--ghost .btn:focus-visible {
  outline-color: rgba(32, 132, 243, 0.55);
}


html[data-ui-theme='fasc'] .phase-card.phase-row-shell:not(.login-auth-card),
html[data-ui-theme='fasc'] .phase-row-shell.app-page-shell:not(.login-auth-card) {
  border-color: var(--pv-border);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  overflow: hidden;
}


body {
  background: radial-gradient(circle at top left, #f9fbff 0%, #f2f5fb 35%, #eef2f8 100%) !important;
  color: var(--pv-text);
  font-family: var(--pv-font);
  font-size: 14px;
  line-height: 1.45;
  margin: var(--app-page-gutter-y) var(--app-page-gutter-x);
  box-sizing: border-box;
}

body.login-page {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
  -webkit-overflow-scrolling: touch;
}

.auth-back-home {
  width: min(460px, calc(100% - 24px));
  margin: 0 auto 10px;
  text-align: center;
}

.auth-back-home a {
  font-size: 13px;
  font-weight: 600;
  color: var(--pv-muted);
  text-decoration: none;
}

.auth-back-home a:hover {
  color: var(--pv-primary-strong);
  text-decoration: underline;
}

body.login-page .login-auth-card.phase-card.phase-row-shell {
  overflow: visible;
}

.auth-card {
  width: min(420px, calc(100% - 24px));
}

.auth-card .btn {
  width: 100%;
  justify-content: center;
}

.note {
  margin-top: 10px;
  font-size: 13px;
  color: var(--muted);
}

.enterprise-shell {
  display: grid;
  grid-template-columns: 228px 1fr;
  min-height: calc(100vh - 28px);
  gap: 10px;
}

.enterprise-shell > .workspace.rps-soft-nav-loading,
.enterprise-shell > main.workspace.rps-soft-nav-loading,
body.rps-nav-pending .enterprise-shell > .workspace,
body.rps-nav-pending .enterprise-shell > main.workspace {
  opacity: 0.88;
  pointer-events: none;
  transition: opacity 0.15s ease;
}

.rps-nav-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 10050;
  pointer-events: none;
  opacity: 0;
  overflow: hidden;
  background: transparent;
}

.rps-nav-progress::before {
  content: '';
  display: block;
  height: 100%;
  width: 38%;
  background: var(--pv-primary, #6366f1);
  transform: translateX(-110%);
}

.rps-nav-progress--active {
  opacity: 1;
}

.rps-nav-progress--active::before {
  animation: rps-nav-progress-slide 0.95s ease-in-out infinite;
}

@keyframes rps-nav-progress-slide {
  0% {
    transform: translateX(-110%);
  }
  100% {
    transform: translateX(320%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rps-nav-progress--active::before {
    animation: none;
    transform: translateX(0);
    width: 100%;
  }
}

.sidebar-nav .nav-link.rps-nav-link-pending {
  background: var(--app-soft-blue-bg, rgba(99, 102, 241, 0.12));
  color: var(--pv-primary-strong, var(--pv-primary, #6366f1));
}

/* --- Javna naslovna (index): landing + provera sesije --- */
body[data-public-landing-page="1"] {
  margin: 0;
}

body[data-public-landing-page="1"]:not(.app-session-loaded) .enterprise-shell,
body[data-public-landing-page="1"]:not(.app-session-loaded) .home-landing {
  display: none !important;
}

body[data-public-landing-page="1"]:not(.app-session-loaded) .home-route-boot {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  min-height: 100dvh;
  background: #070b14;
  color: rgba(226, 232, 240, 0.88);
  font-size: 15px;
  font-weight: 600;
}

.home-route-boot {
  display: none;
}

.home-route-boot-inner {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.home-route-boot-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(135deg, #38bdf8, #3b82f6);
  animation: home-route-boot-pulse 1s ease-in-out infinite;
}

@keyframes home-route-boot-pulse {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(0.92);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
}

body[data-public-landing-page="1"].app-session-loaded .home-route-boot {
  display: none !important;
}

body[data-public-landing-page="1"].app-session-loaded.app-public-landing {
  background: #070b14 !important;
}

body[data-public-landing-page="1"].app-session-loaded:not(.app-public-landing) {
  margin: var(--app-page-gutter-y) var(--app-page-gutter-x);
  background: radial-gradient(circle at top left, #f9fbff 0%, #f2f5fb 35%, #eef2f8 100%) !important;
  color: var(--pv-text);
}

.home-landing {
  display: none;
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  background: #070b14;
  color: #e8eef7;
  font-family: var(--pv-font);
}

body[data-public-landing-page="1"].app-session-loaded.app-public-landing .home-landing {
  display: block;
}

body[data-public-landing-page="1"].app-session-loaded.app-public-landing .enterprise-shell {
  display: none !important;
}

body[data-public-landing-page="1"].app-session-loaded:not(.app-public-landing) .home-landing {
  display: none !important;
}

body[data-public-landing-page="1"].app-session-loaded:not(.app-public-landing) .enterprise-shell {
  display: grid !important;
}

/* Index posle prijave: fasc sidebar je 260px i bez razmaka — osnovni grid (228px + gap) razvuče raspored. */
@media (min-width: 901px) {
  html[data-ui-theme='fasc'] body[data-public-landing-page='1'].app-session-loaded:not(.app-public-landing) .enterprise-shell {
    grid-template-columns: 260px 1fr !important;
    gap: 0 !important;
    align-items: stretch;
    min-height: 100dvh;
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
  }
}

.home-landing-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 120% 85% at 12% -25%, rgba(32, 132, 243, 0.42), transparent 58%),
    radial-gradient(ellipse 100% 70% at 92% 5%, rgba(56, 189, 248, 0.2), transparent 52%),
    radial-gradient(ellipse 80% 55% at 50% 105%, rgba(15, 36, 61, 0.95), #070b14 65%);
}

.home-landing-top,
.home-landing-hero,
.home-landing-features,
.home-landing-footer {
  position: relative;
  z-index: 1;
}

.home-landing-top {
  position: sticky;
  top: 0;
  z-index: 10;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  background: rgba(7, 11, 20, 0.75);
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.home-landing-top-inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 16px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.home-landing-logo {
  font-weight: 800;
  font-size: 1.25rem;
  letter-spacing: -0.03em;
  color: #f8fafc;
  text-decoration: none;
}

.home-landing-logo:hover {
  color: #bae6fd;
}

.home-landing-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.home-landing-nav-btn {
  font-weight: 600;
  font-size: 14px;
  border-radius: 10px;
  padding: 10px 16px;
  min-height: 42px;
}

.home-landing-nav-btn--primary {
  box-shadow: 0 4px 24px rgba(32, 132, 243, 0.35);
}

.home-landing-hero {
  padding: clamp(32px, 7vw, 72px) 22px clamp(48px, 8vw, 88px);
}

.home-landing-hero-inner {
  max-width: 900px;
  margin: 0 auto;
}

.home-landing-kicker {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #7dd3fc;
}

.home-landing-title {
  margin: 0 0 20px;
  font-weight: 800;
  font-size: clamp(2.1rem, 5.2vw, 3.35rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  color: #f8fafc;
}

.home-landing-title-accent {
  display: inline-block;
  margin-top: 0.12em;
  background: linear-gradient(105deg, #7dd3fc 0%, #38bdf8 35%, #60a5fa 70%, #a5b4fc 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.home-landing-lead {
  margin: 0 0 28px;
  max-width: 52rem;
  font-size: clamp(15px, 1.65vw, 18px);
  line-height: 1.65;
  color: rgba(203, 213, 225, 0.92);
}

.home-landing-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 14px;
  margin-bottom: 36px;
}

.home-landing-cta-primary {
  font-weight: 700;
  font-size: 15px;
  padding: 14px 22px;
  min-height: 48px;
  border-radius: 12px;
  background: linear-gradient(180deg, #38bdf8, #2084f3);
  border: 1px solid rgba(125, 211, 252, 0.45);
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 32px rgba(32, 132, 243, 0.4);
}

.home-landing-cta-primary:hover {
  filter: brightness(1.06);
  color: #fff;
}

.home-landing-cta-secondary {
  font-weight: 600;
  font-size: 15px;
  padding: 14px 20px;
  min-height: 48px;
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.55);
  border: 1px solid rgba(148, 163, 184, 0.28);
  color: #e2e8f0;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.home-landing-cta-secondary:hover {
  background: rgba(30, 41, 59, 0.75);
  color: #f1f5f9;
}

.home-landing-trust {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
  max-width: 40rem;
}

.home-landing-trust li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 15px;
  line-height: 1.45;
  color: rgba(226, 232, 240, 0.9);
}

.home-landing-trust-mark {
  flex-shrink: 0;
  margin-top: 2px;
  color: #4ade80;
  font-weight: 800;
}

.home-landing-features {
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  color: var(--pv-text);
  padding: clamp(40px, 6vw, 72px) 22px clamp(48px, 7vw, 80px);
  border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.home-landing-features-inner {
  max-width: 1120px;
  margin: 0 auto;
}

.home-landing-section-title {
  margin: 0 0 12px;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--pv-navy-1);
}

.home-landing-section-lead {
  margin: 0 0 32px;
  max-width: 46rem;
  font-size: 16px;
  line-height: 1.6;
  color: var(--pv-muted);
}

.home-landing-feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 18px;
  margin-bottom: 40px;
}

.home-landing-feature-card {
  background: #fff;
  border: 1px solid var(--pv-border-soft);
  border-radius: 16px;
  padding: 22px 20px;
  box-shadow: 0 10px 40px rgba(15, 23, 42, 0.06);
}

.home-landing-feature-title {
  margin: 0 0 10px;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--pv-navy-1);
}

.home-landing-feature-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--pv-muted);
}

.home-landing-bottom-cta {
  text-align: center;
  padding: 28px 20px 8px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(32, 132, 243, 0.08), rgba(15, 47, 77, 0.06));
  border: 1px solid rgba(32, 132, 243, 0.15);
}

.home-landing-bottom-cta-text {
  margin: 0 0 16px;
  font-size: 17px;
  font-weight: 700;
  color: var(--pv-navy-1);
}

.home-landing-bottom-cta-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.home-landing-demo-row {
  margin: 22px 0 0;
  padding-top: 20px;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
  max-width: 40rem;
}

.home-landing-demo-link {
  font-size: 15px;
  font-weight: 700;
  color: #bae6fd;
  text-decoration: none;
}

.home-landing-demo-link:hover {
  color: #f0f9ff;
  text-decoration: underline;
}

.home-landing-demo-inline {
  margin: 18px 0 0;
  font-size: 14px;
  line-height: 1.45;
}

.home-landing-demo-inline a {
  font-weight: 700;
  color: var(--pv-primary-strong);
  text-decoration: none;
}

.home-landing-demo-inline a:hover {
  text-decoration: underline;
}

.home-landing-footer {
  background: #f1f5f9 !important;
  border-top: 1px solid var(--pv-border-soft) !important;
  border-radius: 0 !important;
  margin-top: 0 !important;
}

/* Javne auth stranice — isti tamni landing kao naslovna */
body.auth-public-page {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  background: #070b14;
  color: #e8eef7;
  font-family: var(--pv-font, system-ui, -apple-system, sans-serif);
  display: flex;
  flex-direction: column;
}

body.auth-public-page.login-page {
  display: flex;
  place-items: unset;
  padding: 0;
}

body.auth-public-page .auth-back-home {
  display: none;
}

.auth-public-shell {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}

.auth-public-shell > .home-landing-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.auth-public-main {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  align-items: center;
  padding: clamp(20px, 4vw, 40px) max(20px, env(safe-area-inset-right, 0px)) clamp(88px, 10vh, 120px)
    max(20px, env(safe-area-inset-left, 0px));
}

.auth-public-main-inner {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 440px);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}

.auth-public-aside-title {
  font-size: clamp(1.65rem, 3.2vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin: 0 0 14px;
  color: #f8fafc;
}

.auth-public-aside-title-accent {
  display: block;
  margin-top: 0.2em;
  background: linear-gradient(90deg, #93c5fd, #c4b5fd);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.auth-public-aside-lead {
  font-size: clamp(15px, 1.6vw, 17px);
  line-height: 1.55;
  color: rgba(226, 232, 240, 0.88);
  max-width: 32rem;
  margin: 0 0 22px;
}

.auth-public-card-wrap {
  width: 100%;
  justify-self: end;
}

.auth-public-card-wrap--wide {
  max-width: 480px;
}

.auth-public-card {
  width: 100%;
  background: rgba(248, 250, 252, 0.98);
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 20px;
  box-shadow: 0 28px 72px rgba(0, 0, 0, 0.38);
  overflow: hidden;
  color: var(--pv-text, #1e293b);
}

.auth-public-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 12px;
  padding: 16px 22px;
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.auth-public-card-tip {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--pv-muted, #64748b);
}

.auth-public-card-preview {
  font-size: 13px;
  color: var(--pv-muted, #64748b);
}

.auth-public-card-body {
  padding: 22px 22px 24px;
}

.auth-public-card-intro {
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--pv-muted, #64748b);
}

.auth-public-card .gra-field-stack label {
  color: var(--pv-text, #1e293b);
}

.auth-public-card .field-hint,
.auth-public-card .muted {
  color: var(--pv-muted, #64748b);
}

.auth-public-card .note {
  margin-top: 10px;
}

.auth-public-card .btn.primary,
.auth-public-card .btn.light {
  width: 100%;
  justify-content: center;
}

.auth-public-form--compact .gra-field-stack {
  margin-bottom: 0;
}

.auth-public-form--compact .gra-field-stack + .gra-field-stack {
  margin-top: 12px;
}

.auth-public-form--compact .field-hint {
  margin-top: 4px;
  font-size: 12px;
}

.auth-public-card-links {
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--pv-muted, #64748b);
}

.auth-public-card-links a {
  color: var(--pv-primary-strong, #1d4ed8);
  font-weight: 600;
  text-decoration: none;
}

.auth-public-card-links a:hover {
  text-decoration: underline;
}

.auth-public-card-footnote {
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--pv-muted, #94a3b8);
}

.auth-public-nav-btn--current {
  opacity: 0.72;
  pointer-events: none;
}

body.auth-public-page footer.home-landing-footer {
  position: relative;
  z-index: 1;
  margin-top: auto;
  flex-shrink: 0;
}

body.auth-public-page > footer.app-site-footer--solo:not(.home-landing-footer) {
  display: none;
}

body.auth-public-page:has(footer.home-landing-footer) {
  padding-bottom: 0;
}

@media (max-width: 900px) {
  .auth-public-main-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .auth-public-aside {
    text-align: center;
    order: 2;
  }

  .auth-public-aside-lead {
    margin-left: auto;
    margin-right: auto;
  }

  .auth-public-card-wrap {
    order: 1;
    justify-self: center;
    max-width: 440px;
  }

  .auth-public-aside .home-landing-trust {
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }
}

@media (max-width: 520px) {
  .auth-public-main {
    padding-top: 16px;
    padding-bottom: 96px;
  }

  .auth-public-card-body {
    padding: 18px 16px 20px;
  }

  .auth-public-card-head {
    padding: 14px 16px;
  }
}

.home-dashboard-title {
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.home-dashboard-sub {
  max-width: 36rem;
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 520px) {
  .home-landing-top-inner {
    padding: 14px 16px;
  }

  .home-landing-nav {
    width: 100%;
    justify-content: stretch;
  }

  .home-landing-nav-btn {
    flex: 1;
    justify-content: center;
  }

  .home-landing-cta-primary,
  .home-landing-cta-secondary {
    width: 100%;
  }
}

.app-site-footer {
  grid-column: 1 / -1;
  margin-top: 12px;
  padding: 10px var(--app-page-gutter-x) 14px;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.55), rgba(241, 245, 249, 0.92));
  border-radius: 0 0 14px 14px;
}

.app-site-footer__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 12px;
  font-size: 13px;
  line-height: 1.45;
  text-align: center;
  color: var(--muted, #64748b);
}

.app-site-footer__brand a {
  font-weight: 700;
  color: var(--pv-text, #1e293b);
  text-decoration: none;
}

.app-site-footer__brand a:hover {
  text-decoration: underline;
}

.app-site-footer__sep {
  color: var(--pv-border-soft, #cbd5e1);
  user-select: none;
}

/* Futeri u shell-u: pri dnu viewporta, iznad običnog sadržaja; ispod bočnog panela (--gm-side-panel-z) i modala (.modal-backdrop ~1000); mobilni drawer ~10001 */
.enterprise-shell > footer.app-site-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 800;
  width: 100%;
  max-width: none;
  margin: 0;
  grid-column: auto;
  border-radius: 0;
  box-sizing: border-box;
  padding-top: 10px;
  padding-bottom: max(14px, env(safe-area-inset-bottom, 0px));
  padding-left: max(var(--app-page-gutter-x), env(safe-area-inset-left, 0px));
  padding-right: max(var(--app-page-gutter-x), env(safe-area-inset-right, 0px));
  box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.1);
}

body:has(.enterprise-shell > footer.app-site-footer):not(.app-public-landing) {
  padding-bottom: calc(var(--app-site-footer-fixed-reserve) + env(safe-area-inset-bottom, 0px));
}

body[data-public-landing-page="1"] .home-landing > footer.app-site-footer.home-landing-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 800;
  width: 100%;
  max-width: none;
  margin: 0;
  grid-column: auto;
  border-radius: 0;
  box-sizing: border-box;
  padding-bottom: max(14px, env(safe-area-inset-bottom, 0px));
  padding-left: max(var(--app-page-gutter-x), env(safe-area-inset-left, 0px));
  padding-right: max(var(--app-page-gutter-x), env(safe-area-inset-right, 0px));
  box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.12);
}

.home-landing:has(> footer.home-landing-footer) {
  padding-bottom: calc(var(--app-site-footer-fixed-reserve) + env(safe-area-inset-bottom, 0px));
}

body.login-page > footer.app-site-footer--solo {
  position: fixed;
  bottom: max(14px, env(safe-area-inset-bottom, 0px));
  left: 50%;
  transform: translateX(-50%);
  z-index: 800;
  width: min(420px, calc(100vw - 24px));
  max-width: 420px;
  margin: 0;
  padding: 12px 14px 16px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 14px;
  background: var(--card, #fff);
  box-shadow: 0 6px 20px rgba(16, 24, 40, 0.08);
}

body.login-page:has(> footer.app-site-footer--solo) {
  padding-bottom: calc(var(--app-site-footer-fixed-reserve) + 28px + env(safe-area-inset-bottom, 0px));
}

.sidebar {
  background: var(--card);
  border: 1px solid var(--pv-border-soft);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(16, 24, 40, 0.06);
  padding: var(--app-sidebar-pad);
  position: sticky;
  top: 16px;
  height: fit-content;
  box-sizing: border-box;
}

.sidebar .brand {
  margin-bottom: var(--app-sidebar-brand-mb);
}

.sidebar-nav {
  display: grid;
  gap: var(--app-sidebar-nav-gap);
  width: 100%;
}

.sidebar-nav .nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: var(--app-sidebar-nav-min-h);
  padding: var(--app-sidebar-nav-pad-y) var(--app-sidebar-nav-pad-x);
  box-sizing: border-box;
  border-radius: var(--app-sidebar-nav-radius);
  text-decoration: none;
  color: #2a3f56;
  border: 1px solid var(--pv-border-soft);
  background: #fff;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
  font-size: var(--app-sidebar-nav-fs);
  font-weight: var(--app-sidebar-nav-fw);
  line-height: 1.25;
}

.sidebar-nav .nav-link:hover {
  background: #f4f8fd;
  border-color: #c5d3e5;
}

.sidebar-nav .nav-link.active {
  background: var(--app-btn-solid-bg);
  border-color: var(--app-btn-solid-border);
  color: var(--app-btn-on-solid);
  font-weight: 700;
  box-shadow: none;
}

.nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  padding: 2px 6px;
  margin-left: auto;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  flex-shrink: 0;
}

.nav-badge.hidden {
  display: none;
}

.sidebar-nav a.nav-link:has(.nav-badge) {
  justify-content: space-between;
  gap: 8px;
}

.sidebar-nav .nav-link.active:hover {
  background: var(--app-btn-solid-bg-hover);
  border-color: var(--app-btn-solid-border);
}

.sidebar-nav .nav-link.nav-link--with-icon {
  gap: 10px;
}

.sidebar-nav .nav-link .nav-ico {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: inherit;
  opacity: 0.88;
}

.sidebar-nav .nav-link.active .nav-ico {
  opacity: 1;
}

.sidebar-nav .nav-link .nav-label {
  display: inline-flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  gap: 6px;
}

.sidebar-nav a.nav-link.nav-link--with-icon:has(.nav-badge) {
  justify-content: flex-start;
}

.sidebar-nav a.nav-link.nav-link--with-icon:has(.nav-badge) .nav-label {
  flex: 1 1 auto;
}

.sidebar-nav a.nav-link.nav-link--with-icon:has(.nav-badge) .nav-badge {
  margin-left: auto;
}

.workspace {
  min-width: 0;
}

@media (min-width: 901px) {
  .app-mobile-menu-btn {
    display: none !important;
  }

  .app-drawer-backdrop {
    display: none !important;
  }

  .topbar-main-cluster {
    display: block;
  }
}

.topbar {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 10px;
}

.topbar > div:first-child {
  flex: 0 1 auto;
  min-width: 0;
}

.topbar .actions {
  flex: 1 1 auto;
  min-width: 0;
  justify-content: flex-end;
}

.topbar-user-slot {
  position: relative;
  flex: 0 0 auto;
  align-self: center;
}

.topbar-user-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: min(220px, 36vw);
}

.topbar-user-toggle-label {
  display: none;
  font-weight: 600;
  font-size: 13px;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (min-width: 901px) {
  .topbar-user-toggle-icon {
    display: none;
  }

  .topbar-user-toggle-label {
    display: inline;
  }

  .app-header .topbar {
    align-items: center;
  }

  .app-header .topbar .actions {
    flex: 0 0 auto;
    margin-left: auto;
    justify-content: flex-start;
  }

  .app-header .topbar:not(:has(.actions)) .topbar-user-slot {
    margin-left: auto;
  }
}

.topbar-user-toggle {
  min-width: 40px;
  padding: 6px 10px;
}

.topbar-user-panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 228px;
  background: #fff;
  border: 1px solid var(--pv-border);
  border-radius: 12px;
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.14);
  z-index: 10020;
  padding: 12px 14px;
}

.topbar-user-panel-head {
  font-size: 14px;
  line-height: 1.35;
  margin-bottom: 6px;
}

.topbar-user-panel-email {
  font-size: 12px;
  margin-bottom: 10px;
  word-break: break-word;
}

.topbar-user-panel-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.topbar-user-panel-actions .btn-block {
  width: 100%;
  justify-content: center;
  text-align: center;
}

.actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

h1, h2, h3 {
  letter-spacing: -0.02em;
  margin-top: 0;
}

.muted {
  color: var(--muted);
}

h1 {
  margin-bottom: 8px;
  font-size: 1.65rem;
  font-weight: 800;
}

h2 {
  font-size: 1.28rem;
  font-weight: 700;
}

h3 {
  font-size: 1.05rem;
  font-weight: 700;
}

.hidden {
  display: none !important;
}

.grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
}

.grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.dashboard-card {
  display: block;
  text-decoration: none;
  background: #fff;
  border: 1px solid #eef2f7;
  border-radius: 12px;
  padding: 18px 16px;
  color: var(--text);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.dashboard-card:hover {
  border-color: #93c5fd;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

.dashboard-icon {
  font-size: 26px;
  margin-bottom: 8px;
}

.dashboard-card h3 {
  margin: 0 0 5px;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #0f172a;
}

.dashboard-card p {
  margin: 0;
}

.settings-tabs-shell {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.settings-tab-group {
  min-width: 0;
}

.settings-tab-group-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 8px 10px;
  box-sizing: border-box;
  text-align: left;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--pv-text);
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border: 1px solid var(--pv-border-soft);
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.settings-tab-group-toggle:hover {
  border-color: #c5d3e5;
  background: #f1f5f9;
}

.settings-tab-group-toggle:focus-visible {
  outline: 2px solid var(--pv-field-focus);
  outline-offset: 2px;
}

.settings-tab-group-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  flex-shrink: 0;
  font-size: 9px;
  line-height: 1;
  color: var(--pv-muted);
  transition: transform 0.18s ease;
}

.settings-tab-group-chevron::before {
  content: '▶';
}

.settings-tab-group.is-open .settings-tab-group-chevron {
  transform: rotate(90deg);
}

/* Grupa koja sadrži trenutno izabranu karticu šifrarnika — naglašen header */
.settings-tab-group--has-active .settings-tab-group-toggle {
  background: linear-gradient(180deg, #e8f1fb 0%, #dbe8f8 100%);
  border-color: #9cb9dc;
  color: #1a3654;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.settings-tab-group--has-active .settings-tab-group-toggle:hover {
  border-color: #7aa3d4;
  background: linear-gradient(180deg, #dbe8f8 0%, #cddff3 100%);
}

.settings-tab-group--has-active .settings-tab-group-chevron {
  color: #2563ad;
}

.settings-tab-group-title {
  flex: 1;
  min-width: 0;
}

.settings-tab-group-panel {
  padding: 0;
}

.settings-tab-group--collapsed .settings-tab-group-panel {
  display: none;
}

.settings-tab-group .gra-form-band + .settings-tab-row {
  margin-top: var(--app-gap-band-to-fields);
}

.settings-tab-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  align-items: center;
}

.settings-tab {
  appearance: none;
  margin: 0;
  font-family: inherit;
  border: 1px solid var(--pv-border);
  background: #fff;
  color: var(--app-btn-surface-text);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
  padding: 3px 9px;
  min-height: 28px;
  border-radius: 8px;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease;
  text-align: left;
}

.settings-tab:hover {
  border-color: #b8c9dc;
  background: #f8fafc;
}

.settings-tab.is-active {
  border-color: var(--app-soft-blue-border);
  background: var(--app-soft-blue-bg);
  color: var(--app-soft-blue-text);
  box-shadow: none;
}

.settings-tab:focus-visible {
  outline: 2px solid var(--pv-field-focus);
  outline-offset: 2px;
}

.podesavanja-cards-stack .settings-tabs-shell,
.podesavanja-one-page-layout .settings-tabs-shell {
  padding: 2px 0 2px;
  gap: 8px;
}

.podesavanja-float-card .settings-tabs-shell + .gra-fields-row {
  margin-top: var(--app-gap-row-to-row);
}

.podesavanja-lista-toolbar {
  margin-bottom: var(--app-gap-row-to-row);
}

.podesavanja-table-block {
  min-width: 0;
}

.podesavanja-table-frame {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--app-table-row-border);
  border-radius: 12px;
  background: var(--card, #fff);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.podesavanja-table-block table,
.podesavanja-table-frame table {
  width: 100%;
  margin: 0;
}

.podesavanja-toolbar-inner {
  width: 100%;
}

.podesavanja-toolbar-inner .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin: 0;
}

.podesavanja-show-inactive {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  font-size: var(--app-table-th-fs);
  font-weight: 600;
  color: var(--app-table-head-color);
  cursor: pointer;
}

.podesavanja-show-inactive input[type='checkbox'] {
  width: 18px;
  height: 18px;
  min-height: 0;
  flex-shrink: 0;
}

body.podesavanja-page .podes-iskljuceno-accordion {
  margin-top: 14px;
  padding: 0 12px 12px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: var(--app-ui-btn-radius, 8px);
  background: var(--app-table-stripe-bg, #f8fafc);
}

body.podesavanja-page .podes-iskljuceno-accordion summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 4px;
  font-size: var(--app-table-th-fs);
  font-weight: 600;
  color: var(--app-table-head-color);
}

body.podesavanja-page .podes-iskljuceno-accordion summary::-webkit-details-marker {
  display: none;
}

body.podesavanja-page .podes-iskljuceno-accordion summary::before {
  content: '▸';
  display: inline-block;
  transition: transform 0.15s ease;
}

body.podesavanja-page .podes-iskljuceno-accordion[open] summary::before {
  transform: rotate(90deg);
}

body.podesavanja-page .podes-iskljuceno-count {
  font-weight: 500;
}

body.podesavanja-page .podes-iskljuceno-table-frame {
  margin-top: 4px;
}

body.podesavanja-page #podesIskljucenoTbody tr.podesavanja-row--iskljuceno {
  opacity: 0.92;
}

/* Podešavanja — tabovi = grupe šifrarnika (Proizvodnja, Ofset…); ispod red kategorija u grupi; lista listview */
body.podesavanja-page .podesavanja-one-page-layout {
  margin-top: 8px;
}

body.podesavanja-page .podesavanja-one-page-tabpanels,
body.podesavanja-page .nalog-one-page-tabpanels {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  border: none;
  border-radius: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  box-sizing: border-box;
}

body.podesavanja-page .podesavanja-category-subtabs-host,
body.podesavanja-page .podesavanja-os-subtabs-host {
  min-width: 0;
  margin: 0 0 12px;
}

body.podesavanja-page .podesavanja-category-tablist.nalog-one-page-tablist,
body.podesavanja-page .podesavanja-os-vrsta-tabs.nalog-one-page-tablist {
  margin-bottom: 0;
}

body.podesavanja-page .podesavanja-sifarnik-card,
body.podesavanja-page .podesavanja-magacin-panel-wrap > .phase-row-shell {
  margin-top: 0;
}

body.podesavanja-page .podesavanja-sifarnik-lista-wrap[hidden] {
  display: none !important;
}

body.podesavanja-page .podesavanja-magacin-tab-body {
  padding: 0;
  min-width: 0;
}

body.podesavanja-page .podesavanja-magacin-acc-root {
  gap: 10px;
}

body.podesavanja-page .podesavanja-magacin-acc-root .magacin-admin-lista {
  border: 1px solid var(--app-table-row-border);
  border-radius: 12px;
  background: var(--card, #fff);
  padding: 4px 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

body.podesavanja-page .podesavanja-magacin-footnote {
  margin-top: 10px !important;
}

body.podesavanja-page .podesavanja-lista-toolbar {
  margin-bottom: 10px;
}

body.podesavanja-page .podesavanja-table-block #msg {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.35;
}

body.podesavanja-page .podesavanja-toolbar-inner.actions {
  gap: 8px 12px;
  align-items: stretch;
}

body.podesavanja-page .settings-tabs-shell {
  gap: 8px;
}

body.podesavanja-page .settings-tab-group-toggle {
  padding: 8px 12px;
  font-size: 13px;
}

body.podesavanja-page .settings-tab-group-panel {
  padding: 0 0 4px;
}

body.podesavanja-page .settings-tab-row {
  gap: 8px 10px;
  align-items: center;
  flex-wrap: wrap;
}

body.podesavanja-page .podesavanja-table-block table thead th:last-child {
  text-align: right;
}

body.podesavanja-page .podesavanja-table-block table tbody td.actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  vertical-align: middle;
  white-space: nowrap;
  width: 1%;
}

body.podesavanja-page .podesavanja-table-block table tbody td.actions .btn {
  flex: 0 0 auto;
}

/* Desktop: stabilna širina kolona — pri promeni šifrarnika lista ne „skače“, akcije uvek skroz desno */
@media (min-width: 901px) {
  html:has(body.podesavanja-page) {
    scrollbar-gutter: stable;
  }

  body.podesavanja-page .podesavanja-table-frame {
    width: 100%;
    box-sizing: border-box;
  }

  body.podesavanja-page .podesavanja-table-frame table#tbl {
    table-layout: fixed;
    width: 100%;
  }

  body.podesavanja-page .podesavanja-table-frame table#tbl th:first-child,
  body.podesavanja-page .podesavanja-table-frame table#tbl td:first-child {
    width: 3.25rem;
    min-width: 3.25rem;
    max-width: 4rem;
    text-align: center;
    box-sizing: border-box;
  }

  body.podesavanja-page .podesavanja-table-frame table#tbl th:nth-child(2),
  body.podesavanja-page .podesavanja-table-frame table#tbl td:nth-child(2) {
    width: 28%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.podesavanja-page .podesavanja-table-frame table#tbl th:last-child,
  body.podesavanja-page .podesavanja-table-frame table#tbl td:last-child {
    width: 4.75rem;
    min-width: 4.75rem;
    max-width: 5.5rem;
    text-align: center;
    box-sizing: border-box;
  }

  body.podesavanja-page .podesavanja-table-frame table#tbl tbody tr.podesavanja-row--veza td:nth-child(5) {
    text-align: center;
    vertical-align: middle;
    width: 7rem;
    min-width: 6.5rem;
    max-width: 8rem;
  }

  body.podesavanja-page .podesavanja-table-frame table#tbl tbody tr.podesavanja-row-click:hover td {
    background: rgba(15, 23, 42, 0.04);
  }

  body.podesavanja-page .podesavanja-table-frame table#tbl tbody tr.podesavanja-row-click:focus-visible {
    outline: 2px solid var(--pv-accent, #2563eb);
    outline-offset: -2px;
  }
}

/* Admin — korisnici (lista + bočni panel) */
body.korisnici-page .podesavanja-cards-stack {
  gap: 14px;
}

body.korisnici-page .podesavanja-lista-toolbar {
  margin-bottom: 10px;
}

body.korisnici-page .podesavanja-toolbar-inner.actions {
  gap: 8px 12px;
  align-items: stretch;
}

body.korisnici-page #korisniciCards.podesavanja-mobile-cards-root {
  display: none;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.korisnici-page .korisnici-page-msg {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.35;
}

body.korisnici-page .korisnici-list-user {
  display: block;
  font-weight: 700;
  font-size: 14px;
  color: var(--text);
  line-height: 1.3;
}

body.korisnici-page .korisnici-list-sub {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  font-weight: 500;
  color: var(--muted);
  line-height: 1.35;
}

body.korisnici-page .korisnici-td-kontakt {
  font-size: 13px;
  color: #475569;
  max-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.korisnici-page .korisnici-td-user {
  vertical-align: top;
}

body.korisnici-page .korisnici-td-role {
  vertical-align: middle;
}

/* Bočni panel — forma korisnika (isti jezik kao šifrarnik) */
body.korisnici-page #korisnikDetailPanel #korisnikForm > .gra-form-band {
  padding: 11px 14px 13px;
  border-radius: 11px;
  background: var(--card);
  border: 1px solid var(--pv-border-soft);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--pv-text) 6%, transparent);
}

body.korisnici-page #korisnikDetailPanel #korisnikForm > .gra-form-band .gra-form-band-title {
  color: var(--pv-text);
  letter-spacing: 0.06em;
}

body.korisnici-page #korisnikDetailPanel #korisnikForm > .gra-form-band .gra-form-band-hint {
  color: var(--pv-muted);
}

body.korisnici-page #korisnikDetailPanel .podesavanja-compact-form.gra-form-stack .gra-form-band + .gra-fields-row {
  margin-top: 16px;
}

body.korisnici-page #korisnikDetailPanel .podesavanja-compact-form.gra-form-stack > .gra-fields-row + .gra-form-band {
  margin-top: 14px;
}

body.korisnici-page #korisnikDetailPanel .podesavanja-form-actions {
  margin-top: 18px;
  padding: 14px 16px 16px;
  border-top: 1px solid var(--pv-border-soft);
  background: var(--app-table-head-bg);
  border-radius: 0 0 12px 12px;
  margin-left: -14px;
  margin-right: -14px;
  margin-bottom: -20px;
  padding-left: 18px;
  padding-right: 18px;
}

body.korisnici-page #korisnikDetailPanel .podesavanja-form-actions .btn.primary {
  min-height: var(--app-btn-card-row-min-h);
  padding: 9px 18px;
  font-weight: 700;
}

/* Podešavanja — artikal magacina u bočnom panelu */
body.podesavanja-page #magacinArtikalPanel #magacinNoviArtikalForm > .gra-form-band:first-of-type {
  padding: 11px 14px 13px;
  border-radius: 11px;
  background: var(--card);
  border: 1px solid var(--pv-border-soft);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--pv-text) 6%, transparent);
}

body.podesavanja-page #magacinArtikalPanel #magacinNoviArtikalForm > .gra-form-band:first-of-type .gra-form-band-title {
  color: var(--pv-text);
  letter-spacing: 0.06em;
}

body.podesavanja-page #magacinArtikalPanel .podesavanja-compact-form.gra-form-stack .gra-form-band + .gra-fields-row {
  margin-top: 16px;
}

body.podesavanja-page #magacinArtikalPanel .podesavanja-form-actions {
  margin-top: 18px;
  padding: 14px 16px 16px;
  border-top: 1px solid var(--pv-border-soft);
  background: var(--app-table-head-bg);
  border-radius: 0 0 12px 12px;
  margin-left: -14px;
  margin-right: -14px;
  margin-bottom: -20px;
  padding-left: 18px;
  padding-right: 18px;
}

body.podesavanja-page #magacinArtikalPanel .podesavanja-form-actions .btn.primary {
  min-height: var(--app-btn-card-row-min-h);
  padding: 9px 18px;
  font-weight: 700;
}

body.podesavanja-page #osnovnoSredstvoPanel .podesavanja-form-actions {
  margin-top: 18px;
  padding: 14px 16px 16px;
  border-top: 1px solid var(--pv-border-soft);
  background: var(--app-table-head-bg);
  border-radius: 0 0 12px 12px;
  margin-left: -14px;
  margin-right: -14px;
  margin-bottom: -20px;
  padding-left: 18px;
  padding-right: 18px;
}

body.podesavanja-page #osnovnoSredstvoPanel .podesavanja-form-actions .btn.primary {
  min-height: var(--app-btn-card-row-min-h);
  padding: 9px 18px;
  font-weight: 700;
}

body.podesavanja-page #normativDodajPanel .podesavanja-form-actions,
body.podesavanja-page #cenStavkaPanel .podesavanja-form-actions,
body.podesavanja-page #cenGrupaPanel .podesavanja-form-actions {
  margin-top: 18px;
  padding: 14px 16px 16px;
  border-top: 1px solid var(--pv-border-soft);
  background: var(--app-table-head-bg);
  border-radius: 0 0 12px 12px;
  margin-left: -14px;
  margin-right: -14px;
  margin-bottom: -20px;
  padding-left: 18px;
  padding-right: 18px;
}

body.podesavanja-page #normativDodajPanel .podesavanja-form-actions .btn.primary,
body.podesavanja-page #cenStavkaPanel .podesavanja-form-actions .btn.primary,
body.podesavanja-page #cenGrupaPanel .podesavanja-form-actions .btn.primary {
  min-height: var(--app-btn-card-row-min-h);
  padding: 9px 18px;
  font-weight: 700;
}

/* Podešavanja — šifrarnik u bočnom panelu (širina + skrol tela) */
body.podesavanja-page #sifarnikFormPanel.gm-side-panel {
  width: min(100vw, 760px);
  max-width: 100%;
}

body.podesavanja-page #sifarnikFormPanel .gm-side-panel-inner {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

body.podesavanja-page #sifarnikFormPanel .gm-side-panel-head {
  flex-shrink: 0;
}

body.podesavanja-page #sifarnikFormPanel .gm-side-panel-body.podesavanja-sifarnik-modal-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding: 16px 18px 18px;
  background: var(--app-table-head-bg);
  color: var(--pv-text);
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

/* Podešavanja — fasc: bočni paneli; pun forsiran izgled na kraju app.css (normativ/cenovnik bez .gra-field-stack, labele .faze-stampa-label). */
html[data-ui-theme='fasc'] body.podesavanja-page .gm-side-panel .gm-side-panel-body.gra-form-stack {
  background: var(--app-table-head-bg);
  color: var(--pv-text);
}


@media (min-width: 901px) {
  body.korisnici-page .podesavanja-table-frame {
    width: 100%;
    box-sizing: border-box;
  }

  body.korisnici-page .podesavanja-table-frame table#tblKorisnici {
    table-layout: fixed;
    width: 100%;
  }

  body.korisnici-page .podesavanja-table-frame table#tblKorisnici th:nth-child(1),
  body.korisnici-page .podesavanja-table-frame table#tblKorisnici td:nth-child(1) {
    width: 26%;
    min-width: 0;
    box-sizing: border-box;
  }

  body.korisnici-page .podesavanja-table-frame table#tblKorisnici th:nth-child(2),
  body.korisnici-page .podesavanja-table-frame table#tblKorisnici td:nth-child(2) {
    width: 11%;
    min-width: 5.5rem;
    box-sizing: border-box;
  }

  body.korisnici-page .podesavanja-table-frame table#tblKorisnici th:nth-child(3),
  body.korisnici-page .podesavanja-table-frame table#tblKorisnici td:nth-child(3) {
    width: auto;
    min-width: 0;
    box-sizing: border-box;
  }

  body.korisnici-page .podesavanja-table-frame table#tblKorisnici tbody tr.korisnici-row-click {
    cursor: pointer;
  }

  body.korisnici-page .podesavanja-table-frame table#tblKorisnici tbody tr.korisnici-row-click:hover td {
    background: rgba(15, 23, 42, 0.04);
  }

  body.korisnici-page .podesavanja-table-frame table#tblKorisnici tbody tr.korisnici-row-click:focus-visible {
    outline: 2px solid var(--pv-accent, #2563eb);
    outline-offset: -2px;
  }
}

@media (max-width: 900px) {
  body.korisnici-page .podesavanja-table-frame {
    display: none;
  }

  body.korisnici-page #tblKorisnici {
    display: none !important;
  }

  body.korisnici-page #korisniciCards.podesavanja-mobile-cards-root {
    display: block;
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  }

  body.korisnici-page .podesavanja-mobile-item {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin: 0;
    border-bottom: 1px solid #eef2f7;
  }

  body.korisnici-page .podesavanja-mobile-item:last-child {
    border-bottom: 0;
  }

  body.korisnici-page .podesavanja-mobile-open {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    padding: 10px 12px;
    margin: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
  }

  body.korisnici-page .podesavanja-mobile-open:active {
    background: rgba(15, 23, 42, 0.04);
  }

  body.korisnici-page .podesavanja-mobile-name {
    font-weight: 700;
    font-size: 14px;
    color: var(--text);
    word-break: break-word;
  }

  body.korisnici-page .podesavanja-mobile-meta {
    font-size: 12px;
    color: var(--pv-muted, #64748b);
    line-height: 1.35;
    word-break: break-word;
  }
}

/* Admin — klijenti (lista bez akcija u redu; kartica kao podešavanja) */
body.klijenti-page .podesavanja-cards-stack {
  gap: 14px;
}

body.klijenti-page .podesavanja-lista-toolbar {
  margin-bottom: 10px;
}

body.klijenti-page .klijenti-page-msg {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.35;
}

body.klijenti-page .podesavanja-toolbar-inner.actions {
  gap: 8px 12px;
  align-items: stretch;
}

body.klijenti-page #klijentiCards.podesavanja-mobile-cards-root {
  display: none;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.klijenti-page .modal.podesavanja-sifarnik-modal #form > .gra-form-band:first-of-type {
  padding: 12px 14px 14px;
  gap: 8px;
  box-shadow:
    0 2px 8px color-mix(in srgb, var(--pv-text) 10%, transparent),
    inset 0 1px 0 color-mix(in srgb, var(--pv-border) 45%, transparent);
}

body.klijenti-page .modal.podesavanja-sifarnik-modal .app-page-panel-body.podesavanja-sifarnik-modal-body {
  padding: 16px 18px 18px;
  background: var(--app-table-head-bg);
  color: var(--pv-text);
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

body.klijenti-page .podesavanja-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--pv-border-soft);
}

body.klijenti-page .podesavanja-form-actions .btn {
  flex: 0 0 auto;
  min-height: var(--app-btn-card-row-min-h);
  padding: 8px 14px;
}

@media (min-width: 901px) {
  html:has(body.klijenti-page) {
    scrollbar-gutter: stable;
  }

  body.klijenti-page .podesavanja-table-frame {
    width: 100%;
    box-sizing: border-box;
  }

  body.klijenti-page .podesavanja-table-frame table#tbl {
    table-layout: fixed;
    width: 100%;
  }

  body.klijenti-page .podesavanja-table-frame table#tbl th:nth-child(1),
  body.klijenti-page .podesavanja-table-frame table#tbl td:nth-child(1) {
    width: 22%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.klijenti-page .podesavanja-table-frame table#tbl th:nth-child(2),
  body.klijenti-page .podesavanja-table-frame table#tbl td:nth-child(2) {
    width: 8%;
    min-width: 4.5rem;
    box-sizing: border-box;
  }

  body.klijenti-page .podesavanja-table-frame table#tbl th:nth-child(3),
  body.klijenti-page .podesavanja-table-frame table#tbl td:nth-child(3) {
    width: 14%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.klijenti-page .podesavanja-table-frame table#tbl th:nth-child(4),
  body.klijenti-page .podesavanja-table-frame table#tbl td:nth-child(4) {
    width: auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.klijenti-page .podesavanja-table-frame table#tbl th:nth-child(5),
  body.klijenti-page .podesavanja-table-frame table#tbl td:nth-child(5) {
    width: 12%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.klijenti-page .podesavanja-table-frame table#tbl tbody tr.klijenti-row-click:hover td {
    background: rgba(15, 23, 42, 0.04);
  }

  body.klijenti-page .podesavanja-table-frame table#tbl tbody tr.klijenti-row-click:focus-visible {
    outline: 2px solid var(--pv-accent, #2563eb);
    outline-offset: -2px;
  }
}

@media (min-width: 901px) {
  html:has(body.nalozi-list-page),
  html:has(body.kalkulacije-list-page),
  html:has(body.ponude-list-page) {
    scrollbar-gutter: stable;
  }

  body.nalozi-list-page .podesavanja-table-frame {
    width: 100%;
    box-sizing: border-box;
  }

  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl {
    display: table !important;
    table-layout: fixed;
    width: 100%;
  }

  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl thead th[data-sort] {
    cursor: pointer;
    user-select: none;
  }

  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl th:nth-child(1),
  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl td:nth-child(1) {
    width: 11%;
    min-width: 6.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl th:nth-child(2),
  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl td:nth-child(2) {
    width: 14%;
    min-width: 7rem;
    overflow: hidden;
    box-sizing: border-box;
  }

  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl th:nth-child(3),
  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl td:nth-child(3) {
    width: 16%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl th:nth-child(4),
  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl td:nth-child(4) {
    width: 14%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl th:nth-child(5),
  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl td:nth-child(5) {
    width: 11%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl th:nth-child(6),
  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl td:nth-child(6) {
    width: 8%;
    min-width: 4.75rem;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
  }

  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl th:nth-child(7),
  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl td:nth-child(7) {
    width: 8%;
    min-width: 4.75rem;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
  }

  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl th:nth-child(8),
  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl td:nth-child(8) {
    width: auto;
    min-width: 7.5rem;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl tbody tr.nalozi-row--iz-kalk td:first-child {
    box-shadow: inset 3px 0 0 var(--accent-violet, #7c3aed);
  }

  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl tbody tr.nalozi-row-click {
    cursor: pointer;
  }

  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl tbody tr.nalozi-row-click:hover td {
    background: var(--app-table-row-hover);
  }

  body.nalozi-list-page .podesavanja-table-frame table#naloziTbl tbody tr.nalozi-row-click:focus-visible {
    outline: 2px solid var(--pv-accent, #2563eb);
    outline-offset: -2px;
  }

  /* kalkulacije.html — kolone liste (osam + akcija) */
  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl {
    display: table !important;
    table-layout: fixed;
    width: 100%;
  }

  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl thead th[data-sort] {
    cursor: pointer;
    user-select: none;
  }

  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl th:nth-child(1),
  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl td:nth-child(1) {
    width: 12%;
    min-width: 6.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl th:nth-child(2),
  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl td:nth-child(2) {
    width: 18%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl th:nth-child(3),
  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl td:nth-child(3) {
    width: 8%;
    min-width: 4rem;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
  }

  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl th:nth-child(4),
  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl td:nth-child(4) {
    width: 8%;
    min-width: 4rem;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
  }

  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl th:nth-child(5),
  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl td:nth-child(5) {
    width: 9%;
    min-width: 5rem;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
  }

  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl th:nth-child(6),
  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl td:nth-child(6) {
    width: 11%;
    min-width: 5rem;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
  }

  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl th:nth-child(7),
  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl td:nth-child(7) {
    width: 10%;
    min-width: 6.5rem;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl th:nth-child(8),
  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl td:nth-child(8) {
    width: 11%;
    min-width: 6.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl th:nth-child(9),
  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl td:nth-child(9) {
    width: auto;
    min-width: 5.5rem;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl tbody tr.nalozi-row-click {
    cursor: pointer;
  }

  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl tbody tr.nalozi-row-click:hover td {
    background: var(--app-table-row-hover);
  }

  body.kalkulacije-list-page .podesavanja-table-frame table#kalkTbl tbody tr.nalozi-row-click:focus-visible {
    outline: 2px solid var(--pv-accent, #2563eb);
    outline-offset: -2px;
  }

  /* ponude.html — sedam kolona */
  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl {
    display: table !important;
    table-layout: fixed;
    width: 100%;
  }

  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl thead th[data-sort] {
    cursor: pointer;
    user-select: none;
  }

  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl th:nth-child(1),
  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl td:nth-child(1) {
    width: 14%;
    min-width: 6.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl th:nth-child(2),
  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl td:nth-child(2) {
    width: 7%;
    min-width: 3rem;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
  }

  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl th:nth-child(3),
  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl td:nth-child(3) {
    width: auto;
    min-width: 7.5rem;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl th:nth-child(4),
  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl td:nth-child(4) {
    width: 10%;
    min-width: 5.25rem;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
  }

  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl th:nth-child(5),
  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl td:nth-child(5) {
    width: 18%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl th:nth-child(6),
  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl td:nth-child(6) {
    width: 12%;
    min-width: 5rem;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
  }

  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl th:nth-child(7),
  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl td:nth-child(7) {
    width: 11%;
    min-width: 6rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl tbody tr.nalozi-row-click {
    cursor: pointer;
  }

  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl tbody tr.nalozi-row-click:hover td {
    background: var(--app-table-row-hover);
  }

  body.ponude-list-page .podesavanja-table-frame table#ponudeTbl tbody tr.nalozi-row-click:focus-visible {
    outline: 2px solid var(--pv-accent, #2563eb);
    outline-offset: -2px;
  }
}

@media (max-width: 900px) {
  body.klijenti-page .podesavanja-table-frame {
    display: none;
  }

  body.klijenti-page #tbl {
    display: none !important;
  }

  body.klijenti-page #klijentiCards.podesavanja-mobile-cards-root {
    display: block;
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  }

  body.klijenti-page .podesavanja-mobile-item {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin: 0;
    border-bottom: 1px solid #eef2f7;
  }

  body.klijenti-page .podesavanja-mobile-item:last-child {
    border-bottom: 0;
  }

  body.klijenti-page .podesavanja-mobile-open {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    padding: 10px 12px;
    margin: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
  }

  body.klijenti-page .podesavanja-mobile-open:active {
    background: rgba(15, 23, 42, 0.04);
  }

  body.klijenti-page .podesavanja-mobile-name {
    font-weight: 700;
    font-size: 14px;
    color: var(--text);
    word-break: break-word;
  }

  body.klijenti-page .podesavanja-mobile-meta {
    font-size: 12px;
    color: var(--pv-muted, #64748b);
    line-height: 1.35;
    word-break: break-word;
  }
}

/* Klijenti — kontakt osobe u modalu (lista + mobilne kartice kao glavna lista) */
body.klijenti-page #kontaktiOsobeCards.podesavanja-mobile-cards-root {
  display: none;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 901px) {
  body.klijenti-page .modal .kontakt-osobe-table-frame table#tblKontakti {
    table-layout: fixed;
    width: 100%;
  }

  body.klijenti-page .modal .kontakt-osobe-table-frame table#tblKontakti th:nth-child(1),
  body.klijenti-page .modal .kontakt-osobe-table-frame table#tblKontakti td:nth-child(1) {
    width: 24%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.klijenti-page .modal .kontakt-osobe-table-frame table#tblKontakti th:nth-child(2),
  body.klijenti-page .modal .kontakt-osobe-table-frame table#tblKontakti td:nth-child(2) {
    width: 30%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.klijenti-page .modal .kontakt-osobe-table-frame table#tblKontakti th:nth-child(3),
  body.klijenti-page .modal .kontakt-osobe-table-frame table#tblKontakti td:nth-child(3) {
    width: 22%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.klijenti-page .modal .kontakt-osobe-table-frame table#tblKontakti th:nth-child(4),
  body.klijenti-page .modal .kontakt-osobe-table-frame table#tblKontakti td:nth-child(4) {
    width: auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
  }

  body.klijenti-page .modal #tblKontakti tbody tr.kontakt-osoba-row:hover td {
    background: rgba(15, 23, 42, 0.04);
  }

  body.klijenti-page .modal #tblKontakti tbody tr.kontakt-osoba-row:focus-visible {
    outline: 2px solid var(--pv-accent, #2563eb);
    outline-offset: -2px;
  }
}

@media (max-width: 900px) {
  body.klijenti-page .modal .kontakt-osobe-table-frame {
    display: none;
  }

  body.klijenti-page .modal #tblKontakti {
    display: none !important;
  }

  body.klijenti-page .modal #kontaktiOsobeCards.podesavanja-mobile-cards-root {
    display: block;
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  }

  body.klijenti-page .modal #kontaktiOsobeCards .podesavanja-mobile-item {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin: 0;
    border-bottom: 1px solid #eef2f7;
  }

  body.klijenti-page .modal #kontaktiOsobeCards .podesavanja-mobile-item:last-child {
    border-bottom: 0;
  }

  body.klijenti-page .modal #kontaktiOsobeCards .podesavanja-mobile-open {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    padding: 10px 12px;
    margin: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
  }

  body.klijenti-page .modal #kontaktiOsobeCards .podesavanja-mobile-open:active {
    background: rgba(15, 23, 42, 0.04);
  }

  body.klijenti-page .modal #kontaktiOsobeCards .podesavanja-mobile-name {
    font-weight: 700;
    font-size: 14px;
    color: var(--text);
    word-break: break-word;
  }

  body.klijenti-page .modal #kontaktiOsobeCards .podesavanja-mobile-meta {
    font-size: 12px;
    color: var(--pv-muted, #64748b);
    line-height: 1.35;
    word-break: break-word;
  }
}

body.podesavanja-page .podesavanja-compact-form.gra-form-stack .gra-fields-row + .gra-fields-row {
  margin-top: 10px;
}

/* Teget traka → polja ispod: dovoljno vazduha (select ne „lepi“ za bend) */
body.podesavanja-page .podesavanja-compact-form.gra-form-stack .gra-form-band + .gra-fields-row {
  margin-top: 16px;
}

/* Osnovno (red polja) → prvi blok sa dodatnim šiframa; blok → blok */
body.podesavanja-page .podesavanja-compact-form.gra-form-stack > .gra-fields-row + .podesavanja-meta-section,
body.podesavanja-page .podesavanja-compact-form.gra-form-stack > .podesavanja-meta-section + .podesavanja-meta-section {
  margin-top: var(--app-gap-fields-to-band);
}

body.podesavanja-page .podesavanja-compact-form.gra-form-stack .gra-fields-row + .gra-form-band {
  margin-top: 12px;
}

body.podesavanja-page .podesavanja-compact-form.gra-form-stack > .gra-form-band:first-of-type {
  margin-top: 4px;
}

body.podesavanja-page .podesavanja-compact-form .gra-fields-row {
  gap: 10px 12px;
}

body.podesavanja-page .podesavanja-compact-form .gra-field-stack {
  gap: 6px;
}

body.podesavanja-page .podesavanja-compact-form label {
  margin-bottom: 4px;
}

body.podesavanja-page .podesavanja-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--pv-border-soft);
}

body.podesavanja-page .podesavanja-form-actions .btn {
  flex: 0 0 auto;
  min-height: var(--app-btn-card-row-min-h);
  padding: 8px 14px;
}

body.podesavanja-page #sifarnikFormPanel #sifarnikForm > .gra-form-band:first-of-type,
body.podesavanja-page #sifarnikFormPanel #podesavanjaVezaDetail > .gra-form-band:first-of-type {
  padding: 12px 14px 14px;
  gap: 8px;
  box-shadow:
    0 2px 8px color-mix(in srgb, var(--pv-text) 10%, transparent),
    inset 0 1px 0 color-mix(in srgb, var(--pv-border) 45%, transparent);
}

/* Šifrarnici — mobilna lista umesto tabele */
body.podesavanja-page #podesavanjaCards.podesavanja-mobile-cards-root {
  display: none;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 900px) {
  body.podesavanja-page .podesavanja-table-frame {
    display: none;
  }

  body.podesavanja-page #tbl {
    display: none !important;
  }

  body.podesavanja-page #podesavanjaCards.podesavanja-mobile-cards-root {
    display: block;
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    background: var(--card);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  }

  body.podesavanja-page .podesavanja-mobile-item {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin: 0;
    border-bottom: 1px solid var(--pv-border-soft);
  }

  body.podesavanja-page .podesavanja-mobile-item:last-child {
    border-bottom: 0;
  }

  body.podesavanja-page .podesavanja-mobile-item--inactive .podesavanja-mobile-name {
    opacity: 0.72;
  }

  body.podesavanja-page .podesavanja-mobile-open {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    padding: 10px 12px;
    margin: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
  }

  body.podesavanja-page .podesavanja-mobile-open:active {
    background: rgba(15, 23, 42, 0.04);
  }

  body.podesavanja-page .podesavanja-mobile-name {
    font-weight: 700;
    font-size: 14px;
    color: var(--text);
    word-break: break-word;
  }

  body.podesavanja-page .podesavanja-mobile-meta {
    font-size: 12px;
    color: var(--pv-muted, #64748b);
    line-height: 1.35;
    word-break: break-word;
  }

  body.podesavanja-page .podesavanja-mobile-toggle {
    flex: 0 0 auto;
    align-self: center;
    margin-right: 10px;
    min-width: 0;
    max-width: 42%;
    padding: 8px 10px !important;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    white-space: normal;
    text-align: center;
    hyphens: auto;
  }

  body.podesavanja-page .podesavanja-toolbar-inner.actions {
    flex-wrap: wrap;
    gap: 8px 10px;
    overflow-x: visible;
    padding-bottom: 0;
    align-items: stretch;
  }

  body.podesavanja-page #addBtn {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 7px 12px;
    font-size: 13px;
  }

  body.podesavanja-page .podesavanja-show-inactive {
    margin-left: 0;
    flex-shrink: 0;
    font-size: 12px;
    gap: 6px;
  }

  body.podesavanja-page .settings-tab-row {
    flex-wrap: wrap;
    gap: 6px;
  }

  body.podesavanja-page .settings-tab.faze-phase-tab.podesavanja-sifarnik-tab {
    font-size: 12px;
    padding: 7px 10px;
    min-height: 34px;
  }
}

.metric-grid {
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 10px;
}

.full {
  grid-column: 1 / -1;
}

label {
  display: block;
  font-size: var(--app-table-th-fs);
  font-weight: 700;
  color: var(--app-table-head-color);
  margin-bottom: 6px;
}

/* Checkbox / radio — kao PolovnaVozila korak 2 */
.workspace input[type='checkbox'],
.workspace input[type='radio'] {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--pv-primary);
  vertical-align: middle;
  flex-shrink: 0;
}

.card {
  background: var(--card);
  border-radius: 12px;
  padding: 14px;
  box-shadow: none;
  border: 1px solid var(--border);
  margin-bottom: 12px;
}

.card > h3 {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--text);
}

/* Kartice u radnom prostoru — isti oblik kao „Stavke naloga“ na detalju */
.workspace .card {
  border-color: #eef2f7;
  border-radius: 10px;
  padding: 14px var(--app-page-gutter-x);
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

/* Stranice obavijene istim okvirom kao „Osnovni podaci“ (faza / detalj naloga) */
.app-page-shell {
  margin-bottom: 10px;
}

/* Deljeni obrasci formulara (novi / izmeni nalog, slične stranice): jedna klasa u HTML-u — stil ovde, ne po `body.*-page` za svako dugme */
.app-header .topbar .actions.app-header-actions--ghost {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.app-header .topbar .actions.app-header-actions--ghost .btn.light {
  background: rgba(255, 255, 255, 0.55);
  border-color: rgba(148, 163, 184, 0.5);
  box-shadow: none;
  font-weight: 600;
}

.app-header .topbar .actions.app-header-actions--ghost .btn.light:hover {
  background: #fff;
  border-color: #94a3b8;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.app-header .topbar .actions.app-header-actions--ghost .btn:focus {
  outline: none;
}

.app-header .topbar .actions.app-header-actions--ghost .btn:focus-visible {
  outline: 2px solid rgba(37, 99, 235, 0.5);
  outline-offset: 2px;
}

.app-flow-sec__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px;
}

.app-flow-step {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  color: #1e40af;
  background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
  border: 1px solid rgba(59, 130, 246, 0.35);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.gra-form-band > .gra-form-band__head:has(> .app-flow-step) {
  align-items: center;
}

.gra-form-band > .gra-form-band__head > .app-flow-step {
  width: 26px;
  height: 26px;
  font-size: 12px;
  color: #1e3a8a;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, #e0e7ff 100%);
  border: 1px solid rgba(255, 255, 255, 0.45);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}

/* Novi nalog — više odvojenih „lebdećih“ kartica kao kartice na detalju naloga */
.novi-nalog-form-page {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.novi-nalog-cards-stack,
.podesavanja-cards-stack {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-bottom: 4px;
}

.novi-nalog-cards-stack > .phase-card.phase-row-shell,
.podesavanja-cards-stack > .phase-card.phase-row-shell {
  margin-bottom: 0;
}

.novi-nalog-float-card,
.podesavanja-float-card {
  box-shadow:
    0 4px 6px -1px rgba(15, 23, 42, 0.06),
    0 12px 32px -10px rgba(15, 23, 42, 0.14);
  border-radius: 12px;
  border-color: #e8edf4;
  background: #fff;
}

/* Teget zaglavlje kartica — Novi nalog / Podešavanja (isto kao .gra-form-band) */
.novi-nalog-float-card > .phase-card-bar,
.podesavanja-float-card > .phase-card-bar {
  border-radius: 12px 12px 0 0;
  padding: 10px 14px;
  background: linear-gradient(180deg, var(--pv-navy-1) 0%, var(--pv-navy-2) 100%);
  border-bottom: 1px solid rgba(0, 20, 40, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.novi-nalog-float-card > .phase-card-bar .phase-card-tip,
.podesavanja-float-card > .phase-card-bar .phase-card-tip {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #f0f6ff;
}

.novi-nalog-float-card--actions .nalog-form-actions {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.novi-nalog-cards-stack > .phase-card > .phase-card-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
}

.novi-nalog-cards-stack .phase-card-preview {
  font-weight: 500;
  font-size: 13px;
  color: rgba(240, 246, 255, 0.9);
  text-align: right;
  flex: 1;
  min-width: 140px;
}

.novi-nalog-cards-stack > .phase-card > .app-page-panel-body.faza-phase-form-sheet {
  margin: 0 12px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  padding: 16px 18px;
}

.novi-nalog-cards-stack .nalog-broj-line {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Novi nalog — jedna kartica, veliki kalendar */
.novi-nalog-page .novi-nalog-hero {
  display: grid;
  grid-template-columns: 1fr minmax(0, auto);
  gap: 16px 24px;
  align-items: end;
  padding-bottom: 18px;
  margin-bottom: 4px;
  border-bottom: 1px solid #e2e8f0;
}

.novi-nalog-page .novi-nalog-hero__hint {
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.45;
  max-width: 44ch;
}

.novi-nalog-page .novi-nalog-hero__broj.nalog-broj-line {
  justify-self: end;
  text-align: right;
  min-width: 0;
}

.novi-nalog-page .novi-nalog-sec {
  padding-top: 2px;
}

.novi-nalog-page .novi-nalog-sec__title {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #475569;
}

.novi-nalog-page .novi-nalog-dates-status-row .gra-field-stack {
  min-width: 0;
}

.novi-nalog-page .novi-nalog-status-stack .app-status-display {
  align-self: flex-start;
}

.novi-nalog-page .novi-nalog-date-field {
  position: relative;
}

.novi-nalog-page .novi-nalog-date-native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  opacity: 0;
  pointer-events: none;
}

.novi-nalog-page .novi-nalog-date-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
  min-height: 46px;
  padding: 10px 14px;
  margin: 0;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  text-align: left;
  color: #0f172a;
  background: #fff;
  border: 1px solid var(--pv-border, #cbd5e1);
  border-radius: var(--pv-radius-field, 10px);
  cursor: pointer;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}

.novi-nalog-page .novi-nalog-date-btn:hover {
  border-color: #94a3b8;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.novi-nalog-page .novi-nalog-date-btn:focus-visible {
  outline: 2px solid rgba(32, 132, 243, 0.45);
  outline-offset: 2px;
}

.novi-nalog-page .novi-nalog-date-btn__value {
  flex: 1;
  min-width: 0;
  line-height: 1.35;
}

.novi-nalog-page .novi-nalog-date-btn__chev {
  flex-shrink: 0;
  font-size: 12px;
  color: #64748b;
}

body.novi-nalog-date-modal-open {
  overflow: hidden;
}

.novi-nalog-date-modal {
  position: fixed;
  inset: 0;
  z-index: 20050;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom))
    max(10px, env(safe-area-inset-left));
  box-sizing: border-box;
}

.novi-nalog-date-modal[hidden] {
  display: none !important;
}

.novi-nalog-date-modal__scrim {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.52);
  pointer-events: auto;
}

.novi-nalog-date-modal__card {
  position: relative;
  z-index: 1;
  width: min(440px, 100%);
  max-height: min(580px, 92dvh);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
  margin: 0;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow:
    0 24px 48px -12px rgba(15, 23, 42, 0.28),
    0 12px 24px -8px rgba(15, 23, 42, 0.18);
}

.novi-nalog-date-modal__bar {
  flex-shrink: 0;
  padding: 14px 16px 10px;
  border-bottom: 1px solid #f1f5f9;
  background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
  border-radius: 16px 16px 0 0;
}

.novi-nalog-date-modal__heading {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #0f172a;
}

.novi-nalog-date-modal__body {
  padding: 14px 16px 8px;
}

.novi-nalog-date-modal__foot {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 16px 14px;
  border-top: 1px solid #f1f5f9;
  background: #fafbfc;
  border-radius: 0 0 16px 16px;
}

.novi-nalog-date-modal__foot-right {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.novi-nalog-date-modal .novi-nalog-cal__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.novi-nalog-date-modal .novi-nalog-cal__title {
  flex: 1;
  text-align: center;
  font-size: 17px;
  font-weight: 800;
  color: #0f172a;
}

.novi-nalog-date-modal .novi-nalog-cal__nav {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  font-size: 22px;
  line-height: 1;
  color: #334155;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  cursor: pointer;
}

.novi-nalog-date-modal .novi-nalog-cal__nav:hover {
  background: #e2e8f0;
}

.novi-nalog-date-modal .novi-nalog-cal__weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 6px;
}

.novi-nalog-date-modal .novi-nalog-cal__weekdays span {
  text-align: center;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

.novi-nalog-date-modal .novi-nalog-cal__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 5px;
}

.novi-nalog-date-modal .novi-nalog-cal__pad {
  min-height: 44px;
}

.novi-nalog-date-modal .novi-nalog-cal__day {
  min-height: 46px;
  min-width: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 16px;
  font-weight: 600;
  color: #0f172a;
  background: #f8fafc;
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  transition:
    background 0.12s ease,
    border-color 0.12s ease;
}

.novi-nalog-date-modal .novi-nalog-cal__day:hover {
  background: #e0f2fe;
  border-color: #7dd3fc;
}

.novi-nalog-date-modal .novi-nalog-cal__day.is-today {
  border-color: #94a3b8;
}

.novi-nalog-date-modal .novi-nalog-cal__day.is-selected {
  background: #1e293b;
  color: #fff;
  border-color: #1e293b;
}

.novi-nalog-date-modal .novi-nalog-cal__day.is-selected:hover {
  background: #334155;
  border-color: #334155;
}

.novi-nalog-date-modal__foot .btn {
  font-size: 14px;
}

.novi-nalog-page .novi-nalog-stack-tight {
  margin-top: 14px;
}

.novi-nalog-page .novi-nalog-textarea {
  min-height: 0;
}

.novi-nalog-page .novi-nalog-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #e2e8f0;
}

.novi-nalog-page .novi-nalog-submit {
  flex-shrink: 0;
}

.novi-nalog-page .novi-nalog-footer-msg {
  margin: 0;
  flex: 1;
  min-width: min(100%, 220px);
}

@media (max-width: 640px) {
  .novi-nalog-page .novi-nalog-hero {
    grid-template-columns: 1fr;
  }

  .novi-nalog-page .novi-nalog-hero__broj.nalog-broj-line {
    justify-self: start;
    text-align: left;
  }
}

/* Nova kalkulacija — vertikalni ritam (isti jezik kao Novi nalog, blago zbijeno) */
body.nova-kalkulacija-page .novi-nalog-panel-inner.faza-phase-form-sheet {
  gap: 16px;
  padding: 18px 20px 20px;
}

body.nova-kalkulacija-page .novi-nalog-hero {
  padding-bottom: 12px;
  margin-bottom: 0;
  gap: 12px 20px;
}

body.nova-kalkulacija-page .novi-nalog-sec {
  padding-top: 0;
}

body.nova-kalkulacija-page .novi-nalog-sec .app-flow-sec__head {
  margin-bottom: 10px;
}

body.nova-kalkulacija-page .novi-nalog-sec > .gra-field-stack + .gra-field-stack,
body.nova-kalkulacija-page .novi-nalog-sec > .gra-fields-row + .gra-field-stack {
  margin-top: 12px;
}

body.nova-kalkulacija-page .novi-nalog-stack-tight {
  margin-top: 12px;
}

body.nova-kalkulacija-page .novi-nalog-dates-status-row {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  align-items: start;
}

body.nova-kalkulacija-page .novi-nalog-status-stack {
  gap: 6px;
}

body.nova-kalkulacija-page .novi-nalog-status-stack .field-hint {
  margin-top: 0;
}

body.nova-kalkulacija-page .novi-nalog-footer {
  margin-top: 2px;
  padding-top: 16px;
  gap: 10px 14px;
}

body.nova-kalkulacija-page .novi-nalog-footer-msg {
  flex-basis: 100%;
  margin-top: 2px;
}

@media (max-width: 640px) {
  body.nova-kalkulacija-page .novi-nalog-dates-status-row {
    grid-template-columns: 1fr;
  }
}

.zadaci-obavestenja-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.zadaci-obav-item {
  border: 1px solid var(--pv-border-soft);
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 10px;
  background: var(--surface, #fff);
}

.zadaci-obav-item:last-child {
  margin-bottom: 0;
}

.zadaci-obav-item--neprocitano {
  border-color: var(--app-soft-blue-border);
  background: var(--app-soft-blue-bg);
}

.zadaci-obav-item--neprocitano .zadaci-obav-tekst {
  color: var(--app-soft-blue-text);
  font-weight: 500;
}

.zadaci-obav-tekst {
  font-size: 14px;
  line-height: 1.45;
  margin-bottom: 6px;
}

.zadaci-obav-meta {
  font-size: 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.zadaci-obav-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--pv-border-soft);
}

.zadaci-obav-item--neprocitano .zadaci-obav-actions {
  border-top-color: color-mix(in srgb, var(--app-soft-blue-border) 65%, transparent);
}

/* Listview zadataka — akordeon (isti princip kao faze na nalogu za operatera) */
body.zadaci-page .zadaci-faze-listview {
  border-radius: 12px;
  overflow: visible;
  border: 1px solid rgba(148, 163, 184, 0.35);
  box-sizing: border-box;
}

body.zadaci-page .zadaci-faze-listview .operator-work-faze-section-head {
  margin: 0;
  padding: 8px 12px 8px;
  background: linear-gradient(180deg, #eef2ff 0%, #f1f5f9 100%);
  border-bottom: 1px solid rgba(148, 163, 184, 0.35);
}

body.zadaci-page .zadaci-faze-listview .operator-work-faze-list:not(.zadaci-faze-list--accordion) {
  margin-top: 0;
  padding: 8px 12px 12px;
  background: linear-gradient(180deg, #eef2ff 0%, #f1f5f9 100%);
}

body.zadaci-page .zadaci-faze-listview .zadaci-faze-list--accordion {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 0;
  padding: 8px 12px 12px;
  background: linear-gradient(180deg, #eef2ff 0%, #f1f5f9 100%);
}

body.zadaci-page .zadaci-faze-listview .zadaci-faze-list-empty {
  margin: 6px 0 0;
  padding: 8px 4px;
}

body.zadaci-page .zadaci-faze-listview .operator-work-faze-accordion-item.operator-work-faze-row.zadaci-faze-row,
body.zadaci-page .zadaci-faze-listview .operator-work-faze-row.zadaci-faze-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  border: 1px solid #e8edf4;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

body.zadaci-page .zadaci-faze-accordion-head {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 11px 12px 11px 10px;
  border: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid rgba(226, 232, 240, 0.45);
  transition: background 0.12s ease;
}

body.zadaci-page .zadaci-faze-accordion-head:hover {
  background: rgba(248, 250, 252, 0.98);
}

body.zadaci-page .zadaci-faze-accordion-head[aria-expanded='true'] {
  background: #fff;
  border-bottom-color: rgba(226, 232, 240, 0.75);
}

body.zadaci-page .zadaci-faze-accordion-pr-badge {
  flex-shrink: 0;
  display: inline-block;
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 6px;
  border: 1px solid transparent;
  line-height: 1.2;
}

body.zadaci-page .zadaci-faze-accordion-head--pr-hitno .zadaci-faze-accordion-pr-badge {
  color: #991b1b;
  background: rgba(254, 226, 226, 0.9);
  border-color: rgba(248, 113, 113, 0.4);
}

body.zadaci-page .zadaci-faze-accordion-head--pr-redovno .zadaci-faze-accordion-pr-badge {
  color: #1e40af;
  background: rgba(219, 234, 254, 0.85);
  border-color: rgba(96, 165, 250, 0.45);
}

body.zadaci-page .zadaci-faze-accordion-head--pr-nisko .zadaci-faze-accordion-pr-badge {
  color: #475569;
  background: rgba(241, 245, 249, 0.95);
  border-color: rgba(148, 163, 184, 0.45);
}

body.zadaci-page .zadaci-faze-accordion-head .operator-work-st-chev {
  display: inline-block;
  flex-shrink: 0;
  font-size: 10px;
  line-height: 1;
  color: #64748b;
  transition: transform 0.18s ease;
}

body.zadaci-page .zadaci-faze-accordion-head[aria-expanded='true'] .operator-work-st-chev {
  transform: rotate(90deg);
}

body.zadaci-page .zadaci-faze-accordion-head .operator-work-faze-accordion-head-main {
  flex: 1 1 200px;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
}

body.zadaci-page .zadaci-faze-accordion-head .operator-work-faze-row-hit-title {
  font-weight: 800;
  font-size: 0.95rem;
  color: #0f172a;
  letter-spacing: 0.01em;
}

body.zadaci-page .zadaci-faze-accordion-head .zadaci-faze-accordion-head-sub {
  font-size: 0.8rem;
  font-weight: 500;
}

body.zadaci-page .zadaci-faze-accordion-head .app-status-pill {
  flex-shrink: 0;
  margin-left: auto;
}

body.zadaci-page .zadaci-faze-accordion-body {
  width: 100%;
  box-sizing: border-box;
  border-top: 0;
  background: rgba(248, 250, 252, 0.65);
}

body.zadaci-page .zadaci-faze-accordion-body-inner {
  padding: 12px 14px 14px;
  box-sizing: border-box;
}

body.zadaci-page .zadaci-faze-accordion-meta {
  font-size: 0.84rem;
  line-height: 1.45;
}

body.zadaci-page .zadaci-faze-accordion-meta p {
  margin: 0 0 6px;
}

body.zadaci-page .zadaci-faze-accordion-meta p:last-child {
  margin-bottom: 0;
}

body.zadaci-page .zadaci-faze-accordion-opis-wrap {
  margin-top: 12px;
}

body.zadaci-page .zadaci-faze-accordion-opis {
  margin-top: 6px;
  padding: 10px 12px;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #334155;
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 200px;
  overflow-y: auto;
  border-radius: 10px;
  border: 1px solid #e8edf4;
  background: #fff;
}

body.zadaci-page .zadaci-faze-accordion-actions {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(226, 232, 240, 0.75);
}

body.zadaci-page .zadaci-split {
  display: flex;
  align-items: stretch;
  gap: 0;
  width: 100%;
  min-width: 0;
  position: relative;
}

body.zadaci-page .zadaci-split-main {
  flex: 1;
  min-width: 0;
}

body.zadaci-page .phase-card.phase-row-shell.app-page-shell.gm-table-card {
  overflow: hidden;
  border-radius: 16px;
}

/* Zadaci — bočni panel: podnaslov u zaglavlju (ranije .modal .phase-card-preview) */
body.zadaci-page #zadaciNoviPanel .gm-side-panel-head > div > .muted,
body.zadaci-page #zadaciDetaljPanel .gm-side-panel-head #zadaciDetaljPreview {
  max-width: min(520px, 92vw);
  white-space: normal;
  line-height: 1.35;
  font-weight: 500;
  margin: 0.35rem 0 0;
}

body.zadaci-page #zadaciDetaljPanel .zadaci-detalj-kartica {
  border-left-width: 4px;
  border-left-style: solid;
  border-radius: 8px;
  padding-left: 10px;
  min-width: 0;
}

body.zadaci-page .zadaci-detalj-kartica.zadaci-detalj--pr-hitno {
  border-left-color: rgba(220, 38, 38, 0.92);
}

body.zadaci-page .zadaci-detalj-kartica.zadaci-detalj--pr-redovno {
  border-left-color: rgba(37, 99, 235, 0.88);
}

body.zadaci-page .zadaci-detalj-kartica.zadaci-detalj--pr-nisko {
  border-left-color: rgba(100, 116, 139, 0.78);
}

body.zadaci-page .zadaci-detalj-naslov-input {
  font-size: 1.12rem;
  font-weight: 700;
}

body.zadaci-page .zadaci-detalj-meta {
  font-size: 13px;
  line-height: 1.45;
  color: var(--pv-text);
  margin: 0 0 12px;
}

body.zadaci-page .zadaci-detalj-meta p {
  margin: 4px 0;
}

body.zadaci-page .zadaci-detalj-prava-hint {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.45;
}

body.zadaci-page .zadaci-detalj-sheet {
  gap: 2px;
}

body.zadaci-page .zadaci-detalj-sheet > .gra-field-stack {
  margin-top: 2px;
}

body.zadaci-page .zadaci-detalj-fields {
  border: none;
  margin: 0 0 4px;
  padding: 0;
  min-width: 0;
}

body.zadaci-page .zadaci-detalj-fields.gra-form-stack {
  gap: 10px;
}

body.zadaci-page .zadaci-detalj-status-wrap {
  margin: 8px 0 4px;
}

body.zadaci-page .zadaci-detalj-actions {
  margin-top: 12px;
  padding-top: 2px;
}

body.zadaci-page .zadaci-detalj-form-msg {
  min-height: 1.25rem;
  margin: 8px 0 0;
}

body.zadaci-page .zadaci-detalj-sheet #zadaciDetaljOpisTa {
  min-height: 120px;
}

.app-page-panel-body {
  padding: 14px var(--app-page-gutter-x);
  min-width: 0;
  background: var(--card, #fff);
  box-sizing: border-box;
}

/* Kalkulacija i ostali ekrani sa .gra-form-stack bez .app-form — polja prate fasc tamnu/svetlu šemu */
html[data-ui-theme='fasc'] .gra-form-stack .gra-field-stack > label {
  color: var(--pv-text);
}

html[data-ui-theme='fasc'] .gra-form-stack .gra-field-stack input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='hidden']),
html[data-ui-theme='fasc'] .gra-form-stack .gra-field-stack select:not([multiple]),
html[data-ui-theme='fasc'] .gra-form-stack .gra-field-stack textarea,
html[data-ui-theme='fasc'] textarea.gra-input-like,
html[data-ui-theme='fasc'] select.gra-input-like,
html[data-ui-theme='fasc'] input.gra-input-like {
  min-height: var(--pv-field-min-h, 40px);
  font-size: 14px;
  padding: var(--app-field-pad-y, 8px) var(--app-field-pad-x, 10px);
  border-radius: var(--pv-radius-field, 12px);
  border: 1px solid var(--pv-border);
  background-color: var(--app-btn-surface-bg);
  color: var(--pv-text);
}

html[data-ui-theme='fasc'] .gra-form-stack .gra-field-stack select:not([multiple]),
html[data-ui-theme='fasc'] select.gra-input-like {
  padding-right: 40px;
}

html[data-ui-theme='fasc'] .gra-form-stack .gra-field-stack input:disabled,
html[data-ui-theme='fasc'] .gra-form-stack .gra-field-stack select:disabled,
html[data-ui-theme='fasc'] .gra-form-stack .gra-field-stack textarea:disabled,
html[data-ui-theme='fasc'] input.gra-input-like:disabled,
html[data-ui-theme='fasc'] select.gra-input-like:disabled,
html[data-ui-theme='fasc'] textarea.gra-input-like:disabled {
  opacity: 0.72;
  cursor: not-allowed;
}

html[data-ui-theme='fasc'] .gra-form-stack .gra-field-stack input:focus-visible,
html[data-ui-theme='fasc'] .gra-form-stack .gra-field-stack select:focus-visible,
html[data-ui-theme='fasc'] .gra-form-stack .gra-field-stack textarea:focus-visible,
html[data-ui-theme='fasc'] textarea.gra-input-like:focus-visible,
html[data-ui-theme='fasc'] select.gra-input-like:focus-visible,
html[data-ui-theme='fasc'] input.gra-input-like:focus-visible {
  outline: 2px solid var(--pv-field-focus);
  outline-offset: 1px;
  border-color: var(--pv-field-focus);
}

.app-page-shell > .app-page-panel-body > .dashboard-grid {
  margin: 0;
}

/* Modal prozori (osim velikog faza modala) — isti ivičnjak kao paneli */
.modal:not(.faze-modal-shell) {
  border-color: #eef2f7;
  border-radius: 10px;
  box-shadow: 0 16px 48px rgba(15, 23, 42, 0.12);
}

.modal:not(.faze-modal-shell) > .topbar:first-child {
  margin: -16px -16px 12px -16px;
  padding: 10px 12px;
  background: rgba(248, 250, 252, 0.98);
  border-bottom: 1px solid #eef2f7;
  border-radius: 10px 10px 0 0;
}

.filters > div > label {
  display: block;
  font-size: var(--app-table-th-fs);
  font-weight: 700;
  color: var(--app-table-head-color);
  margin-bottom: 8px;
}

.filters {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr auto auto;
  gap: 8px;
  margin-bottom: 12px;
}

.filters-nalozi {
  grid-template-columns: minmax(140px, 2fr) minmax(120px, 1fr) minmax(120px, 1fr) auto;
}

.filters-nalozi .filters-actions {
  align-self: center;
}

body.nalozi-list-page .nalozi-list-view-head {
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid var(--pv-border-soft);
  border-radius: 12px;
  background: var(--app-table-head-bg);
}

body.nalozi-list-page .nalozi-list-view-hint {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.45;
}

body.nalozi-list-page .nalozi-list-view-hint strong {
  font-weight: 700;
  color: var(--pv-text);
}

body.nalozi-list-page .nalozi-list-view-hint kbd {
  display: inline-block;
  padding: 2px 6px;
  margin: 0 2px;
  font-size: 11px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  line-height: 1.25;
  vertical-align: baseline;
  border: 1px solid var(--pv-border);
  border-radius: 6px;
  background: var(--app-btn-surface-bg);
  color: var(--pv-text);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}

@media (max-width: 900px) {
  body.nalozi-list-page .nalozi-list-view-hint,
  body.nalozi-list-page .nalozi-list-view-columns {
    display: none !important;
  }

  body.nalozi-list-page .nalozi-list-view-head {
    margin-bottom: 8px;
    padding: 8px 10px;
  }

  body.nalozi-list-page .nalozi-list-view-title {
    margin: 0;
  }

  body.nalozi-list-page .podesavanja-table-frame.nalozi-table-frame {
    display: none !important;
  }

  .phase-card-bar {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 4px 8px;
  }

  .phase-card-bar .phase-card-preview {
    flex: 1 1 100%;
    max-width: 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.35;
  }

  body.nalozi-list-page .home-dashboard-sub {
    display: none;
  }
}

body.nalozi-list-page .nalozi-list-view-title {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pv-muted, #64748b);
}

body.nalozi-list-page .nalozi-list-view-columns {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--pv-muted, #64748b);
}

body.nalozi-list-page .nalozi-legend-primary {
  font-weight: 700;
  color: var(--pv-text);
}

@media (min-width: 901px) {
  body.nalozi-list-page .nalozi-list-view-columns {
    display: none;
  }
}

body.nalozi-list-page .podesavanja-table-frame .nalozi-cell-broj {
  font-weight: 800;
  font-size: 1.02rem;
  letter-spacing: -0.02em;
  color: var(--pv-primary);
}

body.nalozi-list-page .podesavanja-table-frame .nalozi-broj-link {
  color: inherit;
  text-decoration: none;
  border-radius: 4px;
}

body.nalozi-list-page .podesavanja-table-frame .nalozi-broj-link:hover {
  text-decoration: underline;
}

body.nalozi-list-page .podesavanja-table-frame .nalozi-broj-link:focus-visible {
  outline: 2px solid var(--pv-primary, #3b6fb6);
  outline-offset: 2px;
}

body.nalozi-list-page .podesavanja-table-frame .nalozi-cell-klijent {
  font-weight: 600;
  color: var(--pv-text);
}

body.nalozi-list-page .podesavanja-table-frame .nalozi-cell-rok {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

body.nalozi-list-page .podesavanja-table-frame .nalozi-cell-date {
  font-variant-numeric: tabular-nums;
  color: var(--pv-muted, #64748b);
}

body.nalozi-list-page .podesavanja-table-frame th.nalozi-th-broj,
body.nalozi-list-page .podesavanja-table-frame th.nalozi-th-klijent,
body.nalozi-list-page .podesavanja-table-frame th.nalozi-th-rok,
body.nalozi-list-page .podesavanja-table-frame th.nalozi-th-status {
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--app-table-head-color);
}

@media (min-width: 901px) {
  body.nalozi-list-page #naloziTbl thead th[data-sort],
  body.kalkulacije-list-page #kalkTbl thead th[data-sort],
  body.ponude-list-page #ponudeTbl thead th[data-sort] {
    position: relative;
    padding-right: 18px;
  }

  body.nalozi-list-page #naloziTbl thead th.nalozi-th-sorted,
  body.kalkulacije-list-page #kalkTbl thead th.nalozi-th-sorted,
  body.ponude-list-page #ponudeTbl thead th.nalozi-th-sorted {
    color: var(--pv-accent, #2563eb);
  }

  body.nalozi-list-page #naloziTbl thead th.nalozi-th-sorted-asc::after,
  body.nalozi-list-page #naloziTbl thead th.nalozi-th-sorted-desc::after,
  body.kalkulacije-list-page #kalkTbl thead th.nalozi-th-sorted-asc::after,
  body.kalkulacije-list-page #kalkTbl thead th.nalozi-th-sorted-desc::after,
  body.ponude-list-page #ponudeTbl thead th.nalozi-th-sorted-asc::after,
  body.ponude-list-page #ponudeTbl thead th.nalozi-th-sorted-desc::after {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 9px;
    line-height: 1;
    opacity: 0.88;
    content: '▲';
  }

  body.nalozi-list-page #naloziTbl thead th.nalozi-th-sorted-desc::after,
  body.kalkulacije-list-page #kalkTbl thead th.nalozi-th-sorted-desc::after,
  body.ponude-list-page #ponudeTbl thead th.nalozi-th-sorted-desc::after {
    content: '▼';
  }

  body.nalozi-list-page .nalozi-filters-details {
    margin-bottom: 16px;
    padding: 12px 14px 14px;
    border: 1px solid var(--pv-border-soft);
    border-radius: 12px;
    background: var(--app-table-head-bg);
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--pv-border) 55%, transparent);
  }

  body.nalozi-list-page .nalozi-filters-details .filters.filters-nalozi {
    margin-bottom: 0;
  }
}

body.nalozi-list-page .nalozi-empty-state {
  margin: 0 0 16px;
  padding: 22px 18px;
  text-align: center;
  border: 1px dashed var(--pv-border-soft);
  border-radius: 12px;
  background: var(--app-table-head-bg);
}

body.nalozi-list-page .nalozi-empty-state.hidden {
  display: none !important;
}

body.nalozi-list-page .nalozi-empty-title {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 700;
  color: var(--pv-text);
}

body.nalozi-list-page .nalozi-empty-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--pv-muted);
}

body.nalozi-list-page .nalozi-list-panel--empty .nalozi-table-frame,
body.nalozi-list-page .nalozi-list-panel--empty .nalozi-list-view-head,
body.nalozi-list-page .nalozi-list-panel--empty #naloziCards,
body.kalkulacije-list-page .nalozi-list-panel--empty #kalkCards,
body.ponude-list-page .nalozi-list-panel--empty #ponudeCards {
  display: none !important;
}

body.nalozi-list-page .nalozi-list-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px solid var(--pv-border-soft);
}

body.nalozi-list-page .nalozi-list-msg {
  margin: 0;
  flex: 1 1 200px;
  font-size: 13px;
  line-height: 1.4;
}

body.nalozi-list-page .nalozi-pagination-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  justify-content: space-between;
  width: 100%;
}

body.nalozi-list-page .nalozi-page-info {
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

body.nalozi-list-page .nalozi-pagination-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: auto;
}

body.nalozi-list-page .nalozi-list-summary-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  margin: 0 0 12px;
  padding: 10px 14px;
  border: 1px solid var(--pv-border-soft);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(32, 132, 243, 0.04), rgba(32, 132, 243, 0));
  font-size: 13px;
  line-height: 1.4;
}

body.nalozi-list-page .nalozi-list-summary-item strong {
  font-weight: 800;
  color: var(--pv-text);
}

body.nalozi-list-page .nalozi-list-summary-sep {
  color: var(--pv-muted);
}

body.nalozi-list-page .rn-pill-row--secondary {
  margin-top: -4px;
}

body.nalozi-list-page .rn-pill-row--kalk-filter {
  align-items: center;
  gap: 8px;
}

body.nalozi-list-page .rn-pill-row-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pv-muted);
  margin-right: 2px;
}

body.nalozi-list-page .rn-pill-strip {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Nalozi lista — kompaktan filter blok (desktop) */
@media (min-width: 901px) {
  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-list-header-hint {
    display: none;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .nalozi-list-card > .phase-card-bar {
    display: none;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-filters-mobile-summary {
    display: none;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-filters-mobile-shell {
    margin-bottom: 8px;
    border: none;
    background: transparent;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-filters-mobile-inner {
    padding: 0;
    border: none;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-toolbar {
    margin-bottom: 8px;
    padding: 0;
    border: none;
    background: transparent;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-toolbar-row--primary {
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-toolbar-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-toolbar-search-wrap {
    flex: 1 1 280px;
    min-width: 180px;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-toolbar-klijent-wrap {
    flex: 0 1 200px;
    min-width: 150px;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-toolbar-actions {
    flex: 0 0 auto;
    flex-wrap: nowrap;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-toolbar-actions .rn-toolbar-novi,
  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-toolbar-actions .rn-toolbar-izvestaji,
  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-toolbar-actions #refreshBtnToolbar {
    display: none !important;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-pill-strip {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin-bottom: 8px;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-pill-strip .rn-pill-row {
    margin-bottom: 0;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-pill-strip .rn-pill-row--secondary {
    margin-top: 0;
    padding-left: 12px;
    border-left: 1px solid var(--pv-border-soft, #e2e8f0);
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .rn-pill {
    padding: 5px 12px;
    font-size: 12px;
  }

  body.nalozi-list-page:not(.kalkulacije-list-page):not(.ponude-list-page) .nalozi-list-summary-bar {
    margin-bottom: 8px;
    padding: 6px 10px;
    font-size: 12px;
  }

  /* Kalkulacije lista — kompaktan filter blok (desktop), sva dugmad u istom redu */
  body.kalkulacije-list-page .rn-list-header-hint {
    display: none;
  }

  body.kalkulacije-list-page .rn-list-header-hint,
  body.ponude-list-page .rn-list-header-hint {
    display: none;
  }

  body.kalkulacije-list-page .nalozi-list-card > .phase-card-bar,
  body.ponude-list-page .nalozi-list-card > .phase-card-bar {
    display: none;
  }

  body.kalkulacije-list-page .rn-filters-mobile-summary,
  body.ponude-list-page .rn-filters-mobile-summary {
    display: none;
  }

  body.kalkulacije-list-page .rn-filters-mobile-shell,
  body.ponude-list-page .rn-filters-mobile-shell {
    margin-bottom: 8px;
    border: none;
    background: transparent;
  }

  body.kalkulacije-list-page .rn-filters-mobile-inner,
  body.ponude-list-page .rn-filters-mobile-inner {
    padding: 0;
    border: none;
  }

  body.kalkulacije-list-page .rn-toolbar,
  body.ponude-list-page .rn-toolbar {
    margin-bottom: 8px;
    padding: 0;
    border: none;
    background: transparent;
  }

  body.kalkulacije-list-page .rn-toolbar-row--primary,
  body.ponude-list-page .rn-toolbar-row--primary {
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
  }

  body.kalkulacije-list-page .rn-toolbar-label,
  body.ponude-list-page .rn-toolbar-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  body.kalkulacije-list-page .rn-toolbar-search-wrap,
  body.ponude-list-page .rn-toolbar-search-wrap {
    flex: 1 1 220px;
    min-width: 120px;
  }

  body.kalkulacije-list-page .rn-toolbar-klijent-wrap,
  body.ponude-list-page .rn-toolbar-klijent-wrap {
    flex: 0 1 180px;
    min-width: 120px;
  }

  body.kalkulacije-list-page .rn-toolbar-actions,
  body.ponude-list-page .rn-toolbar-actions {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    align-items: center;
  }

  body.kalkulacije-list-page .rn-toolbar-actions .btn,
  body.ponude-list-page .rn-toolbar-actions .btn {
    white-space: nowrap;
  }

  body.kalkulacije-list-page .rn-toolbar-actions .rn-toolbar-novi,
  body.kalkulacije-list-page .rn-toolbar-actions #refreshBtnToolbar,
  body.ponude-list-page .rn-toolbar-actions .rn-toolbar-novi,
  body.ponude-list-page .rn-toolbar-actions #refreshBtnToolbar {
    display: none !important;
  }

  body.kalkulacije-list-page .rn-pill-row,
  body.ponude-list-page .rn-pill-row {
    margin-bottom: 8px;
  }

  body.kalkulacije-list-page .rn-pill,
  body.ponude-list-page .rn-pill {
    padding: 5px 12px;
    font-size: 12px;
  }

  body.ponude-list-page .rn-pill-row--ponude {
    flex-wrap: wrap;
    gap: 6px;
  }
}

body.nalozi-list-page .podesavanja-table-frame .nalozi-cell-kalk {
  vertical-align: middle;
}

body.nalozi-list-page .podesavanja-table-frame .nalozi-cell-proizvod {
  color: var(--pv-text);
  font-size: 0.94rem;
}

body.nalozi-list-page .rn-kalk-veza-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 4px 9px 4px 7px;
  border-radius: 999px;
  border: 1px solid rgba(124, 58, 237, 0.28);
  background: rgba(124, 58, 237, 0.08);
  color: #5b21b6;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

body.nalozi-list-page .rn-kalk-veza-badge:hover {
  background: rgba(124, 58, 237, 0.14);
  border-color: rgba(124, 58, 237, 0.42);
  text-decoration: none;
}

body.nalozi-list-page .rn-kalk-veza-badge:focus-visible {
  outline: 2px solid var(--accent-violet, #7c3aed);
  outline-offset: 2px;
}

body.nalozi-list-page .rn-kalk-veza-badge__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent-violet, #7c3aed);
  flex-shrink: 0;
  box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.18);
}

body.nalozi-list-page .rn-kalk-veza-badge__text {
  overflow: hidden;
  text-overflow: ellipsis;
}

body.nalozi-list-page .rn-kalk-veza-badge__ver {
  flex-shrink: 0;
  padding: 1px 5px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #6d28d9;
}

body.nalozi-list-page .rn-kalk-veza-badge--inline {
  padding: 2px 7px 2px 5px;
  font-size: 11px;
  vertical-align: middle;
}

body.nalozi-list-page .rn-kalk-veza-empty {
  font-size: 13px;
}

body.nalozi-list-page .nalozi-mobile-item--kalk .nalozi-mobile-row-link {
  border-left: 3px solid var(--accent-violet, #7c3aed);
}

body.nalozi-list-page .nalozi-mobile-kalk .rn-kalk-veza-badge {
  max-width: min(100%, 12rem);
}

body.nalozi-list-page .nalozi-mobile-status .app-status-pill {
  font-size: 11px;
}

body.nalozi-list-page .podesavanja-table-frame th.nalozi-th-kalk,
body.nalozi-list-page .podesavanja-table-frame th.nalozi-th-proizvod {
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--app-table-head-color);
}

body.nalozi-list-page .nalozi-proizvodnja-panel .nalozi-pregled-ul {
  margin: 0;
  padding-left: 1.1rem;
}

body.nalozi-list-page .nalozi-page-stack {
  width: 100%;
  min-width: 0;
}

/* Zajednički bočni panel (slide-over) — geometrija i slojevi na jednom mestu (.gm-side-panel) */
.gm-side-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  z-index: var(--gm-side-panel-z, 910);
  width: var(--gm-side-panel-width, min(100vw, 26.25rem));
  max-width: 100%;
  height: 100%;
  max-height: 100dvh;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  border: none;
  border-left: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 0;
  background: var(--card, #fff);
  box-shadow: var(--gm-side-panel-shadow);
  transform: translateX(100%);
  transition: transform var(--gm-side-panel-transition-dur, 0.22s) ease;
  overflow: hidden;
  pointer-events: none;
}

.gm-side-panel--open {
  transform: translateX(0);
  pointer-events: auto;
}

/* Levi slide-over: `data-side="start"` ili klasa `.gm-side-panel--start` */
.gm-side-panel[data-side='start'],
.gm-side-panel.gm-side-panel--start {
  right: auto;
  left: 0;
  border-left: none;
  border-right: 1px solid var(--pv-border-soft, #e2e8f0);
  box-shadow: var(--gm-side-panel-shadow-start);
  transform: translateX(-100%);
}

.gm-side-panel[data-side='start'].gm-side-panel--open,
.gm-side-panel.gm-side-panel--start.gm-side-panel--open {
  transform: translateX(0);
}

.gm-side-panel-inner {
  padding: var(--gm-side-panel-inner-pad, 16px 14px 20px);
  box-sizing: border-box;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

.gm-side-panel-body {
  box-sizing: border-box;
  min-width: 0;
}

.gm-side-panel-foot {
  flex-shrink: 0;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.gm-side-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.gm-side-panel-kicker {
  margin: 0 0 4px;
  font-size: 12px;
}

.gm-side-panel-title {
  margin: 0;
  font-size: var(--gm-side-panel-title-size, 1.25rem);
  line-height: 1.25;
  font-weight: 700;
  word-break: break-word;
}

.gm-side-panel-close {
  flex-shrink: 0;
  min-width: 40px;
}

.gm-side-panel-backdrop {
  display: none;
}

.gm-side-panel-backdrop:not(.hidden) {
  display: block;
  position: fixed;
  inset: 0;
  z-index: var(--gm-side-panel-backdrop-z, 900);
  background: var(--gm-side-panel-backdrop-bg);
}

/* Lista naloga — Faza 1 (toolbar, pilule, bočni panel) */
body.nalozi-list-page .nalozi-split {
  display: flex;
  align-items: stretch;
  gap: 0;
  width: 100%;
  min-width: 0;
  position: relative;
}

body.nalozi-list-page .nalozi-split-main {
  flex: 1;
  min-width: 0;
}

body.nalozi-list-page .rn-toolbar {
  margin-bottom: 12px;
  padding: 12px 14px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: var(--pv-radius-field, 10px);
  background: var(--card, #fff);
}

body.nalozi-list-page .rn-toolbar-row {
  align-items: center;
}

body.nalozi-list-page .rn-toolbar-row--secondary {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--pv-border-soft, #eef2f7);
}

body.nalozi-list-page .rn-toolbar-label {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 4px;
}

body.nalozi-list-page .rn-toolbar-search-wrap {
  flex: 1 1 220px;
  min-width: 160px;
}

body.nalozi-list-page .rn-toolbar-search {
  width: 100%;
  min-height: var(--pv-field-min-h, 40px);
  padding: 8px 12px;
  border: 1px solid var(--pv-border, #d8dee9);
  border-radius: var(--pv-radius-field, 8px);
  font: inherit;
  box-sizing: border-box;
  background-color: var(--app-btn-surface-bg, #fff);
  color: var(--pv-text);
}

body.nalozi-list-page .rn-toolbar-actions {
  flex-wrap: nowrap;
}

body.nalozi-list-page .rn-toolbar-klijent-wrap {
  flex: 1 1 200px;
  min-width: 160px;
}

body.nalozi-list-page .rn-toolbar-select {
  width: 100%;
  min-height: var(--pv-field-min-h, 40px);
  padding: 8px 10px;
  border: 1px solid var(--pv-border, #d8dee9);
  border-radius: var(--pv-radius-field, 8px);
  font: inherit;
  box-sizing: border-box;
  background-color: var(--app-btn-surface-bg, #fff);
  color: var(--pv-text);
}

body.nalozi-list-page .rn-status-select-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.nalozi-list-page .rn-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

body.nalozi-list-page .rn-pill {
  border: 1px solid var(--pv-border, #d8dee9);
  background: var(--app-btn-surface-bg, #fff);
  border-radius: 999px;
  padding: 6px 14px;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  color: var(--text);
}

body.nalozi-list-page .rn-pill:hover {
  border-color: var(--pv-primary, #3b6fb6);
  color: var(--pv-primary, #3b6fb6);
}

body.nalozi-list-page .rn-pill--active {
  background: var(--pv-primary, #3b6fb6);
  border-color: var(--pv-primary-strong, #2d5a94);
  color: #fff;
}

body.nalozi-list-page .rn-pill:focus {
  outline: none;
}

body.nalozi-list-page .rn-pill:focus-visible {
  outline: 2px solid var(--pv-primary, #2563eb);
  outline-offset: 2px;
}

body.nalozi-list-page .rn-toolbar-actions .btn:focus {
  outline: none;
}

body.nalozi-list-page .rn-toolbar-actions .btn:focus-visible {
  outline: 2px solid var(--pv-primary, #2563eb);
  outline-offset: 2px;
}

/* Bočni rezime naloga: shell u `.gm-side-panel`; ispod samo sadržaj liste naloga. */
body.nalozi-list-page .nalozi-detail-dl {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 12px;
  font-size: 14px;
}

body.nalozi-list-page .nalozi-detail-dl dt {
  margin: 0;
  color: var(--muted);
  font-weight: 600;
}

body.nalozi-list-page .nalozi-detail-dl dd {
  margin: 0;
}

body.nalozi-list-page .nalozi-detail-status .pill {
  vertical-align: middle;
}

body.nalozi-list-page .nalozi-detail-foot {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--pv-border-soft, #eef2f7);
}

body.nalozi-list-page .nalozi-row-selected td {
  outline: 2px solid var(--pv-primary, #3b6fb6);
  outline-offset: -2px;
}

@media (max-width: 640px) {
  body.nalozi-list-page .rn-toolbar-actions .rn-toolbar-izvestaji {
    width: 100%;
    text-align: center;
  }
}

/* Radni nalozi: kartica ne sme da odseče telo tabele (lista se učita ali ostane „nevidljiva“). */
body.nalozi-list-page .phase-card.phase-row-shell.app-page-shell {
  overflow: visible;
}

/* Klijenti — bočni panel (isti obrazac kao lista naloga) */
body.klijenti-page .klijenti-split {
  display: flex;
  align-items: stretch;
  gap: 0;
  width: 100%;
  min-width: 0;
  position: relative;
}

body.klijenti-page .klijenti-split-main {
  flex: 1;
  min-width: 0;
}

body.klijenti-page .phase-card.phase-row-shell.podesavanja-float-card {
  overflow: visible;
}

body.klijenti-page .gm-side-panel-body .podesavanja-form-actions {
  margin-top: 1rem;
}

body.klijenti-page #tbl tbody tr.klijenti-row-selected td {
  outline: 2px solid var(--pv-primary, #3b6fb6);
  outline-offset: -2px;
}

/* Klijenti — centriran modal (isti obrazac kao kalkStavkaDrawer / faza štampa) */
body.klijenti-page #klijentModalBackdrop.klijent-modal-backdrop {
  z-index: 12035;
}

body.klijenti-page #klijentModalBackdrop.klijent-modal-backdrop:not(.hidden) {
  pointer-events: auto;
}

body.klijenti-page #klijentModal.klijent-modal.gm-side-panel--open {
  pointer-events: auto;
}

body.klijenti-page #klijentModal.klijent-modal.gm-side-panel {
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  z-index: 12040;
  width: min(52rem, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  height: auto;
  max-height: min(90dvh, 820px);
  margin: 0;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 12px;
  box-shadow:
    0 4px 6px -1px rgba(15, 23, 42, 0.06),
    0 24px 48px -12px rgba(15, 23, 42, 0.22);
  transform: translate(-50%, calc(-50% + 14px)) scale(0.985);
  opacity: 0;
  transition:
    transform var(--gm-side-panel-transition-dur, 0.22s) ease,
    opacity var(--gm-side-panel-transition-dur, 0.22s) ease;
}

body.klijenti-page #klijentModal.klijent-modal.gm-side-panel--open {
  transform: translate(-50%, -50%);
  opacity: 1;
}

/* Imenik kontakt osoba — iznad otvorenog panela klijenta */
body.klijenti-page #kontaktModalBackdrop.modal-backdrop {
  z-index: 12045;
}

body.klijenti-page #klijentModal .klijent-modal-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: min(90dvh, 820px);
  overflow: hidden;
  padding: 0;
}

body.klijenti-page #klijentModal .klijent-modal-head {
  flex-shrink: 0;
  padding: 16px 20px 12px;
  margin: 0;
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
}

body.klijenti-page #klijentModal .klijent-modal-title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
}

body.klijenti-page #klijentModal .klijent-modal-kicker {
  margin: 0 0 4px;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

body.klijenti-page #klijentModal .klijent-modal-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 14px 20px 8px;
}

body.klijenti-page #klijentModal .klijent-modal-foot {
  flex-shrink: 0;
  padding: 12px 20px 16px;
  margin: 0;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
}

@media (max-width: 640px) {
  body.klijenti-page #klijentModal.klijent-modal.gm-side-panel {
    width: calc(100vw - 12px);
    max-height: 94dvh;
  }
}

/* Korisnici — split + selektor reda (panel: zajednički .gm-side-panel) */
body.korisnici-page .korisnici-split {
  display: flex;
  align-items: stretch;
  gap: 0;
  width: 100%;
  min-width: 0;
  position: relative;
}

body.korisnici-page .korisnici-split-main {
  flex: 1;
  min-width: 0;
}

body.korisnici-page .phase-card.phase-row-shell.podesavanja-float-card {
  overflow: visible;
}

body.korisnici-page #tblKorisnici tbody tr.korisnici-row-selected td {
  outline: 2px solid var(--pv-primary, #3b6fb6);
  outline-offset: -2px;
}

.filters-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
}

.filters-actions .btn {
  min-height: var(--app-btn-card-row-min-h);
  box-sizing: border-box;
}

.filters-izvestaji {
  grid-template-columns: minmax(140px, 1fr) minmax(160px, 1.2fr) auto;
}

.filters-izvestaji .filters-actions {
  align-self: center;
}

.status {
  font-weight: 600;
}

.metric {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 16px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.metric .k {
  font-size: var(--app-metric-label-fs);
  color: var(--muted);
  margin-bottom: 4px;
}

.metric .v {
  font-size: var(--app-metric-value-fs);
  font-weight: 700;
}

.meta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 10px;
}

.meta-item {
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px;
  background: var(--card, #fff);
}

.meta-item .label {
  font-size: var(--app-metric-label-fs);
  color: var(--muted);
  margin-bottom: 4px;
}

.meta-item .value {
  font-size: 15px;
  color: var(--text);
  white-space: pre-wrap;
  word-break: break-word;
}

.meta-item.wide {
  grid-column: 1 / -1;
}

.btn,
a.btn,
button.btn {
  border: 1px solid var(--app-btn-surface-border, transparent);
  border-radius: var(--app-ui-btn-radius);
  background: var(--app-btn-surface-bg, #fff);
  padding: var(--app-ui-btn-pad-y) var(--app-ui-btn-pad-x);
  min-height: var(--app-ui-btn-min-h);
  box-sizing: border-box;
  text-decoration: none;
  color: var(--pv-text);
  font-family: inherit;
  font-size: var(--app-ui-btn-fs);
  font-weight: var(--app-ui-btn-fw);
  line-height: 1.25;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, filter .18s ease;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--app-ui-btn-gap);
}

/* Toolbar liste (nalozi, kalkulacije, ponude…) — polja i dugmad u jednom redu, vertikalno centrirano */
.rn-toolbar-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
}

.rn-toolbar-actions {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--app-ui-btn-gap, 8px);
  flex-shrink: 0;
}

.rn-toolbar-row .rn-toolbar-search,
.rn-toolbar-row .rn-toolbar-select {
  min-height: var(--app-ui-btn-min-h);
  box-sizing: border-box;
}

@media (min-width: 901px) {
  .rn-toolbar-row--primary {
    flex-wrap: nowrap;
    align-items: center;
  }

  .rn-toolbar-row--primary .rn-toolbar-actions {
    flex-wrap: nowrap;
    align-self: center;
  }
}

.btn:hover {
  transform: none;
  filter: none;
  box-shadow: none;
}

.btn:disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.btn.primary,
.btn.info {
  color: var(--app-btn-on-solid);
  border-color: var(--app-btn-solid-border);
  background: var(--app-btn-solid-bg);
  box-shadow: none;
}

.btn.primary:hover,
.btn.info:hover {
  filter: none;
  background: var(--app-btn-solid-bg-hover);
  border-color: var(--app-btn-solid-border);
  box-shadow: none;
}

.btn.success {
  color: var(--app-btn-on-solid);
  border-color: var(--app-btn-teal-border);
  background: var(--app-btn-teal-bg);
  box-shadow: none;
}

.btn.success:hover {
  filter: none;
  background: var(--app-btn-teal-bg-hover);
  border-color: var(--app-btn-teal-border);
  box-shadow: none;
}

.btn.light {
  border-color: var(--app-btn-surface-border);
  color: var(--app-btn-surface-text);
  background: var(--app-btn-surface-bg);
  box-shadow: none;
}

.btn.light:hover {
  filter: none;
  background: var(--app-btn-surface-bg-hover);
  border-color: var(--app-btn-surface-border);
  box-shadow: none;
}

.btn.danger {
  color: var(--app-btn-on-solid);
  border-color: var(--app-btn-danger-border);
  background: var(--app-btn-danger-bg);
  box-shadow: none;
}

.btn.danger:hover {
  filter: none;
  background: var(--app-btn-danger-bg-hover);
  border-color: var(--app-btn-danger-border);
  box-shadow: none;
}

.btn.violet {
  color: var(--app-btn-on-solid);
  border-color: var(--app-btn-violet-border);
  background: var(--app-btn-violet-bg);
  box-shadow: none;
}

.btn.violet:hover {
  filter: none;
  background: var(--app-btn-violet-bg-hover);
  border-color: var(--app-btn-violet-border);
  box-shadow: none;
}

.btn.amber {
  color: var(--app-btn-on-solid);
  border-color: var(--app-btn-amber-border);
  background: var(--app-btn-amber-bg);
  box-shadow: none;
}

.btn.amber:hover {
  filter: none;
  background: var(--app-btn-amber-bg-hover);
  border-color: var(--app-btn-amber-border);
  box-shadow: none;
}

/*
 * Semantika dugmadi (jedinstven oblik; boje iz :root --app-btn-*):
 * .primary / .info — glavna akcija (čuvanje, potvrda),
 * .success — pozitivna / dodavanje (teal),
 * .light — sekundarno, otkazivanje, neutralno,
 * .danger — brisanje i rizične akcije,
 * .violet / .amber — posebni moduli (npr. faze / naglasak).
 */

/* Grupe dugmadi — isti razmak; oblik i boje iz .btn i varijanti */
.phase-card .actions,
.phase-card-bar-actions,
.nalog-osnovni-bar-actions,
.podesavanja-form-actions,
.nova-faza-actions-bar,
.faze-modal-toolbar,
.faza-phase-toolbar--dorada,
.faza-phase-toolbar.podesavanja-form-actions,
.nalog-form-actions,
.modal .podesavanja-form-actions,
.stampa-path-actions-inline,
.priprema-path-actions,
.priprema-inline-actions,
.dorada-actions,
.dorada-cnc-path-actions,
.faza-dorada-inline-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}

.pill {
  display: inline-block;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  border: 1px solid transparent;
}

.pill.otvoren,
.pill.ceka,
.pill.u_pripremi,
.pill.ceka_isporuku {
  color: var(--app-soft-blue-text);
  background: var(--app-soft-blue-bg);
  border-color: var(--app-soft-blue-border);
}

.pill.u_radu {
  color: var(--app-soft-amber-text);
  background: var(--app-soft-amber-bg);
  border-color: var(--app-soft-amber-border);
}

.pill.zavrsen,
.pill.zavrseno {
  color: var(--app-soft-green-text);
  background: var(--app-soft-green-bg);
  border-color: var(--app-soft-green-border);
}

.pill.otkazan,
.pill.pauza {
  color: var(--app-soft-red-text);
  background: var(--app-soft-red-bg);
  border-color: var(--app-soft-red-border);
}

.pill.nacrt {
  color: var(--pv-text-muted, #6b7280);
  background: var(--pv-surface-soft, #f3f4f6);
  border-color: var(--pv-border, #d1d5db);
}

.pill.zakljucena {
  color: var(--app-soft-green-text);
  background: var(--app-soft-green-bg);
  border-color: var(--app-soft-green-border);
}

.pill.poslata {
  color: var(--app-soft-blue-text);
  background: var(--app-soft-blue-bg);
  border-color: var(--app-soft-blue-border);
}

.pill.prihvacena {
  color: var(--app-soft-green-text);
  background: var(--app-soft-green-bg);
  border-color: var(--app-soft-green-border);
}

.pill.odbijena,
.pill.istekla {
  color: var(--app-soft-red-text);
  background: var(--app-soft-red-bg);
  border-color: var(--app-soft-red-border);
}

.pill.pretvorena {
  color: var(--app-soft-amber-text);
  background: var(--app-soft-amber-bg);
  border-color: var(--app-soft-amber-border);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]),
textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: var(--app-control-min-h);
  padding: var(--app-field-pad-y) var(--app-field-pad-x);
  font-size: 14px;
  line-height: 1.4;
  border: 1px solid var(--pv-border) !important;
  border-radius: var(--pv-radius-field) !important;
  background-color: var(--app-btn-surface-bg, #fff) !important;
  color: var(--pv-text) !important;
  transition: border-color .15s ease, box-shadow .15s ease;
}

select:not([multiple]) {
  width: 100%;
  box-sizing: border-box;
  min-height: var(--app-control-min-h);
  padding: var(--app-field-pad-y) var(--app-field-pad-x);
  padding-right: 40px;
  font-size: 14px;
  line-height: 1.35;
  border: 1px solid var(--pv-border) !important;
  border-radius: var(--pv-radius-field) !important;
  color: var(--pv-text) !important;
  transition: border-color .15s ease, box-shadow .15s ease;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background-color: var(--app-btn-surface-bg, #fff) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235a6d84' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px 16px;
}

textarea {
  min-height: 100px;
  resize: vertical;
}

/* iOS Safari: fokus na polju ne „zoom“-uje ceo prikaz — font mora biti ≥16px */
@media screen and (max-width: 900px) {
  input:not([type='checkbox']):not([type='radio']):not([type='hidden']):not([type='range']),
  select:not([multiple]),
  textarea {
    font-size: 16px !important;
  }
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.35);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: max(12px, env(safe-area-inset-top)) 16px max(12px, env(safe-area-inset-bottom)) 16px;
  z-index: 1000;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* Potvrda pre zatvaranja modala (iznad kalkulacije stavka panela z-index ~12040) */
.modal-backdrop.portal-unsaved-backdrop {
  z-index: 12050;
  align-items: center;
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
}

/* Mali dijalog nesačuvanog: levo tekst (~2 reda), desno vertikalna dugmad (~12% veći od prethodnog) */
.modal.portal-unsaved-modal {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.125rem 1.375rem;
  width: auto;
  max-width: min(29.25rem, calc(100vw - 24px));
  min-width: 0;
  padding: 14px 16px;
  box-sizing: border-box;
  border-radius: 11px;
  border-color: #e2e8f0;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.92) inset,
    0 10px 32px rgba(15, 23, 42, 0.1),
    0 2px 8px rgba(15, 23, 42, 0.05);
}

.portal-unsaved-text {
  flex: 1 1 auto;
  min-width: 0;
  max-width: min(22rem, calc(100vw - 12rem));
}

.portal-unsaved-title {
  margin: 0 0 0.22rem;
  font-size: 1.01rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.25;
  color: var(--pv-text, #0f172a);
}

.portal-unsaved-lead {
  margin: 0;
  font-size: 0.90625rem;
  line-height: 1.45;
  color: var(--pv-muted, #64748b);
  overflow-wrap: anywhere;
}

.portal-unsaved-actions {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  align-items: stretch;
  gap: 7px;
  min-width: 9.5rem;
}

.portal-unsaved-actions .btn {
  width: 100%;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 420px) {
  .modal.portal-unsaved-modal {
    flex-direction: column;
    align-items: stretch;
    max-width: calc(100vw - 20px);
  }

  .portal-unsaved-text {
    max-width: none;
  }

  .portal-unsaved-actions {
    flex-direction: row;
    flex-wrap: wrap;
    min-width: 0;
  }

  .portal-unsaved-actions .btn {
    flex: 1 1 auto;
    width: auto;
    min-width: calc(50% - 4px);
  }
}

.modal {
  width: min(980px, 100%);
  background: #fff;
  border: 1px solid #eef2f7;
  border-radius: 10px;
  padding: 16px;
  flex-shrink: 0;
}

/* Jedinstveni okvir „kartičnih“ modala (senka / ivica) — šifrarnik / float kartica / pregled faze nose svoju senku */
.modal-backdrop
  > .modal:not(.portal-unsaved-modal):not(.podesavanja-sifarnik-modal):not(.faza-pregled-modal-card):not(.dorada-stavka-modal-card) {
  box-shadow:
    0 4px 6px -1px rgba(15, 23, 42, 0.06),
    0 12px 32px -10px rgba(15, 23, 42, 0.14);
  border-radius: 12px;
  border-color: #e8edf4;
}

/* Jednostavni modali (npr. kontakt osobe): skrol na uskom ekranu kad telo strane ne skroluje */
.modal-backdrop > .modal:not(.podesavanja-sifarnik-modal):not(.stavka-modal):not(.faze-modal-shell):not(.dorada-stavka-modal-card):not(.faza-pregled-modal-card):not(.portal-unsaved-modal):not(.operator-poruka-modal) {
  max-height: min(92vh, 920px);
  max-height: min(92dvh, 920px);
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

/* Modal stavke: fiksno zaglavlje, skrol samo forma (sprečava „razletanje“ na uskom ekranu) */
.modal.stavka-modal {
  max-height: min(90vh, 860px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
}

.modal.stavka-modal .stavka-modal-head {
  flex-shrink: 0;
  margin: -16px -16px 0 -16px;
  padding: 12px 16px;
  background: linear-gradient(180deg, var(--pv-navy-1) 0%, var(--pv-navy-2) 100%);
  border-bottom: 1px solid rgba(0, 20, 40, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  border-radius: 12px 12px 0 0;
}

.modal.stavka-modal .stavka-modal-head .nalog-stavke-title {
  color: #f0f6ff;
}

.modal.stavka-modal .stavka-modal-head .nalog-stavke-lead,
.modal.stavka-modal .stavka-modal-head .stavka-modal-lead {
  color: rgba(240, 246, 255, 0.78);
}

.modal.stavka-modal .stavka-modal-head .btn.light {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.28);
  color: #f0f6ff;
}

.modal.stavka-modal .stavka-modal-head .btn.light:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.38);
}

.modal.stavka-modal .stavka-modal-head .topbar {
  align-items: flex-start;
  gap: 12px;
}

.stavka-modal-title-wrap {
  min-width: 0;
}

.stavka-modal-lead {
  margin: 0;
}

.modal.stavka-modal .stavka-modal-head .actions {
  flex-shrink: 0;
  align-items: stretch;
}

.modal.stavka-modal .stavka-modal-head .actions .btn {
  min-height: var(--app-btn-card-row-min-h);
  box-sizing: border-box;
}

.modal.stavka-modal #stavkaForm {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 14px 4px 4px 0;
  margin-right: -4px;
}

body.nalog-detail-page .modal.stavka-modal .podesavanja-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #eef2f7;
}

body.nalog-detail-page .modal.stavka-modal .podesavanja-form-actions .btn {
  flex: 0 0 auto;
  min-height: var(--app-btn-card-row-min-h);
  padding: 8px 14px;
}

/* Podešavanja — forma šifrarnika u modalu (isti „lebdeći“ phase-card kao na strani) */
.modal.podesavanja-sifarnik-modal {
  width: min(760px, 100%);
  max-height: min(92vh, 900px);
  max-height: min(92dvh, 900px);
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  background: transparent;
  border: none;
  box-shadow: none;
  align-self: flex-start;
  margin-left: auto;
  margin-right: auto;
}

/* Bilo koja „lebdeća“ kartica u šifrarnik / klijent / korisnik modalu — isti flex lanac za skrol telu */
.modal.podesavanja-sifarnik-modal > .podesavanja-float-card {
  flex: 1;
  min-height: 0;
  max-height: inherit;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
  border-color: #dce3ed;
  box-shadow:
    0 4px 6px -1px rgba(15, 23, 42, 0.05),
    0 16px 40px -12px rgba(15, 23, 42, 0.16);
}

.modal.podesavanja-sifarnik-modal .podesavanja-sifarnik-modal-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

.modal.podesavanja-sifarnik-modal .podesavanja-float-card > .phase-card-bar .phase-card-preview {
  color: rgba(240, 246, 255, 0.92);
  font-size: 13px;
  font-weight: 600;
  max-width: min(420px, 46vw);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modal.podesavanja-sifarnik-modal .podesavanja-float-card > .phase-card-bar .btn.light {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.28);
  color: #f0f6ff;
}

.modal.podesavanja-sifarnik-modal .podesavanja-float-card > .phase-card-bar .btn.light:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.38);
}

.modal.podesavanja-sifarnik-modal .podesavanja-float-card > .phase-card-bar {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px 14px;
  min-height: 48px;
  padding: 10px 16px;
}

.modal.podesavanja-sifarnik-modal .podesavanja-float-card > .phase-card-bar .phase-card-tip {
  flex-shrink: 0;
}

.modal.podesavanja-sifarnik-modal .podesavanja-meta-section .gra-form-band,
body.podesavanja-page #sifarnikFormPanel .podesavanja-meta-section .gra-form-band {
  padding: 11px 14px 13px;
  border-radius: 11px;
  background: var(--card);
  border: 1px solid var(--pv-border-soft);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--pv-text) 6%, transparent);
}

.modal.podesavanja-sifarnik-modal .podesavanja-meta-section .gra-form-band .gra-form-band-title,
body.podesavanja-page #sifarnikFormPanel .podesavanja-meta-section .gra-form-band .gra-form-band-title {
  color: var(--pv-text);
  letter-spacing: 0.06em;
}

.modal.podesavanja-sifarnik-modal .podesavanja-meta-section .gra-form-band .gra-form-band-hint,
body.podesavanja-page #sifarnikFormPanel .podesavanja-meta-section .gra-form-band .gra-form-band-hint {
  color: var(--pv-muted);
}

.modal.podesavanja-sifarnik-modal .podesavanja-meta-section .gra-form-band .gra-form-band__head,
body.podesavanja-page #sifarnikFormPanel .podesavanja-meta-section .gra-form-band .gra-form-band__head {
  align-items: flex-start;
  gap: 6px 14px;
}

.modal.podesavanja-sifarnik-modal .podesavanja-checkbox-label,
body.podesavanja-page #sifarnikFormPanel .podesavanja-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  margin: 0;
  border-radius: 10px;
  background: var(--app-btn-surface-bg);
  border: 1px solid var(--pv-border-soft);
  font-size: 13px;
  font-weight: 600;
  color: var(--pv-text);
  line-height: 1.35;
  cursor: pointer;
}

.modal.podesavanja-sifarnik-modal .podesavanja-checkbox-label input,
body.podesavanja-page #sifarnikFormPanel .podesavanja-checkbox-label input {
  margin-top: 2px;
}

body.podesavanja-page #sifarnikFormPanel .podesavanja-form-actions {
  margin-top: 18px;
  padding: 14px 16px 16px;
  border-top: 1px solid var(--pv-border-soft);
  background: var(--app-table-head-bg);
  border-radius: 0 0 12px 12px;
  margin-left: -18px;
  margin-right: -18px;
  margin-bottom: -18px;
  padding-left: 18px;
  padding-right: 18px;
  gap: 10px;
}

body.podesavanja-page #sifarnikFormPanel .podesavanja-form-actions .btn.primary {
  min-height: var(--app-btn-card-row-min-h);
  padding: 9px 18px;
  font-weight: 700;
}

@media (max-width: 540px) {
  .modal.podesavanja-sifarnik-modal .podesavanja-float-card > .phase-card-bar {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .modal.podesavanja-sifarnik-modal .phase-card-bar-actions {
    width: 100%;
    justify-content: flex-end;
    margin-left: 0;
  }
}

/* Tehnološke faze — kompaktan prozor sa skrolovanjem sadržaja */
.faze-modal-shell {
  max-height: min(92vh, 940px);
  width: min(980px, 100%);
  display: flex;
  flex-direction: column;
  padding: 10px 12px 12px;
  overflow: hidden;
  box-sizing: border-box;
}

body.nalog-detail-page .stavka-nalog-faze-ui-toggle {
  margin: 10px 0 14px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: rgba(0, 0, 0, 0.03);
  box-sizing: border-box;
}

body.nalog-detail-page .stavka-nalog-faze-ui-toggle--toolbar {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin: 0;
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  box-sizing: border-box;
}

body.nalog-detail-page .stavka-nalog-faze-ui-toggle--toolbar .stavka-nalog-faze-ui-toolbar-label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--pv-muted, #64748b);
  margin: 0;
}

body.nalog-detail-page .stavka-nalog-faze-ui-toggle--toolbar .stavka-nalog-faze-ui-btns {
  gap: 6px;
}

body.nalog-detail-page .stavka-nalog-faze-ui-hint {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.4;
}

body.nalog-detail-page .stavka-nalog-faze-ui-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.nalog-detail-page .stavka-nalog-faze-ui-btns .faze-ui-version-btn--active {
  background: var(--app-btn-solid-bg, #1d4ed8);
  color: var(--app-btn-on-solid, #fff);
  border-color: var(--app-btn-solid-border, #1e40af);
  font-weight: 800;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}

/* Modal faza — grupisanje rezime + legenda + brza traka (samo CSS; DOM/hidden po audit-u) */
body.nalog-detail-page .faze-modal-shell .faze-modal-chrome-before-nova {
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.32);
}

body.nalog-detail-page .faze-modal-shell .faze-modal-chrome-before-nova .operator-faze-rezime {
  margin-bottom: 12px;
}

body.nalog-detail-page .faze-modal-shell .faze-modal-chrome-before-nova .faze-modal-status-panel {
  margin-bottom: 10px;
}

/* Dijagnostika (toast) — izbor Kartice/Tabovi za modal faza */
body.nalog-detail-page .nalog-faze-ui-diag-toast {
  position: fixed;
  right: 12px;
  bottom: 20px;
  z-index: 999999;
  max-width: min(440px, calc(100vw - 24px));
  padding: 12px 14px;
  border-radius: 10px;
  background: #0f172a;
  color: #f1f5f9;
  font-size: 13px;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

body.nalog-detail-page .nalog-faze-ui-diag-toast.hidden {
  display: none !important;
}

body.nalog-detail-page .operator-work-faze-panel-head .stavka-nalog-faze-ui-toggle--toolbar {
  flex: 0 0 auto;
}

body.nalog-detail-page .operator-work-st-body .stavka-nalog-faze-ui-toggle--toolbar {
  margin: 0;
}

/* Čist kartica-tok „Dodaj faza“ (operator): bez zaglavlja proizvoda, liste faza, legende, verzije izgleda i brzih dugmadi */
.faze-modal-shell.faze-modal--nova-faza-minimal .faze-modal-chrome-before-nova {
  display: none !important;
}

.faze-modal-shell.faze-modal--nova-faza-minimal .faze-modal-head {
  display: none !important;
}

.faze-modal-shell.faze-modal--nova-faza-minimal #fazeList {
  display: none !important;
}

.faze-modal-shell.faze-modal--nova-faza-minimal .nova-faza-tip-pick-lead {
  display: none !important;
}

.faze-modal-shell.faze-modal--nova-faza-minimal #novaFazaNazivRow {
  display: none !important;
}

.faze-modal-shell.faze-modal--nova-faza-minimal #toggleNaprednaFazaBtn {
  display: none !important;
}

.faze-modal-shell.faze-modal--nova-faza-minimal #novaFazaRedBrojCell {
  display: none !important;
}

.faze-modal-shell.faze-modal--nova-faza-minimal .faze-modal-scroll {
  padding-top: 12px;
}

.faze-modal-shell.faze-modal--nova-faza-minimal #novaFazaTipPickLead {
  display: none !important;
}

.faze-modal-shell.faze-modal--nova-faza-minimal #novaFazaCardWrap:not(.hidden) {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: none;
  max-height: min(82vh, 880px);
  min-height: 0;
  margin: 0 0 14px;
  box-sizing: border-box;
}

.faze-modal-shell.faze-modal--nova-faza-minimal #novaFazaCardWrap .phase-card-bar {
  flex-shrink: 0;
}

.faze-modal-shell.faze-modal--nova-faza-minimal #novaFazaCardWrap .nova-faza-float-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding: 14px 12px 16px;
  max-width: none;
  box-sizing: border-box;
}

.faze-modal-shell.faze-modal--nova-faza-minimal #novaFazaCardWrap #novaFazaForm {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

.faze-modal-shell.faze-modal--nova-faza-minimal #novaFazaCardWrap #novaFazaActionsBar {
  flex-shrink: 0;
}

/* Isti lepljivi thead kao u listi faza — scrollport je sada #novaFazaForm u minimalnom toku */
.faze-modal-shell.faze-modal--nova-faza-minimal #novaFazaDoradaBlock .faza-dorada-table-frame .faza-dorada-list-view-root {
  min-height: 0;
}

.faze-modal-shell.faze-modal--nova-faza-minimal #novaFazaDoradaBlock .faza-dorada-table-frame .faza-dorada-stavke-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  box-shadow: 0 1px 0 var(--app-table-row-border);
}

.faze-modal-shell.faze-modal--nova-faza-minimal[data-nova-faza-pick-only='1'] #novaFazaCardWrap .nova-faza-float-card-body {
  padding: 12px 12px 14px;
}

.faze-modal-shell.faze-modal--nova-faza-minimal #novaFazaCardWrap .nova-faza-actions-bar.podesavanja-form-actions {
  margin: 0;
  padding: 12px 14px 14px;
  border-top: 1px solid #eef2f7;
  border-radius: 0 0 12px 12px;
  background: #fafbfc;
  border-left: none;
  border-right: none;
  border-bottom: none;
}

.faze-modal-shell.faze-modal--nova-faza-minimal #novaFazaCardWrap .phase-card-bar .phase-card-preview {
  color: rgba(226, 232, 240, 0.92);
}

/* Puni modal faza: omotač kartice bez vizuelnog duplog okvira */
.faze-modal-shell:not(.faze-modal--nova-faza-minimal) #novaFazaCardWrap:not(.hidden) {
  display: contents;
  border: 0;
  box-shadow: none;
  background: transparent;
  margin: 0;
}

.faze-modal-shell:not(.faze-modal--nova-faza-minimal) #novaFazaCardWrap .nova-faza-float-card-head {
  display: none !important;
}

.faze-modal-shell:not(.faze-modal--nova-faza-minimal) #novaFazaCardWrap .nova-faza-float-card-body {
  display: contents;
  padding: 0;
  background: transparent;
}

.faze-modal-head {
  flex-shrink: 0;
}

/* Tamni „header kartice“ iznad liste faza */
.faze-modal-head-bar {
  margin: -10px -12px 14px -12px;
  padding: 18px 18px 20px;
  background: linear-gradient(155deg, #0b1220 0%, #1e293b 48%, #0f172a 100%);
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 12px 12px 0 0;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 8px 24px rgba(15, 23, 42, 0.35);
}

.faze-modal-title-wrap {
  min-width: 0;
  flex: 1;
}

.faze-modal-head-bar .faze-modal-kicker {
  margin: 0 0 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #94a3b8;
}

.faze-modal-product-line {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 14px;
}

.faze-modal-product-label {
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #cbd5e1;
  flex-shrink: 0;
}

.faze-modal-product-name {
  margin: 0;
  font-size: clamp(1.05rem, 2.6vw, 1.4rem);
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: 1.25;
  color: #f8fafc;
  word-break: break-word;
}

.faze-modal-head-bar .faze-modal-close-btn.btn.light {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.28);
  color: #f0f6ff;
}

.faze-modal-head-bar .faze-modal-close-btn.btn.light:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.38);
}

.faze-modal-head-bar .faze-modal-close-btn.btn.light:disabled {
  opacity: 0.55;
}

.faze-modal-topbar-inner {
  margin-bottom: 0 !important;
  align-items: flex-start;
}

.faze-modal-topbar-inner .actions {
  flex-shrink: 0;
  padding-top: 4px;
  align-items: stretch;
}

.faze-modal-topbar-inner .actions .btn {
  min-height: var(--app-btn-card-row-min-h);
  box-sizing: border-box;
}

.faze-modal-status-panel {
  margin-bottom: 12px;
  padding: 10px 12px;
  background: rgba(248, 250, 252, 0.92);
  border: 1px solid #e2e8f0;
  border-radius: 10px;
}

.faze-status-legend-lead {
  margin: 0 0 10px;
  font-size: 0.84rem;
  line-height: 1.45;
  color: #475569;
}

.faze-status-legend-lead strong {
  color: #334155;
  font-weight: 700;
}

.faze-modal-scroll {
  flex: 1;
  min-height: 0;
  min-width: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding-left: 14px;
  padding-right: 14px;
}

.faze-modal-status-legend {
  margin-bottom: 0 !important;
}

.faze-modal-shell .faza-modal-toolbar {
  margin-bottom: 8px;
  padding: 8px 10px;
}

.faze-modal-shell .nova-faza-actions-bar {
  margin-bottom: 8px;
  padding: 6px 10px;
}

.faze-modal-shell #fazeList {
  margin-bottom: 4px;
}

.faze-modal-shell #fazeList.faze-phase-cards-root {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: visible;
  background: #fff;
  padding: 10px 10px 12px;
  box-sizing: border-box;
}

.faze-modal-shell #fazeList.faze-phase-cards-root > .phase-card.phase-row-shell {
  margin-bottom: 0;
  border-radius: 0;
  border-width: 0 0 1px;
  transition:
    transform 0.22s ease-out,
    box-shadow 0.22s ease-out,
    border-color 0.22s ease-out;
  transform-origin: center top;
}

.faze-modal-shell #fazeList.faze-phase-cards-root > .phase-card.phase-row-shell[data-phase-collapsed='0'] {
  transform: translateY(-3px) scale(1.05);
  z-index: 80;
  position: relative;
  box-shadow:
    0 16px 36px rgba(15, 23, 42, 0.12),
    0 0 0 1px rgba(37, 99, 235, 0.14);
  border-color: #cbd5e1;
}

@media (prefers-reduced-motion: reduce) {
  .faze-modal-shell #fazeList.faze-phase-cards-root > .phase-card.phase-row-shell {
    transition-duration: 0.01ms;
  }

  .faze-modal-shell #fazeList.faze-phase-cards-root > .phase-card.phase-row-shell[data-phase-collapsed='0'] {
    transform: none;
  }

  .operator-work-faze-row {
    transition-duration: 0.01ms;
  }
}

.faze-modal-shell #fazeList.faze-phase-cards-root > .phase-card.phase-row-shell:last-child {
  border-bottom-width: 0;
}

/* Dorada: svaka faza posebna linija u listi + pregled komentara u traci */
.faze-modal-shell #fazeList.faze-phase-cards-root > .phase-card.phase-card--dorada-faza,
body.nalog-detail-page #fazeList.faze-phase-cards-root > .phase-card.phase-card--dorada-faza {
  border-left: 4px solid #d97706;
}

/* Dorada: sheet kao štampa + tabela stavki kao u podešavanjima */
.faze-modal-shell #fazeList .faza-dorada-toolbar-band,
body.nalog-detail-page #fazeList .faza-dorada-toolbar-band {
  margin-bottom: 2px;
}

.faze-modal-shell #fazeList .faza-dorada-opis-textarea,
body.nalog-detail-page #fazeList .faza-dorada-opis-textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: 72px;
  resize: vertical;
  border-radius: 10px;
  border: 1px solid var(--app-table-row-border);
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.45;
  background: #fff;
}

/* Blok kao na stranicama podešavanja (klijenti / šifrarnici): naslov + okvir tabele */
.faze-modal-shell #fazeList .faza-dorada-stavke-wrap,
body.nalog-detail-page #fazeList .faza-dorada-stavke-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.faze-modal-shell #fazeList .faza-dorada-stavke-wrap > .faze-stampa-label,
body.nalog-detail-page #fazeList .faza-dorada-stavke-wrap > .faze-stampa-label {
  margin: 0;
}

.faze-modal-shell #fazeList .faza-dorada-table-frame,
body.nalog-detail-page #fazeList .faza-dorada-table-frame {
  margin-top: 0;
  width: 100%;
  box-sizing: border-box;
}

.faze-modal-shell #fazeList .faza-dorada-table-frame .faza-dorada-list-view-root,
body.nalog-detail-page #fazeList .faza-dorada-table-frame .faza-dorada-list-view-root {
  min-height: 0;
}

/* Unutar okvira — zaglavlje ostaje vidljivo pri skrolu (kao liste u podešavanjima) */
.faze-modal-shell #fazeList .faza-dorada-table-frame .faza-dorada-stavke-table thead th,
body.nalog-detail-page #fazeList .faza-dorada-table-frame .faza-dorada-stavke-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  box-shadow: 0 1px 0 var(--app-table-row-border);
}

/* Bez zebra pruga — ravna lista kao kartičasti blok u podešavanjima */
.faze-modal-shell #fazeList .faza-dorada-stavke-table tbody tr:nth-child(even) td,
.faze-modal-shell #fazeList .faza-dorada-stavke-table tbody tr:nth-child(odd) td,
body.nalog-detail-page #fazeList .faza-dorada-stavke-table tbody tr:nth-child(even) td,
body.nalog-detail-page #fazeList .faza-dorada-stavke-table tbody tr:nth-child(odd) td {
  background: #fff;
}

/* Red kao lista u podešavanjima — klik / Enter otvara modal stavke */
.faze-modal-shell #fazeList .faza-dorada-stavka-row--click,
body.nalog-detail-page #fazeList .faza-dorada-stavka-row--click {
  cursor: pointer;
}

.faze-modal-shell #fazeList .faza-dorada-stavka-row--click:focus,
body.nalog-detail-page #fazeList .faza-dorada-stavka-row--click:focus {
  outline: none;
}

.faze-modal-shell #fazeList .faza-dorada-stavka-row--click:focus-visible,
body.nalog-detail-page #fazeList .faza-dorada-stavka-row--click:focus-visible {
  outline: 2px solid var(--pv-accent, #2563eb);
  outline-offset: -2px;
}

.faze-modal-shell #fazeList .faza-dorada-list-empty,
body.nalog-detail-page #fazeList .faza-dorada-list-empty {
  margin: 0;
  padding: var(--app-table-th-py) var(--app-table-th-px);
  font-size: var(--app-table-td-fs);
  line-height: 1.45;
}

.faze-modal-shell #fazeList .faza-dorada-stavke-table .faza-dorada-td-opis,
body.nalog-detail-page #fazeList .faza-dorada-stavke-table .faza-dorada-td-opis {
  word-break: break-word;
}

.faze-modal-shell #fazeList .faza-dorada-stavke-table .faza-dorada-th-masina,
.faze-modal-shell #fazeList .faza-dorada-stavke-table .faza-dorada-td-masina,
body.nalog-detail-page #fazeList .faza-dorada-stavke-table .faza-dorada-th-masina,
body.nalog-detail-page #fazeList .faza-dorada-stavke-table .faza-dorada-td-masina {
  width: 28%;
  min-width: 9rem;
  word-break: break-word;
  vertical-align: middle;
}

.faze-modal-shell #fazeList .faza-dorada-stavke-table .faza-dorada-th-status,
.faze-modal-shell #fazeList .faza-dorada-stavke-table .faza-dorada-td-status,
body.nalog-detail-page #fazeList .faza-dorada-stavke-table .faza-dorada-th-status,
body.nalog-detail-page #fazeList .faza-dorada-stavke-table .faza-dorada-td-status {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}

.faze-modal-shell #fazeList .faza-dorada-list-status-sel,
body.nalog-detail-page #fazeList .faza-dorada-list-status-sel {
  max-width: 11rem;
  font-size: var(--app-table-td-fs, 13px);
}

@media (min-width: 901px) {
  .faze-modal-shell #fazeList .faza-dorada-table-frame .faza-dorada-stavke-table,
  body.nalog-detail-page #fazeList .faza-dorada-table-frame .faza-dorada-stavke-table {
    table-layout: fixed;
    width: 100%;
  }

  .faze-modal-shell #fazeList .faza-dorada-stavke-table .faza-dorada-td-opis,
  .faze-modal-shell #fazeList .faza-dorada-stavke-table thead th:first-child,
  body.nalog-detail-page #fazeList .faza-dorada-stavke-table .faza-dorada-td-opis,
  body.nalog-detail-page #fazeList .faza-dorada-stavke-table thead th:first-child {
    width: auto;
    min-width: 0;
  }

  .faze-modal-shell #fazeList .faza-dorada-stavke-table thead th.faza-dorada-th-status,
  .faze-modal-shell #fazeList .faza-dorada-stavke-table .faza-dorada-td-status,
  body.nalog-detail-page #fazeList .faza-dorada-stavke-table thead th.faza-dorada-th-status,
  body.nalog-detail-page #fazeList .faza-dorada-stavke-table .faza-dorada-td-status {
    width: 10.5rem;
  }
}

.dorada-stavka-modal-backdrop {
  z-index: 11060;
}

#doradaStavkaPanel.dorada-stavka-side-panel {
  z-index: 11070;
  width: min(100vw, 32rem);
  max-width: 100%;
}

#doradaStavkaPanel .gm-side-panel-inner.dorada-stavka-side-inner {
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
}

#doradaStavkaPanel.dorada-stavka-side-panel .gm-side-panel-head {
  flex-shrink: 0;
}

#doradaStavkaPanel.dorada-stavka-side-panel .dorada-stavka-modal-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
  gap: var(--app-gap-band-to-fields, 14px);
}

#doradaStavkaPanel .dorada-stavka-modal-body > .gra-form-band:first-of-type {
  margin-top: 0;
}

#doradaStavkaPanel #doradaStavkaModalFields .gra-field-stack select,
#doradaStavkaPanel #doradaStavkaModalFields .gra-field-stack input[type='text'] {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#doradaStavkaPanel .dorada-stavka-modal-fields-inner {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

#doradaStavkaPanel .dorada-cnc-path-wrap {
  width: 100%;
  min-width: 0;
}

#doradaStavkaPanel .dorada-stavka-modal-actions {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #e2e8f0;
  background: linear-gradient(180deg, rgba(241, 245, 249, 0.65) 0%, #eef2f7 100%);
}

#doradaStavkaPanel .dorada-stavka-modal-actions .btn {
  flex: 0 1 auto;
  min-width: min(11rem, 100%);
  justify-content: center;
}

/* Nalog — izmena stavke: bočni panel (gm-side-panel) */
.nalog-stavka-panel-backdrop {
  z-index: 11050;
}

#nalogStavkaPanel.nalog-stavka-side-panel {
  z-index: 11060;
  width: min(100vw, 32rem);
  max-width: 100%;
}

#nalogStavkaPanel .gm-side-panel-inner.nalog-stavka-side-inner {
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-height: 100%;
  height: 100%;
  overflow: hidden;
  padding: 0;
}

#nalogStavkaPanel .nalog-stavka-panel-form {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

#nalogStavkaPanel .gm-side-panel-head {
  flex-shrink: 0;
  padding: 14px 14px 0;
  margin-bottom: 0;
}

#nalogStavkaPanel .nalog-stavka-panel-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding: 10px 14px 12px;
  gap: 12px;
}

#nalogStavkaPanel .nalog-stavka-panel-foot {
  flex-shrink: 0;
  padding: 12px 14px calc(12px + env(safe-area-inset-bottom, 0px));
  margin-top: 0;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
  background: var(--card, #fff);
  gap: 8px;
}

#nalogStavkaPanel .nalog-stavka-panel-foot .btn.primary {
  order: -1;
}

#nalogStavkaPanel .stavka-modal-lead {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
}

body.nalog-detail-page #stavkaForm.stavka-form--za-kalk .stavka-form-rn-only {
  display: none !important;
}

body.nalog-detail-page #stavkaForm.stavka-form--za-kalk .stavka-form-field-tiraz {
  grid-template-columns: 1fr;
}

/* Dorada u modalu faza: ista traka akcija kao ostale faze (čitljivost + jedan ritam dugmadi) */
.faze-modal-shell .faza-dorada-toolbar-band .faza-phase-toolbar.faza-phase-toolbar--dorada,
.faze-modal-shell #novaFazaDoradaBlock .faza-phase-toolbar.faza-phase-toolbar--dorada {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(217, 119, 6, 0.32);
  border-radius: 10px;
  border-bottom: none;
  background: linear-gradient(180deg, #fffbeb 0%, #fff7e6 55%, #fff 100%);
  box-shadow: 0 1px 2px rgba(180, 83, 9, 0.07);
}

.faze-modal-shell .phase-card--dorada-faza .dorada-cnc-path-actions,
.faze-modal-shell #novaFazaDoradaBlock .dorada-cnc-path-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
}

#doradaStavkaPanel .dorada-stavka-modal-opis-textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: 72px;
  resize: vertical;
  border-radius: 10px;
  border: 1px solid var(--app-table-row-border);
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.45;
  background: #fff;
}

.dorada-stavka-modal-lead {
  margin: 0 0 4px;
  font-size: 13px;
  line-height: 1.45;
}

.dorada-stavka-modal-backdrop.dorada-stavka-modal--readonly + #doradaStavkaPanel .dorada-stavka-modal-body {
  opacity: 0.98;
}

.dorada-stavka-modal-backdrop.dorada-stavka-modal--readonly + #doradaStavkaPanel .dorada-stavka-modal-body input:disabled,
.dorada-stavka-modal-backdrop.dorada-stavka-modal--readonly + #doradaStavkaPanel .dorada-stavka-modal-body select:disabled,
.dorada-stavka-modal-backdrop.dorada-stavka-modal--readonly + #doradaStavkaPanel .dorada-stavka-modal-body textarea[readonly] {
  cursor: default;
}

.faze-modal-shell .phase-card-bar.phase-card-bar--dorada {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}

.faze-modal-shell .phase-card-bar-row--main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}

.faze-modal-shell .phase-card-bar-row--preview {
  padding-top: 6px;
  border-top: 1px dashed #e2e8f0;
}

.faze-modal-shell .phase-card-faza-preview {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: #334155;
  word-break: break-word;
}

.faze-modal-shell .phase-card-faza-preview.phase-card-faza-preview--empty {
  color: #94a3b8;
  font-style: italic;
}

.faze-modal-shell .phase-card-dorada-nr {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 3px 8px;
  border-radius: 6px;
  background: #fffbeb;
  color: #b45309;
  flex-shrink: 0;
}

.faze-modal-shell .phase-card-stampa-nr {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 3px 8px;
  border-radius: 6px;
  background: #eff6ff;
  color: #1d4ed8;
  flex-shrink: 0;
}

.faze-modal-shell .phase-card-stampa-vrsta {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #475569;
  flex-shrink: 1;
  min-width: 0;
}

.faze-modal-shell .faza-dorada-komentar-block textarea {
  min-height: 140px;
  resize: vertical;
  font-size: 0.95rem;
  line-height: 1.5;
}

.dorada-entry-panel {
  margin: 0 0 14px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px dashed #fcd34d;
  background: linear-gradient(180deg, #fffbeb 0%, #fff 72%);
}

.dorada-entry-panel-lead {
  margin: 0 0 12px;
  font-size: 0.92rem;
  line-height: 1.5;
  max-width: 52rem;
}

.dorada-entry-panel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.faze-quick-toolbar-wrap {
  margin-bottom: 12px;
}

.faze-quick-toolbar-wrap .faza-modal-toolbar {
  margin-bottom: 0;
}

.faze-modal-shell .faza-phase-toolbar.podesavanja-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px 10px;
  margin: 0 0 10px;
  padding: 0 8px 10px;
  border-top: none;
  border-bottom: 1px solid #eef2f7;
}

.faze-modal-shell .nova-faza-form-in-modal {
  margin-top: 8px !important;
}

.faze-modal-msg {
  margin: 0 0 8px;
  font-size: 0.86rem;
}

#fazeMsg.faze-msg--error {
  color: #b91c1c;
  font-weight: 600;
  padding: 8px 10px;
  margin-top: 0;
  margin-bottom: 10px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  position: sticky;
  top: 0;
  z-index: 5;
}

/* Nova faza / ploter: sprečava horizontalni overflow u modalu (grid min-content širina). */
#novaFazaStampaBranchMount.nova-faza-stampa-branch-mount {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

#novaFazaForm.gra-form-stack,
#novaFazaDetalji,
.nova-faza-detalji-stack,
#novaFazaPripremaOnly,
#novaFazaStampaBlock,
#novaFazaDoradaBlock,
.faza-phase-form-sheet,
.faze-stampa-sheet,
.faza-dorada-sheet,
.ploter-stampa-section,
.ploter-stampa-inner-grid {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.ploter-stampa-inner-grid .faza-stampa-field select,
.ploter-stampa-inner-grid .faza-stampa-field input:not([type="checkbox"]):not([type="radio"]) {
  max-width: 100%;
  box-sizing: border-box;
}

.status-legend {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.phase-head {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) 72px minmax(128px, 168px) max-content;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  color: #64748b;
  padding: 0 2px 6px;
  align-items: center;
}

.modal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 10px 12px;
}

.modal-grid .full {
  grid-column: 1 / -1;
}

.faza-detalji-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.faza-detalji-grid textarea {
  min-height: 64px;
  resize: vertical;
}

/* Novа faza: isti raspored kao u redu lista (bez 3‑kolonne mreže na celom blokу). */
.nova-faza-detalji-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 10px;
}

.contact-row {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr auto;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
}

.contact-row input,
.contact-row textarea,
.contact-row select {
  width: 100%;
}

.contact-row .actions {
  justify-content: flex-end;
  align-items: stretch;
}

.contact-row .actions .btn {
  min-height: var(--app-btn-card-row-min-h);
  box-sizing: border-box;
}

/* Kartica kontakt osobe u modalu Klijenti — labele + isti ritam kao forma nove osobe */
.modal .kontakt-list-card {
  margin-bottom: 14px;
  padding: 14px 14px 12px;
  border: 1px solid var(--pv-border-soft);
  border-radius: 12px;
  background: var(--card, #fff);
  box-sizing: border-box;
}

.modal .kontakt-list-card:last-child {
  margin-bottom: 2px;
}

.modal .kontakt-list-card .gra-fields-row + .gra-fields-row {
  margin-top: var(--app-gap-row-to-row);
}

.modal .kontakt-list-card-actions {
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--pv-border-soft);
}

.modal .kontakt-list-card .gra-field-stack label {
  font-size: 13px;
  font-weight: 600;
  color: var(--pv-text);
}

.modal .kontakt-list-card input[type='text'],
.modal .kontakt-list-card input[type='email'] {
  min-height: var(--pv-field-min-h);
  font-size: 14px;
  padding: var(--app-field-pad-y) var(--app-field-pad-x);
  border-radius: var(--pv-radius-field);
  border: 1px solid var(--pv-border);
  background: var(--app-btn-surface-bg);
  color: var(--pv-text);
  box-sizing: border-box;
  width: 100%;
}

.dorada-ops-wrap .contact-row {
  grid-template-columns: 1fr 112px;
  margin-bottom: 6px;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 6px;
  background: rgba(255, 255, 255, 0.72);
}

.dorada-ops-wrap .btn {
  min-height: var(--app-btn-card-row-min-h);
  white-space: nowrap;
}

.faza-dorada-editor {
  border: 1px dashed #d1d9e6;
  border-radius: 10px;
  padding: 8px;
  background: rgba(255, 255, 255, 0.45);
}

.faza-dorada-editor .contact-row {
  grid-template-columns: 1fr 112px;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 6px;
  background: rgba(255, 255, 255, 0.72);
}

.dorada-ops-wrap .contact-row > *,
.faza-dorada-editor .contact-row > * {
  min-width: 0;
}

.dorada-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 8px;
  align-items: center;
}

.dorada-outsource-row {
  grid-column: 1 / -1;
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
}

.dorada-outsource-stack {
  gap: 8px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: rgba(241, 245, 249, 0.9);
}

.dorada-modal-outsource-row {
  margin-top: 2px;
}

.dorada-modal-outsource-row .dorada-outsource-stack {
  padding: 0;
  border: 0;
  background: transparent;
  gap: 6px;
}

.dorada-outsource-row > label,
.dorada-modal-outsource-row label[for='doradaModalSpoljnoChk'] {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 6px;
  width: auto;
  max-width: 100%;
  text-align: left;
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 500;
  color: #334155;
}

.dorada-outsource-row > label input[type='checkbox'],
.dorada-modal-outsource-row label[for='doradaModalSpoljnoChk'] input[type='checkbox'] {
  vertical-align: middle;
  margin-right: 0;
}

.dorada-outsource-klijent-sel {
  min-width: 12rem;
  max-width: 100%;
}

.dorada-actions {
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
}

.dorada-actions .btn {
  width: 100%;
  min-width: 112px;
}

.dorada-ops-wrap .actions,
.faza-dorada-editor .actions {
  justify-content: flex-end;
}

[data-faza-dorada-toggle-wrap] .btn.light {
  border-style: dashed;
}

@media (min-width: 901px) {
  .enterprise-shell {
    gap: 10px;
  }

  .app-header {
    padding: 8px var(--app-page-gutter-x);
  }

  .card {
    padding: 14px;
  }
}

.phase-row {
  display: grid;
  grid-template-columns: 38px 1fr 140px 140px auto;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
}

/* Lista faza: kartica + skupljivi detalj */
.faza-modal-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin-bottom: 12px;
  padding: 10px 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
}

.nova-faza-actions-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-bottom: 10px;
  padding: 8px 12px;
  background: #eef2ff;
  border: 1px solid #c7d2fe;
  border-radius: 8px;
}

.faza-dorada-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}

#fazeList .phase-row-inner {
  grid-template-columns: minmax(120px, 1fr) 72px minmax(128px, 168px) minmax(0, 12px);
}

.phase-card-bar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-left: auto;
}

/* Detalj naloga — padajući meni akcija u traci OSNOVNI PODACI */
.nalog-osnovni-actions-wrap {
  position: relative;
}

/* Admin akcije u traci Osnovno — CSS po ulozi (bez trke auth / inline skripte) */
body.nalog-detail-page #nalogOsnovniEditBtn,
body.nalog-detail-page #nalogOsnovniActionsWrap {
  display: none;
}

body.nalog-detail-page[data-user-role='admin']:not([data-nalog-osnovni-inline-edit='1']) #nalogOsnovniEditBtn {
  display: inline-flex !important;
}

body.nalog-detail-page[data-user-role='admin']:not([data-nalog-osnovni-inline-edit='1']) #nalogOsnovniActionsWrap {
  display: block !important;
}

.nalog-actions-toggle .nalog-actions-caret {
  margin-left: 5px;
  font-size: 0.72em;
  opacity: 0.85;
  vertical-align: middle;
}

.nalog-actions-panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 60;
  min-width: 232px;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--pv-border);
  border-radius: 12px;
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.14);
}

.nalog-actions-menu-item {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 10px 12px;
  margin: 0;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  color: var(--pv-text);
  line-height: 1.35;
}

button.nalog-actions-menu-item {
  font-family: inherit;
}

.nalog-actions-menu-item:hover,
.nalog-actions-menu-item:focus-visible {
  background: #f1f5f9;
  outline: none;
}

.nalog-actions-menu-link {
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
}

.nalog-actions-menu-danger {
  color: #b91c1c;
}

.nalog-actions-menu-danger:hover,
.nalog-actions-menu-danger:focus-visible {
  background: #fef2f2;
}

/* Panel živi u traci OSNOVNI PODACI — roditeljska kartica inače seče overflow */
#nalogOsnovniShell.phase-card.phase-row-shell {
  overflow: visible;
}

#nalogOsnovniShell .phase-card-body {
  border-radius: 0 0 10px 10px;
  overflow: hidden;
  padding: 16px 18px 22px;
}

/* Inline izmena naloga: podkartica klijent / kontakt (isti ritam kao faze) */
.nalog-subcard {
  margin-top: 14px;
  border: 1px solid #eef2f7;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.nalog-subcard-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  padding: 8px 10px;
  background: rgba(248, 250, 252, 0.98);
  border-bottom: 1px solid #eef2f7;
}

.nalog-subcard-bar .phase-card-toggle {
  flex-shrink: 0;
  min-width: 4.5rem;
  padding: 6px 10px !important;
  font-size: 12px;
  line-height: 1.2;
}

.nalog-subcard-label {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: #475569;
}

.nalog-subcard-preview {
  flex: 1;
  min-width: 0;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.nalog-subcard-body {
  padding: 12px 14px;
}

.nalog-subcard-body.is-collapsed {
  display: none;
}

/* Detalj naloga — kartica „Osnovni podaci“ (čitljiviji raspored, veća polja) */
.nalog-osnovni-section-title {
  margin: 0 0 10px;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #475569;
}

.nalog-osnovni-lead {
  margin: 0 0 16px;
  font-size: 0.93rem;
  line-height: 1.5;
  max-width: 56rem;
}

.nalog-meta-wrap {
  margin-bottom: 8px;
}

.nalog-meta-grid {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
}

.nalog-meta-grid .meta-item {
  padding: 14px 16px;
  border-radius: 12px;
  border-color: #e2e8f0;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.nalog-meta-grid .meta-item .label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #64748b;
}

.nalog-meta-grid .meta-item .value {
  font-size: 15px;
  font-weight: 600;
  color: #0f172a;
}

.nalog-inline-form,
.app-form {
  margin-top: 6px;
}

.nalog-form-hero-broj {
  margin-bottom: 22px;
  padding: 16px 18px;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  border: 1px solid #e2e8f0;
  border-radius: 14px;
}

.nalog-form-label-accent {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 8px;
}

.nalog-input-broj {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 14px 16px;
  border-radius: 12px;
  border: 2px solid #cbd5e1;
  background: #fff;
  color: #0f172a;
  cursor: default;
}

.nalog-input-broj:focus {
  outline: none;
  border-color: #94a3b8;
  box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.28);
}

.nalog-input-broj--editable {
  cursor: text;
  font-weight: 700;
}

.nalog-form-microhint {
  margin: 10px 0 0;
  font-size: 0.8rem;
  color: #64748b;
  line-height: 1.45;
}

.nalog-form-fields {
  margin-bottom: 6px;
}

.nalog-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
}

.nalog-form-grid--tight {
  gap: 10px 12px;
}

.nalog-field-span-2 {
  grid-column: 1 / -1;
}

.nalog-inline-form label,
.app-form label,
form.modal-grid label {
  font-size: var(--app-table-th-fs);
  font-weight: 700;
  color: var(--app-table-head-color);
  margin-bottom: 6px;
}

.nalog-inline-form input[type="date"],
.nalog-inline-form input[type="text"],
.nalog-inline-form input[type="password"],
.app-form input[type="date"],
.app-form input[type="text"],
.app-form input[type="search"],
.app-form input[type="password"],
.app-form input[type="email"],
.app-form input[type="number"],
.app-form input[type="tel"],
.app-form input:not([type]),
form.modal-grid input[type="date"],
form.modal-grid input[type="text"],
form.modal-grid input[type="password"],
form.modal-grid input[type="number"],
form.modal-grid input:not([type]) {
  min-height: var(--pv-field-min-h);
  font-size: 14px;
  padding: var(--app-field-pad-y) var(--app-field-pad-x);
  border-radius: var(--pv-radius-field);
  border: 1px solid var(--pv-border);
  background: var(--app-btn-surface-bg, #fff);
  color: var(--pv-text);
}

/* Select u formama — samo background-color (šorthand „background“ briše custom strelicu) */
.nalog-inline-form select:not([multiple]),
.app-form select:not([multiple]),
form.modal-grid select:not([multiple]) {
  min-height: var(--pv-field-min-h);
  font-size: 14px;
  padding: var(--app-field-pad-y) var(--app-field-pad-x);
  padding-right: 40px;
  border-radius: var(--pv-radius-field);
  border: 1px solid var(--pv-border);
  background-color: var(--app-btn-surface-bg, #fff);
  color: var(--pv-text);
}

/* Novi nalog: jedan red „Broj naloga:“ + broj — bez okvira; mora posle .app-form input */
.nalog-broj-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4em 0.65rem;
  margin: 0 0 14px;
  padding: 0;
  min-width: 0;
}

.nalog-broj-prefix {
  font-size: clamp(1.05rem, 2.6vw, 1.2rem);
  font-weight: 600;
  color: var(--pv-text);
  flex-shrink: 0;
}

.app-form .nalog-broj-line .nalog-input-broj.nalog-input-broj--solo-nova {
  flex: 1 1 auto;
  display: inline-block;
  width: auto;
  min-width: 6ch;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 0;
  font-size: clamp(2.25rem, 5.75vw, 3.25rem);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.12;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #0f172a;
  cursor: default;
  box-shadow: none;
}

.app-form .nalog-broj-line .nalog-input-broj.nalog-input-broj--solo-nova:focus {
  outline: none;
  box-shadow: none;
}

.app-form .nalog-broj-line .nalog-input-broj.nalog-input-broj--solo-nova:focus-visible {
  outline: 2px solid rgba(32, 132, 243, 0.45);
  outline-offset: 3px;
  border-radius: 2px;
}

.nalog-inline-form textarea,
.app-form textarea,
form.modal-grid textarea {
  min-height: 150px;
  font-size: 14px;
  line-height: 1.45;
  padding: var(--app-field-pad-y) var(--app-field-pad-x);
  border-radius: var(--pv-radius-field);
  border: 1px solid var(--pv-border);
  resize: vertical;
  background: var(--app-btn-surface-bg, #fff);
  color: var(--pv-text);
}

.nalog-inline-form select,
.app-form select,
form.modal-grid select {
  cursor: pointer;
}

.nalog-inline-form .field-hint,
.app-form .field-hint,
form.modal-grid .field-hint {
  margin-top: 8px;
  font-size: 0.82rem;
}

.filters input[type="date"],
.filters input[type="search"] {
  min-height: var(--pv-field-min-h);
  font-size: 15px;
  padding: var(--app-field-pad-y) var(--app-field-pad-x);
  border-radius: var(--pv-radius-field);
  border: 1px solid var(--pv-border);
  background: var(--app-btn-surface-bg, #fff);
  color: var(--pv-text);
  box-sizing: border-box;
}

.filters select:not([multiple]) {
  min-height: var(--pv-field-min-h);
  font-size: 15px;
  padding: var(--app-field-pad-y) var(--app-field-pad-x);
  padding-right: 40px;
  border-radius: var(--pv-radius-field);
  border: 1px solid var(--pv-border);
  background-color: var(--app-btn-surface-bg, #fff);
  color: var(--pv-text);
  box-sizing: border-box;
}

.filters .field-hint {
  margin-top: 8px;
  font-size: 0.82rem;
}

.app-form .grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
}

.app-form .grid.grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.app-form .grid .full {
  grid-column: 1 / -1;
}

form.app-form.grid {
  gap: 10px 12px;
}

#stavkaForm.gra-form-stack .actions {
  margin-top: 4px;
}

.modal .contact-row input[type="text"],
.modal .contact-row input[type="email"],
.modal .contact-row select,
.modal .contact-row textarea {
  min-height: var(--pv-field-min-h);
  font-size: 15px;
  padding: var(--app-field-pad-y) var(--app-field-pad-x);
  border-radius: var(--pv-radius-field);
  border: 1px solid var(--pv-border);
  background: #fff;
  box-sizing: border-box;
}

.modal .contact-row label {
  font-size: 0.95rem;
  font-weight: 600;
  color: #334155;
}

.nalog-subcard--form {
  margin-top: 18px;
}

.nalog-subcard-hint {
  margin-bottom: 12px !important;
}

.nalog-form-actions {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #eef2f7;
  flex-wrap: wrap;
  gap: 10px;
}

.nalog-inline-msg {
  margin-top: 12px;
}

.nalog-stavke-card,
.app-form-card {
  padding: 18px 16px;
}

.nalog-stavke-title {
  font-size: var(--app-section-title-fs);
  font-weight: 700;
  color: var(--pv-text);
  margin-bottom: 8px;
}

.nalog-stavke-lead {
  margin: 0 0 14px;
  font-size: 0.93rem;
}

body.nalog-detail-page .podesavanja-lista-toolbar {
  margin-bottom: 10px;
}

body.nalog-detail-page .podesavanja-toolbar-inner.actions {
  gap: 8px 12px;
  align-items: stretch;
}

body.nalog-detail-page #stavkeCards.podesavanja-mobile-cards-root {
  display: none;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 901px) {
  body.nalog-detail-page .podesavanja-table-frame table#stavkeTbl tbody tr.stavka-admin-head-row:hover td {
    background: rgba(15, 23, 42, 0.03);
  }

  body.nalog-detail-page .podesavanja-table-frame table#stavkeTbl tbody tr.stavka-admin-head-row:focus-within {
    outline: 2px solid rgba(37, 99, 235, 0.25);
    outline-offset: -2px;
  }
}

/*
 * Grupisanje polja — kao PolovnaVozila novi oglas (.pv-oglas-step2-band + .pv-oglas-fields-row)
 */
.gra-form-stack {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

.gra-form-stack .gra-fields-row + .gra-form-band {
  margin-top: var(--app-gap-fields-to-band);
}

.gra-form-stack .gra-form-band + .gra-fields-row {
  margin-top: var(--app-gap-band-to-fields);
}

.gra-form-stack .gra-fields-row + .gra-fields-row {
  margin-top: var(--app-gap-row-to-row);
}

.gra-form-stack > .gra-form-band:first-of-type {
  margin-top: var(--app-gap-band-first-offset);
}

.gra-form-stack > .settings-tabs-shell + .gra-form-band {
  margin-top: var(--app-gap-fields-to-band);
}

.gra-form-band {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  padding: 10px 14px 12px;
  border-radius: 10px;
  background: linear-gradient(180deg, var(--pv-navy-1) 0%, var(--pv-navy-2) 100%);
  border: 1px solid rgba(0, 20, 40, 0.35);
  box-shadow: 0 2px 8px rgba(15, 36, 61, 0.18);
}

.gra-form-band__head {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 18px;
}

.gra-form-band-title {
  display: block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #f0f6ff;
}

.gra-form-band-hint {
  margin: 0;
  flex: 1 1 260px;
  min-width: min(100%, 220px);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
  color: rgba(240, 246, 255, 0.88);
}

.gra-fields-row {
  display: grid;
  gap: 12px 14px;
  width: 100%;
  align-items: start;
}

.gra-fields-row--1 {
  grid-template-columns: minmax(0, 1fr);
}

.gra-fields-row--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gra-fields-row--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gra-fields-row--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gra-field-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.gra-span-full {
  grid-column: 1 / -1;
}

.gra-form-stack .nalog-form-hero-broj + .nalog-form-fields,
.gra-form-stack .nalog-form-hero-broj + section.nalog-form-fields,

/* Raspored kolona kao PolovnaVozila (.pv-oglas-fields-row) */
@media (max-width: 900px) {
  .grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-form .grid.grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gra-fields-row--3,
  .gra-fields-row--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .grid-3 {
    grid-template-columns: 1fr;
  }

  .gra-fields-row--2,
  .gra-fields-row--3,
  .gra-fields-row--4 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .nalog-form-grid {
    grid-template-columns: 1fr;
  }

  .nalog-field-span-2 {
    grid-column: 1;
  }

  .nalog-input-broj {
    font-size: 1.2rem;
  }

  .app-form .nalog-broj-line .nalog-input-broj.nalog-input-broj--solo-nova {
    font-size: clamp(1.75rem, 7vw, 2.5rem);
  }

  .app-form .grid {
    grid-template-columns: 1fr;
  }

  .app-form .grid.grid-3 {
    grid-template-columns: 1fr;
  }

  .app-form .grid .full {
    grid-column: 1;
  }
}

.phase-card {
  margin-bottom: 10px;
}

.phase-card.phase-row-shell {
  padding: 0;
  overflow: hidden;
  border: 1px solid #eef2f7;
  border-radius: 10px;
}

.phase-card-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  padding: 8px 10px;
  background: rgba(248, 250, 252, 0.98);
  border-bottom: 1px solid #eef2f7;
}

.phase-card-bar:has(.nova-stampa-hidden-select) {
  position: relative;
}

.phase-card-faza-vrsta {
  flex: 0 0 6.75rem;
  width: 6.75rem;
  box-sizing: border-box;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.03em;
  line-height: 1.3;
  white-space: nowrap;
  align-self: center;
}

.phase-card-bar-divider {
  flex-shrink: 0;
  width: 1px;
  height: 1.125rem;
  margin: 0 6px;
  background: #cbd5e1;
}

.phase-card-status-inline {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 8px;
  flex-shrink: 0;
  align-self: center;
}

.phase-card-status-label {
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
}

.phase-card-status-value {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  border: none;
  padding: 0;
  background: transparent;
}

.phase-card-status-value.ceka,
.phase-card-status-value.u_pripremi {
  color: #1d4ed8;
}

.phase-card-status-value.u_radu {
  color: #b45309;
}

.phase-card-status-value.zavrseno,
.phase-card-status-value.zavrsen {
  color: #166534;
}

.phase-card-status-value.pauza,
.phase-card-status-value.otkazan {
  color: #b91c1c;
}

.phase-card-status-value.app-status-pill.pill {
  padding: 4px 10px;
  border-width: 1px;
  border-style: solid;
}

.phase-card-toggle {
  flex-shrink: 0;
  min-width: 4.5rem;
  padding: 6px 10px !important;
  font-size: 12px;
  line-height: 1.2;
}

.phase-card-toggle.phase-card-toggle--faza {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 5.75rem;
  font-weight: 600;
}

.phase-card-toggle-chevron {
  display: inline-block;
  font-size: 10px;
  line-height: 1;
  opacity: 0.88;
  transform: translateY(0.5px);
}

/* Kartica faze u listi: jedan red kao ostale liste — klik otvara detalje */
#fazeList .phase-card-bar--faza-list {
  cursor: pointer;
  user-select: none;
}

#fazeList .phase-card-bar--faza-list:hover {
  filter: brightness(0.985);
}

#fazeList .phase-card-bar--faza-list:focus-visible {
  outline: 2px solid var(--pv-accent, #2563eb);
  outline-offset: -2px;
}

#fazeList .phase-card-bar--faza-list .phase-card-bar-chevron {
  margin-left: auto;
  flex-shrink: 0;
  font-size: 11px;
  line-height: 1;
  opacity: 0.88;
}

#fazeList .phase-card[data-phase-collapsed="0"] .phase-card-bar--faza-list {
  box-shadow: inset 0 -1px 0 rgba(15, 23, 42, 0.06);
}

/* Glavno dugme za promenu statusa: boja odgovara ciljnom statusu (data-faza-status-next) */
#fazeList .faza-phase-toolbar .faza-status-action-btn {
  font-weight: 600;
}

#fazeList .faza-phase-toolbar .faza-status-action-btn[data-faza-status-next="ceka"],
#fazeList .faza-phase-toolbar .faza-status-action-btn[data-faza-status-next="u_pripremi"] {
  color: var(--app-soft-blue-text);
  background: var(--app-soft-blue-bg);
  border-color: var(--app-soft-blue-border);
}

#fazeList .faza-phase-toolbar .faza-status-action-btn[data-faza-status-next="ceka"]:hover,
#fazeList .faza-phase-toolbar .faza-status-action-btn[data-faza-status-next="u_pripremi"]:hover {
  filter: brightness(0.97);
  border-color: var(--app-soft-blue-border);
}

#fazeList .faza-phase-toolbar .faza-status-action-btn[data-faza-status-next="u_radu"] {
  color: var(--app-soft-amber-text);
  background: var(--app-soft-amber-bg);
  border-color: var(--app-soft-amber-border);
}

#fazeList .faza-phase-toolbar .faza-status-action-btn[data-faza-status-next="u_radu"]:hover {
  filter: brightness(0.97);
  border-color: var(--app-soft-amber-border);
}

#fazeList .faza-phase-toolbar .faza-status-action-btn[data-faza-status-next="zavrseno"],
#fazeList .faza-phase-toolbar .faza-status-action-btn[data-faza-status-next="zavrsen"] {
  color: var(--app-soft-green-text);
  background: var(--app-soft-green-bg);
  border-color: var(--app-soft-green-border);
}

#fazeList .faza-phase-toolbar .faza-status-action-btn[data-faza-status-next="zavrseno"]:hover,
#fazeList .faza-phase-toolbar .faza-status-action-btn[data-faza-status-next="zavrsen"]:hover {
  filter: brightness(0.97);
  border-color: var(--app-soft-green-border);
}

#fazeList .faza-phase-toolbar .faza-status-action-btn[data-faza-status-next="pauza"],
#fazeList .faza-phase-toolbar .faza-status-action-btn[data-faza-status-next="otkazan"] {
  color: var(--app-soft-red-text);
  background: var(--app-soft-red-bg);
  border-color: var(--app-soft-red-border);
}

#fazeList .faza-phase-toolbar .faza-status-action-btn[data-faza-status-next="pauza"]:hover,
#fazeList .faza-phase-toolbar .faza-status-action-btn[data-faza-status-next="otkazan"]:hover {
  filter: brightness(0.97);
  border-color: var(--app-soft-red-border);
}

#fazeList .faza-phase-toolbar .faza-status-pauza-btn {
  font-weight: 600;
  color: var(--app-soft-red-text);
  background: var(--app-soft-red-bg);
  border-color: var(--app-soft-red-border);
}

#fazeList .faza-phase-toolbar .faza-status-pauza-btn:hover {
  filter: brightness(0.97);
  border-color: var(--app-soft-red-border);
}

.phase-card-tip {
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.03em;
}

.phase-card-preview {
  flex: 1;
  min-width: 0;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.phase-card-body {
  padding: 12px 14px;
  min-width: 0;
}

/* Faze proizvodnje (#fazeList + isti markup u modalu) — telo kartice uz ivicu; razmak daju .phase-row i unutrašnji blokovi */
#fazeList .phase-card .phase-card-body,
.faze-modal-shell #fazeList .phase-card .phase-card-body {
  padding: 0;
}

#fazeList .phase-card-body .phase-row,
.faze-modal-shell #fazeList .phase-card-body .phase-row {
  padding: 4px 6px;
}

.phase-card-body.is-collapsed {
  display: none;
}

.phase-row-corner-spacer {
  min-width: 0;
}

#fazeList .phase-card.phase-row-shell .phase-row-inner {
  border: none;
  margin-bottom: 0;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.faza-dorada-heading-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 4px;
}

.faza-dorada-heading-label {
  font-weight: 600;
  font-size: 13px;
}

/* btn-sm: kompatibilnost sa starim markupom — ista geometrija kao .btn */
.btn.btn-sm {
  min-height: var(--app-ui-btn-min-h) !important;
  padding: var(--app-ui-btn-pad-y) var(--app-ui-btn-pad-x) !important;
  font-size: var(--app-ui-btn-fs) !important;
  line-height: 1.25 !important;
  border-radius: var(--app-ui-btn-radius) !important;
}

.nova-faza-dorada-panel {
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.nova-faza-dorada-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.nova-faza-dorada-title {
  font-weight: 700;
  font-size: 14px;
  color: var(--text);
}

.nova-faza-dorada-save-row {
  margin-top: 4px;
}

.priprema-fields-bloc {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap: 8px;
  align-items: start;
}

.priprema-fields-bloc .priprema-inline-actions {
  justify-content: flex-end;
  flex-wrap: nowrap;
}

.priprema-read-inner {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.priprema-read-izvor {
  font-weight: 600;
  color: var(--text);
}

.path-label-strong {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
  margin-bottom: 2px;
  color: var(--muted);
}

.priprema-path-block {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.faza-path-code {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-size: 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  padding: 8px 10px;
  margin: 0;
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-all;
  cursor: pointer;
  user-select: all;
}

.faza-path-code:hover {
  border-color: #94a3b8;
  background: #fdfdfd;
}

.faza-path-code:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

.priprema-path-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
}

.faza-path-btn {
  font-size: 12px !important;
  padding: 8px 12px !important;
  min-height: var(--app-btn-card-row-min-h);
  box-sizing: border-box;
}

.aux-path-strip .aux-path-follow {
  padding-top: 10px;
  margin-top: 6px;
  border-top: 1px dashed #cbd5e1;
}

.faza-aux-paths.hidden {
  display: none !important;
}

.field-hint {
  font-size: 12px;
  color: var(--muted);
  margin: 4px 0 0;
  line-height: 1.38;
  max-width: 52rem;
}

.modal-grid .field-hint,
.grid .field-hint {
  margin-top: 4px;
}

.path-input-stack {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.path-input-stack input[data-path-input] {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* PDF/radni fajl: input deli red sa dugmetom umesto da vizuelno „povlaci“ celu karticu. */
.path-field-inline-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.path-field-inline-row .path-input-stack {
  flex: 1 1 12rem;
  min-width: 0;
  max-width: 100%;
}

.path-field-inline-row .path-field-inline-btn,
.path-field-inline-row .btn.path-field-inline-btn {
  flex: 0 0 auto;
  align-self: center;
}

.dorada-mini-hint {
  margin-top: 2px;
}

.path-drop-active {
  outline: 2px dashed var(--primary);
  outline-offset: 2px;
  background: #fffbeb !important;
}

.faza-priprema-edit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
  align-items: start;
}

.faza-stampa-field {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  width: 100%;
}

/* Isti vizuelni jezik kao label na .grid / .modal-grid (stavka, ostali obrasci). */
.faza-stampa-lbl {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #4b5563;
  margin-bottom: 4px;
  line-height: 1.35;
}

.faza-stampa-lbl.muted {
  font-weight: 500;
  color: var(--muted);
}

.nova-faza-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  justify-content: flex-start;
}

.faza-priprema-edit-grid .faza-grid-span-2 {
  grid-column: 1 / -1;
}

.faza-phase-form-sheet .modal-grid .faza-grid-span-2,
.faza-phase-form-sheet .gra-fields-row .faza-grid-span-2,
.faze-stampa-sheet .modal-grid .faza-grid-span-2,
.faze-stampa-sheet .gra-fields-row .faza-grid-span-2 {
  grid-column: 1 / -1;
}

/*
 * Zajednički omotač za telo faze (priprema, štampa/digital, dorada):
 * isti vertikalni ritam kao kod štampe — koristi se u novoj fazi i u karticama liste.
 */
.faza-phase-form-sheet,
.faze-stampa-sheet,
.faza-dorada-sheet {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Materijal + Izveštaj: ista hijerarhija kao ostale sekcije — tamna traka puna širina, ispod siva kartica samo za readout polja */
.faza-stampa-materijal-pack,
.faza-stampa-izvestaj-pack {
  display: flex;
  flex-direction: column;
  gap: var(--app-gap-band-to-fields);
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.faza-stampa-izvestaj-pack .faza-stampa-mini-izvestaj {
  margin-top: 0;
}

.faze-stampa-label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #4b5563;
  margin-bottom: 6px;
  line-height: 1.35;
}

/* Priprema / štampa (digital / ploter): malo pomak teksta labele udesno */
.phase-card-body .faza-stampa-field > .faze-stampa-label,
.phase-card-body .faza-stampa-field > label.faze-stampa-label,
#novaFazaPripremaOnly .faza-stampa-field > .faze-stampa-label,
#novaFazaPripremaOnly .faza-stampa-field > label.faze-stampa-label,
#novaFazaStampaBlock .faza-stampa-field > .faze-stampa-label,
#novaFazaStampaBlock .faza-stampa-field > label.faze-stampa-label,
.faze-modal-shell .faza-stampa-field > .faze-stampa-label,
.faze-modal-shell .faza-stampa-field > label.faze-stampa-label {
  padding-left: 6px;
}

.faze-modal-shell label.faze-stampa-label,
.faze-modal-shell .faze-stampa-label {
  cursor: default;
}

/* Vrsta štampe + mašina: jasan izbor, uvek select */
.faze-stampa-primary-picker-row {
  align-items: flex-end;
  gap: 1rem 1.25rem;
}

.faze-stampa-primary-picker-row .faza-stampa-field {
  min-width: 0;
  flex: 1 1 12rem;
}

select.faza-stampa-select {
  width: 100%;
  max-width: 100%;
  min-height: 2.75rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.9375rem;
  line-height: 1.35;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  background-color: #fff;
  color: #0f172a;
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

select.faza-stampa-select:hover {
  border-color: #94a3b8;
}

select.faza-stampa-select:focus {
  outline: none;
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2);
}

.faze-stampa-subcard {
  margin-top: 2px;
  padding: 10px 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  min-width: 0;
}

.faze-stampa-subcard-title {
  margin: 0 0 8px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #334155;
}

.priprema-path-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.priprema-path-field-lbl {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.stampa-radni-fajl-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
}

.stampa-radni-fajl-row .stampa-radni-fajl-path {
  flex: 1 1 12rem;
  min-width: 0;
}

.stampa-radni-historija {
  margin-top: 6px;
  font-size: 0.78rem;
  max-width: 100%;
}

.stampa-radni-historija-list {
  margin: 6px 0 0;
  padding-left: 1.1rem;
}

.stampa-radni-historija-diff small {
  word-break: break-all;
}

.stampa-path-toolbar-wrap {
  margin-bottom: 2px;
}

.stampa-path-toolbar-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}

.stampa-path-toolbar-inner .faze-stampa-label {
  margin-bottom: 0;
}

.stampa-path-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

/* Jedan red: putanja + akcije (štampa), isti jezik kao .faza-path-btn u pripremi */
.stampa-radni-path-wrap {
  min-width: 0;
  width: 100%;
}

.path-field-inline-row.stampa-radni-path-unified {
  align-items: center;
}

.stampa-path-actions-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: stretch;
  justify-content: flex-end;
  flex: 0 1 auto;
}

.stampa-path-actions-inline .faza-path-btn.btn-sm {
  font-weight: 500;
  border-radius: 8px;
  white-space: nowrap;
}

/* Jedna linija — bez dodatnog „help“ teksta */
.nova-stampa-sheet-tagline {
  margin: 0 0 12px;
  font-size: 0.88rem;
  line-height: 1.4;
}

/* Kartica ploter ne sme „curiti“ pre izbora vrste PLOTER */
#novaFazaStampaBlock:not([data-nova-vrsta="ploter"]) .ploter-stampa-section[data-stampa-cell="ploter_stampa_kartica"] {
  display: none;
}

.faze-list-wrap {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--border, #e2e8f0);
}

.faze-empty-state {
  padding: 14px 16px;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  max-width: 100%;
}

.faze-empty-state-title {
  font-size: 0.88rem;
  font-weight: 600;
  color: #475569;
  margin-bottom: 8px;
}

.faze-empty-state-text {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
}

.nova-stampa-choice-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
  align-items: stretch;
}

/* Segment dugmad: isti jezik kao .faza-modal-toolbar / .btn.info|.violet|.amber */
.nova-stampa-choice-btn.nova-stampa-seg-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  min-height: var(--app-btn-min-h);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.2;
  border-radius: 10px;
  text-align: left;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
}

.nova-stampa-choice-btn.nova-stampa-seg-btn--idle.btn.light {
  border-color: #cbd5e1;
  background: #ffffff;
  color: #334155;
  font-weight: 600;
}

.nova-stampa-choice-btn.nova-stampa-seg-btn--idle.btn.light:hover {
  border-color: #94a3b8;
  background: #f8fafc;
}

.nova-stampa-choice-btn.nova-stampa-seg-btn.is-selected.btn.amber:hover,
.nova-stampa-choice-btn.nova-stampa-seg-btn.is-selected.btn.info:hover,
.nova-stampa-choice-btn.nova-stampa-seg-btn.is-selected.btn.violet:hover {
  filter: brightness(1.03);
}

.nova-stampa-choice-prefix {
  font-size: 0.95rem;
  line-height: 1;
  flex-shrink: 0;
  font-weight: 700;
  color: #64748b;
  min-width: 1em;
  text-align: center;
}

.nova-stampa-choice-lbl {
  flex: 1;
  min-width: 0;
}

.nova-stampa-choice-btn:focus-visible {
  outline: 2px solid #64748b;
  outline-offset: 2px;
}

.faza-stampa-readout-val {
  font-size: 1.0625rem;
  font-weight: 650;
  letter-spacing: 0.02em;
  color: #0f172a;
  margin-top: 6px;
  line-height: 1.35;
}

@media (min-width: 520px) {
  .faza-stampa-readout-val {
    font-size: 1.125rem;
  }
}

.nova-stampa-locked-summary-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 28px;
  align-items: start;
}

.nova-stampa-summary-col .faze-stampa-label {
  display: block;
  margin-bottom: 4px;
}

/**
 * Sačuvana faza u listi: polja izgledaju kao natpisi; „Izmeni“ uklanja klasu.
 */
.faza-row--readonly-fields input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.faza-row--readonly-fields select,
.faza-row--readonly-fields textarea {
  -webkit-appearance: none;
  appearance: none;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  border-radius: 0;
  padding: 3px 0;
  margin: 0;
  color: #0f172a;
  font-size: 0.98rem;
  font-weight: 520;
  line-height: 1.45;
  opacity: 1 !important;
  cursor: default;
  max-width: 100%;
}

.faza-row--readonly-fields .faza-dorada-komentar-block textarea {
  white-space: pre-wrap;
  min-height: 4rem;
}

.faza-row--readonly-fields select {
  background-image: none !important;
  padding-right: 0;
}

.faza-row--readonly-fields select:disabled,
.faza-row--readonly-fields input:disabled {
  opacity: 1 !important;
  -webkit-text-fill-color: #0f172a;
  color: #0f172a;
}

.faza-row--readonly-fields input::placeholder,
.faza-row--readonly-fields textarea::placeholder {
  color: #94a3b8;
}

.faza-row--readonly-fields input[type="number"]::-webkit-inner-spin-button,
.faza-row--readonly-fields input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.faza-row--readonly-fields input[type="number"] {
  -moz-appearance: textfield;
}

.faza-row--readonly-fields .faza-stampa-readout-val {
  font-weight: 600;
}

/* Zaključan prikaz: sakrij sve dugmiće osim Kopiraj / Otvori za filepath (ista pravila u svim fazama). */
.faza-row--readonly-fields button:not([data-copy-faza-path]):not([data-reveal-faza-path]):not([data-stampa-path-open]):not([data-stampa-path-copy]) {
  display: none !important;
}

.faza-row--readonly-fields .faza-dorada-inline-actions {
  display: none !important;
}

.faza-row--readonly-fields .faza-stampa-mini-izvestaj input,
.faza-row--readonly-fields .faza-stampa-mini-izvestaj .faza-stampa-mini-field input {
  font-size: 0.92rem;
  font-weight: 500;
}

.dorada-cnc-path-wrap .dorada-cnc-path-actions {
  margin-top: 8px;
}

.nova-stampa-hidden-select {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.faza-stampa-field:has(.nova-stampa-hidden-select) {
  position: relative;
}

.ploter-stampa-inner-grid.modal-grid.grid,
.ploter-stampa-inner-grid.gra-fields-row--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-flow: row;
  align-items: start;
}

.faze-stampa-sheet .modal-grid.grid,
.faze-stampa-sheet .gra-fields-row--2.faze-stampa-primary-fields,
.faze-stampa-sheet .gra-fields-row--2.faze-stampa-materijal-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Plotter forma: uvek dve jednake kolone u sopstvenom gridu (redosled odozgo). */
.ploter-stampa-section {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  min-width: 0;
  margin-top: 4px;
}

.ploter-stampa-inner-grid {
  width: 100%;
}

/* Red po redu kao .modal-grid — ne „punjenje kolona“ koje izmeša redosled polja. */
.faza-stampa-primary-wrap {
  margin-bottom: 4px;
}

.faza-stampa-primary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-flow: row;
  gap: 10px 12px;
  align-items: start;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

/* Polja štampe u kartici/modalu: ista bela polja kao na formularima stavke (ne „phase-row“ poluprovidna). */
.phase-card-body .faza-stampa-field input:not([readonly]):not(:disabled),
.phase-card-body .faza-stampa-field select:not(:disabled),
.phase-card-body .faza-stampa-field textarea:not(:disabled),
.faze-modal-shell .faza-stampa-field input:not([readonly]):not(:disabled),
.faze-modal-shell .faza-stampa-field select:not(:disabled),
.faze-modal-shell .faza-stampa-field textarea:not(:disabled) {
  background: var(--app-btn-surface-bg, #ffffff) !important;
  border-color: var(--border) !important;
}

.phase-card-body .faza-stampa-mini-izvestaj input[readonly],
.phase-card-body .faza-stampa-mini-izvestaj select:disabled,
.faze-modal-shell .faza-stampa-mini-izvestaj input[readonly],
.faze-modal-shell .faza-stampa-mini-izvestaj select:disabled {
  background: var(--app-table-head-bg, #f8fafc) !important;
}

.faza-stampa-inline-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.faza-stampa-inline-row input[type="number"] {
  flex: 1;
  min-width: 120px;
}

.stampa-obracun-backend-only {
  display: none !important;
}

.faza-stampa-mini-izvestaj {
  margin-top: 4px;
  padding: 8px 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.faza-stampa-mini-head {
  margin-bottom: 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e2e8f0;
}

.faza-stampa-mini-head-hint {
  font-size: 0.7rem;
  margin-top: 2px;
  line-height: 1.25;
}

.faza-stampa-mini-title {
  font-size: 0.85rem;
  font-weight: 600;
  color: #334155;
}

.faza-stampa-mini-grid {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr);
  gap: 10px 16px;
  align-items: start;
}

.faza-stampa-mini-grid .faza-stampa-field {
  margin: 0;
}

.faza-stampa-mini-izvestaj-lista {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.faza-stampa-mini-izvestaj-grid {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(120px, 1fr);
  gap: 6px 10px;
  align-items: start;
}

.faza-stampa-mini-materijal {
  grid-column: 1 / -1;
  margin-top: 0;
  padding-top: 8px;
  border-top: 1px dashed #cbd5e1;
}

.faza-stampa-mini-materijal-grid {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(120px, 1fr);
  gap: 6px 10px;
  margin-top: 6px;
}

@media (max-width: 700px) {
  .faza-stampa-mini-izvestaj-grid,
  .faza-stampa-mini-materijal-grid {
    grid-template-columns: 1fr;
  }
}

.faza-stampa-mini-sect {
  margin-top: 2px;
  padding-top: 12px;
  border-top: 1px dashed #cbd5e1;
}

.faza-stampa-mini-sect-title {
  font-size: 0.74rem;
  font-weight: 600;
  color: #475569;
  margin-bottom: 4px;
}

.faza-stampa-mini-field {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  min-width: 0;
}

.faza-stampa-mini-field .faza-stampa-lbl {
  font-size: 0.68rem;
  padding-left: 6px;
}

.faza-stampa-mini-field input[readonly] {
  width: 100%;
  box-sizing: border-box;
  padding: 4px 6px;
  font-size: 0.8rem;
}

.faze-modal-shell #novaFazaForm .nova-faza-tip-pick-lead {
  margin: 0 0 10px;
  font-size: 0.9rem;
  line-height: 1.45;
}

/* Ne koristiti phase-row grid (38px / fiksne kolone) — u kompaktnom „brzom“ dodavanju nema vidljivih ćelija pa ostaje prazan „okvir“. */
.nova-faza-quick-row.phase-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  margin-bottom: 0;
  border: none;
  padding: 0;
  box-shadow: none;
  background: transparent;
}

/* Dorada u modalu: umesto tri kolone × min 180px (horizontalni preliv), jedna kolona / responsive */
.faze-modal-shell #novaFazaDoradaBlock .dorada-fields,
.faze-modal-shell #novaFazaDoradaBlock [data-faza-dorada-list='nova'] .dorada-fields,
.faze-modal-shell .faza-dorada-editor .dorada-fields,
body.nalog-detail-page #fazeList .faza-dorada-editor .dorada-fields,
body.nalog-detail-page #operatorAccordionRoot .faza-dorada-editor .dorada-fields {
  grid-template-columns: minmax(0, 1fr);
}

.faza-dorada-masina-wrap {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.faza-dorada-masina-wrap select {
  width: 100%;
  max-width: 100%;
}

.faza-dorada-stavke-wrap > .faza-dorada-editor {
  margin-top: 6px;
}

@media (min-width: 720px) {
  .faze-modal-shell #novaFazaDoradaBlock .dorada-fields,
  .faze-modal-shell #novaFazaDoradaBlock [data-faza-dorada-list='nova'] .dorada-fields,
  .faze-modal-shell .faza-dorada-editor .dorada-fields,
  body.nalog-detail-page #fazeList .faza-dorada-editor .dorada-fields,
  body.nalog-detail-page #operatorAccordionRoot .faza-dorada-editor .dorada-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .faze-modal-shell #novaFazaDoradaBlock .dorada-fields,
  .faze-modal-shell #novaFazaDoradaBlock [data-faza-dorada-list='nova'] .dorada-fields,
  .faze-modal-shell .faza-dorada-editor .dorada-fields,
  body.nalog-detail-page #fazeList .faza-dorada-editor .dorada-fields,
  body.nalog-detail-page #operatorAccordionRoot .faza-dorada-editor .dorada-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .faza-stampa-primary-grid {
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    grid-template-rows: none;
  }
  .faze-stampa-sheet .modal-grid.grid,
  .faze-stampa-sheet .gra-fields-row--2.faze-stampa-primary-fields,
  .faze-stampa-sheet .gra-fields-row--2.faze-stampa-materijal-fields {
    grid-template-columns: 1fr;
  }
  .ploter-stampa-inner-grid.gra-fields-row--2 {
    grid-template-columns: 1fr;
  }
  .faza-stampa-mini-grid {
    grid-template-columns: 1fr;
  }
}

.faza-stampa-mini-izvestaj-lista .faza-stampa-mini-field {
  margin: 0;
}

@media (max-width: 700px) {
  .priprema-fields-bloc {
    grid-template-columns: 1fr;
  }
  .priprema-fields-bloc .priprema-inline-actions {
    justify-content: flex-start;
  }
  .faza-priprema-edit-grid {
    grid-template-columns: 1fr;
  }
}

.phase-row .full {
  grid-column: 1 / -1;
}

.phase-row input,
.phase-row select {
  width: 100%;
}

.phase-row input[readonly],
.phase-row select:disabled {
  cursor: default;
  background: var(--app-table-head-bg, #f8fafc) !important;
  color: var(--pv-muted, #475569);
}

.status-inline-label {
  font-weight: 600;
  color: #475569;
  text-align: right;
  padding-right: 2px;
}

.phase-row input,
.phase-row select,
.phase-row textarea {
  background: color-mix(in srgb, var(--app-btn-surface-bg, #fff) 72%, transparent) !important;
  border-color: var(--pv-border) !important;
}

.phase-row .btn.light {
  background: rgba(255, 255, 255, 0.72);
  border-color: rgba(148, 163, 184, 0.4);
}

.phase-row .btn.light:hover {
  background: rgba(255, 255, 255, 0.88);
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--pv-field-focus) !important;
  box-shadow: 0 0 0 4px var(--pv-field-ring) !important;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th, td {
  text-align: left;
  padding: var(--app-table-td-py) var(--app-table-td-px);
  border-bottom: 1px solid var(--app-table-row-border);
  font-size: var(--app-table-td-fs);
}

th {
  background: var(--app-table-head-bg);
  color: var(--app-table-head-color);
  font-weight: 700;
  font-size: var(--app-table-th-fs);
  letter-spacing: 0.01em;
  padding: var(--app-table-th-py) var(--app-table-th-px);
}

tbody tr:hover td {
  background: var(--app-table-row-hover, #f8fafc);
}

tbody tr:nth-child(odd) td {
  background: var(--card, #fff);
}

tbody tr:nth-child(even) td {
  background: var(--app-table-row-stripe, #fbfcfe);
}

/* Lista stavki krovne dorade u modalu — isti hover kao tabele u podešavanjima / klijenti */
.faze-modal-shell #fazeList .faza-dorada-stavke-table tbody tr:hover td,
body.nalog-detail-page #fazeList .faza-dorada-stavke-table tbody tr:hover td {
  background: rgba(15, 23, 42, 0.04);
}

.faze-modal-shell #fazeList .faza-dorada-stavke-table tbody tr:last-child td {
  border-bottom: none;
}

th.sticky {
  position: sticky;
  top: 0;
  z-index: 1;
}

/* List / tabela: kompaktan red kao tekstualni izveštaj — dugmad manja, ćelije už kad ima akcije */
table tbody td,
table thead th {
  vertical-align: middle;
}

table tbody td .btn,
table thead th .btn,
table tbody td a.btn,
table thead th a.btn,
table tbody td button.btn {
  min-height: var(--app-ui-btn-min-h);
  padding: var(--app-ui-btn-pad-y) var(--app-ui-btn-pad-x);
  font-size: var(--app-ui-btn-fs);
  border-radius: var(--app-ui-btn-radius);
  gap: var(--app-ui-btn-gap);
}

table tbody td .btn-sm {
  min-height: var(--app-ui-btn-min-h) !important;
  padding: var(--app-ui-btn-pad-y) var(--app-ui-btn-pad-x) !important;
  font-size: var(--app-ui-btn-fs) !important;
}

table tbody td:has(.btn),
table tbody td:has(a.btn) {
  padding-top: var(--app-table-cell-py-actions);
  padding-bottom: var(--app-table-cell-py-actions);
}

/* Global app header look */
.app-header {
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(6px);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #eef2f7;
  border-radius: 12px;
  box-shadow: none;
  padding: 8px var(--app-page-gutter-x);
  margin-bottom: 10px;
}

.brand {
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #111827;
  font-size: 17px;
}

/* Full-row status coloring — tokeni (fasc tamna šema menja --app-soft-*) */
tr.row-status-otvoren td {
  background: var(--app-soft-blue-bg);
}

tr.row-status-ceka_isporuku td {
  background: color-mix(in srgb, var(--app-soft-blue-bg) 88%, var(--card) 12%);
}

tr.row-status-u_radu td {
  background: var(--app-soft-amber-bg);
}

tr.row-status-zavrsen td,
tr.row-status-zavrseno td {
  background: var(--app-soft-green-bg);
}

tr.row-status-otkazan td,
tr.row-status-pauza td {
  background: var(--app-soft-red-bg);
}

tr.row-status-otvoren:hover td {
  background: color-mix(in srgb, var(--app-soft-blue-bg) 82%, var(--pv-text) 8%);
}

tr.row-status-ceka_isporuku:hover td {
  background: color-mix(in srgb, var(--app-soft-blue-bg) 76%, var(--pv-text) 10%);
}

tr.row-status-u_radu:hover td {
  background: color-mix(in srgb, var(--app-soft-amber-bg) 82%, var(--pv-text) 8%);
}

tr.row-status-zavrsen:hover td,
tr.row-status-zavrseno:hover td {
  background: color-mix(in srgb, var(--app-soft-green-bg) 82%, var(--pv-text) 8%);
}

tr.row-status-otkazan:hover td,
tr.row-status-pauza:hover td {
  background: color-mix(in srgb, var(--app-soft-red-bg) 82%, var(--pv-text) 8%);
}

tr.row-status-otvoren td .btn.light,
tr.row-status-ceka_isporuku td .btn.light,
tr.row-status-u_radu td .btn.light,
tr.row-status-zavrsen td .btn.light,
tr.row-status-zavrseno td .btn.light,
tr.row-status-otkazan td .btn.light,
tr.row-status-pauza td .btn.light {
  background: var(--app-btn-surface-bg);
  border-color: var(--app-btn-surface-border);
  color: var(--app-btn-surface-text);
}

tr.row-status-otvoren td .btn.light:hover,
tr.row-status-ceka_isporuku td .btn.light:hover,
tr.row-status-u_radu td .btn.light:hover,
tr.row-status-zavrsen td .btn.light:hover,
tr.row-status-zavrseno td .btn.light:hover,
tr.row-status-otkazan td .btn.light:hover,
tr.row-status-pauza td .btn.light:hover {
  background: var(--app-btn-surface-bg-hover);
  border-color: var(--app-btn-surface-border);
}

.phase-row {
  border: 1px solid var(--pv-border-soft, #eef2f7);
  border-radius: 10px;
  padding: 8px;
}

/* Nalog (cela kartica): boja po statusu naloga */
.phase-card.row-status-ceka,
.phase-card.row-status-u_pripremi {
  background: var(--app-soft-blue-bg);
  border-color: var(--app-soft-blue-border);
}

.phase-card.row-status-u_radu {
  background: var(--app-soft-amber-bg);
  border-color: var(--app-soft-amber-border);
}

.phase-card.row-status-zavrseno,
.phase-card.row-status-zavrsen {
  background: var(--app-soft-green-bg);
  border-color: var(--app-soft-green-border);
}

.phase-card.row-status-pauza,
.phase-card.row-status-otkazan {
  background: var(--app-soft-red-bg);
  border-color: var(--app-soft-red-border);
}

/* Faze: samo traka zaglavlja kartice (ne telo) */
.phase-card-bar.row-status-ceka,
.phase-card-bar.row-status-u_pripremi {
  background: var(--app-soft-blue-bg);
  border-bottom-color: var(--app-soft-blue-border);
}

.phase-card-bar.row-status-u_radu {
  background: var(--app-soft-amber-bg);
  border-bottom-color: var(--app-soft-amber-border);
}

.phase-card-bar.row-status-zavrseno,
.phase-card-bar.row-status-zavrsen {
  background: var(--app-soft-green-bg);
  border-bottom-color: var(--app-soft-green-border);
}

.phase-card-bar.row-status-pauza,
.phase-card-bar.row-status-otkazan {
  background: var(--app-soft-red-bg);
  border-bottom-color: var(--app-soft-red-border);
}

/* Tamna traka kao PolovnaVozila wizard (.pv-oglas-step2-band) — liste i osnovni podaci */
.app-page-shell > .phase-card-bar,
#nalogOsnovniShell > .phase-card-bar {
  background: linear-gradient(180deg, var(--pv-navy-1) 0%, var(--pv-navy-2) 100%);
  border-bottom: 1px solid rgba(0, 20, 40, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.app-page-shell .phase-card-tip {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #f0f6ff;
}

.app-page-shell .phase-card-preview,
#nalogOsnovniShell .phase-card-preview {
  color: rgba(240, 246, 255, 0.88) !important;
  font-size: 12px;
  font-weight: 500;
}

.app-page-shell .phase-card-bar .btn.light,
.app-page-shell .phase-card-bar .phase-card-toggle.btn,
#nalogOsnovniShell .phase-card-bar .btn.light,
#nalogOsnovniShell .phase-card-bar .phase-card-toggle.btn {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.28);
  color: #f0f6ff;
}

#nalogOsnovniShell .phase-card-bar .nalog-osnovni-collapse-btn {
  min-width: 34px;
  padding: 6px 9px;
  font-size: 10px;
  line-height: 1;
}

.nalog-osnovni-collapse-arrow {
  display: inline-block;
  transition: transform 0.2s ease;
}

#nalogOsnovniShell .nalog-osnovni-collapse-btn[aria-expanded='false'] .nalog-osnovni-collapse-arrow {
  transform: rotate(-90deg);
}

.app-page-shell .phase-card-bar .btn.info,
#nalogOsnovniShell .phase-card-bar .btn.info {
  background: var(--app-btn-on-dark-bg);
  border-color: var(--app-btn-on-dark-border);
  color: var(--app-btn-on-solid);
  box-shadow: none;
}

.app-page-shell .phase-card-bar .btn.info:hover,
#nalogOsnovniShell .phase-card-bar .btn.info:hover {
  filter: none;
  background: var(--app-btn-on-dark-bg-hover);
  border-color: var(--app-btn-on-dark-border);
  box-shadow: none;
}

@media (max-width: 900px) {
  :root {
    --app-page-gutter-x: 5px;
    --app-page-gutter-y: 5px;
    --app-field-pad-x: 8px;
    --app-table-th-px: 6px;
    --app-table-td-px: 6px;
    --app-site-footer-fixed-reserve: 88px;
  }

  body {
    margin: max(5px, env(safe-area-inset-top)) max(4px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left)) !important;
  }

  .app-header {
    position: sticky;
    top: 0;
    z-index: 100;
    padding: 5px 5px;
    margin-bottom: 5px;
    border-radius: 10px;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  .app-header .topbar .brand {
    display: none;
  }

  .app-header .topbar > div:first-child > p.muted {
    display: none;
  }

  .app-header .topbar h1 {
    font-size: 1.06rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.22;
    letter-spacing: -0.02em;
  }

  .app-header .topbar-user-slot {
    position: absolute;
    top: max(2px, env(safe-area-inset-top));
    right: max(2px, env(safe-area-inset-right));
    align-self: flex-start;
    z-index: 2;
  }

  .app-header .topbar > div:first-child {
    padding-right: 44px;
  }

  .enterprise-shell {
    grid-template-columns: 1fr;
    gap: 4px;
    min-height: calc(100dvh - 10px);
  }

  /* Sidebar ostaje jedini izvor linkova — na mobilnom je off-canvas (app-shell.js + .app-drawer-open) */
  .sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(292px, 88vw);
    max-height: 100dvh;
    margin: 0;
    border-radius: 0 16px 16px 0;
    z-index: 10002;
    transform: translate3d(-100%, 0, 0);
    transition: transform 0.24s ease;
    box-shadow:
      0 0 0 1px rgba(0, 0, 0, 0.05),
      12px 0 40px rgba(15, 23, 42, 0.14);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-top: max(var(--app-sidebar-pad), env(safe-area-inset-top));
    padding-bottom: max(var(--app-sidebar-pad), env(safe-area-inset-bottom));
    padding-left: max(var(--app-sidebar-pad), env(safe-area-inset-left));
    padding-right: max(var(--app-sidebar-pad), env(safe-area-inset-right));
  }

  body.app-drawer-open {
    overflow: hidden;
  }

  body.app-drawer-open .sidebar {
    transform: translate3d(0, 0, 0);
  }

  .sidebar-nav {
    grid-template-columns: 1fr;
    gap: var(--app-sidebar-nav-gap);
  }

  .app-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10001;
    background: rgba(15, 23, 42, 0.38);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
  }

  body.app-drawer-open .app-drawer-backdrop {
    opacity: 1;
    visibility: visible;
  }

  .topbar-main-cluster {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 5px;
    min-width: 0;
    flex: 1;
  }

  .topbar-main-cluster > .brand + h1,
  .topbar-main-cluster h1 {
    min-width: 0;
  }

  .app-mobile-menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 36px;
    min-height: 36px;
    padding: 0 6px;
    margin-top: 0;
  }

  .app-mobile-menu-icon {
    font-size: 1.15rem;
    line-height: 1;
  }

  .topbar {
    flex-direction: column;
    align-items: flex-start !important;
  }

  /* Header: akcije u jednom horizontalnom traku (skrol) — ne „pole“ ekrana */
  .app-header .topbar .actions {
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
    margin-top: 3px;
    scrollbar-width: thin;
  }

  .app-header .topbar .actions::-webkit-scrollbar {
    height: 5px;
  }

  .app-header .topbar .actions::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
  }

  .app-header .topbar .actions .btn,
  .app-header .topbar .actions button,
  .app-header .topbar .actions a.btn {
    flex: 0 0 auto;
    min-height: var(--app-ui-btn-min-h);
    padding: var(--app-ui-btn-pad-y) var(--app-ui-btn-pad-x);
    font-size: var(--app-ui-btn-fs);
    white-space: nowrap;
    text-align: center;
  }

  /* Pregled faze (full-page kartica): jedno dugme „Zatvori“ — bez horizontalnog skrola koji sakriva akciju */
  .faza-pregled-page .app-header .topbar.faza-pregled-topbar .actions {
    overflow-x: visible;
    justify-content: flex-end;
    flex-wrap: wrap;
    padding-bottom: 0;
  }

  /* Kartica: redovi akcija (grupni status, paginacija, …) — horizontalni skrol umesto više redova */
  .app-page-panel-body > .actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
    scrollbar-width: thin;
    max-width: 100%;
  }

  .app-page-panel-body > .actions .btn {
    flex: 0 0 auto;
    white-space: nowrap;
    min-height: var(--app-ui-btn-min-h);
    padding: var(--app-ui-btn-pad-y) var(--app-ui-btn-pad-x);
    font-size: var(--app-ui-btn-fs);
  }

  .app-page-panel-body > .actions .muted,
  .app-page-panel-body > .actions span.muted {
    flex: 0 0 auto;
    align-self: center;
    white-space: nowrap;
    font-size: 12px;
    padding-right: 4px;
  }

  .btn {
    min-height: var(--app-ui-btn-min-h);
    padding: var(--app-ui-btn-pad-y) var(--app-ui-btn-pad-x);
    font-size: var(--app-ui-btn-fs);
  }

  input, select, textarea {
    min-height: 38px;
    padding: 9px 11px;
    font-size: 14px;
  }

  select {
    height: 42px;
    min-height: 42px;
    line-height: 42px;
  }

  th, td {
    padding: 7px 5px;
    font-size: 13px;
  }

  table tbody td:has(.btn),
  table tbody td:has(a.btn) {
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .filters,
  .grid,
  .modal-grid,
  .meta-grid,
  .faza-detalji-grid,
  .contact-row,
  .metric-grid {
    grid-template-columns: 1fr !important;
  }

  .phase-row {
    grid-template-columns: 1fr !important;
  }

  .phase-head {
    display: none;
  }

  table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .card {
    overflow-x: auto;
  }

  body.nalozi-list-page .podesavanja-table-frame {
    display: none !important;
  }

  body.nalozi-list-page #naloziTbl {
    display: none !important;
  }

  body.nalozi-list-page #naloziCards {
    display: block;
    margin-bottom: 12px;
  }

  .nalozi-mobile-list {
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid var(--pv-border-soft);
    border-radius: 12px;
    overflow: hidden;
    background: var(--card);
  }

  .nalozi-mobile-item {
    padding: 0;
    border-bottom: 1px solid var(--pv-border-soft);
    margin: 0;
  }

  .nalozi-mobile-item:last-child {
    border-bottom: 0;
  }

  .nalozi-mobile-row-link {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    text-decoration: none;
    color: inherit;
    min-height: 64px;
    -webkit-tap-highlight-color: transparent;
  }

  .nalozi-mobile-label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--pv-muted, #64748b);
    margin-bottom: 4px;
    line-height: 1;
  }

  .nalozi-mobile-row-link:active {
    opacity: 0.88;
  }

  .nalozi-mobile-seg {
    flex: 1 1 0;
    min-width: 0;
    padding: 9px 6px;
    font-size: 13px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
  }

  .nalozi-mobile-seg-inner {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
    line-height: 1.4;
    max-height: calc(1.4em * 2);
  }

  .nalozi-mobile-broj.nalozi-mobile-seg {
    flex: 0 1 28%;
    max-width: 34%;
    padding-left: 8px;
  }

  .nalozi-mobile-broj .nalozi-mobile-seg-inner {
    font-weight: 800;
    font-size: 0.92rem;
    letter-spacing: -0.02em;
    color: var(--pv-primary);
    -webkit-line-clamp: 1;
    max-height: 1.4em;
  }

  .nalozi-mobile-klijent .nalozi-mobile-seg-inner {
    font-weight: 600;
    color: var(--pv-text);
  }

  .nalozi-mobile-proizvod.nalozi-mobile-seg {
    padding-right: 8px;
  }

  .nalozi-mobile-proizvod .nalozi-mobile-seg-inner {
    color: var(--pv-muted);
  }

  .nalozi-mobile-vsep {
    flex: 0 0 1px;
    width: 1px;
    align-self: stretch;
    margin: 0;
    background: var(--pv-border);
    opacity: 0.65;
  }

  body.nalozi-list-page #naloziTbl tbody tr.nalozi-row-click {
    cursor: pointer;
  }

  body.kalkulacije-list-page #kalkTbl {
    display: none !important;
  }

  body.kalkulacije-list-page #kalkCards {
    display: block;
    margin-bottom: 12px;
  }

  body.kalkulacije-list-page #kalkTbl tbody tr.nalozi-row-click {
    cursor: pointer;
  }

  body.ponude-list-page #ponudeTbl {
    display: none !important;
  }

  body.ponude-list-page #ponudeCards {
    display: block;
    margin-bottom: 12px;
  }

  body.ponude-list-page #ponudeTbl tbody tr.nalozi-row-click {
    cursor: pointer;
  }

  body:not(.nalog-detail-page) #tbl tbody tr.klijenti-row-click {
    cursor: pointer;
  }

  .nalozi-mobile-item.row-status-otvoren {
    background: var(--app-soft-blue-bg);
  }

  .nalozi-mobile-item.row-status-ceka_isporuku {
    background: color-mix(in srgb, var(--app-soft-blue-bg) 88%, var(--card) 12%);
  }

  .nalozi-mobile-item.row-status-u_radu {
    background: var(--app-soft-amber-bg);
  }

  .nalozi-mobile-item.row-status-zavrsen,
  .nalozi-mobile-item.row-status-zavrseno {
    background: var(--app-soft-green-bg);
  }

  .nalozi-mobile-item.row-status-otkazan,
  .nalozi-mobile-item.row-status-pauza {
    background: var(--app-soft-red-bg);
  }

  .nalozi-mobile-item.row-status-nacrt {
    background: var(--app-table-head-bg);
  }

  .nalozi-mobile-item.row-status-zakljucena {
    background: var(--app-soft-green-bg);
  }

  .nalozi-mobile-item.row-status-poslata {
    background: var(--app-soft-blue-bg);
  }

  .nalozi-mobile-item.row-status-prihvacena {
    background: var(--app-soft-green-bg);
  }

  .nalozi-mobile-item.row-status-odbijena,
  .nalozi-mobile-item.row-status-istekla {
    background: var(--app-soft-red-bg);
  }

  .nalozi-mobile-item.row-status-pretvorena {
    background: color-mix(in srgb, var(--app-btn-violet-bg) 22%, var(--card));
  }

  /* kalkulacije.html — mobilna kartica: tap otvara rezime, link ispod za ceo zapis */
  body.kalkulacije-list-page .kalk-mobile-row-summary {
    cursor: pointer;
    border: 0;
    background: transparent;
    font: inherit;
    text-align: inherit;
    width: 100%;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
  }

  body.kalkulacije-list-page .kalk-mobile-row-summary:focus-visible {
    outline: 2px solid var(--pv-accent, #2563eb);
    outline-offset: -2px;
    z-index: 1;
    position: relative;
  }

  body.kalkulacije-list-page .kalk-mobile-card-foot {
    border-top: 1px solid var(--pv-border-soft);
    padding: 8px 10px 10px;
    text-align: right;
    background: rgba(248, 250, 252, 0.72);
  }

  body.kalkulacije-list-page .kalk-mobile-open-full {
    font-size: 13px;
    font-weight: 600;
    color: var(--pv-accent, #2563eb);
    text-decoration: none;
  }

  body.kalkulacije-list-page .kalk-mobile-open-full:hover {
    text-decoration: underline;
  }

  body.kalkulacije-list-page .kalk-mobile-open-full:focus-visible {
    outline: 2px solid var(--pv-accent, #2563eb);
    outline-offset: 2px;
    border-radius: 4px;
  }

  body.ponude-list-page .ponude-mobile-row-summary {
    cursor: pointer;
    border: 0;
    background: transparent;
    font: inherit;
    text-align: inherit;
    width: 100%;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
  }

  body.ponude-list-page .ponude-mobile-row-summary:focus-visible {
    outline: 2px solid var(--pv-accent, #2563eb);
    outline-offset: -2px;
    z-index: 1;
    position: relative;
  }

  body.ponude-list-page .ponude-mobile-card-foot {
    border-top: 1px solid var(--pv-border-soft);
    padding: 8px 10px 10px;
    text-align: right;
    background: rgba(248, 250, 252, 0.72);
  }

  body.ponude-list-page .ponude-mobile-open-full {
    font-size: 13px;
    font-weight: 600;
    color: var(--pv-accent, #2563eb);
    text-decoration: none;
  }

  body.ponude-list-page .ponude-mobile-open-full:hover {
    text-decoration: underline;
  }

  body.ponude-list-page .ponude-mobile-open-full:focus-visible {
    outline: 2px solid var(--pv-accent, #2563eb);
    outline-offset: 2px;
    border-radius: 4px;
  }

  body.nalozi-list-page .rn-pill-row--ponude {
    gap: 6px;
  }

  body.nalozi-list-page .rn-pill-row--ponude .rn-pill {
    padding: 5px 10px;
    font-size: 12px;
  }

  .nalozi-filters-details {
    margin-bottom: 12px;
    border: 1px solid var(--pv-border-soft);
    border-radius: 12px;
    padding: 0;
    background: #fafbfd;
  }

  .nalozi-filters-summary {
    list-style: none;
    cursor: pointer;
    margin: 0;
    padding: 10px 12px;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
    font-weight: 600;
    border-radius: 10px;
  }

  .nalozi-filters-summary::-webkit-details-marker {
    display: none;
  }

  h1 {
    font-size: 1.18rem;
    margin-bottom: 5px;
  }

  .app-page-panel-body {
    padding: 10px var(--app-page-gutter-x);
  }

  .workspace .card {
    padding: 10px var(--app-page-gutter-x);
  }

  .dashboard-card {
    padding: 12px 8px;
  }

  .app-site-footer {
    padding: 7px var(--app-page-gutter-x) 10px;
  }

  .faza-pregled-modal-root {
    padding: 6px var(--app-page-gutter-x) 10px;
  }

  .faza-pregled-poruke-card-body {
    padding: 10px var(--app-page-gutter-x) 12px;
  }
}

@media (min-width: 901px) {
  body.nalozi-list-page #naloziCards,
  body.kalkulacije-list-page #kalkCards,
  body.ponude-list-page #ponudeCards {
    display: none !important;
  }

  .nalozi-filters-details > summary.nalozi-filters-summary {
    display: none;
  }

  .nalozi-filters-details .filters.filters-nalozi {
    margin-top: 0;
  }
}

/* Uže ekrane: malo gušći ritam formulara (bez menjanja desktop tokena) */
@media (max-width: 600px) {
  :root {
    --app-gap-row-to-row: 11px;
    --app-gap-fields-to-band: 15px;
    --app-gap-band-to-fields: 12px;
  }

  .gra-field-stack {
    gap: 6px;
  }

  .gra-form-stack .gra-fields-row + .gra-fields-row {
    margin-top: var(--app-gap-row-to-row);
  }

  input:not([type='checkbox']):not([type='radio']),
  select:not([multiple]),
  textarea {
    min-height: 36px;
    padding: 8px 10px;
    font-size: 14px;
  }

  select:not([multiple]) {
    min-height: 38px;
    height: auto;
    line-height: 1.35;
  }
}

/* Detalj naloga — kompaktnija polja */
body.nalog-detail-page .workspace input:not([type='checkbox']):not([type='radio']),
body.nalog-detail-page .workspace select:not([multiple]),
body.nalog-detail-page .workspace textarea {
  min-height: 36px;
  padding: 7px 10px;
}

body.nalog-detail-page .workspace select:not([multiple]) {
  min-height: 38px;
  height: auto;
  line-height: 1.35;
}

body.nalog-detail-page .gra-field-stack {
  gap: 6px;
}

body.nalog-detail-page .nalog-inline-form textarea {
  min-height: 72px;
}

@media (max-width: 900px) {
  body.nalog-detail-page .workspace input:not([type='checkbox']):not([type='radio']),
  body.nalog-detail-page .workspace select:not([multiple]) {
    min-height: 34px;
    padding: 6px 10px;
  }

  body.nalog-detail-page .workspace textarea {
    min-height: 64px;
    padding: 8px 10px;
  }

  body.nalog-detail-page .podesavanja-table-frame {
    display: none;
  }

  body.nalog-detail-page #stavkeTbl {
    display: none !important;
  }

  body.nalog-detail-page #stavkeCards.podesavanja-mobile-cards-root {
    display: block;
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    background: var(--card);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    margin-bottom: 12px;
  }

  body.nalog-detail-page #stavkeCards .podesavanja-mobile-item {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin: 0;
    border-bottom: 1px solid var(--pv-border-soft);
  }

  body.nalog-detail-page #stavkeCards .podesavanja-mobile-item:last-child {
    border-bottom: 0;
  }

  body.nalog-detail-page #stavkeCards .podesavanja-mobile-open {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    padding: 10px 12px;
    margin: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
  }

  body.nalog-detail-page #stavkeCards .podesavanja-mobile-open:active {
    background: rgba(15, 23, 42, 0.04);
  }

  body.nalog-detail-page #stavkeCards .podesavanja-mobile-name {
    font-weight: 700;
    font-size: 14px;
    color: var(--text);
    word-break: break-word;
  }

  body.nalog-detail-page #stavkeCards .podesavanja-mobile-meta {
    font-size: 12px;
    color: var(--pv-muted, #64748b);
    line-height: 1.35;
    word-break: break-word;
  }
}

body.nalog-detail-page #stavkeTbl th.stavka-admin-col-akcija,
body.nalog-detail-page #stavkeTbl td.stavka-admin-col-akcija {
  width: 1%;
  white-space: nowrap;
  text-align: right;
  vertical-align: middle;
}

body.nalog-detail-page #stavkeTbl tbody tr.stavka-admin-panel-row td.stavka-admin-panel-cell {
  padding: 0;
  background: rgba(248, 250, 252, 0.95);
  border-bottom: 1px solid #e2e8f0;
}

body.nalog-detail-page #stavkeTbl .stavka-admin-panel-lead {
  margin: 0 0 10px;
  font-size: 0.88rem;
  line-height: 1.45;
}

body.nalog-detail-page #stavkeTbl .stavka-admin-panel-actions {
  margin: 0;
}

body.nalog-detail-page .nalog-stavke-toolbar-hint {
  margin: 8px 0 0;
  font-size: 0.88rem;
  line-height: 1.45;
  max-width: 52rem;
}

body.nalog-detail-page #stavkeCards .stavka-mobile-summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 3px;
  padding: 10px 12px;
  font: inherit;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}

body.nalog-detail-page #stavkeCards .stavka-mobile-summary::-webkit-details-marker {
  display: none;
}

body.nalog-detail-page #stavkeCards .stavka-mobile-panel {
  padding: 0;
  border-top: 1px solid #eef2f7;
}

body.nalog-detail-page #stavkeCards .stavka-mobile-panel-hint {
  margin: 10px 0 8px;
  font-size: 0.84rem;
}

body.nalog-detail-page #stavkeCards .stavka-mobile-details .actions {
  margin: 0;
}

body.nalog-detail-page #stavkeCards li.stavka-mobile-li-wrap .stavka-mobile-details {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}

/* OPERATOR_REZIME_v1 — pregled za ne-admin na nalog.html (revert: grep OPERATOR_REZIME) */
.operator-rezime-panel {
  margin: 0 0 18px;
  padding: 18px 20px;
  background: linear-gradient(165deg, #f0f7ff 0%, #fff 55%);
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: var(--pv-radius-field, 12px);
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}

.operator-rezime-title {
  margin: 0 0 6px;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--pv-navy-2, #0f243d);
}

.operator-rezime-lead {
  margin: 0 0 14px;
  font-size: 13px;
}

.operator-rezime-body {
  font-size: 14px;
}

.operator-rezime-dl {
  margin: 0 0 14px;
  display: grid;
  gap: 8px 16px;
}

.operator-rezime-dl-row {
  display: grid;
  grid-template-columns: minmax(120px, 160px) 1fr;
  gap: 10px;
  align-items: baseline;
  padding-bottom: 8px;
  border-bottom: 1px dashed var(--pv-border-soft, #e8edf4);
}

.operator-rezime-dl-row dt {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--pv-muted, #64748b);
}

.operator-rezime-dl-row dd {
  margin: 0;
  font-weight: 600;
  color: var(--pv-text, #18202a);
  word-break: break-word;
}

.operator-rezime-block {
  margin: 0 0 12px;
  padding: 10px 12px;
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--pv-border-soft, #e8edf4);
}

.operator-rezime-block--note {
  border-left: 4px solid var(--pv-primary, #2084f3);
}

.operator-rezime-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--pv-muted, #64748b);
  margin-bottom: 4px;
}

.operator-rezime-text {
  margin: 0;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
}

.operator-rezime-subtitle {
  margin: 16px 0 10px;
  font-size: 0.95rem;
  font-weight: 700;
}

.operator-rezime-stavke {
  margin: 0;
  padding-left: 1.1rem;
  line-height: 1.55;
}

.operator-rezime-stavka-li {
  margin-bottom: 6px;
}

.operator-rezime-st-rb {
  color: var(--pv-muted, #64748b);
  font-weight: 600;
}

.operator-rezime-foot {
  margin: 14px 0 0;
  font-size: 12px;
  line-height: 1.45;
}

.operator-faze-rezime {
  margin: 0 0 14px;
  padding: 14px 16px;
  background: #f8fafc;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 12px;
}

.operator-faze-rezime-kicker {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--pv-muted, #64748b);
  margin-bottom: 10px;
}

.operator-faze-rezime-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.operator-faze-rezime-item {
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--pv-border-soft, #edf2f7);
}

.operator-faze-rezime-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.operator-faze-rezime-rowhead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.operator-faze-rezime-tip {
  font-weight: 700;
  font-size: 13px;
  color: var(--pv-navy-2, #0f243d);
}

.operator-faze-rezime-status {
  font-size: 11px !important;
}

.operator-faze-rezime-sum {
  font-size: 13px;
  line-height: 1.45;
  word-break: break-word;
}

.operator-faze-rezime-nap {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.4;
  white-space: pre-wrap;
}

.operator-faze-rezime-empty {
  margin: 0;
  font-size: 13px;
}

/* OPERATOR_WORK_SHELL_v1 — akordeon stavki / faza na nalog.html */
.operator-work-admin-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  margin: 0 0 12px;
}

.nalog-operator-stavke-view {
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
}

.nalog-operator-stavke-workspace {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
}

.nalog-operator-stavke-workspace .nalog-operator-stavke-chrome {
  margin-bottom: 0;
}

.nalog-operator-stavke-chrome {
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 12px;
}

.nalog-operator-stavke-chrome .operator-work-admin-toolbar {
  margin-bottom: 0;
}

.operator-work-admin-toolbar-hint {
  font-size: 13px;
  line-height: 1.4;
  max-width: 42rem;
}

.admin-stavke-back-bar {
  margin: 0 0 12px;
}

/* Jedna admin traka unutar proširene stavke — bez dodatnog teksta */
.operator-work-admin-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 8px 0 0;
}

.operator-work-admin-tools .operator-work-tool-btn {
  min-height: 32px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 8px;
  border: 1px solid var(--pv-border-soft, #cbd5e1);
  background: #fff;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

.operator-work-admin-tools .operator-work-tool-btn:hover {
  border-color: #94a3b8;
  background: #f8fafc;
}

.operator-work-shell {
  margin: 0 0 12px;
  padding: 10px 12px 12px;
  background: linear-gradient(180deg, #eef2f7 0%, #e8edf4 100%);
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.operator-work-shell .operator-work-kv-lbl {
  font-size: 13px;
}

.operator-work-shell .operator-work-kv-val {
  font-size: 14px;
}

.operator-work-shell .operator-work-kv-val--inline {
  gap: 6px;
}

.operator-work-header {
  margin-bottom: 8px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 10px;
}

.operator-work-header-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 8px 14px;
  align-items: start;
}

.operator-work-h-label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--pv-muted, #64748b);
}

.operator-work-lead {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.45;
}

.operator-work-msg {
  margin-top: 8px;
  min-height: 1.2em;
}

.operator-work-msg--err {
  color: #b91c1c;
  font-weight: 600;
}

.operator-work-accordion {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.operator-work-stavka {
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.07);
}

.operator-work-stavka--flat {
  border-radius: 14px;
  overflow: visible;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.08);
}

/* Otvorena stavka sa fokusom u listi faza — izbegava sečenje transforma */
.operator-work-stavka:has(.operator-work-faze-list :focus-visible) {
  overflow: visible;
  position: relative;
  z-index: 120;
  box-shadow:
    0 14px 40px rgba(15, 23, 42, 0.14),
    0 0 0 1px rgba(37, 99, 235, 0.12);
}

.operator-work-st-head {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  padding: 9px 12px;
  text-align: left;
  font: inherit;
  cursor: pointer;
  border: none;
  background: linear-gradient(180deg, #cbd5e1 0%, #b8c4d4 100%);
  border-bottom: 1px solid #94a3b8;
  transition: background 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.operator-work-st-head:hover {
  background: linear-gradient(180deg, #d6dee8 0%, #c5ceda 100%);
}

.operator-work-st-head[aria-expanded='true'] {
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 50%, #93c5fd 100%);
  border-bottom-color: #2563eb;
  box-shadow: inset 0 -2px 0 rgba(37, 99, 235, 0.35);
}

.operator-work-st-head[aria-expanded='true']:hover {
  background: linear-gradient(135deg, #dbeafe 0%, #b6d9fc 45%, #7eb6fb 100%);
}

.operator-work-st-head:focus-visible {
  outline: 2px solid var(--pv-accent, #2563eb);
  outline-offset: 2px;
}

.operator-work-st-chev {
  font-size: 12px;
  color: var(--pv-muted, #475569);
  width: 1.2em;
  transition: color 0.2s ease;
}

.operator-work-st-head[aria-expanded='true'] .operator-work-st-chev {
  color: #1d4ed8;
}

.operator-work-st-rb {
  font-weight: 700;
  color: var(--pv-muted, #64748b);
}

.operator-work-st-name {
  flex: 1;
  font-weight: 700;
  font-size: 15px;
  color: var(--pv-navy-2, #0f243d);
}

.operator-work-faze-panel {
  margin-top: 0;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.06),
    0 10px 28px -14px rgba(15, 23, 42, 0.14);
  overflow: hidden;
}

.operator-work-faze-panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 14px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.28);
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

.operator-work-faze-panel-title {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--pv-navy-2, #0f243d);
}

.operator-work-faze-panel-body {
  padding: 10px 16px 12px;
  background: linear-gradient(180deg, #eef2f7 0%, #e8edf4 40%, #f1f5f9 100%);
}

.operator-work-st-body {
  padding: 0;
  background: #f8fafc;
  border-top: 1px solid rgba(148, 163, 184, 0.28);
}

.operator-work-stavka--flat > .operator-work-st-body {
  border-top: none;
  background: transparent;
  padding: 10px 10px 12px;
}

.operator-work-faze-section-head {
  display: flex;
  align-items: center;
  margin: 2px 0 0;
  padding: 0 0 6px;
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
}

.operator-work-faze-section-title {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--pv-muted, #64748b);
}

.operator-work-faze-panel-body .operator-work-faze-list {
  margin-top: 0;
}

.operator-work-faze-panel-body .operator-work-faze-list--cards {
  gap: 10px;
}

.operator-work-faze-list--empty {
  align-items: center;
  justify-content: center;
  min-height: 3.75rem;
  padding: 14px 12px;
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.75);
}

.operator-work-faze-empty-msg {
  margin: 0;
  font-size: 14px;
  text-align: center;
}

.operator-work-faze-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 8px;
}

.operator-work-faze-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  min-height: 0;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.operator-work-faze-row--compact .operator-work-faze-row-hit {
  padding: 4px 0 4px 10px;
}

.operator-work-faze-row-hit {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  padding: 5px 0 5px 10px;
  margin: 0;
  text-align: left;
  font: inherit;
  cursor: pointer;
  border: none;
  border-right: none;
  background: #fff;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}

.operator-work-faze-row-hit:hover {
  background: #f8fafc;
}

.operator-work-faze-row-hit:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: -2px;
  z-index: 1;
}

.operator-work-faze-row-hit-top {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  flex: 1;
}

.operator-work-faze-row-titleline {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}

.operator-work-faze-row-hit-title,
.operator-work-faze-row-dor-line {
  font-weight: 600;
  font-size: 14px;
  color: var(--pv-navy-2, #0f243d);
  flex: 0 1 auto;
  min-width: 0;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.operator-work-faze-row-vsep {
  width: 1px;
  height: 16px;
  margin: 0 8px;
  flex-shrink: 0;
  background: var(--pv-border-soft, #cbd5e1);
  border-radius: 1px;
  align-self: center;
}

.operator-work-faze-row-tail {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--pv-muted, #64748b);
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.operator-work-faze-row-hit-vsep {
  width: 1px;
  height: 20px;
  flex-shrink: 0;
  background: var(--pv-border-soft, #cbd5e1);
  border-radius: 1px;
}

.operator-work-faze-row-hit-top .app-status-pill {
  flex-shrink: 0;
}

.operator-work-faze-row-meta {
  font-size: 11px;
  line-height: 1.25;
  width: 100%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.operator-work-faze-row-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  align-content: center;
  gap: 8px;
  padding: 0;
  flex: 0 0 auto;
  max-width: min(100%, 28rem);
  background: transparent;
  border-left: none;
  align-self: center;
  border-radius: 0;
}

/* Ikonična dugmad u tabelama — Fascikle stroke SVG (16px) */
.btn.gm-table-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--app-table-btn-min-h);
  width: var(--app-table-btn-min-h);
  height: var(--app-table-btn-min-h);
  padding: 0;
  flex-shrink: 0;
}

.btn.gm-table-icon-btn .gm-icon-svg {
  display: block;
  flex-shrink: 0;
}

.btn.gm-table-icon-btn.gm-table-icon-btn--edit {
  border-color: var(--app-btn-solid-border);
  background: var(--app-btn-solid-bg);
  color: var(--app-btn-on-solid);
}

.btn.gm-table-icon-btn.gm-table-icon-btn--edit:hover {
  background: var(--app-btn-solid-bg-hover);
  border-color: var(--app-btn-solid-border);
  color: var(--app-btn-on-solid);
}

.btn.gm-table-icon-btn.gm-table-icon-btn--primary {
  border-color: var(--app-btn-solid-border);
  background: var(--app-btn-solid-bg);
  color: var(--app-btn-on-solid);
}

.btn.gm-table-icon-btn.gm-table-icon-btn--primary:hover {
  background: var(--app-btn-solid-bg-hover);
}

.btn.gm-table-icon-btn.gm-table-icon-btn--danger {
  border-color: var(--app-btn-danger-border);
  background: var(--app-btn-danger-bg);
  color: var(--app-btn-on-solid);
}

.btn.gm-table-icon-btn.gm-table-icon-btn--danger:hover {
  background: var(--app-btn-danger-bg-hover);
  border-color: var(--app-btn-danger-border);
}

.operator-work-faze-row-actions .btn.operator-work-faze-act-btn,
.operator-work-faze-row-actions .operator-work-faze-act-btn {
  position: relative;
  flex: 0 0 auto;
  min-height: var(--app-ui-btn-min-h);
  white-space: nowrap;
}

.operator-work-faze-row-actions .btn.operator-work-faze-act-btn.operator-work-faze-act-btn--primary {
  border-color: var(--app-btn-solid-border);
  background: var(--app-btn-solid-bg);
  color: var(--app-btn-on-solid);
}

.operator-work-faze-row-actions .btn.operator-work-faze-act-btn.operator-work-faze-act-btn--primary:hover {
  background: var(--app-btn-solid-bg-hover);
  border-color: var(--app-btn-solid-border);
  color: var(--app-btn-on-solid);
}

.operator-work-faze-row-actions .btn.operator-work-faze-act-btn.operator-work-faze-act-btn--danger {
  border-color: var(--app-btn-danger-border);
  background: var(--app-btn-danger-bg);
  color: var(--app-btn-on-solid);
}

.operator-work-faze-row-actions .btn.operator-work-faze-act-btn.operator-work-faze-act-btn--danger:hover {
  background: var(--app-btn-danger-bg-hover);
  border-color: var(--app-btn-danger-border);
  color: var(--app-btn-on-solid);
}

.operator-work-dor-phase--static {
  padding: 8px 10px;
  border: 1px dashed var(--pv-border-soft, #cbd5e1);
  border-radius: 10px;
  background: #fffefb;
}

.operator-work-dor-nap-block {
  padding: 8px 10px;
  border: 1px solid var(--pv-border-soft, #e8edf4);
  border-radius: 10px;
  background: #fff;
}

.operator-work-ph {
  margin-bottom: 8px;
  border: 1px solid var(--pv-border-soft, #e8edf4);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  transform-origin: center top;
  transition:
    transform 0.22s ease-out,
    box-shadow 0.22s ease-out,
    border-color 0.22s ease-out;
}

/* Isti naglasak kao u modalu faza — admin podrazumevano vidi operator akordeon, ne #fazeList */
.operator-work-ph:has(.operator-work-ph-head[aria-expanded='true']) {
  overflow: visible;
  transform: translateY(-3px) scale(1.05);
  z-index: 10;
  position: relative;
  box-shadow:
    0 16px 36px rgba(15, 23, 42, 0.12),
    0 0 0 1px rgba(37, 99, 235, 0.14);
}

.operator-work-ph:last-child {
  margin-bottom: 0;
}

.operator-work-ph-head {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  padding: 8px 10px;
  text-align: left;
  font: inherit;
  cursor: pointer;
  border: none;
  background: linear-gradient(180deg, #d8dee8 0%, #c9d4e0 100%);
  border-bottom: 1px solid rgba(100, 116, 139, 0.45);
  transition: background 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.operator-work-ph-head:hover {
  background: linear-gradient(180deg, #e1e7ef 0%, #d3dce8 100%);
}

.operator-work-ph-head[aria-expanded='true'] {
  background: linear-gradient(135deg, #ccfbf1 0%, #99f6e4 42%, #5eead4 100%);
  border-bottom-color: #0d9488;
  box-shadow: inset 0 -2px 0 rgba(13, 148, 136, 0.38);
}

.operator-work-ph-head[aria-expanded='true']:hover {
  background: linear-gradient(135deg, #ccfbf1 0%, #8ef0e0 40%, #2dd4bf 100%);
}

.operator-work-ph-head:focus-visible {
  outline: 2px solid #0d9488;
  outline-offset: 2px;
}

.operator-work-ph-chev {
  font-size: 12px;
  color: var(--pv-muted, #475569);
  width: 1.2em;
  flex-shrink: 0;
  transition: color 0.2s ease;
}

.operator-work-ph-head[aria-expanded='true'] .operator-work-ph-chev {
  color: #0f766e;
}

.operator-work-ph-title {
  flex: 1;
  min-width: 0;
  font-weight: 700;
  font-size: 14px;
}

.operator-work-ph-sec--admin {
  margin-top: 6px;
  padding-top: 10px;
  border-top: 1px dashed var(--pv-border-soft, #e2e8f0);
}

.operator-work-ph-admin-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.operator-work-ph-body {
  padding: 0;
  border-top: 1px dashed var(--pv-border-soft, #e8edf4);
  background: #fff;
}

.operator-work-ph-sheet {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0;
}

.operator-work-ph-sec {
  min-width: 0;
}

.operator-work-ph-sec-h {
  margin: 0 0 6px;
  padding: 0;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--pv-muted, #64748b);
}

.operator-work-ph-sec--flow {
  padding-top: 8px;
  margin-top: 2px;
  border-top: 1px dashed var(--pv-border-soft, #dde4ee);
}

.operator-work-ph-mid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 10px;
  align-items: start;
}

.operator-work-ph-mid--single {
  grid-template-columns: minmax(0, 1fr);
}

.operator-work-ph-cell {
  min-width: 0;
}

.operator-work-sum-wrap {
  margin-top: 0;
}

.operator-work-sum {
  font-size: 13px;
  line-height: 1.45;
  word-break: break-word;
  margin-bottom: 0;
}

.operator-work-sum-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.operator-work-sum-item {
  position: relative;
  margin: 0 0 5px;
  padding: 6px 9px 6px 11px;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 600;
  word-break: break-word;
  color: var(--pv-text, #1e293b);
  background: #fff;
  border-radius: 8px;
  border: 1px solid var(--pv-border-soft, #e8edf4);
  border-left: 3px solid var(--pv-border, #cbd5e1);
}

.operator-work-sum-item:last-child {
  margin-bottom: 0;
}

.operator-work-sum-list--grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 8px;
}

.operator-work-sum-list--grid .operator-work-sum-item {
  margin: 0;
}

.operator-work-sum-empty {
  display: inline-block;
  margin: 0;
  font-size: 13px;
}

.operator-work-ph-nap {
  margin: 0;
}

.operator-work-dor-card {
  margin: 0;
}

.operator-work-dor-phase {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.operator-work-dor-note-card {
  margin: 0;
}

.operator-work-dor-free {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 500;
  color: var(--pv-text, #334155);
  white-space: pre-wrap;
}

.operator-work-dor-stavke-sec {
  margin: 0;
  min-width: 0;
}

.operator-work-dor-panel {
  border: 1px solid var(--pv-border-soft, #e8edf4);
  border-radius: 10px;
  overflow: hidden;
  background: #fafbfc;
}

.operator-work-dor-list-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  background: linear-gradient(180deg, #fafbfc 0%, #f5f7fa 100%);
  border-bottom: 1px dashed var(--pv-border-soft, #e8edf4);
}

.operator-work-dor-inline-title {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--pv-text, #1e293b);
}

.operator-work-dor-count-pill {
  flex-shrink: 0;
  min-width: 2rem;
  padding: 4px 11px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  border-radius: 999px;
  background: #e2e8f0;
  color: var(--pv-navy-2, #0f243d);
}

.operator-work-dor-list-panel {
  padding: 10px 11px 11px;
  background: #fff;
}

.operator-work-dor-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.operator-work-dor-li {
  margin: 0;
  padding: 8px 10px 8px 11px;
  background: #f8fafc;
  border: 1px solid var(--pv-border-soft, #e8edf4);
  border-radius: 8px;
  border-left: 3px solid var(--pv-border, #94a3b8);
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.operator-work-dor-li--stavka-kartica {
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease;
}

.operator-work-dor-li--stavka-kartica:hover {
  background: #f1f5f9;
  border-color: var(--pv-border, #cbd5e1);
}

.operator-work-dor-li--stavka-kartica:focus-visible {
  outline: 2px solid var(--pv-accent, #2563eb);
  outline-offset: 2px;
}

.operator-work-dor-status-sel {
  flex-shrink: 0;
  max-width: 11rem;
  font-size: 12px;
  margin-top: 1px;
}

.operator-work-dor-roof-hint {
  font-size: 12px;
  line-height: 1.35;
  max-width: 18rem;
}

.operator-work-dor-li-txt {
  display: block;
  flex: 1;
  min-width: 0;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 600;
  color: var(--pv-text, #1e293b);
  word-break: break-word;
}

.operator-work-ph-flow {
  display: grid;
  grid-template-columns: minmax(72px, auto) 1fr;
  gap: 6px 12px;
  align-items: start;
  padding: 7px 9px;
  background: #fff;
  border: 1px solid var(--pv-border-soft, #e8edf4);
  border-radius: 9px;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
}

.operator-work-ph-flow-lbl {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.35;
  color: var(--pv-muted, #64748b);
  padding-top: 5px;
}

.operator-work-ph-flow-actions {
  min-width: 0;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: center;
}

@media (max-width: 560px) {
  .operator-work-ph-mid:not(.operator-work-ph-mid--single) {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .operator-work-sum-list--grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .operator-work-ph-flow {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .operator-work-ph-flow-lbl {
    padding-top: 0;
  }
}

.operator-work-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid var(--pv-border-soft, #edf2f7);
}

.operator-work-status-label {
  font-size: 12px;
  font-weight: 600;
  margin: 0;
}

.operator-work-status-sel {
  min-width: 140px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid var(--pv-border, #d0d9e4);
}

.operator-work-kartica {
  margin-bottom: 0;
}

.operator-work-stavka-sheet {
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.operator-work-kv-lbl {
  display: block;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  color: var(--pv-muted, #64748b);
  margin-bottom: 3px;
}

.operator-work-kv-val {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--pv-text, #1e293b);
  word-break: break-word;
}

.operator-work-kv-val .muted {
  font-weight: 400;
}

.operator-work-kv-val--multiline {
  white-space: pre-wrap;
  font-weight: 700;
}

.operator-work-kv-val--inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-weight: 400;
}

.operator-work-kv-val--inline .pill {
  font-weight: 700;
}

.operator-work-kv-pair {
  min-width: 0;
}

.operator-work-kv-pair--status .operator-work-kv-val--inline {
  gap: 8px;
}

.operator-work-stavka-hero {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0 10px;
  padding: 5px 10px;
  min-height: 0;
  background: #fff;
  border-bottom: 1px solid var(--pv-border-soft, #e8edf4);
}

.operator-work-stavka-hero--summary {
  flex-wrap: wrap;
  row-gap: 8px;
}

.operator-work-stavka-hero--summary .operator-work-stavka-hero-status {
  margin-left: auto;
}

.operator-work-stavka-hero-vsep {
  width: 1px;
  align-self: stretch;
  min-height: 22px;
  margin: 2px 0;
  flex-shrink: 0;
  background: var(--pv-border-soft, #e2e8f0);
  border-radius: 1px;
}

.operator-work-stavka-hero-vsep--in-tail {
  min-height: 18px;
  align-self: center;
  margin: 0;
}

.operator-work-stavka-hero-titlewrap {
  flex: 1 1 0;
  min-width: 0;
}

.operator-work-stavka-hero-tail {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0 10px;
  flex: 0 0 auto;
}

.operator-work-stavka-hero-metrics {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0 8px;
}

.operator-work-st-metric {
  display: inline-flex;
  flex-direction: row;
  align-items: baseline;
  gap: 4px;
  white-space: nowrap;
}

.operator-work-st-m-lbl {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--pv-muted, #64748b);
}

.operator-work-st-m-val {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--pv-text, #1e293b);
}

.operator-work-st-mid-vsep {
  width: 1px;
  height: 14px;
  flex-shrink: 0;
  background: var(--pv-border-soft, #e2e8f0);
  border-radius: 1px;
}

.operator-work-stavka-hero-status {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.operator-work-stavka-rb {
  font-weight: 800;
  font-size: 13px;
  color: var(--pv-muted, #64748b);
  line-height: 1.25;
  min-width: 1.25rem;
  flex-shrink: 0;
}

.operator-work-stavka-title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--pv-text, #1e293b);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.operator-work-stavka-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 8px;
  padding: 6px 10px;
  background: #f8fafc;
}

.operator-work-stavka-grid .operator-work-kv-lbl {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 2px;
}

.operator-work-stavka-grid .operator-work-kv-val {
  font-size: 14px;
  line-height: 1.4;
}

.operator-work-stavka-grid--detail {
  grid-template-columns: 1fr;
  gap: 5px;
}

.operator-work-stavka-detail-span {
  grid-column: 1 / -1;
}

.operator-work-kv-pair--stack {
  min-width: 0;
  padding: 5px 8px;
  background: #fff;
  border: 1px solid var(--pv-border-soft, #e8edf4);
  border-radius: 8px;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
}

@media (max-width: 640px) {
  .operator-work-stavka-hero {
    flex-wrap: wrap;
    row-gap: 6px;
    column-gap: 8px;
    padding: 6px 8px;
  }

  .operator-work-stavka-hero--summary .operator-work-stavka-hero-status {
    margin-left: 0;
    flex: 1 1 100%;
    display: flex;
    justify-content: flex-end;
  }

  .operator-work-stavka-hero-vsep:not(.operator-work-stavka-hero-vsep--in-tail) {
    display: none;
  }

  .operator-work-stavka-hero-titlewrap {
    flex: 1 1 calc(100% - 2.5rem);
    min-width: 0;
  }

  .operator-work-stavka-hero-tail {
    flex: 1 1 100%;
    justify-content: space-between;
    padding-top: 4px;
    border-top: 1px solid var(--pv-border-soft, #eef2f7);
    margin-top: 2px;
  }

  .operator-work-stavka-hero-vsep--in-tail {
    display: none;
  }

  .operator-work-stavka-grid {
    grid-template-columns: 1fr;
  }
}

.operator-work-shell .btn.btn-sm {
  /* Ista geometrija kao globalni .btn — klasa ostaje radi kompatibilnosti */
  min-height: var(--app-ui-btn-min-h);
  padding: var(--app-ui-btn-pad-y) var(--app-ui-btn-pad-x) !important;
  font-size: var(--app-ui-btn-fs) !important;
}

.operator-work-ro-lbl {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--pv-muted, #64748b);
  margin-bottom: 4px;
}

.operator-work-ro-val {
  font-size: 14px;
  line-height: 1.45;
  color: var(--pv-text, #1e293b);
}

.operator-work-ro-multiline {
  white-space: pre-wrap;
}

.operator-work-status-btn-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.operator-work-actions--faza {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

.operator-work-faza-status-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.operator-poruka-modal {
  max-width: 520px;
  width: calc(100vw - 32px);
  max-height: min(85vh, 640px);
  max-height: min(85dvh, 640px);
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
}

.operator-poruka-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  flex-shrink: 0;
  margin: 0;
  padding: 12px 16px;
  background: linear-gradient(180deg, var(--pv-navy-1) 0%, var(--pv-navy-2) 100%);
  border-bottom: 1px solid rgba(0, 20, 40, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  border-radius: 12px 12px 0 0;
}

.operator-poruka-modal-head .nalog-stavke-title {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #f0f6ff;
}

.operator-poruka-modal-head .btn.light {
  flex: 0 0 auto;
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.28);
  color: #f0f6ff;
}

.operator-poruka-modal-head .btn.light:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.38);
}

.modal.operator-poruka-modal > *:not(.operator-poruka-modal-head) {
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

.modal.operator-poruka-modal > #operatorFazaPorukaSub {
  padding-top: 12px;
  margin: 0;
}

.modal.operator-poruka-modal .operator-poruka-thread {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  margin: 10px 0;
}

.modal.operator-poruka-modal > .operator-poruka-compose {
  flex-shrink: 0;
  margin-top: auto;
  padding-top: 12px;
  padding-bottom: 16px;
  border-top: 1px solid #e8edf4;
  background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

.operator-faza-poruka-kontekst:not(.hidden) {
  margin: 10px 0 4px;
}

.operator-poruka-dorada-hint {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  margin: 0;
  background: var(--pv-surface-2, #f1f5f9);
  border-radius: 10px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
}

.operator-poruka-dorada-hint .nalog-poruka-faza-hint-txt {
  flex: 1 1 160px;
  min-width: 0;
}

.operator-poruka-dorada-actions {
  margin-top: 10px;
}

.operator-poruka-thread {
  max-height: 240px;
  overflow-y: auto;
  margin: 12px 0;
  padding: 10px;
  background: #f8fafc;
  border-radius: 10px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
}

.operator-poruka-row {
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--pv-border-soft, #e8edf4);
}

.operator-poruka-row:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.operator-poruka-meta {
  font-size: 12px;
  margin-bottom: 4px;
}

.operator-poruka-txt {
  font-size: 14px;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
}

.operator-poruka-compose textarea {
  width: 100%;
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.45;
}

/* Nit poruka vezanih za radni nalog (nalog.html) */
.nalog-poruke-shell {
  margin-bottom: 12px;
}

.nalog-osnovni-acc.nalog-poruke-shell {
  margin-top: 12px;
}

.nalog-sazetak-inner {
  font-size: 14px;
  line-height: 1.45;
}

.nalog-sazetak-block {
  margin-bottom: 18px;
}

.nalog-sazetak-block:last-child {
  margin-bottom: 0;
}

.nalog-sazetak-h {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--pv-muted, #64748b);
}

.nalog-sazetak-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.nalog-sazetak-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  font-size: 13px;
}

.nalog-sazetak-chip--faza {
  background: #eff6ff;
  border-color: #bfdbfe;
}

.nalog-sazetak-chip-lbl {
  color: var(--pv-muted, #64748b);
}

.nalog-sazetak-chip-val {
  font-weight: 700;
  color: var(--pv-text, #0f172a);
}

.nalog-sazetak-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.nalog-sazetak-table th,
.nalog-sazetak-table td {
  padding: 8px 10px;
  text-align: left;
  border-bottom: 1px solid #e2e8f0;
}

.nalog-sazetak-table th {
  font-weight: 600;
  color: var(--pv-muted, #64748b);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.nalog-sazetak-num {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.nalog-isporuka-ro-inner p {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.45;
}

.nalog-isporuka-ro-inner p:last-child {
  margin-bottom: 0;
}

.nalog-isporuka-form {
  margin-top: 4px;
}

.nalog-vozila-lista {
  margin: 0;
  padding-left: 1.2rem;
  line-height: 1.6;
}

.nalog-poruke-shell .phase-card-preview strong {
  font-weight: 700;
  color: var(--pv-text, #0f172a);
}

#nalogPorukeBody.nalog-poruke-body {
  padding: 20px 22px 26px;
}

.nalog-poruke-participants {
  font-size: 12px;
  line-height: 1.45;
  margin: 0 0 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
}

.nalog-poruke-part-lbl {
  font-weight: 600;
  color: var(--pv-muted, #64748b);
}

.nalog-poruke-chip {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  font-size: 12px;
  font-weight: 600;
  color: var(--pv-text, #1e293b);
}

.nalog-poruke-thread {
  max-height: min(52vh, 28rem);
  overflow-y: auto;
  padding: 10px 4px 12px 2px;
  margin: 0 0 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: linear-gradient(180deg, #f8fafc 0%, #fff 40%);
  border: 1px solid var(--pv-border-soft, #e8edf4);
  border-radius: 12px;
}

.nalog-poruka-bubble {
  max-width: min(100%, 38rem);
  padding: 9px 12px 10px;
  border-radius: 12px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.nalog-poruka-bubble--other {
  align-self: flex-start;
  background: #fff;
  margin-right: auto;
}

.nalog-poruka-bubble--mine {
  align-self: flex-end;
  margin-left: auto;
  background: linear-gradient(180deg, #eff6ff 0%, #fff 100%);
  border-color: #bfdbfe;
}

.nalog-poruka-bubble-meta {
  font-size: 13px;
  font-weight: 600;
  color: var(--pv-muted, #64748b);
  margin-bottom: 6px;
}

.nalog-poruka-bubble-txt {
  font-size: 16px;
  line-height: 1.55;
  white-space: normal;
  word-break: break-word;
  color: var(--pv-text, #1e293b);
}

.nalog-poruka-bubble-txt a.nalog-poruka-link {
  font-weight: 600;
  color: var(--pv-accent, #2563eb);
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-all;
}

.nalog-poruka-bubble-txt a.nalog-poruka-link:hover {
  color: #1d4ed8;
}

.nalog-poruke-bar-toggle {
  cursor: pointer;
  user-select: none;
}

.nalog-poruke-bar-toggle:hover {
  filter: brightness(0.985);
}

.nalog-poruke-bar-toggle:focus-visible {
  outline: 2px solid var(--pv-accent, #2563eb);
  outline-offset: -2px;
}

.nalog-poruke-bar-toggle .nalog-poruke-bar-chevron {
  margin-left: auto;
  flex-shrink: 0;
  font-size: 11px;
  line-height: 1;
  opacity: 0.88;
}

.nalog-poruke-new-badge {
  flex-shrink: 0;
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  background: linear-gradient(180deg, #fef3c7 0%, #fde68a 100%);
  border: 1px solid #f59e0b;
  color: #92400e;
  animation: nalog-poruke-badge-pulse 2s ease-in-out infinite;
}

@keyframes nalog-poruke-badge-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.35);
  }
  50% {
    box-shadow: 0 0 0 4px rgba(245, 158, 11, 0);
  }
}

.nalog-poruka-entry {
  max-width: min(100%, 38rem);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.nalog-poruka-entry--other {
  align-self: flex-start;
}

.nalog-poruka-entry--mine {
  align-self: flex-end;
}

.nalog-poruka-faza-hint {
  font-size: 12px;
  line-height: 1.35;
  color: var(--pv-muted, #64748b);
  padding: 4px 2px 0;
}

.nalog-poruka-faza-hint-txt {
  font-weight: 600;
  color: var(--pv-text-soft, #475569);
}

a.nalog-poruka-faza-link {
  font-weight: 600;
  color: var(--pv-accent, #2563eb);
  text-decoration: underline;
  text-underline-offset: 2px;
}

a.nalog-poruka-faza-link:hover {
  color: #1d4ed8;
}

.phase-card.poruka-target-highlight {
  outline: 2px solid var(--pv-accent, #2563eb);
  outline-offset: 2px;
  border-radius: 12px;
  transition: outline-color 0.2s ease;
}

.nalog-poruke-compose textarea {
  width: 100%;
  box-sizing: border-box;
  margin-top: 4px;
  min-height: 72px;
  font-size: 16px;
  line-height: 1.45;
}

.nalog-poruke-compose-actions {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.nalog-poruke-footer-msg {
  margin: 8px 0 0;
  font-size: 14px;
}

.nalog-poruke-empty {
  margin: 8px 10px;
}

/* Inbox poruka (poruke.html) — kartica i lista u istom jeziku kao ostatak aplikacije */
body.poruke-inbox-page .poruke-inbox-card.phase-card.phase-row-shell,
body.obavestenja-page .obavestenja-card.phase-card.phase-row-shell {
  overflow: hidden;
  border-radius: 16px;
}

body.poruke-inbox-page .poruke-inbox-panel-body {
  padding-top: 16px;
  padding-bottom: 20px;
}

body.poruke-inbox-page .poruke-inbox-hint {
  margin: 0 0 16px;
  padding: 10px 12px 10px 14px;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #475569;
  border-left: 3px solid #94a3b8;
  border-radius: 0 10px 10px 0;
  background: rgba(248, 250, 252, 0.95);
  max-width: none;
}

body.poruke-inbox-page .poruke-inbox-root {
  min-width: 0;
}

body.poruke-inbox-page .poruke-inbox-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: none;
  background: transparent;
  overflow: visible;
}

body.poruke-inbox-page .poruke-inbox-item {
  margin: 0;
  border: none;
}

body.poruke-inbox-page .poruke-inbox-link {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 16px;
  text-decoration: none;
  color: inherit;
  border: 1px solid #e8edf4;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    background 0.15s ease;
}

body.poruke-inbox-page .poruke-inbox-link:hover {
  border-color: #cbd5e1;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
  background: #fafbfc;
}

body.poruke-inbox-page .poruke-inbox-item--unread .poruke-inbox-link {
  border-left: 4px solid var(--pv-primary, #2084f3);
  padding-left: 12px;
}

body.poruke-inbox-page .poruke-inbox-row-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  row-gap: 6px;
}

body.poruke-inbox-page .poruke-inbox-broj {
  font-weight: 800;
  font-size: 0.9375rem;
  letter-spacing: 0.02em;
  color: #0f172a;
}

body.poruke-inbox-page .poruke-inbox-item--unread .poruke-inbox-broj {
  color: var(--pv-primary-strong, #1268c8);
}

body.poruke-inbox-page .poruke-inbox-klij {
  flex: 1 1 140px;
  min-width: 0;
  font-weight: 600;
  font-size: 0.9rem;
  color: #334155;
}

body.poruke-inbox-page .poruke-inbox-time {
  flex: 0 0 auto;
  margin-left: auto;
  font-size: 12px;
  font-weight: 500;
  color: #64748b;
}

body.poruke-inbox-page .poruke-inbox-preview {
  font-size: 0.875rem;
  line-height: 1.5;
  color: #64748b;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.poruke-inbox-page .poruke-inbox-unread {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 800;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  flex-shrink: 0;
}

body.poruke-inbox-page .poruke-inbox-empty {
  margin: 8px 0 0;
  padding: 28px 22px;
  text-align: center;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  background: linear-gradient(180deg, #f8fafc 0%, #fff 55%);
}

body.poruke-inbox-page .poruke-inbox-empty-title {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: 0.02em;
}

body.poruke-inbox-page .poruke-inbox-empty-lead {
  margin: 0;
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.9rem;
  line-height: 1.5;
}

body.poruke-inbox-page .poruke-inbox-empty-link {
  font-weight: 700;
  color: var(--pv-primary-strong, #1268c8);
}

body.poruke-inbox-page .poruke-inbox-foot {
  margin: 14px 0 0;
  min-height: 1.25rem;
  font-size: 0.875rem;
}

/* Pregled faze — nova kartica, isti izgled kao lista faza na nalogu (read-only) */
.faza-pregled-page .faza-pregled-shell {
  max-width: 56rem;
  margin: 0 auto;
}

.faza-pregled-workspace {
  padding-bottom: 2rem;
}

.faza-pregled-lead-mini {
  margin: 4px 0 0;
  font-size: 13px;
  max-width: 36rem;
}

.faza-pregled-topbar {
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px 16px;
}

.faza-pregled-msg {
  margin: 0 0 12px;
}

.faza-pregled-page .faza-pregled-faze-wrap.faza-pregled-cards-root {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.faza-pregled-page .faza-pregled-cards-root > .phase-card.phase-row-shell {
  margin: 0;
  border-radius: 0;
  border: none;
}

.faza-pregled-page .faza-pregled-cards-root > .phase-card.phase-card--dorada-faza {
  border-left: 4px solid #d97706;
}

.faza-pregled-page .phase-card-bar--faza-list .phase-card-bar-chevron {
  margin-left: auto;
  flex-shrink: 0;
  font-size: 11px;
  line-height: 1;
  opacity: 0.88;
}

.faza-pregled-page .phase-card-body[data-faza-pregled-body='1'] {
  border-top: 1px solid #eef2f7;
}

.faza-pregled-ro-toolbar {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding: 10px 12px;
  margin: 0;
  border-bottom: 1px solid #eef2f7;
  background: rgba(248, 250, 252, 0.65);
}

.faza-pregled-ro-toolbar-actions {
  margin-left: auto;
}

.faza-pregled-ro-toolbar-hint {
  font-size: 13px;
}

.faza-pregled-form-sheet.faza-phase-form-sheet {
  padding: 12px 14px 18px;
}

.faza-pregled-ro-input {
  width: 100%;
  box-sizing: border-box;
  margin-top: 4px;
  padding: 9px 11px;
  font-size: 14px;
  line-height: 1.4;
  border-radius: 10px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  background: #f8fafc;
  color: var(--pv-text, #1e293b);
  cursor: default;
}

.faza-pregled-ro-textarea.faza-dorada-opis-textarea {
  background: #f8fafc;
  color: var(--pv-text, #1e293b);
  cursor: default;
  resize: none;
}

.faza-pregled-detalji-root {
  font-size: 13px;
  line-height: 1.45;
  margin-top: 8px;
}

.faza-pregled-phase-only-list {
  margin: 8px 0 0;
  padding-left: 1.25rem;
  list-style: disc;
}

.faza-pregled-phase-only-list li {
  margin: 6px 0;
  padding-left: 4px;
}

.faza-pregled-phase-empty {
  margin: 8px 0 0;
}

.faza-pregled-dl {
  margin: 0 0 0 0.5rem;
  padding: 0;
}

.faza-pregled-dl dt {
  font-weight: 700;
  color: var(--pv-muted, #64748b);
  font-size: 12px;
  margin-top: 10px;
}

.faza-pregled-dl dd {
  margin: 4px 0 0 0;
  padding: 0;
}

.faza-pregled-ol {
  margin: 6px 0 6px 1.25rem;
  padding: 0;
}

.faza-pregled-pre {
  margin: 6px 0;
  padding: 10px 12px;
  background: #f8fafc;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 8px;
  font-size: 12px;
  white-space: pre-wrap;
  word-break: break-word;
  max-height: min(60vh, 24rem);
  overflow: auto;
}

/* Modal pregled faze (nad porukama — lebdeća kartica, bez novog prozora) */
.modal.faza-pregled-modal-card {
  width: min(720px, 100%);
  max-width: 56rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  max-height: min(92vh, 920px);
  overflow: hidden;
  min-width: 0;
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  box-shadow:
    0 4px 6px -1px rgba(15, 23, 42, 0.08),
    0 20px 50px -16px rgba(15, 23, 42, 0.18);
  background: #fff;
}

.faza-pregled-modal-backdrop {
  z-index: 1050;
  align-items: center;
}

.faza-pregled-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-shrink: 0;
  padding: 12px 16px;
  background: linear-gradient(180deg, var(--pv-navy-1) 0%, var(--pv-navy-2) 100%);
  border-bottom: 1px solid rgba(0, 20, 40, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  border-radius: 16px 16px 0 0;
  min-width: 0;
}

.faza-pregled-modal-title {
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 0.03em;
  color: #f0f6ff;
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.faza-pregled-modal-head #fazaPregledModalCloseBtn,
.faza-pregled-modal-head .btn {
  flex: 0 0 auto;
}

.faza-pregled-modal-head .btn.light {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.28);
  color: #f0f6ff;
}

.faza-pregled-modal-head .btn.light:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.38);
}

.faza-pregled-modal-msg {
  margin: 0;
  padding: 8px 16px 0;
  flex-shrink: 0;
  font-size: 13px;
}

.faza-pregled-modal-root {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 12px 14px 18px;
  -webkit-overflow-scrolling: touch;
  background: linear-gradient(180deg, #f1f5f9 0%, #f8fafc 28%, #f8fafc 100%);
}

.faza-pregled-modal-root .faza-pregled-mod-status-wrap {
  margin: 0 0 4px;
  padding: 12px 14px;
  border: 1px solid var(--pv-border-soft, #e8edf4);
  border-radius: 10px;
  background: #f8fafc;
}

.faza-pregled-modal-root .faza-pregled-mod-status-hint {
  margin: 6px 0 0;
  font-size: 12px;
}

.faza-pregled-modal-root .faza-pregled-mod-status-sel,
.faza-pregled-modal-root .faza-pregled-mod-dorada-status-sel {
  max-width: 18rem;
  width: 100%;
  font-size: 14px;
  font-weight: 600;
}

.faza-pregled-modal-root .faza-pregled-poruke-shell {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.faza-pregled-modal-root .faza-pregled-poruke-shell > .phase-card.phase-row-shell {
  margin: 0;
  border: none;
  border-radius: 0;
}

.faza-pregled-modal-root .faza-pregled-poruke-shell > .phase-card.phase-card--dorada-faza {
  border-left: 4px solid #d97706;
}

.faza-pregled-modal-root .faza-pregled-poruke-shell .phase-card-bar--faza-list .phase-card-bar-chevron {
  margin-left: auto;
  flex-shrink: 0;
  font-size: 11px;
  line-height: 1;
  opacity: 0.88;
}

.faza-pregled-poruke-card-body {
  padding: 14px 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: linear-gradient(180deg, #fafbfc 0%, #fff 45%);
}

.faza-pregled-poruke-bar.faza-pregled-poruke-bar--priprema {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 55%, #bfdbfe 100%);
  border-bottom-color: #93c5fd;
}

.faza-pregled-poruke-bar.faza-pregled-poruke-bar--stampa {
  background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 50%, #ddd6fe 100%);
  border-bottom-color: #a78bfa;
}

.faza-pregled-poruke-bar.faza-pregled-poruke-bar--dorada,
.faza-pregled-modal-root .faza-pregled-poruke-shell > .phase-card.phase-card--dorada-faza .faza-pregled-poruke-bar {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 40%, #fde68a 100%);
  border-bottom-color: #f59e0b;
}

.faza-pregled-poruke-bar.faza-pregled-poruke-bar--ostalo {
  background: linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 100%);
}

.faza-pregled-poruke-faza-title {
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--pv-navy-2, #0f243d);
  letter-spacing: -0.02em;
}

.faza-pregled-poruke-kicker {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 600;
  color: var(--pv-text-soft, #475569);
}

.faza-pregled-poruke-faza-head {
  margin: 0 0 4px;
}

.faza-pregled-poruke-faza-sadrzaj {
  margin: 0;
}

.faza-pregled-poruke-band .gra-form-band__head {
  padding-bottom: 4px;
}

.faza-pregled-poruke-nap {
  margin-top: 4px;
}

.faza-pregled-poruke-nap-txt {
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
}

.faza-pregled-poruke-band .gra-form-band-title {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.faza-pregled-phase-only-list.faza-pregled-poruke-faza-list {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

.faza-pregled-phase-only-list.faza-pregled-poruke-faza-list li {
  position: relative;
  margin: 0;
  padding: 10px 12px 10px 14px;
  border: 1px solid #e8edf4;
  border-radius: 10px;
  background: #fff;
  font-size: 14px;
  line-height: 1.45;
  color: #1e293b;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

.faza-pregled-phase-only-list.faza-pregled-poruke-faza-list li + li {
  margin-top: 8px;
}

.faza-pregled-poruke-phase--priprema .faza-pregled-phase-only-list.faza-pregled-poruke-faza-list li {
  border-left: 3px solid #3b82f6;
}

.faza-pregled-poruke-phase--stampa .faza-pregled-phase-only-list.faza-pregled-poruke-faza-list li {
  border-left: 3px solid #7c3aed;
}

.faza-pregled-poruke-phase--dorada .faza-pregled-phase-only-list.faza-pregled-poruke-faza-list li {
  border-left: 3px solid #d97706;
}

.faza-pregled-dorada-empty {
  margin: 8px 0 0;
  font-size: 14px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #fffbeb;
  border: 1px dashed #fcd34d;
}

.faza-pregled-dorada-wrap {
  margin: 8px 0 0;
  border-radius: 12px;
  border: 1px solid #fde68a;
  background: linear-gradient(180deg, #fffbeb 0%, #fff 50%);
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}

.faza-pregled-dorada-stavke-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.faza-pregled-dorada-stavke-table thead th {
  text-align: left;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #92400e;
  background: rgba(254, 243, 199, 0.85);
  padding: 8px 12px;
  border-bottom: 1px solid #fcd34d;
}

.faza-pregled-dorada-th-st {
  text-align: right;
  width: 7.5rem;
}

.faza-pregled-dorada-row:nth-child(even) {
  background: rgba(255, 251, 235, 0.45);
}

.faza-pregled-dorada-td-op {
  padding: 10px 12px;
  vertical-align: top;
  border-bottom: 1px solid #fef3c7;
  line-height: 1.4;
}

.faza-pregled-dorada-td-st {
  padding: 10px 12px;
  vertical-align: middle;
  text-align: right;
  border-bottom: 1px solid #fef3c7;
  white-space: nowrap;
}

.faza-pregled-dorada-row:last-child .faza-pregled-dorada-td-op,
.faza-pregled-dorada-row:last-child .faza-pregled-dorada-td-st {
  border-bottom: none;
}

.faza-pregled-dorada-idx {
  display: inline-block;
  min-width: 1.35rem;
  margin-right: 6px;
  font-weight: 800;
  font-size: 12px;
  color: #b45309;
}

.faza-pregled-dorada-main {
  font-weight: 600;
  color: #0f172a;
}

.faza-pregled-dorada-opis-line {
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.4;
}

.faza-pregled-poruke-sep {
  height: 1px;
  margin: 16px 0 12px;
  background: linear-gradient(90deg, transparent, #cbd5e1, transparent);
}

.faza-pregled-poruke-nova {
  margin-top: 4px;
}

.faza-pregled-poruke-send-row {
  margin-top: 8px;
}

.faza-pregled-poruke-thread.operator-poruka-thread {
  margin: 0;
  max-height: min(42vh, 300px);
}

.faza-pregled-poruke-nova textarea {
  width: 100%;
  box-sizing: border-box;
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.45;
}

button.nalog-poruka-faza-pregled-btn.nalog-poruka-faza-link {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  cursor: pointer;
  color: var(--pv-accent, #2563eb);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

button.nalog-poruka-faza-pregled-btn.nalog-poruka-faza-link:hover {
  color: #1d4ed8;
}

/* Faze — kompaktniji status i dugmad na uskom ekranu */
@media (max-width: 900px) {
  #fazeList .phase-card-bar--faza-list {
    padding: 8px 10px;
    gap: 6px;
    row-gap: 6px;
    flex-wrap: wrap;
    align-items: center;
  }

  #fazeList .phase-card-bar--faza-list .phase-card-faza-vrsta {
    font-size: 11px;
    letter-spacing: 0.02em;
  }

  #fazeList .phase-card-status-inline {
    gap: 4px 6px;
    max-width: 100%;
  }

  #fazeList .phase-card-status-label {
    font-size: 10px;
    font-weight: 600;
  }

  #fazeList .phase-card-status-value {
    font-size: 11px;
    max-width: min(46vw, 12rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #fazeList .faza-phase-toolbar {
    flex-wrap: wrap;
    gap: 6px;
    align-items: stretch;
  }

  #fazeList .faza-phase-toolbar .btn {
    font-size: 11px;
    padding: 5px 9px;
    min-height: 30px;
  }

  #fazeList .faza-phase-toolbar .faza-status-action-btn {
    flex: 1 1 auto;
    min-width: min(100%, 12rem);
  }

  .operator-faze-rezime-status.app-status-pill.pill {
    font-size: 10px !important;
    padding: 2px 6px !important;
    line-height: 1.25;
  }

  .operator-work-faze-row-hit-top .app-status-pill.pill {
    font-size: 10px !important;
    padding: 2px 6px !important;
    line-height: 1.25;
    max-width: 46vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .operator-work-faze-row {
    flex-wrap: wrap;
  }

  .operator-work-faze-row-hit {
    flex: 1 1 100%;
    border-right: none;
    border-bottom: 1px solid var(--pv-border-soft, #e8edf4);
  }

  .operator-work-faze-row-actions {
    flex: 1 1 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
    max-width: none;
    padding: 4px 6px 6px;
    gap: 4px;
  }

  .operator-work-ph-head {
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
  }

  .operator-work-ph-head .app-status-pill.pill {
    font-size: 10px !important;
    padding: 2px 6px !important;
    line-height: 1.25;
    max-width: 46vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-st-body {
    padding: 8px 8px 10px;
  }

  body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-st-head {
    padding: 7px 6px;
  }

  body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-faze-panel-head {
    padding: 8px 10px;
  }

  body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-faze-panel-body {
    padding: 10px 8px 12px;
  }

  body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-faze-list {
    padding: 0;
  }

  body.nalog-detail-page .faze-modal-shell #fazeList .phase-card-body {
    padding: 0;
  }

  .operator-work-ph-flow-actions {
    flex-wrap: wrap;
    gap: 6px;
  }

  .operator-work-ph-flow-actions .btn {
    font-size: var(--app-ui-btn-fs);
    padding: var(--app-ui-btn-pad-y) var(--app-ui-btn-pad-x);
    min-height: var(--app-ui-btn-min-h);
  }

  .faze-modal-status-legend {
    flex-wrap: wrap;
    gap: 6px !important;
  }

  .faze-modal-status-legend .pill {
    font-size: 10px;
    padding: 3px 8px;
  }

  .faza-pregled-modal-root .phase-card-status-value {
    font-size: 11px;
  }
}

/* Prikaz statusa (nalog / stavka / faza) — jedinstveno širom aplikacije */
.app-status-display {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-height: 2.25rem;
}

.app-status-hint {
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 1.35;
}

.app-status-pill.pill {
  display: inline-flex;
  align-items: center;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.02em;
}

.nalog-meta-grid .meta-item .value .app-status-pill.pill {
  font-size: 13px;
}

/* Detalj naloga — hijerarhija operater: stavka → telo → faza (boja leve ivice + manji padding) */
body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-stavka {
  border-left: 4px solid rgba(37, 99, 235, 0.88);
}

body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-st-body {
  background: transparent;
  padding: 8px 8px 10px;
}

body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-faze-row.operator-work-faze-card {
  border: 1px solid var(--pv-border-soft);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.07);
  background: var(--card);
}

body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-faze-card.row-status-ceka,
body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-faze-card.row-status-u_pripremi,
body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-faze-card.row-status-otvoren {
  border: 1px solid var(--app-soft-blue-border);
  background: color-mix(in srgb, var(--app-soft-blue-bg) 65%, var(--card));
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-faze-card.row-status-ceka_isporuku {
  border: 1px solid var(--app-soft-blue-border);
  background: color-mix(in srgb, var(--app-soft-blue-bg) 55%, var(--card));
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-faze-card.row-status-u_radu {
  border: 1px solid var(--app-soft-amber-border);
  background: color-mix(in srgb, var(--app-soft-amber-bg) 70%, var(--card));
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-faze-card.row-status-zavrseno,
body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-faze-card.row-status-zavrsen {
  border: 1px solid var(--app-soft-green-border);
  background: color-mix(in srgb, var(--app-soft-green-bg) 65%, var(--card));
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-faze-card.row-status-pauza,
body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-faze-card.row-status-otkazan {
  border: 1px solid var(--app-soft-red-border);
  background: color-mix(in srgb, var(--app-soft-red-bg) 65%, var(--card));
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-faze-card.operator-work-faze-row--dor-roof {
  border: 1px solid var(--app-soft-amber-border);
  background: color-mix(in srgb, var(--app-soft-amber-bg) 75%, var(--card));
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

/* Detalj naloga — jedan nivo tabova (Osnovno | Stavke i faze | Poruke) */
.nalog-one-page-layout {
  margin-top: 8px;
}

.nalog-one-page-tablist {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  align-items: flex-end;
  margin: 0 0 0;
  padding: 8px 10px 0;
  border-radius: 12px 12px 0 0;
  border: 1px solid var(--pv-border-soft);
  border-bottom: none;
  background: linear-gradient(180deg, var(--app-table-head-bg) 0%, color-mix(in srgb, var(--app-table-head-bg) 92%, var(--pv-border)) 45%);
  box-sizing: border-box;
}

.nalog-one-page-tablist .faze-phase-tab.nalog-one-page-tab {
  margin: 0;
  border-radius: 10px 10px 0 0;
  border: 1px solid var(--pv-border);
  border-bottom: none;
  background: color-mix(in srgb, var(--card) 72%, transparent);
  color: var(--pv-muted);
  font-size: 0.9rem;
  font-weight: 600;
  padding: 10px 14px;
  cursor: pointer;
  box-shadow: none;
}

.nalog-one-page-tablist .faze-phase-tab.nalog-one-page-tab:hover {
  background: var(--card);
  color: var(--pv-text);
}

.nalog-one-page-tablist .faze-phase-tab.nalog-one-page-tab[aria-selected='true'] {
  background: var(--card);
  color: var(--app-btn-solid-bg);
  border-color: var(--pv-border-soft);
  border-bottom: 1px solid var(--card);
  margin-bottom: -1px;
  z-index: 1;
  position: relative;
}

/* Tabovi detalja naloga / kalkulacije / ponude — neutralni; aktivni isti plavi ton kao „Izmeni“ */
body.nalog-detail-page .nalog-one-page-tablist,
body.kalkulacija-detail-page .nalog-one-page-tablist,
body.ponuda-detail-page .nalog-one-page-tablist {
  position: relative;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0 0 12px;
  gap: 8px 10px;
  align-items: center;
}

body.nalog-detail-page .nalog-one-page-tablist .faze-phase-tab.nalog-one-page-tab,
body.kalkulacija-detail-page .nalog-one-page-tablist .faze-phase-tab.nalog-one-page-tab,
body.ponuda-detail-page .nalog-one-page-tablist .faze-phase-tab.nalog-one-page-tab {
  border-radius: 12px;
  border: 1px solid var(--app-btn-surface-border);
  background: var(--app-btn-surface-bg);
  color: var(--app-btn-surface-text);
  margin-bottom: 0;
  box-shadow: none;
}

body.nalog-detail-page .nalog-one-page-tablist .nalog-one-page-tab:hover,
body.kalkulacija-detail-page .nalog-one-page-tablist .nalog-one-page-tab:hover,
body.ponuda-detail-page .nalog-one-page-tablist .nalog-one-page-tab:hover {
  filter: none;
  background: var(--app-btn-surface-bg-hover);
  border-color: var(--pv-border);
  color: var(--pv-text);
}

body.nalog-detail-page .nalog-one-page-tablist .nalog-one-page-tab[aria-selected='true'],
body.kalkulacija-detail-page .nalog-one-page-tablist .nalog-one-page-tab[aria-selected='true'],
body.ponuda-detail-page .nalog-one-page-tablist .nalog-one-page-tab[aria-selected='true'] {
  background: var(--app-btn-solid-bg);
  border-color: var(--app-btn-solid-border);
  color: var(--app-btn-on-solid);
  box-shadow: none;
  margin-bottom: 0;
  z-index: auto;
}

body.nalog-detail-page .nalog-one-page-tablist .nalog-one-page-tab[aria-selected='true']:hover,
body.kalkulacija-detail-page .nalog-one-page-tablist .nalog-one-page-tab[aria-selected='true']:hover,
body.ponuda-detail-page .nalog-one-page-tablist .nalog-one-page-tab[aria-selected='true']:hover {
  background: var(--app-btn-solid-bg-hover);
  border-color: var(--app-btn-solid-border);
  color: var(--app-btn-on-solid);
  filter: none;
}

/* Tabovi u istom lepljivom zaglavlju kao naslov — broj u podnaslovu, ne „ispod“ velikog H1 */
body.nalog-detail-page .app-header--nalog-detail-tabs-host {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

body.nalog-detail-page .app-header--nalog-detail-tabs-host > .topbar > div:first-child .brand {
  font-size: 15px;
  opacity: 0.92;
}

body.nalog-detail-page .app-header--nalog-detail-tabs-host > .topbar h1#title {
  margin: 0 0 4px;
  font-size: clamp(1.28rem, 2.2vw, 1.58rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--pv-text, #0f172a);
  line-height: 1.2;
}

body.nalog-detail-page .app-header--nalog-detail-tabs-host .nalog-detail-subtitle {
  margin: 0;
  min-height: 1.35em;
  max-width: 72ch;
  line-height: 1.45;
  font-size: 0.98rem;
}

body.nalog-detail-page .app-header--nalog-detail-tabs-host .nalog-detail-topbar-hint {
  max-width: 70ch;
  margin: 6px 0 0;
  font-size: 0.92em;
}

body.nalog-detail-page .app-header--nalog-detail-tabs-host > .topbar {
  flex-shrink: 0;
}

body.nalog-detail-page .app-header--nalog-detail-tabs-host .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header {
  margin-top: 8px;
  padding-top: 10px;
  padding-bottom: 2px;
  border-top: 1px solid var(--pv-border-soft);
}

body.operator-nalog-onepage #nalogOsnovniToggle {
  display: none !important;
}

.nalog-one-page-tabpanels {
  border: 1px solid var(--pv-border-soft);
  border-radius: 0 12px 12px 12px;
  padding: 14px 14px 16px;
  background: var(--card);
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
  box-sizing: border-box;
}

.nalog-one-page-layout--admin-full .nalog-one-page-tabpanels {
  border-radius: 12px;
}

.nalog-one-page-panel > .phase-card.phase-row-shell,
.nalog-one-page-panel > .nalog-poruke-shell {
  margin-bottom: 0;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-one-page-layout:not(.nalog-one-page-layout--admin-full) .operator-work-shell {
  border: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
  background: transparent;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-one-page-layout:not(.nalog-one-page-layout--admin-full) .operator-work-header,
body.nalog-detail-page.operator-nalog-onepage .nalog-one-page-layout:not(.nalog-one-page-layout--admin-full) .operator-work-lead {
  display: none;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-stavke-chrome .operator-work-stavke-add-btn {
  min-height: 38px;
  padding: 8px 16px;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 12px;
  border: 1px solid var(--app-btn-teal-border);
  color: var(--app-btn-on-solid);
  background: var(--app-btn-teal-bg);
  box-shadow: none;
  filter: none;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-stavke-chrome .operator-work-stavke-add-btn:hover {
  border-color: var(--app-btn-teal-border);
  color: var(--app-btn-on-solid);
  background: var(--app-btn-teal-bg-hover);
  box-shadow: none;
  filter: none;
}

.nalog-one-page-panel .operator-work-accordion {
  width: 100%;
  max-width: none;
}

/* Operator — stavka kao dugme, otvorene faze u istoj širini kao tab panel */
body.nalog-detail-page.operator-nalog-onepage .operator-work-accordion {
  gap: 12px;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  border-radius: 12px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  background: var(--card, #fff);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--pv-text) 8%, transparent);
  overflow: hidden;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  padding: 12px 14px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid transparent;
  background: var(--nalog-ux-bar-bg, var(--app-table-head-bg, #f4f4f5));
  color: var(--pv-text);
  box-shadow: none;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick:hover {
  background: var(--app-table-row-hover, #f4f4f5);
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick[aria-expanded='true'] {
  background: var(--card, #fff);
  border-bottom-color: var(--pv-border-soft, #e2e8f0);
  box-shadow: none;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick[aria-expanded='true']:hover {
  background: var(--card, #fff);
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-chev {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  font-size: 11px;
  color: var(--pv-muted);
  transition: transform 0.2s ease, color 0.15s ease;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick[aria-expanded='true'] .operator-work-st-chev {
  transform: rotate(90deg);
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head-status {
  margin-left: auto;
  flex-shrink: 0;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick {
  width: 100%;
  box-sizing: border-box;
  padding: 0;
  border-top: 1px solid #e2e8f0;
  background: #fff;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-op-st-inner {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 14px 14px 16px;
}

@media (min-width: 960px) {
  body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-op-st-inner {
    display: grid;
    grid-template-columns: minmax(220px, min(32vw, 300px)) minmax(0, 1fr);
    column-gap: 18px;
    row-gap: 12px;
    padding: 14px 16px 18px;
    align-items: start;
  }

  body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-op-st-inner > .operator-work-stavka-grid--detail {
    grid-column: 1;
    grid-row: 1;
  }

  body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-op-st-inner > .operator-work-stavka-body-tools {
    grid-column: 1;
    grid-row: 2;
    margin-top: 0;
    padding-top: 10px;
    border-top: 1px solid rgba(226, 232, 240, 0.55);
  }

  body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-op-st-inner > .operator-work-faze-panel {
    grid-column: 2;
    grid-row: 1 / -1;
    margin-top: 0;
    align-self: stretch;
  }
}

body.nalog-detail-page.operator-nalog-onepage
  .operator-work-st-body--tabpick
  .operator-work-op-st-inner
  > .operator-work-stavka-grid--detail {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin: 0;
  gap: 12px;
  padding: 12px 14px 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-op-st-inner > .operator-work-admin-tools,
body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-op-st-inner > .operator-work-admin-tools--accent {
  margin-top: 14px;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-admin-tools {
  margin: 0;
  width: 100%;
  box-sizing: border-box;
  gap: 10px 12px;
  padding: 12px 0 0;
  border-top: 1px solid #e2e8f0;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-admin-tools--accent {
  gap: 12px;
  padding: 14px 0 0;
}

body.nalog-detail-page.operator-nalog-onepage
  .operator-work-st-body--tabpick
  .operator-work-admin-tools--accent
  .operator-work-tool-btn--izmeni-stavku {
  min-height: 38px;
  padding: 8px 16px;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 12px;
  border: 1px solid var(--app-btn-solid-border);
  color: var(--app-btn-on-solid);
  background: var(--app-btn-solid-bg);
  box-shadow: none;
  filter: none;
}

body.nalog-detail-page.operator-nalog-onepage
  .operator-work-st-body--tabpick
  .operator-work-admin-tools--accent
  .operator-work-tool-btn--izmeni-stavku:hover {
  border-color: var(--app-btn-solid-border);
  color: var(--app-btn-on-solid);
  background: var(--app-btn-solid-bg-hover);
  box-shadow: none;
  filter: none;
}

body.nalog-detail-page.operator-nalog-onepage
  .operator-work-st-body--tabpick
  .operator-work-admin-tools--accent
  .operator-work-tool-btn--dodaj-fazu {
  min-height: 38px;
  padding: 8px 16px;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 12px;
  border: 1px solid var(--app-btn-teal-border);
  color: var(--app-btn-on-solid);
  background: var(--app-btn-teal-bg);
  box-shadow: none;
  filter: none;
}

body.nalog-detail-page.operator-nalog-onepage
  .operator-work-st-body--tabpick
  .operator-work-admin-tools--accent
  .operator-work-tool-btn--dodaj-fazu:hover {
  border-color: var(--app-btn-teal-border);
  color: var(--app-btn-on-solid);
  background: var(--app-btn-teal-bg-hover);
  box-shadow: none;
  filter: none;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-panel {
  width: 100%;
  max-width: none;
  margin-top: 14px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-panel-head {
  padding: 12px 14px;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-panel-title {
  font-size: 0.95rem;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-panel-body {
  padding: 12px 28px 18px;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-list--tabs .faze-phase-tabs-root,
body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-list--tabs .faze-phase-tablist,
body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-list--tabs .faze-phase-tabpanels {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-tabpanel-shell {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-list--cards {
  width: 100%;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-row {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-kv-pair--stack {
  padding: 10px 12px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-stavka-grid .operator-work-kv-lbl {
  margin-bottom: 0;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick > .operator-work-st-placeholder,
body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick > .operator-work-loading {
  margin: 0;
  padding: 16px 18px;
}

/* Faze u operator panelu — akordeon (isto kao stavke) */
body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-list--accordion {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  max-width: none;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-list--accordion > .operator-work-faze-accordion-item.operator-work-faze-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-accordion-item {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  border-radius: 12px;
  overflow: hidden;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-list--accordion .operator-work-faze-accordion-head {
  margin: 0;
  flex-shrink: 0;
  background: transparent;
  border-bottom: 1px solid rgba(226, 232, 240, 0.55);
  box-shadow: none;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-list--accordion .operator-work-faze-accordion-head:hover {
  background: rgba(255, 255, 255, 0.38);
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-list--accordion .operator-work-faze-accordion-head[aria-expanded='true'] {
  background: rgba(255, 255, 255, 0.45);
  border-bottom-color: rgba(226, 232, 240, 0.75);
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-list--accordion .operator-work-faze-accordion-head-main {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

body.nalog-detail-page.operator-nalog-onepage
  .operator-work-faze-list--accordion
  .operator-work-faze-accordion-head[aria-expanded='true']
  .operator-work-st-chev {
  transform: rotate(90deg);
}

body.nalog-detail-page.operator-nalog-onepage
  .operator-work-faze-list--accordion
  .operator-work-faze-accordion-head-toggle[aria-expanded='true']
  .operator-work-st-chev {
  transform: rotate(90deg);
}

body.nalog-detail-page.operator-nalog-onepage
  .operator-work-faze-list--accordion
  .operator-work-faze-accordion-head--dorada-st-split {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px 10px;
  width: 100%;
  box-sizing: border-box;
  padding: 0 4px 0 0;
}

body.nalog-detail-page.operator-nalog-onepage
  .operator-work-faze-list--accordion
  .operator-work-faze-accordion-head-toggle {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 0;
  padding: 9px 10px 9px 12px;
  text-align: left;
  font: inherit;
  cursor: pointer;
  border: none;
  background: transparent;
  box-shadow: none;
}

body.nalog-detail-page.operator-nalog-onepage
  .operator-work-faze-list--accordion
  .operator-work-faze-accordion-head-toggle:hover {
  background: rgba(255, 255, 255, 0.38);
}

body.nalog-detail-page.operator-nalog-onepage
  .operator-work-faze-list--accordion
  .operator-work-faze-accordion-head-toggle[aria-expanded='true'] {
  background: rgba(255, 255, 255, 0.45);
}

body.nalog-detail-page.operator-nalog-onepage
  .operator-work-faze-list--accordion
  .operator-work-faze-accordion-head-main--dorada-st-toggle {
  flex: 1;
  min-width: 0;
}

body.nalog-detail-page.operator-nalog-onepage
  .operator-work-faze-list--accordion
  .operator-work-faze-row--dorada-stavka
  > .operator-work-faze-accordion-body {
  border-top: 1px solid rgba(226, 232, 240, 0.55);
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-accordion-body {
  width: 100%;
  box-sizing: border-box;
  border-top: 1px solid rgba(226, 232, 240, 0.55);
  background: rgba(255, 255, 255, 0.38);
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-accordion-actions.operator-work-faze-row-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  max-width: none;
  flex: none;
  width: 100%;
  box-sizing: border-box;
  justify-content: flex-start;
  align-items: center;
  gap: 8px 10px;
  padding: 12px 14px;
  border: none;
  border-left: none;
  border-radius: 0;
  background: transparent;
  margin: 0;
  border-top: 1px solid rgba(226, 232, 240, 0.65);
}

/* Stavke dorade (ugnježđeno) — blagi odstoj od ivica */
body.nalog-detail-page.operator-nalog-onepage .operator-work-dorada-inline-wrap {
  margin-top: 8px;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-dorada-inline-save {
  margin-top: 10px;
  justify-content: flex-start;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-dorada-stavke-wrap {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 12px 4px;
}

/* Telo akordeona dorade — dugme „Dodaj fazu dorade“ iznad liste stavki */
body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-dor-body-dodaj {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 12px 8px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.45);
  box-sizing: border-box;
  width: 100%;
  background: transparent;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-dor-body-dodaj-btn {
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* Telo stavke / telo panela „Faze“ — admin dugmad (isti princip kao „Dodaj fazu dorade“) */
body.nalog-detail-page.operator-nalog-onepage .operator-work-stavka-body-tools,
body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-panel-body-tools {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 12px 8px;
  box-sizing: border-box;
  width: 100%;
  background: transparent;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-stavka-body-tools {
  border-bottom: 1px solid rgba(226, 232, 240, 0.45);
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-panel-body-tools {
  border-bottom: 1px solid rgba(226, 232, 240, 0.38);
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-op-body-tool-btn {
  font-weight: 700;
  letter-spacing: 0.02em;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-op-body-tool-btn--danger {
  color: #b91c1c;
  border-color: rgba(248, 113, 113, 0.65);
  font-weight: 700;
  letter-spacing: 0.02em;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-op-body-tool-btn--danger:hover {
  background: rgba(254, 226, 226, 0.55);
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-dorada-stavke-wrap > .operator-work-faze-section-head {
  margin-top: 0;
  padding-bottom: 8px;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-list--dorada-stavke-sub {
  width: 100%;
  max-width: none;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-list--dorada-stavke-sub .operator-work-dor-status-sel {
  max-width: 10rem;
  margin-top: 0;
  min-height: 2rem;
  padding: 4px 8px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-sizing: border-box;
}

/* Tabovi Osnovno / Poruke — ista kartica i svetla traka kao kod stavki (jedan nivo tabova) */
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell,
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell,
body.kalkulacija-detail-page .nalog-one-page-panel[data-kalk-detail-tabpanel='osnovno'] #kalkOsnovniShell,
body.ponuda-detail-page .nalog-one-page-panel[data-pon-detail-tabpanel='osnovno'] #ponOsnovniShell {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

/* Padajući meni „Još opcija“ ne sme da bude odsečen overflow-om kartice */
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell > .phase-card-bar,
body.kalkulacija-detail-page .nalog-one-page-panel[data-kalk-detail-tabpanel='osnovno'] #kalkOsnovniShell > .phase-card-bar,
body.ponuda-detail-page .nalog-one-page-panel[data-pon-detail-tabpanel='osnovno'] #ponOsnovniShell > .phase-card-bar {
  overflow: visible;
  position: relative;
  z-index: 2;
}

body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell > .phase-card-bar,
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell > .phase-card-bar,
body.kalkulacija-detail-page .nalog-one-page-panel[data-kalk-detail-tabpanel='osnovno'] #kalkOsnovniShell > .phase-card-bar,
body.ponuda-detail-page .nalog-one-page-panel[data-pon-detail-tabpanel='osnovno'] #ponOsnovniShell > .phase-card-bar {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border-bottom: 1px solid #e2e8f0;
  box-shadow: none;
  padding: 12px 14px;
  gap: 8px 12px;
}

body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell .phase-card-tip,
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell .phase-card-tip {
  color: #475569 !important;
}

body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell .phase-card-preview,
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell .phase-card-preview {
  color: #64748b !important;
}

body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell .phase-card-bar .btn.light,
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell .phase-card-bar .phase-card-toggle.btn,
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell .phase-card-bar .btn.light {
  background: rgba(255, 255, 255, 0.92);
  border-color: #e2e8f0;
  color: #334155;
}

body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell .phase-card-bar .btn.info,
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell .phase-card-bar .btn.info:hover,
body.kalkulacija-detail-page #kalkPanelOsnovno .phase-row-shell > .phase-card-bar .btn.info,
body.kalkulacija-detail-page #kalkPanelOsnovno .phase-row-shell > .phase-card-bar .btn.info:hover,
body.ponuda-detail-page #ponPanelOsnovno #ponOsnovniShell > .phase-card-bar .btn.info,
body.ponuda-detail-page #ponPanelOsnovno #ponOsnovniShell > .phase-card-bar .btn.info:hover {
  background: var(--app-btn-solid-bg);
  border-color: var(--app-btn-solid-border);
  color: var(--app-btn-on-solid);
  box-shadow: none;
  filter: none;
}

body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell .phase-card-bar .btn.info:hover {
  background: var(--app-btn-solid-bg-hover);
}

body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell .nalog-osnovni-collapse-arrow {
  color: #475569;
}

body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell .nalog-poruke-bar-chevron {
  color: #64748b;
}

body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell .phase-card-bar.nalog-poruke-bar-toggle:hover {
  filter: none;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell .nalog-osnovni-body:not(.is-collapsed),
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell .nalog-poruke-collapsible-body:not([hidden]) {
  border-top: 1px solid #e2e8f0;
}

/*
 * NALOG_UX_PASS_v1 — vertikalni ritam, ujednačena dugmad, naglašeni naslovi akordeona (nalog.html).
 * Namena: kasnije može da se prenese na ceo app (isti tokeni ispod).
 */
body.nalog-detail-page {
  --nalog-ux-space: 12px;
  --nalog-ux-space-lg: 18px;
  --nalog-ux-radius: 12px;
  --nalog-ux-btn-h: var(--app-ui-btn-min-h);
  --nalog-ux-btn-h-lg: var(--app-ui-btn-min-h);
  --nalog-ux-bar-bg: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  --nalog-ux-bar-border: #e2e8f0;
}

body.nalog-detail-page .nalog-one-page-layout {
  margin-top: var(--nalog-ux-space);
}

body.nalog-detail-page .nalog-one-page-tabpanels {
  padding: var(--nalog-ux-space-lg) var(--nalog-ux-space-lg) calc(var(--nalog-ux-space-lg) + 2px);
  border-radius: 12px;
}

@media (max-width: 900px) {
  body.nalog-detail-page {
    --nalog-ux-space: 8px;
    --nalog-ux-space-lg: 8px;
  }

  body.nalog-detail-page .nalog-one-page-tabpanels {
    padding: 10px max(6px, env(safe-area-inset-left, 0px)) 12px max(6px, env(safe-area-inset-right, 0px));
  }

  body.nalog-detail-page .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
  body.kalkulacija-detail-page .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
  body.ponuda-detail-page .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header {
    padding-left: max(4px, env(safe-area-inset-left, 0px));
    padding-right: max(4px, env(safe-area-inset-right, 0px));
  }

  body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell .nalog-osnovni-body,
  body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell .nalog-poruke-collapsible-body,
  body.kalkulacija-detail-page #kalkPanelOsnovno #kalkOsnovniShell .nalog-osnovni-body {
    padding: 10px max(6px, env(safe-area-inset-left, 0px)) 12px max(6px, env(safe-area-inset-right, 0px));
  }

  body.nalog-detail-page #nalogOsnovniShell .phase-card-body {
    padding: 12px max(6px, env(safe-area-inset-left, 0px)) 16px max(6px, env(safe-area-inset-right, 0px));
  }

  body.nalog-detail-page .nalog-meta-grid .meta-item {
    padding: 10px 10px;
  }

  body.nalog-detail-page .nalog-subcard-body {
    padding: 10px 8px;
  }

  body.nalog-detail-page .workspace input:not([type='checkbox']):not([type='radio']),
  body.nalog-detail-page .workspace select:not([multiple]) {
    min-height: 42px;
    padding: 9px 12px;
    font-size: 15px;
  }

  body.nalog-detail-page .workspace textarea {
    min-height: 68px;
    padding: 10px 12px;
    font-size: 15px;
  }

  body.nalog-detail-page .workspace select:not([multiple]) {
    min-height: 42px;
  }
}

body.nalog-detail-page .nalog-one-page-tablist .faze-phase-tab.nalog-one-page-tab {
  min-height: var(--nalog-ux-btn-h-lg);
  padding: 10px 16px;
  font-size: 0.9375rem;
  letter-spacing: 0.01em;
}

body.nalog-detail-page .nalog-one-page-tablist .faze-phase-tab.nalog-one-page-tab[aria-selected='true'] {
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* Naslovi kartica (Osnovno / Poruke) — jači hijerarhijski nivo */
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell .phase-card-tip,
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell .phase-card-tip {
  font-weight: 800;
  letter-spacing: 0.06em;
  font-size: 0.72rem;
}

body.nalog-detail-page .nalog-osnovni-section-title {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--pv-navy-2, #0f172a);
  margin-top: 0;
  margin-bottom: var(--nalog-ux-space);
}

body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell .nalog-osnovni-body,
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell .nalog-poruke-collapsible-body,
body.kalkulacija-detail-page .nalog-one-page-panel[data-kalk-detail-tabpanel='osnovno'] #kalkOsnovniShell .nalog-osnovni-body,
body.ponuda-detail-page .nalog-one-page-panel[data-pon-detail-tabpanel='osnovno'] #ponOsnovniShell .nalog-osnovni-body {
  padding: var(--nalog-ux-space-lg) calc(var(--nalog-ux-space-lg) + 2px);
}

body.nalog-detail-page .nalog-meta-wrap {
  margin-bottom: var(--nalog-ux-space);
}

/* Objašnjenja / napomene — blago naglašene (ne menjaju tekst) */
body.nalog-detail-page .nalog-one-page-tabpanels .app-status-hint,
body.nalog-detail-page .nalog-one-page-tabpanels .nalog-stavke-lead,
body.nalog-detail-page .nalog-one-page-tabpanels .nalog-stavke-toolbar-hint,
body.nalog-detail-page .nalog-one-page-tabpanels .field-hint,
body.kalkulacija-detail-page .nalog-one-page-tabpanels .field-hint,
body.ponuda-detail-page .nalog-one-page-tabpanels .field-hint,
body.ponuda-detail-page .nalog-one-page-tabpanels .pon-page-kalk-link {
  margin-top: 0.35rem;
  padding: 0.5rem 0.65rem 0.5rem 0.75rem;
  border-left: 3px solid #94a3b8;
  border-radius: 0 8px 8px 0;
  background: rgba(248, 250, 252, 0.9);
  font-size: 0.875rem;
  line-height: 1.45;
  color: #475569;
}

body.nalog-detail-page .nalog-one-page-tabpanels .nalog-inline-msg {
  margin-top: var(--nalog-ux-space);
  padding: 0.5rem 0.65rem;
  border-radius: 8px;
  background: rgba(241, 245, 249, 0.95);
}

body.nalog-detail-page .nalog-one-page-tabpanels .nalog-form-actions {
  gap: 10px;
  margin-top: var(--nalog-ux-space-lg);
}

/* Poruke — razmaci u telu */
body.nalog-detail-page .nalog-poruke-participants {
  margin-bottom: var(--nalog-ux-space);
}

body.nalog-detail-page .nalog-poruke-thread {
  margin-bottom: var(--nalog-ux-space-lg);
}

body.nalog-detail-page .nalog-poruke-compose {
  padding-top: var(--nalog-ux-space);
  border-top: 1px solid var(--nalog-ux-bar-border);
}

/* Chrome stavki — razmak pre akordeona */
body.nalog-detail-page .nalog-operator-stavke-chrome {
  margin-bottom: var(--nalog-ux-space-lg);
}

/* Stavka — zaglavlje akordeona: jači naslov */
body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick {
  padding: 14px 16px;
  background: var(--nalog-ux-bar-bg);
  border-bottom-color: var(--nalog-ux-bar-border);
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-rb {
  font-weight: 800;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  color: var(--pv-muted, #475569);
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-name {
  font-weight: 700;
  font-size: 0.98rem;
  color: var(--pv-text, #0f172a);
}

/* Panel „Faze“ — naslov */
body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-panel-head {
  padding: 14px 16px;
  background: var(--nalog-ux-bar-bg);
  border-bottom: 1px solid var(--nalog-ux-bar-border);
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-panel-title {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  color: #0f172a;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-section-head {
  margin: var(--nalog-ux-space) 0 8px;
  padding-bottom: 6px;
  border-bottom: 1px dashed #cbd5e1;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-section-title {
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #475569;
}

/* Akordeon faza — traka zaglavlja */
body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-list--accordion .operator-work-faze-accordion-head {
  padding: 10px 12px;
  background: rgba(248, 250, 252, 0.95);
  border-bottom: 1px solid var(--nalog-ux-bar-border);
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-list--accordion .operator-work-faze-accordion-head-toggle {
  padding: 11px 12px 11px 14px;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-list--accordion .operator-work-faze-accordion-head-main {
  font-weight: 600;
  font-size: 0.95rem;
  color: #0f172a;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-list--accordion .operator-work-faze-accordion-head[aria-expanded='true'] {
  background: #fff;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-panel-body {
  padding: 14px 16px 18px;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-faze-accordion-body {
  padding: 12px 14px 14px;
}

body.nalog-detail-page.operator-nalog-onepage .operator-work-msg {
  margin-top: var(--nalog-ux-space);
  padding: 6px 4px;
  font-size: 0.875rem;
}

.podesavanja-page .podes-os-lead {
  margin: 0 0 14px;
  max-width: 52rem;
  line-height: 1.45;
}

/* Kalkulacija: ista struktura kao nalog — vizuelno blago drugačije */
body.nalog--za-kalkulaciju .app-header--nalog-detail-tabs-host {
  border-bottom: 3px solid rgba(107, 79, 154, 0.55);
  background: linear-gradient(180deg, rgba(107, 79, 154, 0.07) 0%, transparent 72%);
}

body.kalkulacija-struktura-page .kalk-struktura-card .phase-card-bar {
  border-left: 4px solid rgba(107, 79, 154, 0.75);
}

/* Kalkulacija — kartice stavki (ne koriste „štampa“ label stil) */
body.kalkulacija-detail-page .kalk-stavka-card .kalk-stavka-card-bar {
  border-left: 4px solid rgba(107, 79, 154, 0.55);
}

body.kalkulacija-detail-page .kalk-stavka-card {
  margin-bottom: 14px;
}

/* Kalkulacija — blok stavke (zaglavlje reda + lista faza ispod) */
body.kalkulacija-detail-page .kalk-stavka-block {
  margin-bottom: 14px;
  border: 1px solid var(--pv-border-soft, rgba(15, 23, 42, 0.12));
  border-radius: 12px;
  background: var(--card, #fff);
  overflow: hidden;
}

body.kalkulacija-detail-page .kalk-stavka-block .kalk-stavka-row {
  margin-bottom: 0;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid var(--pv-border-soft, rgba(15, 23, 42, 0.08));
}

body.kalkulacija-detail-page .kalk-stavka-faze-wrap {
  padding: 10px 14px 12px;
  background: var(--app-table-head-bg, rgba(248, 250, 252, 0.92));
}

body.kalkulacija-detail-page .kalk-stavka-faze-naslov {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}

body.kalkulacija-detail-page .kalk-stavka-faze-lista {
  min-width: 0;
}

body.kalkulacija-detail-page .kalk-stavka-faze-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--pv-border-soft, rgba(15, 23, 42, 0.1));
  border-radius: 8px;
  background: var(--card, #fff);
}

body.kalkulacija-detail-page .kalk-stavka-faze-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

body.kalkulacija-detail-page .kalk-stavka-faze-table thead th {
  text-align: left;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted, #64748b);
  padding: 8px 10px;
  border-bottom: 1px solid var(--pv-border-soft, rgba(15, 23, 42, 0.1));
  background: var(--pv-surface-muted, rgba(248, 250, 252, 0.9));
  white-space: nowrap;
}

body.kalkulacija-detail-page .kalk-stavka-faze-table thead th.num,
body.kalkulacija-detail-page .kalk-stavka-faze-table .kalk-stavka-faze-td-iznos {
  text-align: right;
}

body.kalkulacija-detail-page .kalk-stavka-faze-table thead th.akcije,
body.kalkulacija-detail-page .kalk-stavka-faze-table .kalk-stavka-faze-td-akcije {
  text-align: right;
  width: 1%;
  white-space: nowrap;
}

body.kalkulacija-detail-page .kalk-stavka-faze-table tbody td {
  padding: 8px 10px;
  vertical-align: middle;
  border-bottom: 1px solid var(--pv-border-soft, rgba(15, 23, 42, 0.06));
}

body.kalkulacija-detail-page .kalk-stavka-faze-table tbody tr:last-child td {
  border-bottom: none;
}

body.kalkulacija-detail-page .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row:nth-child(odd) td {
  background: var(--card, #fff);
}

body.kalkulacija-detail-page .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row:nth-child(even) td {
  background: var(--app-table-row-stripe, #fbfcfe);
}

body.kalkulacija-detail-page .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row--click {
  cursor: pointer;
}

body.kalkulacija-detail-page .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row--click:hover td,
body.kalkulacija-detail-page .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row--click:focus-visible td {
  background: var(--app-table-row-hover, #f8fafc);
}

body.kalkulacija-detail-page .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row--click:focus-visible {
  outline: 2px solid var(--app-focus-ring, rgba(59, 130, 246, 0.45));
  outline-offset: -2px;
}

body.kalkulacija-detail-page .kalk-stavka-faze-td-tip {
  font-weight: 600;
  white-space: nowrap;
}

body.kalkulacija-detail-page .kalk-stavka-faze-td-opis {
  min-width: 8rem;
  color: var(--text, #334155);
}

body.kalkulacija-detail-page .kalk-stavka-faze-td-iznos {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  white-space: nowrap;
}

body.kalkulacija-detail-page .kalk-stavka-faze-akcije {
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 4px;
}

body.kalkulacija-detail-page .kalk-stavka-faze-row--pod .kalk-stavka-faze-td-tip {
  font-weight: 500;
  color: var(--muted, #64748b);
  padding-left: 18px;
}

body.kalkulacija-detail-page .kalk-stampa-opis-top {
  margin-bottom: 4px;
}

body.kalkulacija-detail-page .kalk-stampa-opis-top textarea {
  resize: vertical;
  min-height: 3.25rem;
}

/* Opis + redosled — ista horizontalna margina kao kartice koraka (ofset / digital / ploter) */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-drawer-flow > .kalk-stampa-opis-top {
  margin: 0 0 8px;
  padding: 12px 14px 14px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: var(--radius-lg, 12px);
  background: var(--card, #fff);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-drawer-flow > .kalk-drawer-redosled {
  margin: 0 0 8px;
  padding: 10px 14px 12px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: var(--radius-lg, 12px);
  background: var(--card, #fff);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}

/* Lista faza — tamna tema (fasc + sistemski / ručni dark) */


body.kalkulacija-detail-page .kalk-stavka-faze-prazno {
  margin: 0;
  font-size: 0.9rem;
}

/* Kalkulacija — lista stavki + bočni drawer za unos */
body.kalkulacija-detail-page .kalk-stavka-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px 14px;
  padding: 12px 14px;
  margin-bottom: 10px;
  border: 1px solid var(--pv-border-soft, rgba(15, 23, 42, 0.12));
  border-radius: var(--pv-radius-field, 8px);
  background: var(--card, #fff);
}

body.kalkulacija-detail-page .kalk-stavka-row-main {
  flex: 1 1 200px;
  min-width: 0;
}

body.kalkulacija-detail-page .kalk-stavka-row-title {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
}

body.kalkulacija-detail-page .kalk-stavka-row-meta {
  font-size: 0.9rem;
}

body.kalkulacija-detail-page .kalk-stavka-row-actions {
  flex: 0 0 auto;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

body.kalkulacija-detail-page .kalk-drawer-field-tiraz {
  max-width: 12rem;
}

body.kalkulacija-detail-page .kalk-drawer-hint {
  margin: 6px 0 0;
  font-size: 0.9em;
}

body.kalkulacija-detail-page .kalk-detail-page-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  min-width: 0;
}

/* Kalkulacija — rezime cena na dnu stranice */
/* Kalkulacija — tab Stavke: stavke + rezime u jednoj koloni */
body.kalkulacija-detail-page #kalkPanelStavke {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--nalog-ux-space-lg, 18px);
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

body.kalkulacija-detail-page #kalkPanelStavke > .kalk-stavke-tab-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--nalog-ux-space-lg, 18px);
  width: 100%;
  min-width: 0;
}

body.kalkulacija-detail-page #kalkPanelStavke .kalk-stavke-tab-stack > .detail-stavke-faze-view,
body.kalkulacija-detail-page #kalkPanelStavke .kalk-stavke-tab-stack > .kalk-cene-rezime-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  flex: 0 0 auto;
  box-sizing: border-box;
}

body.ponuda-detail-page #ponPanelStavke > .pon-stavke-tab-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--nalog-ux-space-lg, 18px);
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

body.ponuda-detail-page #ponPanelStavke .pon-stavke-tab-stack > .pon-stavke-rezime-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  flex: 0 0 auto;
  box-sizing: border-box;
}

/* Meta grid — poveznice na kalkulaciju / ponudu / radni nalog (upadljive) */
body.kalkulacija-detail-page .nalog-meta-grid .meta-item--poveznica,
body.ponuda-detail-page .nalog-meta-grid .meta-item--poveznica,
body.nalog-detail-page .nalog-meta-grid .meta-item--poveznica {
  border-radius: 10px;
  padding: 9px 11px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
}

body.kalkulacija-detail-page .nalog-meta-grid .meta-item--poveznica-kalk,
body.ponuda-detail-page .nalog-meta-grid .meta-item--poveznica-kalk {
  background: linear-gradient(180deg, #f5f3ff 0%, #ede9fe 100%);
  border-color: #c4b5fd;
  border-left: 4px solid #7c3aed;
}

body.kalkulacija-detail-page .nalog-meta-grid .meta-item--poveznica-nalog,
body.ponuda-detail-page .nalog-meta-grid .meta-item--poveznica-nalog,
body.nalog-detail-page .nalog-meta-grid .meta-item--poveznica-nalog {
  background: linear-gradient(180deg, #ecfdf5 0%, #d1fae5 100%);
  border-color: #86efac;
  border-left: 4px solid #16a34a;
}

body.kalkulacija-detail-page .nalog-meta-grid .meta-item--poveznica-ponuda,
body.ponuda-detail-page .nalog-meta-grid .meta-item--poveznica-ponuda {
  background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%);
  border-color: #fcd34d;
  border-left: 4px solid #d97706;
}

body.kalkulacija-detail-page .nalog-meta-grid .meta-item--poveznica .label,
body.ponuda-detail-page .nalog-meta-grid .meta-item--poveznica .label,
body.nalog-detail-page .nalog-meta-grid .meta-item--poveznica .label {
  font-weight: 700;
  color: #334155;
}

body.kalkulacija-detail-page .nalog-meta-grid .meta-item--poveznica .value a,
body.ponuda-detail-page .nalog-meta-grid .meta-item--poveznica .value a,
body.nalog-detail-page .nalog-meta-grid .meta-item--poveznica .value a {
  display: inline-flex;
  align-items: center;
  min-height: var(--app-ui-btn-min-h, 2.25rem);
  padding: 4px 12px;
  border-radius: var(--app-ui-btn-radius, 10px);
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
}

body.kalkulacija-detail-page .nalog-meta-grid .meta-item--poveznica-kalk .value a,
body.ponuda-detail-page .nalog-meta-grid .meta-item--poveznica-kalk .value a {
  color: #5b21b6;
  background: rgba(255, 255, 255, 0.72);
  border-color: #c4b5fd;
}

body.kalkulacija-detail-page .nalog-meta-grid .meta-item--poveznica-nalog .value a,
body.ponuda-detail-page .nalog-meta-grid .meta-item--poveznica-nalog .value a,
body.nalog-detail-page .nalog-meta-grid .meta-item--poveznica-nalog .value a {
  color: #166534;
  background: rgba(255, 255, 255, 0.72);
  border-color: #86efac;
}

body.kalkulacija-detail-page .nalog-meta-grid .meta-item--poveznica-ponuda .value a,
body.ponuda-detail-page .nalog-meta-grid .meta-item--poveznica-ponuda .value a {
  color: #b45309;
  background: rgba(255, 255, 255, 0.72);
  border-color: #fcd34d;
}

body.kalkulacija-detail-page .nalog-meta-grid .meta-item--poveznica .value a:hover,
body.ponuda-detail-page .nalog-meta-grid .meta-item--poveznica .value a:hover,
body.nalog-detail-page .nalog-meta-grid .meta-item--poveznica .value a:hover {
  filter: brightness(0.98);
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

body.kalkulacija-detail-page .kalk-cene-rezime-wrap,
body.ponuda-detail-page .pon-stavke-rezime-wrap {
  margin-top: 0;
}

body.kalkulacija-detail-page .kalk-cene-rezime-body,
body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-cene-rezime-body {
  padding-top: 12px;
  padding-bottom: 14px;
}

body.kalkulacija-detail-page .kalk-cene-stavke-table .kalk-cene-td-rb,
body.kalkulacija-detail-page .kalk-cene-stavke-table .kalk-cene-th-rb,
body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-cene-stavke-table .kalk-cene-td-rb,
body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-cene-stavke-table .kalk-cene-th-rb {
  width: 3.25rem;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

body.kalkulacija-detail-page .kalk-cene-rezime-totals,
body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-cene-rezime-totals {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px 20px;
  padding: 14px 16px 16px;
  border: 1px solid var(--pv-border, #c7d2fe);
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 0 0 10px 10px;
  background: var(--app-soft-blue-bg, #eef2ff);
}

body.kalkulacija-detail-page .kalk-cene-rezime-total-row,
body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-cene-rezime-total-row {
  display: contents;
}

body.kalkulacija-detail-page .kalk-cene-rezime-total__k,
body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-cene-rezime-total__k {
  grid-column: 1;
  font-size: 0.8125rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pv-muted, #64748b);
  line-height: 1.35;
}

body.kalkulacija-detail-page .kalk-cene-rezime-total__v,
body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-cene-rezime-total__v {
  grid-column: 2;
  font-size: 1.0625rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--pv-text, #0f172a);
  text-align: right;
  white-space: nowrap;
}

body.kalkulacija-detail-page .kalk-cene-rezime-total-row--main .kalk-cene-rezime-total__k,
body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-cene-rezime-total-row--main .kalk-cene-rezime-total__k {
  font-size: 0.9375rem;
  font-weight: 750;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--pv-text, #1e3a5f);
  padding-top: 6px;
  border-top: 2px solid var(--pv-border-soft, #cbd5e1);
}

/* Kalkulacija — pregled ponude (bočni panel) */
body.kalkulacija-detail-page .kalk-ponuda-pregled-panel {
  --gm-side-panel-width: min(920px, 96vw);
}
body.kalkulacija-detail-page .kalk-ponuda-pregled-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px 12px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--pv-border-soft, #cbd5e1);
}
body.kalkulacija-detail-page .kalk-ponuda-pregled-head h2 {
  margin: 0;
  flex: 1 1 200px;
}
body.kalkulacija-detail-page .kalk-ponuda-pregled-body {
  padding: 14px 18px 20px;
  overflow: auto;
  max-height: calc(100vh - 200px);
}
body.kalkulacija-detail-page .kalk-ponuda-warn {
  background: color-mix(in srgb, var(--app-warn-bg, #fef3c7) 88%, transparent);
  border: 1px solid var(--app-warn-border, #f59e0b);
  padding: 10px 12px;
  border-radius: 8px;
}

/* Ponuda detalj — isti shell/layout kao kalkulacija */
body.ponuda-detail-page {
  --nalog-ux-space: 12px;
  --nalog-ux-space-lg: 18px;
  --nalog-ux-radius: 12px;
  --nalog-ux-bar-bg: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  --nalog-ux-bar-border: #e2e8f0;
}

body.ponuda-detail-page .nalog-one-page-layout {
  margin-top: var(--nalog-ux-space);
}

body.ponuda-detail-page .nalog-one-page-tabpanels {
  padding: var(--nalog-ux-space-lg) var(--nalog-ux-space-lg) calc(var(--nalog-ux-space-lg) + 2px);
}

body.ponuda-detail-page .nalog-one-page-layout > .pon-detail-msg {
  margin: 0 var(--nalog-ux-space-lg) 12px;
}

body.ponuda-detail-page .nalog-one-page-panel[hidden],
body.ponuda-detail-page .nalog-one-page-panel.hidden {
  display: none !important;
}

body.ponuda-detail-page .pon-page-kalk-link {
  margin: 0 0 var(--nalog-ux-space);
  font-size: 0.88rem;
}

body.ponuda-detail-page .pon-javni-link-inline {
  margin-bottom: var(--nalog-ux-space-lg);
  padding: 0.5rem 0.65rem 0.5rem 0.75rem;
  border-left: 3px solid #94a3b8;
  border-radius: 0 8px 8px 0;
  background: rgba(248, 250, 252, 0.9);
}

@media (max-width: 900px) {
  body.ponuda-detail-page {
    --nalog-ux-space: 8px;
    --nalog-ux-space-lg: 8px;
  }

  body.ponuda-detail-page .nalog-one-page-tabpanels {
    padding: var(--nalog-ux-space-lg);
  }

  body.ponuda-detail-page .pon-detail-msg {
    margin-inline: var(--nalog-ux-space-lg);
  }
}

.pon-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(15, 23, 42, 0.45);
}

.pon-modal-backdrop.hidden {
  display: none !important;
}

.pon-modal-backdrop--high {
  z-index: 90;
}

.pon-modal-card {
  width: 100%;
  max-width: 520px;
  max-height: 80vh;
  overflow: auto;
}

.pon-modal-card--wide {
  max-width: 720px;
  max-height: 90vh;
}

.pon-modal-body {
  padding: 16px;
}

.pon-modal-list {
  padding: 16px;
}

body.ponuda-javna-page .ponuda-javna-shell {
  max-width: 640px;
  margin-inline: auto;
}

body.ponuda-javna-page .ponuda-javna-workspace {
  padding: 24px 18px 40px;
}

body.ponuda-javna-page .ponuda-javna-panel-body {
  padding: 18px 20px;
}

body.ponuda-javna-page .ponuda-javna-odbij-panel {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
}

body.ponuda-javna-page .ponuda-javna-actions {
  margin-top: 16px;
  flex-wrap: wrap;
}

body.ponuda-detail-page .pon-javni-link-lead {
  margin: 0 0 8px;
}

body.ponuda-detail-page .pon-javni-link-actions {
  flex-wrap: wrap;
  gap: 8px;
}

body.ponuda-detail-page .pon-javni-link-input {
  flex: 1 1 280px;
  min-width: 0;
}

body.ponuda-detail-page #ponKonvBackdrop .actions {
  margin-top: 12px;
}

body.ponuda-javna-page .ponuda-javna-drugo-wrap {
  margin-top: 10px;
}

body.ponuda-detail-page .app-status-pill.pill.prihvacena {
  background: #166534;
  color: #fff;
  border-color: #14532d;
}
body.ponuda-detail-page .app-status-pill.pill.odbijena {
  background: #b45309;
  color: #fff;
}
body.ponuda-detail-page .app-status-pill.pill.poslata {
  background: #1d4ed8;
  color: #fff;
}
body.ponuda-detail-page .pon-stavke-hint {
  margin-top: 10px;
  font-size: 0.86rem;
}

body.ponuda-detail-page .pon-stavke-pdv-hint {
  margin: 0;
  padding: 10px 16px 12px;
  font-size: 0.88rem;
  line-height: 1.4;
  border: 1px solid var(--pv-border, #c7d2fe);
  border-top: none;
  border-radius: 0 0 10px 10px;
  background: var(--app-soft-blue-bg, #eef2ff);
}

body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-stampa-cena-table-intro__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--pv-text, #0f172a);
}

body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-stampa-cena-table-intro__lead {
  margin: 4px 0 0;
}

body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-stampa-cena-table-block .kalk-stampa-cena-table-wrap {
  margin-top: 0;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 0;
  overflow: hidden;
  background: var(--card, #fff);
}

body.ponuda-detail-page #ponStavkeShell.detail-stavke-faze-view .app-page-panel-body {
  gap: 10px;
}

body.ponuda-detail-page .pon-msg-flash--ok {
  background: #dcfce7;
  color: #14532d;
  border: 1px solid #22c55e;
  padding: 10px 12px;
  border-radius: 8px;
}
body.ponuda-detail-page .pon-msg-flash--warn {
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #f59e0b;
  padding: 10px 12px;
  border-radius: 8px;
}

/* Ponuda — status klijenta (prihvaćena / odbijena) */
body.ponuda-detail-page .pon-status-banner {
  margin: 0 0 12px;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 0.95rem;
  line-height: 1.45;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
body.ponuda-detail-page .pon-status-banner__icon {
  flex: 0 0 auto;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
}
body.ponuda-detail-page .pon-status-banner__body {
  flex: 1 1 auto;
  min-width: 0;
}
body.ponuda-detail-page .pon-status-banner__body a {
  font-weight: 600;
}
body.ponuda-detail-page .pon-status-banner__cta {
  margin-top: 8px;
}
body.ponuda-detail-page .pon-status-banner--ok {
  background: #dcfce7;
  border: 2px solid #16a34a;
  color: #14532d;
}
body.ponuda-detail-page .pon-status-banner--ok .pon-status-banner__icon {
  background: #16a34a;
  color: #fff;
}
body.ponuda-detail-page .pon-status-banner--ok strong {
  color: #14532d;
}
body.ponuda-detail-page .pon-status-banner--warn {
  background: #fef3c7;
  border: 2px solid #d97706;
  color: #92400e;
}
body.ponuda-detail-page .pon-status-banner--warn .pon-status-banner__icon {
  background: #d97706;
  color: #fff;
}
body.ponuda-detail-page .pon-status-banner--info {
  background: #e0f2fe;
  border: 1px solid #0284c7;
  color: #0c4a6e;
}
.pon-prev-doc .pon-prev-table {
  width: 100%;
}
.pon-prev-detail {
  margin-top: 6px;
  font-size: 0.88rem;
}
.pon-prev-detail ul {
  margin: 4px 0 0;
  padding-left: 1.1em;
}
.pon-prev-foot {
  margin-top: 14px;
  padding-top: 10px;
  border-top: 2px solid var(--pv-border-soft, #cbd5e1);
}
.pon-prev-foot-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 0;
}
.pon-prev-foot-row--main strong {
  font-size: 1.15rem;
}
.pon-prev-pdv {
  margin-top: 10px;
  font-size: 0.88rem;
}
.stamparija-logo-preview {
  object-fit: contain;
  border: 1px solid var(--pv-border-soft, #cbd5e1);
  border-radius: 6px;
  background: #fff;
}
.stamparija-logo-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

body.kalkulacija-detail-page .kalk-cene-rezime-total-row--marza .kalk-cene-rezime-total__v,
body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-cene-rezime-total-row--marza .kalk-cene-rezime-total__v {
  color: var(--app-text-muted, #64748b);
  font-weight: 600;
}

body.kalkulacija-detail-page .kalk-cene-rezime-total-row--main .kalk-cene-rezime-total__v,
body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-cene-rezime-total-row--main .kalk-cene-rezime-total__v {
  padding-top: 6px;
  border-top: 2px solid var(--pv-border-soft, #cbd5e1);
  font-size: clamp(1.35rem, 3.5vw, 1.875rem);
  line-height: 1.15;
  color: var(--pv-text, #0f172a);
}

@media (max-width: 520px) {
  body.kalkulacija-detail-page .kalk-cene-rezime-totals,
  body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-cene-rezime-totals {
    grid-template-columns: 1fr;
    gap: 4px 0;
  }

  body.kalkulacija-detail-page .kalk-cene-rezime-total__v,
  body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-cene-rezime-total__v {
    text-align: left;
    padding-bottom: 10px;
  }

  body.kalkulacija-detail-page .kalk-cene-rezime-total-row--main .kalk-cene-rezime-total__k,
  body.kalkulacija-detail-page .kalk-cene-rezime-total-row--main .kalk-cene-rezime-total__v,
  body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-cene-rezime-total-row--main .kalk-cene-rezime-total__k,
  body.ponuda-detail-page .pon-stavke-rezime-wrap .kalk-cene-rezime-total-row--main .kalk-cene-rezime-total__v {
    border-top-width: 2px;
  }
}

/* === Global app page header (stacked) — kalk, ponuda, liste, magacin, … === */
.app-page-header--stacked,
.kalk-detail-app-header,
.pon-detail-app-header {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: 100%;
  min-width: 0;
}

.app-page-header--tabs-host,
.kalk-detail-app-header--tabs-host,
.pon-detail-app-header--tabs-host {
  border-color: var(--pv-border-soft, #e2e8f0);
}

.app-page-topbar,
.kalk-detail-topbar,
.pon-page-topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px 16px;
  width: 100%;
  min-width: 0;
}

.app-page-topbar__main,
.kalk-detail-topbar__title,
.pon-page-head-main {
  flex: 1 1 16rem;
  min-width: 0;
  max-width: 100%;
}

.app-page-topbar__main h1,
.kalk-detail-topbar__title h1,
.pon-page-title-row h1 {
  margin: 0 0 0.25rem;
  word-break: break-word;
}

.app-page-topbar__main .muted,
.kalk-detail-topbar__title .muted,
.pon-page-meta {
  margin: 0;
  max-width: 42rem;
  font-size: 0.875rem;
  line-height: 1.45;
}

.app-page-topbar__back,
.kalk-detail-topbar__back,
.pon-page-topbar__back {
  flex: 0 0 auto;
  align-self: flex-start;
}

.app-page-header-toolbar,
.kalk-detail-header-toolbar,
.pon-detail-header-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: 100%;
  min-width: 0;
  margin-top: 0.35rem;
  padding-top: 0.35rem;
  border-top: 1px solid var(--pv-border-soft, #ececec);
}

.app-page-header--stacked .topbar .brand,
.app-page-header--tabs-host .topbar .brand {
  display: none;
}

.app-page-header--tabs-host .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
.kalk-detail-app-header--tabs-host .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
.pon-detail-app-header--tabs-host .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
body.podesavanja-page .app-page-header--tabs-host .podesavanja-group-tablist.nalog-one-page-tablist--in-app-header {
  margin-top: 8px;
  padding-top: 10px;
  padding-bottom: 2px;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
}

html[data-ui-theme='fasc'] .app-page-header--tabs-host .nalog-one-page-tablist .faze-phase-tab.nalog-one-page-tab[aria-selected='true'],
html[data-ui-theme='fasc'] .kalk-detail-app-header--tabs-host .nalog-one-page-tablist .faze-phase-tab.nalog-one-page-tab[aria-selected='true'],
html[data-ui-theme='fasc'] .pon-detail-app-header--tabs-host .nalog-one-page-tablist .faze-phase-tab.nalog-one-page-tab[aria-selected='true'],
body.podesavanja-page .podesavanja-group-tablist .faze-phase-tab.nalog-one-page-tab[aria-selected='true'] {
  background: var(--app-btn-solid-bg, #2563eb);
  border-color: var(--app-btn-solid-border, #1d4ed8);
  color: var(--app-btn-on-solid, #fff);
}

.nalog-one-page-layout .nalog-one-page-tabpanels {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.nalog-one-page-panel[hidden],
.nalog-one-page-panel.hidden {
  display: none !important;
}

.gm-workspace > .app-page-status-msg,
.nalog-one-page-layout > .app-page-status-msg {
  margin: 0 0 12px;
}

/* Detalj — tabovi + rezervisan slot za kratku poruku (bez pomeranja kartice) */
body.nalog-detail-page .detail-header-tabrow,
body.kalkulacija-detail-page .detail-header-tabrow,
body.ponuda-detail-page .detail-header-tabrow {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px 16px;
  flex-wrap: nowrap;
  position: relative;
  margin-top: 8px;
  padding: 10px 48px 8px 0;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
  min-height: 52px;
  box-sizing: border-box;
}

body.nalog-detail-page .detail-header-tabrow .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
body.kalkulacija-detail-page .detail-header-tabrow .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
body.ponuda-detail-page .detail-header-tabrow .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header {
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 0;
  border-top: none;
  flex: 0 0 auto;
}

.detail-header-tabrow .detail-page-transient-slot {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  flex: none;
  width: auto;
  max-width: min(32rem, calc(100% - 12rem));
  min-width: 0;
  min-height: 2.125rem;
  margin: 0;
  align-self: auto;
  box-sizing: border-box;
  padding: 0.4rem 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.35;
  border-radius: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  border: 1px solid transparent;
  transition: opacity 0.2s ease, visibility 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.detail-page-transient-slot.kalk-detail-transient-banner--visible {
  opacity: 1;
  visibility: visible;
  background: var(--app-soft-green-bg, rgba(34, 197, 94, 0.1));
  border-color: var(--app-soft-green-border, rgba(34, 197, 94, 0.32));
  color: var(--app-soft-green-text, #166534);
}

.detail-page-transient-slot[hidden]:not(.kalk-detail-transient-banner--visible),
.detail-page-transient-slot:empty:not(.kalk-detail-transient-banner--visible) {
  opacity: 0;
  visibility: hidden;
}

body.ponuda-detail-page #ponDetailNote:not(:empty) {
  opacity: 1;
  visibility: visible;
  background: var(--app-soft-green-bg, rgba(34, 197, 94, 0.1));
  border-color: var(--app-soft-green-border, rgba(34, 197, 94, 0.32));
  color: var(--app-soft-green-text, #166534);
}

body.ponuda-detail-page .detail-page-transient-slot.pon-detail-msg.pon-msg-flash--ok.kalk-detail-transient-banner--visible,
body.ponuda-detail-page .detail-page-transient-slot.pon-detail-msg.pon-msg-flash--ok:not(:empty),
body.ponuda-detail-page #ponDetailNote.pon-msg-flash--ok:not(:empty) {
  opacity: 1;
  visibility: visible;
  background: #dcfce7;
  color: #14532d;
  border-color: #22c55e;
}

body.ponuda-detail-page .detail-page-transient-slot.pon-detail-msg.pon-msg-flash--warn.kalk-detail-transient-banner--visible,
body.ponuda-detail-page .detail-page-transient-slot.pon-detail-msg.pon-msg-flash--warn:not(:empty),
body.ponuda-detail-page #ponDetailNote.pon-msg-flash--warn:not(:empty) {
  opacity: 1;
  visibility: visible;
  background: #fef3c7;
  color: #92400e;
  border-color: #f59e0b;
}

body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host + .nalog-one-page-layout,
body.ponuda-detail-page .app-header--nalog-detail-tabs-host + .nalog-one-page-layout,
body.nalog-detail-page .app-header--nalog-detail-tabs-host + .nalog-one-page-layout {
  margin-top: 10px;
}

.phase-card-bar--accent-violet {
  border-left: 4px solid rgba(107, 79, 154, 0.92);
}

.phase-card-bar--accent-blue {
  border-left: 4px solid color-mix(in srgb, var(--app-btn-solid-bg, #2563eb) 88%, #fff 12%);
}

.phase-card-bar--accent-green {
  border-left: 4px solid var(--app-soft-green-border, #22c55e);
}

.phase-card-bar--accent-amber {
  border-left: 4px solid color-mix(in srgb, var(--app-warn-border, #f59e0b) 82%, #fff 18%);
}

/* Kalkulacija detalj — zaglavlje (naslov + traka dugmadi + poruka bez pomeranja layouta) */
body.kalkulacija-detail-page .kalk-detail-app-header {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: 100%;
  min-width: 0;
}

body.kalkulacija-detail-page .kalk-detail-app-header--tabs-host {
  border-color: var(--pv-border-soft, #e2e8f0);
}

body.kalkulacija-detail-page .kalk-detail-app-header--tabs-host .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header {
  margin-top: 8px;
  padding-top: 10px;
  padding-bottom: 2px;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
}

body.kalkulacija-detail-page .nalog-one-page-tablist .faze-phase-tab.nalog-one-page-tab {
  min-width: 6.5rem;
}

body.kalkulacija-detail-page .kalk-detail-topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px 16px;
  width: 100%;
  min-width: 0;
}

body.kalkulacija-detail-page .kalk-detail-topbar__title {
  flex: 1 1 16rem;
  min-width: 0;
  max-width: 100%;
}

body.kalkulacija-detail-page .kalk-detail-topbar__title h1 {
  margin: 0 0 0.25rem;
  word-break: break-word;
}

body.kalkulacija-detail-page .kalk-detail-topbar__title .muted {
  margin: 0;
  max-width: 42rem;
  font-size: 0.875rem;
  line-height: 1.45;
}

body.kalkulacija-detail-page .kalk-detail-topbar__back {
  flex: 0 0 auto;
  align-self: flex-start;
}

body.kalkulacija-detail-page .kalk-detail-header-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: 100%;
  min-width: 0;
  margin-top: 0.35rem;
  padding-top: 0.35rem;
  border-top: 1px solid var(--pv-border-soft, #ececec);
}

body.kalkulacija-detail-page .kalk-detail-toolbar-spacer {
  flex: 1 1 8px;
  min-width: 4px;
}

body.kalkulacija-detail-page .kalk-page-header-verzija {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 1 auto;
}

body.kalkulacija-detail-page .kalk-page-header-verzija select {
  min-width: 7.5rem;
}

body.kalkulacija-detail-page .kalk-detail-toolbar-end {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 1 auto;
  min-width: 0;
  position: relative;
}

/* Legacy toolbar slot (ako ostane u meniju) — ne važi za .detail-page-transient-slot u tab redu */
body.kalkulacija-detail-page .kalk-detail-transient-banner:not(.detail-page-transient-slot) {
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin: 0 8px 0 0;
  max-width: min(26rem, 48vw);
  box-sizing: border-box;
  padding: 0.4rem 0.7rem;
  font-size: 0.8125rem;
  line-height: 1.35;
  border-radius: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  border: 1px solid transparent;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

body.kalkulacija-detail-page .kalk-detail-transient-banner:not(.detail-page-transient-slot).kalk-detail-transient-banner--visible {
  opacity: 1;
  visibility: visible;
  background: var(--app-soft-green-bg, rgba(34, 197, 94, 0.1));
  border-color: var(--app-soft-green-border, rgba(34, 197, 94, 0.32));
  color: var(--app-soft-green-text, #166534);
}

body.kalkulacija-detail-page .detail-header-tabrow .detail-page-transient-slot.kalk-detail-transient-banner--visible,
body.ponuda-detail-page .detail-header-tabrow .detail-page-transient-slot.kalk-detail-transient-banner--visible,
body.nalog-detail-page .detail-header-tabrow .detail-page-transient-slot.kalk-detail-transient-banner--visible {
  transform: translateY(-50%);
}

@media (max-width: 900px) {
  body.kalkulacija-detail-page .kalk-detail-toolbar-end .kalk-detail-transient-banner {
    position: static;
    transform: none;
    margin: 0;
    max-width: 100%;
    flex: 1 1 100%;
    order: -1;
    white-space: normal;
    text-align: center;
  }
}

body.kalkulacija-detail-page .kalk-stavke-toolbar {
  align-items: center;
}

body.kalkulacija-detail-page .kalk-detail-transient-banner--stavke {
  position: static;
  transform: none;
  margin: 0;
  flex: 0 1 auto;
  max-width: min(22rem, 100%);
  white-space: nowrap;
}

body.kalkulacija-detail-page .kalk-ponuda-poslata-banner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 12px;
  padding: 10px 14px;
  font-size: 0.875rem;
  line-height: 1.45;
  border-radius: 10px;
  background: #fffbeb;
  border: 1px solid #fcd34d;
  color: #78350f;
}

body.kalkulacija-detail-page .kalk-ponuda-poslata-banner.hidden,
body.kalkulacija-detail-page .kalk-ponuda-poslata-banner[hidden] {
  display: none !important;
}

body.kalkulacija-detail-page .kalk-ponuda-poslata-banner__icon {
  flex: 0 0 auto;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: #f59e0b;
  color: #fff;
  font-weight: 700;
  font-size: 0.85rem;
  line-height: 1.35rem;
  text-align: center;
}

body.kalkulacija-detail-page .kalk-ponuda-poslata-banner__body {
  flex: 1 1 auto;
  min-width: 0;
}

body.kalkulacija-detail-page .kalk-ponuda-poslata-banner__link {
  color: #92400e;
  font-weight: 600;
}

body.kalkulacija-detail-page .kalk-ponuda-poslata-banner__link:hover {
  color: #78350f;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page .kalk-detail-app-header .topbar.kalk-detail-topbar {
  align-items: flex-start;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page .kalk-detail-header-toolbar {
  border-top-color: var(--pv-border-soft);
}

@media (max-width: 720px) {
  body.kalkulacija-detail-page .kalk-detail-header-toolbar {
    justify-content: flex-start;
  }

  body.kalkulacija-detail-page .kalk-detail-header-toolbar .btn.primary {
    flex: 1 1 100%;
    justify-content: center;
  }

  body.kalkulacija-detail-page .kalk-detail-toolbar-spacer {
    display: none;
  }
}

body.kalkulacija-detail-page .kalk-detail-tabbar,
body.kalkulacija-detail-page .kalk-detail-tabbar .kalk-tab-btn {
  /* zamenjeno nalog-one-page-tablist u zaglavlju (maj 2026) */
  display: none;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page .gm-app-content.kalk-detail-page-stack {
  width: 100%;
  max-width: none;
}

body.kalkulacija-detail-page .kalk-struktura-actions,
body.kalkulacija-detail-page .kalk-stavke-toolbar {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

body.kalkulacija-detail-page .kalk-stavke-lead {
  margin: 0 0 10px;
  font-size: 0.875rem;
  line-height: 1.45;
}

body.kalkulacija-detail-page .kalk-stavka-row-actions {
  justify-content: flex-end;
}

body.kalkulacija-detail-page .kalk-stavka-row-actions .btn.danger {
  margin-left: 2px;
}


body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-predlog-actions,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-pun-actions,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-polu-actions {
  gap: 8px;
  flex-wrap: wrap;
}

body.kalk-stavka-drawer-open {
  overflow: hidden;
}

/* Kalkulacija — prozor stavke: redosled polja, manje „tehničkih“ hintova */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ui-suppress,
body.kalkulacija-detail-page #kalkStavkaDrawer details.kalk-ofset-sig-intro {
  display: none !important;
}

/* —— Kalkulacija prozor stavke: UI/UX sloj (bez logike) —— */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stavka-modal-head-text {
  min-width: 0;
  flex: 1;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stavka-modal-title {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--pv-text, #0f172a);
  letter-spacing: -0.01em;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stavka-modal-meta {
  margin: 0.25rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--pv-muted, #64748b);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 2px;
  padding-top: 6px;
  border-top: 1px dashed #e2e8f0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-action-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px 12px;
  margin-top: 0;
}

@media (min-width: 640px) {
  body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-action-row:has(#kalkDrawerStOfWrapKnjigaGeo:not([style*='display: none'])) {
    display: grid;
    grid-template-columns: minmax(11rem, auto) minmax(10.5rem, 1fr);
    align-items: end;
  }

  body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-action-row:has(#kalkDrawerStOfWrapKnjigaGeo:not([style*='display: none'])) .kalk-geo-action-row__nacrt {
    grid-column: 1;
  }

  body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-action-row:has(#kalkDrawerStOfWrapKnjigaGeo:not([style*='display: none'])) #kalkDrawerStOfWrapKnjigaGeo {
    grid-column: 2;
    min-width: 0;
  }
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-calc-row {
  margin: 6px 0 0;
  padding: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-calc-row--dual {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: stretch;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-calc-row--dual .kalk-geo-calc-btn,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-calc-row--dual .kalk-geo-nacrt-btn {
  flex: 1 1 11rem;
  width: auto;
  max-width: none;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-calc-row .kalk-geo-calc-btn {
  width: auto;
  max-width: 100%;
  white-space: normal;
  text-align: center;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-action-row__nacrt {
  flex: 0 0 auto;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-nacrt-btn.btn {
  width: 100%;
  min-width: 11rem;
  max-width: 16rem;
  white-space: normal;
  text-align: center;
  font-weight: 600;
  min-height: var(--app-ui-btn-min-h);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--app-btn-violet-bg) 42%, transparent);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-nacrt-btn.btn:not(:disabled):hover {
  box-shadow: 0 3px 14px color-mix(in srgb, var(--app-btn-violet-bg) 52%, transparent);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-nacrt-btn.btn:disabled {
  box-shadow: none;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-action-row__results {
  flex: 1 1 12rem;
  min-width: min(100%, 18rem);
  margin: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-action-row__results--knj {
  flex: 0 1 auto;
  min-width: min(100%, 11rem);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-str-na-tab-field {
  flex: 0 0 auto;
  min-width: 10.5rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-str-na-tab-field .gra-input-like {
  min-width: 5.5rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-knjiga-summary {
  margin: 2px 0 0;
  font-size: 0.8125rem;
  line-height: 1.35;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-foot {
  margin: 4px 0 0 !important;
  font-size: 0.8125rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-qty-slot {
  margin-top: 4px;
  gap: 6px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-vp-root.kalk-mat-params-ready .kalk-mat-qty-slot .kalk-mat-qty-block {
  display: flex;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stavka-modal-head {
  align-items: flex-start;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-field-locked {
  cursor: not-allowed;
  opacity: 0.88;
}

/* Faza — klik u listi otvara pregled; „Izmeni“ u foot-u otključava */
body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-drawer-faza-view-locked .kalk-drawer-faza-slot input:not([readonly]),
body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-drawer-faza-view-locked .kalk-drawer-faza-slot select,
body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-drawer-faza-view-locked .kalk-drawer-faza-slot textarea:not([readonly]) {
  cursor: default;
}

@media (min-width: 901px) {
  .kalk-st-faza-izm .kalk-st-faza-izm-icon {
    display: none;
  }

  .kalk-st-faza-izm .kalk-st-faza-izm-label {
    display: inline;
  }
}

@media (max-width: 900px) {
  .kalk-st-faza-izm .kalk-st-faza-izm-label {
    display: none;
  }

  .kalk-st-faza-izm .kalk-st-faza-izm-icon {
    display: inline-flex;
  }

  .kalk-st-faza-izm.gm-table-icon-btn,
  .kalk-st-faza-izm.btn-sm {
    min-width: var(--app-ui-btn-min-h, 2.25rem);
    padding-inline: 0.5rem;
  }
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-phase-band-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecStampa > .kalk-stampa-mode-toolbar {
  margin: 0 0 var(--kalk-drawer-gap-outer, 6px);
  padding: 8px 10px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 10px;
  background: var(--card, #fff);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecStampa:has(.kalk-stampa-drawer-flow) > .kalk-stampa-mode-toolbar,
body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecStampa:has(.kalk-ofset-drawer-flow) > .kalk-stampa-mode-toolbar {
  margin-bottom: 8px;
  padding: 8px 10px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStMount {
  margin-top: var(--kalk-drawer-gap-outer, 10px);
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfTabTirazDis,
body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStDigTabTirazDis {
  min-height: 2.2rem;
  font-size: 1.0625rem;
  font-weight: 800;
  text-align: center;
  color: var(--pv-text, #0f172a);
  background: var(--app-soft-blue-bg, #eff6ff) !important;
  border-color: var(--app-soft-blue-border, #93c5fd) !important;
}

body.kalkulacija-detail-page #kalkStavkaDrawer label[for='kalkDrawerStOfTabTirazDis'],
body.kalkulacija-detail-page #kalkStavkaDrawer label[for='kalkDrawerStDigTabTirazDis'] {
  font-weight: 700;
  color: var(--pv-primary, #1e40af);
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkStCenaZbir {
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--pv-text, #0f172a);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-status-hint:not([hidden]) {
  margin: 0;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 0.8125rem;
  line-height: 1.4;
  background: var(--app-table-head-bg, #f8fafc);
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  color: var(--pv-text, #0f172a);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-knjiga-derived .gra-field-stack label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #64748b;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-knjiga-derived .kalk-ofset-readonly {
  min-height: 2.25rem;
  font-size: 1.0625rem;
  font-weight: 700;
  text-align: center;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-summary-bar:not(:empty) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  margin: 4px 0 0;
  padding: 6px 10px;
  border-radius: 8px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #334155;
  line-height: 1.35;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-key-metric-row .kalk-ofset-readonly {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-key-metric-row label {
  color: #0f172a;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-block-title {
  margin: 0 0 4px;
  font-size: 0.875rem;
  font-weight: 700;
  color: #0f172a;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-gate {
  margin: 0 0 6px;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: #475569;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-gate:empty {
  display: none;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-section-heading {
  margin: 0 0 4px;
  font-weight: 600;
  font-size: 0.8125rem;
  color: #334155;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-section-heading--polu {
  margin-top: 8px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-field-stack--tiraz .kalk-tiraz-restore-btn {
  margin-top: 4px;
  align-self: flex-start;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-intro-hint {
  margin: 0 0 4px;
  font-size: 0.8125rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-hint {
  margin: 2px 0 0;
  min-height: 0;
  font-size: 0.75rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-hint:empty {
  display: none;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-qty-row .gra-field-stack label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #64748b;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-qty-row input[readonly] {
  min-height: 2.25rem;
  font-weight: 600;
  text-align: center;
  background: #f8fafc !important;
  border-color: #e2e8f0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-drawer-flow .kalk-drawer-hint:not(.kalk-geo-status-hint):not(.kalk-ofset-summary-bar),
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .kalk-drawer-hint:not(.kalk-geo-status-hint):not(.kalk-ofset-summary-bar) {
  margin-top: 2px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-user-hint {
  margin: 4px 0 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--pv-muted, #64748b);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-inner-rule {
  margin: 10px 0 6px;
  border: none;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
  opacity: 0.85;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-redosled > summary {
  cursor: pointer;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--pv-text, #1e3a5f);
  list-style-position: outside;
  padding: 2px 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-redosled__body {
  margin-top: 8px;
  padding: 0 2px 0 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--pv-muted, #64748b);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-redosled__list {
  margin: 0;
  padding-left: 1.2rem;
  padding-right: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-redosled__list li + li {
  margin-top: 6px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-user-hint {
  margin: 0 0 8px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-tab-mm-hint:empty {
  visibility: hidden;
}

/* Poravnanje kolona — rezervisan red za hint ispod kontrole */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-drawer-flow .gra-fields-row,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .gra-fields-row {
  align-items: stretch;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-drawer-flow .gra-field-stack,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .gra-field-stack {
  display: grid;
  grid-template-rows: auto auto minmax(1rem, auto);
  gap: 2px;
  align-content: start;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-action-row .gra-field-stack,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-stat-grid .gra-field-stack,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-params .gra-field-stack,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-field-stack--tiraz {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .gra-field-stack > .kalk-drawer-hint,
body.kalkulacija-detail-page #kalkStavkaDrawer .gra-field-stack > .kalk-ofset-tab-mm-hint {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.2;
  min-height: 1rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-field-hint-reserve:empty {
  visibility: hidden;
  pointer-events: none;
}

/* Stat kartice — pun/polu tabak, količina materijala */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 10px;
  width: 100%;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-stat-grid .kalk-stat-cell label,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-knjiga-derived .gra-field-stack label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #64748b;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-stat-grid .kalk-stat-cell__val,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-stat-grid .kalk-ofset-readonly,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-knjiga-derived .kalk-ofset-readonly {
  min-height: 2.05rem;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-qty-slot .kalk-ofset-stat-grid {
  margin-top: 6px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-qty-block {
  display: none;
  gap: var(--kalk-drawer-gap-row, 6px);
}

body.kalkulacija-detail-page #kalkDrawerStOfSecMat:has(.kalk-mat-params-ready) .kalk-mat-qty-block,
body.kalkulacija-detail-page #kalkDrawerStMatMountDig:has(.kalk-mat-params-ready) + .kalk-mat-qty-block,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-vp-root.kalk-mat-params-ready .kalk-mat-qty-slot .kalk-mat-qty-block {
  display: grid;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-obracun-stampa-block {
  margin-top: 6px;
  padding-top: 8px;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section-title {
  margin-bottom: 4px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-pick-hint {
  font-size: 0.8125rem;
}

body.kalkulacija-detail-page .kalk-stavke-lead {
  font-size: 0.8125rem;
  line-height: 1.45;
  max-width: 52rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawerBackdrop.kalk-stavka-modal-backdrop {
  z-index: 12035;
}

body.kalkulacija-detail-page #kalkStavkaDrawerBackdrop.kalk-stavka-modal-backdrop:not(.hidden) {
  pointer-events: auto;
  cursor: default;
}

body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel--open {
  pointer-events: auto;
}

/* Pretvaranje kalkulacije u nalog — čarobnjak (desktop: workspace subview; mobil: overlay) */
body.kalkulacija-detail-page .kalk-pretvori-wizard {
  display: none;
  flex-direction: column;
  min-height: 0;
  background: var(--pv-surface, #fff);
}

body.kalkulacija-detail-page .kalk-pretvori-wizard:not(.hidden) {
  display: flex;
}

body.kalkulacija-detail-page .kalk-pretvori-wizard-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  flex-shrink: 0;
}

body.kalkulacija-detail-page .kalk-pretvori-wizard-title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 600;
}

body.kalkulacija-detail-page .kalk-pretvori-wizard-kicker {
  margin: 0 0 4px;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.kalkulacija-detail-page .kalk-pretvori-wizard-step {
  margin: 4px 0 0;
}

body.kalkulacija-detail-page .kalk-pretvori-wizard-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 16px;
}

body.kalkulacija-detail-page .kalk-pretvori-wizard-foot {
  flex-shrink: 0;
  padding: 12px 16px;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
  flex-wrap: wrap;
}

body.kalkulacija-detail-page .kalk-pretvori-intro {
  margin-bottom: 12px;
}

body.kalkulacija-detail-page .kalk-pretvori-stavka-row {
  padding: 10px 0;
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
}

body.kalkulacija-detail-page .kalk-pretvori-stavka-faze {
  margin: 4px 0 0 24px;
}

body.kalkulacija-detail-page .kalk-pretvori-mas-label {
  display: block;
  margin-top: 6px;
}

body.kalkulacija-detail-page .kalk-pretvori-mas-label .gra-input-like {
  width: 100%;
  margin-top: 4px;
}

body.kalkulacija-detail-page #kalkPretvoriNalogBackdrop.kalk-pretvori-modal-backdrop:not(.hidden) {
  z-index: 12060;
}

@media (max-width: 900px) {
  body.kalkulacija-detail-page .kalk-pretvori-wizard--overlay-open {
    position: fixed;
    inset: 12px;
    z-index: 12070;
    max-height: calc(100dvh - 24px);
    border: 1px solid var(--pv-border-soft, #e2e8f0);
    border-radius: 12px;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
  }
}

body.kalkulacija-detail-page .kalk-pretvori-nalog-veza {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--app-ui-btn-gap, 6px);
}

body.kalkulacija-detail-page .kalk-pretvori-nalog-veza .muted {
  font-size: 0.9em;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel {
  --kalk-drawer-form-pad-x: 16px;
  --kalk-drawer-section-pad-x: 12px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer :is(input, select, textarea, button, a):focus-visible,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer :is(input, select, textarea, button, a):focus-visible {
  outline: 2px solid var(--pv-field-focus, #818cf8);
  outline-offset: 2px;
}

/* Stavka kalkulacije — široki centriran modal (JS i dalje: gm-side-panel--open) */
body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel {
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  z-index: 12040;
  width: min(62rem, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  height: auto;
  max-height: min(92dvh, 900px);
  margin: 0;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-left: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 12px;
  box-shadow:
    0 4px 6px -1px rgba(15, 23, 42, 0.06),
    0 24px 48px -12px rgba(15, 23, 42, 0.22);
  transform: translate(-50%, calc(-50% + 14px)) scale(0.985);
  opacity: 0;
  transition:
    transform var(--gm-side-panel-transition-dur, 0.22s) ease,
    opacity var(--gm-side-panel-transition-dur, 0.22s) ease;
  /* Kompaktniji, ujednačeni vertikalni ritam u prozoru stavke */
  --kalk-drawer-gap-outer: 6px;
  --kalk-drawer-gap-section: 4px;
  --kalk-drawer-gap-row: 4px;
  --kalk-drawer-gap-field: 3px;
  --kalk-drawer-form-pad-x: 16px;
  --kalk-drawer-section-pad-x: 12px;
  --kalk-drawer-section-pad-y: 6px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel--open {
  transform: translate(-50%, -50%);
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel {
    transition: opacity 0.01s ease;
  }

  body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel--open {
    transform: translate(-50%, -50%);
  }
}

/* Modal — sadržaj od leve do desne ivice */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stavka-side-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  align-items: stretch;
  overflow: hidden;
  max-height: min(92dvh, 900px);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .gm-side-panel-inner.kalk-stavka-side-inner,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .gm-side-panel-inner.kalk-stavka-side-inner {
  padding: 10px var(--kalk-drawer-form-pad-x, 16px) 12px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stavka-panel-scroll,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-shell-faza,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-slot,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-stavka-overview {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .gra-fields-row {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  justify-items: stretch;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .gra-fields-row > input[type='hidden'] {
  display: none;
}

/* Ofset faza — drawer tok (samo UI) */
body.kalkulacija-detail-page #kalkStavkaDrawer .gra-form-stack {
  gap: 6px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .gra-field-stack {
  gap: 3px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section.gra-form-stack {
  gap: 4px;
}

/* Ofset/digital štampa: sekcije u 2 kolone (≥521px); cena štampe uvek puna širina */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-drawer-flow,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--kalk-drawer-gap-outer);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  align-items: stretch;
}

/* Ofset: 2 kolone samo bez --linear (bazna linija osnovni209); eksperiment = jedan vertikalni tok */
@media (min-width: 521px) {
  body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow:not(.kalk-ofset-drawer-flow--linear) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--linear {
  gap: 10px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--linear > .kalk-ofset-drawer-section + .kalk-ofset-drawer-section {
  margin-top: 2px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--linear > .kalk-ofset-drawer-section {
  grid-column: 1 / -1;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-drawer-section--full,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section:has(#kalkDrawerStCenaMount),
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section:has(.kalk-stampa-cena-card),
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-drawer-flow > #kalkDrawerStCenaMount,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-drawer-flow > .kalk-stampa-cena-root {
  grid-column: 1 / -1;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfSigRedoviBlock,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-block {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section {
  display: flex;
  flex-direction: column;
  gap: var(--kalk-drawer-gap-section);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: var(--kalk-drawer-section-pad-y) var(--kalk-drawer-section-pad-x)
    calc(var(--kalk-drawer-section-pad-y) + 2px);
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 10px;
  background: var(--card, #fff);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  overflow: hidden;
}

/* Ofset unutar faze štampa: sekcije nose okvir, spoljašnji blok bez duplog uvlačenja */
body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecStampa.kalk-drawer-phase-inner:has(.kalk-stampa-drawer-flow),
body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecStampa.kalk-drawer-phase-inner:has(.kalk-ofset-drawer-flow) {
  padding-left: 0;
  padding-right: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecStampa:has(.kalk-stampa-drawer-flow),
body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecStampa:has(.kalk-ofset-drawer-flow) > .gra-form-band {
  margin-bottom: var(--kalk-drawer-gap-outer);
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecStampa:has(.kalk-stampa-drawer-flow),
body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecStampa:has(.kalk-ofset-drawer-flow) > .gra-fields-row {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Zaglavlja kartica u draweru — tamna traka (ofset sekcije), ujednačeno sa .gra-form-band */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section-title {
  margin: calc(-1 * var(--kalk-drawer-section-pad-y)) calc(-1 * var(--kalk-drawer-section-pad-x))
    var(--kalk-drawer-gap-section);
  padding: 5px var(--kalk-drawer-section-pad-x);
  border-bottom: 1px solid rgba(0, 20, 40, 0.4);
  border-radius: 9px 9px 0 0;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #f0f6ff;
  background: linear-gradient(180deg, var(--pv-navy-1) 0%, var(--pv-navy-2) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow > .kalk-ofset-drawer-section:nth-child(1) .kalk-ofset-drawer-section-title {
  border-left: 3px solid #60a5fa;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow > .kalk-ofset-drawer-section:nth-child(2) .kalk-ofset-drawer-section-title {
  border-left: 3px solid #94a3b8;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow > .kalk-ofset-drawer-section:nth-child(3) .kalk-ofset-drawer-section-title {
  border-left: 3px solid #a78bfa;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow > .kalk-ofset-drawer-section:nth-child(4) .kalk-ofset-drawer-section-title {
  border-left: 3px solid #34d399;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow > .kalk-ofset-drawer-section:nth-child(5) .kalk-ofset-drawer-section-title {
  border-left: 3px solid #fbbf24;
}

/* Koraci 1–5 — akcent naslova po data-kalk-ofset-step (ofset / digital / ploter; tačnije od nth-child) */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section[data-kalk-ofset-step='1'] .kalk-ofset-drawer-section-title {
  border-left: 3px solid #60a5fa;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section[data-kalk-ofset-step='2'] .kalk-ofset-drawer-section-title {
  border-left: 3px solid #94a3b8;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section[data-kalk-ofset-step='3'] .kalk-ofset-drawer-section-title {
  border-left: 3px solid #a78bfa;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section[data-kalk-ofset-step='4'] .kalk-ofset-drawer-section-title {
  border-left: 3px solid #34d399;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section[data-kalk-ofset-step='5'] .kalk-ofset-drawer-section-title {
  border-left: 3px solid #fbbf24;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--linear > .kalk-ofset-drawer-section + .kalk-ofset-drawer-section {
  margin-top: 6px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section[data-kalk-ofset-step='5'],
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section:has(.kalk-stampa-cena-card) {
  border-color: #a5b4fc;
  box-shadow: 0 2px 5px rgba(30, 58, 95, 0.07);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-inner-rule {
  margin: 12px 0 8px;
  border-top-color: #cbd5e1;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-hidden {
  display: none !important;
}

@media (min-width: 521px) {
  body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-drawer-flow .gra-fields-row--2,
  body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .gra-fields-row--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-drawer-flow .gra-fields-row--2,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .gra-fields-row--2 {
  gap: var(--kalk-drawer-gap-row) 12px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section.gra-form-stack .gra-fields-row + .gra-fields-row,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-st-mount > .gra-form-stack:not(.kalk-stampa-drawer-flow):not(.kalk-ofset-drawer-flow) .gra-fields-row + .gra-fields-row,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-pr-mount .gra-fields-row + .gra-fields-row {
  margin-top: var(--kalk-drawer-gap-row);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section.gra-form-stack .gra-form-band + .gra-fields-row,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-phase-inner.gra-form-stack .gra-form-band + .gra-fields-row {
  margin-top: var(--kalk-drawer-gap-row);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .gra-field-stack label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--pv-muted, #334155);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .kalk-ofset-readonly {
  background: var(--app-table-head-bg, #f1f5f9) !important;
  border-color: var(--pv-border-soft, #e2e8f0);
  color: var(--pv-text, #0f172a);
  cursor: default;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .kalk-ofset-tab-mm-hint {
  margin: 2px 0 0;
  font-size: 0.75rem;
  line-height: 1.35;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .kalk-ofset-geo-row {
  padding-top: 6px;
  margin-top: 0;
  border-top: 1px dashed var(--pv-border-soft, #e2e8f0);
}


body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .kalk-ofset-predlog-box {
  margin: 0;
  padding: 6px 8px;
  border-radius: 8px;
  background: var(--app-table-head-bg, #f8fafc);
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  line-height: 1.4;
  font-size: 0.8125rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-block {
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px dashed var(--pv-border-soft, #e2e8f0);
}

/* Ploter — isti panel, bez 5 koraka; uži razmaci u mount-u */
body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecStampa .kalk-drawer-st-mount > .gra-form-stack {
  gap: var(--kalk-drawer-gap-row);
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecStampa .kalk-drawer-st-mount .gra-fields-row--2 {
  gap: var(--kalk-drawer-gap-row) 10px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-intro {
  margin: 2px 0 6px;
  font-size: 0.8125rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-intro summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--pv-muted, #334155);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-intro-list {
  margin: 8px 0 0;
  padding-left: 1.25rem;
  line-height: 1.45;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-migrate,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-sve-isto {
  margin: 6px 0;
  padding: 8px 10px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-choice {
  margin: 6px 0 8px;
  padding: 8px 10px;
  background: var(--app-table-head-bg, #f8fafc);
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: var(--app-ui-btn-radius, 8px);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-choice-actions {
  flex-wrap: wrap;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-table-section {
  margin-top: 4px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-block,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-table-section,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-choice,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-sve-isto {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table-wrap {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  width: 100%;
  margin: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table th,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table td {
  padding: 4px 6px;
  vertical-align: middle;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table th {
  font-weight: 600;
  color: #475569;
  font-size: 0.75rem;
}

/* Tabela signature — polja u ćeliji, čitljiv kontrast */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table input.gra-input-like,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table select.gra-input-like {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
  color: #0f172a !important;
  background-color: #ffffff !important;
  border: 1px solid #94a3b8 !important;
  font-size: 0.875rem;
  line-height: 1.35;
  -webkit-text-fill-color: #0f172a;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table input.gra-input-like::placeholder {
  color: #64748b;
  opacity: 1;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table input.gra-input-like:focus-visible,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table select.gra-input-like:focus-visible {
  border-color: #2563eb;
  outline: 2px solid rgba(37, 99, 235, 0.2);
  outline-offset: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table th:nth-child(1),
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table td:nth-child(1) {
  width: 17%;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table th:nth-child(2),
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table td:nth-child(2) {
  width: 33%;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table th:nth-child(3),
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table td:nth-child(3) {
  width: 16%;
  min-width: 5.5rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-th-hint {
  display: block;
  font-weight: 400;
  font-size: 0.65rem;
  color: #64748b;
  margin-top: 2px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-cell-boje {
  overflow: visible;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-boje-wrap {
  position: relative;
  display: block;
  min-width: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-boje-primer {
  display: block;
  margin-top: 2px;
  font-size: 0.65rem;
  line-height: 1.2;
  color: #64748b;
  font-style: italic;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-boje-tip {
  position: absolute;
  left: 50%;
  top: calc(100% + 4px);
  transform: translateX(-50%);
  z-index: 40;
  width: max-content;
  max-width: min(16rem, 70vw);
  padding: 6px 9px;
  font-size: 0.6875rem;
  line-height: 1.35;
  font-weight: 500;
  color: #92400e;
  background: #fffbeb;
  border: 1px solid #f59e0b;
  border-radius: 8px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.14);
  pointer-events: none;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-boje-tip::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 100%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-bottom-color: #f59e0b;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-boje-tip[hidden] {
  display: none !important;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-inp-kratki--warn {
  border-color: #f59e0b !important;
  outline: none;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.25);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-cell-boje .kalk-ofset-sig-inp-kratki {
  font-weight: 600;
  width: 100%;
  box-sizing: border-box;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table th:nth-child(4),
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table td:nth-child(4) {
  width: 14%;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table th:nth-child(5),
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table td:nth-child(5) {
  width: 8%;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-separator {
  margin: 8px 0 0;
  border: 0;
  border-top: 1px solid #cbd5e1;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-save-hint:not([hidden]) {
  margin: 8px 0 0;
  color: #b45309;
  font-size: 0.8125rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-section-heading {
  margin: 0 0 6px;
  padding: 5px 8px;
  border-radius: 6px;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #f0f6ff;
  background: linear-gradient(180deg, var(--pv-navy-1) 0%, var(--pv-navy-2) 100%);
  border: 1px solid rgba(0, 20, 40, 0.35);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-inp-broj,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-inp-kratki,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-inp-okretanje {
  text-align: center;
  font-variant-numeric: tabular-nums;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-inp-kratki {
  font-weight: 600;
  letter-spacing: 0.03em;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-tip-lbl {
  font-size: 0.75rem;
  white-space: nowrap;
  color: #475569;
  font-weight: 500;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-ploce-dis {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: #0f172a;
  font-weight: 600;
}

/* „Svi tabaci isto“ — polje boja */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-sve-isto .gra-field-stack label {
  color: #334155;
  font-weight: 600;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfSigSveIstoBoje {
  width: 100%;
  max-width: 7.5rem;
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #0f172a;
  background-color: #ffffff;
  border: 1px solid #94a3b8;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfSigSveIstoBoje::placeholder {
  color: #64748b;
  font-weight: 400;
  opacity: 1;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfSigSveIstoBoje:focus-visible {
  border-color: #2563eb;
  outline: 2px solid rgba(37, 99, 235, 0.2);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-del {
  min-width: 2rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .kalk-ofset-iznos-field input {
  font-weight: 600;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .kalk-ofset-iznos-field input.kalk-ofset-iznos-locked {
  background: #f1f5f9;
  color: #64748b;
  cursor: not-allowed;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-cena-sig-hint {
  margin: 0.35rem 0 0;
  color: #b45309;
  font-size: 0.75rem;
  line-height: 1.4;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .kalk-ofset-cena-foot {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #64748b;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .kalk-ofset-predlog-actions {
  margin-top: 0;
  justify-content: flex-start;
}

/* Predlog cene — profesionalna kartica + tabela (ujednačeno: digital / ofset / ploter) */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-card {
  margin-top: 2px;
  padding: 10px 12px 12px;
  border-radius: 10px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  background: var(--card, #fff);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-card--focus {
  border-left: 3px solid var(--pv-primary-strong, #1e3a5f);
  scroll-margin-top: 12px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-card__title {
  margin: 0 0 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pv-text, #0f172a);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-zone {
  margin-top: 10px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-zone--stavke {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-zone__title {
  margin: 0 0 6px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--pv-muted, #475569);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-zone--params .kalk-stampa-cena-params-band {
  margin-top: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-params-band {
  margin-top: 8px;
  margin-bottom: 6px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  background: var(--card, #fff);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 0;
  padding: 10px 12px;
  border: 1px solid var(--pv-border, #c7d2fe);
  border-top: 2px solid var(--pv-primary-strong, #1e3a5f);
  border-radius: 0 0 8px 8px;
  background: var(--app-table-head-bg, #f8fafc);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-foot__label {
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--pv-muted, #475569);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-foot__val {
  font-size: 1.0625rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--pv-muted, #64748b);
  text-align: right;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-foot--has-value .kalk-stampa-cena-table-foot__val {
  font-size: 1.1875rem;
  color: var(--pv-text, #0f172a);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-bulk-links {
  margin: 6px 0 0;
  font-size: 0.75rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-bulk-btn {
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  font-weight: 600;
  color: var(--pv-primary, #1e40af);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-bulk-btn:hover,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-bulk-btn:focus-visible {
  color: var(--pv-primary-strong, #1e3a5f);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-bulk-sep {
  margin: 0 0.35rem;
  color: var(--pv-muted, #94a3b8);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-block {
  margin-top: 0;
}

/* Faza štampa — traka konteksta + foot bar (snapshot: backups/snapshot-pre-stampa-traka-footer-2026-05-19) */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 8px 0 10px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--pv-border, #c7d2fe);
  background: var(--card, #fff);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecStampa:has(.kalk-stampa-drawer-flow) .kalk-stampa-ctx-bar:not(.hidden) {
  margin-top: 6px;
  padding-top: 10px;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
}

body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-drawer--stampa-faza .kalk-stampa-ctx-bar,
body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-drawer--dor-faza #kalkDorCtxBar {
  position: sticky;
  top: 0;
  z-index: 8;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecDorade:has(#kalkDorCtxBar:not(.hidden)) #kalkDorCtxBar {
  margin-top: 6px;
  padding-top: 10px;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-dor-faze-table-block {
  margin-top: 12px;
  width: 100%;
  min-width: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-dor-faze-row--draft td {
  font-style: italic;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-dor-faze-row--active td {
  background: var(--app-soft-blue-bg, #eef2ff);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-dor-faze-row--empty td {
  text-align: center;
  padding: 14px 10px;
  font-size: 0.8125rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerFootFaza.kalk-faza-foot--dor {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 2px solid var(--pv-border-soft, #e2e8f0);
  background: var(--card, #fff);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-dor-krov-flow {
  gap: var(--kalk-drawer-gap-section);
}

@media (min-width: 521px) {
  body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar__item:not(:first-child) {
    border-left: 1px solid var(--pv-border-soft, #e2e8f0);
    padding-left: 10px;
    margin-left: 2px;
    border-radius: 0 6px 6px 0;
  }
}

body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-drawer--stampa-faza .kalk-stampa-cena-card > .kalk-stampa-cena-user-hint {
  display: none;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar__item {
  min-width: 0;
  padding: 6px 8px;
  border-radius: 6px;
  background: var(--app-table-head-bg, #f8fafc);
  border: 1px solid var(--pv-border-soft, #e2e8f0);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar__item--accent {
  border-color: var(--app-soft-blue-border, #a5b4fc);
  background: var(--app-soft-blue-bg, #eef2ff);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar__item--has-value .kalk-stampa-ctx-bar__v {
  color: var(--pv-text, #0f172a);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar__k {
  display: block;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pv-muted, #64748b);
  margin-bottom: 2px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar__v {
  display: block;
  font-size: 0.875rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--pv-muted, #94a3b8);
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar__item--accent .kalk-stampa-ctx-bar__v,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar__item--has-value .kalk-stampa-ctx-bar__v {
  font-size: 0.9375rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-drawer--stampa-faza .kalk-stampa-cena-footer {
  display: none;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerFootFaza.kalk-faza-foot--stampa {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 2px solid var(--pv-border-soft, #e2e8f0);
  background: var(--card, #fff);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-faza-foot {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 14px;
  min-width: min(100%, 20rem);
  padding: 0 4px 0 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-faza-foot__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-faza-foot__metric {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-faza-foot__k {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--pv-muted, #64748b);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-faza-foot__v {
  font-size: 0.9375rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--pv-text, #0f172a);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-faza-foot__sep {
  width: 1px;
  height: 1.25rem;
  background: var(--pv-border, #cbd5e1);
  align-self: center;
}

@media (max-width: 520px) {
  body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-intro {
  padding: 10px 12px;
  border: 1px solid var(--pv-border, #c7d2fe);
  border-bottom: none;
  border-radius: 8px 8px 0 0;
  background: var(--app-table-head-bg, #f8fafc);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-intro__title {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--pv-text, #1e3a5f);
  letter-spacing: 0.01em;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-intro__lead {
  margin: 4px 0 0;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--pv-muted, #64748b);
}

/* Upadljiv header — „Izaberite šta ulazi u cenu“ (faza štampa / slične tabele sa checkbox kolonom) */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-intro--pick-rows {
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--app-soft-amber-border, #d4c2ae) 72%, var(--pv-border, #c7d2fe));
  border-bottom: 2px solid color-mix(in srgb, var(--app-soft-amber-border, #d4c2ae) 55%, var(--pv-border-soft, #e2e8f0));
  border-radius: 10px 10px 0 0;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--app-soft-amber-bg, #f5ebe2) 88%, var(--card, #fff)) 0%,
    color-mix(in srgb, var(--app-soft-blue-bg, #dce8f4) 52%, var(--app-soft-amber-bg, #f5ebe2)) 100%
  );
  box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--app-soft-amber-border, #d4c2ae) 42%, transparent);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-intro--pick-rows .kalk-stampa-cena-table-intro__title {
  font-size: 0.9375rem;
  font-weight: 800;
  letter-spacing: 0.015em;
  color: var(--app-soft-amber-text, #5c4836);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-intro--pick-rows .kalk-stampa-cena-table-intro__lead {
  margin-top: 6px;
  font-size: 0.8125rem;
  line-height: 1.45;
  font-weight: 500;
  color: color-mix(in srgb, var(--app-soft-amber-text, #5c4836) 78%, var(--pv-text, #334155));
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-wrap {
  overflow-x: auto;
  margin-top: 0;
  border-radius: 0;
  border: 1px solid var(--pv-border, #c7d2fe);
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
  border-bottom: none;
  background: var(--card, #fff);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-wrap--focus {
  box-shadow: inset 0 0 0 1px rgba(30, 58, 95, 0.06);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-params {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(5.5rem, 7.5rem);
  gap: 6px 10px;
  align-items: end;
  margin-bottom: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-params .kalk-stampa-cena-prolazi-stat {
  align-self: stretch;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-params .kalk-stat-cell label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--pv-muted, #64748b);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-params .kalk-stat-cell__val {
  min-height: 2.05rem;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-hint-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 12px;
  margin: 4px 0 6px;
  padding: 6px 8px;
  font-size: 0.75rem;
  line-height: 1.35;
  border-radius: 8px;
  background: var(--app-surface-muted, #f8fafc);
  border: 1px solid var(--app-border-subtle, #e2e8f0);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-hint-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-hint-k {
  font-weight: 600;
  color: var(--pv-muted, #64748b);
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-hint-v {
  font-variant-numeric: tabular-nums;
  word-break: break-word;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-panel {
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--app-border-subtle, #e2e8f0);
  background: var(--app-surface-muted, #f8fafc);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-panel-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 16px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-panel-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-panel-lbl {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--pv-muted, #64748b);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-panel-val {
  font-size: 0.9375rem;
  font-variant-numeric: tabular-nums;
  color: var(--pv-text, #0f172a);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-inp--locked,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-inp[readonly] {
  background: var(--app-surface-muted, #eef2f7);
  color: var(--app-text, #0f172a);
  border-color: var(--app-border-subtle, #dbe3ee);
  cursor: default;
  opacity: 1;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-panel-cell .gra-field-stack label {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--pv-muted, #64748b);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-panel-sub {
  margin: 8px 0 0;
  font-size: 0.75rem;
  line-height: 1.35;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-override-lbl {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 10px 0 0;
  font-size: 0.8125rem;
  line-height: 1.35;
  cursor: pointer;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-override-fields {
  margin-top: 8px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-otisci-cell {
  position: relative;
  overflow: visible;
  text-overflow: unset;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-otisci-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--app-ui-btn-min-h, 2rem);
  padding: 0 8px;
  border: 1px dashed var(--app-border-subtle, #cbd5e1);
  border-radius: var(--app-ui-btn-radius, 8px);
  background: transparent;
  color: inherit;
  font: inherit;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  cursor: pointer;
  width: 100%;
  max-width: 100%;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-otisci-btn:hover,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-otisci-btn:focus-visible {
  border-color: var(--app-accent, #2563eb);
  background: rgba(37, 99, 235, 0.06);
  outline: none;
}

body.kalkulacija-detail-page .kalk-stampa-cena-otisci-pop {
  position: fixed;
  z-index: 20050;
  max-width: min(36rem, calc(100vw - 16px));
  max-height: min(20rem, calc(100vh - 24px));
  overflow: auto;
  padding: 10px 12px 12px;
  border-radius: 10px;
  border: 1px solid var(--app-border-subtle, #cbd5e1);
  background: var(--app-surface, #fff);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.18);
}

body.kalkulacija-detail-page .kalk-stampa-cena-otisci-pop-title {
  margin: 0 28px 6px 0;
  font-size: 0.8125rem;
  font-weight: 700;
}

body.kalkulacija-detail-page .kalk-stampa-cena-otisci-pop-lead {
  margin: 0 0 8px;
  font-size: 0.75rem;
}

body.kalkulacija-detail-page .kalk-stampa-cena-otisci-pop-close {
  position: absolute;
  top: 6px;
  right: 8px;
  border: 0;
  background: transparent;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  color: #64748b;
  padding: 2px 6px;
}

body.kalkulacija-detail-page .kalk-stampa-cena-otisci-pop-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.6875rem;
}

body.kalkulacija-detail-page .kalk-stampa-cena-otisci-pop-table th,
body.kalkulacija-detail-page .kalk-stampa-cena-otisci-pop-table td {
  padding: 4px 6px;
  border-bottom: 1px solid var(--app-border-subtle, #e2e8f0);
  text-align: right;
  white-space: nowrap;
}

body.kalkulacija-detail-page .kalk-stampa-cena-otisci-pop-table th:first-child,
body.kalkulacija-detail-page .kalk-stampa-cena-otisci-pop-table td:first-child {
  text-align: left;
  max-width: 7rem;
  white-space: normal;
}

body.kalkulacija-detail-page .kalk-stampa-cena-otisci-pop-table tfoot td {
  font-weight: 700;
  border-bottom: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 8px 10px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: left;
  color: #f0f6ff;
  background: linear-gradient(180deg, var(--pv-navy-1, #1e3a5f) 0%, var(--pv-navy-2, #152a45) 100%);
  border-bottom: 1px solid rgba(0, 20, 40, 0.35);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table tbody tr {
  height: 2.75rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table th,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table td {
  padding: 0 10px;
  height: 2.75rem;
  max-height: 2.75rem;
  border-bottom: 1px solid var(--app-border-subtle, #e2e8f0);
  vertical-align: middle;
  box-sizing: border-box;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table tbody tr:nth-child(even):not(.kalk-stampa-cena-row--on) {
  background: var(--app-table-row-stripe, #f8fafc);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table tbody tr:hover {
  background: var(--app-table-row-hover, #f1f5f9);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table tbody tr.kalk-stampa-cena-row--on,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table tbody tr:has(.kalk-stampa-cena-chk input:checked) {
  background: var(--app-soft-green-bg, #f0fdf4);
  box-shadow: inset 3px 0 0 var(--app-soft-green-text, #22c55e);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table tbody tr.kalk-stampa-cena-row--info {
  background: var(--app-table-head-bg, #fafafa);
  box-shadow: inset 3px 0 0 var(--pv-border, #cbd5e1);
  opacity: 0.92;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table .kalk-stampa-cena-th-chk {
  text-align: center;
  width: 2.75rem;
  font-size: 0.625rem;
  letter-spacing: 0.04em;
  padding-left: 4px;
  padding-right: 4px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table tbody tr:last-child td {
  border-bottom: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table td:nth-child(2) {
  font-weight: 500;
  color: var(--pv-text, #0f172a);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-col-chk {
  width: 2.25rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-col-stavka {
  width: 38%;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-col-broj {
  width: 20%;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-col-rate {
  width: 22%;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-col-izn {
  width: 17%;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table th:nth-child(1),
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table td.kalk-stampa-cena-chk {
  padding-left: 8px;
  padding-right: 4px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table th.kalk-stampa-cena-th-stavka,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table td:nth-child(2) {
  padding-left: 10px;
  padding-right: 8px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table th.kalk-stampa-cena-th-num,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table th.kalk-stampa-cena-th-rate,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table td.kalk-stampa-cena-broj,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table td.kalk-stampa-cena-rate-cell {
  text-align: left;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table th.kalk-stampa-cena-th-izn,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table td.kalk-stampa-cena-izn {
  text-align: right;
  padding-right: 12px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-chk {
  text-align: center;
  vertical-align: middle;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-chk input[type='checkbox'] {
  margin: 0;
  width: 1rem;
  height: 1rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-rate-cell .kalk-stampa-cena-rate,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-broj .kalk-stampa-cena-broj-inp {
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: var(--app-ui-btn-min-h, 2.25rem);
  height: var(--app-ui-btn-min-h, 2.25rem);
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  box-sizing: border-box;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table td.kalk-stampa-cena-chk {
  padding-left: 8px;
  padding-right: 4px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-rate-cell {
  padding-right: 8px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-broj {
  padding-right: 8px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-broj,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-izn {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkStCenaBrojSig.kalk-stampa-cena-broj {
  white-space: nowrap;
  font-size: 0.8125rem;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-izn {
  min-width: 0;
  font-weight: 700;
  color: #0f172a;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-footer {
  margin-top: 10px;
  padding: 8px 4px 2px;
  border-top: 1px solid #e2e8f0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-actions {
  margin: 0;
  justify-content: flex-end;
  width: 100%;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-st-mount .actions {
  justify-content: flex-start;
}

/* Stavka kalkulacije — modal: faze u odvojenim blokovima + stabilan flex lanac */
body.kalkulacija-detail-page #kalkStavkaDrawer .gm-side-panel-head {
  flex-shrink: 0;
  margin-bottom: 6px;
  padding-bottom: 6px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .gm-side-panel-body.kalk-stavka-panel-form.gra-form-stack {
  gap: var(--kalk-drawer-gap-outer);
  width: 100%;
  min-width: 0;
  align-items: stretch;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .gra-field-stack {
  gap: var(--kalk-drawer-gap-field);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-hint,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-iznos-line {
  margin-top: 3px;
  margin-bottom: 0;
  font-size: 0.8125rem;
  line-height: 1.4;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .gra-form-band {
  padding: 6px 10px 7px;
  gap: 4px;
  background: linear-gradient(180deg, var(--pv-navy-1) 0%, var(--pv-navy-2) 100%);
  border: 1px solid rgba(0, 20, 40, 0.4);
  box-shadow: 0 2px 6px rgba(15, 36, 61, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .gra-form-band-title {
  color: #ffffff;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
}

/* Unutar bloka: kompaktan ritam između redova */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-phase-block.kalk-drawer-phase-inner.gra-form-stack,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-drawer-phase-block.kalk-drawer-phase-inner.gra-form-stack {
  gap: 0;
  width: 100%;
  min-width: 0;
  padding: 10px var(--kalk-drawer-form-pad-x, 16px) 12px;
  box-sizing: border-box;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 10px;
  background: var(--card, #fff);
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecDoradeKrov.kalk-dor-krov-flow,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer #kalkSecDoradeKrov.kalk-dor-krov-flow {
  padding-inline: 2px;
  box-sizing: border-box;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerShellStavka > .kalk-drawer-phase-inner,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer #kalkDrawerShellStavka > .kalk-drawer-phase-inner {
  padding-inline: max(var(--kalk-drawer-form-pad-x, 16px), 14px);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-phase-inner > .gra-form-band:first-of-type {
  margin-top: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-pr-mount,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-st-mount {
  display: flex;
  flex-direction: column;
  gap: var(--kalk-drawer-gap-outer);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 0;
  flex: 1 1 auto;
  align-self: stretch;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-st-mount > .gra-form-stack {
  gap: var(--kalk-drawer-gap-outer);
  width: 100%;
  min-width: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-st-mount .gra-field-stack.gra-span-full,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-st-mount .gra-fields-row .gra-field-stack {
  min-width: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecDoradePods {
  gap: var(--kalk-drawer-gap-outer);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-dor-list {
  display: flex;
  flex-direction: column;
  gap: var(--kalk-drawer-gap-outer);
  width: 100%;
  min-width: 0;
}

/* Dorada — kartice kao ofset/sekcije štampe (uključujući tamni režim) */
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-dor-stampa-ref-card,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-dor-row {
  display: flex;
  flex-direction: column;
  gap: var(--kalk-drawer-gap-section);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: var(--kalk-drawer-section-pad-y) var(--kalk-drawer-section-pad-x)
    calc(var(--kalk-drawer-section-pad-y) + 2px);
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 10px;
  background: var(--card, #fff);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-dor-stampa-ref-card__title {
  margin: 0 0 6px;
  font-size: 0.8125rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pv-muted, var(--app-muted, #64748b));
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-dor-stampa-ref-card__body {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.45;
}

body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-dor-vrsta-readonly,
body.nalog-detail-page .dorada-vrsta-readonly-label {
  margin: 4px 0 0;
  font-weight: 600;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-dor-stampa-ref-card__sel {
  margin-top: 8px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-dor-row .gra-fields-row--1 {
  grid-template-columns: minmax(0, 1fr);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-dor-row .gra-fields-row--1 > .gra-field-stack {
  grid-column: 1 / -1;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-dor-tabak-actions {
  margin-top: 6px;
  flex-wrap: wrap;
  gap: 6px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-dor-cena-zone {
  display: flex;
  flex-direction: column;
  gap: var(--kalk-drawer-gap-section);
  width: 100%;
  min-width: 0;
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-dor-cena-zone__title {
  margin: 0 0 4px;
  font-size: 0.8125rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pv-muted, var(--app-muted, #64748b));
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-dor-row-actions {
  margin-top: 4px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-dor-actions {
  margin-top: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerDorCenHint {
  margin-top: 6px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerDorStampaRef > .muted.kalk-drawer-hint {
  margin: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-stavka-overview.gra-form-stack {
  gap: var(--kalk-drawer-gap-outer);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-nav {
  margin-bottom: 2px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-title {
  margin: 0 0 6px;
  font-size: 1rem;
  font-weight: 600;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faze-lista {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-preg-li {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 5px 8px;
  padding: 8px 10px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 10px;
  background: var(--card, #fff);
  align-items: start;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-preg-li .kalk-faza-preg-main {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-preg-li .kalk-faza-preg-title {
  display: block;
  margin-bottom: 4px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-preg-li .kalk-faza-preg-detail {
  font-size: 0.9rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-preg-li .kalk-faza-preg-sum {
  grid-column: 2;
  grid-row: 1;
  font-weight: 600;
  white-space: nowrap;
  text-align: right;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-preg-li .kalk-faza-preg-actions {
  grid-column: 1 / -1;
  grid-row: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-preg-empty {
  padding: 10px 0;
  list-style: none;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-dodaj-fazu-row {
  margin-top: 4px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-dodaj-fazu-btn-wrap {
  display: flex;
  align-items: flex-end;
  padding-bottom: 2px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-pick {
  padding: 0 0 6px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-pick-hint {
  margin-top: 2px;
  margin-bottom: 4px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-pick-label {
  margin: 0 0 8px;
  font-size: 0.88rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-tip-btns {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  width: 100%;
  overflow-x: auto;
  padding-bottom: 2px;
  -webkit-overflow-scrolling: touch;
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  margin-bottom: 8px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-tip-btns .kalk-faza-pick-btn.faze-phase-tab {
  flex: 1 1 0;
  min-width: 0;
  padding: 0.45rem 0.5rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  border-radius: 8px 8px 0 0;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-bottom-color: transparent;
  background: var(--card, #fff);
  color: var(--pv-text-muted, #64748b);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-tip-btns .kalk-faza-pick-btn.faze-phase-tab:hover {
  color: var(--pv-text, #0f172a);
  background: color-mix(in srgb, var(--card, #fff) 88%, var(--app-btn-solid-bg, #2563eb) 12%);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-tip-btns .kalk-faza-pick-btn--active,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-tip-btns .kalk-faza-pick-btn.faze-phase-tab[aria-pressed='true'] {
  background: var(--app-btn-solid-bg, #2563eb);
  border-color: var(--app-btn-solid-border, #1d4ed8);
  color: var(--app-btn-on-solid, #fff);
  box-shadow: none;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-tip-btns .kalk-faza-pick-btn.hidden {
  display: none;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-mode-toolbar.hidden {
  display: none;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-mat-plan-row textarea.gra-input-like {
  min-height: 4rem;
  resize: vertical;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-slot.gra-form-stack {
  gap: var(--kalk-drawer-gap-outer);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .gra-input-like,
body.kalkulacija-detail-page #kalkStavkaDrawer .gra-field-stack select,
body.kalkulacija-detail-page #kalkStavkaDrawer .gra-field-stack input,
body.kalkulacija-detail-page #kalkStavkaDrawer .gra-field-stack textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .actions {
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stavka-panel-scroll,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stavka-panel-scroll {
  flex: 1 1 0%;
  min-height: 0;
  width: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding-inline: 2px;
  box-sizing: border-box;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stavka-side-foot {
  flex-shrink: 0;
  margin-top: 0;
  padding-top: 8px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .gm-side-panel-foot {
  gap: 6px;
  padding-top: 8px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .gm-side-panel-foot.actions {
  width: 100%;
  align-items: center;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-foot-spacer {
  flex: 1 1 auto;
  min-width: 8px;
}

/* kalkulacije.html — bočni paneli (rezime + nova kalkulacija) */
body.kalkulacije-list-page #kalkDetailPanel.gm-side-panel,
body.kalkulacije-list-page #novaKalkPanel.gm-side-panel {
  width: min(100vw, 40rem);
  max-width: 100%;
}

body.kalkulacije-list-page #novaKalkPanel.gm-side-panel {
  z-index: 12030;
}

body.kalkulacije-list-page #kalkDetailPanel .gm-side-panel-inner {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

body.kalkulacije-list-page #kalkDetailPanel #kalkDetailBody {
  flex: 1;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

body.kalkulacije-list-page #kalkDetailPanel .nalozi-detail-dl {
  gap: 10px 14px;
}

body.kalkulacije-list-page #kalkDetailPanel .kalk-detail-foot {
  flex-shrink: 0;
  margin-top: 0;
  padding-top: 14px;
  border-top: 1px solid var(--pv-border-soft, #eef2f7);
  flex-wrap: wrap;
  gap: 8px;
}

body.kalkulacije-list-page #kalkDetailPanel .kalk-detail-foot .btn.danger {
  margin-left: auto;
}

body.kalkulacije-list-page #kalkDetailPanel .kalk-detail-delete-hint {
  flex-shrink: 0;
  margin: 0 0 12px;
  padding: 0 16px 4px;
  font-size: 12px;
  line-height: 1.4;
}

body.kalkulacije-list-page .kalk-cell-akcije,
body.kalkulacije-list-page .kalk-th-akcije {
  width: 5.5rem;
  text-align: center;
  white-space: nowrap;
  position: relative;
  z-index: 2;
}

body.kalkulacije-list-page .kalk-row-delete-btn {
  min-height: var(--app-ui-btn-min-h, 36px);
  position: relative;
  z-index: 3;
  pointer-events: auto;
}

body.kalkulacije-list-page #kalkTbl tbody tr.nalozi-row-click .kalk-cell-akcije {
  cursor: default;
}

body.kalkulacije-list-page .kalk-mobile-card-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

body.kalkulacije-list-page .kalk-mobile-card-foot .kalk-row-delete-btn {
  margin-left: auto;
}

body.kalkulacije-list-page #novaKalkPanel .gm-side-panel-inner {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

body.kalkulacije-list-page #novaKalkPanel .gm-side-panel-head {
  flex-shrink: 0;
}

body.kalkulacije-list-page #novaKalkPanel .kalk-nova-panel-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

body.kalkulacije-list-page #novaKalkPanel .kalk-nova-panel-body.gra-form-stack {
  gap: 14px;
}

body.kalkulacije-list-page #novaKalkPanel .kalk-nova-panel-body.gra-form-stack > .gra-fields-row + .gra-fields-row,
body.kalkulacije-list-page #novaKalkPanel .kalk-nova-panel-body.gra-form-stack > .gra-fields-row + .podesavanja-form-actions,
body.kalkulacije-list-page #novaKalkPanel .kalk-nova-panel-body.gra-form-stack > .gra-form-band + .gra-fields-row {
  margin-top: 0;
}

body.kalkulacije-list-page #novaKalkPanel .kalk-nova-panel-body .gra-input-like,
body.kalkulacije-list-page #novaKalkPanel .kalk-nova-panel-body .gra-field-stack select,
body.kalkulacije-list-page #novaKalkPanel .kalk-nova-panel-body .gra-field-stack input,
body.kalkulacije-list-page #novaKalkPanel .kalk-nova-panel-body .gra-field-stack textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body.kalkulacije-list-page #novaKalkPanel .kalk-nova-intro {
  margin: 0;
  line-height: 1.45;
}

body.kalkulacije-list-page #novaKalkPanel .podesavanja-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 0;
  padding-top: 14px;
  border-top: 1px solid rgba(15, 23, 42, 0.1);
}

/* Interni nalog za kalkulaciju — pojednostavljen modal stavke i tabela */
body.nalog--za-kalkulaciju .stavka-form-rn-only {
  display: none !important;
}

body.nalog--za-kalkulaciju .stavka-form--za-kalk .gra-fields-row--4:first-of-type {
  display: block;
}

body.nalog--za-kalkulaciju .stavke-shell--za-kalk #stavkeTbl thead .stavka-col-tiraz,
body.nalog--za-kalkulaciju .stavke-shell--za-kalk #stavkeTbl thead .stavka-col-jm,
body.nalog--za-kalkulaciju .stavke-shell--za-kalk #stavkeTbl tbody .stavka-col-tiraz,
body.nalog--za-kalkulaciju .stavke-shell--za-kalk #stavkeTbl tbody .stavka-col-jm {
  display: none;
}

#fazeModalBackdrop.faze-modal--za-kalk .faze-modal-kicker {
  color: rgba(80, 55, 120, 0.95);
}

/* Kalkulacija: bez poruka uz nalog, bez statusa stavke/faze u UI */
body.nalog--za-kalkulaciju #nalogPorukeShell,
body.nalog--za-kalkulaciju #operatorRezimePanel,
body.nalog--za-kalkulaciju #operatorFazeRezimeStrip,
body.nalog--za-kalkulaciju #fazeMsg,
body.nalog--za-kalkulaciju .phase-card-bar .phase-card-status-inline,
body.nalog--za-kalkulaciju .faza-status-action-btn,
body.nalog--za-kalkulaciju .faza-status-pauza-btn,
body.nalog--za-kalkulaciju .phase-row-shell select[data-faza-status],
body.nalog--za-kalkulaciju .phase-row-shell .phase-card-status-value {
  display: none !important;
}

body[data-gramix-kalk-lite="1"] .sidebar-nav a.nav-link[href*="poruke.html"],
body.nalog--za-kalkulaciju .sidebar-nav a.nav-link[href*="poruke.html"] {
  display: none !important;
}

/* === Fascikle struktura (kraj fajla): obojene trake kartica u workspace-u; modali/paneli neutralni === */
html[data-ui-theme='fasc'] .gm-workspace .phase-row-shell > .phase-card-bar:not([class*='row-status']),
html[data-ui-theme='fasc'] .novi-nalog-float-card > .phase-card-bar,
html[data-ui-theme='fasc'] .podesavanja-float-card > .phase-card-bar {
  background: linear-gradient(180deg, var(--pv-navy-1) 0%, var(--pv-navy-2) 100%);
  background-image: linear-gradient(180deg, var(--pv-navy-1) 0%, var(--pv-navy-2) 100%);
  border-bottom: 1px solid color-mix(in srgb, var(--pv-navy-2) 65%, #000 35%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
  padding: 10px 14px;
}

html[data-ui-theme='fasc'] .gm-workspace .phase-row-shell > .phase-card-bar:not([class*='row-status']) .phase-card-tip,
html[data-ui-theme='fasc'] .novi-nalog-float-card > .phase-card-bar .phase-card-tip,
html[data-ui-theme='fasc'] .podesavanja-float-card > .phase-card-bar .phase-card-tip {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #f0f6ff !important;
}

html[data-ui-theme='fasc'] .gm-workspace .phase-row-shell > .phase-card-bar:not([class*='row-status']) .phase-card-preview,
html[data-ui-theme='fasc'] .novi-nalog-cards-stack .phase-card-preview,
html[data-ui-theme='fasc'] .podesavanja-float-card > .phase-card-bar .phase-card-preview {
  color: rgba(240, 246, 255, 0.88) !important;
  font-size: 12px;
  font-weight: 500;
}

html[data-ui-theme='fasc'] .gm-workspace .phase-row-shell > .phase-card-bar:not([class*='row-status']) .btn.light,
html[data-ui-theme='fasc'] .gm-workspace .phase-row-shell > .phase-card-bar:not([class*='row-status']) .phase-card-toggle.btn,
html[data-ui-theme='fasc'] .novi-nalog-float-card > .phase-card-bar .btn.light,
html[data-ui-theme='fasc'] .podesavanja-float-card > .phase-card-bar .btn.light {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.28);
  color: #f0f6ff;
}

html[data-ui-theme='fasc'] .gm-workspace .phase-row-shell > .phase-card-bar:not([class*='row-status']) .btn.info,
html[data-ui-theme='fasc'] .novi-nalog-float-card > .phase-card-bar .btn.info,
html[data-ui-theme='fasc'] .podesavanja-float-card > .phase-card-bar .btn.info {
  background: var(--app-btn-on-dark-bg);
  border-color: var(--app-btn-on-dark-border);
  color: var(--app-btn-on-solid);
}

html[data-ui-theme='fasc'] .modal .podesavanja-float-card > .phase-card-bar,
html[data-ui-theme='fasc'] .modal.podesavanja-sifarnik-modal .podesavanja-float-card > .phase-card-bar,
html[data-ui-theme='fasc'] body.podesavanja-page #sifarnikFormPanel .gm-side-panel-head,
html[data-ui-theme='fasc'] body.kalkulacije-list-page #novaKalkPanel .gm-side-panel-head,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .gm-side-panel-head {
  background: var(--card);
  background-image: none;
  border-bottom: 1px solid var(--pv-border);
  box-shadow: none;
}

html[data-ui-theme='fasc'] .modal .podesavanja-float-card > .phase-card-bar .phase-card-tip,
html[data-ui-theme='fasc'] .modal.podesavanja-sifarnik-modal .podesavanja-float-card > .phase-card-bar .phase-card-tip,
html[data-ui-theme='fasc'] body.podesavanja-page #sifarnikFormPanel .gm-side-panel-kicker,
html[data-ui-theme='fasc'] body.kalkulacije-list-page #novaKalkPanel .gm-side-panel-kicker,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .gm-side-panel-kicker {
  color: var(--pv-muted) !important;
}

html[data-ui-theme='fasc'] .modal .podesavanja-float-card > .phase-card-bar .phase-card-preview,
html[data-ui-theme='fasc'] .modal.podesavanja-sifarnik-modal .podesavanja-float-card > .phase-card-bar .phase-card-preview,
html[data-ui-theme='fasc'] body.podesavanja-page #sifarnikFormPanel .gm-side-panel-title,
html[data-ui-theme='fasc'] body.kalkulacije-list-page #novaKalkPanel .gm-side-panel-title,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .gm-side-panel-title {
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] .modal .podesavanja-float-card > .phase-card-bar .btn.light,
html[data-ui-theme='fasc'] .modal.podesavanja-sifarnik-modal .podesavanja-float-card > .phase-card-bar .btn.light,
html[data-ui-theme='fasc'] body.podesavanja-page #sifarnikFormPanel .gm-side-panel-head .btn.light,
html[data-ui-theme='fasc'] body.kalkulacije-list-page #novaKalkPanel .gm-side-panel-head .btn.light,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .gm-side-panel-head .btn.light {
  background: var(--app-btn-surface-bg);
  border-color: var(--app-btn-surface-border);
  color: var(--app-btn-surface-text);
}

html[data-ui-theme='fasc'] .faze-modal-shell .podesavanja-float-card > .phase-card-bar,
html[data-ui-theme='fasc'] .faze-modal-shell #novaFazaCardWrap .phase-card-bar {
  background: var(--card);
  background-image: none;
  border-bottom: 1px solid var(--pv-border);
  box-shadow: none;
}

html[data-ui-theme='fasc'] .faze-modal-shell .podesavanja-float-card > .phase-card-bar .phase-card-tip,
html[data-ui-theme='fasc'] .faze-modal-shell #novaFazaCardWrap .phase-card-bar .phase-card-tip {
  color: var(--pv-muted) !important;
}

html[data-ui-theme='fasc'] .faze-modal-shell .podesavanja-float-card > .phase-card-bar .phase-card-preview,
html[data-ui-theme='fasc'] .faze-modal-shell #novaFazaCardWrap .phase-card-bar .phase-card-preview {
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] .podesavanja-lista-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-bottom: 1rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--pv-border);
  border-radius: 12px;
  background: var(--card);
}

html[data-ui-theme='fasc'] body.nalozi-list-page .nalozi-list-card.phase-card {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}


/* Fasc: sva polja u celom workspace-u (login isključen). !important nad globalnim i .phase-row pravilima. */
html[data-ui-theme='fasc'] body:not(.login-page) input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='hidden']):not([type='button']):not([type='submit']):not([type='reset']):not([type='image']):not([type='color']):not([readonly]):not(:disabled),
html[data-ui-theme='fasc'] body:not(.login-page) textarea:not(:disabled) {
  background: var(--app-btn-surface-bg) !important;
  color: var(--pv-text) !important;
  border-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body:not(.login-page) select:not([multiple]):not(:disabled) {
  color: var(--pv-text) !important;
  border-color: var(--pv-border) !important;
  background-color: var(--app-btn-surface-bg) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 16px 16px !important;
}

html[data-ui-theme='fasc'] body:not(.login-page) select[multiple]:not(:disabled) {
  background: var(--app-btn-surface-bg) !important;
  color: var(--pv-text) !important;
  border-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body:not(.login-page) input[type='search'] {
  -webkit-appearance: none !important;
  appearance: none !important;
}

html[data-ui-theme='fasc'] .gm-side-panel-body {
  color: var(--pv-text);
}


/* Podešavanja — bočni paneli (fasc): mora posle globalnih input/select pravila. Normativ/cenovnik: polja NISU u .gra-field-stack; .faze-stampa-label je #4b5563 (na tamnoj pozadini skoro nevidljivo). */
html[data-ui-theme='fasc'] body.podesavanja-page .gm-side-panel label.faze-stampa-label,
html[data-ui-theme='fasc'] body.podesavanja-page .gm-side-panel .faze-stampa-label {
  color: var(--app-table-head-color) !important;
}

html[data-ui-theme='fasc'] body.podesavanja-page .gm-side-panel .app-form label:not(.podesavanja-checkbox-label),
html[data-ui-theme='fasc'] body.podesavanja-page .gm-side-panel .gra-field-stack > label {
  color: var(--app-table-head-color) !important;
}

html[data-ui-theme='fasc'] body.podesavanja-page .gm-side-panel .gra-form-band-title {
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.podesavanja-page .gm-side-panel .muted {
  color: var(--pv-muted) !important;
}


@media (prefers-color-scheme: light) {
  html[data-ui-theme='fasc'] body.podesavanja-page .gm-side-panel input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='hidden']):not([type='button']):not([type='submit']):not([type='reset']):not([type='image']):not([type='color']):not(:disabled),
  html[data-ui-theme='fasc'] body.podesavanja-page .gm-side-panel select:not([multiple]):not(:disabled),
  html[data-ui-theme='fasc'] body.podesavanja-page .gm-side-panel textarea:not(:disabled) {
    -webkit-appearance: none !important;
    appearance: none !important;
    background-color: #ffffff !important;
    color: #09090b !important;
    border: 1px solid #d4d4d8 !important;
    box-shadow: none !important;
  }

  html[data-ui-theme='fasc'] body.podesavanja-page .gm-side-panel select:not([multiple]):not(:disabled) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2352525b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 16px 16px !important;
    padding-right: 2.5rem !important;
  }

  html[data-ui-theme='fasc'] body.podesavanja-page .gm-side-panel input::placeholder,
  html[data-ui-theme='fasc'] body.podesavanja-page .gm-side-panel textarea::placeholder {
    color: #71717a !important;
    opacity: 1 !important;
  }
}

/* RunPrintShop — nacrt krojenja (ploča / iverica), modal iz gramix-nacrt-krojenja.js */
.gramix-nacrt-overlay {
  position: fixed;
  inset: 0;
  z-index: 13000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(2px);
}

.gramix-nacrt-overlay.gramix-nacrt-hidden {
  display: none !important;
}

.gramix-nacrt-dialog {
  width: min(960px, 100%);
  max-height: min(92vh, 900px);
  overflow: auto;
  box-sizing: border-box;
  padding: 18px 20px 20px;
  border-radius: 14px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  background: var(--card, #fff);
  color: var(--pv-text);
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.2);
}

.gramix-nacrt-dialog.gramix-nacrt-dialog-wrap--compact {
  width: min(680px, 96vw);
  max-height: min(82vh, 640px);
  padding: 10px 12px 12px;
}

.gramix-nacrt-dialog.gramix-nacrt-dialog-wrap--compact .gramix-nacrt-h2 {
  font-size: 1.05rem;
}

.gramix-nacrt-dialog.gramix-nacrt-dialog-wrap--compact .gramix-nacrt-head {
  margin-bottom: 6px;
}

.gramix-nacrt-dialog.gramix-nacrt-dialog-wrap--compact .gramix-nacrt-svghost {
  margin-top: 8px;
  padding: 8px;
  max-height: min(52vh, 420px);
}

.gramix-nacrt-dialog.gramix-nacrt-dialog-wrap--compact .gramix-nacrt-actions {
  margin-top: 4px;
}

.gramix-nacrt-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.gramix-nacrt-h2 {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.25;
  font-weight: 700;
}

.gramix-nacrt-close-x {
  flex-shrink: 0;
  min-width: 2.5rem;
}

.gramix-nacrt-lead {
  margin: 0 0 14px;
  font-size: 0.9rem;
  line-height: 1.45;
}

.gramix-nacrt-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  gap: 12px 14px;
  margin-bottom: 14px;
}

.gramix-nacrt-table-wrap {
  overflow-x: auto;
  margin-bottom: 12px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 10px;
}

.gramix-nacrt-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.gramix-nacrt-table th,
.gramix-nacrt-table td {
  padding: 8px 10px;
  text-align: left;
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  vertical-align: middle;
}

.gramix-nacrt-table th {
  font-weight: 700;
  font-size: var(--app-table-th-fs, 12px);
  color: var(--app-table-head-color, #475569);
  background: var(--app-table-head-bg, #f8fafc);
}

.gramix-nacrt-table tbody tr:last-child td {
  border-bottom: none;
}

.gramix-nacrt-actions {
  flex-wrap: wrap;
  gap: 8px;
}

.gramix-nacrt-svghost {
  margin-top: 14px;
  padding: 12px;
  border-radius: 10px;
  border: 1px dashed var(--pv-border, #cbd5e1);
  background: var(--pv-bg-page, #fafafa);
  overflow: auto;
  max-height: 48vh;
}

.gramix-nacrt-svghost svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* === RunPrintShop workspace kartice (Podešavanja v2 i ostalo) === */


html[data-ui-theme='fasc'] .workspace .card {
  border-color: var(--pv-border-soft);
  background: var(--card);
  color: var(--pv-text);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}


/* Podešavanja v2 — sekcije u glavnom sidebaru (samo ova stranica) */
html[data-ui-theme='fasc'] body.podesavanja-v2-page .workspace > .gm-app-content.rps-pv2-workspace {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-height: 0;
  width: 100%;
  max-width: none;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .sidebar-pv2-sections {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin: 0.15rem 0 0.35rem;
  padding: 0.35rem 0 0.35rem 0.65rem;
  border-left: 2px solid var(--pv-border-soft);
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .sidebar-pv2-sections .rps-pv2-section-link {
  width: 100%;
  justify-content: flex-start;
  text-align: left;
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 0.45rem 0.55rem;
  min-height: 2rem;
  box-sizing: border-box;
  cursor: pointer;
  font-family: inherit;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .sidebar-pv2-sections .rps-pv2-section-link.active {
  font-weight: 600;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .sidebar-pv2-sections .rps-pv2-section-link--done:not(.active) {
  border-color: color-mix(in srgb, var(--app-soft-green-border, #22c55e) 45%, transparent);
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .sidebar-pv2-sections .rps-pv2-section-link--todo:not(.active) {
  border-color: color-mix(in srgb, var(--pv-primary) 22%, transparent);
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-overview {
  margin: 0;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-overview__title {
  margin: 0 0 0.35rem;
  font-size: 1.125rem;
  font-weight: 650;
  letter-spacing: -0.02em;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-overview__lead {
  margin: 0 0 0.85rem;
  max-width: 52rem;
  font-size: 0.875rem;
  line-height: 1.45;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-progress {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.5rem;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-overview__actions {
  margin-top: 0.85rem;
  flex-wrap: wrap;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-progress__item {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--pv-border-soft);
  border-radius: 10px;
  background: var(--app-btn-surface-bg);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-progress__item:hover {
  border-color: var(--pv-border);
  background: var(--app-table-row-hover);
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-progress__item:focus-visible {
  outline: 2px solid var(--pv-field-focus);
  outline-offset: 2px;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-progress__item--done {
  border-color: color-mix(in srgb, var(--app-soft-green-border, #22c55e) 65%, var(--pv-border));
  background: var(--app-soft-green-bg, rgba(34, 197, 94, 0.08));
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-progress__item--todo {
  border-color: color-mix(in srgb, var(--pv-primary) 35%, var(--pv-border));
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-progress__item--optional {
  opacity: 0.88;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-progress__num {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  background: var(--app-table-head-bg);
  color: var(--pv-text);
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-progress__item--done .rps-pv2-progress__num {
  background: var(--app-soft-green-text, #166534);
  color: #fff;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-progress__main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-progress__label {
  font-weight: 600;
  font-size: 0.875rem;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-progress__detail {
  font-size: 0.75rem;
  line-height: 1.35;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-progress__badge {
  flex-shrink: 0;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--pv-muted);
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-progress__item--done .rps-pv2-progress__badge {
  color: var(--app-soft-green-text, #166534);
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-transient {
  margin: 0;
  padding: 0.35rem 0.65rem;
  font-size: 0.8125rem;
  border-radius: 8px;
  opacity: 0;
  max-width: min(18rem, 42vw);
  transition: opacity 0.2s ease;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-transient--visible {
  opacity: 1;
  background: var(--app-soft-green-bg);
  border: 1px solid var(--app-soft-green-border);
  color: var(--app-soft-green-text, #166534);
}

@media (max-width: 900px) {
  html[data-ui-theme='fasc'] body.podesavanja-v2-page .sidebar-pv2-sections {
    border-left: none;
    padding-left: 0;
  }
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-list {
  max-height: 280px;
  overflow: auto;
  border: 1px solid var(--pv-border);
  border-radius: 12px;
  padding: 0.5rem;
  margin: 0.75rem 0;
  background: var(--app-btn-surface-bg);
  color: var(--pv-text);
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-list label {
  display: flex;
  gap: 0.5rem;
  padding: 0.35rem 0;
  align-items: flex-start;
  cursor: pointer;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page #pv2Park {
  list-style: none;
  padding: 0;
  margin: 0.75rem 0;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-os-toolbar {
  margin: 0 0 0.75rem;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-os-add-panel-wrap {
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid var(--pv-border, var(--app-border));
  border-radius: 12px;
  background: var(--app-btn-surface-bg);
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-os-add__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--app-ui-btn-gap, 8px);
  align-items: center;
  margin-top: 0.5rem;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-os-add__actions .btn {
  width: auto;
  flex: 0 0 auto;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-os-add.gra-field-stack > .btn {
  width: auto;
  align-self: flex-start;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-os-toolbar .btn {
  width: auto;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-os-vrsta-tabs {
  margin: 0.75rem 0 1rem;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-os-table-wrap {
  margin: 0 0 1.25rem;
  overflow-x: auto;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-os-add-title {
  margin: 1.25rem 0 0.75rem;
  font-size: 1rem;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-os-add .rps-os-kat-pick {
  display: block;
  width: 100%;
  margin: 0.35rem 0;
  text-align: left;
}

html[data-ui-theme='fasc'] .rps-os-add-catalog-new {
  margin-top: 0.65rem;
  padding: 0.85rem;
  border: 1px dashed var(--pv-border-soft, var(--app-border));
  border-radius: 10px;
  background: color-mix(in srgb, var(--pv-primary, #2563eb) 4%, transparent);
}

html[data-ui-theme='fasc'] .rps-os-add-catalog-new__hint {
  margin: 0.35rem 0 0.65rem;
  font-size: 0.8125rem;
  line-height: 1.4;
}

html[data-ui-theme='fasc'] .rps-os-add-catalog-new__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--app-ui-btn-gap, 8px);
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-os-advanced {
  margin-top: 1rem;
  font-size: 0.875rem;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page #pv2Park li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid var(--pv-border-soft);
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-del-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
  gap: 0.5rem;
  margin: 0.5rem 0 1rem;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-del-card {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  margin: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--pv-border-soft);
  border-radius: 10px;
  background: var(--app-btn-surface-bg);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-del-card:has(input:checked) {
  border-color: color-mix(in srgb, var(--pv-primary) 50%, var(--pv-border));
  background: var(--app-soft-blue-bg);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pv-primary) 25%, transparent);
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-del-card__body {
  font-size: 0.875rem;
  line-height: 1.35;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-panel {
  margin: 0;
  overflow: hidden;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-panel-body {
  gap: 0.75rem;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-panel-actions {
  margin-top: 0.5rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--pv-border-soft);
  flex-wrap: wrap;
}


html[data-ui-theme='fasc'] body.podesavanja-v2-page #pv2DelChecks label {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  margin: 0.5rem 0;
  cursor: pointer;
}

html[data-ui-theme='fasc'] body.podesavanja-v2-page a:not(.btn) {
  color: var(--pv-primary);
}

html[data-ui-theme='fasc'] body.podesavanja-page .podesavanja-category-tablist.nalog-one-page-tablist,
html[data-ui-theme='fasc'] body.podesavanja-page .podesavanja-os-vrsta-tabs.nalog-one-page-tablist {
  margin: 0 0 12px;
}

html[data-ui-theme='fasc'] body.podesavanja-page .podesavanja-table-frame.table-wrap {
  margin: 0;
  overflow-x: auto;
}

html[data-ui-theme='fasc'] body.podesavanja-page .podesavanja-lista-toolbar {
  margin-bottom: 12px;
}

html[data-ui-theme='fasc'] body.podesavanja-page .podesavanja-group-tablist .faze-phase-tab.nalog-one-page-tab[aria-selected='true'] {
  background: var(--app-btn-solid-bg, #2563eb);
  border-color: var(--app-btn-solid-border, #1d4ed8);
  color: var(--app-btn-on-solid, #fff);
}

/* Tabaci po mašini (podesavanja v2, onboarding) */
.rps-tabaci-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) 1fr;
  gap: 1.25rem;
  align-items: start;
  margin-top: 0.75rem;
}
@media (max-width: 720px) {
  .rps-tabaci-layout {
    grid-template-columns: 1fr;
  }
}
.rps-tabaci-masine-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.rps-tabaci-masina-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  text-align: left;
  padding: 0.55rem 0.75rem;
  border-radius: var(--app-ui-btn-radius, 8px);
  border: 1px solid var(--app-border, #e2e8f0);
  background: var(--app-surface, #fff);
  cursor: pointer;
}
.rps-tabaci-masina-btn.is-active {
  border-color: var(--pv-primary, #2563eb);
  background: color-mix(in srgb, var(--pv-primary, #2563eb) 12%, transparent);
}
.rps-tabaci-masina-btn__name {
  font-weight: 600;
}
.rps-tabaci-masina-btn__model,
.rps-tabaci-masina-btn__vrsta,
.rps-tabaci-masina-btn__cnt {
  font-size: 0.8125rem;
}
.rps-tabaci-predlog {
  margin-bottom: 1rem;
  padding: 0.85rem 1rem;
  border: 1px dashed var(--pv-primary, #2563eb);
  background: color-mix(in srgb, var(--pv-primary, #2563eb) 6%, var(--app-surface, #fff));
}
.rps-tabaci-predlog__badge {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--pv-primary, #2563eb);
}
.rps-tabaci-predlog__text {
  margin: 0 0 0.65rem;
  font-size: 0.9rem;
}
.rps-tabaci-checklist label {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  padding: 0.35rem 0;
  cursor: pointer;
}
.rps-tabaci-actions {
  margin-top: 1rem;
}
.rps-onb .rps-tabaci-layout {
  margin-top: 0;
}

/* Kalkulacija — tabela signature po štampe (fasc tamna tema + širina drawer-a) */
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-block,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-table-section {
  color: var(--pv-text);
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-block .muted,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-block .kalk-drawer-hint,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-choice .muted,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-sve-isto .muted {
  color: var(--pv-muted) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-choice,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-sve-isto,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-migrate {
  background: var(--card) !important;
  border-color: var(--pv-border) !important;
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table th {
  color: var(--app-table-head-color) !important;
  background: var(--app-table-head-bg) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table td {
  border-bottom-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-tip-lbl {
  color: var(--pv-muted) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-ploce-dis {
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table input.gra-input-like,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table select.gra-input-like,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfSigSveIstoBoje,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfSigSveIstoOkretanje {
  background-color: var(--card) !important;
  color: var(--pv-text) !important;
  border-color: var(--pv-border) !important;
  -webkit-text-fill-color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-table input.gra-input-like::placeholder,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfSigSveIstoBoje::placeholder {
  color: var(--pv-muted) !important;
  opacity: 1;
  -webkit-text-fill-color: var(--pv-muted);
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-sve-isto .gra-field-stack > label {
  color: var(--pv-text) !important;
}


/* Kalkulacija — bočni drawer (fasc): ofset štampa + predlog cene, kompletan tamni sloj */
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .gm-side-panel-body,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stavka-panel-scroll {
  color: var(--pv-text);
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-hint,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .muted,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-iznos-line,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfObraTekst,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfObraTitle,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-cena-sig-hint,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkStCenaBojeHint,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkStCenaZbir,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-zbir {
  color: var(--pv-muted) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-hint-grid {
  background: var(--card) !important;
  border-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-card {
  background: var(--card) !important;
  border-color: var(--pv-border) !important;
  box-shadow: none;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-card__title {
  color: var(--pv-text) !important;
  border-bottom-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-wrap {
  background: var(--app-surface, #27272a) !important;
  border-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.03);
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.06);
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-zbir {
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-footer {
  border-top-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-hint-k {
  color: var(--pv-muted) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-panel {
  background: var(--card) !important;
  border-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-panel-lbl,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-panel-sub {
  color: var(--pv-muted) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-panel-val,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-cena-override-lbl {
  color: var(--pv-text) !important;
}


html[data-ui-theme='fasc'] body.kalkulacija-detail-page .kalk-stampa-cena-otisci-pop {
  background: var(--card) !important;
  border-color: var(--pv-border) !important;
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page .kalk-stampa-cena-otisci-pop-table th {
  color: var(--pv-muted) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-phase-inner.kalk-drawer-phase-block {
  background: var(--card) !important;
  border-color: var(--pv-border) !important;
  box-shadow: none;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .gra-field-stack > label,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-st-mount .gra-field-stack > label,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-pr-mount .gra-field-stack > label,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-root .gra-field-stack > label {
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer input.gra-input-like,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer select.gra-input-like,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer textarea.gra-input-like {
  background-color: var(--app-btn-surface-bg, var(--card)) !important;
  color: var(--pv-text) !important;
  border-color: var(--pv-border) !important;
  -webkit-text-fill-color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer input.gra-input-like::placeholder,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer textarea.gra-input-like::placeholder {
  color: var(--pv-muted) !important;
  -webkit-text-fill-color: var(--pv-muted);
  opacity: 1;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-readonly,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer input.kalk-ofset-readonly,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer input.gra-input-like[readonly],
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkStCenaProlaziDis,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfTabTirazDis,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfSignaturaDis,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfSetoviDis,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfStraneKomDis,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfKgDis,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStDigTabTirazDis {
  background-color: var(--app-table-head-bg, rgba(255, 255, 255, 0.06)) !important;
  color: var(--pv-text) !important;
  border-color: var(--pv-border) !important;
  -webkit-text-fill-color: var(--pv-text) !important;
  opacity: 1;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-predlog-box,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfWrapObračun {
  background: transparent;
  color: var(--pv-text);
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-geo-row,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-redovi-block {
  border-top-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-iznos-field label,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStIznos {
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStIznos {
  background-color: var(--card) !important;
  border-color: var(--pv-border) !important;
  -webkit-text-fill-color: var(--pv-text) !important;
}

/* Predlog cene — tabela linija */
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-root {
  color: var(--pv-text);
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table th {
  color: var(--app-table-head-color, var(--pv-muted)) !important;
  background: var(--app-table-head-bg) !important;
  border-bottom-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table td {
  border-bottom-color: var(--pv-border) !important;
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table td:nth-child(2) {
  color: var(--pv-text) !important;
  font-weight: 500;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table td.kalk-stampa-cena-broj,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table td.kalk-stampa-cena-izn,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table td.kalk-stampa-cena-rate-cell {
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkStCenaBrojSig.kalk-stampa-cena-broj {
  color: var(--pv-muted) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-chk input[type='checkbox'] {
  accent-color: var(--pv-field-focus, #60a5fa);
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-preg-li,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-preg-li .kalk-faza-preg-title {
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-preg-li .kalk-faza-preg-detail,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-faza-preg-empty {
  color: var(--pv-muted) !important;
}

/* Kalkulacija — modal stavke: naslov, pozadina, polja (dark / fasc) */
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel {
  background: var(--card) !important;
  border-color: var(--pv-border) !important;
  color: var(--pv-text);
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stavka-modal-title {
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stavka-modal-meta {
  color: var(--pv-muted) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stavka-modal-head,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .gm-side-panel-foot {
  border-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-block {
  border-top-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-status-hint:not([hidden]) {
  background: var(--app-table-head-bg, rgba(255, 255, 255, 0.06)) !important;
  border-color: var(--pv-border) !important;
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-summary-bar:not(:empty),
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-gate {
  background: var(--app-table-head-bg, rgba(255, 255, 255, 0.06)) !important;
  border-color: var(--pv-border) !important;
  color: var(--pv-muted) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkSecStampa > .kalk-stampa-mode-toolbar {
  background: var(--card) !important;
  border-color: var(--pv-border) !important;
  box-shadow: none;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-drawer-flow > .kalk-stampa-opis-top,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-drawer-flow > .kalk-drawer-redosled,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-section,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-table-card,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-params-band {
  background: var(--card) !important;
  border-color: var(--pv-border) !important;
  box-shadow: none;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-redosled > summary {
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .gra-field-stack > label {
  color: var(--pv-muted) !important;
}

/* Faza štampa — traka konteksta, predlog cene, foot (maj 2026) */
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-card {
  box-shadow: none;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDorCtxBar,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-intro:not(.kalk-stampa-cena-table-intro--pick-rows),
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-foot,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerFootFaza.kalk-faza-foot--stampa {
  background: var(--card) !important;
  border-color: var(--pv-border) !important;
  box-shadow: none;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-intro--pick-rows {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--app-soft-amber-bg, #f5ebe2) 72%, var(--card)) 0%,
    color-mix(in srgb, var(--app-soft-blue-bg, #dce8f4) 38%, var(--card)) 100%
  ) !important;
  border-color: color-mix(in srgb, var(--app-soft-amber-border, #d4c2ae) 65%, var(--pv-border)) !important;
  box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--app-soft-amber-border, #d4c2ae) 35%, transparent);
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-intro--pick-rows .kalk-stampa-cena-table-intro__title {
  color: var(--app-soft-amber-text, #5c4836) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-intro--pick-rows .kalk-stampa-cena-table-intro__lead {
  color: color-mix(in srgb, var(--app-soft-amber-text, #5c4836) 82%, var(--pv-text)) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar__item {
  background: var(--app-table-head-bg) !important;
  border-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar__item--accent {
  background: var(--app-soft-blue-bg) !important;
  border-color: var(--app-soft-blue-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-wrap {
  border-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-card__title,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-intro__title,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-foot--has-value .kalk-stampa-cena-table-foot__val,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar__item--has-value .kalk-stampa-ctx-bar__v,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-faza-foot__v {
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-zone__title,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-intro__lead,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-foot__label,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-table-foot__val,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar__k,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-ctx-bar__v,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-faza-foot__k {
  color: var(--pv-muted) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-faza-foot__sep {
  background: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stampa-cena-bulk-btn {
  color: var(--pv-primary) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .gra-field-stack label,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .kalk-ofset-predlog-box,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-choice {
  color: var(--pv-muted);
  background: var(--app-table-head-bg) !important;
  border-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .kalk-ofset-readonly,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .gra-input-like[readonly],
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-geo-derived-readonly,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stat-cell__val,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-qty-row input[readonly],
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfKomPoTab,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfStrNaTab,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStKomPoTab,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStDigStrNaTab,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStDigSignaturaDis,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStDigSetoviDis,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStDigKgDis,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStDigKupTabMatDis,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStDigStraneKomDis {
  background-color: var(--app-table-head-bg, rgba(255, 255, 255, 0.06)) !important;
  color: var(--pv-text) !important;
  border-color: var(--pv-border) !important;
  -webkit-text-fill-color: var(--pv-text) !important;
  opacity: 1;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStOfTabTirazDis,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkDrawerStDigTabTirazDis {
  background-color: color-mix(in srgb, var(--pv-field-focus, #6366f1) 14%, var(--card)) !important;
  border-color: var(--pv-border) !important;
  color: var(--pv-text) !important;
  -webkit-text-fill-color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer label[for='kalkDrawerStOfTabTirazDis'],
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer label[for='kalkDrawerStDigTabTirazDis'] {
  color: var(--pv-text) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-stat-grid .kalk-stat-cell label,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-knjiga-derived .gra-field-stack label,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow .gra-field-stack > label,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-key-metric-row label,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-block-title,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-sig-section-heading,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer #kalkStCenaZbir {
  color: var(--pv-muted) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-mat-kf-filter-hint:not([hidden]) {
  color: var(--pv-muted) !important;
}


/* —— Ofset drawer: Fascikle lista + panel (UI samo, maj 2026) —— */
body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-stavka-modal:has(.kalk-ofset-drawer-flow--fasc-ui) {
  width: min(62rem, calc(100vw - 20px));
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui {
  --kalk-ofset-fasc-gap: 12px;
  --kalk-ofset-fasc-input-fs: 0.9375rem;
  gap: var(--kalk-ofset-fasc-gap);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-drawer-section {
  padding: 12px 14px 14px;
  border-radius: var(--radius-lg, 12px);
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.06));
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-drawer-section-title {
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  padding: 8px 12px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .gra-field-stack {
  display: flex;
  flex-direction: column;
  gap: 5px;
  grid-template-rows: unset;
  min-height: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .gra-field-stack > label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--pv-muted, #334155);
  text-transform: none;
  letter-spacing: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .gra-input-like:not([readonly]) {
  min-height: var(--app-ui-btn-min-h, 2.5rem);
  font-size: var(--kalk-ofset-fasc-input-fs);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-field-stack--tiraz .kalk-tiraz-restore-btn {
  align-self: flex-start;
  margin-top: 2px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-stat-grid .kalk-stat-cell label {
  font-size: 0.75rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-stat-grid .kalk-stat-cell__val,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-stat-grid .kalk-ofset-readonly {
  min-height: 2.5rem;
  font-size: 1.125rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-key-metric-row input {
  font-size: 1.125rem;
  font-weight: 700;
  min-height: 2.65rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-gate {
  margin: 0 0 8px;
  padding: 10px 12px;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #475569;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-format-hint {
  margin: 0 0 10px;
  padding: 8px 10px;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: #475569;
  background: #f1f5f9;
  border-left: 3px solid #6366f1;
  border-radius: 0 8px 8px 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-boje-primer,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-th-hint {
  display: none !important;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-table-card {
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: var(--radius-lg, 10px);
  background: var(--card, #fff);
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.05));
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-redovi-table {
  font-size: 0.875rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-redovi-table th,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-redovi-table td {
  padding: 8px 10px;
  vertical-align: middle;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-redovi-table th {
  font-size: 0.8125rem;
  background: var(--app-table-head-bg, #f1f5f9);
  color: var(--app-table-head-color, #334155);
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-redovi-table input.gra-input-like,
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-redovi-table select.gra-input-like {
  min-height: 2.35rem;
  font-size: 0.9375rem;
  padding: 6px 8px;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-redovi-table th:nth-child(1),
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-redovi-table td:nth-child(1) {
  width: 14%;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-redovi-table th:nth-child(2),
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-redovi-table td:nth-child(2) {
  width: 36%;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-redovi-table th:nth-child(3),
body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-redovi-table td:nth-child(3) {
  width: 22%;
  min-width: 5.75rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-cell-boje .kalk-ofset-sig-boje-wrap {
  min-height: 0;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-redovi-foot {
  margin-top: 8px;
  font-size: 0.8125rem;
}

body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-section-heading {
  font-size: 0.75rem;
  margin-bottom: 8px;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-table-card {
  background: var(--card) !important;
  border-color: var(--pv-border) !important;
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-format-hint {
  background: var(--bg) !important;
  color: var(--pv-muted) !important;
  border-left-color: var(--pv-accent, #6366f1);
}

html[data-ui-theme='fasc'] body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-sig-gate {
  background: var(--bg) !important;
  border-color: var(--pv-border) !important;
  color: var(--pv-muted) !important;
}

/* —— Nalog: specifikacija štampe iz kalkulacije (read-only, bez cena) —— */
body.nalog-detail-page .nalog-kalk-stampa-view {
  --kalk-ofset-fasc-gap: 12px;
  --kalk-ofset-fasc-input-fs: 0.9375rem;
  gap: var(--kalk-ofset-fasc-gap);
}

body.nalog-detail-page .nalog-kalk-stampa-intro {
  margin: 0 0 4px;
  font-size: 0.875rem;
}

body.nalog-detail-page .nalog-kalk-stampa-masina-row {
  margin-bottom: 4px;
  padding: 12px 14px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: var(--radius-lg, 12px);
  background: var(--card, #fff);
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.05));
}

body.nalog-detail-page .nalog-kalk-stampa-view.kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-drawer-section {
  padding: 12px 14px 14px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: var(--radius-lg, 12px);
  background: var(--card, #fff);
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.06));
}

body.nalog-detail-page .nalog-kalk-stampa-view.kalk-ofset-drawer-flow--fasc-ui .kalk-ofset-drawer-section-title {
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  padding: 8px 12px;
  margin: -12px -14px 12px;
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  background: var(--app-table-head-bg, #f8fafc);
  color: var(--app-table-head-color, #334155);
  font-weight: 700;
  text-transform: uppercase;
}

body.nalog-detail-page .nalog-kalk-stampa-view.kalk-ofset-drawer-flow--linear > .kalk-ofset-drawer-section + .kalk-ofset-drawer-section,
body.nalog-detail-page .nalog-kalk-stampa-view.kalk-ofset-drawer-flow--linear > .nalog-kalk-stampa-masina-row + .kalk-ofset-drawer-section {
  margin-top: var(--kalk-ofset-fasc-gap);
}

body.nalog-detail-page .nalog-kalk-stampa-view .gra-field-stack {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-height: 0;
}

body.nalog-detail-page .nalog-kalk-stampa-view .gra-field-stack > label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--pv-muted, #334155);
}

body.nalog-detail-page .nalog-kalk-stampa-view .kalk-ofset-readonly {
  min-height: var(--app-ui-btn-min-h, 2.5rem);
  font-size: var(--kalk-ofset-fasc-input-fs);
  background: var(--bg, #f8fafc);
  border-color: var(--pv-border-soft, #e2e8f0);
  color: var(--text, #0f172a);
  cursor: default;
}

body.nalog-detail-page .nalog-kalk-stampa-view .kalk-ofset-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 10px;
}

body.nalog-detail-page .nalog-kalk-stampa-view .kalk-stat-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

body.nalog-detail-page .nalog-kalk-stampa-view .kalk-stat-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--pv-muted, #64748b);
}

body.nalog-detail-page .nalog-kalk-stampa-view .kalk-ofset-stat-grid .kalk-ofset-readonly {
  font-size: 1.125rem;
  font-weight: 600;
}

body.nalog-detail-page .nalog-kalk-stampa-view .kalk-ofset-key-metric-row input {
  font-size: 1.125rem;
  font-weight: 700;
}

body.nalog-detail-page .nalog-kalk-stampa-view .kalk-ofset-sig-section-heading {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pv-muted, #475569);
  margin: 0 0 8px;
}

body.nalog-detail-page .nalog-kalk-stampa-view .kalk-ofset-sig-section-heading--polu {
  margin-top: 12px;
}

body.nalog-detail-page .nalog-kalk-stampa-view .kalk-ofset-sig-table-card {
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: var(--radius-lg, 10px);
  background: var(--card, #fff);
}

body.nalog-detail-page .nalog-kalk-stampa-view .kalk-ofset-sig-redovi-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

body.nalog-detail-page .nalog-kalk-stampa-view .kalk-ofset-sig-redovi-table th,
body.nalog-detail-page .nalog-kalk-stampa-view .kalk-ofset-sig-redovi-table td {
  padding: 8px 10px;
  vertical-align: middle;
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  text-align: left;
}

body.nalog-detail-page .nalog-kalk-stampa-view .kalk-ofset-sig-redovi-table th {
  font-size: 0.8125rem;
  background: var(--app-table-head-bg, #f1f5f9);
  color: var(--app-table-head-color, #334155);
}

body.nalog-detail-page .nalog-kalk-stampa-view .kalk-ofset-sig-redovi-table tbody tr:last-child td {
  border-bottom: none;
}

body.nalog-kalk-stavke-mode #nalogKalkStavkeShell:not(.hidden) {
  display: contents;
}

body.nalog-kalk-stavke-mode #nalogDetailPanelStavke .nalog-kalk-stavke-shell.hidden {
  display: none;
}

/* Nalog — tabela faza: Faza | Status | Opis | Akcije (bez Iznos) */
body.nalog-kalk-stavke-mode .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table {
  width: 100% !important;
  min-width: 100%;
  table-layout: fixed !important;
}

body.nalog-kalk-stavke-mode .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table thead th:nth-child(1),
body.nalog-kalk-stavke-mode .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-td-tip {
  width: 16%;
}

body.nalog-kalk-stavke-mode .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-th-status,
body.nalog-kalk-stavke-mode .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-td-status {
  width: 12%;
  white-space: nowrap;
  vertical-align: middle;
}

body.nalog-kalk-stavke-mode .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-status-pill {
  font-size: 11px;
  padding: 2px 7px;
  line-height: 1.25;
  font-weight: 600;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-nalog-faza-status-bar {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--border, #e2e8f0);
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-nalog-faza-status-bar__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-nalog-faza-status-lbl {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted, #64748b);
  flex: 0 0 auto;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-drawer-faza-status-sel {
  min-height: var(--app-ui-btn-min-h);
  min-width: 10.5rem;
  max-width: 100%;
  font-size: var(--app-ui-btn-fs);
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-nalog-faza-status-hint,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-nalog-faza-status-krov-hint {
  margin: 0;
  font-size: 12px;
  flex: 1 1 100%;
}

body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-dor-remove,
body.nalog-kalk-stavke-mode .detail-stavke-faze-view .kalk-st-faza-brisi {
  display: none !important;
}

body.nalog-kalk-stavke-mode .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table thead th:nth-child(3),
body.nalog-kalk-stavke-mode .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-td-opis {
  width: 52%;
}

body.nalog-kalk-stavke-mode .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table thead th.akcije,
body.nalog-kalk-stavke-mode .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-td-akcije {
  width: 28% !important;
  min-width: 11rem;
  max-width: none;
  overflow: visible !important;
}

body.nalog-kalk-stavke-mode .detail-stavke-faze-view .kalk-stavka-faze-akcije {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}

body.nalog-kalk-stavke-mode .detail-stavke-faze-view .kalk-stavka-faze-akcije .faza-status-action-btn,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-nalog-faza-status-bar .faza-status-action-btn {
  white-space: nowrap;
  font-size: 12px;
  padding-inline: 8px;
}

body.nalog-kalk-stavke-mode .detail-stavke-faze-view .kalk-stavka-faze-akcije .faza-status-pauza-btn,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-nalog-faza-status-bar .faza-status-pauza-btn {
  white-space: nowrap;
  font-size: 12px;
}

body.nalog-detail-page.nalog-kalk-stavke-mode.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table thead th.akcije {
  width: 28% !important;
  white-space: nowrap;
}

body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-ctx-bar__item:has(#kalkStampaCtxPredlog),
body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-ctx-bar__item:has(#kalkStampaCtxIznos),
body.nalog-kalk-stavke-mode #kalkStampaFootBar,
body.nalog-kalk-stavke-mode #kalkDrawerStPredUbaciFoot,
body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-drawer-iznos-line,
body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-ofset-iznos-field,
body.nalog-kalk-stavke-mode #kalkStavkaDrawer label[for="kalkDrawerStIznos"],
body.nalog-kalk-stavke-mode #kalkStavkaDrawer #kalkDrawerStIznos,
body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-mat-cena-panel,
body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-mat-cena-hint,
body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-cena-table-block,
body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-cena-footer,
body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-cena-user-hint,
body.nalog-kalk-stavke-mode #kalkStavkaDrawer #kalkDrawerStPredUbaci,
body.nalog-kalk-stavke-mode #kalkDorCtxBar .kalk-stampa-ctx-bar__item:has(#kalkDorCtxPredlog),
body.nalog-kalk-stavke-mode #kalkDorCtxBar .kalk-stampa-ctx-bar__item:has(#kalkDorCtxIznos),
body.nalog-kalk-stavke-mode #kalkDorFootBar {
  display: none !important;
}

body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-dor-cena-zone,
body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-dor-cenovnik,
body.nalog-kalk-stavke-mode #kalkDrawerDorCenHint,
body.nalog-kalk-stavke-mode #kalkDrawerPrIznosLab,
body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-drawer-iznos-line:has(#kalkDrawerPrIznosLab) {
  display: none !important;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-dor-spoljni-klijent-row,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-dor-vez-tabak,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-dor-vez-masina {
  margin-top: 2px;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-dor-spoljno-row {
  margin-top: 2px;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-dor-spoljno-line {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  min-height: var(--app-ui-btn-min-h);
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-dor-spoljno-line > input[type='checkbox'] {
  margin: 0 !important;
  align-self: center;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-dor-spoljno-line > label {
  margin: 0 !important;
  display: inline-block !important;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: var(--app-ui-btn-fs);
  font-weight: 600;
  color: var(--ink, #111827);
  line-height: 1.2;
  cursor: pointer;
}

body.nalog-kalk-stavke-mode #kalkDorFazeTableBlock.kalk-dor-faze-table--rn thead th:nth-child(3),
body.nalog-kalk-stavke-mode #kalkDorFazeTableBlock.kalk-dor-faze-table--rn thead th:nth-child(4),
body.nalog-kalk-stavke-mode #kalkDorFazeTableBlock.kalk-dor-faze-table--rn tbody td:nth-child(3),
body.nalog-kalk-stavke-mode #kalkDorFazeTableBlock.kalk-dor-faze-table--rn tbody td:nth-child(4) {
  display: none !important;
}

#kalkStavkaDrawer .kalk-dor-faze-row--click {
  cursor: pointer;
}

#kalkStavkaDrawer .kalk-dor-faze-row--click:hover td {
  background: var(--gra-surface-muted, rgba(0, 0, 0, 0.04));
}

#kalkStavkaDrawer .kalk-dor-faze-row--active td {
  background: var(--gra-surface-accent-muted, rgba(37, 99, 235, 0.08));
}

body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-operativa-card {
  margin-top: 0.5rem;
}

body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-operativa-card .kalk-stampa-cena-params-band {
  display: grid;
  gap: 0.75rem 1rem;
}

@media (min-width: 521px) {
  body.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-operativa-card .kalk-stampa-cena-params-band {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

body.nalog-kalk-drawer-readonly #kalkStavkaDrawer .kalk-drawer-iznos-line,
body.nalog-kalk-drawer-readonly #kalkStavkaDrawer .kalk-stampa-ctx-bar,
body.nalog-kalk-drawer-readonly #kalkStampaFootBar,
body.nalog-kalk-drawer-readonly #kalkDorFootBar,
body.nalog-kalk-drawer-readonly #kalkDorFazeTableBlock,
body.nalog-kalk-drawer-readonly #kalkStavkaDrawerSave,
body.nalog-kalk-drawer-readonly #kalkStavkaDrawerDelete,
body.nalog-kalk-drawer-readonly #kalkFazaDrawerSave,
body.nalog-kalk-drawer-readonly #kalkFazaDrawerDelete,
body.nalog-kalk-drawer-readonly #kalkDrawerStPredUbaciFoot,
body.nalog-kalk-drawer-readonly .kalk-stampa-cena-card,
body.nalog-kalk-drawer-readonly #kalkDrawerStCenaMount,
body.nalog-kalk-drawer-readonly #kalkDrawerPrIznosLab,
body.nalog-kalk-drawer-readonly .kalk-stampa-cena-table-block {
  display: none !important;
}

body.nalog-kalk-drawer-readonly #kalkDrawerStMode,
body.nalog-kalk-drawer-readonly #kalkDrawerFazaTipBtns,
body.nalog-kalk-drawer-readonly #kalkDrawerFazaNazad,
body.nalog-kalk-drawer-readonly #kalkDrawerFazaNazadListu {
  pointer-events: none;
  opacity: 0.85;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawerBackdrop.kalk-stavka-modal-backdrop {
  z-index: 12035;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawerBackdrop.kalk-stavka-modal-backdrop:not(.hidden) {
  pointer-events: auto;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel--open {
  pointer-events: auto;
}

body.nalog-kalk-stavke-mode #kalkSecPriprema .kalk-drawer-iznos-line {
  display: none !important;
}

/* Priprema drawer na nalogu — isti vizuelni jezik kao kalkulacija */
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-drawer-phase-block.kalk-drawer-phase-inner.gra-form-stack {
  gap: 0;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-drawer-phase-inner > .gra-form-band:first-of-type {
  margin-top: 0;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-drawer-pr-mount {
  display: flex;
  flex-direction: column;
  gap: var(--kalk-drawer-gap-outer, 12px);
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-priprema-operativa {
  gap: var(--kalk-drawer-gap-outer, 12px);
  width: 100%;
  min-width: 0;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-priprema-izvor-row {
  margin-top: var(--kalk-drawer-gap-section, 10px);
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer #kalkDrawerPrVariant:disabled {
  opacity: 0.88;
  cursor: not-allowed;
  background: var(--pv-bg-soft, #f8fafc);
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-priprema-kalk-hint {
  margin: 6px 0 0;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-priprema-files-band {
  margin-top: 2px;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-priprema-path-card {
  display: flex;
  flex-direction: column;
  gap: var(--kalk-drawer-gap-section, 10px);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: var(--kalk-drawer-section-pad-y, 10px) var(--kalk-drawer-section-pad-x, 12px)
    calc(var(--kalk-drawer-section-pad-y, 10px) + 2px);
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 10px;
  background: var(--card, #fff);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-priprema-path-card .kalk-dor-stampa-ref-card__title {
  margin: 0 0 4px;
  font-size: 0.8125rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pv-muted, var(--app-muted, #64748b));
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-priprema-path-card .kalk-dor-stampa-ref-card__body {
  margin: 0;
  min-width: 0;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-priprema-path-row {
  width: 100%;
  min-width: 0;
}

/* Nalog — lista tabaka za proizvodnju (štampa drawer) */
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-lista {
  gap: var(--kalk-drawer-gap-outer, 12px);
  width: 100%;
  min-width: 0;
  margin-top: var(--kalk-drawer-gap-outer, 12px);
  padding-top: var(--kalk-drawer-gap-section, 10px);
  border-top: 1px dashed var(--pv-border-soft, #e2e8f0);
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-lista-hint {
  margin: 0 0 6px;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table-wrap {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  width: 100%;
  margin: 0;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table th,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table td {
  padding: 5px 6px;
  vertical-align: middle;
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  text-align: left;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table th {
  font-weight: 600;
  color: #475569;
  font-size: 0.75rem;
  white-space: nowrap;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table tbody tr:nth-child(odd) td {
  background: rgba(248, 250, 252, 0.85);
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table input.gra-input-like,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table select.gra-input-like {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 2rem;
  box-sizing: border-box;
  padding: 4px 6px;
  font-size: 0.8125rem;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-td-num {
  width: 3rem;
  text-align: center;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  border-radius: 999px;
  background: #e0e7ff;
  color: #3730a3;
  font-weight: 700;
  font-size: 0.75rem;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-td-tip {
  width: 3.5rem;
  white-space: nowrap;
  color: #64748b;
  font-size: 0.75rem;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-td-tiraz {
  width: 4.75rem;
  text-align: right;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-tiraz-inp {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table--ofset th:nth-child(4),
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table--ofset td:nth-child(4) {
  width: 20%;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table--ofset th:nth-child(5),
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table--ofset td:nth-child(5) {
  width: 12%;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table--ofset th:nth-child(6),
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table--ofset td:nth-child(6) {
  width: 16%;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table--digital th:nth-child(4),
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table--digital td:nth-child(4) {
  width: 14%;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table--digital th:nth-child(5),
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table--digital td:nth-child(5) {
  width: 18%;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-mat-izvor {
  gap: 8px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dashed var(--pv-border-soft, #e2e8f0);
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-mat-magacin-hint {
  margin: 4px 0 0;
  font-size: 0.8125rem;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-mat-magacin-hint--warn {
  color: var(--app-danger-fg, #b45309);
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-mat-magacin-block[hidden] {
  display: none !important;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-mat-vp--magacin .kalk-mat-intro-hint,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-mat-vp--magacin #kalkDrawerStMatVpBlock > .gra-fields-row,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-mat-vp--magacin #kalkDrawerStMatVpBlock > .kalk-mat-cena-hint,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-mat-vp--magacin #kalkDrawerStMatVpBlock > .kalk-mat-cena-panel {
  display: none !important;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-mat-qty-block {
  display: none;
  gap: var(--kalk-drawer-gap-row, 6px);
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-mat-vp-root.kalk-mat-params-ready .kalk-mat-qty-slot .kalk-mat-qty-block,
body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-mat-qty-ready .kalk-mat-qty-slot .kalk-mat-qty-block {
  display: grid;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-st-dim-fajl-row {
  margin-bottom: 8px;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-st-dim-fajl-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-st-dim-fajl-actions .path-input-stack {
  flex: 1 1 12rem;
  min-width: 0;
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-st-dim-fajl-hint {
  margin: 4px 0 0;
  font-size: 0.8125rem;
}

/* Nalog stavke/faze — isti centriran modal kao kalkulacija (ne bočni panel); body ima i kalkulacija-detail-page */
body.nalog-detail-page.nalog-kalk-stavke-mode.kalkulacija-detail-page #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel {
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  z-index: 12040;
  width: min(52rem, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  height: auto;
  max-height: min(92dvh, 880px);
  margin: 0;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 12px;
  box-shadow:
    0 4px 6px -1px rgba(15, 23, 42, 0.06),
    0 24px 48px -12px rgba(15, 23, 42, 0.22);
  transform: translate(-50%, calc(-50% + 14px)) scale(0.985);
  opacity: 0;
  transition:
    transform var(--gm-side-panel-transition-dur, 0.22s) ease,
    opacity var(--gm-side-panel-transition-dur, 0.22s) ease;
}

body.nalog-detail-page.nalog-kalk-stavke-mode.kalkulacija-detail-page #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel--open {
  transform: translate(-50%, -50%);
  opacity: 1;
}

body.nalog-detail-page.nalog-kalk-stavke-mode.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stavka-side-inner,
body.nalog-detail-page.nalog-kalk-stavke-mode.kalkulacija-detail-page #kalkStavkaDrawer .gm-side-panel-inner.kalk-stavka-side-inner {
  max-height: min(92dvh, 880px);
}

body.nalog-detail-page.nalog-kalk-stavke-mode #kalkDrawerShellStavka .gra-form-band {
  display: none !important;
}

/* Stavke i faze — zajednički izgled (nalog + kalkulacija): .detail-stavke-faze-view */
.detail-stavke-faze-view {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: none;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
}

.detail-stavke-faze-view .kalk-stavke-list-root {
  width: 100%;
  min-width: 0;
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick {
  padding: 0;
  border-top: none;
  background: transparent;
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-stavka--flat > .operator-work-st-body {
  padding: 0;
  border-top: none;
  background: transparent;
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick,
.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-faze-panel,
.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-faze-panel-body,
.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-lista {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* Shell — bez punila (samo naslovna traka) */
.detail-stavke-faze-view > .phase-card-bar {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 10px 12px 6px;
  margin-bottom: 4px;
}

.detail-stavke-faze-view .phase-card-tip {
  color: #475569;
  font-weight: 800;
  font-size: 10px;
}

.detail-stavke-faze-view .phase-card-preview {
  color: #64748b;
  font-size: 12px;
}

.detail-stavke-faze-view .app-page-panel-body.gra-panel-pad,
.detail-stavke-faze-view .app-page-panel-body {
  padding: 0;
  gap: 8px;
  display: flex;
  flex-direction: column;
  background: transparent;
  box-shadow: none;
}

.detail-stavke-faze-view .kalk-stavke-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 8px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-toolbar,
body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-toolbar {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.detail-stavke-faze-view .kalk-stavke-toolbar .rn-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  width: auto;
}

.detail-stavke-faze-view .kalk-stavke-toolbar .btn {
  width: auto;
  flex: 0 0 auto;
  box-shadow:
    0 2px 8px rgba(15, 23, 42, 0.1),
    0 1px 3px rgba(15, 23, 42, 0.08);
}

/* Lista stavki (kalk + RN) — poslovni ERP: bela ploča liste; faze unutra bez šarenih kutija */
.detail-stavke-faze-view .kalk-stavke-list-root {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 4px;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
  background: var(--card, #fff);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.detail-stavke-faze-view .kalk-stavke-list-root > .muted {
  margin: 0;
  padding: 28px 16px;
  text-align: center;
  font-size: 0.9375rem;
  color: var(--pv-muted, #64748b);
  border: none;
  border-radius: 0;
  background: var(--card, #fff);
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-accordion {
  margin: 0;
  padding: 16px 16px 18px;
  border: none;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  background: var(--card, #fff);
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-accordion + .kalk-stavka-accordion {
  border-top: 1px solid #e2e8f0;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-accordion:last-child {
  padding-bottom: 16px;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-accordion:has(.operator-work-st-head--tabpick[aria-expanded='true']) {
  background: color-mix(in srgb, var(--card, #fff) 92%, #f1f5f9 8%);
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-head--tabpick {
  background: transparent;
  padding: 0 0 10px;
  gap: 8px 12px;
  align-items: baseline;
  border: none;
  box-shadow: none;
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-head--tabpick:hover {
  background: transparent;
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-head--tabpick[aria-expanded='true'] {
  background: transparent;
  border: none;
  box-shadow: none;
  padding-bottom: 12px;
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-head--tabpick[aria-expanded='true']:hover {
  background: transparent;
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-rb {
  display: inline;
  min-width: 0;
  padding: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--pv-muted, #64748b);
  flex: 0 0 auto;
  border-radius: 0;
  background: none;
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--pv-text, #0f172a);
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-acc-meta {
  flex: 0 0 auto;
  margin-left: auto;
  font-size: 0.8125rem;
  font-variant-numeric: tabular-nums;
  color: var(--pv-muted, #64748b);
  white-space: nowrap;
}

@media (min-width: 521px) {
  .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-head--tabpick {
    flex-wrap: nowrap;
  }
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-head--tabpick[aria-expanded='true'] .operator-work-st-name {
  color: var(--pv-text, #0f172a);
  font-weight: 600;
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-head--tabpick[aria-expanded='true'] .operator-work-st-rb {
  color: var(--pv-muted, #64748b);
  font-weight: 600;
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-chev {
  order: -1;
  align-self: center;
  font-size: 0.625rem;
  color: var(--pv-muted, #94a3b8);
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-head--tabpick[aria-expanded='true'] .operator-work-st-chev {
  color: var(--pv-muted, #64748b);
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-acc-toolbar {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 0 0 14px;
  border: none;
  background: transparent;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-acc-toolbar .btn {
  width: auto;
  flex: 0 0 auto;
  min-width: 0;
  min-height: var(--app-ui-btn-min-h, 32px);
  justify-content: center;
  padding-inline: 10px;
  font-size: var(--app-ui-btn-fs, 0.8125rem);
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-faze-panel,
.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-panel {
  border: none;
  box-shadow: none;
  background: transparent;
  margin: 0;
  padding: 0;
}

.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-faze-section-head {
  display: none;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-wrap,
.detail-stavke-faze-view .kalk-stavke-list-root .operator-work-faze-panel-body {
  padding: 0;
  background: transparent;
}

/* Puna širina tabele — pobedi operator-nalog-onepage padding/border na panelu */
body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick .operator-work-faze-panel,
body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick .kalk-stavka-faze-panel,
body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick .operator-work-faze-panel,
body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick .kalk-stavka-faze-panel {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
  background: transparent;
}

body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick .operator-work-faze-panel-body,
body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick .operator-work-faze-panel-body {
  padding: 0;
  background: transparent;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-lista,
body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-lista {
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table-wrap,
body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table-wrap {
  display: block;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0 4px;
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  overflow-x: auto;
  background: transparent;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  box-sizing: border-box;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-col--tip {
  width: 24%;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-col--opis {
  width: 38%;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-col--iznos {
  width: 18%;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-col--akcije {
  width: 20%;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table thead th:nth-child(1) {
  width: 24%;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table thead th:nth-child(2) {
  width: 38%;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table thead th.num {
  width: 18%;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table thead th.akcije {
  width: 20%;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table thead th,
.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody td {
  box-sizing: border-box;
  overflow: hidden;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table thead th.akcije,
.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-td-akcije {
  overflow: visible !important;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-td-tip,
.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-td-opis,
.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-td-iznos,
body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-td-opis,
body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-td-tip {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-td-akcije {
  width: 20%;
  min-width: 8.5rem;
  max-width: none;
  white-space: normal;
  vertical-align: middle;
  overflow: visible;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-akcije {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-row--pod .kalk-stavka-faze-td-tip,
.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-row--pod .kalk-stavka-faze-td-opis {
  padding-left: 1.125rem;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-row--pod .kalk-stavka-faze-td-tip {
  font-weight: 500;
  color: #475569;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-row--pod .kalk-stavka-faze-td-opis {
  color: #475569;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table thead th {
  background: #f8fafc;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 10px 10px;
  border: none;
  border-bottom: 1px solid #cbd5e1;
  color: #64748b;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table thead th:first-child,
.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody td:first-child {
  padding-left: 10px;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table thead th:last-child,
.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody td:last-child {
  padding-right: 10px;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody td {
  font-size: 0.875rem;
  padding: 11px 10px;
  border: none;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: middle;
  background: #fff;
  box-shadow: none;
  border-radius: 0;
  color: #1e293b;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row:nth-child(even) td {
  background: #f8fafc;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr:last-child td {
  border-bottom: 1px solid #e2e8f0;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-td-tip {
  font-weight: 600;
  color: #0f172a;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-td-opis {
  color: #334155;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-td-iznos {
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  color: var(--pv-text, #0f172a);
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row td:first-child,
.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row td:last-child {
  border-radius: 0;
  border-left: none;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row--click {
  cursor: pointer;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row--click:hover td {
  background: #f1f5f9;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row--click:focus-visible {
  outline: 2px solid rgba(37, 99, 235, 0.35);
  outline-offset: -2px;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row--click:focus-visible td {
  background: #f1f5f9;
}

.detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-prazno {
  margin: 0;
  padding: 12px 4px 4px;
  font-size: 0.875rem;
  text-align: left;
  color: var(--pv-muted, #64748b);
  border: none;
  border-radius: 0;
  background: transparent;
}

/* Pobedi starije body.kalkulacija-detail-page pravila (okvir tabele) — bez spoljašnjeg box-a */
body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table-wrap,
body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table-wrap {
  border: none;
  border-radius: 0;
  background: transparent;
  padding: 0 0 4px;
}

body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row:nth-child(odd) td,
body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row:nth-child(even) td,
body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row:nth-child(odd) td,
body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row:nth-child(even) td {
  border-bottom: 1px solid #e2e8f0;
}

body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row:nth-child(odd) td,
body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row:nth-child(odd) td {
  background: #fff;
}

body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row:nth-child(even) td,
body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row:nth-child(even) td {
  background: #f8fafc;
}

body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row--click:hover td,
body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row--click:focus-visible td,
body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row--click:hover td,
body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-faze-table tbody tr.kalk-stavka-faze-row--click:focus-visible td {
  background: #f1f5f9;
}

/* Detalj nalog/kalkulacija — providni omotači oko stavki; kartice/accordion ostaju obojeni */
body.nalog-detail-page .nalog-one-page-tabpanels,
body.kalkulacija-detail-page .nalog-one-page-tabpanels,
body.ponuda-detail-page .nalog-one-page-tabpanels {
  background: transparent;
  border: none;
  box-shadow: none;
}

body.nalog-detail-page .detail-stavke-faze-view.phase-row-shell,
body.kalkulacija-detail-page .detail-stavke-faze-view.phase-row-shell,
body.ponuda-detail-page .detail-stavke-faze-view.phase-row-shell,
html[data-ui-theme='fasc'] body.nalog-detail-page .detail-stavke-faze-view.phase-row-shell.app-page-shell:not(.login-auth-card),
html[data-ui-theme='fasc'] body.kalkulacija-detail-page .detail-stavke-faze-view.phase-row-shell.app-page-shell:not(.login-auth-card),
html[data-ui-theme='fasc'] body.ponuda-detail-page .detail-stavke-faze-view.phase-row-shell.app-page-shell:not(.login-auth-card) {
  background: transparent;
  border: none;
  box-shadow: none;
}

html[data-ui-theme='fasc'] body.nalog-detail-page .detail-stavke-faze-view > .phase-card-bar,
html[data-ui-theme='fasc'] body.kalkulacija-detail-page .detail-stavke-faze-view > .phase-card-bar,
html[data-ui-theme='fasc'] body.ponuda-detail-page .detail-stavke-faze-view > .phase-card-bar {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.nalog-detail-page .detail-stavke-faze-view > .phase-card-bar .phase-card-tip,
body.kalkulacija-detail-page .detail-stavke-faze-view > .phase-card-bar .phase-card-tip,
body.ponuda-detail-page .detail-stavke-faze-view > .phase-card-bar .phase-card-tip {
  color: #475569 !important;
}

body.nalog-detail-page .detail-stavke-faze-view > .phase-card-bar .phase-card-preview,
body.kalkulacija-detail-page .detail-stavke-faze-view > .phase-card-bar .phase-card-preview,
body.ponuda-detail-page .detail-stavke-faze-view > .phase-card-bar .phase-card-preview {
  color: #64748b !important;
}

/* Unutra accordiona — bez dodatne bele ploče */
body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick,
body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick {
  background: transparent;
  border-top: none;
}

body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-stavka--tabpick.kalk-stavka-accordion,
body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-stavka--tabpick.kalk-stavka-accordion {
  background: transparent;
}

/* Operater accordion na istom tabu — obojena kartica */
body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-stavka--tabpick {
  margin-bottom: 0;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 12px;
  border-left: 3px solid var(--pv-primary, #2563eb);
  box-shadow:
    0 2px 10px rgba(15, 23, 42, 0.08),
    0 1px 3px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  background: var(--card, #fff);
}

body.nalog-detail-page .nalog-operator-nest-accordion {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-stavka--tabpick:has(.operator-work-st-head--tabpick[aria-expanded='true']) {
  border-color: color-mix(in srgb, var(--pv-primary, #2563eb) 35%, var(--pv-border-soft, #e2e8f0));
  border-left-width: 4px;
  border-left-color: var(--pv-primary, #2563eb);
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.12);
}

body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-st-head--tabpick {
  background: var(--card, #fff);
  box-shadow: none;
}

body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-st-head--tabpick:hover {
  background: var(--app-table-row-hover, #f8fafc);
}

body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-st-head--tabpick[aria-expanded='true'],
body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-st-head--tabpick[aria-expanded='true']:hover {
  background: var(--card, #fff);
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  box-shadow: none;
}

body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-st-rb {
  font-size: 1.0625rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--pv-primary, #2563eb);
}

body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-st-head--tabpick[aria-expanded='true'] .operator-work-st-name {
  color: var(--pv-text, #0f172a);
  font-weight: 700;
}

body.nalog-detail-page .nalog-operator-stavke-chrome .operator-work-admin-toolbar {
  margin-bottom: 8px;
  padding: 10px 12px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 10px;
  background: var(--card, #fff);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

@media (min-width: 901px) {
  .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-acc-toolbar .btn {
    min-height: var(--app-ui-btn-min-h, 34px);
  }
}

#nalogKalkMasinaBar {
  margin: 0 0 12px;
  padding: 12px 14px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: var(--radius-lg, 12px);
  background: var(--card, #fff);
}

#nalogKalkMasinaBar.hidden {
  display: none !important;
}

body.nalog-detail-page .faze-stampa-sheet:has(.nalog-kalk-stampa-view) {
  max-width: none;
}

@media (min-width: 521px) {
  body.nalog-detail-page .nalog-kalk-stampa-view.kalk-ofset-drawer-flow--linear {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--kalk-ofset-fasc-gap);
    align-items: start;
  }

  body.nalog-detail-page .nalog-kalk-stampa-view.kalk-ofset-drawer-flow--linear > .nalog-kalk-stampa-intro,
  body.nalog-detail-page .nalog-kalk-stampa-view.kalk-ofset-drawer-flow--linear > .nalog-kalk-stampa-masina-row {
    grid-column: 1 / -1;
  }
}

html[data-ui-theme='fasc'] body.nalog-detail-page .nalog-kalk-stampa-view .kalk-ofset-drawer-section,
html[data-ui-theme='fasc'] body.nalog-detail-page .nalog-kalk-stampa-masina-row {
  background: var(--card) !important;
  border-color: var(--pv-border) !important;
}

/* ========== UI unifikacija (docs/UI-UNIFIKACIJA-PLAN.md) ========== */

/* Legacy HTML (registracija); ista semantika kao .btn.light */
a.btn.secondary,
button.btn.secondary {
  background: var(--app-btn-light-bg);
  border-color: var(--app-btn-light-border);
  color: var(--app-btn-light-color);
}

a.btn.secondary:hover,
button.btn.secondary:hover {
  background: var(--app-btn-light-bg-hover);
  border-color: var(--app-btn-light-border-hover);
}

.podesavanja-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--app-ui-btn-gap, 8px);
}

.podesavanja-form-actions .btn {
  flex: 0 0 auto;
}

.gra-panel-pad {
  padding: 18px 20px;
}

.gra-panel-pad--roomy {
  padding: 18px 20px 22px;
}

.podesavanja-cards-stack,
.stamparija-page-stack,
.izvestaji-page-stack,
.poruke-page-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

body.stamparija-page .stamparija-section-label {
  margin: 18px 0 10px;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted-fg, #64748b);
}

body.stamparija-page .stamparija-moduli-block .gra-field-stack + .gra-field-stack {
  margin-top: 6px;
}

body.stamparija-page .stamparija-delatnost-lead {
  margin: 0 0 10px;
  font-size: 0.9rem;
}

body.stamparija-page .stamparija-delatnost-vrste .gra-field-stack + .gra-field-stack {
  margin-top: 6px;
}

body.stamparija-page .stamparija-modul--fixed {
  opacity: 0.85;
}

body.stamparija-page .stamparija-memorandum-block {
  margin-top: 4px;
}

body.stamparija-page .stamparija-vozilo-add-row {
  margin-top: 12px;
  align-items: flex-end;
}

body.stamparija-page .stamparija-vozilo-add-btn-wrap {
  display: flex;
  align-items: flex-end;
}

body.izvestaji-page .filters.filters-izvestaji {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px 16px;
  margin-bottom: 12px;
}

body.izvestaji-page .filters.filters-izvestaji > div {
  flex: 1 1 140px;
  min-width: 0;
}

body.kalkulacija-detail-page .kalk-detail-page-stack {
  gap: 14px;
}

body.kalkulacija-detail-page .kalk-struktura-card {
  margin-top: 14px;
}

body.login-page .auth-card .gra-panel-pad,
body.registracija-page .auth-card .gra-panel-pad {
  padding: 20px 18px 22px;
}

body.login-page .auth-card.phase-card,
body.registracija-page .auth-card.phase-card {
  padding: 0;
  max-width: 420px;
}

body.registracija-page .auth-card.phase-card {
  max-width: 460px;
}

body.onboarding-page {
  min-height: 100vh;
  background: var(--pv-bg, #f8fafc);
}

body.onboarding-page .rps-onb {
  max-width: 640px;
  margin: 2rem auto;
  padding: 0 1rem 3rem;
}

body.onboarding-page .rps-onb:has(#onbTabaciMount) {
  max-width: 960px;
}

/* Deljeni accordion stavke — nalog operater (light + dark preko fasc tokena) */
body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-stavka--tabpick {
  margin-bottom: 12px;
  border: 1px solid var(--pv-border-soft, #e2e8f0);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--pv-text) 8%, transparent);
  background: var(--card, #fff);
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  padding: 12px 14px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid transparent;
  background: var(--nalog-ux-bar-bg, var(--app-table-head-bg, #f4f4f5));
  color: var(--pv-text);
  box-shadow: none;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick .operator-work-st-name {
  color: var(--pv-text);
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick .operator-work-st-rb {
  color: var(--pv-muted);
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick:hover {
  background: var(--app-table-row-hover, #f4f4f5);
}

/* Otvorena stavka — nalog operater (plavi akcenat) */
body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick:has(.operator-work-st-head--tabpick[aria-expanded='true']) {
  border-color: color-mix(in srgb, var(--rps-stavka-acc-accent-nalog) 48%, var(--pv-border-soft, #e2e8f0));
  border-left-width: 5px;
  border-left-color: var(--rps-stavka-acc-accent-nalog);
  box-shadow:
    0 2px 10px color-mix(in srgb, var(--pv-primary, #2563eb) 16%, transparent),
    0 10px 28px color-mix(in srgb, var(--pv-primary, #2563eb) 10%, transparent);
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick[aria-expanded='true'] {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--pv-primary, #2563eb) 18%, var(--card, #fff)) 0%,
    color-mix(in srgb, var(--pv-primary, #2563eb) 10%, var(--app-table-head-bg, #f4f4f5)) 100%
  );
  border-bottom-color: color-mix(in srgb, var(--pv-primary, #2563eb) 45%, var(--pv-border-soft, #e2e8f0));
  box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--pv-primary, #2563eb) 40%, transparent);
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick[aria-expanded='true']:hover {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--pv-primary, #2563eb) 24%, var(--card, #fff)) 0%,
    color-mix(in srgb, var(--pv-primary, #2563eb) 14%, var(--app-table-head-bg, #f4f4f5)) 100%
  );
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick[aria-expanded='true'] .operator-work-st-name {
  font-weight: 800;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-chev {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  font-size: 11px;
  color: var(--pv-muted);
  transition: transform 0.2s ease, color 0.15s ease;
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick[aria-expanded='true'] .operator-work-st-chev {
  transform: rotate(90deg);
  color: var(--pv-primary, #2563eb);
  font-weight: 700;
}

/* Nalog — admin tabela stavki (Detalji panel bliži unified panelu) */
body.nalog-detail-page #stavkeTbl tbody tr.stavka-admin-panel-row td.stavka-admin-panel-cell {
  padding: 12px 16px 14px;
  background: var(--app-table-head-bg, #f8fafc);
  color: var(--pv-text);
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  border-left: 4px solid var(--rps-stavka-acc-accent-nalog, rgba(37, 99, 235, 0.35));
}

body.nalog-detail-page #stavkeTbl tbody tr.stavka-admin-head-row td {
  vertical-align: middle;
}

body.nalog-detail-page #stavkeTbl .stavka-admin-expand-btn[aria-expanded='true']::before {
  content: '▼ ';
  font-size: 0.65em;
}

body.nalog-detail-page #stavkeTbl .stavka-admin-expand-btn[aria-expanded='false']::before {
  content: '▶ ';
  font-size: 0.65em;
}

/* Nalog tab Stavke — bez kolone iznosa (kalkulacija je prikazuje); meta bez ukupnog RSD u JS */
body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick:has(.operator-work-st-head--tabpick[aria-expanded='true']) {
  border-color: color-mix(in srgb, var(--pv-primary, #2563eb) 35%, var(--pv-border-soft, #e2e8f0));
  border-left-width: 4px;
  border-left-color: var(--pv-primary, #2563eb);
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.12);
}

body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick[aria-expanded='true'],
body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-stavka--tabpick .operator-work-st-head--tabpick[aria-expanded='true']:hover {
  background: var(--card, #fff);
  border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  box-shadow: none;
}

/* ========== Detalj naloga — dark mode (html[data-ui-theme='fasc'] + sistemska tema) ========== */


/* === Fasc tamni režim — preglednost (kartice, trake, forme) === */


/* Nalog osnovno/poruke — svetlija traka (izuzetak od globalne teget u workspace-u) */
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell > .phase-card-bar,
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell > .phase-card-bar {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  background-image: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border-bottom: 1px solid #e2e8f0;
  box-shadow: none;
  padding: 12px 14px;
}

body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell .phase-card-tip,
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell .phase-card-tip {
  color: #475569 !important;
  font-weight: 800;
}

body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell .phase-card-preview,
body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell .phase-card-preview {
  color: #64748b !important;
}

body.kalkulacija-detail-page .nalog-one-page-panel[data-kalk-detail-tabpanel='osnovno'] .phase-row-shell > .phase-card-bar,
body.ponuda-detail-page .pon-card-zaglavlje > .phase-card-bar {
  border-left: 4px solid rgba(107, 79, 154, 0.92);
}

body.kalkulacija-detail-page .nalog-one-page-panel[data-kalk-detail-tabpanel='stavke'] .phase-row-shell:not(.kalk-cene-rezime-wrap) > .phase-card-bar,
body.ponuda-detail-page .pon-card-stavke > .phase-card-bar {
  border-left: 4px solid color-mix(in srgb, var(--app-btn-solid-bg, #2563eb) 88%, #fff 12%);
}

body.kalkulacija-detail-page .kalk-cene-rezime-wrap > .phase-card-bar {
  border-left: 4px solid var(--app-soft-green-border, #22c55e);
}

body.ponuda-detail-page .pon-card-interno > .phase-card-bar {
  border-left: 4px solid color-mix(in srgb, var(--app-warn-border, #f59e0b) 82%, #fff 18%);
}

/* Nalog admin (kalk stavke) + drawer — mobilni UX (≤900px: pun ekran kao liste) */
@media (max-width: 900px) {
  body.nalog-detail-page.nalog-kalk-stavke-mode:has(#kalkStavkaDrawer.gm-side-panel--open) {
    overflow: hidden;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer.modal.gm-side-panel {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    transform: translateY(100%) !important;
    opacity: 1 !important;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel--open,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer.modal.gm-side-panel--open {
    transform: translateY(0) !important;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawerBackdrop.kalk-stavka-modal-backdrop:not(.hidden) {
    opacity: 1;
    pointer-events: auto;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stavka-side-inner,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .gm-side-panel-inner.kalk-stavka-side-inner {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    min-height: 0;
    max-height: none;
    height: 100%;
    overflow: hidden;
    padding:
      max(8px, env(safe-area-inset-top))
      max(12px, env(safe-area-inset-right))
      max(8px, env(safe-area-inset-bottom))
      max(12px, env(safe-area-inset-left));
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stavka-modal-head,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .gm-side-panel-head.kalk-stavka-modal-head {
    flex-shrink: 0;
    position: static;
    margin: 0 0 8px;
    padding-bottom: 8px;
    background: var(--card, #fff);
    border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stavka-modal-title {
    font-size: 1rem;
    line-height: 1.3;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stavka-modal-meta {
    font-size: 0.8125rem;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .gm-side-panel-close {
    min-width: 44px;
    min-height: 44px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 1.25rem;
    line-height: 1;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stavka-panel-scroll,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .gm-side-panel-body.kalk-stavka-panel-scroll {
    flex: 1 1 0%;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-bottom: 12px;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-drawer-shell-faza,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-drawer-faza-slot,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-drawer-flow,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-ofset-drawer-flow {
    min-width: 0;
    max-width: 100%;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .gm-side-panel-foot.actions,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stavka-side-foot {
    flex-shrink: 0;
    position: static;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    margin-top: 0;
    padding: 10px 0 max(10px, env(safe-area-inset-bottom));
    background: var(--card, #fff);
    border-top: 1px solid var(--pv-border-soft, #e2e8f0);
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .gm-side-panel-foot .btn,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-drawer-foot-spacer {
    width: 100%;
    flex: 1 1 auto;
    justify-content: center;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-drawer-foot-spacer {
    display: none;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer #kalkDrawerFootFaza.kalk-faza-foot--stampa,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer #kalkDrawerFootFaza.kalk-faza-foot--dor {
    flex-wrap: wrap;
    gap: 8px;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-faza-foot {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    padding: 0;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-faza-foot__summary {
    width: 100%;
    justify-content: space-between;
    gap: 8px 12px;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-faza-foot__sep {
    display: none;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-faza-foot .btn {
    width: 100%;
    justify-content: center;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-ctx-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-drawer-faza-nav .btn {
    width: 100%;
    justify-content: center;
  }

  body.nalog-detail-page #nalogStavkaPanel .nalog-stavka-panel-foot {
    flex-direction: column;
    align-items: stretch;
  }

  body.nalog-detail-page #nalogStavkaPanel .nalog-stavka-panel-foot .btn {
    width: 100%;
    justify-content: center;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-drawer-faza-tip-btns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-mode-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-ofset-drawer-flow,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-stampa-drawer-flow {
    grid-template-columns: 1fr !important;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .path-field-inline-row,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-priprema-path-row,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-st-dim-fajl-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .stampa-path-actions-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .stampa-path-actions-inline .btn {
    flex: 1 1 calc(50% - 4px);
    min-width: 0;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-st-dim-fajl-actions .btn {
    width: 100%;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-ofset-sig-table-card,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-left: calc(-1 * var(--app-mobile-page-pad-x, 8px));
    margin-right: calc(-1 * var(--app-mobile-page-pad-x, 8px));
    padding-left: var(--app-mobile-page-pad-x, 8px);
    padding-right: var(--app-mobile-page-pad-x, 8px);
    border-radius: 8px;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .nalog-kalk-tabaci-table {
    min-width: 520px;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer .kalk-drawer-phase-block.kalk-drawer-phase-inner.gra-form-stack {
    padding-inline: max(var(--kalk-drawer-form-pad-x, 16px), 12px);
  }

  .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick {
    padding: 0;
  }

  .detail-stavke-faze-view .kalk-stavka-faze-table-wrap {
    overflow-x: hidden;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode #nalogKalkMasinaBar .gra-fields-row {
    grid-template-columns: 1fr;
  }

  body.nalog-detail-page.nalog-kalk-stavke-mode .kalk-detail-transient-banner {
    margin: 0 0 8px;
    font-size: 0.8125rem;
  }
}

@media (max-width: 640px) {
  body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
    transform: translateY(100%);
    opacity: 1;
  }

  body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel--open {
    transform: translateY(0);
  }

  body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-stavka-side-inner {
    max-height: 100dvh;
  }

  body.kalkulacija-detail-page #kalkStavkaDrawer .gm-side-panel-foot.actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.kalkulacija-detail-page #kalkStavkaDrawer .gm-side-panel-foot .btn {
    width: 100%;
  }

  body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-drawer-foot-spacer {
    display: none;
  }

  body.kalkulacija-detail-page #kalkStavkaDrawer .kalk-ofset-drawer-flow:not(.kalk-ofset-drawer-flow--linear) {
    grid-template-columns: 1fr !important;
  }
}

/* =============================================================================
   RunPrintShop — mobilni UI sistem (≤900px). Desktop ostaje neizmenjen.
   ============================================================================= */
@media (max-width: 900px) {
  :root {
    --app-mobile-page-pad-x: 8px;
    --gra-panel-pad-x: 10px;
    --gra-panel-pad-y: 12px;
    --app-ui-btn-min-h: 34px;
    --app-ui-btn-pad-y: 6px;
    --app-ui-btn-pad-x: 10px;
    --app-ui-btn-fs: 0.8125rem;
    --gm-side-panel-width: min(100vw, 26.25rem);
  }

  .gm-workspace,
  .workspace {
    padding-left: var(--app-mobile-page-pad-x);
    padding-right: var(--app-mobile-page-pad-x);
  }

  .gm-app-content.podesavanja-cards-stack,
  .nalozi-page-stack {
    padding-left: 0;
    padding-right: 0;
  }

  .phase-card.phase-row-shell.app-page-shell,
  .podesavanja-float-card {
    margin-left: 0;
    margin-right: 0;
  }

  .gra-panel-pad,
  .app-page-panel-body {
    padding-left: var(--gra-panel-pad-x);
    padding-right: var(--gra-panel-pad-x);
  }

  /* Liste: toolbar ispod naslova nosi akcije — ne duplirati u headeru */
  body.nalozi-list-page .app-header .topbar .actions.app-header-actions--ghost,
  body.kalkulacije-list-page .app-header .topbar .actions.app-header-actions--ghost,
  body.ponude-list-page .app-header .topbar .actions.app-header-actions--ghost {
    display: none !important;
  }

  /* Toolbar hamburger (app-mobile.js) */
  .app-mobile-actions-root {
    position: relative;
    align-items: center;
    gap: 6px;
  }

  .app-mobile-actions-root:not(.app-mobile-actions-compact) {
    overflow: visible !important;
    flex-wrap: nowrap;
  }

  .app-mobile-actions-toggle {
    flex: 0 0 auto;
    min-width: 36px;
    padding-left: 8px;
    padding-right: 8px;
  }

  .app-mobile-actions-panel {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 120;
    min-width: min(280px, calc(100vw - 24px));
    max-width: min(320px, calc(100vw - 24px));
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    padding: 8px;
    border: 1px solid var(--pv-border-soft, #e2e8f0);
    border-radius: 12px;
    background: var(--card, #fff);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.14);
  }

  .app-mobile-actions-panel.hidden {
    display: none !important;
  }

  .app-mobile-actions-panel .btn,
  .app-mobile-actions-panel button,
  .app-mobile-actions-panel a.btn {
    width: 100%;
    justify-content: center;
    white-space: normal;
    text-align: center;
  }

  .rn-toolbar-actions.app-mobile-actions-root,
  .app-page-header-toolbar.actions.app-mobile-actions-root {
    flex-wrap: nowrap;
  }

  .rn-toolbar-row--primary {
    flex-wrap: wrap;
    gap: 8px;
  }

  .rn-toolbar-actions {
    flex: 1 1 100%;
    max-width: 100%;
  }

  /* Bočni paneli — puna širina ekrana */
  .gm-side-panel:not([data-mobile-inline='1']) {
    width: 100vw;
    max-width: 100vw;
  }

  .gm-side-panel-foot.actions.app-mobile-actions-root,
  .kalk-stavka-side-foot.actions.app-mobile-actions-root {
    flex-wrap: nowrap;
    overflow: visible !important;
  }

  /* Auth / javne stranice */
  body.login-page,
  body.onboarding-page {
    padding-left: max(10px, env(safe-area-inset-left));
    padding-right: max(10px, env(safe-area-inset-right));
  }

  body.login-page .login-auth-card.phase-card,
  body.login-page .auth-card {
    margin-left: auto;
    margin-right: auto;
  }

  /* Pregled faze — bez sidebar-a; kompaktniji header */
  body.faza-pregled-page .faza-pregled-workspace {
    padding-left: var(--app-mobile-page-pad-x);
    padding-right: var(--app-mobile-page-pad-x);
  }

  body.faza-pregled-page .faza-pregled-topbar > div:first-child {
    padding-right: 0;
  }
}

@media (max-width: 900px) {
  .gm-side-panel.gm-side-panel--open {
    z-index: var(--gm-side-panel-z, 910);
  }
}

/* =============================================================================
   Mobilni UI — sistematski prolaz (maj 2026), samo ≤900px / ≤640px
   ============================================================================= */
@media (max-width: 900px) {
  :root {
    --app-mobile-page-pad-x: 6px;
    --gra-panel-pad-x: 8px;
    --gra-panel-pad-y: 10px;
  }

  /* Tab trake — horizontalni skrol umesto preliva */
  .nalog-one-page-tablist,
  .podesavanja-group-tablist,
  .faze-phase-tablist {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    max-width: 100%;
    padding-bottom: 4px;
  }

  .nalog-one-page-tablist .faze-phase-tab,
  .nalog-one-page-tablist .nalog-one-page-tab {
    flex: 0 0 auto;
  }

  /* Detalj kalkulacija — toolbar (legacy header) */
  body.kalkulacija-detail-page .kalk-detail-header-toolbar {
    flex-wrap: nowrap;
    overflow: visible;
    justify-content: flex-start;
    align-items: center;
    gap: 6px;
  }

  body.kalkulacija-detail-page .kalk-detail-header-toolbar .kalk-page-header-verzija,
  body.kalkulacija-detail-page .kalk-detail-header-toolbar label {
    flex: 1 1 100%;
    width: 100%;
    margin: 0 0 4px;
  }

  body.kalkulacija-detail-page .kalk-detail-header-toolbar .kalk-detail-toolbar-spacer {
    display: none;
  }

  body.kalkulacija-detail-page .kalk-detail-toolbar-end {
    display: contents;
  }

  body.kalkulacija-detail-page .kalk-detail-transient-banner {
    flex: 1 1 100%;
    width: 100%;
    margin: 0 0 4px;
  }

  /* Traka kartice (nalog osnovno, kontakti, …) */
  .phase-card-bar {
    flex-wrap: wrap;
    gap: 6px;
    align-items: flex-start;
  }

  .phase-card-bar-actions,
  .nalog-osnovni-bar-actions {
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
    margin-left: 0;
  }

  /* Forme — jedna kolona, puna širina */
  .gra-fields-row,
  .gra-fields-row--2,
  .gra-fields-row--3,
  .meta-grid,
  .contact-row {
    grid-template-columns: 1fr !important;
  }

  .podesavanja-form-actions {
    flex-wrap: nowrap;
    gap: 6px;
    width: 100%;
  }

  /* Novi / izmeni nalog */
  body.novi-nalog-page .novi-nalog-footer,
  body.novi-nalog-page .novi-nalog-footer.actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.novi-nalog-page .novi-nalog-footer .btn {
    width: 100%;
  }

  /* Izveštaji — filteri u kolonu */
  body.izvestaji-page .filters.filters-izvestaji {
    flex-direction: column;
    align-items: stretch;
  }

  body.izvestaji-page .filters.filters-izvestaji .btn,
  body.izvestaji-page .filters.filters-izvestaji select,
  body.izvestaji-page .filters.filters-izvestaji input {
    width: 100%;
    max-width: none;
  }

  body.izvestaji-page .podesavanja-table-frame,
  body.magacin-pregled-page .podesavanja-table-frame,
  body.magacin-priliv-page .podesavanja-table-frame {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-left: calc(-1 * var(--gra-panel-pad-x));
    margin-right: calc(-1 * var(--gra-panel-pad-x));
    padding-left: var(--gra-panel-pad-x);
    padding-right: var(--gra-panel-pad-x);
  }

  /* Podešavanja v2 — sekcije iz sidebar-a u horizontalni skrol u workspace-u */
  html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-layout {
    flex-direction: column;
    min-height: 0;
  }

  html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-pv2-section-sidebar {
    width: 100%;
    max-width: none;
    border-right: none;
    border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
    padding-bottom: 8px;
    margin-bottom: 8px;
  }

  html[data-ui-theme='fasc'] body.podesavanja-v2-page .sidebar-pv2-sections {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 6px;
    padding-bottom: 4px;
  }

  html[data-ui-theme='fasc'] body.podesavanja-v2-page .sidebar-pv2-sections .nav-link {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  html[data-ui-theme='fasc'] body.podesavanja-v2-page .rps-os-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Štamparija — logo red */
  body.stamparija-page .stamparija-logo-row.actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.stamparija-page .stamparija-logo-row.actions .btn,
  body.stamparija-page .stamparija-logo-row.actions input[type='file'] {
    width: 100%;
    max-width: 100%;
  }

  /* Javna ponuda + onboarding */
  body.ponuda-javna-page .enterprise-shell {
    max-width: none !important;
    margin: 0 !important;
  }

  body.ponuda-javna-page .workspace.gm-workspace {
    padding: 12px var(--app-mobile-page-pad-x) 24px !important;
  }

  body.onboarding-page .rps-onb {
    margin: 1rem auto;
    padding: 0 var(--app-mobile-page-pad-x) 2rem;
    max-width: none;
  }

  body.onboarding-page .rps-onb:has(#onbTabaciMount) {
    max-width: none;
  }

  body.onboarding-page .rps-onb__actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.onboarding-page .rps-onb__actions .btn {
    width: 100%;
  }

  /* Početna — dashboard kartice */
  body.app-session-loaded .dashboard-grid,
  body:not([data-public-landing-page='1']) .dashboard-grid {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  body[data-public-landing-page='1'].app-session-loaded .home-dashboard-shell .gm-workspace {
    padding-left: var(--app-mobile-page-pad-x);
    padding-right: var(--app-mobile-page-pad-x);
  }

  /* Zadaci — split u kolonu */
  body.zadaci-page .zadaci-split {
    flex-direction: column;
  }

  body.zadaci-page .zadaci-split-side {
    width: 100%;
    max-width: none;
  }

  /* Nalog — samo uputstvo sakriti; podnaslov (klijent) ostaje */
  body.nalog-detail-page .app-header .topbar > div:first-child > p.nalog-detail-topbar-hint {
    display: none !important;
  }

  body.nalog-detail-page .nalog-one-page-tablist--in-app-header {
    margin-top: 6px;
  }

  /* Side panel foot — kolona kad nema hamburgera */
  .gm-side-panel-foot.actions:not(.app-mobile-actions-root) {
    flex-direction: column;
    align-items: stretch;
  }

  .gm-side-panel-foot.actions:not(.app-mobile-actions-root) .btn {
    width: 100%;
  }
}

@media (max-width: 640px) {
  :root {
    --app-mobile-page-pad-x: 4px;
    --gra-panel-pad-x: 6px;
    --app-ui-btn-min-h: 32px;
    --app-ui-btn-pad-x: 8px;
    --app-ui-btn-fs: 0.75rem;
  }

  body.kalkulacija-detail-page #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel,
  body.nalog-detail-page.nalog-kalk-stavke-mode #kalkStavkaDrawer.kalk-stavka-modal.gm-side-panel,
  body.nalog-detail-page #nalogStavkaPanel.gm-side-panel,
  body.ponuda-detail-page .gm-side-panel,
  body.podesavanja-page .gm-side-panel,
  body.klijenti-page .gm-side-panel,
  body.korisnici-page .gm-side-panel,
  body.zadaci-page .gm-side-panel {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
  }

  .app-mobile-actions-panel {
    position: fixed;
    left: max(8px, env(safe-area-inset-left));
    right: max(8px, env(safe-area-inset-right));
    bottom: max(8px, env(safe-area-inset-bottom));
    top: auto;
    max-height: min(70dvh, 420px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* =============================================================================
   Mobilni ERP — prolaz 3 (liste, dashboard, detalji, forme). Samo ≤900px.
   ============================================================================= */
@media (max-width: 900px) {
  /* --- Liste (nalozi, kalkulacije, ponude) --- */
  body.nalozi-list-page .app-header .topbar > div:first-child > p.muted {
    display: none !important;
  }

  body.nalozi-list-page .rn-toolbar {
    padding: 8px 10px;
    margin-bottom: 10px;
  }

  body.nalozi-list-page .rn-toolbar-row--primary {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  body.nalozi-list-page .rn-toolbar-search-wrap {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
  }

  body.nalozi-list-page .rn-toolbar-actions {
    width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
  }

  body.nalozi-list-page .rn-toolbar-row--secondary {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    margin-top: 8px;
    padding-top: 8px;
  }

  body.nalozi-list-page .rn-toolbar-klijent-wrap {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
  }

  body.nalozi-list-page .rn-pill-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    gap: 6px;
    margin-bottom: 10px;
    padding-bottom: 4px;
    scrollbar-width: thin;
  }

  body.nalozi-list-page .rn-pill {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 6px 12px;
    font-size: 12px;
  }

  body.nalozi-list-page .nalozi-list-view-head {
    display: none !important;
  }

  body.nalozi-list-page .nalozi-empty-state:not(.hidden) {
    margin: 8px 0 12px;
    padding: 18px 12px;
    text-align: center;
    border: 1px dashed var(--pv-border-soft, #e2e8f0);
    border-radius: 10px;
    background: var(--app-table-head-bg, #f8fafc);
  }

  body.nalozi-list-page .nalozi-list-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  body.nalozi-list-page .nalozi-pagination-bar {
    display: flex;
    gap: 8px;
    width: 100%;
  }

  body.nalozi-list-page .nalozi-pagination-bar .btn {
    flex: 1 1 50%;
    min-width: 0;
  }

  body.nalozi-list-page .nalozi-mobile-wrap,
  body.nalozi-list-page #naloziCards,
  body.kalkulacije-list-page #kalkCards,
  body.ponude-list-page #ponudeCards {
    margin-top: 4px;
  }

  body.nalozi-list-page .nalozi-proizvodnja-panel {
    margin-bottom: 10px;
  }

  /* --- Dashboard (ulogovan index) --- */
  body[data-public-landing-page='1'].app-session-loaded:not(.app-public-landing) .enterprise-shell {
    width: 100%;
    max-width: none;
  }

  body[data-public-landing-page='1'].app-session-loaded:not(.app-public-landing) .gm-app-content {
    padding-left: 0;
    padding-right: 0;
  }

  .dashboard-grid {
    grid-template-columns: 1fr !important;
    gap: 8px;
  }

  .dashboard-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 12px 10px;
    border-radius: 10px;
  }

  .dashboard-icon {
    flex-shrink: 0;
    margin: 0;
    font-size: 1.5rem;
    width: 2.25rem;
    text-align: center;
  }

  .dashboard-card h3 {
    margin: 0 0 2px;
    font-size: 0.9375rem;
  }

  .dashboard-card p.muted {
    font-size: 0.8125rem;
    line-height: 1.35;
  }

  .topbar-demo-exit-naslovna {
    width: 100%;
    margin: 0 0 6px;
    justify-content: center;
  }

  /* --- Kalkulacija detalj — toolbar (legacy header) --- */
  body.kalkulacija-detail-page .kalk-detail-header-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  body.kalkulacija-detail-page .kalk-detail-header-toolbar .kalk-page-header-verzija,
  body.kalkulacija-detail-page .kalk-detail-header-toolbar label {
    width: 100%;
    margin: 0;
  }

  body.kalkulacija-detail-page .kalk-detail-header-toolbar .kalk-detail-toolbar-spacer {
    display: none;
  }

  body.kalkulacija-detail-page .kalk-detail-toolbar-end {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    width: 100%;
  }

  body.kalkulacija-detail-page .kalk-detail-header-toolbar .btn {
    width: 100%;
    justify-content: center;
  }

  body.kalkulacija-detail-page .kalk-detail-header-toolbar.app-mobile-actions-root {
    flex-direction: row;
    flex-wrap: nowrap;
  }

  body.kalkulacija-detail-page .kalk-detail-header-toolbar.app-mobile-actions-root .kalk-page-header-verzija,
  body.kalkulacija-detail-page .kalk-detail-header-toolbar.app-mobile-actions-root label,
  body.kalkulacija-detail-page .kalk-detail-header-toolbar.app-mobile-actions-root .kalk-detail-toolbar-end {
    flex: 1 1 100%;
    width: 100%;
  }

  body.kalkulacija-detail-page .app-header .topbar > div:first-child > p.muted,
  body.ponuda-detail-page .app-header .topbar > div:first-child > p.muted,
  body.novi-nalog-page .app-header .topbar > div:first-child > p.muted,
  body.izmeni-nalog-page .app-header .topbar > div:first-child > p.muted {
    display: none !important;
  }

  /* --- Nalog detalj --- */
  body.nalog-detail-page .topbar-demo-exit-naslovna,
  body.nalog-detail-page .nalog-one-page-layout > .app-page-status-msg {
    margin-bottom: 8px;
  }

  body.nalog-detail-page .phase-card-bar-actions .btn,
  body.nalog-detail-page .nalog-osnovni-bar-actions .btn {
    min-width: 0;
  }

  /* --- Magacin / unos / priliv --- */
  body.magacin-pregled-page .app-page-panel-body,
  body.magacin-unos-page .app-page-panel-body,
  body.magacin-priliv-page .app-page-panel-body {
    padding-left: var(--gra-panel-pad-x);
    padding-right: var(--gra-panel-pad-x);
  }

  /* --- Podešavanja --- */
  body.podesavanja-page .podesavanja-lista-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  body.podesavanja-page .settings-tab-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }

  body.podesavanja-page .settings-tab-row .btn {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  /* --- Poruke / obaveštenja --- */
  body.poruke-inbox-page .poruke-thread-list,
  body.obavestenja-page .obavestenja-list {
    max-width: 100%;
  }

  /* --- Auth --- */
  body.login-page .auth-back-home {
    padding: 0 var(--app-mobile-page-pad-x, 8px);
    font-size: 0.8125rem;
  }

  body.login-page .login-auth-card,
  body.login-page .auth-card {
    max-width: none;
    margin-left: var(--app-mobile-page-pad-x, 8px);
    margin-right: var(--app-mobile-page-pad-x, 8px);
  }

  /* --- Javna landing (neulogovan) --- */
  .home-landing-top-inner {
    flex-wrap: wrap;
    gap: 8px;
  }

  .home-landing-nav {
    flex: 1 1 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 6px;
  }

  .home-landing-nav-btn {
    flex: 1 1 calc(33% - 6px);
    min-width: 0;
    padding-left: 8px;
    padding-right: 8px;
    font-size: 0.8125rem;
  }

  .home-landing-cta {
    flex-direction: column;
    align-items: stretch;
  }

  .home-landing-cta-primary,
  .home-landing-cta-secondary {
    width: 100%;
    justify-content: center;
  }

  .home-landing-feature-grid {
    grid-template-columns: 1fr !important;
  }

  .home-landing-bottom-cta-row {
    flex-direction: column;
    align-items: stretch;
  }

  .home-landing-bottom-cta-row .btn {
    width: 100%;
  }

  /* --- Fiksni footer: ne preklapa sadržaj --- */
  :root {
    --app-site-footer-fixed-reserve: 52px;
  }

  .enterprise-shell > footer.app-site-footer .app-site-footer__tagline,
  .enterprise-shell > footer.app-site-footer .app-site-footer__sep:nth-of-type(3) {
    display: none;
  }

  .enterprise-shell > footer.app-site-footer .app-site-footer__inner {
    font-size: 11px;
    gap: 4px 8px;
    padding: 0 4px;
  }

  body:has(.enterprise-shell > footer.app-site-footer):not(.app-public-landing) {
    padding-bottom: calc(var(--app-site-footer-fixed-reserve) + 12px + env(safe-area-inset-bottom, 0px));
  }

  .enterprise-shell > .workspace,
  .enterprise-shell > main.workspace {
    padding-bottom: 8px;
  }

  /* --- Stacked header (poruke, zadaci, magacin, …) --- */
  .app-page-topbar {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .app-page-topbar__main {
    flex: 1 1 auto;
    order: 1;
  }

  .app-page-topbar__main .muted {
    display: none;
  }

  .app-page-topbar__back {
    order: 0;
    width: 100%;
  }

  .app-page-topbar__back .btn {
    width: 100%;
    justify-content: center;
  }

  .app-page-header-toolbar.actions {
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding-top: 8px;
    margin-top: 0;
  }

  /* Prazna lista — bez ogromne paginacije */
  body.nalozi-list-page .app-page-panel-body:has(.nalozi-empty-state:not(.hidden)) .nalozi-pagination-bar,
  body.kalkulacije-list-page .app-page-panel-body:has(#kalkEmptyState:not(.hidden)) .nalozi-pagination-bar {
    display: none;
  }

  body.nalozi-list-page .app-page-panel-body:has(.nalozi-empty-state:not(.hidden)) .nalozi-list-msg:empty,
  body.kalkulacije-list-page .app-page-panel-body:has(#kalkEmptyState:not(.hidden)) #kalkMsg:empty {
    display: none;
  }

  /* Mobilna kartica naloga — pun broj */
  .nalozi-mobile-broj .nalozi-mobile-seg-inner {
    font-size: 0.8125rem;
    word-break: break-all;
  }
}

/* =============================================================================
   Mobilni ERP — lista radnih naloga (prolaz 4). Samo ≤900px.
   ============================================================================= */
@media (max-width: 900px) {
  body.nalozi-list-page .nalozi-proizvodnja-panel:not(.hidden) {
    margin-bottom: 8px;
  }

  body.nalozi-list-page .nalozi-proizvodnja-panel .phase-card-bar {
    cursor: pointer;
    user-select: none;
    background: var(--card, #fff);
    color: var(--pv-text, #0f172a);
    border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
    box-shadow: none;
  }

  body.nalozi-list-page .nalozi-proizvodnja-panel .phase-card-tip {
    color: var(--pv-muted, #64748b);
    font-size: 10px;
  }

  body.nalozi-list-page .nalozi-proizvodnja-panel .phase-card-preview {
    color: var(--pv-text, #0f172a);
    font-weight: 600;
  }

  body.nalozi-list-page .nalozi-proizvodnja-panel .phase-card-bar::after {
    content: '▾';
    margin-left: auto;
    padding-left: 8px;
    font-size: 12px;
    opacity: 0.85;
  }

  body.nalozi-list-page .nalozi-proizvodnja-panel.nalozi-proizvodnja-panel--collapsed .phase-card-bar::after {
    content: '▸';
  }

  body.nalozi-list-page .nalozi-proizvodnja-panel.nalozi-proizvodnja-panel--collapsed .app-page-panel-body {
    display: none;
  }

  body.nalozi-list-page .nalozi-proizvodnja-panel .app-page-panel-body {
    padding: 10px 12px;
    font-size: 13px;
  }

  body.nalozi-list-page .nalozi-proizvodnja-grid {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }

  body.nalozi-list-page .nalozi-list-card > .phase-card-bar {
    display: none;
  }

  body.nalozi-list-page .nalozi-list-card.phase-card {
    border: none;
    box-shadow: none;
    background: transparent;
  }

  body.nalozi-list-page .nalozi-list-card .app-page-panel-body {
    padding: 0;
  }

  body.nalozi-list-page .rn-filters-mobile-shell {
    margin-bottom: 10px;
    border: 1px solid var(--pv-border-soft, #e2e8f0);
    border-radius: 12px;
    background: var(--card, #fff);
    overflow: hidden;
  }

  body.nalozi-list-page .rn-filters-mobile-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
  }

  body.nalozi-list-page .rn-filters-mobile-summary::-webkit-details-marker {
    display: none;
  }

  body.nalozi-list-page .rn-filters-mobile-summary-hint {
    font-size: 12px;
    font-weight: 500;
    text-align: right;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.nalozi-list-page .rn-filters-mobile-inner {
    padding: 0 10px 10px;
    border-top: 1px solid var(--pv-border-soft, #e2e8f0);
  }

  body.nalozi-list-page .rn-filters-mobile-inner .rn-toolbar {
    margin-bottom: 8px;
    padding: 10px 0 0;
    border: none;
    border-radius: 0;
    background: transparent;
  }

  body.nalozi-list-page .rn-filters-mobile-inner .rn-toolbar-label {
    font-size: 11px;
    margin-bottom: 3px;
  }

  body.nalozi-list-page .rn-filters-mobile-inner .rn-pill-row {
    margin-bottom: 8px;
  }

  body.nalozi-list-page .rn-filters-mobile-inner .rn-pill-row:last-child {
    margin-bottom: 0;
  }

  body.nalozi-list-page .nalozi-list-view-head {
    display: none !important;
  }

  body.nalozi-list-page .nalozi-list-summary-bar {
    margin: 0 0 10px;
    padding: 8px 12px;
    border-radius: 10px;
    background: var(--app-table-head-bg, #f8fafc);
    border: 1px solid var(--pv-border-soft, #e2e8f0);
    font-size: 13px;
  }

  body.nalozi-list-page .nalozi-mobile-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    border: none;
    border-radius: 0;
    background: transparent;
    overflow: visible;
  }

  body.nalozi-list-page .nalozi-mobile-item {
    margin: 0;
    border: 1px solid var(--pv-border-soft, #e2e8f0);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  }

  body.nalozi-list-page .nalozi-mobile-item:last-child {
    border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  }

  body.nalozi-list-page .nalozi-mobile-card {
    display: block;
    padding: 12px 14px;
    text-decoration: none;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
  }

  body.nalozi-list-page .nalozi-mobile-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
  }

  body.nalozi-list-page .nalozi-mobile-card-head-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
    flex: 1;
  }

  body.nalozi-list-page .nalozi-mobile-card-broj {
    font-size: 1.125rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--pv-primary, #2563eb);
    line-height: 1.2;
  }

  body.nalozi-list-page .nalozi-mobile-card-kalk .rn-kalk-veza-badge {
    max-width: 100%;
  }

  body.nalozi-list-page .nalozi-mobile-card-status {
    flex-shrink: 0;
  }

  body.nalozi-list-page .nalozi-mobile-card-status .app-status-pill {
    font-size: 11px;
    white-space: nowrap;
  }

  body.nalozi-list-page .nalozi-mobile-card-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  body.nalozi-list-page .nalozi-mobile-card-line {
    display: flex;
    gap: 8px;
    align-items: baseline;
    font-size: 0.875rem;
    line-height: 1.35;
  }

  body.nalozi-list-page .nalozi-mobile-card-k {
    flex: 0 0 4.25rem;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--pv-muted, #64748b);
  }

  body.nalozi-list-page .nalozi-mobile-card-v {
    flex: 1;
    min-width: 0;
    font-weight: 600;
    color: var(--pv-text, #0f172a);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  body.nalozi-list-page .nalozi-mobile-card-v--muted {
    font-weight: 500;
    color: var(--pv-muted, #64748b);
  }

  body.nalozi-list-page .nalozi-mobile-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid color-mix(in srgb, var(--pv-border-soft, #e2e8f0) 85%, transparent);
    font-size: 12px;
    color: var(--pv-muted, #64748b);
  }

  body.nalozi-list-page .nalozi-mobile-card-meta-item {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
  }

  body.nalozi-list-page .nalozi-mobile-card-meta .nalozi-mobile-card-k {
    flex: 0 0 auto;
  }

  body.nalozi-list-page .nalozi-mobile-item--kalk {
    border-left: 3px solid var(--accent-violet, #7c3aed);
  }

  body.nalozi-list-page .nalozi-mobile-item:active .nalozi-mobile-card {
    opacity: 0.92;
  }

  body.nalozi-list-page .nalozi-list-footer {
    margin-top: 12px;
  }

  body.nalozi-list-page .nalozi-list-msg {
    font-size: 12px;
    text-align: center;
    margin-bottom: 6px;
  }

  /* ERP lista — bela kartica, status samo pilula + tanka leva ivica (bez plavog polja) */
  body.nalozi-list-page .nalozi-mobile-item,
  body.nalozi-list-page .nalozi-mobile-item[class*='row-status-'] {
    background: var(--card, #fff) !important;
    border-left-width: 3px;
    border-left-style: solid;
    border-left-color: var(--pv-border-soft, #e2e8f0);
  }

  body.nalozi-list-page .nalozi-mobile-item.row-status-otvoren,
  body.nalozi-list-page .nalozi-mobile-item.row-status-ceka,
  body.nalozi-list-page .nalozi-mobile-item.row-status-u_pripremi,
  body.nalozi-list-page .nalozi-mobile-item.row-status-ceka_isporuku {
    border-left-color: color-mix(in srgb, var(--app-soft-blue-border, #93c5fd) 72%, var(--pv-border-soft) 28%);
  }

  body.nalozi-list-page .nalozi-mobile-item.row-status-u_radu {
    border-left-color: color-mix(in srgb, var(--app-soft-amber-border, #f59e0b) 72%, var(--pv-border-soft) 28%);
  }

  body.nalozi-list-page .nalozi-mobile-item.row-status-zavrsen,
  body.nalozi-list-page .nalozi-mobile-item.row-status-zavrseno {
    border-left-color: color-mix(in srgb, var(--app-soft-green-border, #86efac) 72%, var(--pv-border-soft) 28%);
  }

  body.nalozi-list-page .nalozi-mobile-item.row-status-otkazan,
  body.nalozi-list-page .nalozi-mobile-item.row-status-pauza {
    border-left-color: color-mix(in srgb, var(--app-soft-red-border, #fca5a5) 72%, var(--pv-border-soft) 28%);
  }

  body.nalozi-list-page .nalozi-mobile-item--kalk {
    border-left-color: inherit;
  }

  body.nalozi-list-page .nalozi-mobile-card-head {
    align-items: center;
    margin-bottom: 8px;
  }

  body.nalozi-list-page .nalozi-mobile-card-broj {
    flex: 1;
    min-width: 0;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--pv-text, #0f172a);
    line-height: 1.25;
  }

  body.nalozi-list-page .nalozi-mobile-card-status .app-status-pill.pill {
    padding: 3px 8px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 999px;
    background: var(--card, #fff);
  }

  body.nalozi-list-page .nalozi-mobile-card-status .pill.otvoren,
  body.nalozi-list-page .nalozi-mobile-card-status .pill.ceka,
  body.nalozi-list-page .nalozi-mobile-card-status .pill.u_pripremi,
  body.nalozi-list-page .nalozi-mobile-card-status .pill.ceka_isporuku {
    color: var(--app-soft-blue-text, #1e40af);
    background: color-mix(in srgb, var(--app-soft-blue-bg, #dbeafe) 28%, var(--card) 72%);
    border-color: color-mix(in srgb, var(--app-soft-blue-border, #93c5fd) 55%, var(--pv-border-soft) 45%);
  }

  body.nalozi-list-page .nalozi-mobile-card-status .pill.u_radu {
    color: var(--app-soft-amber-text, #92400e);
    background: color-mix(in srgb, var(--app-soft-amber-bg, #fef3c7) 32%, var(--card) 68%);
    border-color: color-mix(in srgb, var(--app-soft-amber-border, #fcd34d) 55%, var(--pv-border-soft) 45%);
  }

  body.nalozi-list-page .nalozi-mobile-card-status .pill.zavrsen,
  body.nalozi-list-page .nalozi-mobile-card-status .pill.zavrseno {
    color: var(--app-soft-green-text, #166534);
    background: color-mix(in srgb, var(--app-soft-green-bg, #dcfce7) 32%, var(--card) 68%);
    border-color: color-mix(in srgb, var(--app-soft-green-border, #86efac) 55%, var(--pv-border-soft) 45%);
  }

  body.nalozi-list-page .nalozi-mobile-card-status .pill.otkazan,
  body.nalozi-list-page .nalozi-mobile-card-status .pill.pauza {
    color: var(--app-soft-red-text, #991b1b);
    background: color-mix(in srgb, var(--app-soft-red-bg, #fee2e2) 32%, var(--card) 68%);
    border-color: color-mix(in srgb, var(--app-soft-red-border, #fca5a5) 55%, var(--pv-border-soft) 45%);
  }

  body.nalozi-list-page .nalozi-mobile-card-meta-kalk .rn-kalk-veza-badge {
    display: inline !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--pv-primary, #2563eb) !important;
    font-size: inherit;
    font-weight: 600;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    vertical-align: baseline;
    gap: 0;
  }

  body.nalozi-list-page .nalozi-mobile-card-meta-kalk .rn-kalk-veza-badge__dot {
    display: none;
  }

  body.nalozi-list-page .nalozi-mobile-card-meta-kalk .rn-kalk-veza-badge__ver {
    padding: 0;
    margin-left: 4px;
    border-radius: 0;
    background: transparent;
    font-size: inherit;
    font-weight: 600;
    color: var(--pv-muted, #64748b);
  }

  body.nalozi-list-page .nalozi-mobile-card-meta-kalk .rn-kalk-veza-badge:hover {
    background: transparent;
    text-decoration: underline;
  }

  body.nalozi-list-page .nalozi-list-summary-bar .rn-kalk-veza-badge {
    padding: 2px 6px;
    font-size: 11px;
    border-color: color-mix(in srgb, var(--accent-violet, #7c3aed) 18%, var(--pv-border-soft) 82%);
    background: var(--card, #fff);
    color: var(--pv-muted, #64748b);
  }

  body.nalozi-list-page .nalozi-list-summary-bar .rn-kalk-veza-badge__dot {
    width: 5px;
    height: 5px;
    box-shadow: none;
    background: var(--pv-muted, #64748b);
  }

  /* Ritam — veličine, razmaci, poravnanje (prolaz 5) */
  body.nalozi-list-page .nalozi-proizvodnja-panel {
    display: none !important;
  }

  body.nalozi-list-page .gm-app-content {
    padding-left: 0;
    padding-right: 0;
  }

  body.nalozi-list-page .podesavanja-cards-stack.nalozi-page-stack {
    gap: 8px;
  }

  body.nalozi-list-page .nalozi-proizvodnja-panel:not(.hidden) {
    margin-bottom: 6px;
  }

  body.nalozi-list-page .nalozi-proizvodnja-panel .phase-card-bar {
    padding: 7px 12px;
    min-height: 0;
    gap: 2px 8px;
  }

  body.nalozi-list-page .rn-filters-mobile-shell {
    margin-bottom: 8px;
  }

  body.nalozi-list-page .rn-filters-mobile-summary {
    min-height: 40px;
    padding: 8px 12px;
    align-items: center;
  }

  body.nalozi-list-page .nalozi-list-summary-bar {
    margin: 0 0 8px !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    gap: 4px 8px !important;
    background: var(--app-table-head-bg, #f8fafc) !important;
  }

  body.nalozi-list-page .nalozi-mobile-list {
    gap: 6px;
  }

  body.nalozi-list-page .nalozi-mobile-item {
    border-radius: 10px;
    box-shadow: none;
  }

  body.nalozi-list-page .nalozi-mobile-card {
    padding: 10px 12px 10px 11px;
  }

  body.nalozi-list-page .nalozi-mobile-card-head {
    align-items: center !important;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px !important;
    min-height: 22px;
  }

  body.nalozi-list-page .nalozi-mobile-card-broj {
    flex: 1;
    min-width: 0;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em;
    color: var(--pv-text, #0f172a) !important;
  }

  body.nalozi-list-page .nalozi-mobile-card-grid {
    display: grid;
    grid-template-columns: 4.75rem minmax(0, 1fr);
    column-gap: 10px;
    row-gap: 3px;
    align-items: center;
  }

  body.nalozi-list-page .nalozi-mobile-card-grid .nalozi-mobile-card-k {
    flex: none;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--pv-muted, #64748b);
    line-height: 1.2;
  }

  body.nalozi-list-page .nalozi-mobile-card-grid .nalozi-mobile-card-v {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  body.nalozi-list-page .nalozi-mobile-card-grid .nalozi-mobile-card-v--muted {
    font-weight: 500;
    color: var(--pv-muted, #64748b);
  }

  body.nalozi-list-page .nalozi-mobile-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin-top: 8px !important;
    padding-top: 8px !important;
    border-top: 1px solid var(--pv-border-soft, #e2e8f0);
    font-size: 11px !important;
    line-height: 1.3 !important;
    font-variant-numeric: tabular-nums;
    color: var(--pv-muted, #64748b);
  }

  body.nalozi-list-page .nalozi-mobile-card-meta-sep {
    margin: 0 7px;
    color: #cbd5e1;
    font-weight: 400;
    user-select: none;
  }

  body.nalozi-list-page .nalozi-mobile-card-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    max-width: 100%;
  }

  body.nalozi-list-page .nalozi-mobile-card-meta .nalozi-mobile-card-k {
    flex: 0 0 auto;
    font-size: 10px;
    letter-spacing: 0.04em;
  }

  body.nalozi-list-page .nalozi-mobile-card-meta-kalk {
    min-width: 0;
    flex: 1 1 auto;
  }

  body.nalozi-list-page .nalozi-mobile-card-meta-kalk .rn-kalk-veza-badge {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  body.nalozi-list-page .nalozi-mobile-card-meta-kalk .rn-kalk-veza-badge__ver {
    margin-left: 3px;
    font-size: 11px !important;
  }

  body.nalozi-list-page .nalozi-mobile-kalk-link {
    color: var(--pv-primary, #2563eb);
    font-weight: 600;
    font-size: 11px;
    line-height: 1.3;
    text-decoration: none;
  }

  body.nalozi-list-page .nalozi-mobile-kalk-link:hover {
    text-decoration: underline;
  }

  body.nalozi-list-page .nalozi-mobile-card-status .app-status-pill.pill {
    padding: 2px 7px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    min-height: 0;
  }

  body.nalozi-list-page .nalozi-list-footer {
    margin-top: 8px !important;
    padding-top: 8px !important;
    gap: 6px !important;
  }

  body.nalozi-list-page .nalozi-list-msg {
    font-size: 11px !important;
    text-align: left !important;
    margin: 0 !important;
    line-height: 1.35;
  }

  body.nalozi-list-page .nalozi-pagination-bar {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  body.nalozi-list-page .nalozi-page-info {
    flex: 0 0 auto;
    font-size: 11px;
    white-space: nowrap;
  }

  body.nalozi-list-page .nalozi-pagination-actions {
    flex: 1 1 auto;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    margin-left: 0 !important;
    min-width: 0;
  }

  body.nalozi-list-page .nalozi-pagination-actions .btn {
    flex: 1 1 0;
    min-width: 0;
    min-height: 34px;
    padding: 5px 8px;
    font-size: 12px;
  }
}

/* =============================================================================
   Mobilni ERP — lista naloga ritam (prolaz 6). Samo ≤900px.
   ============================================================================= */
@media (max-width: 900px) {
  body.nalozi-list-page .app-header {
    margin-bottom: 4px;
    padding: 4px 6px;
  }

  body.nalozi-list-page .app-header .topbar h1 {
    font-size: 1rem;
    line-height: 1.2;
  }

  /* Header: ☰ | naslov | Novi nalog | korisnik — grid poravnanje */
  body.nalozi-list-page .app-header .topbar {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) auto auto;
    grid-template-areas: 'menu title action user';
    align-items: center !important;
    column-gap: 6px;
    flex-direction: unset !important;
  }

  body.nalozi-list-page .app-header .topbar > div:first-child,
  body.nalozi-list-page .app-header .topbar-main-cluster {
    display: contents;
  }

  body.nalozi-list-page .app-header .app-mobile-menu-btn {
    grid-area: menu;
    min-width: 34px;
    width: 34px;
    min-height: 34px;
    height: 34px;
    padding: 0;
    margin: 0;
  }

  body.nalozi-list-page .app-header .topbar h1 {
    grid-area: title;
    min-width: 0;
    align-self: center;
  }

  body.nalozi-list-page .app-header .topbar > div:first-child {
    padding-right: 0 !important;
  }

  body.nalozi-list-page .app-header .topbar .actions.app-header-actions--ghost {
    grid-area: action;
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    gap: 0;
    align-self: center;
  }

  body.nalozi-list-page .app-header .topbar .actions.app-header-actions--ghost > :not(.rn-header-novi-btn) {
    display: none !important;
  }

  body.nalozi-list-page .app-header .topbar .actions.app-header-actions--ghost > .rn-header-novi-btn {
    min-height: 34px;
    padding: 5px 9px;
    font-size: 12px;
    line-height: 1.25;
    white-space: nowrap;
    border-radius: var(--app-ui-btn-radius, 10px);
  }

  body.nalozi-list-page .app-header .topbar-user-slot {
    grid-area: user;
    position: static !important;
    top: auto;
    right: auto;
    flex: 0 0 auto;
    align-self: center;
    justify-self: end;
    z-index: 1;
  }

  body.nalozi-list-page .app-header .topbar-user-slot .topbar-user-toggle {
    min-width: 34px;
    min-height: 34px;
    padding: 0 8px;
  }

  body.nalozi-list-page .rn-toolbar-novi {
    display: none !important;
  }

  body.nalozi-list-page #naloziListPanelBody.app-page-panel-body {
    padding: 6px 8px 8px;
  }

  body.nalozi-list-page .nalozi-list-summary-bar {
    display: none !important;
  }

  body.nalozi-list-page .rn-filters-mobile-summary {
    position: relative;
    min-height: 38px;
    padding: 7px 28px 7px 10px;
    font-size: 13px;
    line-height: 1.25;
  }

  body.nalozi-list-page .rn-filters-mobile-summary::after {
    content: '▸';
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 11px;
    color: var(--pv-muted, #64748b);
    line-height: 1;
  }

  body.nalozi-list-page .rn-filters-mobile-shell[open] .rn-filters-mobile-summary::after {
    content: '▾';
  }

  body.nalozi-list-page .rn-filters-mobile-summary-hint {
    font-size: 11px;
    max-width: 52%;
  }

  body.nalozi-list-page .rn-filters-mobile-inner {
    padding: 0 8px 8px;
  }

  body.nalozi-list-page .rn-toolbar {
    padding: 8px 0 0;
    margin-bottom: 0;
    border: none;
    border-radius: 0;
    background: transparent;
  }

  body.nalozi-list-page .rn-toolbar-row {
    align-items: stretch;
    gap: 6px;
  }

  body.nalozi-list-page .rn-toolbar-row--primary {
    flex-direction: column;
    gap: 6px;
  }

  body.nalozi-list-page .rn-toolbar-row--secondary {
    margin-top: 6px;
    padding-top: 6px;
    gap: 6px;
  }

  body.nalozi-list-page .rn-toolbar-label {
    margin-bottom: 2px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1.2;
  }

  body.nalozi-list-page .rn-toolbar-search,
  body.nalozi-list-page .rn-toolbar-select {
    min-height: 34px;
    height: 34px;
    padding: 6px 10px;
    font-size: 13px;
    line-height: 1.25;
    border-radius: 8px;
  }

  body.nalozi-list-page .rn-toolbar-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    width: 100%;
  }

  body.nalozi-list-page .rn-toolbar-actions .btn {
    flex: 1 1 0;
    min-width: 0;
    min-height: 34px;
    padding: 5px 6px;
    font-size: 12px;
  }

  body.nalozi-list-page .rn-toolbar-actions.app-mobile-actions-root > .btn:not(.app-mobile-actions-toggle) {
    flex: 1 1 0;
  }

  body.nalozi-list-page .rn-toolbar-actions .app-mobile-actions-toggle {
    flex: 0 0 34px;
    width: 34px;
    min-width: 34px;
    padding: 0;
  }

  body.nalozi-list-page .rn-pill-row {
    margin-bottom: 6px;
    padding-bottom: 2px;
    gap: 5px;
  }

  body.nalozi-list-page .rn-pill-row--secondary {
    margin-top: 0;
  }

  body.nalozi-list-page .rn-pill-row-label {
    font-size: 9px;
    margin-right: 4px;
    flex: 0 0 auto;
  }

  body.nalozi-list-page .rn-pill {
    padding: 5px 10px;
    font-size: 11px;
    line-height: 1.25;
    min-height: 28px;
  }

  body.nalozi-list-page .nalozi-mobile-list {
    gap: 5px;
  }

  body.nalozi-list-page .nalozi-mobile-card {
    padding: 9px 10px 9px 9px;
  }

  body.nalozi-list-page .nalozi-mobile-card-head {
    margin-bottom: 5px !important;
    min-height: 20px;
  }

  body.nalozi-list-page .nalozi-mobile-card-broj {
    font-size: 14px !important;
  }

  body.nalozi-list-page .nalozi-mobile-card-grid {
    grid-template-columns: 4.5rem minmax(0, 1fr);
    column-gap: 8px;
    row-gap: 2px;
  }

  body.nalozi-list-page .nalozi-mobile-card-grid .nalozi-mobile-card-v {
    font-size: 12px;
    -webkit-line-clamp: 1;
  }

  body.nalozi-list-page .nalozi-mobile-card-meta {
    margin-top: 6px !important;
    padding-top: 6px !important;
    font-size: 10px !important;
  }

  body.nalozi-list-page .nalozi-mobile-card-meta-sep {
    margin: 0 5px;
  }

  body.nalozi-list-page .nalozi-mobile-item--kalk {
    border-left-color: var(--pv-border-soft, #e2e8f0);
  }

  body.nalozi-list-page .nalozi-list-footer {
    border-top: 1px solid var(--pv-border-soft, #e2e8f0);
    padding-top: 8px;
    margin-top: 6px !important;
  }
}

@media (min-width: 901px) {
  body.nalozi-list-page .rn-filters-mobile-summary {
    display: none;
  }

  body.nalozi-list-page .rn-filters-mobile-shell {
    display: block;
    border: none;
    background: transparent;
    margin: 0;
  }

  body.nalozi-list-page .rn-filters-mobile-inner {
    padding: 0;
    border: none;
  }
}

/* =============================================================================
   Mobilni ERP — detalj naloga (prolaz 7). Isti jezik kao lista naloga, ≤900px.
   ============================================================================= */
@media (max-width: 900px) {
  body.nalog-detail-page .app-header--nalog-detail-tabs-host,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host,
  body.ponuda-detail-page .app-header--nalog-detail-tabs-host {
    margin-bottom: 4px;
    padding: 4px 6px;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.06);
  }

  /* Jedan red: ☰ | naslov | ← nazad | korisnik — grid pobeđuje globalni column/flex-start topbar */
  body.nalog-detail-page .app-header--nalog-detail-tabs-host > .topbar,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host > .topbar,
  body.ponuda-detail-page .app-header--nalog-detail-tabs-host > .topbar {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) auto auto;
    grid-template-areas: 'menu title back user';
    align-items: center !important;
    column-gap: 6px;
    row-gap: 0;
    flex-direction: unset !important;
    flex-wrap: nowrap !important;
  }

  body.nalog-detail-page .app-header--nalog-detail-tabs-host .topbar > div:first-child,
  body.nalog-detail-page .app-header--nalog-detail-tabs-host .topbar-main-cluster,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host .topbar > div:first-child,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host .topbar-main-cluster,
  body.ponuda-detail-page .app-header--nalog-detail-tabs-host .topbar > div:first-child,
  body.ponuda-detail-page .app-header--nalog-detail-tabs-host .topbar-main-cluster {
    display: contents;
  }

  body.nalog-detail-page .app-header--nalog-detail-tabs-host .topbar-main-cluster .brand,
  body.nalog-detail-page .app-header--nalog-detail-tabs-host .topbar-main-cluster .nalog-detail-subtitle,
  body.nalog-detail-page .app-header--nalog-detail-tabs-host .topbar-main-cluster .nalog-detail-topbar-hint,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host .topbar-main-cluster .brand,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host .topbar-main-cluster .nalog-detail-subtitle,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host .topbar > div:first-child .brand,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host .topbar #kalkLead,
  body.ponuda-detail-page .app-header--nalog-detail-tabs-host .topbar #ponLead {
    display: none !important;
  }

  body.nalog-detail-page .app-header--nalog-detail-tabs-host .app-mobile-menu-btn,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host .app-mobile-menu-btn {
    grid-area: menu;
    justify-self: start;
    align-self: center;
    min-width: 34px;
    width: 34px;
    min-height: 34px;
    height: 34px;
    padding: 0;
    margin: 0;
  }

  body.nalog-detail-page .app-header--nalog-detail-tabs-host > .topbar > div:first-child,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host > .topbar > div:first-child {
    padding-right: 0 !important;
  }

  body.nalog-detail-page .app-header--nalog-detail-tabs-host > .topbar h1#title,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host > .topbar h1#kalkH1,
  body.ponuda-detail-page .app-header--nalog-detail-tabs-host > .topbar h1#ponH1 {
    grid-area: title;
    margin: 0;
    min-width: 0;
    align-self: center;
    height: 34px;
    line-height: 34px;
    font-size: 1.0625rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--pv-primary, #2563eb);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.nalog-detail-page.nalog--za-kalkulaciju .app-header--nalog-detail-tabs-host > .topbar h1#title {
    height: auto;
    min-height: 34px;
    line-height: 1.2;
    font-size: 0.9375rem;
    color: var(--pv-text, #0f172a);
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  body.nalog-detail-page .app-header--nalog-detail-tabs-host > .topbar .actions.app-header-actions--ghost,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host > .topbar .actions.app-header-actions--ghost,
  body.ponuda-detail-page .app-header--nalog-detail-tabs-host > .topbar .actions.app-header-actions--ghost {
    grid-area: back;
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    gap: 0;
    justify-content: flex-end;
    align-self: center;
  }

  body.nalog-detail-page .app-header--nalog-detail-tabs-host > .topbar .actions.app-header-actions--ghost > :not(.nalog-header-back-btn),
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host > .topbar .actions.app-header-actions--ghost > :not(.nalog-header-back-btn),
  body.ponuda-detail-page .app-header--nalog-detail-tabs-host > .topbar .actions.app-header-actions--ghost > :not(.nalog-header-back-btn) {
    display: none !important;
  }

  body.nalog-detail-page .app-header--nalog-detail-tabs-host > .topbar .actions.app-header-actions--ghost > .nalog-header-back-btn,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host > .topbar .actions.app-header-actions--ghost > .nalog-header-back-btn,
  body.ponuda-detail-page .app-header--nalog-detail-tabs-host > .topbar .actions.app-header-actions--ghost > .nalog-header-back-btn {
    min-height: 34px;
    padding: 5px 9px;
    font-size: 12px;
    line-height: 1.25;
    white-space: nowrap;
    border-radius: var(--app-ui-btn-radius, 10px);
  }

  body.nalog-detail-page .app-header--nalog-detail-tabs-host .topbar-user-slot,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host .topbar-user-slot {
    grid-area: user;
    position: static !important;
    top: auto;
    right: auto;
    flex: 0 0 auto;
    align-self: center;
    justify-self: end;
    z-index: 1;
  }

  body.nalog-detail-page .app-header--nalog-detail-tabs-host .topbar-user-slot .topbar-user-toggle,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host .topbar-user-slot .topbar-user-toggle {
    min-width: 34px;
    min-height: 34px;
    padding: 0 8px;
  }

  body.nalog-detail-page .detail-header-tabrow,
  body.kalkulacija-detail-page .detail-header-tabrow,
  body.ponuda-detail-page .detail-header-tabrow {
    flex-wrap: wrap;
    margin-top: 4px;
    padding: 6px 6px 4px;
    min-height: 76px;
    gap: 8px;
  }

  body.nalog-detail-page .detail-header-tabrow .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
  body.kalkulacija-detail-page .detail-header-tabrow .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
  body.ponuda-detail-page .detail-header-tabrow .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header {
    margin-top: 0;
    padding: 0;
    border-top: none;
  }

  body.nalog-detail-page .detail-header-tabrow .detail-page-transient-slot,
  body.kalkulacija-detail-page .detail-header-tabrow .detail-page-transient-slot,
  body.ponuda-detail-page .detail-header-tabrow .detail-page-transient-slot {
    position: static;
    transform: none;
    flex: 1 1 100%;
    max-width: 100%;
    margin: 0;
    min-height: 2rem;
    white-space: normal;
    text-align: center;
  }

  body.nalog-detail-page .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
  body.kalkulacija-detail-page .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header {
    margin-top: 4px;
    padding: 6px 6px 2px;
    gap: 6px;
    border-top-color: var(--pv-border-soft, #e2e8f0);
  }

  body.nalog-detail-page .nalog-one-page-tablist .faze-phase-tab.nalog-one-page-tab,
  body.kalkulacija-detail-page .nalog-one-page-tablist .faze-phase-tab.nalog-one-page-tab {
    min-height: 34px;
    padding: 5px 12px;
    font-size: 12px;
    border-radius: 10px;
  }

  body.nalog-detail-page .nalog-one-page-layout,
  body.kalkulacija-detail-page .nalog-one-page-layout,
  body.ponuda-detail-page .nalog-one-page-layout {
    margin-top: 4px;
  }

  body.nalog-detail-page .nalog-one-page-tabpanels,
  body.kalkulacija-detail-page .nalog-one-page-tabpanels,
  body.ponuda-detail-page .nalog-one-page-tabpanels {
    border: none;
    box-shadow: none;
    background: transparent;
    padding: 6px 0 8px;
    border-radius: 0;
  }

  body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'],
  body.kalkulacija-detail-page .nalog-one-page-panel[data-kalk-detail-tabpanel='osnovno'] {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell,
  body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] .nalog-osnovni-acc,
  body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell,
  body.kalkulacija-detail-page .nalog-one-page-panel[data-kalk-detail-tabpanel='osnovno'] #kalkOsnovniShell {
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  }

  body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] #nalogOsnovniShell > .phase-card-bar,
  body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] .nalog-osnovni-acc > .phase-card-bar,
  body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell > .phase-card-bar,
  body.kalkulacija-detail-page .nalog-one-page-panel[data-kalk-detail-tabpanel='osnovno'] #kalkOsnovniShell > .phase-card-bar {
    padding: 8px 10px;
    gap: 6px 8px;
    min-height: 38px;
    align-items: center;
  }

  body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] .phase-card-tip,
  body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell .phase-card-tip {
    font-size: 10px;
  }

  body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='osnovno'] .phase-card-preview,
  body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='poruke'] #nalogPorukeShell .phase-card-preview {
    font-size: 12px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.nalog-detail-page .nalog-osnovni-acc > .phase-card-bar.nalog-poruke-bar-toggle::after {
    content: '▾';
    margin-left: auto;
    padding-left: 6px;
    font-size: 11px;
    color: var(--pv-muted, #64748b);
    line-height: 1;
    flex-shrink: 0;
  }

  body.nalog-detail-page .nalog-osnovni-acc[data-nalog-sazetak-collapsed='1'] > .phase-card-bar.nalog-poruke-bar-toggle::after,
  body.nalog-detail-page .nalog-osnovni-acc[data-nalog-isporuka-collapsed='1'] > .phase-card-bar.nalog-poruke-bar-toggle::after {
    content: '▸';
  }

  body.nalog-detail-page .nalog-osnovni-acc .nalog-poruke-bar-chevron {
    display: none;
  }

  body.nalog-detail-page #nalogOsnovniShell .phase-card-bar .btn,
  body.nalog-detail-page #nalogOsnovniShell .phase-card-bar .nalog-actions-toggle,
  body.kalkulacija-detail-page #kalkOsnovniShell .phase-card-bar .btn,
  body.kalkulacija-detail-page #kalkOsnovniShell .phase-card-bar .nalog-actions-toggle {
    min-height: 34px;
    padding: 5px 9px;
    font-size: 12px;
  }

  /* Traka osnovno: red 1 = status + Izmeni + Još opcija (desno); red 2 = preview (puna širina) */
  body.nalog-detail-page #nalogOsnovniShell > .phase-card-bar,
  body.kalkulacija-detail-page #kalkOsnovniShell > .phase-card-bar {
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    overflow: visible;
  }

  body.nalog-detail-page #nalogOsnovniShell > .phase-card-bar .nalog-osnovni-collapse-btn:not([hidden]),
  body.kalkulacija-detail-page #kalkOsnovniShell > .phase-card-bar .nalog-osnovni-collapse-btn:not([hidden]) {
    flex: 0 0 auto;
    order: 0;
  }

  body.nalog-detail-page #nalogOsnovniShell > .phase-card-bar #nalogOsnovniPill,
  body.kalkulacija-detail-page #kalkOsnovniShell > .phase-card-bar #kalkOsnovnoStatusPill {
    flex: 0 0 auto;
    order: 1;
  }

  body.nalog-detail-page #nalogOsnovniShell > .phase-card-bar #nalogOsnovniPreview,
  body.kalkulacija-detail-page #kalkOsnovniShell > .phase-card-bar #kalkOsnovnoPreview {
    flex: 1 1 100%;
    order: 10;
    min-width: 0;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.nalog-detail-page #nalogOsnovniShell .nalog-osnovni-bar-actions,
  body.kalkulacija-detail-page #kalkOsnovniShell .nalog-osnovni-bar-actions,
  body.ponuda-detail-page #ponOsnovniShell .nalog-osnovni-bar-actions,
  body.kalkulacija-detail-page #kalkOsnovniShell .phase-card-bar-actions,
  body.ponuda-detail-page #ponOsnovniShell .phase-card-bar-actions {
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    margin-left: auto !important;
    flex: 0 0 auto !important;
    order: 5;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 6px;
    overflow: visible;
  }

  body.nalog-detail-page #nalogOsnovniShell .nalog-osnovni-actions-wrap,
  body.kalkulacija-detail-page #kalkOsnovniShell .nalog-osnovni-actions-wrap,
  body.ponuda-detail-page #ponOsnovniShell .nalog-osnovni-actions-wrap {
    flex: 0 0 auto;
    flex-shrink: 0;
  }

  body.nalog-detail-page #nalogOsnovniShell .nalog-osnovni-bar-actions #nalogOsnovniEditBtn,
  body.nalog-detail-page #nalogOsnovniShell .nalog-osnovni-bar-actions .nalog-actions-toggle,
  body.kalkulacija-detail-page #kalkOsnovniShell .nalog-osnovni-bar-actions #kalkOsnovnoIzmeniBtn,
  body.kalkulacija-detail-page #kalkOsnovniShell .nalog-osnovni-bar-actions .nalog-actions-toggle,
  body.ponuda-detail-page #ponOsnovniShell .nalog-osnovni-bar-actions #ponOsnovnoIzmeniBtn,
  body.ponuda-detail-page #ponOsnovniShell .nalog-osnovni-bar-actions .nalog-actions-toggle {
    flex: 0 0 auto;
  }

  body.nalog-detail-page #nalogOsnovniShell .phase-card-bar .app-status-pill.pill,
  body.kalkulacija-detail-page #kalkOsnovniShell .phase-card-bar .app-status-pill.pill {
    padding: 2px 7px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    min-height: 0;
  }

  body.nalog-detail-page #nalogOsnovniShell .nalog-osnovni-section-title,
  body.kalkulacija-detail-page #kalkOsnovniShell .nalog-osnovni-section-title,
  body.ponuda-detail-page #ponOsnovniShell .nalog-osnovni-section-title {
    font-size: 0.9375rem;
    margin-bottom: 6px;
  }

  body.nalog-detail-page .nalog-meta-grid,
  body.kalkulacija-detail-page .nalog-meta-grid,
  body.ponuda-detail-page .nalog-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body.nalog-detail-page .nalog-meta-grid .meta-item,
  body.kalkulacija-detail-page .nalog-meta-grid .meta-item {
    padding: 8px 9px;
    border-radius: 10px;
  }

  body.nalog-detail-page .nalog-meta-grid .meta-item .label,
  body.kalkulacija-detail-page .nalog-meta-grid .meta-item .label {
    font-size: 9px;
    margin-bottom: 2px;
  }

  body.nalog-detail-page .nalog-meta-grid .meta-item .value,
  body.kalkulacija-detail-page .nalog-meta-grid .meta-item .value {
    font-size: 13px;
    line-height: 1.3;
  }

  body.nalog-detail-page .nalog-sazetak-inner {
    font-size: 13px;
  }

  body.nalog-detail-page .nalog-sazetak-chip {
    font-size: 11px;
    padding: 3px 7px;
  }

  body.nalog-detail-page.operator-nalog-onepage .operator-work-header,
  body.nalog-detail-page.operator-nalog-onepage .operator-work-lead {
    display: none !important;
  }

  body.nalog-detail-page .nalog-operator-stavke-chrome .operator-work-stavke-add-btn {
    width: 100%;
    min-height: 34px;
    justify-content: center;
  }

  body.nalog-detail-page .operator-work-stavka--tabpick .operator-work-st-head--tabpick {
    min-height: 38px;
    padding: 8px 10px;
  }

  body.nalog-detail-page .operator-work-stavka--tabpick .operator-work-st-title {
    font-size: 13px;
  }

  body.nalog-detail-page #stavkeAdminShell > .phase-card-bar {
    display: none;
  }

  body.nalog-detail-page #stavkeAdminShell > .app-page-panel-body {
    padding: 8px 10px 10px;
  }

  body.nalog-detail-page .nalog-stavke-title {
    font-size: 1rem;
    margin: 0 0 6px;
  }

  body.nalog-detail-page .nalog-stavke-lead,
  body.nalog-detail-page .nalog-stavke-toolbar-hint {
    display: none !important;
  }

  body.nalog-detail-page .podesavanja-lista-toolbar .btn {
    width: 100%;
    min-height: 34px;
    justify-content: center;
  }

  body.nalog-detail-page #stavkeCards.podesavanja-mobile-cards-root {
    gap: 6px;
    margin-top: 8px;
  }

  body.nalog-detail-page #stavkeCards .podesavanja-mobile-item {
    border-radius: 12px;
  }

  body.nalog-detail-page #stavkeCards .podesavanja-mobile-open {
    padding: 10px 12px;
    min-height: 44px;
  }

  body.nalog-detail-page .nalog-poruke-compose textarea {
    min-height: 72px;
    font-size: 15px;
  }

  body.nalog-detail-page .nalog-poruke-compose-actions .btn {
    width: 100%;
    min-height: 34px;
    justify-content: center;
  }

  body.nalog-detail-page:not(.nalog-kalk-stavke-mode) #nalogKalkStavkeShell {
    display: none !important;
  }

  body.nalog-detail-page.operator-nalog-onepage .kalk-stavke-lead {
    display: none !important;
  }

  body.nalog-detail-page .nalog-one-page-panel[data-nalog-detail-tabpanel='stavke'],
  body.kalkulacija-detail-page .nalog-one-page-panel[data-kalk-detail-tabpanel='stavke'] {
    padding: 0;
  }

  .detail-stavke-faze-view .kalk-stavke-lead {
    display: none !important;
  }

  .detail-stavke-faze-view > .app-page-panel-body {
    padding: 0;
    gap: 8px;
    display: flex;
    flex-direction: column;
  }

  .detail-stavke-faze-view > .phase-card-bar {
    display: none;
  }

  .detail-stavke-faze-view .kalk-stavke-toolbar {
    margin-bottom: 8px;
  }

  .detail-stavke-faze-view .kalk-stavke-toolbar .btn,
  body.nalog-detail-page .nalog-operator-stavke-chrome .operator-work-stavke-add-btn {
    width: auto;
    min-height: 34px;
    justify-content: center;
  }

  .detail-stavke-faze-view .kalk-stavke-list-root .kalk-stavka-acc-toolbar .btn {
    width: auto;
    flex: 0 0 auto;
    min-height: 32px;
    padding-inline: 8px;
    font-size: 0.75rem;
  }

  .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-head--tabpick {
    padding: 10px 12px;
  }

  .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-rb {
    font-size: 14px;
  }

  .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-name {
    font-size: 12px;
  }

  body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-st-head--tabpick {
    padding: 10px 12px;
  }

  body.nalog-detail-page .nalog-operator-nest-accordion .operator-work-st-rb {
    font-size: 14px;
  }

  body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-panel {
    margin-top: 8px;
    border-radius: 10px;
  }

  body.nalog-detail-page.operator-nalog-onepage .nalog-operator-nest-accordion .operator-work-st-body--tabpick .operator-work-faze-panel-body {
    padding: 10px 12px 12px;
  }

  body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick .operator-work-faze-panel-body,
  body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick .operator-work-faze-panel-body {
    padding: 0;
    background: transparent;
  }

  body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick .operator-work-faze-panel,
  body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root .operator-work-st-body--tabpick .operator-work-faze-panel {
    margin-top: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 420px) {
  body.nalog-detail-page .nalog-meta-grid,
  body.kalkulacija-detail-page .nalog-meta-grid,
  body.ponuda-detail-page .nalog-meta-grid {
    grid-template-columns: 1fr;
  }
}

/* =============================================================================
   Desktop ERP — jedinstven layout (≥901px): sidebar + ista širina sadržaja.
   Pravilo: .cursor/rules/desktop-max-width.mdc · desktop-primary-ui.mdc
   ============================================================================= */
@media (min-width: 901px) {
  :root {
    /* Jedan token za celu aplikaciju (liste, detalj, dashboard…) — menjati posle testa */
    --app-desktop-max-content: 1440px;
    --app-desktop-max-workspace: var(--app-desktop-max-content);
    --app-desktop-max-list: var(--app-desktop-max-content);
    --app-desktop-max-form: var(--app-desktop-max-content);
  }

  html[data-ui-theme='fasc'] .enterprise-shell > .workspace,
  html[data-ui-theme='fasc'] .enterprise-shell > main.workspace,
  .enterprise-shell > .workspace,
  .enterprise-shell > main.workspace {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--app-desktop-max-content);
    margin-inline: 0;
    flex: 1 1 auto;
    min-width: 0;
  }

  /* Detalj nalog / kalkulacija / ponuda — tabovi u liniji sa sadržajem (bez duplog L/R paddinga na tabpanels) */
  body.nalog-detail-page .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
  body.kalkulacija-detail-page .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
  body.ponuda-detail-page .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header {
    padding-left: 0;
    padding-right: 0;
  }

  body.nalog-detail-page .nalog-one-page-tabpanels,
  body.kalkulacija-detail-page .nalog-one-page-tabpanels,
  body.ponuda-detail-page .nalog-one-page-tabpanels {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    padding-bottom: var(--nalog-ux-space-lg, 18px);
  }

  /* Detalj — isti vertikalni početak sadržaja u svim tabovima */
  body.nalog-detail-page,
  body.kalkulacija-detail-page,
  body.ponuda-detail-page {
    --detail-tab-content-offset: 8px;
  }

  body.nalog-detail-page .nalog-one-page-layout,
  body.kalkulacija-detail-page .nalog-one-page-layout,
  body.ponuda-detail-page .nalog-one-page-layout.pon-detail-page-stack {
    margin-top: var(--detail-tab-content-offset);
  }

  body.nalog-detail-page .app-header--nalog-detail-tabs-host .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
  body.kalkulacija-detail-page .kalk-detail-app-header--tabs-host .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header,
  body.ponuda-detail-page .app-header--nalog-detail-tabs-host .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header {
    padding-bottom: 0;
  }

  /* Nalog / kalkulacija / ponuda — telo tabova ista širina kao topbar (bez L/R inseta na panelima) */
  body.nalog-detail-page #detailPageMain .nalog-one-page-tabpanels,
  body.kalkulacija-detail-page #detailPageMain .nalog-one-page-tabpanels,
  body.ponuda-detail-page #detailPageMain .nalog-one-page-tabpanels {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding-left: 0;
    padding-right: 0;
  }

  /* Stavke — ista „kartica“ kao Osnovno; bez duplog naslova i hinta */
  body.nalog-detail-page .detail-stavke-faze-view > .phase-card-bar,
  body.kalkulacija-detail-page .detail-stavke-faze-view > .phase-card-bar,
  body.ponuda-detail-page .pon-stavke-rezime-wrap.detail-stavke-faze-view > .phase-card-bar {
    display: none;
  }

  body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-lead,
  body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-lead {
    display: none !important;
  }

  body.ponuda-detail-page .pon-stavke-hint {
    display: none !important;
  }

  body.nalog-detail-page .detail-stavke-faze-view,
  body.kalkulacija-detail-page .detail-stavke-faze-view,
  body.ponuda-detail-page .pon-stavke-rezime-wrap.detail-stavke-faze-view,
  html[data-ui-theme='fasc'] body.nalog-detail-page .detail-stavke-faze-view.phase-row-shell.app-page-shell:not(.login-auth-card),
  html[data-ui-theme='fasc'] body.kalkulacija-detail-page .detail-stavke-faze-view.phase-row-shell.app-page-shell:not(.login-auth-card),
  html[data-ui-theme='fasc'] body.ponuda-detail-page .pon-stavke-rezime-wrap.detail-stavke-faze-view.phase-row-shell.app-page-shell:not(.login-auth-card) {
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }

  body.nalog-detail-page .detail-stavke-faze-view > .app-page-panel-body,
  body.kalkulacija-detail-page .detail-stavke-faze-view > .app-page-panel-body,
  body.ponuda-detail-page .pon-stavke-rezime-wrap.detail-stavke-faze-view > .app-page-panel-body {
    padding: 0;
    gap: 8px;
  }

  body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-toolbar,
  body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-toolbar {
    width: fit-content;
    max-width: 100%;
    margin: 0 0 8px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.nalog-detail-page .detail-stavke-faze-view .kalk-stavke-list-root,
  body.kalkulacija-detail-page .detail-stavke-faze-view .kalk-stavke-list-root {
    padding: 0;
    box-sizing: border-box;
  }

  body.nalog-detail-page .nalog-operator-stavke-chrome {
    margin-bottom: 0;
  }

  body.nalog-detail-page .nalog-operator-stavke-workspace {
    gap: 0;
  }

  body.nalog-detail-page .operator-work-shell {
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
  }

  body.nalog-detail-page .nalog-operator-nest-accordion {
    margin-top: 0;
  }

  /* Detalj — header: linkovi/dugmad desno ne smeju da nestanu (topbar nowrap + min-width:0) */
  body.nalog-detail-page .app-header--nalog-detail-tabs-host > .topbar,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host > .topbar {
    flex-wrap: wrap;
    align-items: center;
  }

  body.nalog-detail-page .app-header--nalog-detail-tabs-host > .topbar > div:first-child,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host > .topbar > div:first-child {
    flex: 1 1 280px;
    min-width: min(100%, 280px);
  }

  body.nalog-detail-page .app-header--nalog-detail-tabs-host > .topbar .actions.app-header-actions--ghost,
  body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host > .topbar .actions.app-header-actions--ghost {
    flex: 0 0 auto;
    min-width: max-content;
    margin-left: auto;
  }

  /* Detalj nalog/kalk — traka kartice: prelom dugmadi umesto sečenja */
  body.nalog-detail-page .phase-card-bar .phase-card-bar-actions,
  body.nalog-detail-page .phase-card-bar .nalog-osnovni-bar-actions,
  body.kalkulacija-detail-page .phase-card-bar .phase-card-bar-actions,
  body.kalkulacija-detail-page .phase-card-bar .nalog-osnovni-bar-actions,
  body.nalog-detail-page #nalogOsnovniShell > .phase-card-bar,
  body.kalkulacija-detail-page #kalkOsnovniShell > .phase-card-bar {
    flex-wrap: wrap;
    row-gap: 6px;
  }

  body.nalog-detail-page #nalogOsnovniShell .nalog-osnovni-bar-actions,
  body.nalog-detail-page #nalogOsnovniShell .phase-card-bar-actions,
  body.kalkulacija-detail-page #kalkOsnovniShell .nalog-osnovni-bar-actions,
  body.kalkulacija-detail-page #kalkOsnovniShell .phase-card-bar-actions {
    flex-wrap: wrap !important;
  }
}

/* Detalj dokumenta — prekrivač u radnoj koloni (sidebar ostaje vidljiv) */
:root {
  --detail-page-busy-inset-left: 238px;
}

body.detail-page-busy main.workspace > :not(#detailPageBusy) {
  visibility: hidden !important;
}

body.detail-page-busy.detail-page-entering main.workspace > :not(#detailPageBusy) {
  visibility: visible !important;
  animation: detail-page-rise-in 0.4s ease-out both;
}

body.detail-page-busy #detailPageBusy.detail-page-workspace-busy {
  display: flex !important;
  position: fixed;
  z-index: 450;
  top: 0;
  right: 0;
  bottom: 0;
  left: var(--detail-page-busy-inset-left);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin: 0;
  padding: 2rem 1.25rem;
  background: var(--gra-panel-bg, #f1f5f9);
  color: var(--pv-muted, #64748b);
  font-size: 0.95rem;
  line-height: 1.45;
  opacity: 1;
  transition: opacity 0.32s ease;
}

body.detail-page-busy.detail-page-entering #detailPageBusy.detail-page-workspace-busy {
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 900px) {
  body.detail-page-busy #detailPageBusy.detail-page-workspace-busy {
    left: 0;
  }
}

body:not(.detail-page-busy) #detailPageBusy {
  display: none !important;
}

body.nalog-detail-page:not(.detail-page-busy) #detailPageMain,
body.kalkulacija-detail-page:not(.detail-page-busy) #detailPageMain,
body.ponuda-detail-page:not(.detail-page-busy) #detailPageMain {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

body.detail-page-busy .gm-side-panel:not(.gm-side-panel--open),
body.detail-page-busy .gm-side-panel-backdrop:not(.gm-side-panel-backdrop--open) {
  visibility: hidden !important;
  opacity: 0 !important;
  transition: none !important;
}

@keyframes detail-page-rise-in {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.detail-page-busy.detail-page-entering main.workspace > :not(#detailPageBusy) {
    animation: none;
  }

  body.detail-page-busy.detail-page-entering #detailPageBusy {
    transition: none;
  }
}

.detail-page-busy-panel__text {
  margin: 0;
}

.detail-page-busy-spinner {
  width: 2rem;
  height: 2rem;
  border: 3px solid var(--pv-border, #cbd5e1);
  border-top-color: var(--accent-blue, #2563eb);
  border-radius: 50%;
  animation: detail-page-busy-spin 0.75s linear infinite;
}

@keyframes detail-page-busy-spin {
  to {
    transform: rotate(360deg);
  }
}

/* =============================================================================
   Mobilni ERP — prolaz 8 (cela aplikacija). Samo ≤900px.
   Isti vizuelni standard kao nalozi.html + nalog.html (prolaz 4–7).
   ============================================================================= */
@media (max-width: 900px) {

  /* ─── app-page-topbar (klijenti, zadaci, poruke, magacin, izvestaji, podesavanja) ─── */
  /* Back link: kompaktan, ne full-width — auto širina, levo poravnat */
  .app-page-topbar {
    gap: 4px;
  }

  .app-page-topbar__back {
    width: auto !important;
  }

  .app-page-topbar__back .btn {
    width: auto !important;
    justify-content: flex-start !important;
    font-size: 0.8125rem;
    padding: 4px 10px;
    min-height: 30px;
  }

  /* Topbar main (H1 + hamburger) — kompaktniji */
  .app-page-topbar__main h1 {
    font-size: 1.0625rem;
    font-weight: 800;
    margin: 0;
  }

  /* Toolbar sa akcijama — "Novi X" dugme u isti nivo */
  .app-page-header-toolbar.actions.app-header-actions--ghost {
    padding-top: 4px;
    gap: 6px;
  }

  /* ─── Ponuda detalj — ukloni subtitle ─── */
  body.ponuda-detail-page .pon-page-meta {
    display: none !important;
  }

  body.ponuda-detail-page .pon-page-topbar__back .btn {
    font-size: 0.8125rem;
    padding: 4px 8px;
    min-height: 30px;
  }

  /* ─── Kalkulacije + Ponude lista — isti CSS kao nalozi (koriste nalozi-mobile-card) ─── */
  body.kalkulacije-list-page .kalk-mobile-card-foot {
    padding: 4px 12px 8px;
    display: flex;
    justify-content: flex-end;
  }

  /* Sakrij table; prikaži kartice (ako već nije) */
  body.kalkulacije-list-page .podesavanja-table-frame {
    display: none !important;
  }

  body.kalkulacije-list-page #kalkCards {
    display: block !important;
  }

  body.ponude-list-page .podesavanja-table-frame {
    display: none !important;
  }

  body.ponude-list-page #ponudeCards {
    display: block !important;
  }

  /* ─── Izveštaji — kompaktni filteri ─── */
  body.izvestaji-page .izvestaji-date-row,
  body.izvestaji-page .gra-fields-row.filters-izvestaji {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px;
  }

  body.izvestaji-page .filters.filters-izvestaji .btn.primary,
  body.izvestaji-page .filters.filters-izvestaji .btn.info {
    width: 100%;
    margin-top: 4px;
  }

  /* ─── Magacin — tabela scroll (pojačano) ─── */
  body.magacin-pregled-page .gm-table-card .podesavanja-table-block {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* ─── Podesavanja — tab traka scroll ─── */
  body.podesavanja-page .podesavanja-group-tablist {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  body.podesavanja-page .podesavanja-group-tablist::-webkit-scrollbar {
    display: none;
  }

  /* ─── Stamparija — textarea bez monospace fonta ─── */
  body.stamparija-page textarea {
    font-family: inherit;
    font-size: 0.9375rem;
  }

  /* ─── Klijenti — lista kompaktnija ─── */
  body.klijenti-page .klijenti-hint-text {
    display: none;
  }

  /* ─── Zadaci — red kompaktniji ─── */
  body.zadaci-page .zadaci-hint-text {
    display: none;
  }

  /* ─── Kalkulacija detalj — card bar kao nalog ─── */

  /* Desktop-only elementi (tip + verPill) sakriveni na mobilnom */
  body.kalkulacija-detail-page #kalkPanelOsnovno .kalk-osnovno-desktop-only {
    display: none !important;
  }
  /* Mobile-only elementi (statusPill + preview) vidljivi na mobilnom */
  body.kalkulacija-detail-page #kalkPanelOsnovno .kalk-osnovno-mobile-only {
    display: inline-flex;
  }

  body.kalkulacija-detail-page #kalkPanelOsnovno .phase-row-shell > .phase-card-bar {
    background: rgba(248, 250, 252, 0.98) !important;
    border-left: none !important;
    border-bottom: 1px solid #eef2f7;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 4px 8px;
    padding: 8px 10px;
  }

  /* Pill: red 1 levo (order 1) */
  body.kalkulacija-detail-page #kalkPanelOsnovno .phase-row-shell > .phase-card-bar #kalkOsnovnoStatusPill {
    flex: 0 0 auto;
    order: 1;
    padding: 2px 7px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    min-height: 0;
  }

  /* Actions (Izmeni): red 1 desno (order 5, margin-left: auto) */
  body.kalkulacija-detail-page #kalkPanelOsnovno .phase-row-shell > .phase-card-bar .phase-card-bar-actions {
    order: 5;
    margin-left: auto;
    flex: 0 0 auto;
    width: auto !important;
    max-width: none !important;
    justify-content: flex-end;
    gap: 6px;
  }

  body.kalkulacija-detail-page #kalkPanelOsnovno .phase-row-shell > .phase-card-bar .phase-card-bar-actions .btn {
    min-height: 34px;
    padding: 5px 12px;
    font-size: 13px;
    white-space: nowrap;
  }

  /* Preview: red 2 (order 10, flex 1 1 100% → wraps) */
  body.kalkulacija-detail-page #kalkPanelOsnovno .phase-row-shell > .phase-card-bar #kalkOsnovnoPreview {
    flex: 1 1 100%;
    order: 10;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    color: var(--pv-text-muted, #64748b) !important;
  }

  body.kalkulacija-detail-page #kalkPanelOsnovno #kalkOsnovniShell .nalog-osnovni-section-title {
    font-size: 0.9375rem;
    margin-bottom: 6px;
  }

  /* Meta grid — 2 kolone kao nalog */
  body.kalkulacija-detail-page #kalkPanelOsnovno .nalog-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body.kalkulacija-detail-page #kalkPanelOsnovno .nalog-meta-grid .meta-item {
    padding: 8px 9px;
    border-radius: 10px;
  }

  body.kalkulacija-detail-page #kalkPanelOsnovno .nalog-meta-grid .meta-item .label {
    font-size: 9px;
    margin-bottom: 2px;
  }

  body.kalkulacija-detail-page #kalkPanelOsnovno .nalog-meta-grid .meta-item .value {
    font-size: 13px;
    line-height: 1.3;
  }
}

@media (min-width: 901px) {
  /* Kalkulacija Osnovno — desktop: vrati tip+ver, sakrij mobile elemente */
  body.kalkulacija-detail-page #kalkPanelOsnovno .kalk-osnovno-desktop-only {
    display: inline !important;
  }
  body.kalkulacija-detail-page #kalkPanelOsnovno .kalk-osnovno-mobile-only {
    display: none !important;
  }
  body.kalkulacija-detail-page .kalk-osnovni-section-title {
    display: none;
  }
}

/* =============================================================================
   Kalkulacija detalj — isti shell kao radni nalog (maj 2026)
   ============================================================================= */
body.kalkulacija-detail-page {
  --nalog-ux-space: 12px;
  --nalog-ux-space-lg: 18px;
  --nalog-ux-radius: 12px;
  --nalog-ux-btn-h: var(--app-ui-btn-min-h);
  --nalog-ux-btn-h-lg: var(--app-ui-btn-min-h);
  --nalog-ux-bar-bg: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  --nalog-ux-bar-border: #e2e8f0;
}

body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host > .topbar > div:first-child .brand {
  font-size: 15px;
  opacity: 0.92;
}

body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host > .topbar h1#kalkH1 {
  margin: 0 0 4px;
  font-size: clamp(1.28rem, 2.2vw, 1.58rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--pv-text, #0f172a);
  line-height: 1.2;
}

body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host .nalog-detail-subtitle {
  margin: 0;
  min-height: 1.35em;
  max-width: 72ch;
  line-height: 1.45;
  font-size: 0.98rem;
}

body.kalkulacija-detail-page .app-header--nalog-detail-tabs-host .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header {
  margin-top: 8px;
  padding-top: 10px;
  padding-bottom: 2px;
  border-top: 1px solid var(--pv-border-soft, #e2e8f0);
}

body.kalkulacija-detail-page .nalog-one-page-layout {
  margin-top: var(--nalog-ux-space);
}

body.kalkulacija-detail-page .nalog-one-page-tabpanels {
  padding: var(--nalog-ux-space-lg) var(--nalog-ux-space-lg) calc(var(--nalog-ux-space-lg) + 2px);
  border-radius: 12px;
}

body.kalkulacija-detail-page #kalkPanelOsnovno #kalkOsnovniShell > .phase-card-bar {
  overflow: visible;
  position: relative;
  z-index: 2;
  background: var(--nalog-ux-bar-bg) !important;
  border-bottom: 1px solid var(--nalog-ux-bar-border) !important;
  border-left: none !important;
  box-shadow: none !important;
  padding: 12px 14px !important;
  gap: 8px 12px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

body.kalkulacija-detail-page #kalkPanelOsnovno #kalkOsnovniShell .phase-card-preview {
  color: #64748b !important;
  flex: 1 1 auto !important;
  order: unset !important;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.kalkulacija-detail-page #kalkPanelOsnovno #kalkOsnovniShell .phase-card-bar-actions {
  order: unset !important;
  margin-left: auto !important;
  width: auto !important;
  max-width: none !important;
  flex-wrap: wrap !important;
}

body.kalkulacija-detail-page #kalkPanelOsnovno #kalkOsnovniShell .phase-card-bar .btn.light,
body.kalkulacija-detail-page #kalkPanelOsnovno #kalkOsnovniShell .phase-card-bar .phase-card-toggle.btn {
  background: rgba(255, 255, 255, 0.92);
  border-color: #e2e8f0;
  color: #334155;
}

body.kalkulacija-detail-page #kalkPanelOsnovno #kalkOsnovniShell .nalog-osnovni-collapse-arrow {
  color: #475569;
}

body.kalkulacija-detail-page #kalkPanelOsnovno #kalkOsnovniShell .nalog-osnovni-body:not(.is-collapsed) {
  border-top: 1px solid #e2e8f0;
}

body.kalkulacija-detail-page #kalkOsnovnoMarzaBlock.kalk-osnovno-marza-block {
  margin: 12px 0 16px;
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  gap: 12px 16px;
}

body.kalkulacija-detail-page #kalkOsnovnoMarzaBlock .field-hint {
  margin: 4px 0 0;
  font-size: 0.88em;
}

body.kalkulacija-detail-page #kalkOsnovnoMarzaBlock #kfMarza {
  max-width: 10rem;
}

body.kalkulacija-detail-page #kalkOsnovniActionsPanel .kalk-page-header-verzija {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  padding: 2px 0 6px;
  margin: 0;
  font-size: 0.8125rem;
}

body.kalkulacija-detail-page #kalkOsnovniActionsPanel .kalk-page-header-verzija select {
  width: 100%;
}

body.kalkulacija-detail-page #kalkOsnovniActionsPanel .nalog-actions-menu-item.btn,
body.ponuda-detail-page #ponDetailActionsPanel .nalog-actions-menu-item.btn {
  width: 100%;
  justify-content: center;
  text-align: center;
}

/* Kalkulacija / ponuda / nalog — tab Osnovno: desktop prikazuje sve akcije u traci (bez „Još opcija“) */
@media (min-width: 901px) {
  body.kalkulacija-detail-page #kalkOsnovniActionsToggle,
  body.ponuda-detail-page #ponDetailActionsToggle,
  body.nalog-detail-page #nalogOsnovniActionsToggle {
    display: none !important;
  }

  body.kalkulacija-detail-page #kalkOsnovniActionsPanel,
  body.kalkulacija-detail-page #kalkOsnovniActionsPanel.hidden,
  body.ponuda-detail-page #ponDetailActionsPanel,
  body.ponuda-detail-page #ponDetailActionsPanel.hidden,
  body.nalog-detail-page #nalogOsnovniActionsPanel,
  body.nalog-detail-page #nalogOsnovniActionsPanel.hidden {
    display: flex !important;
    position: static;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
    max-width: none;
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  body.kalkulacija-detail-page #kalkOsnovniActionsPanel .kalk-page-header-verzija {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 0;
    margin: 0;
    white-space: nowrap;
  }

  body.kalkulacija-detail-page #kalkOsnovniActionsPanel .kalk-page-header-verzija select {
    width: auto;
    min-width: 7.5rem;
  }

  body.kalkulacija-detail-page #kalkOsnovniActionsPanel .nalog-actions-menu-item.btn,
  body.ponuda-detail-page #ponDetailActionsPanel .nalog-actions-menu-item.btn,
  body.nalog-detail-page #nalogOsnovniActionsPanel .nalog-actions-menu-item.btn {
    width: auto;
    flex: 0 0 auto;
    justify-content: center;
    text-align: center;
    padding-inline: 10px;
  }

  body.kalkulacija-detail-page #kalkOsnovniActionsPanel .kalk-pretvori-nalog-veza.nalog-actions-menu-item {
    width: auto;
    flex: 0 0 auto;
    padding: 0;
  }

  body.kalkulacija-detail-page #kalkOsnovniShell .nalog-osnovni-bar-actions,
  body.ponuda-detail-page #ponOsnovniShell .nalog-osnovni-bar-actions,
  body.nalog-detail-page #nalogOsnovniShell .nalog-osnovni-bar-actions {
    flex-wrap: wrap !important;
    row-gap: 6px;
  }

  body.kalkulacija-detail-page #kalkOsnovniShell .nalog-osnovni-actions-wrap,
  body.ponuda-detail-page #ponOsnovniShell .nalog-osnovni-actions-wrap,
  body.nalog-detail-page #nalogOsnovniShell .nalog-osnovni-actions-wrap {
    flex: 1 1 auto;
    min-width: 0;
  }
}

@media (max-width: 900px) {
  body.kalkulacija-detail-page {
    --nalog-ux-space: 8px;
    --nalog-ux-space-lg: 8px;
  }

  body.kalkulacija-detail-page .nalog-one-page-tabpanels {
    padding: 10px max(6px, env(safe-area-inset-left, 0px)) 12px max(6px, env(safe-area-inset-right, 0px));
  }

  body.kalkulacija-detail-page .nalog-one-page-tablist.nalog-one-page-tablist--in-app-header {
    padding-left: max(4px, env(safe-area-inset-left, 0px));
    padding-right: max(4px, env(safe-area-inset-right, 0px));
  }

  body.kalkulacija-detail-page #kalkPanelOsnovno #kalkOsnovniShell .nalog-osnovni-body {
    padding: 12px max(6px, env(safe-area-inset-left, 0px)) 16px max(6px, env(safe-area-inset-right, 0px));
  }

  body.kalkulacija-detail-page .nalog-meta-grid .meta-item {
    padding: 8px 9px;
  }

  body.kalkulacija-detail-page .nalog-one-page-panel[data-kalk-detail-tabpanel='osnovno'] #kalkOsnovniShell > .phase-card-bar {
    padding: 8px 10px;
    gap: 6px 8px;
    min-height: 38px;
  }

  body.kalkulacija-detail-page #kalkPanelOsnovno .nalog-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body.kalkulacija-detail-page #kalkPanelOsnovno .nalog-meta-grid .meta-item .label {
    font-size: 9px;
    margin-bottom: 2px;
  }

  body.kalkulacija-detail-page #kalkPanelOsnovno .nalog-meta-grid .meta-item .value {
    font-size: 13px;
    line-height: 1.3;
  }

  body.kalkulacija-detail-page .workspace input:not([type='checkbox']):not([type='radio']),
  body.kalkulacija-detail-page .workspace select:not([multiple]) {
    min-height: 42px;
    padding: 9px 12px;
    font-size: 15px;
  }

  body.kalkulacija-detail-page .workspace textarea {
    min-height: 68px;
    padding: 10px 12px;
    font-size: 15px;
  }

  body.kalkulacija-detail-page #kalkPanelStavke > .kalk-stavke-tab-stack {
    gap: 12px;
  }

  body.kalkulacija-detail-page #kalkCeneRezimeWrap {
    margin-top: 0;
    border: 1px solid var(--pv-border-soft, #e2e8f0);
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    background: var(--card, #fff);
  }

  body.kalkulacija-detail-page #kalkCeneRezimeWrap > .phase-card-bar {
    padding: 8px 10px;
    gap: 6px 8px;
    min-height: 38px;
    align-items: center;
  }

  body.kalkulacija-detail-page #kalkCeneRezimeWrap .phase-card-tip {
    font-size: 10px;
  }

  body.kalkulacija-detail-page #kalkCeneRezimeWrap .phase-card-preview {
    font-size: 12px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* Admin desktop — stavka/faza editor kao pun pod-pogled u radnoj koloni (ne modal-kartica) */
@media (min-width: 901px) {
  /* Visina do stvarnog footera: --detail-ws-subview-* postavlja detail-workspace-subview.js (merenje DOM) */
  html[data-ui-theme='fasc'] body[data-user-role='admin'].detail-ws-subview-open .enterprise-shell {
    min-height: 0;
    max-height: var(--detail-ws-subview-shell-max-h, 100dvh);
    overflow: hidden;
  }

  html[data-ui-theme='fasc'] body[data-user-role='admin'].detail-ws-subview-open .enterprise-shell > main.workspace,
  html[data-ui-theme='fasc'] body[data-user-role='admin'].detail-ws-subview-open .enterprise-shell > .workspace,
  body[data-user-role='admin'].detail-ws-subview-open main.workspace {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    max-height: var(--detail-ws-subview-workspace-max-h, 100dvh);
    overflow: hidden;
  }

  body[data-user-role='admin'].detail-ws-subview-open #detailPageMain.hidden {
    display: none !important;
  }

  body[data-user-role='admin'].detail-ws-subview-open main.workspace > .detail-page-busy-panel {
    display: none !important;
  }

  html[data-ui-theme='fasc'] .workspace > .detail-workspace-subview-host {
    flex: 1 1 auto;
    min-height: 0;
  }

  .detail-workspace-subview-host {
    display: none;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host:not(.hidden) {
    display: flex;
  }

  body[data-user-role='admin'].detail-ws-subview-open #kalkStavkaDrawerBackdrop {
    display: none !important;
    pointer-events: none !important;
  }

  body[data-user-role='admin'].detail-ws-subview-open #kalkPretvoriNalogBackdrop {
    display: none !important;
    pointer-events: none !important;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkPretvoriNalogPanel.detail-ws-subview-panel.kalk-pretvori-wizard {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 1;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto;
    display: flex !important;
    flex-direction: column;
    overflow: hidden;
  }

  /* Kalk drawer — jači selektor od nalog/kalk „centriran modal“ (position: fixed) */
  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer.detail-ws-subview-panel.kalk-stavka-modal.gm-side-panel,
  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer.detail-ws-subview-panel.kalk-stavka-modal.gm-side-panel--open,
  body[data-user-role='admin'].detail-ws-subview-open.nalog-detail-page.nalog-kalk-stavke-mode.kalkulacija-detail-page .detail-workspace-subview-host #kalkStavkaDrawer.detail-ws-subview-panel.kalk-stavka-modal.gm-side-panel,
  body[data-user-role='admin'].detail-ws-subview-open.nalog-detail-page.nalog-kalk-stavke-mode.kalkulacija-detail-page .detail-workspace-subview-host #kalkStavkaDrawer.detail-ws-subview-panel.kalk-stavka-modal.gm-side-panel--open,
  body[data-user-role='admin'].detail-ws-subview-open.kalkulacija-detail-page .detail-workspace-subview-host #kalkStavkaDrawer.detail-ws-subview-panel.kalk-stavka-modal.gm-side-panel,
  body[data-user-role='admin'].detail-ws-subview-open.kalkulacija-detail-page .detail-workspace-subview-host #kalkStavkaDrawer.detail-ws-subview-panel.kalk-stavka-modal.gm-side-panel--open {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 1;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto;
    transition: none !important;
    display: flex !important;
    flex-direction: column;
    overflow: hidden;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer .gm-side-panel-inner.kalk-stavka-side-inner,
  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer .kalk-stavka-side-inner,
  body[data-user-role='admin'].detail-ws-subview-open.nalog-detail-page.nalog-kalk-stavke-mode .detail-workspace-subview-host #kalkStavkaDrawer .gm-side-panel-inner.kalk-stavka-side-inner,
  body[data-user-role='admin'].detail-ws-subview-open.nalog-detail-page.nalog-kalk-stavke-mode .detail-workspace-subview-host #kalkStavkaDrawer .kalk-stavka-side-inner {
    max-height: none !important;
    height: auto;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .detail-workspace-subview-host #kalkStavkaDrawer .gm-side-panel-head,
  .detail-workspace-subview-host #kalkStavkaDrawer .kalk-stavka-modal-head {
    flex-shrink: 0;
  }

  .detail-workspace-subview-host #kalkStavkaDrawer .gm-side-panel-body,
  .detail-workspace-subview-host #kalkStavkaDrawer .kalk-stavka-panel-scroll,
  .detail-workspace-subview-host #kalkStavkaDrawer .gm-side-panel-body.kalk-stavka-panel-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .detail-workspace-subview-host #kalkStavkaDrawer .gm-side-panel-foot,
  .detail-workspace-subview-host #kalkStavkaDrawer .kalk-stavka-side-foot {
    flex-shrink: 0;
  }

  /* Legacy faze modal */
  .detail-workspace-subview-host #fazeModalBackdrop.detail-ws-subview-panel {
    position: relative;
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    width: 100%;
    max-width: none;
    padding: 0;
    background: transparent;
    overflow: hidden;
  }

  .detail-workspace-subview-host #fazeModalBackdrop.detail-ws-subview-panel .faze-modal-shell {
    width: 100%;
    max-width: none;
    max-height: none !important;
    height: 100%;
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .detail-workspace-subview-host #fazeModalBackdrop .faze-modal-head {
    flex-shrink: 0;
  }

  .detail-workspace-subview-host #fazeModalBackdrop .faze-modal-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* ——— Forma za kalkulaciju: manje ugnježdenih „kartica“ ——— */
  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer .gm-side-panel-inner.kalk-stavka-side-inner {
    padding: var(--gra-panel-pad-y, 12px) var(--kalk-drawer-form-pad-x, 16px) calc(var(--gra-panel-pad-y, 12px) + 4px);
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer .gm-side-panel-head.kalk-stavka-modal-head {
    margin: 0 0 8px;
    padding: 0 0 8px;
    border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer .gm-side-panel-body.kalk-stavka-panel-form {
    gap: 12px;
    padding: 0;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer .kalk-drawer-phase-block.kalk-drawer-phase-inner {
    padding: 10px var(--kalk-drawer-form-pad-x, 16px) 12px;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    gap: 8px;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer #kalkDrawerShellStavka > .kalk-drawer-phase-inner,
  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer #kalkSecDorade.kalk-drawer-phase-inner {
    padding-inline: max(var(--kalk-drawer-form-pad-x, 16px), 14px);
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer #kalkSecDoradeKrov.kalk-dor-krov-flow {
    padding-inline: 4px;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer #kalkDrawerShellStavka,
  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer #kalkDrawerShellFaza,
  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer #kalkDrawerFazaEditorWrap,
  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer #kalkDrawerFazaSlot {
    gap: 10px;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #kalkStavkaDrawer .gm-side-panel-foot.kalk-stavka-side-foot {
    margin: 8px 0 0;
    padding: 10px 0 0;
    border-top: 1px solid var(--pv-border-soft, #e2e8f0);
    background: transparent;
    box-shadow: none;
  }

  /* ——— Forma za nalog: modal chrome → ravna stranica ——— */
  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop .faze-modal-shell {
    padding: 0;
    gap: 0;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop .faze-modal-head-bar {
    margin: 0;
    padding: var(--gra-panel-pad-y, 12px) var(--gra-panel-pad-x, 14px);
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
    border-radius: 0;
    box-shadow: none;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop .faze-modal-kicker {
    margin-bottom: 6px;
    color: var(--pv-muted, #64748b);
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop .faze-modal-product-label {
    color: var(--pv-muted, #64748b);
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop .faze-modal-product-name {
    color: var(--text, #0f172a);
    font-size: 1.125rem;
    letter-spacing: 0.04em;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop .faze-modal-close-btn.btn.light {
    background: var(--app-btn-light-bg, #f8fafc);
    border-color: var(--pv-border-soft, #e2e8f0);
    color: var(--text, #0f172a);
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop .faze-modal-close-btn.btn.light:hover {
    background: var(--app-btn-light-hover-bg, #f1f5f9);
    border-color: #cbd5e1;
    color: var(--text, #0f172a);
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop .faze-modal-scroll {
    padding: var(--gra-panel-pad-y, 12px) var(--gra-panel-pad-x, 14px);
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop .faze-modal-chrome-before-nova {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--pv-border-soft, #e2e8f0);
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop .faze-quick-toolbar-wrap,
  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop .faze-quick-toolbar-wrap > .gra-field-stack {
    display: contents;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop .faze-modal-status-panel {
    margin-bottom: 8px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop #fazeList.faze-phase-cards-root {
    border: none;
    border-radius: 0;
    background: transparent;
    padding: 0;
    margin: 0;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop #fazeList.faze-phase-cards-root > .phase-card.phase-row-shell {
    border-width: 0 0 1px;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    transform: none;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop #fazeList.faze-phase-cards-root > .phase-card.phase-row-shell[data-phase-collapsed='0'] {
    transform: none;
    z-index: auto;
    position: static;
    box-shadow: none;
    border-color: var(--pv-border-soft, #e2e8f0);
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop #novaFazaCardWrap.phase-card {
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    padding: 0;
    margin-top: 8px;
  }

  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop #novaFazaCardWrap .phase-card-bar,
  body[data-user-role='admin'].detail-ws-subview-open .detail-workspace-subview-host #fazeModalBackdrop #novaFazaCardWrap .nova-faza-float-card-body {
    background: transparent;
    border: none;
    box-shadow: none;
    padding-left: 0;
    padding-right: 0;
  }
}

/* Poslovni tok: kalkulacija → ponuda → nalog (samo UX) */
.poslovni-tok-mount {
  margin: 0 0 10px;
}
.poslovni-tok-stepper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  padding: 6px 0 10px;
  border: none;
  border-radius: 0;
  background: transparent;
  font-size: 0.9375rem;
  font-weight: 500;
}
.poslovni-tok-step {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border-radius: 999px;
  text-decoration: none;
  color: inherit;
  font-weight: 600;
  line-height: 1.35;
}
a.poslovni-tok-step:hover {
  text-decoration: underline;
}
.poslovni-tok-step--current {
  background: var(--accent-blue, #2563eb);
  color: #fff;
  box-shadow: 0 1px 2px rgba(37, 99, 235, 0.28);
}
.poslovni-tok-step--done:not(.poslovni-tok-step--current) {
  background: #dbeafe;
  color: #1d4ed8;
}
.poslovni-tok-step--pending {
  color: #475569;
  font-weight: 500;
}
.poslovni-tok-step--disabled {
  color: #94a3b8;
  font-weight: 500;
  opacity: 1;
}
.poslovni-tok-sep {
  color: #64748b;
  font-size: 0.875rem;
  font-weight: 600;
  user-select: none;
}
.poslovni-tok-primary-slot {
  display: inline-flex;
  align-items: center;
  margin-inline-end: 8px;
}
.poslovni-tok-primary-slot:empty,
.poslovni-tok-primary-slot.hidden {
  display: none !important;
}
.nalog-actions-panel .poslovni-tok-menu-suppressed,
.nalog-actions-panel .poslovni-tok-menu-suppressed[role='menuitem'] {
  display: none !important;
}
.poslovni-tok-primary-info {
  font-size: 0.9rem;
  max-width: 280px;
  line-height: 1.35;
}
.poslovni-tok-checklist {
  margin: 0 0 14px;
  padding: 12px 16px;
  border-radius: 10px;
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  font-size: 0.9rem;
}
.poslovni-tok-checklist__title {
  margin: 0 0 8px;
}
.poslovni-tok-checklist__list {
  margin: 0;
  padding-left: 1.25rem;
}
.poslovni-tok-checklist__list li + li {
  margin-top: 6px;
}
.kalk-pretvori-mas-select {
  width: 100%;
  max-width: 100%;
}
.klijent-poslovi-block {
  border-top: 1px solid var(--app-border, #e2e8f0);
  padding-top: 4px;
}
.klijent-poslovi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 16px;
}
@media (max-width: 900px) {
  .klijent-poslovi-grid {
    grid-template-columns: 1fr;
  }
}
.klijent-poslovi-col__title {
  margin: 0 0 8px;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted-fg, #64748b);
}
.klijent-poslovi-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.9rem;
}
.klijent-poslovi-list li + li {
  margin-top: 6px;
}
.klijent-poslovi-empty {
  margin: 0;
  font-size: 0.85rem;
}
@media (min-width: 901px) {
  .phase-card-bar-actions .poslovni-tok-primary-slot {
    order: 0;
    flex: 0 1 auto;
  }
}

/* Operater — detalj naloga (operater-nalog.html) */
body.operater-nalog-page .operater-nalog-layout {
  display: flex;
  flex-direction: column;
  gap: var(--gra-panel-gap-y, 12px);
}
body.operater-nalog-page .operater-nalog-meta {
  padding: 12px 16px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: var(--radius-md, 8px);
  background: var(--surface, #fff);
}
body.operater-nalog-page .operater-nalog-meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px 20px;
  align-items: start;
}
body.operater-nalog-page .operater-meta-lbl {
  display: block;
  font-size: 0.75rem;
  color: var(--muted, #64748b);
  margin-bottom: 2px;
}
body.operater-nalog-page .operater-nalog-tablist {
  flex-wrap: wrap;
  gap: 6px;
}
body.operater-nalog-page .operater-nalog-tab {
  position: relative;
}
body.operater-nalog-page .operater-nalog-tab--priprema[aria-selected='true'] {
  background: color-mix(in srgb, var(--accent-violet, #7c3aed) 14%, var(--surface, #fff));
  border-color: var(--accent-violet, #7c3aed);
  color: var(--accent-violet, #7c3aed);
}
body.operater-nalog-page .operater-nalog-tab--stampa[aria-selected='true'] {
  background: color-mix(in srgb, var(--accent-blue, #2563eb) 14%, var(--surface, #fff));
  border-color: var(--accent-blue, #2563eb);
  color: var(--accent-blue, #2563eb);
}
body.operater-nalog-page .operater-nalog-tab--dorada[aria-selected='true'] {
  background: color-mix(in srgb, var(--accent-green, #16a34a) 14%, var(--surface, #fff));
  border-color: var(--accent-green, #16a34a);
  color: var(--accent-green, #16a34a);
}
body.operater-nalog-page .operater-nalog-tab--poruke[aria-selected='true'] {
  background: color-mix(in srgb, var(--accent-amber, #d97706) 14%, var(--surface, #fff));
  border-color: var(--accent-amber, #d97706);
  color: var(--accent-amber, #d97706);
}
body.operater-nalog-page .operater-tab-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 1px 7px;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.3;
  border-radius: 999px;
  background: var(--accent-amber, #d97706);
  color: #fff;
  vertical-align: middle;
}
body.operater-nalog-page .operater-tab-badge.hidden {
  display: none;
}
body.operater-nalog-page .operater-nalog-panel {
  padding-top: 4px;
}
body.operater-nalog-page .operater-stavka-block + .operater-stavka-block {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--border, #e2e8f0);
}
body.operater-nalog-page .operater-stavka-block-title {
  margin: 0 0 10px;
  font-size: 0.95rem;
  font-weight: 600;
}
body.operater-nalog-page .operater-stampa-stavka-line {
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--app-text, #1e293b);
}
body.operater-nalog-page .operater-stampa-masina-line {
  margin: 0;
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--app-text, #0f172a);
}
body.operater-nalog-page .operater-stampa-masina-line strong {
  font-weight: 700;
}
body.operater-nalog-page .operater-faza-card-head--stampa {
  padding-top: 12px;
  padding-bottom: 12px;
}
body.operater-nalog-page .operater-faza-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body.operater-nalog-page .operater-faza-card {
  border: 1px solid var(--border, #e2e8f0);
  border-radius: var(--radius-md, 8px);
  background: var(--surface, #fff);
  overflow: hidden;
}
body.operater-nalog-page .operater-faza-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border, #e2e8f0);
  background: color-mix(in srgb, var(--bg-page, #f8fafc) 60%, var(--surface, #fff));
}
body.operater-nalog-page .operater-faza-card-head-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
}
body.operater-nalog-page .operater-faza-poruka-toggle--head {
  background: var(--app-btn-violet-bg, #7c3aed);
  border-color: var(--app-btn-violet-border, #6d28d9);
  color: #fff;
  font-weight: 600;
  box-shadow: 0 1px 3px color-mix(in srgb, #7c3aed 35%, transparent);
}
body.operater-nalog-page .operater-faza-poruka-toggle--head:hover {
  background: var(--app-btn-violet-hover-bg, #6d28d9);
  border-color: var(--app-btn-violet-hover-border, #5b21b6);
  color: #fff;
}
body.operater-nalog-page .operater-faza-poruka-toggle--head[aria-expanded='true'] {
  background: #5b21b6;
  border-color: #4c1d95;
}
body.operater-nalog-page .operater-faza-poruka-inline--open {
  margin-bottom: 12px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, #7c3aed 28%, var(--border, #e2e8f0));
  border-radius: 8px;
  background: color-mix(in srgb, #7c3aed 6%, #fff);
}
body.operater-nalog-page .operater-faza-stavka-kicker {
  margin: 0 0 2px;
  font-size: 0.75rem;
}
body.operater-nalog-page .operater-faza-card-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}
body.operater-nalog-page .operater-stampa-head-meta {
  margin: 4px 0 0;
  font-size: 0.8125rem;
}
body.operater-nalog-page .operater-stampa-head-meta strong {
  font-weight: 600;
  color: var(--app-text, #1e293b);
}
body.operater-nalog-page .operater-faza-card-body {
  padding: 12px 14px;
}
body.operater-nalog-page .operater-stampa-dl {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.operater-nalog-page .operater-stampa-dl-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25em 0.45em;
  line-height: 1.4;
}
body.operater-nalog-page .operater-stampa-dl dt {
  margin: 0;
  font-size: 0.875rem;
  color: var(--muted, #64748b);
  font-weight: 500;
  flex-shrink: 0;
}
body.operater-nalog-page .operater-stampa-dl dt::after {
  content: ':';
}
body.operater-nalog-page .operater-stampa-dl dd {
  margin: 0;
  font-size: 0.875rem;
  word-break: break-word;
  min-width: 0;
}
body.operater-nalog-page .operater-faza-sum-list {
  margin: 0;
  padding-left: 1.1rem;
  font-size: 0.875rem;
}
body.operater-nalog-page .operater-faza-sum-k {
  font-weight: 500;
}
body.operater-nalog-page .operater-faza-napomena {
  margin: 10px 0 0;
  font-size: 0.85rem;
}
body.operater-nalog-page .operater-faza-card-foot {
  padding: 10px 14px 12px;
  border-top: 1px solid var(--border, #e2e8f0);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.operater-nalog-page .operater-faza-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
body.operater-nalog-page .operater-dorada-lines {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.operater-nalog-page .operater-dorada-line {
  padding: 8px 10px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 6px;
  background: var(--bg-page, #f8fafc);
}
body.operater-nalog-page .operater-dorada-line-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
body.operater-nalog-page .operater-dorada-line-title {
  font-size: 0.875rem;
  font-weight: 500;
}
body.operater-nalog-page .operater-faza-poruka-inline textarea {
  width: 100%;
  margin: 6px 0;
  min-height: 56px;
  resize: vertical;
}
body.operater-nalog-page .operater-faza-poruka-hint {
  margin: 0 0 4px;
  font-size: 0.8rem;
}
body.operater-nalog-page .operater-poruke-panel .nalog-poruke-thread {
  max-height: min(52vh, 480px);
  overflow-y: auto;
  margin-bottom: 12px;
}
body.operater-nalog-page .operater-global-msg--err {
  color: var(--danger, #b91c1c);
}
body.operater-nalog-page .operater-faze-empty {
  margin: 8px 0;
}

/* Nalozi lista — operater bez kalkulacije */
body.nalozi-list-page--operater .rn-pill-row--kalk-filter,
body.nalozi-list-page--operater .nalozi-th-kalk,
body.nalozi-list-page--operater .nalozi-cell-kalk,
body.nalozi-list-page--operater .nalozi-mobile-card-meta-kalk {
  display: none !important;
}

/* Operater štampa / dorada — stavke po smeni */
body.operater-nalog-page .operater-faza-card--stampa .operater-faza-card-body,
body.operater-nalog-page .operater-faza-card--dorada .operater-faza-card-body {
  padding-top: 4px;
}
body.operater-nalog-page .operater-dorada-stavka-card .operater-tabak-card-head {
  align-items: center;
}
body.operater-nalog-page .operater-dorada-stavka-dl {
  margin: 0;
  padding: 10px 14px;
  border-bottom: 1px solid var(--app-border-subtle, #eef2f6);
}
body.operater-nalog-page .operater-stampa-progress {
  height: 8px;
  border-radius: 999px;
  background: var(--app-border-subtle, #e8ecf1);
  overflow: hidden;
  margin: 8px 0 4px;
}
body.operater-nalog-page .operater-stampa-progress-bar {
  height: 100%;
  background: var(--accent-blue, #2563eb);
  border-radius: inherit;
  transition: width 0.2s ease;
}
body.operater-nalog-page .operater-stampa-progress-lbl {
  margin: 0 0 4px;
  font-size: 0.875rem;
}
body.operater-nalog-page .operater-stampa-card-tools {
  margin-bottom: 8px;
}
body.operater-nalog-page .operater-stampa-detail {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
body.operater-nalog-page .operater-stampa-section-title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
}
body.operater-nalog-page .operater-stampa-rezime-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  gap: 10px 16px;
}
body.operater-nalog-page .operater-stampa-rezime-chip {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
body.operater-nalog-page .operater-stampa-rezime-chip-k {
  font-size: 0.75rem;
  color: var(--app-text-muted, #64748b);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
body.operater-nalog-page .operater-stampa-tabaci-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
}
body.operater-nalog-page .operater-tabak-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body.operater-nalog-page .operater-tabak-card {
  border: 1px solid var(--app-border-subtle, #e2e8f0);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
body.operater-nalog-page .operater-tabak-card.row-status-zavrseno {
  border-color: #86efac;
}
body.operater-nalog-page .operater-tabak-card.row-status-u_radu {
  border-color: #93c5fd;
}
body.operater-nalog-page .operater-tabak-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: #f8fafc;
  border-bottom: 1px solid var(--app-border-subtle, #eef2f6);
}
body.operater-nalog-page .operater-tabak-card-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1 1 auto;
}
body.operater-nalog-page .operater-tabak-num {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 8px;
  background: #fff;
  border: 1px solid var(--app-border-subtle, #e2e8f0);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
}
body.operater-nalog-page .operater-tabak-card-title {
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.25;
  flex-shrink: 0;
}
body.operater-nalog-page .operater-tabak-head-vdiv {
  flex-shrink: 0;
  align-self: stretch;
  width: 1px;
  min-height: 1.75rem;
  background: var(--app-border-subtle, #cbd5e1);
}
body.operater-nalog-page .operater-tabak-card-meta {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--app-text, #334155);
  min-width: 0;
}
body.operater-nalog-page .operater-tabak-tiraz-block {
  text-align: right;
  flex-shrink: 0;
}
body.operater-nalog-page .operater-tabak-tiraz-k {
  display: block;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--app-text-muted, #64748b);
}
body.operater-nalog-page .operater-tabak-tiraz-v {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--app-text, #0f172a);
}
body.operater-nalog-page .operater-tabak-strane {
  display: flex;
  flex-direction: column;
}
body.operater-nalog-page .operater-tabak-strana {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 12px;
  padding: 10px 14px;
  border-top: 1px solid var(--app-border-subtle, #f1f5f9);
}
body.operater-nalog-page .operater-tabak-strana.row-status-zavrseno {
  background: #f0fdf4;
}
body.operater-nalog-page .operater-tabak-strana.row-status-u_radu {
  background: #eff6ff;
}
body.operater-nalog-page .operater-tabak-strana-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  min-width: 0;
  flex: 1 1 12rem;
}
body.operater-nalog-page .operater-tabak-strana-naziv {
  font-weight: 600;
  font-size: 0.9375rem;
}
body.operater-nalog-page .operater-tabak-strana-boje {
  font-size: 0.8125rem;
}
body.operater-nalog-page .operater-tabak-strana-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex-shrink: 0;
}
@media (min-width: 901px) {
  body.operater-nalog-page .operater-tabak-strana-actions .btn {
    min-width: 5.5rem;
  }
}

