/* RMX Web lab — crno-sivo, mirno, poslovno */

:root {
  --rmx-black: #14181d;
  --rmx-charcoal: #1e242c;
  --rmx-slate: #2a313a;
  --rmx-slate-soft: #3a434e;
  --rmx-gray: #6b7580;
  --rmx-gray-light: #a8b0b8;
  --rmx-green: #3d8b4a;
  --rmx-green-hover: #327540;
  --rmx-red: #c0392b;
  --rmx-red-hover: #a93226;
  --rmx-bg: #d4d8dd;
  --rmx-panel: #f2f3f5;
  /* Tanke ivice svuda — sive. Crno samo naslovne trake (topbar / title). */
  --rmx-edge: #9aa3ad;
  --rmx-line: #9aa3ad;
  --rmx-text: #1a1f26;
  --rmx-muted: #5a6570;
  --rmx-row-alt: #eceef1;
  --rmx-row-sel: #dde2e8;
  /* Izabran red na svim listama (korisnik 2026-10-01: ton trake sekcija C3, „jos malo svetlije“; ranije zuto #fff3cc). */
  --rmx-row-izabran: #eee7d4;
  --rmx-accent: #3a434e;
  --rmx-font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  --rmx-font-size: 13px;
  /* Labeli na karticama — /Podesavanja/Prikaz „Velicina labela“. */
  --rmx-label-font-size: 10px;
  /* Bocni / gornji meni — posebno podesavanje „Velicina menija“. */
  --rmx-menu-font-size: 13px;
  /* Liste, kartice, toolbar — blaga krivina, ne 12px kao prijava. */
  --rmx-radius-panel: 8px;
}

* { box-sizing: border-box; }

/* Globalno: sva polja i liste — ista familija fonta kao body (ne "system" date/select) */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
select,
textarea,
.form-input {
  border: 1px solid var(--rmx-edge);
  border-radius: 3px;
  background: #fff;
  color: var(--rmx-text);
  font: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

/* Aktivno polje: samo unutrasnja pozadina (izmedju zute i narandzaste); ivica bez senke. */
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
input[type="datetime-local"]:focus,
select:focus,
textarea:focus,
.form-input:focus {
  outline: none;
  background: #eef8d8;
  border-color: var(--rmx-edge);
  box-shadow: none;
}

/* Datum: native kalendar-dugme je Chrome tab-stop (posle godine). Sakrij ga iz Taba;
   ikona ostaje kao pozadina, otvara se klikom (JS showPicker u _Layout). */
input[type="date"]::-webkit-calendar-picker-indicator {
  display: none !important;
  -webkit-appearance: none;
  appearance: none;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  pointer-events: none;
}
input[type="date"] {
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='2' y='3.2' width='12' height='10.8' rx='1.2' fill='none' stroke='%231a1f26' stroke-width='1.25'/%3E%3Cpath d='M2 6.5h12M5.3 2.3v2.5M10.7 2.3v2.5' fill='none' stroke='%231a1f26' stroke-width='1.25' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 7px center;
  background-size: 14px 14px;
  padding-right: 1.85rem;
}
input[type="date"]:focus {
  background-color: #eef8d8;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='2' y='3.2' width='12' height='10.8' rx='1.2' fill='none' stroke='%231a1f26' stroke-width='1.25'/%3E%3Cpath d='M2 6.5h12M5.3 2.3v2.5M10.7 2.3v2.5' fill='none' stroke='%231a1f26' stroke-width='1.25' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 7px center;
  background-size: 14px 14px;
}

/* Prikaz datuma na unosu: overlay prati ui.datum; native type=date ostaje za vrednost/kalendar. */
.rmx-date-wrap {
  position: relative;
  display: inline-block;
  vertical-align: top;
  max-width: 100%;
}
.rmx-date-wrap .rmx-date-prikaz {
  width: 100%;
  box-sizing: border-box;
  padding-right: 1.85rem;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='2' y='3.2' width='12' height='10.8' rx='1.2' fill='none' stroke='%231a1f26' stroke-width='1.25'/%3E%3Cpath d='M2 6.5h12M5.3 2.3v2.5M10.7 2.3v2.5' fill='none' stroke='%231a1f26' stroke-width='1.25' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 7px center;
  background-size: 14px 14px;
}
.rmx-date-wrap .rmx-date-prikaz:focus {
  background-color: #eef8d8;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='2' y='3.2' width='12' height='10.8' rx='1.2' fill='none' stroke='%231a1f26' stroke-width='1.25'/%3E%3Cpath d='M2 6.5h12M5.3 2.3v2.5M10.7 2.3v2.5' fill='none' stroke='%231a1f26' stroke-width='1.25' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 7px center;
  background-size: 14px 14px;
}
.rmx-date-wrap.form-input-locked .rmx-date-prikaz,
.rmx-date-wrap .rmx-date-prikaz[readonly],
.rmx-date-wrap .rmx-date-prikaz:disabled {
  background-color: #e8eaed;
}
.rmx-date-wrap .rmx-date-native {
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  margin: 0;
  padding: 0;
  border: 0;
  pointer-events: none;
}
.rmx-date-wrap .rmx-date-native.rmx-date-picking {
  width: 100%;
  height: 100%;
}

html, body {
  margin: 0;
  padding: 0;
  font-family: var(--rmx-font-family);
  font-size: var(--rmx-font-size);
  /* Debljina obicnog teksta: 400, a 500 za Prikaz „Segoe UI — tamnije“ (UiIzgled.HtmlStyle, korisnik 2026-10-05). */
  font-weight: var(--rmx-font-weight, 400);
  color: var(--rmx-text);
}
/* Sivi predlozi u praznim poljima (dd.mm.yyyy u overlay-u datuma, hh:mm, „npr. …“) — svetliji i obicne debljine, ceo
   program (korisnik 2026-10-05: „sve ove svetle predloge u poljima dd.mm… ili hh:mm da posvetliš“, uz „Segoe UI —
   tamnije“ su izgledali kao upisan tekst). Pravi tekst u polju ostaje tamni. */
::placeholder {
  color: #b9bfc6;
  font-weight: 400;
  opacity: 1;
}

code {
  font-family: Consolas, "Courier New", monospace;
  font-size: 12px;
  background: #e4e7eb;
  padding: 1px 5px;
  border-radius: 3px;
  color: var(--rmx-charcoal);
}

/* ========== PRIJAVA ========== */
/* Izgled po izboru korisnika 2026-10-07 („ovo treba lepše, pokaži mi primere“ → primeri A / B / C, „A i C“ → „A i C po
   uređaju“; „izbaci ovo zeleno crveno dugmad, neka budu siva“). A = svetla kartica sa tamnom trakom i logom (svetli režim
   uredjaja), C = tamna pozadina sa narandzastim sjajem i tamna kartica (@media prefers-color-scheme: dark). Labeli iznad
   polja, godina kao dva dugmeta (radio), jedno sivo dugme Prijava, bez Izlaz. Markup: Pages/Prijava.cshtml (menjati zajedno). */

.login-body {
  min-height: 100vh;
  min-height: 100dvh;
  background:
    radial-gradient(ellipse at 30% 20%, #e4e6e9 0%, transparent 50%),
    radial-gradient(ellipse at 70% 80%, #c8ccd1 0%, transparent 45%),
    linear-gradient(160deg, #d5d8dc 0%, #b8bdc4 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 14px;
}

.login-screen {
  width: 100%;
  max-width: 380px;
}

.login-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}

/* Glava: logo + RMX Web + podnaslov (A: tamna traka). */
.login-head {
  background: linear-gradient(180deg, #2a313a 0%, #1e242c 55%, #14181d 100%);
  color: #fff;
  text-align: center;
  padding: 22px 16px 18px;
}
.login-logo {
  width: 64px;
  height: 64px;
  border-radius: 12px;
  display: block;
  margin: 0 auto 8px;
}
.login-naziv { font-size: 20px; font-weight: 700; letter-spacing: 0.6px; }
.login-podnaslov { color: #a8b0b8; font-size: 12px; margin-top: 2px; }

.login-card-body { padding: 22px 26px 16px; }

/* Red = labela iznad polja. */
.login-row { margin-bottom: 14px; }
.login-row[hidden] { display: none; }   /* red „Firma“ kad uredjaj ne zna jednu firmu — bez praznine (2026-10-07) */
.login-row > label,
.login-row > .login-lab {
  display: block;
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  color: #5a6570;
}

/* .login-body ispred = jace od opsteg input[type=…] / :focus (zelena pozadina) na vrhu fajla. */
.login-body .login-input {
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #c9ced5;
  border-radius: 8px;
  background: #fff;
  color: #1a1f26;
  font: inherit;
  font-size: 15px;
}
.login-body .login-input:focus {
  outline: none;
  background: #fff;
  border-color: #ff9a2e;
  box-shadow: 0 0 0 3px rgba(255, 154, 46, 0.18);
}
/* Polje koje popuni Chrome (sacuvan email / lozinka) — bez njegove zute / plave pozadine. */
.login-body .login-input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 40px #fff inset;
  -webkit-text-fill-color: #1a1f26;
}
.login-body select.login-input { padding-right: 8px; }

/* Vrednost samo za citanje (email u drugom koraku). */
.login-ro {
  display: block;
  font-size: 15px;
  font-weight: 600;
  padding: 2px 0;
  word-break: break-all;
}

/* Zapamcena firma uredjaja (jedna firma) — oznaka desno u redu labele Email (korisnik 2026-10-10, varijanta A;
   do tada svoj red ispod emaila). Labela ostaje direktno dete .login-row (njen stil gore); oznaka apsolutno desno.
   Duzi naziv firme se skraćuje (…), da ne pređe preko „EMAIL“ na telefonu. Pages/Prijava.cshtml — menjati zajedno. */
.login-row-firma { position: relative; }
.login-firma {
  position: absolute;
  top: -5px;
  right: 0;
  max-width: calc(100% - 64px);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 14px;
  background: #eef0f3;
  color: #2a313a;
  font-size: 12px;
  font-weight: 600;
}
.login-firma[hidden] { display: none; }
.login-firma > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.login-firma svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* Poslovna godina = dva dugmeta (radio name=Godina, PrijavaModel.Godine). */
.login-seg {
  display: flex;
  border: 1px solid #c9ced5;
  border-radius: 8px;
  overflow: hidden;
}
.login-seg label {
  flex: 1 1 0;
  margin: 0;
  position: relative;
  cursor: pointer;
}
.login-seg input { position: absolute; opacity: 0; pointer-events: none; }
.login-seg span {
  display: block;
  padding: 9px 0;
  text-align: center;
  font-weight: 600;
  color: #5a6570;
}
.login-seg label + label span { border-left: 1px solid #c9ced5; }
.login-seg input:checked + span { background: #1e242c; color: #fff; }
.login-seg input:focus-visible + span { box-shadow: inset 0 0 0 2px #ff9a2e; }

/* Jedno dugme — sivo (korisnik 2026-10-07), prelaz misem = narandzasta ivica kao ostali sivi tasteri. */
.btn-prijava {
  width: 100%;
  height: 44px;
  margin-top: 4px;
  border: 1px solid #3a434e;
  border-radius: 8px;
  background: #3a434e;
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.btn-prijava:hover,
.btn-prijava:focus-visible { background: #4a5360; border-color: #ff9a2e; outline: none; }

.login-dno {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
  color: #8a929c;
  font-size: 11px;
}

.login-error {
  background: #fdecea;
  border: 1px solid #e0a8a1;
  color: #8a241c;
  padding: 8px 10px;
  border-radius: 8px;
  margin-bottom: 14px;
}

/* C — tamni rezim uredjaja (telefon / PC u tamnoj temi): tamna pozadina sa narandzastim sjajem, logo iznad kartice,
   tamna kartica. Isti markup kao A. */
@media (prefers-color-scheme: dark) {
  .login-body {
    background:
      radial-gradient(circle at 50% 0%, rgba(255, 154, 46, 0.22) 0%, transparent 40%),
      linear-gradient(180deg, #1e242c 0%, #0e1115 100%);
    color: #e8eaed;
  }
  .login-card { background: transparent; box-shadow: none; overflow: visible; }
  .login-head { background: transparent; padding: 0 0 22px; }
  .login-logo { width: 76px; height: 76px; border-radius: 14px; box-shadow: 0 0 30px rgba(255, 154, 46, 0.35); }
  .login-naziv { font-size: 22px; margin-top: 12px; }
  .login-podnaslov { color: #8a929c; }
  .login-card-body { background: #2a313a; border: 1px solid #3a434e; border-radius: 14px; padding: 22px; }
  .login-row > label,
  .login-row > .login-lab { color: #a8b0b8; }
  .login-body .login-input,
  .login-body .login-input:focus { background: #1e242c; border-color: #4a5360; color: #fff; }
  .login-body .login-input:focus { border-color: #ff9a2e; }
  .login-body .login-input:-webkit-autofill { -webkit-box-shadow: 0 0 0 40px #1e242c inset; -webkit-text-fill-color: #fff; }
  .login-ro { color: #fff; }
  .login-firma { background: rgba(255, 154, 46, 0.15); color: #ffb766; }
  .login-seg { border-color: #4a5360; }
  .login-seg span { background: #1e242c; color: #8a929c; }
  .login-seg label + label span { border-left-color: #4a5360; }
  .login-seg input:checked + span { background: #1e242c; color: #fff; box-shadow: inset 0 0 0 1px #ff9a2e; }
  .btn-prijava { background: #4a5360; border-color: #6b7580; }
  .btn-prijava:hover,
  .btn-prijava:focus-visible { background: #5a6470; border-color: #ff9a2e; }
  .login-dno { color: #6b7580; }
  .login-error { background: rgba(192, 57, 43, 0.18); border-color: #8e2a20; color: #ffb3a8; }
}

/* ========== APP SHELL ========== */

.app-body {
  min-height: 100vh;
  background: var(--rmx-bg);
  display: flex;
  flex-direction: column;
}

.app-shell {
  flex: 1;
  min-height: 0;
  display: flex;
  align-items: stretch;
  overflow: hidden;
}

.app-content {
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.app-topbar {
  flex-shrink: 0;
  background: linear-gradient(180deg, #2a313a 0%, #1e242c 55%, #14181d 100%);
  color: #e8eaed;
  height: 36px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #000;
}

.app-topbar-left,
.app-topbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.app-brand {
  font-weight: 700;
  letter-spacing: 0.6px;
  color: #fff;
  text-decoration: none;
}

.app-brand:hover {
  color: #fff;
  text-decoration: underline;
}

.app-top-link {
  color: #c5cad1;
  text-decoration: none;
  font-size: 12px;
  margin-right: 8px;
}

.app-top-link:hover {
  color: #fff;
  text-decoration: underline;
}

.app-sep { opacity: 0.4; color: var(--rmx-gray-light); }

.app-firma {
  max-width: 360px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #d5d9de;
}

.app-godina {
  font-weight: 600;
  color: #fff;
}

/* Ranija radna godina (_Layout.cshtml godinaRanija, korisnik 2026-10-06) — svetlija crvena od --rmx-red da se cita na
   tamnoj traci. */
.app-godina.app-godina-ranija {
  color: #ff4f42;
}

.app-user {
  color: #c5cad1;
  margin-right: 4px;
}

.app-logout-form { margin: 0; }

.btn-top-izlaz {
  height: 24px;
  padding: 0 10px;
  border: 1px solid #4a5360;
  border-radius: 3px;
  background: #2a313a;
  color: #e8eaed;
  cursor: pointer;
  font-size: 12px;
}

.btn-top-izlaz:hover {
  background: #3a434e;
  border-color: #6b7580;
}

.btn-top-beleska {
  height: 24px;
  min-width: 6rem;
  padding: 0 10px;
  border: 1px solid #4a5360;
  border-radius: 3px;
  background: #2a313a;
  color: #e8eaed;
  cursor: pointer;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.btn-top-beleska:hover {
  background: #3a434e;
  border-color: #e0a35a;
  color: #fff;
}

.top-beleska-group {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.beleska-bedz {
  height: 24px;
  min-width: 24px;
  padding: 0 7px;
  border: 1px solid #c9843a;
  border-radius: 3px;
  background: #c9843a;
  color: #1e242c;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.beleska-bedz:hover {
  background: #e0a35a;
  border-color: #e0a35a;
  color: #1e242c;
}

.beleska-bedz[hidden] {
  display: none;
}

/* Meni tastera Beleska na telefonu (korisnik 2026-10-09): „+ Nova beleška“ + beleske namenjene meni + „Sve moje
   beleške“. Pravi ga JS u _Layout.cshtml (prikaziMeni, samo kad rmxJeTelefon i ima beleski); top = ispod tastera. */
.beleska-meni {
  position: fixed;
  right: 8px;
  width: min(92vw, 24rem);
  max-height: 65vh;
  overflow-y: auto;
  z-index: 1200;
  background: #fff;
  border: 1px solid var(--rmx-edge);
  border-radius: var(--rmx-radius-panel);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
  display: flex;
  flex-direction: column;
}
.beleska-meni-nova {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  border: 0;
  border-bottom: 1px solid var(--rmx-edge);
  background: #fff8ee;
  color: #8a4b00;
  font: inherit;
  font-weight: 650;
  text-align: left;
  cursor: pointer;
}
.beleska-meni-nova span { font-size: 1.25em; line-height: 1; color: #ff9a2e; }
.beleska-meni-naslov {
  padding: 8px 14px 4px;
  font-size: 0.85em;
  color: var(--rmx-muted);
}
.beleska-meni-stavka {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 9px 14px;
  border-bottom: 1px solid var(--rmx-edge);
  color: var(--rmx-text, #1e242c);
  text-decoration: none;
}
.beleska-meni-stavka:active,
.beleska-meni-stavka:hover { background: #ffe8cc; }
.beleska-meni-stavka .bm-naslov { font-weight: 600; }
.beleska-meni-stavka .bm-meta { font-size: 0.85em; color: var(--rmx-muted); }
.beleska-meni-sve {
  padding: 10px 14px;
  color: #1a4a7a;
  text-decoration: underline;
}

/* Kartica beleske: Izvor = link na stranu nastanka (2026-10-09) — izgled zakljucanog polja, tekst kao link. */
.beleska-izvor-link {
  display: flex;
  align-items: center;
  color: #1a4a7a;
  text-decoration: underline;
  cursor: pointer;
}
.beleska-izvor-link:hover { color: #8a4b00; }
/* Isti link u pregledu ispod reda na listi /Beleske (tekst u redu, ne polje) — Pages/Beleske/Index.cshtml afterPreview. */
.beleska-izvor-pregled { color: #1a4a7a; text-decoration: underline; }
.beleska-izvor-pregled:hover { color: #8a4b00; }

.beleska-brza-form .form-row {
  margin-bottom: 8px;
}

.beleska-brza-form .form-row label {
  display: block;
  margin-bottom: 3px;
  font-size: var(--rmx-label-font-size, 10px);
}

.beleska-brza-form #beleskaNaslov {
  width: 100%;
  max-width: 100%;
}

.beleska-brza-form #beleskaOpis {
  min-height: 8rem;
}

.beleska-namenjeni-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  max-width: 100%;
}
.beleska-namenjeni-wrap > .check-line {
  font-weight: 700;
}
.beleska-namenjeni {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  max-height: 7.5rem;
  overflow-y: auto;
  width: 100%;
  padding: 4px 6px;
  border: 1px solid var(--rmx-edge);
  border-radius: var(--rmx-radius-panel);
  background: #fff;
}

.beleska-brza-form input[type="file"].form-input-file,
.kartica-form input[type="file"].form-input-file {
  height: auto;
  padding: 4px 8px;
  max-width: 100%;
}

/* Kartica beleske — panel Odgovori (SQL 142, korisnik 2026-10-09 „da korisnici mogu odgovoriti na belešku“): odgovor =
   blok sa narandzastom linijom levo (ime · vreme, tekst sa prelomima), ispod polje + „Pošalji odgovor“ u redu (telefon:
   jedno ispod drugog). Pages/Beleske/Kartica.cshtml. */
.beleska-odgovori-panel { margin-top: 2mm; }
.beleska-odgovori-lista { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px; }
.beleska-odgovori-prazno { margin: 0; color: var(--rmx-muted); font-size: 0.9em; }
.beleska-odgovor {
  border-left: 3px solid #e0a35a;
  background: #fff8ee;
  border-radius: 0 6px 6px 0;
  padding: 6px 10px;
}
.beleska-odgovor .bo-glava { font-size: 0.85em; color: var(--rmx-muted); }
.beleska-odgovor .bo-glava strong { color: var(--rmx-text, #1e242c); }
.beleska-odgovor .bo-tekst { white-space: pre-wrap; overflow-wrap: anywhere; margin-top: 2px; }
.beleska-odgovor-unos { display: flex; gap: 8px; align-items: flex-end; }
.beleska-odgovor-unos textarea { flex: 1 1 auto; min-width: 0; min-height: 2.6rem; }
.beleska-odgovor-unos .btn-secondary-rmx { flex: 0 0 auto; }
@media (max-width: 700px) {
  .beleska-odgovor-unos { flex-direction: column; align-items: stretch; }
}

/* Kartica Beleska: levo naslov/namenjeno/datumi, desno tekst + prilog + izvor. */
.beleska-kartica-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px 16px;
  align-items: stretch;
}
.beleska-kartica-levo,
.beleska-kartica-desno {
  min-width: 0;
}
.kartica-form .beleska-kartica-levo .form-grid {
  width: 100%;
}
.kartica-form .beleska-kartica-levo .form-row-wide > .form-input,
.kartica-form .beleska-kartica-levo .beleska-namenjeni-wrap {
  width: 100%;
  max-width: 100%;
}
.kartica-form .beleska-namenjeni {
  max-height: 16rem;
}
.beleska-kartica-desno {
  display: flex;
  flex-direction: column;
  gap: 2mm;
}
.beleska-kartica-desno .form-row:has(textarea[name="B.Opis"]) {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* Kartica Beleska: Opis je polje za pisanje, ne jednoredni input (globalni .form-input je 28px). */
.kartica-form textarea[name="B.Opis"] {
  height: auto;
  min-height: 24rem;
  resize: vertical;
  padding: 6px 8px;
  width: 100%;
  max-width: 100%;
  flex: 1 1 auto;
}

.kartica-form .beleska-kartica-desno .form-row-wide > .form-input,
.kartica-form .beleska-kartica-desno input[type="file"].form-input-file {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 900px) {
  .beleska-kartica-body {
    grid-template-columns: 1fr;
  }
}

.beleska-prilog-field {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  width: 100%;
  max-width: 100%;
  position: relative;
}
.beleska-prilog-odaberi {
  align-self: flex-start;
  width: auto;
}
/* Native "Izbor datoteka" prati jezik Chrome/Windows (ćirilica). Sakrij ga; taster je latinica. */
.beleska-prilog-field:has(.beleska-prilog-odaberi) input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  opacity: 0;
  pointer-events: none;
}
.beleska-prilog-field.is-drop {
  outline: 2px dashed #e0a35a;
  outline-offset: 2px;
  background: #fff8ee;
}
.beleska-prilog-lista {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border: 1px solid var(--rmx-edge);
  border-radius: var(--rmx-radius-panel);
  background: #fff;
  padding: 4px 6px;
}
.beleska-prilog-lista[hidden] {
  display: none !important;
}
.beleska-prilog-red {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
}
.beleska-prilog-red[hidden] {
  display: none !important;
}
.beleska-prilog-red .beleska-prilog-ime-tekst {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-left: 0;
  cursor: pointer;
}
.beleska-prilog-red a.beleska-prilog-link.beleska-prilog-ime-tekst {
  margin-left: 0;
  color: #2a6bb0;
}
.beleska-prilog-ime-novi:hover {
  color: #2a6bb0;
}
.beleska-prilog-red .beleska-prilog-clear {
  flex: 0 0 auto;
}

.beleska-prilog-ime {
  margin: 0 0 4px;
}

.beleska-prilog-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 8px;
  vertical-align: middle;
  color: var(--rmx-text);
  text-decoration: none;
}
.beleska-prilog-link .btn-ico {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}
.beleska-prilog-link:hover {
  color: #2a6bb0;
}
.page-note a.sef-portal-link {
  color: #2a6bb0;
  text-decoration: underline;
  margin-left: 0;
}
.page-note a.sef-portal-link:hover {
  color: #1a4f8a;
}
/* Dokument: XML/PDF tasteri gore desno, iznad Poslato na SEF. */
.kartica-form .faktura-sef-portal-btns > label {
  visibility: hidden;
  user-select: none;
}
.kartica-form .sef-portal-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 2mm;
  align-items: center;
  min-height: var(--rmx-input-height, 28px);
}
.kartica-form a.btn-secondary-rmx.sef-portal-btn {
  text-decoration: none;
  min-width: 3.4rem;
  justify-content: center;
  padding-left: 10px;
  padding-right: 10px;
}
.preview-val .beleska-prilog-link {
  margin-left: 0;
}

.beleska-brza-form .form-row:has(#beleskaOpis) {
  align-items: start;
}

.beleska-brza-greska {
  color: #a33;
  margin: 0 0 10px;
  font-size: 12px;
}

.beleske-filteri {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 0;
}

/* Padajuca lista filtera — samo na telefonu (blok „TELEFON — liste u stilu RMX TMS“), na PC-u tasteri (2026-10-09). */
.beleske-filter-tel { display: none; }

.beleske-filteri a.is-filter-on {
  background: #ffe8cc;
  border-color: #e0a35a;
  color: #8a4b00;
}

.grid tr.row-beleska-kasni > td {
  background: #fdecea;
}

.grid tr.row-beleska-podsetnik > td {
  background: #fff6e0;
}

.grid tr.row-beleska-ok > td {
  color: #5a6570;
}

.grid th.td-zavrseno,
.grid td.td-zavrseno {
  width: 36px;
  text-align: center;
  vertical-align: middle;
}

.grid input.chk-zavrseno {
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
  vertical-align: middle;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #9aa3ad;
  border-radius: 3px;
  background: #fff;
}

.grid input.chk-zavrseno:checked {
  background-color: #6b7280;
  border-color: #5a6270;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px 11px;
}

.app-sidebar-toggle {
  width: 28px;
  height: 24px;
  margin-right: 4px;
  padding: 0;
  border: 1px solid #4a5360;
  border-radius: 3px;
  background: #2a313a;
  color: #e8eaed;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-sidebar-toggle svg {
  width: 14px;
  height: 14px;
  display: block;
}

.app-sidebar-toggle:hover {
  background: #3a434e;
  border-color: #6b7580;
}

/* Levi meni — crno-siva paleta lab-a. */
.app-sidebar {
  flex-shrink: 0;
  width: 236px;
  background: #1e242c;
  color: #d5d9de;
  border-right: 1px solid #000;
  overflow-x: hidden;
  overflow-y: auto;
  z-index: 40;
}

/* Animacija sirine samo kad korisnik klikne hamburger — ne pri ucitavanju stranice. */
html.sidebar-anim .app-sidebar {
  transition: width 0.15s ease;
}

.app-sidebar-nav {
  display: flex;
  flex-direction: column;
  padding: 10px 8px 18px;
  gap: 3px;
}

.app-side-link,
.app-side-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 4px;
  color: #d5d9de;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  list-style: none;
}

.app-side-summary::-webkit-details-marker { display: none; }

/* Hover bocnog menija — sjajno narandzasto + bela slova. */
.app-side-link:hover,
.app-side-summary:hover {
  background: #ff9a2e;
  color: #fff;
}

.app-side-link.active,
.app-side-sub a.active {
  background: #3a434e;
  color: #fff;
  font-weight: 600;
}

.app-side-link.active:hover,
.app-side-sub a.active:hover,
.app-side-summary.active-group:hover {
  background: #ff9a2e;
  color: #fff;
}

.app-side-summary.active-group {
  color: #fff;
  font-weight: 600;
}

.app-side-ico {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  display: block;
  overflow: visible;
}

.app-side-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: var(--rmx-menu-font-size);
}

.app-side-group {
  margin: 0;
  position: relative;
}

.app-side-sub {
  display: flex;
  flex-direction: column;
  padding: 2px 0 8px 12px;
  gap: 1px;
}

.app-side-sub a {
  display: block;
  padding: 8px 12px 8px 26px;
  border-radius: 4px;
  color: #c5cad1;
  text-decoration: none;
  font-size: var(--rmx-menu-font-size);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-side-sub a:hover {
  background: #ff9a2e;
  color: #fff;
}

/* Partner typeahead na Fakture kartici — kucaj umesto dugacke select liste. */
.partner-typeahead {
  position: relative;
  width: 100%;
  max-width: calc(100ch + 1.15rem);
}
.partner-typeahead-field {
  position: relative;
  display: flex;
  align-items: center;
}
.partner-typeahead-field .form-input {
  padding-right: 28px;
}
.partner-typeahead-field .search-clear {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
}
.partner-typeahead-list {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 2px);
  z-index: 40;
  max-height: 16rem;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--rmx-edge);
  border-radius: 4px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.14);
}
.partner-typeahead-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  width: 100%;
  padding: 7px 10px;
  border: 0;
  background: transparent;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
.partner-typeahead-item:hover,
.partner-typeahead-item.is-focus {
  background: #ff9a2e;
  color: #fff;
}
.partner-typeahead-name {
  font-weight: 600;
}
.partner-typeahead-note {
  font-size: 0.85em;
  opacity: 0.85;
}
.partner-typeahead-empty {
  padding: 10px 12px;
  color: var(--rmx-muted);
  font-size: 0.9em;
}

/* Tabela unosa stavki na kartici fakture (N redova). */
.stavke-table-wrap {
  overflow-x: auto;
  margin-top: 0.25rem;
}
.stavke-edit-table,
.stavke-edit-table.grid {
  width: 100%;
  min-width: 54rem;
  border-collapse: collapse;
}
.stavke-edit-table.grid th,
.stavke-edit-table.grid td {
  vertical-align: middle;
  /* 0.75mm + 0.75mm = 1.5mm izmedju susednih polja */
  padding: 0.2rem 0.75mm;
}
.stavke-edit-table .form-input {
  max-width: none;
  width: 100%;
  min-width: 0;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
}
.stavke-edit-table .stavka-jm,
.stavke-edit-table .stavka-kol {
  text-align: center;
}
/* JM: 3 znaka (npr. kom) bez sečenja. */
.stavke-edit-table .stavka-jm {
  min-width: 3.4rem;
}
.stavke-edit-table .stavka-rb-cell {
  text-align: center;
  color: #555;
  font-variant-numeric: tabular-nums;
}
.stavke-edit-table .stavka-rb-label {
  display: inline-block;
  min-width: 1.25rem;
}
.stavke-edit-table .stavka-cena-eur,
.stavke-edit-table .stavka-cena-din,
.stavke-edit-table .stavka-iznos {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
/* DIN iznosi (npr. 164287.4) — sira kolona od EUR. */
.stavke-edit-table .stavka-cena-din {
  min-width: 8.5rem;
}
/* Opis uzima manje preostalog prostora; Napomena sira (sifra npr. Troskovi-izvoz). */
.stavke-edit-table .col-opis {
  width: 36%;
}
.stavke-edit-table .col-napomena,
.stavke-edit-table .stavka-nap {
  min-width: 14rem;
  width: 15rem;
}

/* Podgrupa u bocnom meniju (npr. SEF ispod glavnih stavki Finansija). */
.app-side-subhead {
  margin: 10px 12px 2px 26px;
  padding: 8px 0 0;
  border-top: 1px solid #3a424c;
  font-size: calc(var(--rmx-menu-font-size) - 2px);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #7a8490;
  user-select: none;
}

.app-menu-subhead {
  margin: 6px 10px 2px;
  padding: 4px 0 0;
  font-size: calc(var(--rmx-menu-font-size) - 2px);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8a929c;
  border-top: 1px solid #3a424c;
  user-select: none;
}

/* Collapse: uska traka. Podmeni = JS flyout (#appSideFlyout), ne CSS hover u sidebaru. */
.sidebar-collapsed .app-sidebar {
  width: 58px;
  position: relative;
  z-index: 100;
}

.sidebar-collapsed .app-side-text,
.sidebar-collapsed .app-side-sub {
  display: none !important;
}

.sidebar-collapsed .app-side-link,
.sidebar-collapsed .app-side-summary {
  justify-content: center;
  padding: 10px 0;
  gap: 0;
}

/* Sklopljen: hover i otvoren flyout — isto sjajno narandzasto + bela (ne sivo). */
.sidebar-collapsed .app-side-link:hover,
.sidebar-collapsed .app-side-summary:hover,
.sidebar-collapsed .app-side-link.active:hover,
.sidebar-collapsed .app-side-summary.active-group:hover,
.sidebar-collapsed .app-side-group.is-flyout-open > .app-side-summary {
  background: #ff9a2e;
  color: #fff;
}

/* Fiksni panel van sidebara — ne seče ga overflow glavnog sadržaja. */
.app-side-flyout {
  display: none;
  position: fixed;
  min-width: 220px;
  max-width: 300px;
  /* Ceo meni vidljiv (visina prozora); skrol samo ako prozor bas nije dovoljno visok. */
  max-height: calc(100vh - 16px);
  overflow-y: auto;
  padding: 6px 0;
  background: #1e242c;
  border: 1px solid #4a5360;
  border-radius: 4px;
  box-shadow: 4px 6px 18px rgba(0, 0, 0, 0.45);
  z-index: 2000;
}

.app-side-flyout.is-open {
  display: block;
}

.app-side-flyout-title {
  padding: 8px 14px 6px;
  color: #e3b27e;
  font-size: calc(var(--rmx-menu-font-size) - 4px);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.app-side-flyout-subhead {
  margin: 6px 14px 0;
  padding: 8px 0 2px;
  border-top: 1px solid #4a5360;
  color: #e3b27e;
  font-size: calc(var(--rmx-menu-font-size) - 4px);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  user-select: none;
}

.app-side-flyout a {
  display: block;
  padding: 9px 14px;
  color: #e8eaed;
  text-decoration: none;
  font-size: var(--rmx-menu-font-size);
  white-space: nowrap;
}

.app-side-flyout a:hover {
  background: #ff9a2e;
  color: #fff;
}

.app-side-flyout a.active {
  font-weight: 600;
  background: #3a434e;
  color: #fff;
}

.app-side-flyout a.active:hover {
  background: #ff9a2e;
  color: #fff;
}

/* Gornji horizontalni meni (shell.meni = top). */
.app-menu {
  flex-shrink: 0;
  background: #e4e7eb;
  border-bottom: 1px solid var(--rmx-line);
  padding: 0 10px;
  display: flex;
  gap: 2px;
  min-height: 34px;
  align-items: stretch;
}

.app-menu-item {
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  color: var(--rmx-text);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  font-weight: 500;
  font-size: var(--rmx-menu-font-size);
}

.app-menu-item:hover {
  background: #d8dce2;
}

.app-menu-item.active {
  background: #fff;
  border-bottom-color: var(--rmx-charcoal);
  color: var(--rmx-black);
  font-weight: 600;
}

.app-menu-btn {
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  height: 100%;
}

.app-menu-drop {
  position: relative;
  display: flex;
  align-items: stretch;
}

.app-menu-panel {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #fff;
  border: 1px solid var(--rmx-edge);
  box-shadow: 0 6px 16px rgba(0,0,0,0.18);
  z-index: 50;
  padding: 4px 0;
}

.app-menu-drop:hover .app-menu-panel,
.app-menu-drop:focus-within .app-menu-panel {
  display: block;
}

.app-menu-panel a {
  display: block;
  padding: 7px 14px;
  color: var(--rmx-text);
  text-decoration: none;
  white-space: nowrap;
  font-size: var(--rmx-menu-font-size);
}

.app-menu-panel a:hover {
  background: #eceef1;
}

/* Bez sidebara: shell je samo kolona sadrzaja. */
.shell-mode-top .app-shell,
.shell-mode-plocice .app-shell {
  flex-direction: column;
}

.podesavanja-meni-opcije {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 36rem;
}

.podesavanja-opcija {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 14px;
  border: 1px solid var(--rmx-edge);
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
}

.podesavanja-opcija:hover {
  background: #ffe8cc;
  border-color: #e0a35a;
}

.podesavanja-opcija input {
  margin-top: 4px;
}

.podesavanja-widget-red {
  align-items: center;
  cursor: default;
}

.podesavanja-widget-red > label:first-child {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  flex: 1;
  min-width: 0;
  cursor: pointer;
}

.podesavanja-widget-max {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  cursor: default;
}

.podesavanja-widget-meta {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
  align-items: flex-end;
}

.podesavanja-widget-boja input[type="color"] {
  width: 2.2rem;
  height: 1.85rem;
  padding: 1px 2px;
  border: 1px solid var(--rmx-edge);
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
}

.podesavanja-widget-max > span {
  color: var(--rmx-muted);
}

.podesavanja-widget-max .form-input {
  margin-top: 0;
}

.podesavanja-opcija strong {
  display: block;
  margin-bottom: 2px;
}

.podesavanja-opcija small {
  display: block;
  color: var(--rmx-muted);
  font-size: 0.88rem;
  line-height: 1.35;
}

.podesavanja-velicine {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.podesavanja-velicina {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 2.8rem;
  padding: 8px 12px;
  border: 1px solid var(--rmx-edge);
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  font-weight: 650;
}

.podesavanja-velicina:hover {
  background: #ffe8cc;
  border-color: #e0a35a;
}

.podesavanja-velicina:has(input:checked) {
  border-color: var(--rmx-slate);
  background: #eceef1;
}

.podesavanja-velicina input {
  margin: 0;
}

.prikaz-preview {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px dashed var(--rmx-edge);
  border-radius: 4px;
  background: #fff;
}

.prikaz-preview-naslov {
  font-weight: 650;
  margin-bottom: 6px;
}

.prikaz-preview-tekst {
  margin: 0 0 10px;
}

.prikaz-preview .form-input {
  max-width: 16rem;
}

.prikaz-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: start;
}

.prikaz-levo .card-panel + .card-panel {
  margin-top: 14px;
}

.prikaz-desno .podesavanja-meni-opcije {
  max-width: none;
}

.prikaz-desno .card-panel + .card-panel {
  margin-top: 14px;
}

/* /Podesavanja/Firma tab SEF — razmak redova mapiranja */
.kartica-form .firma-sef-map {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  margin-top: 0.75rem;
}

.kartica-form .firma-sef-map > .form-row {
  margin: 0;
  padding: 1rem 1.1rem 1.15rem;
  border: none;
  border-radius: var(--rmx-radius-panel, 8px);
  background: #e4e7eb;
  align-items: start;
  grid-template-columns: 1fr;
  gap: 2mm;
}

.kartica-form .firma-sef-map > .form-row:not(:has(.form-row-wide)) {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem 1.25rem;
}

.kartica-form .firma-sef-map > .form-row > .form-field {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.kartica-form .firma-sef-map .page-note {
  margin: 6px 0 0;
  line-height: 1.35;
}

.kartica-form .firma-sef-map .form-select,
.kartica-form .firma-sef-map .form-input {
  max-width: 100%;
}

@media (max-width: 900px) {
  .kartica-form .firma-sef-map > .form-row:not(:has(.form-row-wide)) {
    grid-template-columns: 1fr;
  }
}

.firma-faktura-primer {
  margin: 10px 0 0;
  font-size: calc(var(--rmx-font-size, 13px) + 2px);
}

.firma-faktura-primer strong {
  font-weight: 700;
}

@media (max-width: 900px) {
  .prikaz-layout {
    grid-template-columns: 1fr;
  }
}

.app-main {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 12px 14px 40px;
}

/* Pocetna — tabla za stikere (widgeti) */
body:has(.home-page) .app-main {
  display: flex;
  flex-direction: column;
}

.home-page {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.home-page-content {
  position: relative;
  z-index: 1;
}

.home-stickers {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

.home-sticker {
  position: absolute;
  pointer-events: auto;
  width: 280px;
  max-height: 340px;
  display: flex;
  flex-direction: column;
  background: #fff6dc;
  border: 1px solid var(--rmx-edge);
  border-radius: var(--rmx-radius-panel, 8px);
  box-shadow: 2px 3px 10px rgba(20, 24, 29, 0.18);
  overflow: hidden;
}

.home-sticker.is-sized {
  max-height: none;
}

.home-sticker-head {
  flex-shrink: 0;
  background: linear-gradient(180deg, #2a313a 0%, #1e242c 100%);
  color: #e8eaed;
  padding: 6px 10px;
  font-weight: 650;
  cursor: grab;
  user-select: none;
  touch-action: none;
}

.home-sticker.is-dragging .home-sticker-head {
  cursor: grabbing;
}

.home-sticker-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: scroll;
  padding: 8px 10px;
  scrollbar-gutter: stable;
}

.home-sticker-body ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.home-sticker-body li {
  padding: 6px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.home-sticker-body li:last-child {
  border-bottom: none;
}

.home-sticker-naslov {
  display: block;
  font-weight: 650;
}

.home-sticker-opis,
.home-sticker-empty {
  display: block;
  margin: 2px 0 0;
  color: var(--rmx-muted);
}

.home-sticker-empty {
  margin: 8px 0;
}

.home-sticker-link {
  flex-shrink: 0;
  display: block;
  padding: 6px 10px;
  padding-right: 22px;
  border-top: 1px solid var(--rmx-edge);
  background: #fff;
  color: var(--rmx-text);
  text-align: center;
  text-decoration: none;
}

.home-sticker-link:hover {
  background: #ffe8cc;
  border-color: #e0a35a;
  color: #8a4b00;
}

.home-sticker-resize {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 16px;
  height: 16px;
  cursor: nwse-resize;
  touch-action: none;
  z-index: 2;
  background: linear-gradient(135deg, transparent 0 46%, #8a9098 46% 54%, transparent 54% 70%, #8a9098 70% 78%, transparent 78%);
}

.app-status {
  flex-shrink: 0;
  background: #1e242c;
  border-top: 1px solid #000;
  padding: 4px 14px;
  display: flex;
  justify-content: space-between;
  color: #a8b0b8;
  font-size: 11px;
}

/* ========== PAGE / GRID ========== */

.page-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.page-title {
  margin: 0;
  font-size: 18px;
  font-weight: 650;
  color: var(--rmx-charcoal);
}

.page-note {
  margin: 0;
  color: var(--rmx-muted);
  font-size: 12px;
}

/* Ture/Kartica zaglavlje: identifikacija ture (broj/vozilo/vozac/datum) na sredini,
   naslov levo i "Nazad na listu" desno ostaju gde su bili. */
.tura-kartica-ident {
  flex: 1;
  text-align: center;
}

.toolbar {
  background: var(--rmx-panel);
  border: 1px solid var(--rmx-edge);
  border-radius: var(--rmx-radius-panel);
  padding: 8px 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
  position: relative;
  overflow: visible;
}

.toolbar input[type="text"] {
  height: 28px;
  min-width: 220px;
  padding: 2px 8px;
  border-radius: var(--rmx-radius-panel);
}

/* Overlay datuma (ui.datum) nije polje Pretrage — ne sme 220px. */
.toolbar input[type="text"].rmx-date-prikaz {
  min-width: 0;
}

.btn-primary-rmx {
  height: 28px;
  padding: 0 14px;
  border: 1px solid #2f6e3a;
  border-radius: var(--rmx-radius-panel);
  background: linear-gradient(180deg, #55a862 0%, var(--rmx-green) 100%);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.btn-primary-rmx:hover { background: var(--rmx-green-hover); }

.btn-secondary-rmx {
  height: 28px;
  padding: 0 12px;
  border: 1px solid var(--rmx-edge);
  border-radius: var(--rmx-radius-panel);
  background: #e8eaed;
  color: var(--rmx-text);
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.btn-secondary-rmx[hidden] {
  display: none !important;
}

/* Podrazumevani hover za sive tastere — blago zuto/narandzasto. */
.btn-secondary-rmx:hover {
  background: #ffe8cc;
  border-color: #e0a35a;
  color: #8a4b00;
}

/* Toolbar specijalne boje (jaci prioritet od podrazumevanog narandzastog). */
.btn-hover-novi:hover {
  background: #d7efdc;
  border-color: #7eb888;
  color: #1f5c2a;
}

.btn-hover-izmena:hover {
  background: #ffe8cc;
  border-color: #e0a35a;
  color: #8a4b00;
}

.btn-hover-brisi:hover {
  background: #f6d4cf;
  border-color: #d08a80;
  color: #8a2a20;
}

.btn-hover-stampa:hover {
  background: #d6e6f7;
  border-color: #7aa3d4;
  color: #1a4a7a;
}

/* Akcije koje zavise od izabranog reda — sakrivene dok nema izbora. */
.toolbar-when-selected {
  display: none;
  align-items: center;
  gap: 6px;
}

.toolbar-when-selected.is-visible {
  display: inline-flex;
}

/* Izbor formata stampe / izvoza. */
.stampa-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 40;
  margin-top: 4px;
  min-width: 160px;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--rmx-edge);
  border-radius: 3px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.stampa-menu.is-open {
  display: block;
}

.stampa-wrap {
  position: relative;
  display: inline-flex;
}

.stampa-menu button {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  padding: 6px 10px;
  font: inherit;
  font-weight: 600;
  color: var(--rmx-text);
  cursor: pointer;
  border-radius: 2px;
}

.stampa-menu button:hover {
  background: #ffe8cc;
  color: #8a4b00;
}

/* Potvrda brisanja — default fokus na NE. */
.confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(20, 24, 28, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.confirm-overlay[hidden] {
  display: none !important;
}

.confirm-box {
  width: min(420px, 100%);
  background: #f4f6f8;
  border: 1px solid var(--rmx-edge);
  border-radius: 3px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2);
  padding: 14px 16px 12px;
}

/* Brza beleska — isti okvir kao prijava: crna naslovna traka preko cele sirine, blago zaobljen. */
.confirm-box.beleska-box {
  width: min(480px, 100%);
  padding: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #f5f6f7;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.confirm-box.beleska-box .confirm-title {
  margin: 0;
  padding: 9px 12px;
  background: linear-gradient(180deg, #2a313a 0%, #1e242c 55%, #14181d 100%);
  color: #e8eaed;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.2px;
  border-bottom: 1px solid #000;
}

.beleska-brza-form {
  padding: 18px 18px 14px;
  background: linear-gradient(180deg, #fafbfc 0%, #eceef1 100%);
}

.confirm-title {
  font-weight: 700;
  color: var(--rmx-charcoal);
  margin-bottom: 8px;
}

/* Svi DA/NE i info dijalozi: ikonica programa levo od naslova (kao dijalog poruke RMX u _Layout). */
.confirm-box:not(.beleska-box) > .confirm-title:not(#rmxPorukaTitle) {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.confirm-box:not(.beleska-box) > .confirm-title:not(#rmxPorukaTitle)::before {
  content: "";
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: url("../favicon-48.png") center / contain no-repeat;
}

.confirm-text {
  margin: 0 0 14px;
  color: var(--rmx-text);
  line-height: 1.35;
}

.confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

/* DA/NE koriste isti zuto/narandzasti hover kao ostali sivi tasteri. */
.confirm-actions #confirmBrisiNe:focus,
.confirm-actions #confirmDirtyNe:focus {
  outline: 2px solid #e0a35a;
  outline-offset: 1px;
}

/* Pregled stampe — ram na istoj stranici (iframe), ne novi tab. */
.print-overlay {
  position: fixed;
  inset: 0;
  z-index: 85;
  background: rgba(20, 24, 28, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.print-overlay[hidden] {
  display: none !important;
}

.print-box {
  width: min(720px, 100%);
  height: min(86vh, 820px);
  background: #f4f6f8;
  border: 1px solid var(--rmx-edge);
  border-radius: 3px;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.22);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.print-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--rmx-edge);
  background: #e8eaed;
  flex-shrink: 0;
}

.print-title {
  font-weight: 700;
  color: var(--rmx-charcoal);
}

.print-actions {
  display: flex;
  gap: 8px;
}

/* Stampaj / Zatvori — isti narandzasti hover kao ostali sivi tasteri. */

/* Telu rama: iframe + wait overlay (Word PDF moze trajati ~10–15 s). */
.print-body {
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
}

.print-wait {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: #fff;
  color: var(--rmx-charcoal);
}

.print-wait[hidden] {
  display: none !important;
}

/* Isti spinner kao Formiram fakturu/nalog — u confirm overlay posle DA (SEF slanje/provera). */
.confirm-overlay > .print-wait {
  position: relative;
  inset: auto;
  background: #f4f6f8;
  border: 1px solid var(--rmx-edge);
  border-radius: 3px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2);
  padding: 28px 32px;
  min-width: 240px;
}

.print-wait-spin {
  width: 36px;
  height: 36px;
  border: 3px solid #d0d5db;
  border-top-color: #e0a35a;
  border-radius: 50%;
  animation: rmx-print-spin 0.8s linear infinite;
}

.print-wait-text {
  font-size: 1rem;
  font-weight: 600;
}

@keyframes rmx-print-spin {
  to { transform: rotate(360deg); }
}

.print-frame {
  flex: 1;
  width: 100%;
  border: 0;
  background: #fff;
  /* Faktura A4 je fiksna 210mm — skrol u ramu, ne stiskaj HTML (stampa = pregled). */
  overflow: auto;
}

.btn-danger-rmx {
  height: 28px;
  padding: 0 12px;
  border: 1px solid #8e2a20;
  border-radius: var(--rmx-radius-panel);
  background: linear-gradient(180deg, #d45648 0%, var(--rmx-red) 100%);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

/* Mala SVG ikona pored naziva na tasteru (currentColor = boja teksta). */
.btn-ico {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  display: block;
}

.btn-danger-rmx:hover { background: var(--rmx-red-hover); }

.toolbar-search {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-left: auto;
  /* toolbar gap 8px + ovo ≈ 4 mm ispred ▲/▼ */
  margin-right: calc(4mm - 8px);
  position: static;
  z-index: 2;
}

/* Lista Dokumenti: filter pored pretrage (default ukljucen). */
.toolbar-samo-aktivni {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: 4px;
  white-space: nowrap;
  cursor: pointer;
  font-weight: 600;
  user-select: none;
}

.toolbar-samo-aktivni input {
  margin: 0;
  cursor: pointer;
}

/* Rokovnik: padajuce Vozilo / Vrsta pored pretrage (korisnik 2026-10-09) — sirina po sadrzaju, ne preko cele trake;
   telefon: blok „TELEFON — traka liste“ (select max-width 100%). Pages/Rokovnik/Index.cshtml. */
.toolbar-search .rokovnik-filter {
  width: auto;
  max-width: 14rem;
}

/* ▲ ▼ osveži download — skroz desno. Kad ima pretragu, ona je odmah levo (ne auto). */
.toolbar-desno {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-left: auto;
  flex-shrink: 0;
  z-index: 3;
}

.toolbar:has(.toolbar-search) .toolbar-desno {
  margin-left: 0;
}

/* Pretraga: X unutar polja za ponistavanje. */
.search-field {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.search-field #txtPretraga {
  padding-right: 26px;
  min-width: 200px;
}

.search-clear {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: #6b7280;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.search-clear[hidden] {
  display: none !important;
}

/* Samo strelice — vrh / dno liste. */
.btn-icon-rmx {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid var(--rmx-edge);
  border-radius: var(--rmx-radius-panel);
  background: #e8eaed;
  color: var(--rmx-charcoal);
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-icon-rmx:hover {
  background: #ffe8cc;
  border-color: #e0a35a;
  color: #8a4b00;
}

/* Izvoz liste — ikonica pored ▲/▼; hover plavo (nije Stampa dokumenta). */
.btn-icon-rmx.btn-hover-stampa:hover {
  background: #d6e6f7;
  border-color: #7aa3d4;
  color: #1a4a7a;
}

.izvoz-wrap {
  position: relative;
  display: inline-flex;
}

.izvoz-menu {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  left: auto;
  z-index: 40;
  margin-top: 4px;
  min-width: 140px;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--rmx-edge);
  border-radius: var(--rmx-radius-panel);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.izvoz-menu.is-open {
  display: block;
}

.izvoz-menu button {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  padding: 6px 10px;
  font: inherit;
  font-weight: 600;
  color: var(--rmx-text);
  cursor: pointer;
  border-radius: 2px;
}

.izvoz-menu button:hover {
  background: #ffe8cc;
  color: #8a4b00;
}

.izvoz-print-box {
  width: min(1100px, 100%);
  height: min(92vh, 1100px);
}

.search-clear:hover {
  background: #ffe8cc;
  color: #8a4b00;
}

.grid-scroll {
  max-height: min(52vh, 520px);
  overflow: auto;
}

/* Partneri: ne skroluje cela stranica — gornji panel ostaje, skrola samo tabela. */
body:has(.partneri-page) {
  overflow: hidden;
  height: 100vh;
}

body:has(.partneri-page) .app-body {
  height: 100vh;
  overflow: hidden;
}

body:has(.partneri-page) .app-shell,
body:has(.partneri-page) .app-content {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

body:has(.partneri-page) .app-main {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding-bottom: 8px;
}

.partneri-page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
}

.partneri-page-top {
  flex-shrink: 0;
}

.partneri-page-top .toolbar {
  margin-bottom: 0;
}

.partneri-page .grid-scroll {
  flex: 1 1 auto;
  min-height: 120px;
  max-height: none;
  overflow: auto;
}

.partneri-page .grid-scroll thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}

.partneri-page-bottom {
  flex-shrink: 0;
}

/* Izvestaj vozaca — filter traka + zbirovi (Excel Izvestaj_Vozaca). */
.izvestaj-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 14px;
  margin: 8px 0;
}

.izvestaj-label {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 12px;
  color: var(--rmx-muted);
}

.izvestaj-label .form-input {
  min-width: 11rem;
}

.izvestaj-label .form-input-date,
.izvestaj-label .rmx-date-wrap {
  width: 9rem;
  min-width: 9rem;
  max-width: 9rem;
}

.izvestaj-label .rmx-date-prikaz {
  min-width: 0;
  width: 100%;
}

/* /Sluzbena: Novi + Period od/do + Prikazi u jednom redu, isti nivo (label pored polja). */
.toolbar-levo-red {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.toolbar .sluzbena-period {
  flex-wrap: nowrap;
  align-items: center;
  margin: 0;
  gap: 8px 10px;
}

.toolbar .sluzbena-period .izvestaj-label {
  flex-direction: row;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

/* Izvestaj kamiona: servisi kamiona / prikolice jedan pored drugog (Excel Izvestaj_Kamiona R..X, korisnik 2026-09-27). */
.izvestaj-servisi { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0 4px; }
.izvestaj-servisi-blok { flex: 1 1 420px; min-width: 0; }
.izvestaj-servisi-naslov { display: flex; justify-content: space-between; font-weight: 700; padding: 6px 8px; background: #5f6e7c; color: #fff; border-radius: var(--rmx-radius-panel, 8px) var(--rmx-radius-panel, 8px) 0 0; }
.izvestaj-sum {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  align-items: baseline;
  padding: 8px 10px;
  margin: 0 0 6px;
  background: #eceff2;
  border: 1px solid var(--rmx-edge);
  border-radius: 4px;
  font-size: 13px;
}

.izvestaj-sum-count {
  color: var(--rmx-muted);
}

/* /Sluzbena: zbir dnevnica / isplate gore desno iznad tabele (korisnik 2026-09-25; Pages/Sluzbena/Index.cshtml). */
.izvestaj-sum.sluzbena-sum {
  justify-content: flex-end;
  margin: 6px 0;
}

/* Pregled DKV: klikabilne "plocice" zbira po vrsti troska (postavljaju filter VrstaTroska). */
.izv-dkv-vrsta-chip {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  padding: 3px 8px;
  border: 1px solid var(--rmx-edge);
  border-radius: 999px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.izv-dkv-vrsta-chip:hover {
  border-color: #ff9a2e;
}

.izv-dkv-vrsta-chip.active {
  background: #ffe8cc;
  border-color: #ff9a2e;
}

.izv-dkv-vrsta-broj {
  color: var(--rmx-muted);
}

/* Izvestaj Potrazivanja kupaca: kolona Broj sira (D-487-2026). */
.izv-potr-broj {
  min-width: 9rem;
}

/* Izvestaji Potrazivanja kupaca / Potrazivanja AP: polje Partner/Prevoznik sire. */
#kupacTypeahead,
#kupacTypeahead .form-input,
#prevoznikTypeahead,
#prevoznikTypeahead .form-input {
  width: 30rem;
  min-width: 30rem;
}

/* Isti izvestaji: red je bold kad ima dug (Dug > 1). */
.row-dug {
  font-weight: 650;
}

/* Privremeno (nefakturisano, dnevni izvoz DKV/MOL) — zuto, isto znacenje i na turi (korak 2 plana).
   Vezano: Pages/Izvestaji/Dkv.cshtml + Mol.cshtml deo „Nefakturisano — privremeno“ (korisnik 2026-09-27). */
.row-privremeno > td { background-color: #fff6d6; }
.izvestaj-sum-privremeno { background-color: #fff6d6; }
.btn-privremeno { border-color: #e0b400; }
.btn-privremeno:hover { background-color: #fff1b8; }
/* Kartica ture: traka „sadrzi privremene troskove“ + zuti red na tabovima Putarine/AdBlue/Gorivo (SQL 107). */
.alert-privremeno { margin: 4px 0 8px; padding: 6px 10px; border: 1px solid #e0b400; border-radius: var(--rmx-radius-panel, 8px); background: #fff6d6; }
/* Zakljucana tura (SQL 129, korisnik 2026-10-05) — traka na /Ture/Kartica (siva = zakljucana, zelena = otkljucana za jednu
   izmenu) i katanac na listi /Ture i u akontacijama drugih tura. Pages/Ture/Kartica.cshtml, Pages/Ture/Index.cshtml. */
.alert-zakljucana { display: flex; align-items: center; gap: 10px; margin: 4px 0 8px; padding: 6px 10px;
  border: 1px solid var(--rmx-edge, #c8ccd2); border-radius: var(--rmx-radius-panel, 8px); background: #eef0f3; }
.alert-zakljucana.alert-otkljucana { border-color: #6bbf7a; background: #eaf7ec; }
.tura-zakljucana-oznaka { display: inline-block; margin-left: 4px; font-size: 0.95em; line-height: 1; }
/* Lista /Ture kolona Povratak: datum iz istovara naloga (tura U planu / U toku, dnevnice jos nisu) = siv, ne iz dnevnica
   (TuraRepository PovratakIzNaloga, Pages/Ture/Index.cshtml; korisnik 2026-10-08 „tako je“). */
#tblPutniNalozi td.tura-povratak-nalog { color: var(--rmx-muted); }
.row-privremeno > td .form-input:not(.form-input-locked) { background-color: #fffbe8; }
/* Putarine: zbir po zemlji iznad reda Ukupno (JS putarineZemlje, korisnik 2026-09-27). */
#tblPutarine tfoot tr.ptr-zemlja-zbir td { font-weight: 500; border-top: 1px solid var(--rmx-edge); }
#tblPutarine tfoot .ptr-zbir-priv { font-weight: 400; color: #8a6d00; font-size: 0.92em; }
/* Lista /Ture: oznaka P uz broj ture sa privremenim troskovima (Pages/Ture/Index.cshtml, 2026-09-27). */
/* Tab Dnevnice: rucno upisan Br. dnevnica (SQL 108, korisnik 2026-09-27) — narandzast okvir da se vidi da nije iz sati. */
.tura-kartica-form .put-brdnev.put-brdnev-rucni { border-color: #e67e22; background-color: #fff4e6; }
/* Ikonica posade uz vozaca na listi /Ture: 1 osoba = dodatni vozac, 2 osobe = dvojna posada (korisnik 2026-09-27). */
.posada-ikona { height: 13px; width: auto; margin-left: 6px; vertical-align: -2px; fill: #5b6570; }
/* Vise izlazaka dodatnog vozaca = vise ikonica jedna do druge (korisnik 2026-09-29, Pages/Ture/Index.cshtml). */
.posada-ikona.posada-ikona-sled { margin-left: 1px; }
.oznaka-privremeno { display: inline-block; margin-left: 6px; padding: 0 5px; border: 1px solid #e0b400; border-radius: 4px;
  background: #fff1b8; color: #6b5400; font-size: 0.8em; font-weight: 700; line-height: 1.4; }

.filter-hint {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--rmx-muted);
  min-height: 1.2em;
}

/* Pregled odmah ispod izabranog reda. */
.partner-detail-row > td,
.uvoz-detail-row > td {
  padding: 0 !important;
  background: #eef1f4;
  border-bottom: 1px solid var(--rmx-edge);
}

.uvoz-opis {
  white-space: pre-wrap;
  line-height: 1.45;
  margin-top: 10px;
  max-width: 72rem;
}

.row-detail {
  padding: 10px 14px 8mm;
  background: linear-gradient(180deg, #f4f6f8 0%, #eef1f4 100%);
}

.row-detail-title {
  font-weight: 650;
  color: var(--rmx-charcoal);
  margin-bottom: 8px;
  font-size: 13px;
}

.preview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 18px;
}

.preview-row {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 8px;
  align-items: start;
}

/* Partneri pregled: duzi labeli (slanje postom). */
.partner-detail-row .preview-row {
  grid-template-columns: 11rem 1fr;
}

.uvoz-detail-row .preview-row {
  grid-template-columns: 5.5rem 1fr;
}

.preview-wide {
  grid-column: 1 / -1;
}

.preview-label {
  text-align: right;
  color: var(--rmx-muted);
  font-weight: 500;
}

.preview-val {
  color: var(--rmx-text);
  word-break: break-word;
}

.tura-preview .preview-row {
  grid-template-columns: 7.5rem 1fr;
}

@media (max-width: 800px) {
  .preview-grid { grid-template-columns: 1fr; }
}

/* Pregled liste /Ture tab Putni — dve nezavisne kolone (levo putni / vozači / iznosi, sredina Datum / Status / Mesec /
   Napomena; korisnik 2026-10-05). Isti razmak redova kao .preview-grid. Pages/Ture/Index.cshtml putniGrid. */
.tura-putni-kol {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  align-content: start;
  min-width: 0;
}

/* Pregled ture ispod reda — read-only tabovi, diskretno (bez okvira). */
/* Jedan stupanj veći od tela liste (Prikaz: +1px). */
.row-detail:has(.tura-preview) .row-detail-title {
  font-size: calc(13px + 1px);
}

.tura-preview {
  margin-top: 2px;
  font-size: calc(1em + 1px);
}

.tura-preview .tura-tabs {
  margin-bottom: 6px;
  gap: 2px;
  border-bottom: none;
  padding-bottom: 0;
}

/* Diskretniji tabovi samo u pregledu (Kartica zadrzava pun stil). */
.tura-preview .tura-tab {
  border: none;
  background: transparent;
  color: var(--rmx-muted);
  padding: 4px 10px;
  font-size: calc(0.85rem + 1px);
  border-radius: 3px;
  box-shadow: none;
}

.tura-preview .tura-tab:hover {
  background: #ffe8cc;
  border-color: transparent;
  color: #222;
}

.tura-preview .tura-tab.active {
  background: transparent;
  border: none;
  box-shadow: inset 0 -2px 0 #555;
  color: var(--rmx-charcoal);
  font-weight: 650;
}

.tura-preview .tura-tab.active::after {
  display: none;
}

.tura-preview-badge {
  display: inline-block;
  min-width: 1.1em;
  padding: 0 5px;
  margin-left: 2px;
  border-radius: 8px;
  background: transparent;
  color: var(--rmx-muted);
  font-size: calc(0.75rem + 1px);
  font-weight: 650;
  line-height: 1.35;
  vertical-align: middle;
}

.tura-preview .tura-tab.active .tura-preview-badge {
  background: transparent;
  color: var(--rmx-charcoal);
}

.tura-preview-panel {
  display: none;
  max-height: min(42vh, 360px);
  overflow: auto;
  padding: 4px 0 2px;
  background: transparent;
  border: none;
  border-radius: 0;
}

.tura-preview-panel.active {
  display: block;
}

/* Tabela samo u pregledu (nema klasu .grid) — blago sivo zaglavlje. */
.tura-preview-table {
  width: 100%;
  border-collapse: collapse;
  font-size: calc(0.82rem + 1px);
  margin: 0;
  background: transparent;
}

.tura-preview-table th {
  text-align: left;
  background: #dce1e6;
  color: #333;
  border-bottom: 1px solid #c5ccd4;
  padding: 5px 8px;
  font-weight: 650;
  white-space: nowrap;
}

.tura-preview-table td {
  padding: 4px 8px;
  border-bottom: 1px solid #e4e7eb;
  white-space: nowrap;
  color: var(--rmx-text);
}

.tura-preview-table tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.55);
}

.tura-preview-table th.num,
.tura-preview-table td.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.tura-preview-empty {
  margin: 10px 12px;
  color: var(--rmx-muted);
  font-style: italic;
  font-size: calc(0.9rem + 1px);
}

.tura-preview-hint {
  margin: 8px 2px 0;
  font-size: calc(0.78rem + 1px);
  color: var(--rmx-muted);
}

.toolbar a.btn-primary-rmx,
.toolbar a.btn-secondary-rmx {
  line-height: 1;
}

.alert-ok {
  background: #e8f5e9;
  border: 1px solid #a5d6a7;
  color: #1b5e20;
  padding: 8px 10px;
  border-radius: 3px;
  margin-bottom: 10px;
}

.hidden-form { display: none; }

.card-panel {
  background: #fff;
  border: 1px solid var(--rmx-edge);
  border-radius: var(--rmx-radius-panel);
  overflow: hidden;
  margin-bottom: 12px;
}

.card-panel-title {
  padding: 8px 12px;
  background: linear-gradient(180deg, #2a313a 0%, #1e242c 100%);
  color: #e8eaed;
  font-weight: 650;
  border-bottom: 1px solid #000;
}

.dnevnice-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.dnevnice-title-row > span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dnevnice-title-akcije {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  white-space: nowrap;
}

.dnevnice-title-akcije .form-input {
  width: 9.2rem;
  max-width: 9.2rem;
  background: #fff;
  color: #1e242c;
  font: inherit;
  font-family: var(--rmx-font-family);
  font-size: var(--rmx-font-size);
  font-weight: 500;
  height: 28px;
  padding: 0 4px;
}

.dnevnice-title-akcije #btnClanPosade {
  white-space: nowrap;
  flex: 0 0 auto;
  width: auto;
  min-width: max-content;
  font-family: var(--rmx-font-family);
  font-size: var(--rmx-font-size);
}

[data-panel="dnevnice"] .btn-secondary-rmx {
  font-family: var(--rmx-font-family);
  font-size: var(--rmx-font-size);
}

/* Obracun dnevnica glavnog vozaca ispod tabele dnevnica (tab Dnevnice, Ture/Kartica #dnevObracun, 2026-09-26).
   Kolone Razlika i tabela poreza se vide samo kad je isplata iznad neoporezivog (klasa .ima-razliku iz JS). */
/* Zbir goriva po dobavljacu/zemlji ispod tabele Gorivo + kolona Datum na AdBlue (Ture/Kartica, 2026-09-26). */
.gorivo-zbir {
  margin-top: 10px;
  width: auto;
  min-width: min(40rem, 100%); /* ne sire od panela (korisnik 2026-09-29, Surface; ui_toolbar.md §7e) */
}
.gorivo-zbir td.num,
.gorivo-zbir th.num {
  width: 8rem;
}
.gorivo-zbir .gorivo-zbir-razmak td {
  height: 10px;
  padding: 0;
  background: transparent;
  border: 0;
}
.gorivo-zbir tr.row-sum td {
  font-weight: 650;
}
/* Tab Gorivo: Br. izvoda uze (korisnik 2026-09-26). */
#tblGorivo .gor-izvod {
  width: 6rem;
  min-width: 0;
}
#tblGorivo .gor-cena-l {
  white-space: nowrap;
}
#tblAdblue .adb-datum {
  white-space: nowrap;
}

.dnev-obracun {
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid #d9dde2;
}
.dnev-obracun-naslov {
  font-weight: 650;
  margin: 0 0 8px;
}
/* Taster Obracunaj desno u naslovu bloka (racun na klik/Enter/izlazak iz polja, ne dok se kuca — 2026-09-26). */
.dnev-obracun-naslov {
  display: flex;
  align-items: center;
  gap: 8px;
}
.dnev-obracun-naslov .dnev-obracunaj {
  margin-left: auto;
}
.dnev-obracun:not(.ima-razliku) .dnev-obr-raz {
  display: none;
}
.dnev-obracun-grid .dob-raz-in,
.dnev-obracun-grid .dob-ispl {
  width: 8rem;
  margin-left: auto;
}
.dnev-bop-naslov { margin-top: 14px; }
/* Tab Akontacije: stanje kod vozaca (2026-09-26). */
.akontacije-stanje { font-size: 1.05em; margin: 0 0 10px; }
.akontacije-iznos { font-weight: 700; margin-left: 4px; }
.akontacije-ostali { margin-top: 4px; }
/* Ranije / druge ture: red zakljucan dok se ne klikne olovcica (2026-09-26). × samo u otkljucanom redu. */
#tblAkontacijeOstali tr.akt-red-zakljucan input:not([type="hidden"]),
#tblAkontacijeOstali tr.akt-red-zakljucan select,
#tblAkontacijeOstali tr.akt-red-zakljucan .rmx-date-wrap {
  pointer-events: none;
  background-color: #e8eaed;
}
#tblAkontacijeOstali tr.akt-red-zakljucan .akt-ukloni-ostali { display: none; }
#tblAkontacijeOstali tr:not(.akt-red-zakljucan) .akt-olovka { display: none; }
#tblAkontacijeOstali .akt-akcije { white-space: nowrap; }
/* Tab Bonusi (SQL 104, 2026-09-27): plan sa druge ture zakljucan (menja se samo Uracunaj + Na ovoj turi),
   umanjenje crvenkasto, upozorenje (saglasnost / 1/3 zarade). Vezano: Pages/Ture/Kartica.cshtml panel „bonusi“. */
#tblKorekcije tr.kor-tudji input[readonly],
#tblKorekcije tr.kor-tudji .rmx-date-wrap { pointer-events: none; background-color: #e8eaed; }
#tblKorekcije tr.kor-umanjenje td:first-child { box-shadow: inset 3px 0 0 #d9534f; }
#tblKorekcije .kor-cb { text-align: center; }
#tblKorekcije .form-input-num { width: 6.5rem; }
#tblKorekcije .kor-preostalo, #tblKorekcije .kor-ranije { white-space: nowrap; }
.kor-zbir { margin: 6px 0 0; font-weight: 600; }
.kor-upozorenje { margin: 4px 0 0; color: #b3261e; font-weight: 600; }
.dnev-obracun-poruka {
  margin: 8px 0 0;
  color: #b45309;
}
.dnev-obracun-porez {
  margin-top: 10px;
  width: auto;
  min-width: min(34rem, 100%); /* ne sire od panela (korisnik 2026-09-29, Surface; ui_toolbar.md §7e) */
}
.dnev-obracun-porez td.num {
  width: 10rem;
}

.dnevnice-vozac-ime {
  font-weight: 650;
  margin: 0 0 8px;
}
/* Opis izlaska clana posade (relacija · napomena) desno od imena, obican tekst (korisnik 2026-09-29, Ture/Index pregled). */
.dnevnice-vozac-ime .dnevnice-opis {
  font-weight: 400;
  color: #4a5560;
  margin-left: 16px;
}

/* Traka iznad clana posade = zlatna boja trake za grupisanje lista (.lista-grupa-zlatna #ded3b4 / ivica #c8b788 —
   menjati zajedno; korisnik 2026-10-08: „stavi tu liniju/traku da bude u onoj zlatnoj za grupisanje“). Ranije siva #d9dde2.
   Od ivice do ivice panela (korisnik 2026-10-08: „da se proteže od ivice do ivice kontejnera stalno“): -16px = bocni
   padding .card-panel-body (14px 16px) — menjati zajedno; sadrzaj bloka vracen istim paddingom. */
.posada-blok {
  margin: 16px -16px 0;
  padding: 12px 16px 0;
  border-top: 10px solid #ded3b4;
  box-shadow: 0 -1px 0 #c8b788;
}

.posada-blok-glava {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.posada-blok[data-tip="DVOJNA"] .posada-extra {
  display: none;
}

.posada-polja {
  margin-bottom: 8px;
}

.posada-glava-polja {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 2mm 20px;
  margin-bottom: 8px;
}

.posada-glava-polja .posada-polja {
  margin-bottom: 0;
  flex: 0 0 auto;
}

/* Broj naloga za vozaca: 162/26 (ne 6ch kao kratki RB). */
.tura-kartica-form .posada-broj-naloga {
  width: calc(8ch + 1.1rem);
  max-width: calc(10ch + 1.1rem);
}

.posada-polja-desno {
  flex: 1 1 28rem;
  min-width: 22rem;
}

.posada-polja-desno .form-input-num {
  text-align: right;
}

/* Kartica naloga, red Iznosi / kurs: Napomena za placanje iza Odlozeno (korisnik 2026-09-29, Pages/Nalozi/Kartica.cshtml). */
.nalog-kartica-form .form-row:not(.form-row-wide) > .form-input.nalog-napomena-placanja {
  width: 28rem;
  max-width: 100%;
}

/* Dodatni vozac: kvacica Bez poreza desno od polja Porez 10%, u istom redu (korisnik 2026-09-29, SQL 110).
   Polje nije direktno dete .form-row pa sirinu iznosa (8.5rem, §7b) dajemo ovde. Pages/Ture/Kartica.cshtml + posadaHtml(). */
.posada-porez-red {
  display: flex;
  align-items: center;
  gap: 8px;
}
.posada-porez-red > .form-input {
  flex: 0 0 auto;
  width: 8.5rem;
  max-width: 8.5rem;
  text-align: right;
}
/* Jace od .tura-kartica-form .form-row label (sitni sivi label iznad polja) — tekst kvacice normalne velicine. */
.tura-kartica-form .form-row .posada-bez-poreza-lbl {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  font-weight: 500;
  font-size: inherit;
  color: inherit;
  margin: 0;
  cursor: pointer;
}

/* Tura > Dnevnice posade: napomena kao treca kolona desno od iznosa, visoko polje (korisnik 2026-09-25;
   Pages/Ture/Kartica.cshtml Razor blok + posadaHtml()). */
.posada-napomena-kol {
  flex: 1 1 24rem;
  min-width: 14rem; /* bilo 18rem — Dnevnice posade staju u red na Surface-u (korisnik 2026-09-29, Surface; ui_toolbar.md §7e) */
  max-width: 48rem;
  /* Razmak od Km razlika tacno 3 mm (korisnik 2026-09-25): flex gap posada-glava-polja je 20px. */
  margin-left: calc(3mm - 20px);
}

/* Iznosi posade po sadrzaju (ne 1fr), da napomena ne prelazi preko Km razlika (2026-09-25). */
.tura-kartica-form .posada-glava-polja > .posada-polja-desno {
  flex: 0 0 auto;
  min-width: 0;
  grid-template-columns: repeat(3, max-content);
}

/* Jaci selektor od opsteg .tura-kartica-form .form-row:not(.form-row-wide) > .form-input (sirina polja, §7b),
   inace textarea ostaje uska (korisnik 2026-09-25: „prosiri“). */
.tura-kartica-form .posada-glava-polja .form-row.posada-napomena-kol > .form-input.posada-napomena {
  width: 100%;
  max-width: none;
  min-height: 8.5rem;
  resize: vertical;
}

.tura-kartica-form .posada-polja-desno .form-row-wide > .form-input {
  width: 100%;
  max-width: none;
}

/* Kartica naloga: dodatni utovar/istovar ispod glavnih panela. */
.nalog-dodatni-naslov {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
/* Svetlo dugme + tamna kanta: naslov panela je taman; stari color=#e8eaed = ikona nevidljiva. */
.nalog-dodatni-naslov .btn-icon-rmx {
  background: #e8eaed;
  color: #1e242c;
  border-color: #9aa0a6;
  flex: 0 0 auto;
}
.nalog-dodatni-naslov .btn-icon-rmx:hover,
.nalog-dodatni-naslov .btn-icon-rmx.btn-hover-brisi:hover {
  background: #f6d4cf;
  border-color: #d08a80;
  color: #8a2a20;
}
.nalog-extra-dodaj {
  align-self: flex-start;
}
/* Niže crne trake naslova panela na kartici naloga i angazovanog (korisnik 2026-10-01: „smanji malo po visini crne trake
   na vrhu kontejnera“): padding 5px (opste .card-panel-title 8px). Tacke: tasteri ▲▼ / korpa 22px i manji padding da
   traka Utovar / Istovar bude iste visine kao ostale (~26px). Ostale kartice nepromenjene. */
#nalog-kartica-form .card-panel-title,
#angazovaniForm .card-panel-title {
  padding-top: 5px;
  padding-bottom: 5px;
}
#nalog-kartica-form .nalog-dodatni-naslov,
#angazovaniForm .nalog-dodatni-naslov {
  padding-top: 2px;
  padding-bottom: 2px;
}
#nalog-kartica-form .nalog-dodatni-naslov .btn-icon-rmx,
#angazovaniForm .nalog-dodatni-naslov .btn-icon-rmx {
  width: 22px;
  height: 22px;
  font-size: 10px;
}

/* Tacka naloga (faza 6a plana lokacija, 2026-09-30; Pages/Nalozi/_NalogTacka.cshtml): strelice + kanta desno u naslovu,
   tabovi Glavni / Dodatni (izgled .tura-tab), red izbora lokacije = pretraga + „+ nova“. */
.nalog-tacka-alati {
  display: inline-flex;
  gap: 4px;
  flex: 0 0 auto;
}
.tacka-tabs {
  margin: -6px 0 10px;
}
/* Red izbora Lokacije / Carinjenja (polje + [+] [olovka]) iste sirine kao siroka polja ispod (Firma, tekst carinjenja:
   80ch + 1.15rem, §7b) — tasteri se zavrsavaju ravno sa krajem tih polja (korisnik 2026-09-30). Menjati zajedno sa
   .kartica-form .form-row-wide > .form-input. */
.tacka-lok-red {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  width: calc(80ch + 1.15rem);
  max-width: 100%;
}
.tacka-lok-red .partner-typeahead {
  flex: 1 1 auto;
  min-width: 0;
}
.tacka-lok-red .tacka-lok-izmena,   /* olovka izmene lokacije / carinjenja (2026-09-30) */
.tacka-lok-red .tacka-car-izmena,
.tacka-lok-red .tacka-lok-nova,
.tacka-lok-red .tacka-car-nova {
  flex: 0 0 auto;
  white-space: nowrap;
}
/* Podaci iz sifarnika ispod izbora Lokacije / Carinjenja (korisnik 2026-09-30: GPS + mapa, najava, uputstvo; carinjenje
   spediter, kontakt, postupak…). Samo za citanje — mirna kutija iste sirine kao red izbora; tekst prati font programa
   (/Podesavanja/Prikaz). JS: rmx-tacke-naloga.js crtajInfo. */
.tacka-sif-info[hidden] { display: none !important; }
.tacka-sif-info {
  width: calc(80ch + 1.15rem);
  max-width: 100%;
  box-sizing: border-box;
  padding: 3px 8px;
  border: 1px solid #d5d9df;
  border-radius: 6px;
  background: #f7f8fa;
  gap: 1px;
}
.tacka-sif-red {
  display: flex;
  gap: 8px;
  align-items: baseline;
  line-height: 1.35;
}
.tacka-sif-l {
  flex: 0 0 9.5rem;
  color: #6b7280;
  font-size: var(--rmx-label-font-size, 10px);
}
.tacka-sif-t {
  flex: 1 1 auto;
  min-width: 0;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.tacka-mapa {
  display: inline-flex;
  vertical-align: middle;
  margin-left: 4px;
  color: #4b5563;
}
.tacka-mapa:hover { color: #1d6fd8; }   /* plavo kao Stampa/otvori (ui_toolbar hover) */
/* GPS lokacije u redu Ulica i broj (korisnik 2026-10-01): polje samo za citanje, ikonica mape unutar polja desno
   (_NalogTacka .tacka-gps, JS crtajLok). Sirina = desna kolona (.tacka-desno 11rem). */
.tacka-gps-polje {
  position: relative;
}
.kartica-form .tacka-gps-polje > .form-input {
  width: 100%;
  max-width: none;
  padding-right: 24px;
}
.tacka-gps-polje > .tacka-gps-mapa {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 0;
}
/* Carinjenje na glavnoj tacki (faza 6b, 2026-09-30): omotac .tacka-car je samo za JS (ponuda + veza) — redovi ostaju
   u istoj mrezi .form-grid kao pre (izbor + tekst jedno ispod drugog). */
/* Prozor „+ / olovka“ lokacije i carinjenja na tacki naloga / angazovanog (rmx-tacke-naloga.js otvoriNovu) — ista velicina
   kao #partner-nalog-dlg na /Nalozi/Kartica (korisnik 2026-09-30: prozor bio premali). */
.tacka-sifarnik-dlg { z-index: 200; }
.tacka-sifarnik-dlg .confirm-box {
  width: min(72rem, 96vw);
  max-width: 96vw;
  height: min(92vh, 58rem);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
}
.tacka-sifarnik-dlg .confirm-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 10px 12px;
  flex-shrink: 0;
}
.tacka-sifarnik-dlg .partner-nalog-frame {
  flex: 1;
  width: 100%;
  border: 0;
  min-height: 0;
  background: #d4d8dd;
}
/* Pretraga preko liste (rmx-select-pretraga.js, 2026-09-30): select skriven (ostaje u formi), polje pretrage zauzima
   njegovo mesto — u paru sa [+] / olovkom se siri kao ranije select. */
.rmx-sel-skriven {
  display: none !important;
}
.form-inline-pair > .rmx-sel-pretraga,
.angaz-izbor > .rmx-sel-pretraga {
  flex: 1 1 auto;
  min-width: 0;
}
.rmx-sel-pretraga .form-input {
  width: 100%;
  max-width: none;
}
/* Kartica Lokacije: Oznaka mesta se ne razvlaci na visinu kolone Uloge (4 kvacice) pored nje — polje odmah ispod labele
   (slika korisnika 2026-09-30). :has — bez izmene stranice. */
.kartica-form .form-grid > .form-row:has(> #L_Oznaka) {
  align-self: start;
}
/* Tacke naloga (Utovar / Istovar / Dodatni, kartica naloga i angazovanog): malo tamnija pozadina panela da se bela polja
   za unos jasnije izdvoje (korisnik 2026-09-30: „blago zatamniti pozadinu kontejnera“, samo tacke). Ostale kartice #f7f8fa. */
/* Tacke naloga: zbijenije po visini (korisnik 2026-09-30: „vrlo malo zbij razmake izmedju polja“) — redovi 1mm umesto 2mm
   (§7b), labela–polje 2px umesto 3px. Samo tacke (glavne i dodatne), ostale kartice nepromenjene. */
.kartica-form .nalog-tacka .form-grid {
  row-gap: 1mm;
}
.kartica-form .nalog-tacka .form-row {
  gap: 2px;
}
.kartica-form .nalog-tacka .tacka-termin-red {
  row-gap: 1mm;
}
.nalog-tacka > .card-panel-body {
  background: #eceef1;
}
/* Dve kolone u tacki (korisnik 2026-10-01: izabrao „dve kolone“ za prazan prostor; „mislimo i o manjim ekranima“).
   Meri se SIRINA PANELA tacke (container query), ne ekrana: uzak panel (1024 / Surface, ili kad su Utovar i Istovar
   jedan pored drugog na manjem ekranu) = jedna kolona kao ranije. _NalogTacka .tacka-kolone / .tacka-kol-levo / -desno.
   U dve kolone polja se skupljaju na sirinu kolone (max-width 100%), redovi Posta / Mesto / Drzava ostaju u jednom redu. */
.nalog-tacka > .card-panel-body {
  container-type: inline-size;
  container-name: tacka;
}
.tacka-kolone > .tacka-kol-desno {
  margin-top: 1mm;   /* = razmak redova tacke (row-gap 1mm) kad su kolone jedna ispod druge */
}
@container tacka (min-width: 62rem) {
  .tacka-kolone {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 6mm;
    align-items: start;
  }
  .tacka-kolone > .tacka-kol-desno {
    margin-top: 0;
  }
  /* Red Posta | Mesto | Opstina | Drzava: od 2026-10-01 Mesto i Opstina dele ostatak pola-pola u obe varijante
     (pravilo „Red Posta | Mesto | Opstina | Drzava“ nize u fajlu) — ovde vise nema posebnog pravila. */
}
/* Kartica Lokacije — red GPS (Pronađi GPS / Otvori mapu, 2026-09-30): preko obe kolone, sirina kao Ulica (80ch); poruka
   „Pronađeno — …“ se prelama. Bez ovoga dugacak red razvuce kolonu pa Mesto / Opstina / Otvori mapu ispadnu iz prozora
   (slika korisnika 2026-09-30). */
.kartica-form .form-grid > .form-row:has(#lokGpsOpis) {
  grid-column: 1 / -1;
}
.kartica-form .lok-gps-red {
  width: calc(80ch + 1.15rem);
  max-width: 100%;
}
.kartica-form .lok-gps-red > .form-input {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  max-width: none;
}
#lokGpsOpis {
  white-space: normal;
  overflow-wrap: anywhere;
  max-width: calc(80ch + 1.15rem);
}
/* GPS nije upisan / nije prepoznat (2026-10-01, Pages/Lokacije/Kartica poruka(t, true)) — crveno, da se ne previdi. */
#lokGpsOpis.lok-gps-greska {
  color: #b42318;
  font-weight: 600;
}
.tacka-car {
  display: contents;
}
/* Faza 6c (2026-09-30, plan §4a): razdvojena polja adrese — omotac za prikaz/skrivanje (rezim jedno = hidden, polja se
   i dalje salju), redovi u istoj mrezi; Datum + Termin do + FIKSNO i Posta + Mesto + Drzava u jednom redu. */
.tacka-polja-adr:not([hidden]) {
  display: contents;
}
.tacka-termin-red {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 2mm;   /* razmak izmedju polja u redu 2mm (bilo 12px; korisnik 2026-10-01 „smanji razmak izmedju polja na 2mm“) */
}
.tacka-termin-red > .form-row {
  flex: 0 0 auto;
}
.tacka-termin-red > .tacka-mesto {
  flex: 1 1 14rem;
  max-width: 40ch;
}
.kartica-form .tacka-termin-red .tacka-mesto > .form-input {
  width: 100%;
}
/* Vreme od / Termin do na tacki = tekst hh:mm (2026-09-30; bez sata za biranje) — jace od opstih 16rem (§7b). */
.kartica-form .tacka-termin-red > .form-row > .form-input.tacka-vreme {
  width: 5.5rem;
  max-width: 5.5rem;
}
.tacka-fiksno {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding-bottom: 6px;
  white-space: nowrap;
}
/* form-input kao ostali izbori na kartici (Partner, Vrsta, Status) — ne form-select, koji nema stil (korisnik 2026-09-30:
   „nisu ista slova kao ostatak forme“). */
/* Red Posta / Mesto / Drzava iste sirine kao Firma (80ch + 1.15rem, §7b): Drzava uza i zavrsava se ravno sa poljima iznad
   i ispod, Mesto uzima ostatak (korisnik 2026-09-30). Menjati zajedno sa .tacka-lok-red. */
.tacka-polja-adr .tacka-termin-red {
  width: calc(80ch + 1.15rem);
  max-width: 100%;
  flex-wrap: nowrap;
}
.tacka-polja-adr .tacka-termin-red > .tacka-mesto {
  flex: 1 1 auto;
  max-width: none;
  min-width: 6rem;
}
/* Redovi Firma | Radno vreme i Kontakt na mestu | Telefon (korisnik 2026-09-30, tab Dodatni ukinut): sirina kao Firma
   (80ch + 1.15rem), levo polje se siri, desno 13rem — ista kolona kao Drzava, pa su desne ivice poravnate. */
.tacka-red-80 {
  width: calc(80ch + 1.15rem);
  max-width: 100%;
  flex-wrap: nowrap;
}
.tacka-red-80 > .form-row[hidden] {
  display: none;
}
.tacka-red-80 > .tacka-siri {
  flex: 1 1 auto;
  min-width: 6rem;
}
.tacka-red-80 > .tacka-desno {
  flex: 0 0 11rem;   /* = Drzava (desna kolona poravnata), korisnik 2026-09-30 „sve po malo smanji“ */
}
/* Jace od opsteg .kartica-form .form-row:not(.form-row-wide) > .form-input (sirina §7b, kasnije u fajlu) — inace Firma /
   Kontakt / Mesto ostaju uski i ne dolaze do desne kolone (slika korisnika 2026-09-30). */
.kartica-form .tacka-red-80 > .form-row.tacka-siri > .form-input,
.kartica-form .tacka-red-80 > .form-row.tacka-desno > .form-input,
.kartica-form .tacka-polja-adr .tacka-termin-red > .form-row.tacka-mesto > .form-input {
  width: 100%;
  max-width: none;
}
/* Drzava = pretraga (typeahead) 13rem na kraju reda; Posta sira za strane brojeve („ES-08635“, „F-26000“) — korisnik
   2026-09-30 „prosiri i polje posta“. */
.kartica-form .tacka-polja-adr .tacka-termin-red .tacka-drzava {
  width: 11rem;
  max-width: 11rem;
}
/* Opstina / region izmedju Mesta i Drzave (SQL 123, 2026-09-30). Red Posta | Mesto | Opstina | Drzava (korisnik
   2026-10-01: „posta malo kraca kao i mesto, region da se malo poveca, razmak u redu 1mm“): Mesto i Opstina dele ostatak
   pola-pola (bilo: Opstina 10rem, a u dve kolone stisnuta na 5rem dok je Mesto uzimalo sve), Posta 5.5rem, razmak 1mm.
   Drzava ostaje 11rem (poravnata sa Radno vreme / GPS / Telefon). Red = jedini .tacka-termin-red bez .tacka-red-80 u .tacka-polja-adr (_NalogTacka) — nalog i angazovani. */
.kartica-form .tacka-polja-adr .tacka-termin-red:not(.tacka-red-80) {
  gap: 1mm;
}
.kartica-form .tacka-polja-adr .tacka-termin-red:not(.tacka-red-80) > .tacka-mesto,
.kartica-form .tacka-polja-adr .tacka-termin-red:not(.tacka-red-80) > .form-row.tacka-opstina {
  flex: 1 1 0;
  min-width: 5rem;
  max-width: none;
}
.kartica-form .tacka-polja-adr .tacka-termin-red > .form-row.tacka-opstina > .form-input {
  width: 100%;
  max-width: none;
}
.kartica-form .tacka-polja-adr .tacka-termin-red .tacka-drzava .form-input {
  width: 100%;
  max-width: none;
}
.kartica-form .tacka-polja-adr .tacka-termin-red .form-row:not(.form-row-wide) > .form-input-posta {
  width: 5.5rem;     /* 6.5 → 5.5rem (korisnik 2026-10-01 „posta malo kraca“); „ES-08635“ i dalje staje */
  max-width: 5.5rem;
}

.card-panel-body {
  padding: 14px 16px;
  background: #f7f8fa;
}

/* Fakture kartica: gore pola ekrana — levo Dokument + Iznosi + Vozilo, desno Kupac (ista visina). */
.faktura-glava {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
  margin-bottom: 8px;
}
.faktura-glava-levo,
.faktura-glava-desno {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.faktura-glava .card-panel {
  margin-bottom: 0;
}
.faktura-glava-desno > .card-panel {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.faktura-glava-desno .card-panel-body {
  flex: 1 1 auto;
}
/* SEF fajlovi (D) ispod panela Kupac u istoj desnoj koloni /Fakture/Kartica (korisnik 2026-10-06): visina po sadržaju,
   Kupac (pravilo iznad) puni ostatak kolone — isto kao I-faktura bez SEF panela. */
.faktura-glava-desno > .card-panel.faktura-sef-panel {
  flex: 0 0 auto;
}

/* Napomena za SEF: ista širina kao beleska-prilog lista (ne 100ch), samo 2 reda. */
.kartica-form .faktura-glava-desno .form-row-wide > .faktura-sef-napomena,
.kartica-form .faktura-sef-napomena-row > .faktura-sef-napomena {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: calc(2 * 1.35em + 0.65rem);
  height: calc(2 * 1.35em + 0.65rem);
  max-height: calc(2 * 1.35em + 0.65rem);
  resize: none;
}

/* Napomena za plaćanje: dva reda, širina dve kolone polja u okviru (korisnik 2026-10-06: „napomenu suzi i stavi u dva
   reda“) — isti oblik kao Napomena za SEF iznad. Pages/Fakture/Kartica.cshtml (textarea, maxlength 200). */
.kartica-form .faktura-napomena-placanja-row > .faktura-napomena-placanja {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: calc(2 * 1.35em + 0.65rem);
  height: calc(2 * 1.35em + 0.65rem);
  max-height: calc(2 * 1.35em + 0.65rem);
  resize: none;
}

/* Tracking kartica: Tracking + Mapa pune visinu do Snimi (ne samo pola ekrana). */
.kartica-scroll .tracking-glava {
  flex: 1 1 auto;
  min-height: 0;
  margin-bottom: 0;
  align-self: stretch;
}
.kartica-scroll .tracking-glava .faktura-glava-levo,
.kartica-scroll .tracking-glava .faktura-glava-desno {
  min-height: 0;
  height: 100%;
}
.kartica-scroll .tracking-glava .card-panel {
  flex: 1 1 auto;
  flex-shrink: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.kartica-scroll .tracking-glava .card-panel-body {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: auto;
}
.kartica-scroll .tracking-glava .tracking-map-wrap {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.kartica-scroll .tracking-glava .tracking-map-frame,
.kartica-scroll .tracking-glava .tracking-map-placeholder {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}
.kartica-scroll .tracking-glava .tracking-map-link {
  flex-shrink: 0;
}

/* Tracking kartica: OSM ram desno + link Google Maps. */
.tracking-map-frame {
  display: block;
  width: 100%;
  min-height: 200px;
  height: 100%;
  border: 1px solid var(--rmx-edge);
  border-radius: var(--rmx-radius-panel);
  background: #eef1f4;
}
.tracking-map-placeholder {
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #5c6570;
  border: 1px solid var(--rmx-edge);
  border-radius: var(--rmx-radius-panel);
  background: #eef1f4;
}
.tracking-map-placeholder[hidden],
.tracking-map-frame[hidden],
.tracking-map-link[hidden] {
  display: none;
}
.tracking-map-link {
  display: inline-block;
  margin-top: 2mm;
}
/* Kupac (/Fakture/Kartica): red Partner, ispod tekst partnera | napomena, red adrese za poštu, linija, komentar (2026-10-06). */
.kartica-form .form-grid.faktura-kupac-grid {
  grid-template-columns: minmax(0, 1fr);
}
.faktura-kupac-partner-row {
  display: flex;
  gap: 2mm;
  align-items: center;
  max-width: 100%;
}
.faktura-kupac-partner-row .partner-typeahead {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
}
.faktura-kupac-partner-row #btnKupacIzmena {
  flex: 0 0 auto;
  white-space: nowrap;
}
/* Podaci kupca kao TEKST, ne polja (korisnik 2026-10-06: „umesto u poljima … kao labels text … kao kod naloga podaci
   partnera“, da se skrati kontejner). Tekst = obrazac .nalog-partner-tekst sa /Nalozi/Kartica (stil na toj stranici:
   pre-line, line-height 1.35, --rmx-text; menjati zajedno). Razmak od reda Partner = gap reda (2 mm), zato margin 0.
   Levo tekst partnera, desno napomena partnera crveno + bold (kao ranije okvir Napomene); na uskom panelu napomena
   pada ispod (flex-wrap; zamena za raniji @media 1100px). Prazan blok se ne vidi. JS: Fakture/Kartica.cshtml kupacTekstRender. */
.faktura-kupac-body {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 2mm 4mm;
  grid-column: 1 / -1;
  min-width: 0;
}
.faktura-kupac-tekst,
.faktura-kupac-napomena-tekst {
  margin: 0;
  white-space: pre-line;
  line-height: 1.35;
  color: var(--rmx-text);
  min-width: 0;
  overflow-wrap: anywhere;
}
.faktura-kupac-body > .faktura-kupac-tekst { flex: 1 1 16rem; }
.faktura-kupac-body > .faktura-kupac-napomena-tekst {
  flex: 1 1 12rem;
  color: #c92a2a;   /* = ranija .faktura-kupac-napomena textarea (readonly): crveno + bold */
  font-weight: 700;
}
.faktura-kupac-tekst:empty,
.faktura-kupac-napomena-tekst:empty {
  display: none;
}
.faktura-kupac-sep {
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  margin: 6px 0 4px;
  pointer-events: none;
}
.faktura-kupac-sep::before {
  content: "";
  width: 100%;
  border-top: 1px solid #d0d5db;
}
/* Adresa za slanje poštom: svoj red (.form-row-wide, labela iznad teksta), korisnik 2026-10-06; `hidden` kad partner nema
   adresu za poštu — .form-row ima display: grid, pa bez ovog pravila hidden ne bi sakrio red. */
.faktura-kupac-posta[hidden] {
  display: none;
}
.partner-typeahead-hit {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid #eceff2;
}
.partner-typeahead-hit .partner-typeahead-item {
  flex: 1 1 auto;
  min-width: 0;
}
.partner-typeahead-edit {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 10px;
  font: inherit;
  font-size: 0.85em;
  color: #555;
  text-decoration: none;
  border-left: 1px solid #eceff2;
  background: #f7f8fa;
}
.partner-typeahead-edit:hover,
.partner-typeahead-hit:hover .partner-typeahead-edit {
  background: #ff9a2e;
  color: #fff;
}
/* Vozilo | Vozac u jednom redu; 1fr mora posle max-content pravila za .form-grid. */
.kartica-form .form-grid.faktura-vozilo-grid {
  grid-template-columns: 1fr 1fr;
}
.kartica-form .faktura-vozilo-grid .form-row:not(.form-row-wide) > .form-input {
  width: 100%;
  max-width: none;
}
@media (max-width: 900px) {
  .faktura-glava {
    grid-template-columns: 1fr;
  }
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
}

/* Fakture Dokument: 3 / 4 kolone u jednom redu. Na karticama kolone po sadrzaju (ne 1fr). */
.form-grid-3 {
  grid-template-columns: 1fr 1fr 1fr;
}

.form-grid-4 {
  grid-template-columns: max-content max-content max-content max-content;
  justify-content: start;
}

.form-grid-5 {
  grid-template-columns: max-content max-content max-content max-content max-content;
  justify-content: start;
}

.form-grid-3 .form-row,
.form-grid-4 .form-row,
.form-grid-5 .form-row {
  grid-template-columns: 88px 1fr;
}

.form-grid-gap-top {
  margin-top: 2mm;
}

.form-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 8px;
  align-items: center;
}

/* Atribut hidden mora da sakrije red i traku tabova (korisnik 2026-10-08: „ispravi i te dve stare greške“): display: grid
   iznad (i display: flex na .tura-tabs) gazio je HTML [hidden] — na /Dokumenti/Kartica „Novi dokument“ videli su se i red
   Zaposleni i red Vozilo (JS skriva jedan, Pages/Dokumenti/Kartica.cshtml), na /Dozvole/Kartica traka CEMT tabova
   (#cemtTabs) i kad dozvola nije CEMT. Jedno pravilo za sve stranice; !important = jace od pravila po stranici / telefona
   koja postavljaju display redu. Ranija pojedinacna ispravka istog: .tacka-red-80 > .form-row[hidden] i sl. */
.form-row[hidden],
.tura-tabs[hidden] {
  display: none !important;
}

.form-row-wide {
  grid-column: 1 / -1;
}

.form-row label {
  text-align: right;
  font-weight: 500;
}

/* Kartice (ceo program): label IZNAD polja — ne levo od polja.
   Obuhvata .kartica-form / .nalog-kartica-form / .tura-kartica-form / .card-form.
   Pravilo: AGENTS.md + docs/ui_toolbar.md §7. */
.kartica-form .form-grid,
.nalog-kartica-form .form-grid,
.tura-kartica-form .form-grid,
.card-form .form-grid {
  gap: 2mm; /* razmak izmedju polja; ui_toolbar.md §7b */
}
.kartica-form .form-row,
.nalog-kartica-form .form-row,
.tura-kartica-form .form-row,
.card-form .form-row,
.kartica-form .form-grid-3 .form-row,
.nalog-kartica-form .form-grid-3 .form-row,
.tura-kartica-form .form-grid-3 .form-row,
.card-form .form-grid-3 .form-row,
.kartica-form .form-grid-4 .form-row,
.nalog-kartica-form .form-grid-4 .form-row,
.tura-kartica-form .form-grid-4 .form-row,
.card-form .form-grid-4 .form-row,
.kartica-form .form-grid-5 .form-row,
.nalog-kartica-form .form-grid-5 .form-row,
.tura-kartica-form .form-grid-5 .form-row,
.card-form .form-grid-5 .form-row {
  /* minmax(0, 1fr) umesto 1fr: kolona reda sme ispod sirine polja, pa max-width 100% polja vazi i kad je panel
     uzi od polja (Surface; bez ovoga polje od 80ch gura red preko ivice). Na karticama sa kolonama po sadrzaju
     isto kao ranije (korisnik 2026-09-29; ui_toolbar.md §7e). */
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  gap: 3px;
  align-items: stretch;
}
/* PROBA 2026-10-01 (korisnik: „i za ostala polja malo smanji vertikalni razmak … kao kod utovar / istovar“): cela kartica
   naloga zbijena kao tacke — redovi 1mm, labela–polje 2px (tacke: .kartica-form .nalog-tacka gore). /Nalozi/Kartica i
   /Angazovani/Kartica (korisnik „i na angažovanom“); vracanje = obrisati ovaj blok. */
#nalog-kartica-form .form-grid,
#nalog-kartica-form [class*="form-grid-"],
#angazovaniForm .form-grid,
#angazovaniForm [class*="form-grid-"] {
  row-gap: 1mm;
}
#nalog-kartica-form .form-row,
#angazovaniForm .form-row {
  gap: 2px;
}
/* Labele svetlije na karticama naloga i angazovanog (korisnik 2026-10-01: „malo posvetli naslove polja“): #6b7580
   umesto opsteg #4a5560 (ostale kartice nepromenjene). */
/* Visina obicnih polja 26px umesto 28px na karticama naloga i angazovanog (korisnik 2026-10-01: „visina polja da se
   smanji vrlo malo“); textarea nije. Mali tasteri uz polja ([+], olovka, …, Primeni) isto 26px da ostanu poravnati —
   Snimi / Odustani (.kartica-actions) ostaju 28px. */
#nalog-kartica-form .form-input:not(textarea),
#angazovaniForm .form-input:not(textarea),
#nalog-kartica-form .form-inline-pair .btn-secondary-rmx,
#angazovaniForm .form-inline-pair .btn-secondary-rmx,
#nalog-kartica-form .tacka-lok-red .btn-secondary-rmx,
#angazovaniForm .tacka-lok-red .btn-secondary-rmx {
  height: 26px;
}
/* Prilozi na kartici naloga / angazovanog manji (korisnik 2026-10-01: „polje za naziv dodatog fajla preveliko i po visini
   i po sirini“): okvir 36rem, red 22px, korpa 22px. Opsti .beleska-prilog-* (Beleske, Dokumenti) nepromenjen. */
#nalog-kartica-form .beleska-prilog-lista,
#angazovaniForm .beleska-prilog-lista {
  width: min(36rem, 100%);
  padding: 1px 6px;
  gap: 2px;
}
#nalog-kartica-form .beleska-prilog-red,
#angazovaniForm .beleska-prilog-red {
  min-height: 22px;
}
#nalog-kartica-form .beleska-prilog-red .beleska-prilog-clear,
#angazovaniForm .beleska-prilog-red .beleska-prilog-clear {
  width: 22px;
  height: 22px;
}
/* Fajl naloga u jednom redu (korisnik 2026-10-01: „Odaberi fajl i AI citanje jedan pored drugog, desno od fajla, manji“):
   lista priloga prva, pa tasteri; bez fajla tasteri levo. Samo raspored (order) — DOM i JS isti (_Layout pravi
   „Odaberi fajl“, Nalozi/Kartica placeBtn ume da ih omota u .nalog-prilog-akcije). Tasteri 26px kao polja, obican font. */
#nalog-kartica-form .beleska-prilog-field,
#angazovaniForm .beleska-prilog-field {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
#nalog-kartica-form .beleska-prilog-field > .beleska-prilog-lista,
#angazovaniForm .beleska-prilog-field > .beleska-prilog-lista {
  order: 0;
  flex: 0 1 36rem;
}
#nalog-kartica-form .beleska-prilog-field > .nalog-prilog-akcije,
#nalog-kartica-form .beleska-prilog-field > .beleska-prilog-odaberi,
#nalog-kartica-form .beleska-prilog-field > #btnProcitajNalog,
#angazovaniForm .beleska-prilog-field > .beleska-prilog-odaberi {
  order: 1;
  align-self: center;
}
#nalog-kartica-form .beleska-prilog-field .nalog-prilog-akcije {
  flex-wrap: nowrap;
}
/* Tasteri sablona („…“, Primeni, Azuriraj sablon, Sacuvati sablon) isto kao Odaberi fajl / AI citanje — 26px, obican
   font (korisnik 2026-10-01: „primeni isto kao i one tastere“). Nalozi/Kartica #nalog-sablon-izbor / #nalog-sacuvaj-sablon. */
#nalog-kartica-form #nalog-sablon-izbor .btn-secondary-rmx,
#nalog-kartica-form #nalog-sacuvaj-sablon .btn-secondary-rmx {
  height: 26px;
  padding: 0 10px;
  font-size: var(--rmx-font-size);
  font-weight: 500;
}
/* Panel „Nalog fajlovi“ (pola ekrana): lista priloga se skuplja da tasteri stanu desno u istom redu (2026-10-01). */
#nalog-kartica-form .nalog-fajlovi-panel .beleska-prilog-field > .beleska-prilog-lista {
  flex: 1 1 14rem;
  max-width: 36rem;
  width: auto;
}
/* Desna kolona kartice naloga: Tura po sadrzaju, Nalog fajlovi popunjava ostatak visine pored panela Nalog
   (korisnik 2026-10-01: „turu skratiti kontejner“). Opste .faktura-glava-desno > .card-panel { flex: 1 1 auto }. */
#nalog-kartica-form .faktura-glava-desno > .nalog-tura-panel {
  flex: 0 0 auto;
}
#nalog-kartica-form .faktura-glava-desno > .nalog-tura-panel > .card-panel-body {
  flex: 0 0 auto;
}
/* Red Iznosi / kurs | Nalog dokumentacija (korisnik 2026-10-01, Pages/Nalozi/Kartica.cshtml .nalog-iznosi-dok):
   levi panel iste visine kao desni; Iznosi je pola sirine pa se red EUR · Kurs · DIN · Odlozeno · Napomena prelama
   (form-grid-5 je inace repeat(5, max-content) bez prelamanja — izlazio bi iz panela). Razmak 2mm = .form-grid §7b. */
#nalog-kartica-form .nalog-iznosi-dok .faktura-glava-levo > .card-panel {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
#nalog-kartica-form .nalog-iznosi-dok .faktura-glava-levo > .card-panel > .card-panel-body {
  flex: 1 1 auto;
}
#nalog-kartica-form .nalog-iznosi-panel .form-grid-5 {
  display: flex;
  flex-wrap: wrap;
  gap: 2mm;
}
/* Napomena za placanje = ceo red, sirina panela (korisnik 2026-10-01: „prosiri to na velicinu kontejnera“; bilo 28rem).
   Jace od .nalog-kartica-form … .nalog-napomena-placanja (28rem) i opsteg 16rem (§7b). Samo kartica naloga. */
#nalog-kartica-form .nalog-iznosi-panel .form-grid-5 > .form-row:has(> .nalog-napomena-placanja) {
  flex: 1 1 100%;
}
#nalog-kartica-form .nalog-iznosi-panel .form-row > .form-input.nalog-napomena-placanja {
  width: 100%;
  max-width: none;
}
/* Napomena za placanje je textarea (2026-10-01): jedan red = 26px kao ostala polja (opste .form-textarea 72px), bez rucice;
   visinu po tekstu postavlja JS nalogNapomenaVisina u Nalozi/Kartica.cshtml. */
#nalog-kartica-form textarea.nalog-napomena-placanja {
  box-sizing: border-box;
  min-height: 26px;
  height: 26px;
  padding: 2px 8px;
  line-height: 20px;
  resize: none;
  overflow: hidden;
}
/* Nalog dokumentacija: Vrsta (uska padajuca kao Vrsta naloga 7rem) + Odaberi fajl u redu, lista dokumenata ispod;
   oznaka vrste ispred imena fajla (CMR, T1 … Ostalo — Models/NalogDokument.Vrste). Prevlacenje = isti okvir kao prilozi. */
#nalog-kartica-form .nalog-dok-unos {
  display: flex;
  align-items: flex-end;
  gap: 2mm;
  margin-bottom: 2mm;
}
#nalog-kartica-form .nalog-dok-unos .form-row > select.nalog-dok-vrsta {
  width: 7rem;
  max-width: 7rem;
}
#nalog-kartica-form .nalog-dok-unos .nalog-dok-odaberi {
  height: 26px;
  padding: 0 10px;
  font-size: var(--rmx-font-size);
  font-weight: 500;
}
#nalog-kartica-form .nalog-dok-oznaka {
  flex: 0 0 3.6rem;
  font-weight: 600;
  color: #4a5560;
}
/* Broj CMR (2026-10-01, nije obavezan): polje u redu unosa 10rem; u listi broj posle oznake vrste, ne skuplja se. */
#nalog-kartica-form .nalog-dok-unos > .form-row[hidden] {
  display: none;   /* .form-row je display:grid — bez ovoga se Broj CMR vidi i za druge vrste */
}
#nalog-kartica-form .nalog-dok-unos .form-row > .form-input.nalog-dok-broj {
  width: 10rem;
  max-width: 10rem;
}
#nalog-kartica-form .nalog-dok-broj-tekst {
  flex: 0 0 auto;
  color: #4a5560;
}
#nalog-kartica-form .nalog-dok-panel.is-drop > .card-panel-body {
  outline: 2px dashed #e0a35a;
  outline-offset: -4px;
  background: #fff8ee;
}
/* Kartica naloga — jednaki razmaci (korisnik 2026-10-01: „razmak izmedju kontejnera 2mm, ne negde vise negde manje“ i
   „svuda izmedju polja u redu razmak 1mm“). Kontejneri: skrol kolona, red .faktura-glava i kolone levo / desno = 2mm
   (bilo: kolona 8px + margin reda 8px = 16px izmedju redova, 8px u redu). Dodatne tacke (#nalog-extra-*-lista,
   rmx-tacke-naloga.js ih puni) = display: contents, pa njihovi paneli dobijaju isti razmak kao glavna tacka. Polja u redu:
   column-gap 1mm (form-grid, redovi tacke, Partner | Kontakt, Broj, Iznosi, Vrsta + Odaberi fajl). Mora posle pravila iznad
   (.nalog-dok-unos / .form-grid-5 iste jacine). Kartica angazovanog (#angazovaniForm) isto (korisnik 2026-10-01 „uradi
   razmake na angazovanom“): + redovi Faktura prevoznika (.angaz-red, bilo 12px) i Vozilo | Komentar (.angaz-red-vozilo,
   5mm — izuzetak ispod) — pravila u <style> Angazovani/Kartica.cshtml su slabija (klasa). Ostale kartice (§7b 2mm) jos po starom. */
#nalog-kartica-form .kartica-scroll,
#angazovaniForm .kartica-scroll {
  gap: 2mm;
}
#nalog-kartica-form .faktura-glava,
#angazovaniForm .faktura-glava {
  gap: 2mm;
  margin-bottom: 0;
}
#nalog-kartica-form .faktura-glava-levo,
#nalog-kartica-form .faktura-glava-desno,
#angazovaniForm .faktura-glava-levo,
#angazovaniForm .faktura-glava-desno {
  gap: 2mm;
}
#nalog-extra-utovar-lista,
#nalog-extra-istovar-lista {
  display: contents;   /* id isti na /Nalozi/Kartica i /Angazovani/Kartica */
}
#nalog-kartica-form .form-grid,
#nalog-kartica-form .tacka-termin-red,
#nalog-kartica-form .tacka-red-80,
#nalog-kartica-form .broj-id-par,
#nalog-kartica-form .nalog-dok-unos,
#nalog-kartica-form .nalog-iznosi-panel .form-grid-5,
#angazovaniForm .form-grid,
#angazovaniForm .tacka-termin-red,
#angazovaniForm .tacka-red-80,
#angazovaniForm .broj-id-par,
#angazovaniForm .angaz-red {
  column-gap: 1mm;
}
/* Izuzetak: Komentar (interni) odvojen od Vozilo / Vozac 5mm (korisnik 2026-10-01: „ovde moze veci razmak, stavi na 5mm“) —
   poseban blok u redu, isto kao Kontakt na kartici naloga. Angazovani/Kartica.cshtml .angaz-red-vozilo (bilo 16px, pa 1mm). */
#angazovaniForm .angaz-red-vozilo {
  column-gap: 5mm;
}
/* Izuzetak: Kontakt odvojen od Partnera 5mm (korisnik 2026-10-01: „kontakt odvoji 5mm umesto 1mm, posto je to poseban“) —
   pored Partnera (sirok panel) i ispod njega (uzak panel, container nalogpanel u Nalozi/Kartica.cshtml, tamo bilo 6px). */
#nalog-kartica-form .nalog-sablon-red {
  column-gap: 5mm;
}
@container nalogpanel (max-width: 56rem) {
  #nalog-kartica-form .nalog-sablon-red > .nalog-kontakt-lab {
    margin-top: 5mm;
  }
}
#nalog-kartica-form .beleska-prilog-field .btn-secondary-rmx,
#angazovaniForm .beleska-prilog-field .btn-secondary-rmx {
  height: 26px;
  padding: 0 10px;
  font-size: var(--rmx-font-size);
  font-weight: 500;
}
#nalog-kartica-form .form-row label,
#angazovaniForm .form-row label {
  color: #808a95;   /* „jos malo posvetli“ 2026-10-01 (bilo #6b7580) */
}
.kartica-form .form-row label,
.nalog-kartica-form .form-row label,
.tura-kartica-form .form-row label,
.card-form .form-row label {
  text-align: left;
  font-size: var(--rmx-label-font-size);
  font-weight: 600;
  color: #4a5560;
  line-height: 1.15;
}
/* Checkbox redovi: prazan label levo se sakriva; ostaje samo check-line. */
.kartica-form .form-row > label:empty,
.nalog-kartica-form .form-row > label:empty,
.tura-kartica-form .form-row > label:empty,
.card-form .form-row > label:empty {
  display: none;
}
.kartica-form .form-row:has(.check-line),
.nalog-kartica-form .form-row:has(.check-line),
.tura-kartica-form .form-row:has(.check-line),
.card-form .form-row:has(.check-line) {
  align-items: center;
}
.kartica-form .form-row .check-line,
.nalog-kartica-form .form-row .check-line,
.tura-kartica-form .form-row .check-line,
.card-form .form-row .check-line {
  font-size: inherit;
  font-weight: 500;
  color: inherit;
}

.form-input {
  width: 100%;
  height: 28px;
  padding: 2px 8px;
  font: inherit;
}

/* ===== Sirina polja na karticama — docs/ui_toolbar.md §7b (ne razvlaciti). ===== */
.kartica-form .form-grid,
.nalog-kartica-form .form-grid,
.tura-kartica-form .form-grid,
.card-form .form-grid {
  grid-template-columns: max-content max-content;
  justify-content: start;
}
.kartica-form .form-grid-3,
.nalog-kartica-form .form-grid-3,
.tura-kartica-form .form-grid-3,
.card-form .form-grid-3 {
  grid-template-columns: repeat(3, max-content);
  justify-content: start;
}
.kartica-form .form-grid-4,
.nalog-kartica-form .form-grid-4,
.tura-kartica-form .form-grid-4,
.card-form .form-grid-4 {
  grid-template-columns: repeat(4, max-content);
  justify-content: start;
}
.kartica-form .form-grid-5,
.nalog-kartica-form .form-grid-5,
.tura-kartica-form .form-grid-5,
.card-form .form-grid-5 {
  grid-template-columns: repeat(5, max-content);
  justify-content: start;
}

/* Podrazumevano: obican tekst / select — max 16rem. */
.kartica-form .form-row:not(.form-row-wide) > .form-input,
.nalog-kartica-form .form-row:not(.form-row-wide) > .form-input,
.tura-kartica-form .form-row:not(.form-row-wide) > .form-input,
.card-form .form-row:not(.form-row-wide) > .form-input {
  width: 16rem;
  max-width: 16rem;
}

/* Naziv firme / adresa: 80 karaktera (korisnik 2026-09-29; ranije 100), najvise 100% reda. Sirina OSTAJE fiksna
   (width 80ch): vecina kartica ima kolone po sadrzaju (max-content), pa bi „width: 100%“ skupio polje na ~160 px
   (incident isti dan, /PodaciNaloga/Kartica). Suzavanje u uskom panelu radi preko reda polja (minmax(0, 1fr) ispod). */
.kartica-form .form-row-wide > .form-input,
.nalog-kartica-form .form-row-wide > .form-input,
.tura-kartica-form .form-row-wide > .form-input,
.card-form .form-row-wide > .form-input {
  width: calc(80ch + 1.15rem);
  max-width: 100%;
}

/* Datum: siroko koliko datum + kalendar. Jacina = kao default 16rem. */
.kartica-form .form-row:not(.form-row-wide) > input[type="date"],
.nalog-kartica-form .form-row:not(.form-row-wide) > input[type="date"],
.tura-kartica-form .form-row:not(.form-row-wide) > input[type="date"],
.card-form .form-row:not(.form-row-wide) > input[type="date"],
.kartica-form .form-row:not(.form-row-wide) > .form-input-date,
.card-form .form-row:not(.form-row-wide) > .form-input-date,
.kartica-form .form-row:not(.form-row-wide) > .rmx-date-wrap,
.nalog-kartica-form .form-row:not(.form-row-wide) > .rmx-date-wrap,
.tura-kartica-form .form-row:not(.form-row-wide) > .rmx-date-wrap,
.card-form .form-row:not(.form-row-wide) > .rmx-date-wrap {
  width: 11.6rem;
  max-width: 11.6rem;
}
/* Datum + vreme (datetime-local) — isto kao dnevnice; sire od samog datuma. */
.kartica-form .form-row:not(.form-row-wide) > input[type="datetime-local"],
.nalog-kartica-form .form-row:not(.form-row-wide) > input[type="datetime-local"],
.tura-kartica-form .form-row:not(.form-row-wide) > input[type="datetime-local"],
.card-form .form-row:not(.form-row-wide) > input[type="datetime-local"],
.kartica-form .form-row:not(.form-row-wide) > .form-input-datetime,
.nalog-kartica-form .form-row:not(.form-row-wide) > .form-input-datetime,
.tura-kartica-form .form-row:not(.form-row-wide) > .form-input-datetime,
.card-form .form-row:not(.form-row-wide) > .form-input-datetime {
  width: 16.5rem;
  max-width: 16.5rem;
}

/* Dana: 4 karaktera. */
.kartica-form .form-row:not(.form-row-wide) > .form-input-dana,
.card-form .form-row:not(.form-row-wide) > .form-input-dana,
#txtDana {
  width: calc(4ch + 0.9rem);
  max-width: calc(4ch + 0.9rem);
  padding-left: 6px;
  padding-right: 6px;
  text-align: right;
  font-variant-numeric: tabular-nums;
  -moz-appearance: textfield;
}
.form-input-dana::-webkit-outer-spin-button,
.form-input-dana::-webkit-inner-spin-button,
#txtDana::-webkit-outer-spin-button,
#txtDana::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Godina YYYY. */
.kartica-form .form-row:not(.form-row-wide) > .form-input-godina,
.kartica-form .form-row:not(.form-row-wide) > input[name$=".Godina"],
.card-form .form-row:not(.form-row-wide) > input[name$=".Godina"],
#txtGodina {
  width: calc(8ch + 1.1rem);
  max-width: calc(8ch + 1.1rem);
  -moz-appearance: textfield;
}
.form-input-godina::-webkit-outer-spin-button,
.form-input-godina::-webkit-inner-spin-button,
#txtGodina::-webkit-outer-spin-button,
#txtGodina::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Kratak broj dokumenta (npr. 448). */
.kartica-form .form-row:not(.form-row-wide) > .form-input-broj,
#txtBroj {
  width: calc(6ch + 1.1rem);
  max-width: calc(6ch + 1.1rem);
}

/* Službeni nalog: Broj n/yy (163/26) — +4rem prema uzorku kartice. */
#sluzbenaForm.kartica-form .form-row:not(.form-row-wide) > .form-input-broj {
  width: calc(6ch + 1.1rem + 4rem);
  max-width: calc(6ch + 1.1rem + 4rem);
}

/* Kratka vrsta D/I. */
.kartica-form .form-row:not(.form-row-wide) > .form-input-vrsta,
#selVrsta {
  width: 9.2rem;
  max-width: 9.2rem;
}

/* Postanski broj. */
.kartica-form .form-row:not(.form-row-wide) > .form-input-posta,
.kartica-form .form-row:not(.form-row-wide) > input[name$=".Posta"],
.kartica-form .form-row:not(.form-row-wide) > input[name$="Posta"],
.card-form .form-row:not(.form-row-wide) > input[name$=".Posta"],
.card-form .form-row:not(.form-row-wide) > input[name$="Posta"] {
  width: calc(8ch + 1.1rem);
  max-width: calc(10ch + 1.1rem);
}

/* PIB i MB / maticni: ista sirina, min 12 karaktera. */
.kartica-form .form-row:not(.form-row-wide) > .form-input-pib,
.kartica-form .form-row:not(.form-row-wide) > .form-input-mb,
.kartica-form .form-row:not(.form-row-wide) > input[name$=".Pib"],
.kartica-form .form-row:not(.form-row-wide) > input[name$="Pib"],
.kartica-form .form-row:not(.form-row-wide) > input[name$=".Mb"],
.kartica-form .form-row:not(.form-row-wide) > input[name$="KupacMb"],
.kartica-form .form-row:not(.form-row-wide) > input[name$="MaticniBroj"],
.card-form .form-row:not(.form-row-wide) > input[name$=".Pib"],
.card-form .form-row:not(.form-row-wide) > input[name$="Pib"],
.card-form .form-row:not(.form-row-wide) > input[name$=".Mb"],
.card-form .form-row:not(.form-row-wide) > input[name$="KupacMb"],
.card-form .form-row:not(.form-row-wide) > input[name$="MaticniBroj"] {
  width: calc(12ch + 1.15rem);
  min-width: calc(12ch + 1.15rem);
  max-width: calc(13ch + 1.15rem);
}

/* Decimalni broj u polju za UNOS = UVEK desno, u celom programu (kartice, tabele stavki, prozori) — ui_toolbar.md §10.
   Korisnik 2026-10-06 (stavke izvoda, Zaduzenje „7702.48“ levo): „decimalni iznosi su UVEK desno poredjani!!! koliko puta ovo
   trebam naglasavati???“ — pravilo je stajalo u uputstvu, a u CSS-u ga nije bilo, pa je svaka nova tabela ostajala levo.
   Novo polje sa decimalom = jedna od ovih oznaka (obicno form-input-iznos + inputmode="decimal"), ne poravnanje po stranici.
   Izuzetak sa jacim selektorom ostaje (.stavke-edit-table .stavka-kol centrirano na fakturi). */
input.form-input-iznos,
input.form-input-num,
input.form-kurs,
input[inputmode="decimal"],
input[step^="0."] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* Iznos EUR/DIN — samo polja u .form-row, ne tabele stavki. */
.kartica-form .form-row:not(.form-row-wide) > .form-input-iznos,
.kartica-form .form-row:not(.form-row-wide) > input[name$="IznosEur"],
.kartica-form .form-row:not(.form-row-wide) > input[name$="IznosDin"],
.tura-kartica-form .form-row:not(.form-row-wide) > .form-input-iznos,
.card-form .form-row:not(.form-row-wide) > input[name$="IznosEur"],
.card-form .form-row:not(.form-row-wide) > input[name$="IznosDin"],
.nalog-kartica-form .form-row:not(.form-row-wide) > input[name$="IznosEur"],
.nalog-kartica-form .form-row:not(.form-row-wide) > input[name$="IznosDin"] {
  width: 8.5rem;
  max-width: 8.5rem;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* Kurs: vise decimala, ne razvlacenje. */
.kartica-form .form-row:not(.form-row-wide) > .form-kurs,
.nalog-kartica-form .form-row:not(.form-row-wide) > .form-kurs,
.tura-kartica-form .form-row:not(.form-row-wide) > .form-kurs,
.card-form .form-row:not(.form-row-wide) > .form-kurs {
  width: calc(14ch + 1.2rem);
  max-width: calc(14ch + 1.2rem);
  min-width: calc(12ch + 1.2rem);
}

/* Tabele stavki: sirina = kolona (ne §7b klase). */
.stavke-edit-table .form-input,
.tura-stavke-grid .form-input {
  width: 100%;
  max-width: none;
  min-width: 0;
}

/* Select + dugme (npr. sablon + Primeni) u istom redu. */
.form-inline-pair {
  display: flex;
  gap: 8px;
  align-items: center;
  width: 100%;
  min-width: 0;
}

.form-inline-pair .form-input {
  flex: 1 1 auto;
  min-width: 0;
}

.form-inline-pair .btn-secondary-rmx {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* Lookup sifarnik (sablon naloga): polje + … → dijalog, ne dropdown preko forme. */
.lookup-box {
  width: min(720px, 100%);
  max-height: min(80vh, 640px);
  background: #f4f6f8;
  border: 1px solid var(--rmx-edge);
  border-radius: 3px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
  padding: 12px 14px 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lookup-head {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lookup-search {
  position: relative;
  display: flex;
  align-items: center;
}

.lookup-search .form-input {
  padding-right: 28px;
}

.lookup-search .search-clear {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
}

.lookup-list {
  flex: 1 1 auto;
  min-height: 180px;
  max-height: 48vh;
  overflow-y: auto;
  background: #fff;
  border: 1px solid var(--rmx-edge);
  border-radius: 2px;
}

.lookup-row {
  display: block;
  width: 100%;
  border: 0;
  border-bottom: 1px solid #e8eaed;
  background: #fff;
  text-align: left;
  padding: 7px 10px;
  cursor: pointer;
  font: inherit;
  color: var(--rmx-text);
}

/* display:block gore gazi HTML [hidden] — bez ovoga filter ne sakriva redove. */
.lookup-row[hidden] {
  display: none !important;
}

.lookup-row:hover {
  background: #eef1f4;
}

.lookup-row.is-focus,
.lookup-row.is-selected.is-focus {
  background: #dde2e8;
}

.lookup-row.is-selected {
  background: #e8ecef;
}

.lookup-row-name {
  display: block;
  font-weight: 600;
  font-size: 13px;
  line-height: 1.25;
}

.lookup-row-note {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.3;
  color: var(--rmx-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Tracking lookup putnog: Aktivan = bold ceo red (isto kao Ture/Nalozi/Board). */
#putni-lookup-list .lookup-row-name {
  font-weight: 400;
}
#putni-lookup-list .lookup-row.row-status-aktivan,
#putni-lookup-list .lookup-row.row-status-aktivan .lookup-row-name,
#putni-lookup-list .lookup-row.row-status-aktivan .lookup-row-note {
  font-weight: 700;
}

/* Zakljucana sifra — vidi se, ne moze da se kuca.
   Jaciji selektor: globalni input[type=...] { background:#fff } inace pobedi. */
.form-input.form-input-locked,
input.form-input-locked,
input[type="text"].form-input-locked,
input[type="number"].form-input-locked,
textarea.form-input-locked {
  background: #e8eaed;
  color: var(--rmx-muted);
  cursor: default;
}

.form-textarea {
  height: auto;
  min-height: 72px;
  resize: vertical;
  padding: 6px 8px;
}

/* Interni komentar fakture — puno širina, veća visina, ispod Kupac/posta. */
.kartica-form .form-row.faktura-kupac-komentar {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  grid-column: 1 / -1;
  margin-top: 0;
}
.kartica-form .faktura-kupac-komentar > .form-textarea {
  width: 100%;
  max-width: 100%;
  min-height: 6.5rem;
  resize: vertical;
}

.check-line {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  text-align: left !important;
  font-weight: 600;
}

.card-actions {
  display: flex;
  gap: 8px;
}

@media (max-width: 800px) {
  .form-grid,
  .form-grid-3,
  .form-grid-4,
  .form-grid-5 { grid-template-columns: 1fr; }
  .toolbar-search {
    position: static;
    transform: none;
    width: 100%;
    justify-content: flex-start;
    margin-left: 0;
    margin-right: 0;
  }
}

.panel {
  background: #fff;
  border: 1px solid var(--rmx-edge);
  border-radius: var(--rmx-radius-panel);
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

/* Fakture lista — donja tabela Stavke (nije .panel). */
.fakture-stavke-panel {
  border-radius: var(--rmx-radius-panel);
  overflow: hidden;
}

.grid {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--rmx-font-size);
}

.grid th {
  text-align: left;
  background: #2a313a;
  color: #e8eaed;
  border-bottom: 1px solid #14181d;
  padding: 7px 10px;
  font-weight: 600;
  white-space: nowrap;
}

/* Ugnjezdene tabele u pregledu su unutar .grid — mora jaci selektor od .grid th. */
.partneri-page .tura-preview .tura-preview-table th {
  background: #dce1e6 !important;
  color: #333 !important;
  border-bottom: 1px solid #c5ccd4 !important;
  font-weight: 650;
}

/* Klik na naziv kolone — sort; zapamcen po korisniku. */
.th-sort {
  color: #e8eaed;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
}

.th-sort:hover {
  color: #fff;
  text-decoration: underline;
}

.th-sort.active {
  color: #fff;
}

/* Liste: ivica kolone = CSS (nema JS span na ulasku). */
.grid-scroll table.grid > thead > tr:first-child > th::after,
.board-ture-scroll table.grid > thead > tr:first-child > th::after,
.board-nalozi-scroll table.grid > thead > tr:first-child > th::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 6px;
  cursor: col-resize;
  z-index: 4;
}

.rmx-col-drop-before::before,
.rmx-col-drop-after::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 3px;
  background: #ff9a2e;
  z-index: 5;
  pointer-events: none;
}

.rmx-col-drop-before::before { left: 0; }
.rmx-col-drop-after::after { right: 0; }

table.grid thead th.rmx-col-dragging {
  opacity: 0.45;
}

table.grid.rmx-col-resizing {
  user-select: none;
}

table.grid thead th.rmx-col-resizing {
  cursor: col-resize;
}

body.rmx-col-noselect {
  user-select: none;
  cursor: col-resize;
}

.grid td {
  padding: 6px 10px;
  border-bottom: 1px solid var(--rmx-edge);
}

/* Tracking lista: grupa po datumu (kao Excel Tracking). */
.grid.grid-tracking tbody tr:nth-child(even) { background: transparent; }
.grid.grid-tracking tbody tr.lista-row:hover { background: var(--rmx-row-sel); }
.grid.grid-tracking tbody tr.tracking-grupa > td {
  font-weight: 700;
  text-decoration: underline;
  padding-top: 14px;
  padding-bottom: 6px;
  background: #fff;
  border-bottom: 1px solid var(--rmx-edge);
}
.grid.grid-tracking tbody tr.tracking-grupa:hover { background: transparent; }
.tracking-putni { white-space: nowrap; }
.tracking-maps {
  color: inherit;
  text-decoration: none;
}
.tracking-maps:hover .tracking-opis { text-decoration: underline; }
.tracking-pin {
  width: 12px;
  height: 12px;
  margin-right: 4px;
  vertical-align: -1px;
}
.tracking-opis { font-style: italic; }
/* Kolona Mesto (8h) — GPS iz Almaksa (SQL 125, 2026-10-02): jedan red, pin = mapa. Pages/Tracking/Index.cshtml. */
.tracking-mesto { white-space: nowrap; }
.tracking-mesto .tracking-maps:hover span { text-decoration: underline; }

.grid tbody tr:nth-child(even) { background: var(--rmx-row-alt); }
.grid tbody tr:hover { background: var(--rmx-row-sel); }

/* Grupa-red: deli listu na sekcije (npr. Aktivni / Neaktivni na Zaposleni). Nije klikabilan red. */
.grid tbody tr.lista-grupa-red,
.grid tbody tr.lista-grupa-red:nth-child(even),
.grid tbody tr.lista-grupa-red:hover {
  background: var(--rmx-edge);
  cursor: default;
}
.grid tbody tr.lista-grupa-red td {
  font-weight: 650;
  padding: 4px 10px;
  color: #5b6570;
  border-top: 2px solid var(--rmx-edge);
  border-bottom: 1px solid var(--rmx-edge);
}
/* /Nalozi traka Aktivne / Završene ture: svetlija siva slova (korisnik 2026-09-30); Zaposleni ostaje kao gore. */
/* PROBA 2026-10-01 (korisnik: „svetlija siva više na narandžasto … da testiram“): topla svetla pozadina + tamna slova.
   Vraćanje = obrisati blok ispod i ostaviti samo: #tblNalozi tbody tr.lista-grupa-red td { color: #eceff2; } */
#tblNalozi tbody tr.lista-grupa-red,
#tblNalozi tbody tr.lista-grupa-red:nth-child(even),
#tblNalozi tbody tr.lista-grupa-red:hover { background: #ded3b4; }   /* proba C3 „siva sa malo više zlata“ (korisnik 2026-10-01); pre toga C #dcd5c2, topla siva #d8d7cf, ranije #ecd9c3 / #f4ebe1 */
#tblNalozi tbody tr.lista-grupa-red td { color: #41371f; border-top-color: #c8b788; border-bottom-color: #c8b788; }
/* Sklapanje sekcija /Nalozi (korisnik 2026-10-01): klik na traku; sklop-{sekcija} na tabeli (Nalozi/Index, pamti
   ui_podesavanja nalozi.sekcije). CSS sakriva redove — inline display ostaje za pretragu (sifarnik-lista.js). */
#tblNalozi tbody tr.lista-grupa-red { cursor: pointer; }
/* Pun trougao malo veci od slova (korisnik 2026-10-01: izabrao ▼ / ▶ umesto slabih ▾ ▸). ASCII escape — ne kucati
   znak (incident 2026-10-01: pokvaren bajt na traci); \FE0E = tekst, ne emoji (Windows ▶ inace crta kao emoji). */
#tblNalozi tbody tr.lista-grupa-red td::before {
  content: "\25BC";
  display: inline-block;
  width: 1.2em;
  font-size: 1.2em;
  line-height: 1;
  vertical-align: -0.1em;
}
#tblNalozi.sklop-aktivne tbody tr.lista-grupa-red[data-sekcija="aktivne"] td::before,
#tblNalozi.sklop-zavrsene tbody tr.lista-grupa-red[data-sekcija="zavrsene"] td::before { content: "\25B6\FE0E"; }
#tblNalozi.sklop-aktivne tbody tr.lista-row[data-sekcija="aktivne"],
#tblNalozi.sklop-zavrsene tbody tr.lista-row[data-sekcija="zavrsene"] { display: none; }

/* Zlatna traka — OPSTA (korisnik 2026-10-06: „boje zlatne treba koristiti ovde da to bude uniformisano“): trake po mesecu
   na /Fakture, /UlazneFakture i /Ture (server ListaMeseci.cs, klik / pamcenje = sifarnik-lista.js RmxListaSekcije). Iste boje i
   trougao kao #tblNalozi gore — menjati zajedno; #tblNalozi pravila se ne diraju. Sekcija je dinamicka (mesec), pa se
   sklapanje ne pise po sekciji: klasa sklopljena na traci (▶) + u-sklopu na redovima te sekcije (sakriveni). Pretraga
   (inline style.display) je odvojena od u-sklopu. */
.grid tbody tr.lista-grupa-red.lista-grupa-zlatna,
.grid tbody tr.lista-grupa-red.lista-grupa-zlatna:nth-child(even),
.grid tbody tr.lista-grupa-red.lista-grupa-zlatna:hover { background: #ded3b4; cursor: pointer; }
.grid tbody tr.lista-grupa-red.lista-grupa-zlatna td { color: #41371f; border-top-color: #c8b788; border-bottom-color: #c8b788; }
/* ASCII escape kao #tblNalozi (incident 2026-10-01 pokvaren bajt); \FE0E = tekst, ne emoji. */
.grid tbody tr.lista-grupa-red.lista-grupa-zlatna td::before {
  content: "\25BC";
  display: inline-block;
  width: 1.2em;
  font-size: 1.2em;
  line-height: 1;
  vertical-align: -0.1em;
}
.grid tbody tr.lista-grupa-red.lista-grupa-zlatna.sklopljena td::before { content: "\25B6\FE0E"; }
/* Sve zlatne trake (/Nalozi + .lista-grupa-zlatna: Fakture, Ulazne, Ture) mirnije — slova jedan stupanj manja i tanja,
   traka niza (korisnik 2026-10-06: „za jedan stupanj manji font da ne bude ovoliko u prvom planu“). Siva traka
   Zaposleni (opste .lista-grupa-red) ostaje kao pre. Trougao je u em, pa se smanjuje sa slovima. */
#tblNalozi tbody tr.lista-grupa-red td,
.grid tbody tr.lista-grupa-red.lista-grupa-zlatna td {
  font-size: calc(var(--rmx-font-size, 13px) - 1px);
  font-weight: 600;
  padding-top: 2px;
  padding-bottom: 2px;
}
.grid tbody tr.lista-row.u-sklopu { display: none; }

.alert-soft {
  background: #fdecea;
  border: 1px solid #e0a8a1;
  color: #8a241c;
  padding: 8px 10px;
  border-radius: 3px;
  margin-bottom: 10px;
}

.empty-hint {
  margin: 0;
  padding: 16px 12px;
  color: var(--rmx-muted);
}

/* ========== POCETNA MENI ========== */

.home-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}

.home-block {
  background: #fff;
  border: 1px solid var(--rmx-edge);
  border-radius: 3px;
  overflow: hidden;
}

.home-block-title {
  margin: 0;
  padding: 8px 12px;
  background: linear-gradient(180deg, #2a313a 0%, #1e242c 100%);
  color: #e8eaed;
  font-size: 13px;
  font-weight: 650;
  border-bottom: 1px solid #000;
}

.home-tiles {
  display: flex;
  flex-direction: column;
  padding: 6px;
  gap: 4px;
}

.home-tile {
  display: block;
  padding: 8px 10px;
  border: 1px solid var(--rmx-edge);
  border-radius: 3px;
  background: #f7f8fa;
  color: var(--rmx-text);
  text-decoration: none;
  font-weight: 500;
}

.home-tile:hover,
.home-tile-active:hover {
  background: #ffe8cc;
  border-color: #e0a35a;
  color: #8a4b00;
}

.home-tile-active {
  background: #e8eaed;
  border-color: var(--rmx-slate);
  font-weight: 650;
}

.home-tile-soon {
  color: var(--rmx-muted);
}

.soon-panel {
  padding: 16px;
}

.soon-text {
  margin: 0 0 14px;
  line-height: 1.45;
}

.btn-back {
  display: inline-block;
  padding: 6px 12px;
  border: 1px solid var(--rmx-edge);
  border-radius: 3px;
  background: #e8eaed;
  color: var(--rmx-text);
  text-decoration: none;
  font-weight: 600;
}

.btn-back:hover {
  background: #ffe8cc;
  border-color: #e0a35a;
  color: #8a4b00;
}

/* ========== KARTICA — izmena podataka (ceo program) ========== */
/* Gore: naslov (+ opciono fiksni panel). Sredina: skrol. Dole: Snimi/Odustani uvek vidljivi.
   Klase: .kartica-* (opste) | .nalog-kartica-* (Board) | .tura-kartica-* (Ture tabovi). */

body:has(.kartica-page),
body:has(.nalog-kartica-page),
body:has(.tura-kartica-page) {
  overflow: hidden;
  height: 100vh;
}

body:has(.kartica-page) .app-body,
body:has(.nalog-kartica-page) .app-body,
body:has(.tura-kartica-page) .app-body {
  height: 100vh;
  overflow: hidden;
}

body:has(.kartica-page) .app-shell,
body:has(.kartica-page) .app-content,
body:has(.nalog-kartica-page) .app-shell,
body:has(.nalog-kartica-page) .app-content,
body:has(.tura-kartica-page) .app-shell,
body:has(.tura-kartica-page) .app-content {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

body:has(.kartica-page) .app-main,
body:has(.nalog-kartica-page) .app-main,
body:has(.tura-kartica-page) .app-main {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding-bottom: 8px;
}

.kartica-page,
.nalog-kartica-page,
.tura-kartica-page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
}

.kartica-top,
.nalog-kartica-top,
.tura-kartica-top {
  flex-shrink: 0;
}

.kartica-top .page-head,
.nalog-kartica-top .page-head,
.tura-kartica-top .page-head {
  margin-bottom: 4px;
}

.kartica-form,
.nalog-kartica-form,
.tura-kartica-form {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
  margin: 0;
}

/* Tab Putni — tri kolone (korisnik 2026-10-06): levo Broj/Datum/Mesec, Kamion/Prikolica, Vozac/Br. ture, Relacija;
   sredina Status, Napomena (puni visinu izmedju), EUR u ravni sa relacijom; desno rokovi dokumenata (Ističe u 30 dana).
   Flex sa prelomom: levo po sadrzaju (polja zadrzavaju §7b sirine), sredina i rokovi dele ostatak; kad nema mesta,
   kolona prelazi u novi red (Surface / uzi panel), razmak kontejnera 2 mm. Kolone u istom redu su iste visine (stretch),
   pa Napomena raste do visine leve kolone. Markup: Pages/Ture/Kartica.cshtml (tura-putni-levo / -sredina / -rokovi). */
.tura-putni-dve {
  display: flex;
  flex-wrap: wrap;
  column-gap: 16px;
  row-gap: 2mm;
  align-items: stretch;
}
.tura-putni-levo,
.tura-putni-sredina {
  display: flex;
  flex-direction: column;
  gap: 2mm;
  min-width: 0;
}
.tura-putni-levo {
  flex: 0 1 auto;
}
.tura-putni-sredina {
  flex: 1 1 22rem;
  max-width: 44rem;
}
.tura-kartica-form .form-row.tura-putni-relacija {
  width: 100%;
}
.tura-kartica-form .form-row.tura-putni-napomena {
  flex: 1 1 auto;
  width: 100%;
  min-height: 4.5rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 3px;
  align-items: stretch;
}
/* Rokovi (korisnik 2026-10-06): samo prikaz; lista ima svoj skrol da ne podigne visinu reda iznad leve kolone.
   Bez .grid (globalni Izvoz / sirina kolona) — lagano zaglavlje kao pregled ture (.tura-preview-table).
   Isteklo = crveno (#b3261e kao ostale greske na kartici). Puni ga JS osveziRokove (OnGetRokoviAsync). */
/* Popunjava ceo prostor desno, do ivice i do dna kontejnera, i kad je redova malo (korisnik 2026-10-06: „da lepo
   zauzme sve, da ne bude praznina“) — bez max-width; poruka / lista rastu (flex 1) do visine reda (leva kolona). */
.tura-putni-rokovi {
  flex: 1 1 26rem;
  min-width: min(22rem, 100%);
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.tura-rokovi-naslov {
  font-size: var(--rmx-label-font-size);
  font-weight: 600;
  color: #4a5560;
  line-height: 1.15;
}
.tura-rokovi-poruka {
  flex: 1 1 auto;
  min-height: 7rem;
  margin: 0;
  padding: 6px 8px;
  border: 1px solid #d5dbe1;
  border-radius: 3px;
  color: var(--rmx-muted);
  background: #fafbfc;
}
/* Lista raste do dna kolone (flex 1), a dugačak spisak se skroluje unutra: contain size = sadrzaj ne podize visinu reda
   iznad leve kolone; min-height kad kolona sama u redu (uzi ekran, prelom). Bivse max-height 13rem uklonjeno (2026-10-06). */
.tura-rokovi-lista {
  flex: 1 1 0;
  min-height: 7rem;
  contain: size;
  overflow: auto;
  border: 1px solid #d5dbe1;
  border-radius: 3px;
  background: #fff;
}
.tura-rokovi-tabela {
  width: 100%;
  border-collapse: collapse;
}
.tura-rokovi-tabela th {
  position: sticky;
  top: 0;
  text-align: left;
  background: #dce1e6;
  color: #333;
  font-weight: 650;
  padding: 3px 6px;
  border-bottom: 1px solid #c5ccd4;
  white-space: nowrap;
}
.tura-rokovi-tabela td {
  padding: 3px 6px;
  border-bottom: 1px solid #e3e7eb;
  vertical-align: top;
}
.tura-rokovi-tabela th.num,
.tura-rokovi-tabela td.num {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.tura-rokovi-tabela tr.tura-rok-isteklo > td {
  color: #b3261e;
  font-weight: 600;
}
.tura-putni-red {
  display: flex;
  flex-wrap: wrap;
  gap: 2mm;
  align-items: end;
}
.tura-kartica-form .tura-putni-dve .form-row[hidden],
.tura-kartica-form .tura-putni-dve [hidden] {
  display: none !important;
}
.tura-kartica-form .form-row.tura-putni-napomena > .form-textarea {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  height: 100%;
  resize: vertical;
}
.tura-kartica-form .tura-putni-vozac:not(.form-row-wide) > .form-input {
  width: 22rem;
  max-width: 22rem;
}
/* Mesec u izvestajima (ture.mesec_obracuna, 2026-10-05) — sirina za „Septembar 2026“ + strelica (ui_toolbar §7b);
   10.5rem secao tekst, prosireno (korisnik 2026-10-05 „prosiri malo polje“). */
.tura-kartica-form .tura-putni-mesec:not(.form-row-wide) > .form-input {
  width: 12rem;
  max-width: 12rem;
}
.tura-kartica-form .tura-putni-rb:not(.form-row-wide) > .form-input {
  width: calc(6ch + 1.15rem);
  max-width: calc(8ch + 1.15rem);
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.tura-kartica-form .form-row.tura-putni-relacija > .form-input {
  width: 100%;
  max-width: 100%;
}
.tura-kartica-form .tura-putni-iznosi > .form-row > .form-input {
  width: 7rem;
  max-width: 7rem;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.kartica-fixed,
.nalog-kartica-fixed {
  flex-shrink: 0;
}

.kartica-fixed .card-panel,
.nalog-kartica-fixed .card-panel {
  margin-bottom: 0;
}

.kartica-scroll,
.nalog-kartica-scroll,
.tura-kartica-scroll {
  flex: 1 1 auto;
  min-height: 80px;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-right: 2px;
}

.kartica-scroll .card-panel,
.nalog-kartica-scroll .card-panel {
  margin-bottom: 0;
  flex-shrink: 0;
}

.kartica-actions,
.nalog-kartica-actions,
.tura-kartica-actions {
  flex-shrink: 0;
  padding-top: 4px;
  border-top: 1px solid var(--rmx-edge);
}

/* ========== BOARD ========== */
/* Isto pravilo skrola kao Partneri: fiksiran vrh, skrol u listi; detalj dole. */

body:has(.board-page) {
  overflow: hidden;
  height: 100vh;
}

body:has(.board-page) .app-body {
  height: 100vh;
  overflow: hidden;
}

body:has(.board-page) .app-shell,
body:has(.board-page) .app-content {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

body:has(.board-page) .app-main {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding-bottom: 8px;
}

.board-page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
}

.board-page-top {
  flex-shrink: 0;
}

.board-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 0;
}

.board-toolbar .filter-hint {
  margin: 0;
}

.board-toolbar .toolbar-desno {
  flex-shrink: 0;
}

/* Gore putni nalozi (kompaktno); dole nalozi — vise prostora, bez srednjeg pregleda. Sirina (flex) od 2026-10-06 u
   .board-gore > .board-ture-scroll (tabela je u redu sa blokom rokova); visina ostaje ovde + razdelnik. */
.board-ture-scroll {
  max-height: 32vh;
  min-height: 120px;
  overflow: auto;
}

/* Gornji kontejner Boarda dvodelan (korisnik 2026-10-06, varijanta A): levo putni nalozi, desno „Ističe u 30 dana“.
   flex-wrap: blok je pored tabele samo kad tabela ima svoju punu sirinu (osnova 92rem sa GPS kolonama / 68rem bez —
   procena prirodne sirine tabele) + 30rem; inace prelazi ispod tabele preko cele sirine (Surface ~1250 px, ui_toolbar §7e)
   — tabela zadrzava sve kolone, ne sece se i nema vodoravnog skrola stranice. Osnova je fiksna (ne „auto“ po sadrzaju) da
   GPS tekst koji se menja na 5 min ne prebacuje blok gore-dole. flex-grow 999 = sav visak sirine ide tabeli, blok ostaje
   ~30rem. U istom redu blok se razvuce na visinu tabele (stretch; razdelnik menja visinu tabele, lista rokova ima svoj
   skrol — .board-rokovi-lista contain size). Razmak kontejnera 2 mm (ui_toolbar §7b). Markup + JS: Pages/Board/Index.cshtml. */
.board-gore {
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 2mm;
  min-width: 0;
}
.board-gore > .board-ture-scroll {
  flex: 999 1 68rem;
  min-width: 0;
}
.board-gore.board-gore-gps > .board-ture-scroll {
  flex-basis: 92rem;
}
/* Blok rokova = panel kao levo (korisnik 2026-10-07: „u istom stilu kao i ovi ostali“, „label skloni“): okvir iz .panel
   (markup class="panel board-rokovi"), bez naslova, zaglavlje kolona i redovi kao #tblTure (.grid th / td +
   .board-ture-scroll thead th iznad — menjati zajedno). Podaci i JS prikaz redova isti izvor kao /Ture/Kartica tab Putni,
   ali Board ima svoje klase .board-rokovi-* — zajednicka .tura-rokovi-* (kartica ture) se ovde ne koriste i ne menjaju.
   Tabela bez .grid (globalni Izvoz liste i sirina kolona hvataju svaki table.grid). */
.board-rokovi {
  flex: 1 1 30rem;
  min-width: min(22rem, 100%);
  display: flex;
  flex-direction: column;
}
/* „Deo rokova nije učitan — …“ iznad tabele kad jedan izvor Rokovnika padne (OnGetRokoviAsync greska); crveno kao istekli. */
.board-rokovi-deo {
  flex: 0 0 auto;
  margin: 0;
  padding: 4px 10px;
  font-size: var(--rmx-label-font-size);
  color: #b3261e;
  border-bottom: 1px solid var(--rmx-edge);
}
/* Lista raste do dna panela (u redu sa tabelom = visina leve tabele, stretch); dugacak spisak skroluje unutra — contain
   size = sadrzaj ne podize visinu reda iznad leve tabele (razdelnik je meri); min-height kad je blok ispod tabele (uzi
   ekran). Poruka (.empty-hint, „Učitavam…“ / „Nema dokumenata…“) je ispod zaglavlja u istoj listi, kao levo. */
.board-rokovi-lista {
  flex: 1 1 0;
  min-height: 7rem;
  contain: size;
  overflow: auto;
}
.board-rokovi-tabela {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--rmx-font-size);
}
.board-rokovi-tabela th {
  position: sticky;
  top: 0;
  z-index: 2;
  text-align: left;
  background: var(--rmx-charcoal);
  color: #e8eaed;
  border-bottom: 1px solid #14181d;
  padding: 5px 10px;
  font-weight: 600;
  white-space: nowrap;
}
.board-rokovi-tabela td {
  padding: 6px 10px;
  border-bottom: 1px solid var(--rmx-edge);
}
.board-rokovi-tabela tbody tr:nth-child(even) { background: var(--rmx-row-alt); }
.board-rokovi-tabela tbody tr:hover { background: var(--rmx-row-sel); }
.board-rokovi-tabela th.num,
.board-rokovi-tabela td.num {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
/* Istekli = crveno (isto kao .tura-rokovi-tabela tr.tura-rok-isteklo na kartici ture; klasa reda iz JS osveziRokove). */
.board-rokovi-tabela tr.tura-rok-isteklo > td {
  color: #b3261e;
  font-weight: 600;
}

.board-ture-scroll thead th {
  position: sticky;
  z-index: 2;
  background: var(--rmx-charcoal);
  color: #e8eaed;
}

/* Crne trake naslova kolona na Boardu malo nize (korisnik 2026-10-02 „smanji vrlo malo … te crne“): padding 7 → 5px
   gore / dole (opste .grid th ostaje 7px na ostalim listama). Red filtera ispod (.col-filter-row, top 30px) uklonjen
   2026-10-06 (korisnik: „ova polja za pretragu u Boardu su višak“) — zaglavlje je jedan sticky red. */
.board-ture-scroll thead tr:first-child th {
  top: 0;
  padding-top: 5px;
  padding-bottom: 5px;
}

.board-detail-panel {
  flex: 1 1 auto;
  min-height: 160px;   /* = MIN_DOLE razdelnika (Pages/Board/Index.cshtml) — menjati zajedno */
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow: hidden;
  /* linija iznad (border-top 1px + padding 8px) zamenjena razdelnikom .board-razdelnik (korisnik 2026-10-02) */
}

/* Razdelnik gore / dole na Boardu (korisnik 2026-10-02 „kliknes i podesavas“): traka koja se vuce misem = visina gornje
   tabele; dupli klik = podrazumevano. JS + pamcenje po korisniku: Pages/Board/Index.cshtml (board.ture.visina).
   Mirno sivo, prelaz / vucenje = zuto-narandzasto kao ostali sivi tasteri (#ffe8cc, ui_toolbar). */
.board-razdelnik {
  flex: 0 0 auto;
  height: 9px;
  margin: -3px 0;            /* gap .board-page (8px) da razdelnik ne pojede previse mesta */
  display: flex;
  align-items: center;
  justify-content: center;
  background: #dfe3e7;
  border-radius: 4px;
  cursor: row-resize;
  touch-action: none;
}
.board-razdelnik:hover,
.board-razdelnik.is-vuce {
  background: #ffe8cc;
}
.board-razdelnik-hvat {
  width: 48px;
  height: 3px;
  border-top: 1px solid #8a939c;
  border-bottom: 1px solid #8a939c;
  pointer-events: none;
}
body.rmx-row-noselect {
  user-select: none;
  cursor: row-resize;
}

/* Board nalozi: Partner uzak; adrese sire + pre-wrap (UTOVAR 1/2… u novom redu). */
.board-th-partner,
.board-cell-partner {
  max-width: 120px;
  width: 120px;
}
.board-cell-partner {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}
/* Faza 6d (korisnik 2026-09-30): na Boardu kratko „Mesto (SRB)“ umesto celog teksta — uza kolona, jedan red
   (pun tekst = title). Pravac „E → SRB“ bez prelamanja. */
.board-th-adresa,
.board-cell-adresa {
  min-width: 9rem;
  max-width: 16rem;
}
.board-cell-adresa {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}
.board-cell-pravac {
  white-space: nowrap;
}
/* 2026-10-01 (korisnik: Board „lepo povezan i sa detaljima“): Utovar / Istovar = mesto, ispod sitno datum · lokacija
   iz sifarnika (dva reda, svaki skracen …); carinjenje = naziv iz sifarnika u jednom redu (bilo: ceo tekst, visok red —
   .board-cell-wide / .board-stop-label uklonjeni). JS: Pages/Board/Index.cshtml tackaCell / carCell. */
.board-cell-adresa .board-mesto,
.board-cell-adresa .board-sub {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.board-cell-adresa .board-sub {
  font-size: 11px;
  color: var(--rmx-muted);
  margin-top: 1px;
}
/* Datum utovara / istovara u tabeli Boarda plavo kao link (#1a5fb4 = .board-nd-mapa), korisnik 2026-10-05.
   Povezano: tackaCell u Pages/Board/Index.cshtml. */
.board-cell-adresa .board-datum {
  color: #1a5fb4;
}
.board-th-car,
.board-cell-car {
  min-width: 8rem;
  max-width: 15rem;
}
.board-cell-car {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}
/* Board dole (korisnik 2026-10-06: „wrap u dva reda za naziv naloga i adrese utovara/istovara i carinjenja“): Partner,
   Utovar / Istovar (mesto i „datum · lokacija“) i oba carinjenja — prelamanje do najviše dva reda, pa „…“; pun tekst i dalje
   na prelaz mišem (title). Samo #tblNalozi (Board) — /Ture/Kartica #tblTuraNalozi ostaje u jednom redu. Završeno bez promene.
   JS: Pages/Board/Index.cshtml (span .board-2r u Partner / carCell; tackaCell .board-mesto / .board-sub). Bilo: jedan red (2026-10-01). */
#tblNalozi td.board-cell-partner,
#tblNalozi td.board-cell-car,
#tblNalozi td.board-cell-adresa:not(.board-cell-zav) {
  white-space: normal;
}
#tblNalozi .board-2r,
#tblNalozi td.board-cell-adresa:not(.board-cell-zav) .board-mesto,
#tblNalozi td.board-cell-adresa:not(.board-cell-zav) .board-sub {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  white-space: normal;
  overflow-wrap: anywhere;
}
/* Kolona „Završeno“ (F3 plana status tacke, korisnik 2026-10-05): „Utovareno ✓“ gore, datum / vreme ispod (isto kao
   Utovar / Istovar — .board-cell-adresa). JS: Pages/Board/Index.cshtml zavrsenoCell. */
.board-th-zav,
.board-cell-zav {
  min-width: 7rem;
  white-space: nowrap;
}
/* Pregled ispod reda — pilula zavrsetka u naslovu kartice tacke (F3, korisnik 2026-10-05 izabrao varijantu A umesto
   velikih tastera; JS zavPilula / zavDlg): siva „čeka“, zelena „✓ 26.09.2026 17:55“ (pun datum, vreme ako ga ima);
   prelaz misem = zuto/narandzasto kao ostali sivi tasteri (AGENTS UI, #ffe8cc). Pilula odmah posle naslova kartice. */
.board-nd-lab-zav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;   /* pilula odmah pored „Utovar · 02.10.2026“ (korisnik 2026-10-05) */
  align-items: center;
  gap: 6px;
}
.board-nd-pill {
  flex: 0 0 auto;
  font: inherit;
  font-size: 11px;
  line-height: 1.4;
  padding: 0 8px;
  border-radius: 10px;
  border: 1px solid #b8bec6;
  background: #fff;
  color: #5a6570;
  cursor: pointer;
  white-space: nowrap;
}
.board-nd-pill-ok {
  background: #e6f4ea;
  border-color: #9ccfa8;
  color: #2e7d32;
  font-weight: 600;
}
.board-nd-pill:hover,
.board-nd-pill:focus-visible {
  background: #ffe8cc;
  border-color: #ff9a2e;
  color: #5a3a10;
}
/* Prozor #zavDlg (Board/Index.cshtml): Završen datum | Vreme jedno pored drugog, labela iznad (kao kartice, §7),
   sirine kao na tacki naloga (datum 11.6rem, vreme 5.5rem), razmak polja 1mm (§7b). */
.board-zav-polja {
  display: flex;
  gap: 1mm;
  align-items: flex-end;
  margin: 8px 0 12px;
}
.board-zav-polje {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.board-zav-polje > label {
  font-size: var(--rmx-label-font-size, 10px);
  color: var(--rmx-muted);
}
.board-zav-polje > input[type="date"],
.board-zav-polje > .rmx-date-wrap {
  width: 11.6rem;
}
#zavDlgVreme,
#zavDlgOd {
  width: 5.5rem;   /* Od | Do (SQL 131, 2026-10-05) — kao Vreme od na tacki */
}
/* Almaks predlog u prozoru #zavDlg (F4 plana status tacke, 2026-10-05; JS zavUcitajAlmaks): red = vreme parkinga od – do
   + adresa Wialon-a sitno, desno „Uzmi“. Najblizi planu blago oznacen, izabran (posle Uzmi) zelenkasto. */
.board-zav-almaks {
  margin: 0 0 12px;
  max-width: 34rem;
}
.board-zav-almaks-lab {
  font-size: var(--rmx-label-font-size, 10px);
  color: var(--rmx-muted);
  margin-bottom: 4px;
}
.board-zav-pred {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 6px;
  border: 1px solid var(--rmx-edge);
  border-radius: 4px;
  margin-bottom: 1mm;
  background: #fff;
}
.board-zav-pred-naj {
  border-color: #9ccfa8;
}
.board-zav-pred-izabran {
  background: #e6f4ea;
}
.board-zav-pred-t {
  min-width: 0;
}
/* Cela adresa, prelama se u vise redova (korisnik 2026-10-05: „ne vidi se cela adresa“ — bilo skraceno sa …). */
.board-zav-pred-adr {
  display: block;
  font-size: 11px;
  color: var(--rmx-muted);
  white-space: normal;
  overflow-wrap: anywhere;
}
/* GPS kamiona gore (Almaks, korisnik 2026-10-02): „Batrovci (SRB)“ u jednom redu + mala ikonica mape (ista kao
   kartica Lokacije). JS: Pages/Board/Index.cshtml ucitajGps. */
.board-cell-gps {
  white-space: nowrap;
}
.board-gps-mapa {
  display: inline-block;
  vertical-align: middle;
  margin-left: 4px;
  color: var(--rmx-muted);
}
.board-gps-mapa:hover {
  color: #1f6fd1;
}

/* Pregled ispod izabranog naloga na Boardu (2026-10-01, JS detaljHtml): levo Utovar (sve tacke) + Izvozno carinjenje,
   desno Istovar + Uvozno; ispod Roba / Primalac / Ostalo (samo popunjeno). Kartice bele na sivom row-detail;
   razmak 2 mm kontejner ↔ kontejner (standard ui_toolbar §7b). Naslov kartice = naziv lokacije / carinjenja iz sifarnika. */
/* Sirina = vidljivi deo skrola (JS sirinaDetalja), sticky = ne beži pri vodoravnom skrolu tabele; container = dve kolone
   samo kad je sam pregled dovoljno sirok (ne po sirini prozora). */
.board-nalog-detalj .row-detail {
  padding: 8px 12px 10px;
  position: sticky;
  left: 0;
  box-sizing: border-box;
  container-type: inline-size;
}
/* Dno pregleda naloga na Boardu = zlatna traka 2mm boje izabranog reda (korisnik 2026-10-02 „stavi i ovde zlatnu dole“ —
   isto kao /Nalozi i /Angazovani, ui_toolbar §6); zamenjuje 1px liniju .partner-detail-row > td. */
tr.board-nalog-detalj > td {
  border-bottom: 2mm solid var(--rmx-row-izabran);
}
/* „Kako je i u Nalozima“ (korisnik 2026-10-02): pozadina pregleda BELA (opsta .row-detail je siva — zlatna traka se na
   sivom nije videla), kartice SIVE #e8eaed kao polja pregleda na /Nalozi (Pages/Nalozi/Index.cshtml) — menjati zajedno. */
tr.board-nalog-detalj > td,
.board-nalog-detalj .row-detail {
  background: #fff;
}
.board-nd {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2mm;
  align-items: stretch;
}
.board-nd-stack {
  display: flex;
  flex-direction: column;
  gap: 2mm;
  min-width: 0;
}
.board-nd-dno {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 2mm;
  margin-top: 2mm;
}
.board-nd-k {
  background: #e8eaed;          /* siva kao polja pregleda na /Nalozi (2026-10-02; bilo bela na sivom) */
  border: 1px solid #e8eaed;    /* bilo #dde1e5 */
  border-radius: 6px;
  padding: 6px 10px 7px;
  min-width: 0;
  line-height: 1.35;
  white-space: normal;
}
.board-nd-prazno {
  color: var(--rmx-muted);
}
.board-nd-lab {
  font-size: var(--rmx-label-font-size, 10px);
  font-weight: 600;
  color: #4a5560;
  margin-bottom: 2px;
}
/* Vrsta carinjenja / FIKSNO u naslovu kartice = obican podebljan tekst posle „ · “ (korisnik 2026-10-05: „pošto sada
   imamo aktivne pilule gore ove su zbunjujuće“ — okvir je imala samo pilula zavrsetka koja se klikce, .board-nd-pill).
   Ranije bela kutija (2026-10-02). */
.board-nd-tag {
  color: #3d4650;
  font-weight: 600;
}
.board-nd-naslov {
  font-weight: 650;
  color: var(--rmx-charcoal);
}
.board-nd-tekst {
  white-space: pre-wrap;
  word-break: break-word;
}
.board-nd-red {
  margin-top: 1px;
  word-break: break-word;
}
.board-nd-o {
  color: #4a5560;
  margin-right: 6px;
}
.board-nd-podnaslov {
  margin-top: 4px;
  font-size: var(--rmx-label-font-size, 10px);
  font-weight: 600;
  color: var(--rmx-muted);
}
.board-nd-mapa {
  display: inline-block;
  margin-top: 3px;
  color: #1a5fb4;
  text-decoration: none;
}
.board-nd-mapa:hover {
  text-decoration: underline;
}
.board-nd-poruka {
  color: var(--rmx-muted);
}
@container (max-width: 640px) {
  .board-nd { grid-template-columns: 1fr; }
}

.board-detail-panel[hidden] {
  display: none !important;
}

.board-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 650;
  margin-bottom: 0;
  color: var(--rmx-charcoal);
  flex-shrink: 0;
}

.board-nalog-toolbar {
  flex-shrink: 0;
  margin: 4px 0 6px;
}

.board-sklopi {
  margin-left: auto;
  height: 26px;
}

.board-sklopi[hidden],
#btnSklopi[hidden] {
  display: none !important;
}

.board-detail-panel .row-detail {
  flex-shrink: 0;
}

.board-nalozi-scroll {
  flex: 1 1 auto;
  min-height: 120px;
  overflow: auto;
}

.board-nalozi-scroll .grid td {
  vertical-align: top;
}

.board-nalozi-scroll thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}
/* Ista niza crna traka i dole (korisnik 2026-10-02, isto kao .board-ture-scroll gore — menjati zajedno). */
.board-nalozi-scroll thead tr:first-child th {
  padding-top: 5px;
  padding-bottom: 5px;
}

.board-count {
  color: var(--rmx-muted);
  font-weight: 500;
}

.board-section {
  margin-bottom: 14px;
}

.grid th.num,
.grid td.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.grid th.num .th-sort {
  display: block;
  width: 100%;
  text-align: right;
}

.row-click {
  cursor: pointer;
}

/* Transport liste: Aktivan = bold; loptica boja statusa pored radio / u Status koloni. */
.grid tr.row-status-aktivan > td {
  font-weight: 700;
}
/* Board gore (putni nalozi): red NIJE podebljan, samo Status (korisnik 2026-10-05: „ovde u tabeli Board Putni nalozi ne
   moraju da budu bold, to stavi da bold bude samo status“) — gore su ionako samo ture u radu. Dole nalozi i ostale liste
   nepromenjeno (pravilo iznad). */
#tblTure tr.row-status-aktivan > td {
  font-weight: inherit;
}
#tblTure td.status-cell {
  font-weight: 700;
}

.grid tr.row-status-otkazan > td {
  text-decoration: line-through;
  color: #666;
  opacity: 0.88;
}

.grid tr.row-status-otkazan > td.status-cell {
  text-decoration: none;
}

.status-cell {
  white-space: nowrap;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
}

.status-dot {
  display: inline-block;
  width: 0.62rem;
  height: 0.62rem;
  margin-right: 0.35rem;
  border-radius: 50%;
  vertical-align: middle;
  background: #adb5bd;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.18);
  flex-shrink: 0;
}

.status-dot-aktivan { background: #2f9e44; }
.status-dot-zavrsen { background: #868e96; }
.status-dot-neaktivan { background: #f08c00; }
/* Tura „Završena – čeka obračun“ (SQL 100, korisnik 2026-09-26): plava — vratila se, ceka obracun. StatusTure.Kljuc = ceka. */
.status-dot-ceka { background: #1c7ed6; }
.status-dot-otkazan { background: #c92a2a; }
/* Nalog „Istovaren“ (SQL 130, plan_status_tacke.md, korisnik 2026-10-05: „narandžasta tačkica uz status Istovaren“) —
   istovareno, ceka fakturu. Kljuc istovaren: Board statusKey, /Nalozi StatusKey + statusInner, sifarnik-lista.js. */
.status-dot-istovaren { background: #fd7e14; }
.status-dot-ostalo { background: #adb5bd; }

/* SEF liste: isti krug kao Ture/Board, malo veci, boje kao portal DEMO. */
.status-dot-sef {
  width: 0.72rem;
  height: 0.72rem;
}
.status-dot-sef-prihvaceno,
.status-dot-sef-pregledano { background: #2f9e44; }
.status-dot-sef-poslato { background: #228be6; }
.status-dot-sef-salje { background: #4dabf7; }
.status-dot-sef-odbijeno,
.status-dot-sef-greska { background: #e03131; }
.status-dot-sef-nova,
.status-dot-sef-ostalo { background: #adb5bd; }

.status-cell .status-dot,
.sef-status-cell .status-dot {
  margin-right: 0.4rem;
}

.row-detail .nalog-fld-val .status-dot,
.preview-val .status-dot {
  margin-top: -1px;
}

/* SEF Storno/Otkaz komentar u pregledu liste Fakture — samo ovde, ne na kartici. */
.preview-val .faktura-pregled-sef-komentar {
  color: #c62828;
  font-weight: 600;
}

.row-selected {
  background: var(--rmx-row-izabran) !important;
  cursor: pointer;
  font-weight: 600;
}

.grid tbody tr.lista-row.is-selected,
.grid tbody tr.lista-row.is-selected:hover {
  background: var(--rmx-row-izabran) !important;   /* sve liste, 2026-10-01 (bilo #fff3cc) */
}

/* Rokovnik koristi postojece NivoObavestenja pragove; nivo 90 je planski, ostali nivoi imaju svoje boje (korisnik 2026-09-28). */
#tblLista tbody tr[data-rok-nivo="90"] {
  --rokovnik-rok-boja: #ad8b00;
  --rokovnik-rok-podloga: #fff3bf;
  --rokovnik-rok-tekst: #6f5700;
}

#tblLista tbody tr[data-rok-nivo="isteklo"] {
  --rokovnik-rok-boja: #c92a2a;
  --rokovnik-rok-podloga: #ffe3e3;
  --rokovnik-rok-tekst: #8a1c1c;
}

#tblLista tbody tr[data-rok-nivo="7"] {
  --rokovnik-rok-boja: #e8590c;
  --rokovnik-rok-podloga: #fff0e6;
  --rokovnik-rok-tekst: #a63d00;
}

#tblLista tbody tr[data-rok-nivo="15"] {
  --rokovnik-rok-boja: #f08c00;
  --rokovnik-rok-podloga: #fff4d6;
  --rokovnik-rok-tekst: #9a5700;
}

#tblLista tbody tr[data-rok-nivo="30"] {
  --rokovnik-rok-boja: #d28a00;
  --rokovnik-rok-podloga: #fff8db;
  --rokovnik-rok-tekst: #765000;
}

/* Reseno nije nivo obavestenja ni bedz, ali zelena tacka ga odvaja od stavki koje traze akciju (korisnik 2026-09-28). */
/* data-stanje-kljuc = kljuc stanja (prikaz „Rešeno“ je velikim slovom, 2026-10-09). */
#tblLista tbody tr[data-stanje-kljuc="reseno"] {
  --rokovnik-rok-boja: #52b788;
}

/* Ivice se skroluju bez compositing traga; ne koristiti inset senku na grid redu (korisnik 2026-09-28). */
#tblLista tbody tr[data-rok-nivo]:not([data-rok-nivo=""]) > td:first-child {
  border-left: 3px solid var(--rokovnik-rok-boja);
}

/* Ista veca tacka za nivo roka i zatvoreno stanje; data-stanje osvezava RmxLista freshMap (korisnik 2026-09-28). */
#tblLista tbody tr[data-rok-nivo]:not([data-rok-nivo=""]) .rokovnik-stanje-cell::before,
#tblLista tbody tr[data-stanje-kljuc="reseno"] .rokovnik-stanje-cell::before {
  content: "";
  display: inline-block;
  width: 0.72rem;
  height: 0.72rem;
  margin-right: 0.35rem;
  border-radius: 50%;
  vertical-align: middle;
  background: var(--rokovnik-rok-boja);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.18);
}

#tblLista tbody tr[data-rok-nivo]:not([data-rok-nivo=""]) .rokovnik-rok-cell::after {
  display: block;
  width: fit-content;
  margin-top: 2px;
  padding: 1px 5px;
  border: 1px solid var(--rokovnik-rok-boja);
  border-radius: 3px;
  background: var(--rokovnik-rok-podloga);
  color: var(--rokovnik-rok-tekst);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
}

#tblLista tr[data-rok-nivo="isteklo"] .rokovnik-rok-cell::after { content: "hitno"; }
#tblLista tr[data-rok-nivo="7"] .rokovnik-rok-cell::after { content: "≤ 7 dana"; }
#tblLista tr[data-rok-nivo="15"] .rokovnik-rok-cell::after { content: "≤ 15 dana"; }
#tblLista tr[data-rok-nivo="30"] .rokovnik-rok-cell::after { content: "≤ 30 dana"; }
#tblLista tr[data-rok-nivo="90"] .rokovnik-rok-cell::after { content: "planirati"; }

/* Kartica Dokumenti: lista verzija — glavna = trenutna u roku */
.kartica-form .dok-verzija-grid tbody tr {
  cursor: pointer;
}
.kartica-form .dok-verzija-grid tbody tr.is-selected {
  background: var(--rmx-row-izabran);
}
.kartica-form .dok-verzija-grid tbody tr.dok-verzija-glavna td:first-child {
  font-weight: 600;
  box-shadow: inset 3px 0 0 #2d6a4f;
}
.kartica-form .dok-verzija-fajl {
  min-width: 12rem;
}
.kartica-form .dok-verzija-fajl a {
  display: inline-block;
  margin-right: 0.15rem;
}
.kartica-form .dok-verzija-fajl-jedan {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
  margin-right: 0.45rem;
  vertical-align: middle;
}
.kartica-form label.dok-verzija-dodaj {
  display: inline-block;
  margin: 0;
  padding: 0.12rem 0.45rem;
  font-size: 0.85rem;
  cursor: pointer;
  border: 1px solid var(--rmx-edge);
  border-radius: 6px;
  background: #f3f4f6;
}
.kartica-form label.dok-verzija-dodaj input {
  display: none;
}

.row-click:hover {
  background: var(--rmx-row-sel);
}

/* ========== KARTICA TURE — tabovi (layout = .kartica-page iznad) ========== */

.tura-tabs {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 1px solid var(--rmx-edge);
  padding: 0 2px;
  margin-bottom: 8px;
}

.tura-tab {
  appearance: none;
  border: none;
  background: transparent;
  color: var(--rmx-muted);
  padding: 8px 16px;
  white-space: nowrap;
  font: inherit;
  font-family: var(--rmx-font-family);
  font-size: var(--rmx-font-size);
  cursor: pointer;
  border-radius: var(--rmx-radius-panel) var(--rmx-radius-panel) 0 0;
  position: relative;
  box-shadow: none;
}

.tura-tab:hover {
  background: #ffe8cc;
  color: #222;
}

.tura-tab.active {
  background: transparent;
  color: var(--rmx-charcoal);
  font-weight: 650;
  box-shadow: none;
}

.tura-tab.active::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: -1px;
  height: 2px;
  background: var(--rmx-charcoal);
  border-radius: 2px;
}

.tura-tab-panel {
  display: none;
  flex-direction: column;
  gap: 8px;
}

.tura-tab-panel.active {
  display: flex;
}

.tura-tab-panel .card-panel {
  margin-bottom: 0;
}

.card-panel-note {
  font-weight: 400;
  font-size: 0.78rem;
  color: var(--rmx-muted);
  margin-left: 8px;
}

.tura-stavke-grid {
  width: 100%;
  font-family: var(--rmx-font-family);
  font-size: var(--rmx-font-size);
}

.tura-stavke-grid th,
.tura-stavke-grid td {
  padding: 4px 4px;
  vertical-align: middle;
}

.tura-stavke-grid .form-input {
  width: 100%;
  min-width: 0;
  padding: 4px 6px;
  font: inherit;
  font-size: inherit;
  font-family: inherit;
}

.tura-stavke-grid input[type="datetime-local"]::-webkit-datetime-edit,
.tura-stavke-grid input[type="datetime-local"]::-webkit-datetime-edit-fields-wrapper,
.tura-stavke-grid input[type="datetime-local"]::-webkit-datetime-edit-text,
.tura-stavke-grid input[type="datetime-local"]::-webkit-datetime-edit-year-field,
.tura-stavke-grid input[type="datetime-local"]::-webkit-datetime-edit-month-field,
.tura-stavke-grid input[type="datetime-local"]::-webkit-datetime-edit-day-field,
.tura-stavke-grid input[type="datetime-local"]::-webkit-datetime-edit-hour-field,
.tura-stavke-grid input[type="datetime-local"]::-webkit-datetime-edit-minute-field {
  font: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.tura-stavke-grid .rb-cell {
  width: 28px;
  text-align: center;
  color: var(--rmx-muted);
}

/* Tab Troskovi: red Ukupno (EUR / RSD posebno + zbir u RSD). */
.tura-stavke-grid tfoot .tura-stavke-zbir td {
  font-weight: 650;
  border-top: 2px solid var(--rmx-edge);
  vertical-align: top;
}

/* Panel Troskovi na nalogu: fiksne sirine uskih kolona, Opis uzima ostatak. */
#tblNalogTroskovi { table-layout: fixed; width: 100%; }
#tblNalogTroskovi th:nth-child(1) { width: 2.4rem; }   /* # */
#tblNalogTroskovi th:nth-child(2) { width: 10.5rem; }  /* Datum troska */
#tblNalogTroskovi th:nth-child(4) { width: 9rem; }     /* Iznos */
#tblNalogTroskovi th:nth-child(5) { width: 6.5rem; }   /* Valuta */
#tblNalogTroskovi th:nth-child(6) { width: 8rem; }     /* Kurs */
#tblNalogTroskovi th:nth-child(7) { width: 5.5rem; text-align: center; }  /* Prefaktura */
#tblNalogTroskovi th:nth-child(8) { width: 9rem; }     /* Ulazni / Sa ture */
#tblNalogTroskovi th:nth-child(9) { width: 3rem; }     /* x */
#tblNalogTroskovi td { vertical-align: middle; }
#tblNalogTroskovi td:nth-child(8) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#tblNalogTroskovi td .rmx-date-wrap { min-width: 0; width: 100%; }

/* Datum troska (Troskovi ture i panel Troskovi na nalogu). */
.tura-stavke-grid td .kes-datum {
  min-width: 9.5rem;
}

.tura-stavke-grid .td-check {
  text-align: center;
  width: 40px;
}

/* Troskovi "Priznat" (checkbox + select kome, samo kad tura ima dodatnog vozaca/dvojnu posadu). */
.tura-stavke-grid .td-priznato {
  width: auto;
  min-width: 40px;
  white-space: nowrap;
}
.tura-stavke-grid .kes-priznato-posada {
  margin-top: 4px;
  min-width: 9rem;
}
/* Tab Troskovi ture (#tblKes): Zemlja uska, Opis siri, Valuta cela (EUR/RSD), Priznat + „kome“ u svojoj koloni
   da select ne prelazi preko tastera Raspodeli (korisnik 2026-09-25, screenshot 15/4-26). Redosled kolona: Kartica.cshtml. */
#tblKes .kes-zemlja { width: 4.5rem; max-width: 4.5rem; }
/* Tab Putarine (#tblPutarine): Zemlja uska (HR / „Srbija“), Opis siri — ATOL opis je dug (korisnik 2026-09-26).
   Po poziciji kolone (2 = Zemlja, 3 = Opis) da vazi i za JS red (tplPtr) bez rebuild-a; redosled: Kartica.cshtml. */
#tblPutarine td:nth-child(2), #tblPutarine th:nth-child(2) { width: 6rem; }
#tblPutarine td:nth-child(2) input.form-input { width: 6rem; max-width: 6rem; }
/* Opis bez fiksne sirine (korisnik 2026-09-29, Surface): tekst uzima ostatak reda posle kolona po vrsti polja
   (blok „Tabele za unos — sirina po vrsti polja“ ispod), a najmanje 14rem da ATOL opis ostane citljiv. */
#tblPutarine td:nth-child(3) input.form-input { width: 100%; min-width: 14rem; }
/* === Tabele za unos (.tura-stavke-grid) — sirina po VRSTI polja, fleksibilno (korisnik 2026-09-29) ===
   Svaki ekran: kolone su u procentima pa rastu/skupljaju se sa sirinom; najmanji podrzani ekran = Surface Pro 6/7
   (~1368 px, za sadrzaj ~1250 px) — min-width polja = citljivo tu. Tekst (Opis/Relacija/Napomena) nema procenat i
   uzima ostatak. Incident: Putarine na uzem ekranu — Iznos/Valuta skupljeni na 2 znaka, Kurs preveliki (polja bez
   sirine kolone). Pravilo vazi za sve tabele stavki; pojedinacna pravila po #id (npr. #tblKes) i dalje imaju prednost.
   Detalj: docs/ui_toolbar.md §7e. */
.tura-stavke-grid td:has(> input.form-input-num) { width: 8%; }
.tura-stavke-grid td:has(> input[type="date"]) { width: 9%; }
.tura-stavke-grid td:has(> input[type="datetime-local"]) { width: 12%; }
.tura-stavke-grid td:has(> select[name$=".Valuta"]) { width: 6%; }
.tura-stavke-grid input.form-input-num { min-width: 5.5rem; }
.tura-stavke-grid input.form-input-num.ptr-kurs,
.tura-stavke-grid input.form-kurs { min-width: 6.5rem; }
.tura-stavke-grid input[type="date"] { min-width: 8.8rem; }
.tura-stavke-grid input[type="datetime-local"] { min-width: 11.5rem; }
.tura-stavke-grid select[name$=".Valuta"] { min-width: 4.8rem; }
/* Datum u tabeli JS obavija u .rmx-date-wrap (prikaz po ui.datum) — isto pravilo kao gore za input[type=date],
   inace se kolona skupi na nulu (tab Gorivo: Datum / Dat. placanja „d…“) (korisnik 2026-09-29, Surface; ui_toolbar.md §7e). */
.tura-stavke-grid td:has(> .rmx-date-wrap) { width: 9%; }
.tura-stavke-grid .rmx-date-wrap { width: 100%; min-width: 8.8rem; }
/* Tab Gorivo: tekstualna polja fiksna po sadrzaju, fleksibilna samo Napomena (uzima ostatak) (korisnik 2026-09-29, Surface; ui_toolbar.md §7e). */
#tblGorivo td:has(> input[name$=".DobavljacNaziv"]) { width: 10rem; }
#tblGorivo td:has(> input[name$=".RacunBroj"]) { width: 9rem; }
#tblGorivo td:has(> input[name$=".BrojIzvoda"]) { width: 7rem; }
#tblGorivo td:has(> input[name$=".Zemlja"]) { width: 4.5rem; }
#tblGorivo td:has(> input[name$=".Napomena"]) input { min-width: 8rem; }

#tblKes .kes-opis { min-width: 15rem; }
#tblKes .kes-valuta { min-width: 5.4rem; }
#tblKes .td-priznato { min-width: 12.5rem; }
#tblKes .td-priznato .check-line { display: inline-flex; vertical-align: middle; }
#tblKes .td-priznato .kes-priznato-posada { margin: 0 0 0 6px; width: 10.5rem; min-width: 10.5rem; display: inline-block; vertical-align: middle; }

.tura-stavke-grid .kes-ulazni-td {
  white-space: nowrap;
  width: 4.2rem;
}
.tura-stavke-grid a.kes-ulazni-link {
  font-weight: 650;
  color: var(--rmx-charcoal);
  text-decoration: none;
}
.tura-stavke-grid a.kes-ulazni-link:hover {
  color: #c45a00;
  text-decoration: underline;
}
.kes-rasp-lista a.kes-rasp-link {
  color: var(--rmx-charcoal);
  text-decoration: none;
  font-weight: 650;
}
.kes-rasp-lista a.kes-rasp-link:hover {
  color: #c45a00;
  text-decoration: underline;
}

.tura-stavke-actions {
  margin: 8px 0 0;
}

/* Kurs u tabeli kesa: min sirina kolone (kartica kurs = §7b .form-kurs). */
.tura-stavke-grid .kes-kurs {
  min-width: 7.5rem;
  font-variant-numeric: tabular-nums;
}

/* Službeni: Kurs + taster …, razmak 1 mm, ista visina kao polje (28px). */
#sluzbenaForm .form-kurs-wrap,
#nalog-kartica-form .form-kurs-wrap {
  display: inline-flex;
  align-items: center;
  gap: 1mm;
  max-width: 100%;
}
#sluzbenaForm .form-kurs-wrap > .form-kurs,
#nalog-kartica-form .form-kurs-wrap > .form-kurs {
  width: calc(14ch + 1.1rem);
  max-width: calc(18ch + 1.1rem);
  height: 28px;
}
#sluzbenaForm .btn-kurs-lookup,
#nalog-kartica-form .btn-kurs-lookup {
  box-sizing: border-box;
  width: 28px;
  min-width: 28px;
  height: 28px;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--rmx-edge);
  border-radius: 3px;
  background: #e8ebef;
  color: #1a1a1a;
  cursor: pointer;
  line-height: 1;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
#sluzbenaForm .btn-kurs-lookup:hover,
#nalog-kartica-form .btn-kurs-lookup:hover {
  background: #ffe8cc;
  border-color: #e0a35a;
}

/* Službeni kretanja: isti .grid header/zebra; razmak 2 mm; fiksne širine (ne width:100% — pregazi). */
#tblKretanja.tura-stavke-grid {
  width: 100%;
  border-collapse: collapse;
}
#tblKretanja.tura-stavke-grid th,
#tblKretanja.tura-stavke-grid td {
  padding: 4px 1mm; /* 1mm + 1mm = 2 mm između polja */
  width: 1%; /* kolona = širina polja, ne razvlači */
  white-space: nowrap;
}
#tblKretanja.tura-stavke-grid th:last-child,
#tblKretanja.tura-stavke-grid td:last-child {
  width: auto; /* kanta */
}
#tblKretanja.tura-stavke-grid td:nth-child(13),
#tblKretanja.tura-stavke-grid th:nth-child(13) {
  width: auto; /* Svrha uzima ostatak */
  white-space: normal;
}
#tblKretanja.tura-stavke-grid .form-input.kret-nacin { width: 6.5rem; max-width: 6.5rem; }
#tblKretanja.tura-stavke-grid .form-input.kret-vozilo,
#tblKretanja.tura-stavke-grid .form-input.kret-prikolica { width: 7rem; max-width: 7rem; }
#tblKretanja.tura-stavke-grid .form-input.kret-licno { width: 10rem; max-width: 10rem; }
#tblKretanja.tura-stavke-grid .form-input.kret-od,
#tblKretanja.tura-stavke-grid .form-input.kret-do { width: 12.5rem; max-width: 12.5rem; }
#tblKretanja.tura-stavke-grid .form-input.kret-km-od,
#tblKretanja.tura-stavke-grid .form-input.kret-km-do { width: 10rem; max-width: 10rem; }
#tblKretanja.tura-stavke-grid .form-input.kret-km-raz { width: 5rem; max-width: 5rem; }
#tblKretanja.tura-stavke-grid .form-input.kret-br-dnev { width: 6rem; max-width: 6rem; min-width: 6rem; }
#tblKretanja.tura-stavke-grid .form-input.kret-iznos-dnev { width: 8rem; max-width: 8rem; }
#tblKretanja.tura-stavke-grid .form-input.kret-svrha { width: 100%; min-width: 8rem; max-width: none; }

/* Službeni troškovi: Zemlja / Vrsta / Iznos / Valuta / Kurs + … / Ukupno RSD; razmak 2 mm. */
#tblTroskovi.tura-stavke-grid {
  width: 100%;
  border-collapse: collapse;
}
#tblTroskovi.tura-stavke-grid th,
#tblTroskovi.tura-stavke-grid td {
  padding: 4px 1mm;
  width: 1%;
  white-space: nowrap;
}
#tblTroskovi.tura-stavke-grid th:last-child,
#tblTroskovi.tura-stavke-grid td:last-child {
  width: auto;
}
#tblTroskovi.tura-stavke-grid td:nth-child(3),
#tblTroskovi.tura-stavke-grid th:nth-child(3) {
  width: auto; /* Vrsta / opis uzima ostatak */
  white-space: normal;
}
#tblTroskovi.tura-stavke-grid .form-input.tros-zemlja { width: 6rem; max-width: 6rem; }
#tblTroskovi.tura-stavke-grid .form-input.tros-vrsta { width: 100%; min-width: 10rem; max-width: none; }
#tblTroskovi.tura-stavke-grid .form-input.tros-iznos { width: 8rem; max-width: 8rem; }
#tblTroskovi.tura-stavke-grid .form-input.tros-valuta { width: 5rem; max-width: 5rem; }
#tblTroskovi.tura-stavke-grid .form-input.tros-din { width: 9rem; max-width: 9rem; }
#tblTroskovi .form-kurs-wrap > .form-kurs { width: calc(12ch + 1.1rem); max-width: calc(14ch + 1.1rem); }

/* Službena Putni: uži Datum / Datum obračuna. */
#sluzbenaForm.kartica-form .form-row:not(.form-row-wide) > .form-input-date,
#sluzbenaForm.kartica-form .form-row:not(.form-row-wide) > input[type="date"],
#sluzbenaForm.kartica-form .form-row:not(.form-row-wide) > .rmx-date-wrap {
  width: 9.2rem;
  max-width: 9.2rem;
}

/* Brojcana polja — poravnanje desno (kartica ture i drugde gde se doda klasa). */
.form-input-num,
.form-kurs {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.tura-stavke-grid th.num {
  text-align: right;
}

/* Partneri — child tabele (Kontakti / Adrese / Aktivnosti). */
.partner-kontakti-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.partner-kontakti-title .btn-secondary-rmx {
  margin-left: auto;
  font-weight: 500;
}

.partner-kontakti-body {
  padding-top: 16px;
}

.partner-kontakti-grid.grid {
  width: 100%;
  font-size: calc(var(--rmx-font-size, 13px) + 2px);
}

.partner-kontakti-grid th,
.partner-kontakti-grid td {
  padding: 8px 12px;
  vertical-align: middle;
}

.partner-kontakti-aktivan {
  width: 5.5rem;
}

.partner-kontakti-akcije {
  width: 4.8rem;
  text-align: right;
  white-space: nowrap;
}

.partner-kontakti-akcije a {
  text-decoration: none;
  color: inherit;
}

.partner-kontakti-akcije .btn-icon-rmx {
  margin-left: 4px;
}

.partner-kontakti-body .empty-hint {
  margin: 12px 0 4px;
}

/* Kartica Partnera / CRM u iframe (dijalog na nalogu): bez shell traka. */
body.rmx-embed .app-topbar,
body.rmx-embed .app-menu,
body.rmx-embed .app-sidebar,
body.rmx-embed .app-status,
body.rmx-embed .app-side-flyout {
  display: none !important;
}

body.rmx-embed,
body.rmx-embed.app-body {
  height: 100vh;
  overflow: hidden;
}

body.rmx-embed .app-shell,
body.rmx-embed .app-content {
  display: flex;
  flex-direction: column;
  height: 100vh;
  width: 100%;
  margin: 0;
  padding: 0;
  min-height: 0;
}

body.rmx-embed .app-main {
  flex: 1;
  min-height: 0;
  padding: 8px;
  overflow: hidden;
}

body.rmx-embed:has(.kartica-page) .app-main {
  padding-bottom: 8px;
}

/* Novi kontakt iz naloga: visina = sadrzaj (bez 100vh i unutrasnjeg skrola). */
body.rmx-embed-short,
body.rmx-embed-short.app-body,
body.rmx-embed-short:has(.kartica-page),
body.rmx-embed-short:has(.kartica-page) .app-body {
  height: auto;
  overflow: visible;
}

body.rmx-embed-short .app-shell,
body.rmx-embed-short .app-content,
body.rmx-embed-short:has(.kartica-page) .app-shell,
body.rmx-embed-short:has(.kartica-page) .app-content,
body.rmx-embed-short:has(.kartica-page) .app-main {
  height: auto;
  flex: none;
  overflow: visible;
  min-height: 0;
}

body.rmx-embed-short .app-main {
  padding: 12px 12px 16px;
}

body.rmx-embed-short .kartica-page,
body.rmx-embed-short .kartica-form {
  flex: none;
  height: auto;
  min-height: 0;
  overflow: visible;
  gap: 12px;
}

body.rmx-embed-short .kartica-scroll {
  flex: none;
  min-height: 0;
  overflow: visible;
}

body.rmx-embed-short .form-textarea {
  min-height: 64px;
}

body.rmx-embed-short .kartica-actions {
  padding-top: 8px;
  padding-bottom: 6px;
}

/* Kartica partnera: Sifra, PIB, Maticni broj i taster Provera na SEF u jednom redu. */
.kartica-form .partner-sef-red {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 2mm;
}
.kartica-form .partner-sef-red > .form-row > .form-input {
  width: 9rem;
  max-width: 9rem;
}
.kartica-form .partner-sef-red > .form-row:first-child > .form-input {
  width: 5rem;
  max-width: 5rem;
}

/* Kartica ture, tab Putni: Nalozi ove ture (isti izgled kao dole na Boardu, skraceno). */
.tura-nalozi-toolbar {
  margin: 0 0 6px;
}
.tura-nalozi-scroll {
  max-height: 260px;
  overflow: auto;
}
/* Tab Putni: Nalozi ove ture ide do donje linije (iznad Snimi/Odustani); tabela skroluje unutra. */
.tura-tab-panel.active[data-panel="putni"] {
  flex: 1 1 auto;
  min-height: 0;
}
/* Gornji panel „Putni nalog“ se NIKAD ne skuplja — prilagodjava se samo tabela naloga ispod (korisnik 2026-09-25,
   tablet: tabela je sekla polja Vozac/RB tura). Ako prozor nije dovoljan ni za min. visinu tabele — tab skroluje (.kartica-scroll). */
.tura-tab-panel.active[data-panel="putni"] > .card-panel:not(#turaNaloziPanel) {
  flex: 0 0 auto;
}
#turaNaloziPanel {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
#turaNaloziPanel > .card-panel-body {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
#turaNaloziPanel .tura-nalozi-scroll {
  flex: 1 1 auto;
  max-height: none;
  min-height: 160px; /* bilo 260 — na tabletu gurao gornji panel (2026-09-25); ~2 reda naloga + zaglavlje */
}
.tura-nalozi-scroll .grid td {
  vertical-align: top;
}
.tura-nalozi-scroll thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}
.tura-nalozi-zbir td {
  font-weight: 650;
  border-top: 2px solid var(--rmx-edge);
}
/* Kolone: Broj siri (duzi brojevi), Partner umeren, Utovar/Istovar = datum + adresa. */
#tblTuraNalozi {
  table-layout: auto;
}
#tblTuraNalozi th,
#tblTuraNalozi td {
  white-space: nowrap;
}
#tblTuraNalozi th.tura-nal-broj,
#tblTuraNalozi td.tura-nal-broj {
  min-width: 9rem;
}
#tblTuraNalozi th.board-th-partner,
#tblTuraNalozi td.board-cell-partner {
  width: 200px;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
}
#tblTuraNalozi th.tura-nal-mesto,
#tblTuraNalozi td.tura-nal-mesto {
  width: 22%;
  max-width: 260px;
  white-space: normal;
}
#tblTuraNalozi .tura-nal-adresa {
  white-space: normal;
  word-break: break-word;
  color: #5b6570;
  font-size: 0.92em;
}

/* Kartica partnera: izbor firme iz NBS registra (vise pogodaka). */
.kartica-form .nbs-lista {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 14rem;
  overflow-y: auto;
  margin-top: 2px;
}
.kartica-form .nbs-lista .nbs-stavka {
  text-align: left;
  justify-content: flex-start;
  white-space: normal;
}
.kartica-form #sefPoruka,
.kartica-form #nbsPoruka,
.kartica-form .nbs-lista {
  max-width: 46rem;
}
.kartica-form .racuni-akcije {
  display: inline-flex;
  gap: 2mm;
}

/* Kurs NBS stiker: taster Preuzmi sa NBS ispod "Svi kursevi" */
button.home-sticker-btn {
  width: 100%;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  font: inherit;
  cursor: pointer;
}

button.home-sticker-btn:disabled {
  cursor: default;
  opacity: 0.6;
}

.home-sticker-status {
  flex-shrink: 0;
  padding: 4px 22px 6px 10px;
  border-top: 1px solid var(--rmx-edge);
  background: #fff;
  color: var(--rmx-text);
  font-size: 0.85em;
  text-align: center;
}

.home-sticker-status.is-greska {
  color: #b42318;
}

.podesavanja-widget-red-wrap {
  flex-wrap: wrap;
}

.podesavanja-widget-dodatno {
  display: flex;
  flex: 0 0 100%;
  gap: 12px;
  align-items: flex-start;
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid var(--rmx-edge);
  cursor: pointer;
}

/* Kartica ture — tab Isplata: levo polja obracuna, desno Realizacija (EUR) (2026-09-24). */
.isplata-layout {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.isplata-levo {
  flex: 1 1 auto;
  min-width: 0;
}
/* Tab Isplata: polja u 2/3/4 kolone po grupi (korisnik 2026-09-26). Label iznad (kartica pravilo). */
.isplata-grid {
  display: grid;
  gap: 2mm 5mm;
  align-items: end;
}
/* Brojevi fiksni 10rem; fleksibilni su samo tekst (opis) i Komentar/Napomena desno (korisnik 2026-09-29, Surface; ui_toolbar.md §7e). */
.isplata-grid-4 { grid-template-columns: repeat(4, 10rem); }
.isplata-grid-3 { grid-template-columns: repeat(3, 10rem); }
.isplata-grid-2 { grid-template-columns: repeat(2, minmax(14rem, 1fr)); }
.isplata-grid-1 { grid-template-columns: 1fr; }
/* Zarada vozaca (tab Isplata): Opis + FTL/LTL | Osnova € | % | Zarada € po smeru (korisnik 2026-09-27).
   Vezano: Pages/Ture/Kartica.cshtml okvir Zarada vozaca, obracun.*_opis / *_utovar (SQL 103). */
/* Prva kolona 30rem (bila 22rem): sire polje opisa odlaska/povratka, ostala polja se samo pomeraju (korisnik 2026-09-27).
   Polje Bonusi / umanjenja € = sirina iznosa kao ostala polja, 10rem (korisnik 2026-09-27: „samo za iznos“). */
/* Opis odlaska/povratka (tekst) 16-30rem, iznosi fiksni 10rem (korisnik 2026-09-29, Surface; ui_toolbar.md §7e). */
.isplata-grid-zarada { grid-template-columns: minmax(16rem, 30rem) repeat(3, 10rem); }
.tura-kartica-form .isplata-grid-zarada .form-row:not(.form-row-wide) > .isp-kor { max-width: 10rem; }
.tura-kartica-form .isplata-grid .isp-opis-wrap { display: flex; gap: 4px; width: 100%; min-width: 0; }
.tura-kartica-form .isplata-grid .isp-opis-wrap > input.form-input { flex: 1 1 auto; width: auto; min-width: 0; max-width: none; }
.tura-kartica-form .isplata-grid .isp-opis-wrap > select.isp-utovar { flex: 0 0 4.6rem; width: 4.6rem; min-width: 0; max-width: none; }
/* Put i gorivo: polja levo, Komentar desno preko oba reda (korisnik 2026-09-26). */
.isplata-put-red { display: flex; flex-wrap: wrap; gap: 6mm; align-items: stretch; }
/* Mreza polja se skuplja samo do svog minimuma (opis 16rem); Komentar/Napomena uzima ostatak, a kad nema mesta
   prelazi ispod (wrap) — nikad preklapanje (korisnik 2026-09-29, Surface; ui_toolbar.md §7e). */
.isplata-put-red > .isplata-grid { flex: 0 1 auto; }
.isplata-put-red > .isplata-komentar {
  flex: 1 1 14rem; /* fleksibilan: ostatak reda (korisnik 2026-09-29, Surface; ui_toolbar.md §7e) */
  margin-left: auto;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 14rem;
}
.tura-kartica-form .isplata-put-red > .isplata-komentar > textarea.form-input {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  min-height: 3.5rem;
  resize: vertical;
  box-sizing: border-box;
}
.isplata-put-red > .isplata-komentar > label {
  text-align: left;
  font-size: var(--rmx-label-font-size);
  font-weight: 600;
  color: #4a5560;
}
@media (max-width: 1100px) { .isplata-put-red { flex-direction: column; } .isplata-put-red > .isplata-komentar { margin-left: 0; } }
.isplata-grid .form-row { grid-template-columns: 1fr; gap: 3px; }
.isplata-grid .form-row label {
  text-align: left;
  font-size: var(--rmx-label-font-size);
  font-weight: 600;
  color: #4a5560;
}
/* Jace od opsteg .tura-kartica-form .form-row:not(.form-row-wide) > .form-input (16rem) i > input[type=date]:
   polje popunjava svoju kolonu, bez preklapanja (korisnik 2026-09-26: „ne valja“ — brojevi odseceni). */
.tura-kartica-form .isplata-grid .form-row:not(.form-row-wide) > .form-input,
.tura-kartica-form .isplata-grid .form-row:not(.form-row-wide) > .form-kurs-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.tura-kartica-form .isplata-grid .form-kurs-wrap { display: flex; gap: 4px; }
.tura-kartica-form .isplata-grid .form-kurs-wrap > .form-kurs { flex: 1 1 auto; width: auto; min-width: 0; max-width: none; }
.tura-kartica-form .isplata-grid textarea.form-input { width: 100%; max-width: 100%; }
/* Datum obracuna iste sirine kao polje Lit = cela kolona (korisnik 2026-09-26). Opste pravilo za datum
   (input[type=date] / JS omotac .rmx-date-wrap, ui.datum) ga je siroilo preko kolone. */
.tura-kartica-form .isplata-grid .form-row:not(.form-row-wide) > input[type="date"],
.tura-kartica-form .isplata-grid .form-row:not(.form-row-wide) > .rmx-date-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.tura-kartica-form .isplata-grid .rmx-date-wrap > input[type="date"] { width: 100%; max-width: 100%; }
.isplata-grid .isp-bop { font-size: 0.92em; }
/* Porez (BOP) na tabu Dnevnice: BOP broj (~17-20 cifara) nije stao u 10rem — prva kolona 18rem (korisnik 2026-09-26).
   Vezano: Pages/Ture/Kartica.cshtml blok Porez (BOP), polje .isp-bop (:has = bez izmene cshtml / rebuild-a). */
.isplata-grid-3:has(.isp-bop) { grid-template-columns: 18rem 10rem 10rem; }
@media (max-width: 1100px) {
  .isplata-grid-4 { grid-template-columns: repeat(2, minmax(9rem, 1fr)); }
  .isplata-grid-3 { grid-template-columns: repeat(2, minmax(9rem, 1fr)); }
  .isplata-grid-zarada { grid-template-columns: repeat(2, minmax(9rem, 1fr)); }
}
.isplata-desno {
  flex: 0 0 420px;
  position: sticky;
  top: 0;
}
.tura-realizacija-grid {
  width: 100%;
}
.tura-realizacija-grid td.num {
  text-align: right;
  white-space: nowrap;
}
.tura-realizacija-grid tr.row-sum td {
  border-top: 2px solid var(--rmx-edge);
}
@media (max-width: 1100px) {
  .isplata-layout { flex-direction: column; }
  .isplata-desno { flex-basis: auto; width: 100%; position: static; }
}

/* Lista Ture — pregled tab Putni: desno Realizacija (EUR), isti stil kao pregled (2026-09-24). */
.tura-preview-split {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
.tura-preview-split-main {
  flex: 1 1 auto;
  min-width: 0;
}
.tura-preview-real {
  flex: 0 0 300px;
  border-left: 1px solid var(--rmx-edge);
  padding-left: 16px;
}
.tura-preview-real-title {
  font-weight: 650;
  margin: 0 0 6px;
}
.preview-grid.preview-grid-1 {
  grid-template-columns: 1fr;
  gap: 4px;
}
.tura-preview-real .preview-row {
  grid-template-columns: 9rem 1fr;
}
.tura-preview-real-sum .preview-label,
.tura-preview-real-sum .preview-val {
  font-weight: 700;
  color: var(--rmx-text);
}
@media (max-width: 1000px) {
  .tura-preview-split { flex-direction: column; }
  .tura-preview-real { border-left: 0; padding-left: 0; flex-basis: auto; }
}

/* Bocni meni — izbor tastaturom (2026-09-25): isto kao hover (narandzasto + bela). */
.app-sidebar .app-side-link:focus-visible,
.app-sidebar .app-side-summary:focus-visible,
.app-sidebar .app-side-sub a:focus-visible,
.app-side-flyout a:focus-visible {
  background: #ff9a2e;
  color: #fff;
  outline: none;
}

/* Kartica — tab izabran tastaturom (2026-09-25): ista svetla boja kao hover taba (#ffe8cc), korisnik izabrao. */
button[data-tab]:focus-visible {
  outline: none;
  background: #ffe8cc;
  color: #222;
  border-radius: var(--rmx-radius-panel, 8px) var(--rmx-radius-panel, 8px) 0 0;
}
/* Dok je tab izabran tastaturom — hover misa na ostalim tabovima se ne vidi (samo jedna oznaka, korisnik 2026-09-25). */
*:has(> button[data-tab]:focus-visible) > .tura-tab:hover:not(:focus-visible) {
  background: transparent;
  color: var(--rmx-muted);
}
*:has(> button[data-tab]:focus-visible) > .tura-tab.active:hover:not(:focus-visible) {
  color: var(--rmx-charcoal);
}

/* Tura sa nalozima (2026-09-25): Datum / Kamion / Prikolica / Vozac zakljucani — siva pozadina, ali slova ostaju
   tamna kao pre zakljucavanja (korisnik: ne posvetljavati). Disabled select u browseru inace sivi tekst.
   Broj (#turaBroj, uvek zakljucan od 2026-10-06) isto tamno — korisnik: „istog fonta kao i ostali readonly oko njega“. */
.tura-putni-dve select.form-input-locked:disabled,
.tura-putni-dve input.form-input-locked[name="T.DatumTure"],
.tura-putni-dve input.form-input-locked#turaBroj,
.tura-putni-dve .rmx-date-prikaz.form-input-locked {
  color: var(--rmx-text);
  -webkit-text-fill-color: var(--rmx-text);
  opacity: 1;
}

/* Refakcija akcize (/Refakcija, korisnik 2026-09-26): umetnuti redovi po vozilu (Pocetno stanje, Zalihe kraj /
   pocetak, Ostalo) sivo i kurzivom — da se odvoje od tocenja, kao u Excel Akciza26. Klasa: Pages/Refakcija/Index.cshtml. */
.grid tr.akciza-umetnut > td { background: #f1f3f5; font-style: italic; color: #495057; }

/* Broj naloga + ID naloga (varijanta C, korisnik 2026-09-30): ID samo u izmeni, kao TEKST u posebnoj koloni; kutija iste
   visine kao polje (providna ivica + isti padding) pa labela i tekst stoje u liniji sa brojem. /Angazovani/Kartica link na
   /Nalozi/Kartica, /Nalozi/Kartica obican tekst. Varijanta A = isti ID u naslovu panela (.panel-title-id). */
.broj-id-par { display: flex; align-items: stretch; gap: 2mm; min-width: 0; }
/* Oba reda iste visine (stretch); drugi red = prostor polja, link centriran u njemu — labele u istoj liniji. */
.broj-id-par > .form-row { min-width: 0; grid-template-rows: auto 1fr; }
.broj-id-par > input.form-input { flex: 1 1 auto; min-width: 0; }
.kartica-form a.nalog-id-link, .kartica-form .nalog-id-ro {
  display: inline-flex; align-items: center; gap: 3px; align-self: center; justify-self: start;
  text-align: left; white-space: nowrap;
}
/* Ikonica „otvori“ (kvadrat sa strelicom) uz ID naloga — isti znak u naslovu panela i pored broja. */
.ico-otvori { width: 0.95em; height: 0.95em; flex: 0 0 auto; vertical-align: -0.1em; }
.kartica-form a.nalog-id-link { color: #0b57d0; text-decoration: underline; cursor: pointer; }
.kartica-form a.nalog-id-link:hover { color: #ff9a2e; }
.kartica-form .nalog-id-ro { color: #555; }
.card-panel-title.panel-title-id { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.card-panel-title .panel-id { font-weight: 400; font-size: 0.92em; color: #c9ced6; white-space: nowrap; }
.card-panel-title .panel-id a { color: #9cc3ff; text-decoration: underline; }
/* Hover na tamnom naslovu: svetlija narandzasta (korisnik 2026-09-30: #ff9a2e prejak na tamnoj traci). */
.card-panel-title .panel-id a:hover { color: #ffc680; }

/* Prozor raspodele uplate kupca (Pages/Shared/_RaspodelaDlg.cshtml, wwwroot/js/rmx-raspodela.js — plan_uplate_placanja.md
   F2, 2026-10-05). Širi od DA/NE dijaloga (tabela faktura), visina do 92vh, tabela skroluje, zbir i tasteri uvek vidljivi. */
.confirm-box.rasp-box {
  width: min(1100px, 100%);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
}
.rasp-glava {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 2mm;
  background: #e8eaed;
  border-radius: 6px;
  padding: 6px 10px;
  margin-bottom: 2mm;
  line-height: 1.35;
}
.rasp-lab {
  font-size: var(--rmx-label-font-size, 10px);
  font-weight: 600;
  color: #4a5560;
  margin-right: 4px;
}
.rasp-siv { color: var(--rmx-muted); }
.rasp-filteri {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1mm 3mm;
  margin-bottom: 2mm;
}
.rasp-filteri .check-line { margin: 0; }
.rasp-trazi-polje input { width: 16rem; }
.rasp-filteri-desno { margin-left: auto; display: flex; gap: 1mm; }
.rasp-upozorenje {
  background: #fff3cd;
  border: 1px solid #e0b400;
  border-radius: 6px;
  padding: 5px 10px;
  margin-bottom: 2mm;
  color: #5a4500;
}
.rasp-tabela-wrap {
  flex: 1 1 auto;
  min-height: 6rem;
  max-height: 52vh;
  overflow: auto;
  border: 1px solid var(--rmx-edge);
  border-radius: 6px;
  background: #fff;
}
.rasp-tabela { width: 100%; }
.rasp-tabela thead th { position: sticky; top: 0; z-index: 1; }
.rasp-tabela td { white-space: nowrap; }
.rasp-tabela .rasp-otvoreno { cursor: pointer; text-decoration: underline dotted; }
.rasp-tabela .rasp-otvoreno:hover { color: #1a5fb4; }
.rasp-tabela .rasp-unos { width: 8.5rem; text-align: right; }
.rasp-tabela .rasp-unos.rasp-los { border-color: #c62828; background: #fdecea; }
.rasp-tabela tr.rasp-tudja td { background: #fff8e1; }
.rasp-zbir {
  display: flex;
  justify-content: flex-end;
  gap: 6mm;
  margin: 2mm 0;
}
.rasp-zbir .rasp-minus { color: #c62828; }
/* Isti prozor, režim „nova uplata“ = uplata pre izvoda (plan_uplate_placanja.md §1.16, korisnik 2026-10-08): polja Kupac /
   Valuta / Datum uplate / Iznos / Napomena umesto glave stavke; labeli iznad polja (kartica §7), razmak 1 mm polje ↔ polje.
   Ispod glave stavke: uplate kupca koje čekaju izvod sa tasterom Poveži (.rasp-ceka). JS: wwwroot/js/rmx-raspodela.js. */
.rasp-nova {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1mm;
  background: #e8eaed;
  border-radius: 6px;
  padding: 6px 10px;
  margin-bottom: 2mm;
}
.rasp-nova-polje { display: flex; flex-direction: column; }
.rasp-nova-polje label { font-size: var(--rmx-label-font-size, 10px); font-weight: 600; color: #4a5560; }
.rasp-nova-kupac { width: min(28rem, 100%); }
.rasp-nova-kupac .partner-typeahead { width: 100%; }
.rasp-nova-napomena { flex: 1 1 14rem; }
.rasp-nova-napomena input { width: 100%; }
.rasp-nova-kupac-txt { font-weight: 600; padding: 4px 0; }
.rasp-nova-hint { flex-basis: 100%; color: var(--rmx-muted); }
.rasp-ceka {
  background: #fff8e1;
  border: 1px solid #e0b400;
  border-radius: 6px;
  padding: 5px 10px;
  margin-bottom: 2mm;
}
.rasp-ceka table { width: 100%; }
/* Kontejner Plaćanja na /Fakture/Kartica i oznaka raspodele pored stavke na /Izvodi/Kartica (isti F2). */
/* Panel Plaćanje preko cele širine (korisnik 2026-10-06: „po širini celog ekrana … tabela floatuje dole ako je ekran manji“):
   kolona zauzima oba stupca .faktura-glava (SEF fajlovi D-fakture su od 2026-10-06 gore, ispod Kupca); u panelu levo polja,
   desno tabela uplata — kad okvir polja (širina po sadržaju) + 36rem tabele ne staju, tabela pada ispod i širi se
   (flex-wrap). Pages/Fakture/Kartica.cshtml. */
.faktura-glava > .faktura-placanje-kol { grid-column: 1 / -1; }
.faktura-placanje-telo { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 2mm 6mm; }
/* Polja u svom okviru (korisnik 2026-10-06: „stavi ovaj deo u podkvadratić kontejner“) — izgled kao .toolbar / paneli
   (ivica, krivina --rmx-radius-panel, unutrašnji razmak 2 mm); širina po sadržaju (dve kolone polja). */
.faktura-placanje-polja {
  flex: 0 0 auto;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  background: var(--rmx-panel);
  border: 1px solid var(--rmx-edge);
  border-radius: var(--rmx-radius-panel);
  padding: 2mm;
}
.faktura-placanje-polja .form-grid { margin: 0; }
.faktura-placanje-polja #fuExcel { margin-bottom: 0 !important; }
.faktura-placanje-uplate { flex: 1 1 36rem; min-width: 0; }
.faktura-uplate-zbir { display: flex; gap: 6mm; margin-bottom: 2mm; }
.faktura-uplate-zbir strong { font-weight: 650; }
.faktura-uplate-rucni { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1mm; margin-top: 2mm; }
.faktura-uplate-rucni .form-row { margin: 0; }
/* Ikonica Raspodela pored × na /Izvodi/Kartica (jedan red, ne širi kolonu): siva = nije, narandžasta = deo, zelena = sve. */
/* Raspodela i × u istoj liniji (korisnik 2026-10-09: „nisu u liniji“): inline-flex tasteri bi se poravnali po osnovnoj
   liniji (ikonica / znak ×) — middle ih stavlja na istu visinu. Kolona 76 px u Pages/Izvodi/Kartica.cshtml (colgroup). */
.izvod-akcije-cell { white-space: nowrap; }
.izvod-akcije-cell .btn-icon-rmx { vertical-align: middle; }
.izvod-rasp-btn { margin-right: 4px; }
.izvod-rasp-btn.rasp-puno { color: #2e7d32; border-color: #9ccfa8; background: #e6f4ea; }
.izvod-rasp-btn.rasp-deo { color: #a15c00; border-color: #e0b400; background: #fff3cd; }

/* Lista /Placanja (F2, 2026-10-05): fiksan raspored, duge kolone (Partner, Opis, Banka…) skraćene sa „…“ i title,
   da iznosi desno uvek stanu (slika korisnika: Iznos / Raspoređeno / Ostatak su bili van ekrana). Pages/Placanja/Index.cshtml. */
#tblPlacanja { table-layout: fixed; width: 100%; }
#tblPlacanja tr.lista-row > td { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }  /* pregled ispod reda nije skraćen */

/* Interni komentar / napomena — crvena slova (korisnik 2026-10-07: „Komentari (interni) ili Napomene (interno) moraju imati
   crveni font“). Ista crvena kao napomena partnera na fakturi (.faktura-kupac-napomena-tekst). Klasa rmx-interni: textarea
   Komentar (interni) na /Nalozi/Kartica i /Angazovani/Kartica, polje u pregledu ispod reda /Nalozi i /Angazovani
   (fld extraCls), Board pregled naloga (board-nd-k). Novo interno polje = ista klasa. */
.form-input.rmx-interni,
.row-detail .rmx-interni .nalog-fld-val,
.board-nd-k.rmx-interni .board-nd-tekst {
  color: #c92a2a;
}

/* ========== TELEFON — okvir (korisnik 2026-10-07: „hoću i mobilni da lepo prikazuje“; zatim „na tel ne mora kao na desktop
   stiker prozori … nađi nešto ali da je u stilu RMX Web“ → predlog sa slike, obrazac RMX TMS, „da, kreni po predlogu“) ==========
   Samo ekran do 700 px — ista granica kao window.rmxJeTelefon u _Layout.cshtml <head> (menjati zajedno). PC izgled se ne
   menja. Blok je namerno na kraju fajla (pobedjuje ranija pravila iste jacine). Pravilo: docs/ui_toolbar.md §7f.
   - Gornja traka: logo + RMX | firma, desno godina i Beleška (ikonica + broj); ☰, ime korisnika, Izlaz i donja statusna
     traka se ne vide (Izlaz i verzija su na dnu fioke — _ShellSidebar .app-side-tel).
   - Donji meni (_Layout .app-donji-meni): Početna · Board · Nalozi · Tracking · Više (= fioka bocnog menija).
   - Bocni meni = fioka iznad donjeg menija (html.rmx-mob-meni), uvek sa tekstom i podmenijima; skupljen meni sa PC-a
     (html.sidebar-collapsed) se ovde ne primenjuje, flyout se ne koristi. JS u _Layout.cshtml (bocni meni).
   - Pocetna: plocice + rokovi (Index.cshtml .home-tel) umesto stikera. */

/* Van telefona: delovi samo za telefon se ne vide. */
.app-brand-ico,
.app-ico-tel,
.app-donji-meni,
.app-side-tel,
.home-tel,
.app-mob-pozadina { display: none; }
/* „Ikonica na telefonu“ u podmeniju Podesavanja (2026-10-08): .app-side-sub a / .app-menu-panel a su jaci od .app-side-tel,
   zato posebno pravilo; prikaz na telefonu dole u @media (isti selektor). Stavka: _ShellSidebar / _ShellTopMenu. */
.app-side-sub a.app-side-tel,
.app-menu-panel a.app-side-tel { display: none; }

/* Bocne sistemske ivice (iPhone polozen, „notch“) — uz viewport-fit=cover (_Layout.cshtml, 2026-10-09) sadrzaj ne ide
   ispod njih; na PC-u i bez notch-a env() = 0. */
.app-body {
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
}

@media (max-width: 700px) {
  /* --rmx-tel-dno = deo ekrana ispod sistemske donje trake (korisnik 2026-10-09, Samsung S25: Snimi / Odustani ispod trake
     i kod navigacije pokretima i kod 3 tastera). Chrome (od 135) pusta stranu ispod trake; safe-area-max-inset-bottom je
     stalna vrednost od prvog crtanja (safe-area-inset-bottom ume da bude 0 do prvog skrola), iPhone / ostali = inset-bottom.
     Radi samo uz viewport-fit=cover (_Layout.cshtml). Koriste je donji meni, --rmx-tel-dole (liste, „+“), dno kartice,
     fioka menija na kartici i dijalozi — menjati zajedno. --rmx-tel-top = gornja traka + statusna traka kad strana ide
     ispod nje (inace 0). */
  :root {
    --rmx-tel-dno: env(safe-area-max-inset-bottom, env(safe-area-inset-bottom, 0px));
    --rmx-tel-top: calc(48px + env(safe-area-inset-top, 0px));
    --rmx-tel-dole: calc(58px + var(--rmx-tel-dno));
  }
  /* --rmx-vis = innerHeight (_Layout.cshtml <head>, 2026-10-09): u aplikaciji sa ikonice (S25) 100dvh za stranu = prozor +
     donja sistemska traka (merenje RMX-EKRAN: 710 umesto 653) — strana se pomerala za visinu trake. 100dvh = rezerva. */
  .app-body { min-height: var(--rmx-vis, 100dvh); }

  /* Gornja traka */
  .app-topbar {
    position: sticky;
    top: 0;
    z-index: 1600;
    height: var(--rmx-tel-top);
    /* Statusna traka telefona iznad (viewport-fit=cover, 2026-10-09): visina = 48 px + razmak, box-sizing border-box. */
    padding: env(safe-area-inset-top, 0px) 10px 0;
    gap: 8px;
  }
  .app-topbar-left { flex: 1 1 auto; gap: 8px; }
  .app-topbar-right { flex: 0 0 auto; gap: 8px; }
  .app-brand-ico { display: block; width: 26px; height: 26px; border-radius: 5px; flex: 0 0 26px; }
  .app-firma { max-width: none; min-width: 0; flex: 1 1 auto; }
  .app-firma + .app-sep { display: none; }
  .app-sidebar-toggle,
  .app-user,
  .app-top-link,
  .app-logout-form { display: none; }
  .top-beleska-group { position: relative; }
  .btn-top-beleska { min-width: 0; width: 38px; height: 34px; padding: 0; border-radius: 6px; }
  .btn-top-beleska .app-txt-pc { display: none; }
  .app-ico-tel {
    display: block;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .top-beleska-group .beleska-bedz {
    position: absolute;
    top: -5px;
    right: -6px;
    height: 17px;
    min-width: 17px;
    padding: 0 5px;
    border-radius: 9px;
    font-size: 10px;
  }

  /* Donji meni */
  .app-donji-meni {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1600;
    height: var(--rmx-tel-dole);
    padding-bottom: var(--rmx-tel-dno);
    background: linear-gradient(180deg, #2a313a 0%, #1e242c 100%);
    border-top: 1px solid #000;
  }
  .app-donji-meni a,
  .app-donji-meni button {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    font-size: 11px;
    color: #a8b0b8;
    text-decoration: none;
    cursor: pointer;
  }
  .app-donji-meni svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .app-donji-meni .active,
  html.rmx-mob-meni #btnMobVise { color: #ff9a2e; font-weight: 600; }
  /* Kartice: dole su Snimi / Odustani — donjeg menija nema (kao RMX TMS). */
  body:has(.kartica-page) .app-donji-meni,
  body:has(.nalog-kartica-page) .app-donji-meni,
  body:has(.tura-kartica-page) .app-donji-meni { display: none; }

  /* Fioka menija (zatvorena = van ekrana i nevidljiva za Tab; otvara se klizanjem sleva, iznad donjeg menija). */
  body.shell-mode-sidebar .app-sidebar {
    position: fixed;
    top: var(--rmx-tel-top);
    left: 0;
    bottom: var(--rmx-tel-dole);
    width: min(290px, 86vw);
    z-index: 1500;
    transform: translateX(-102%);
    visibility: hidden;
    transition: transform 0.18s ease, visibility 0s linear 0.18s;
    overscroll-behavior: contain;
  }
  body.shell-mode-sidebar:has(.kartica-page) .app-sidebar,
  body.shell-mode-sidebar:has(.nalog-kartica-page) .app-sidebar,
  body.shell-mode-sidebar:has(.tura-kartica-page) .app-sidebar { bottom: var(--rmx-tel-dno); }
  html.rmx-mob-meni body.shell-mode-sidebar .app-sidebar {
    transform: none;
    visibility: visible;
    transition: transform 0.18s ease;
    box-shadow: 4px 0 18px rgba(0, 0, 0, 0.45);
  }
  html.sidebar-collapsed body .app-sidebar .app-side-text { display: block !important; }
  html.sidebar-collapsed body .app-sidebar .app-side-sub { display: flex !important; }
  html.sidebar-collapsed body .app-sidebar .app-side-link,
  html.sidebar-collapsed body .app-sidebar .app-side-summary {
    justify-content: flex-start;
    padding: 8px 12px;
    gap: 12px;
  }
  .app-side-sub a { padding-top: 10px; padding-bottom: 10px; }
  .app-side-flyout { display: none !important; }
  .app-side-tel { display: block; }
  .app-side-sub a.app-side-tel,
  .app-menu-panel a.app-side-tel { display: block; }
  .app-side-tel .app-side-link {
    width: 100%;
    border: 0;
    background: none;
    font: inherit;
    text-align: left;
  }
  .app-side-tel.app-side-verzija {
    padding: 10px 12px 4px;
    color: #8a929c;
    font-size: 11px;
    border-top: 1px solid #3a424c;
    margin-top: 6px;
  }
  .app-mob-pozadina {
    position: fixed;
    top: var(--rmx-tel-top);
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1400;
    background: rgba(0, 0, 0, 0.35);
  }
  html.rmx-mob-meni .app-mob-pozadina { display: block; }

  /* Sadrzaj */
  .app-main { padding: 10px 10px calc(var(--rmx-tel-dole) + 12px); }
  body:has(.kartica-page) .app-main,
  body:has(.nalog-kartica-page) .app-main,
  body:has(.tura-kartica-page) .app-main { padding-bottom: 8px; }
  .page-head { flex-wrap: wrap; row-gap: 2px; }
  .app-status { display: none; }

  /* Pocetna na telefonu (Index.cshtml .home-tel): plocice umesto stikera. Bez .home-tel (sirok PC prozor suzen ispod
     700 px) stikeri ostaju jedan ispod drugog. */
  .home-page { flex: 0 0 auto; }
  .home-page:has(.home-tel) .page-note,
  .home-page:has(.home-tel) .home-welcome,
  body:has(.home-tel) .home-stickers { display: none; }
  .home-tel { display: block; }
  .home-tel-datum { margin: -6px 2px 10px; color: var(--rmx-muted); font-size: 12px; }
  .home-tel-plocice { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .home-tel-plocica {
    display: block;
    background: #fff;
    border: 1px solid var(--rmx-edge);
    border-radius: var(--rmx-radius-panel, 8px);
    padding: 10px 12px 9px;
    color: var(--rmx-text);
    text-decoration: none;
  }
  .home-tel-plocica b { display: block; font-size: 22px; font-weight: 650; line-height: 1.15; }
  .home-tel-plocica span { color: var(--rmx-muted); font-size: 12px; }
  .home-tel-plocica:active { background: #ffe8cc; }
  /* Obicne bele plocice kao Kamioni (korisnik 2026-10-08: „plocice ne moraju sa naslovom i tamnim prozor“) — bez obojene
     ivice levo; samo broj rokova koji isticu je narandzast kad ih ima. */
  .home-tel-plocica.tel-narandzasta b { color: #a15c00; }
  /* Varijanta 1 (korisnik 2026-10-08): siva ikonica gore desno; kod rokova narandzasta kad ih ima; kurs manjim brojem
     (dug broj staje u pola sirine). */
  .home-tel-plocica { position: relative; }
  .home-tel-ico {
    position: absolute; top: 9px; right: 9px; width: 18px; height: 18px; color: var(--rmx-edge);
    fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;
  }
  .home-tel-plocica.tel-narandzasta .home-tel-ico { color: #ff9a2e; }
  .home-tel-plocica.tel-kurs b { font-size: 17px; padding-top: 4px; }
  .home-tel-panel {
    margin-top: 10px;
    border: 1px solid var(--rmx-edge);
    border-radius: var(--rmx-radius-panel, 8px);
    overflow: hidden;
    background: #fff;
  }
  .home-tel-panel-naslov {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(180deg, #2a313a 0%, #1e242c 100%);
    color: #e8eaed;
    padding: 7px 12px;
    font-weight: 650;
  }
  .home-tel-panel-naslov a { color: #c5cad1; font-weight: 400; font-size: 12px; text-decoration: none; }
  .home-tel-red {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1px 8px;
    padding: 8px 12px;
    border-top: 1px solid #e3e6ea;
    color: var(--rmx-text);
    text-decoration: none;
  }
  .home-tel-panel-naslov + .home-tel-red { border-top: 0; }
  .home-tel-red b { font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .home-tel-red small { grid-column: 1 / -1; color: var(--rmx-muted); }
  .home-tel-red .tel-hitno { color: var(--rmx-red); font-weight: 600; }
  .home-tel-red .tel-uskoro { color: #a15c00; font-weight: 600; }

  /* Stikeri kad nema .home-tel: jedan ispod drugog, puna sirina, bez pomeranja (JS Index.cshtml ne snima pozicije). */
  .home-stickers {
    position: static;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
    pointer-events: auto;
  }
  .home-stickers .home-sticker,
  .home-stickers .home-sticker.is-sized {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    height: auto !important;
    max-height: 340px;
  }
  .home-sticker-head { cursor: default; touch-action: auto; }
  .home-sticker-resize { display: none; }

  /* Prijava: na telefonu ista kartica (labeli su iznad polja u osnovnom stilu, 2026-10-07). */
  .login-body { padding: 8vh 14px 16px; align-items: flex-start; }
}

/* ========== TELEFON — Nalozi i Board kao kartice (korisnik 2026-10-07, predlog sa slike „da, kreni po predlogu“) ==========
   Samo do 700 px (ista granica kao blok iznad i rmxJeTelefon). Tabela ostaje ista (isti JS izbora / pregleda / pretrage);
   CSS svaki red crta kao karticu: ivica levo = status (boje kao .status-dot-*), red pregleda ispod (.partner-detail-row)
   preko cele sirine. /Nalozi: celije po data-col (Pages/Nalozi/Index.cshtml) — nova kolona = dodati ovde (ili sakriti).
   Board: kolone po redosledu (#tblTure iz Pages/Board/Index.cshtml, #tblNalozi iz JS renderNalozi — menjati zajedno);
   strana skroluje cela (bez razdelnika), blok rokova je na Pocetnoj. Sakriveno na telefonu: zaglavlje kolona, strelice
   gore / dole, Trazi (pretraga radi dok se kuca), Brisanje, Izvoz; Novi = narandzasto + dole desno. */
@media (max-width: 700px) {
  /* --- zajednicko: kartica reda --- */
  .partneri-page #tblNalozi,
  .partneri-page #tblNalozi tbody,
  .board-page #tblTure,
  .board-page #tblTure tbody,
  .board-page #tblNalozi,
  .board-page #tblNalozi tbody { display: block; width: auto !important; }
  .partneri-page #tblNalozi thead,
  .board-page #tblTure thead,
  .board-page #tblNalozi thead { display: none; }
  .partneri-page #tblNalozi tbody tr.lista-row,
  .board-page #tblTure tbody tr.tura-row,
  .board-page #tblNalozi tbody tr.nalog-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 8px;
    background: #fff;
    border: 1px solid var(--rmx-edge);
    border-radius: var(--rmx-radius-panel, 8px);
    margin: 0 0 8px;
    padding: 9px 12px 9px 15px;
    box-shadow: inset 5px 0 0 #868e96;
  }
  .partneri-page #tblNalozi tbody tr.lista-row > td,
  .board-page #tblTure tbody tr.tura-row > td,
  .board-page #tblNalozi tbody tr.nalog-row > td {
    display: block;
    padding: 0;
    border: 0;
    background: transparent !important;
    min-width: 0;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
    font-size: 13px;
  }
  .partneri-page #tblNalozi tbody tr.lista-row > td:empty,
  .board-page #tblTure tbody tr.tura-row > td:empty,
  .board-page #tblNalozi tbody tr.nalog-row > td:empty { display: none; }
  /* Ivica = status (zeleno aktivan / utovaren, narandzasto istovaren, crveno otkazan, sivo ostalo). */
  .partneri-page #tblNalozi tbody tr.lista-row[data-status="Aktivan"],
  .partneri-page #tblNalozi tbody tr.lista-row[data-status^="Utovaren"],
  .board-page #tblTure tbody tr.tura-row.row-status-aktivan,
  .board-page #tblNalozi tbody tr.nalog-row.row-status-aktivan { box-shadow: inset 5px 0 0 #2f9e44; }
  .partneri-page #tblNalozi tbody tr.lista-row[data-status^="Istovaren"] { box-shadow: inset 5px 0 0 #fd7e14; }
  .partneri-page #tblNalozi tbody tr.lista-row[data-status="Otkazan"],
  .board-page #tblTure tbody tr.tura-row.row-status-otkazan,
  .board-page #tblNalozi tbody tr.nalog-row.row-status-otkazan { box-shadow: inset 5px 0 0 #c92a2a; }
  /* Izabran red = tamni okvir (pozadina ostaje bela). */
  .partneri-page #tblNalozi tbody tr.lista-row.is-selected,
  .board-page #tblTure tbody tr.tura-row.row-selected,
  .board-page #tblNalozi tbody tr.nalog-row.row-selected { border-color: #1e242c; outline: 1px solid #1e242c; }
  /* Status = mala pilula (loptica ostaje). */
  .partneri-page #tblNalozi tbody tr.lista-row > td.status-cell,
  .board-page #tblTure tbody tr.tura-row > td.status-cell,
  .board-page #tblNalozi tbody tr.nalog-row > td.status-cell {
    flex: 0 0 auto;
    margin-left: auto;
    background: #eef0f3 !important;
    border-radius: 10px;
    padding: 1px 8px;
    font-size: 11px;
    font-weight: 600;
  }
  /* Pregled ispod reda (klik) i trake sekcija preko cele sirine. */
  .partneri-page #tblNalozi tbody tr.partner-detail-row,
  .board-page #tblTure tbody tr.partner-detail-row,
  .board-page #tblNalozi tbody tr.partner-detail-row { display: block; margin: -4px 0 10px; }
  .partneri-page #tblNalozi tbody tr.partner-detail-row > td,
  .board-page #tblTure tbody tr.partner-detail-row > td,
  .board-page #tblNalozi tbody tr.partner-detail-row > td { display: block; padding: 0; border: 0; }
  .partneri-page #tblNalozi tbody tr.lista-grupa-red { display: block; margin: 2px 0 8px; }
  .partneri-page #tblNalozi tbody tr.lista-grupa-red > td {
    display: block;
    background: #ded3b4 !important;
    color: #41371f;
    border: 1px solid #c8b788;
    border-radius: 6px;
    padding: 5px 10px;
    font-weight: 600;
  }

  /* --- /Nalozi --- */
  .partneri-page:has(#tblNalozi) .page-note,
  .partneri-page:has(#tblNalozi) #btnScrollTop,
  .partneri-page:has(#tblNalozi) #btnScrollBottom,
  .partneri-page:has(#tblNalozi) #btnTrazi,
  .partneri-page:has(#tblNalozi) #btnBrisi { display: none !important; }
  .partneri-page:has(#tblNalozi) .toolbar { flex-wrap: wrap; gap: 6px; }
  .partneri-page:has(#tblNalozi) .nalozi-tip-filter { flex: 1 1 100%; }
  .partneri-page:has(#tblNalozi) .nalozi-tip-filter select { width: 100% !important; max-width: none !important; height: 36px; }
  .partneri-page:has(#tblNalozi) .toolbar-search { flex: 1 1 100%; margin-left: 0; }
  .partneri-page:has(#tblNalozi) .toolbar-search .search-field { flex: 1 1 auto; }
  .partneri-page:has(#tblNalozi) .toolbar-search input { width: 100%; height: 36px; }
  .partneri-page:has(#tblNalozi) .toolbar > a[data-kbd="novi"],
  .board-page .board-nalog-toolbar > a[data-kbd="novi"] {
    position: fixed;
    right: 16px;
    bottom: calc(var(--rmx-tel-dole) + 16px);
    z-index: 1550;
    width: 54px;
    height: 54px;
    padding: 0;
    border-radius: 50%;
    justify-content: center;
    font-size: 0;
    color: #fff;
    background: #ff9a2e;
    border-color: #ff9a2e;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  }
  .partneri-page:has(#tblNalozi) .toolbar > a[data-kbd="novi"] svg,
  .board-page .board-nalog-toolbar > a[data-kbd="novi"] svg { width: 26px; height: 26px; }
  /* Visina = --rmx-vis (innerHeight; aplikacija sa ikonice S25 — 100dvh ispod donje trake, 2026-10-09, blok „TELEFON — okvir“). */
  body:has(.partneri-page) { height: var(--rmx-vis, 100dvh); }
  body:has(.partneri-page) .app-body { height: var(--rmx-vis, 100dvh); }
  body:has(.partneri-page) .app-main { padding-bottom: calc(var(--rmx-tel-dole) + 8px); }
  .partneri-page #listaScroll { background: transparent; border: 0; box-shadow: none; }
  /* Kartica naloga = mreza (red: broj | EUR / nalogodavac / utovar → istovar / tura · vozilo | status). Selektor sa
     tbody tr.lista-row > td da bude jaci od zajednickog „td“ pravila iznad. */
  .partneri-page #tblNalozi tbody tr.lista-row {
    display: grid;
    grid-template-columns: fit-content(55%) minmax(0, 1fr) auto;
    grid-template-areas: "broj broj eur" "partner partner partner" "utovar istovar istovar" "tura vozilo status";
  }
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="id"],
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="datum"],
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="pravac"],
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="troskovi"] { display: none; }
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="broj"] { grid-area: broj; font-size: 14px; font-weight: 650; }
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="eur"] { grid-area: eur; justify-self: end; font-weight: 650; }
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="eur"]:not(:empty)::after { content: " €"; }
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="partner"] { grid-area: partner; }
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="utovar"] { grid-area: utovar; color: var(--rmx-muted); }
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="istovar"] { grid-area: istovar; color: var(--rmx-muted); }
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="istovar"]:not(:empty)::before { content: "→ "; }
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="tura"] { grid-area: tura; font-size: 12px; color: var(--rmx-muted); }
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="vozilo"] { grid-area: vozilo; font-size: 12px; color: var(--rmx-muted); }
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="status"] { grid-area: status; justify-self: end; margin-left: 0; }
  .partneri-page #tblNalozi tbody tr.lista-row > td[data-col="tura"]:not(:empty) + td[data-col="vozilo"]:not(:empty)::before { content: "· "; }
  /* Poslednja kartica se moze odvuci iznad narandzastog + (54 px + razmak). */
  .partneri-page #listaScroll { padding-bottom: 72px; }

  /* --- Board: cela strana skroluje, bez razdelnika, rokovi su na Pocetnoj --- */
  body:has(.board-page),
  body:has(.board-page) .app-body { height: auto; overflow: visible; }
  body:has(.board-page) .app-shell,
  body:has(.board-page) .app-content,
  body:has(.board-page) .app-main { overflow: visible; }
  body:has(.board-page) .app-main { display: block; padding-bottom: calc(var(--rmx-tel-dole) + 12px); }
  .board-page { display: block; overflow: visible; }
  .board-page .page-note,
  .board-page #boardIzvozBar,
  .board-page .board-rokovi,
  .board-page .board-razdelnik { display: none !important; }
  .board-page .board-gore { display: block; margin: 8px 0 4px; }
  .board-page #boardTureScroll,
  .board-page #boardNaloziScroll { max-height: none !important; height: auto !important; min-height: 0; overflow: visible; background: transparent; border: 0; box-shadow: none; }
  .board-page .board-detail-panel { min-height: 0; overflow: visible; margin-top: 6px; }
  .board-page .board-nalog-toolbar { flex-wrap: wrap; gap: 6px; }
  .board-page .board-nalog-toolbar .board-section-title { flex: 1 1 100%; margin-left: 0; font-weight: 650; }
  /* Tura: broj · vozilo | status / vozac / GPS (gde je · javio · brzina) / Istovar datum.
     Kolone #tblTure: 1 broj, 2 vozilo, 3 vozac, 4 datum, 5 istovar, 6 odlazak, 7 povratak, 8 ukupno, 9 status, 10-12 GPS. */
  .board-page #tblTure tr.tura-row > td:nth-child(4),
  .board-page #tblTure tr.tura-row > td:nth-child(6),
  .board-page #tblTure tr.tura-row > td:nth-child(7),
  .board-page #tblTure tr.tura-row > td:nth-child(8) { display: none; }
  .board-page #tblTure tr.tura-row > td:nth-child(1) { order: 1; flex: 0 0 auto; font-size: 14px; font-weight: 650; }
  .board-page #tblTure tr.tura-row > td:nth-child(2) { order: 2; flex: 1 1 0; font-size: 14px; font-weight: 650; }
  .board-page #tblTure tr.tura-row > td:nth-child(2):not(:empty)::before { content: "· "; }
  .board-page #tblTure tr.tura-row > td:nth-child(9) { order: 3; }
  .board-page #tblTure tr.tura-row > td:nth-child(3) { order: 4; flex: 1 1 100%; }
  .board-page #tblTure tr.tura-row > td:nth-child(10) { order: 5; flex: 0 1 auto; max-width: 62%; color: #1a4f8a; font-size: 12px; }
  .board-page #tblTure tr.tura-row > td:nth-child(10):not(:empty)::before { content: "● "; }
  .board-page #tblTure tr.tura-row > td:nth-child(11) { order: 6; flex: 0 0 auto; color: #1a4f8a; font-size: 12px; }
  .board-page #tblTure tr.tura-row > td:nth-child(12) { order: 7; flex: 1 1 0; color: #1a4f8a; font-size: 12px; }
  .board-page #tblTure tr.tura-row > td:nth-child(11):not(:empty)::before,
  .board-page #tblTure tr.tura-row > td:nth-child(12):not(:empty)::before { content: "· "; }
  .board-page #tblTure tr.tura-row > td:nth-child(5) { order: 8; flex: 1 1 100%; color: var(--rmx-muted); }
  .board-page #tblTure tr.tura-row > td:nth-child(5):not(:empty)::before { content: "Istovar: "; }
  /* Nalog na Boardu (JS renderNalozi): 1 broj, 2 partner, 3 vrsta, 4 pravac, 5 utovar, 6 istovar, 7-8 carinjenje,
     9 zavrseno, 10 status, 11 EUR, 12 troskovi → mreza: broj | EUR / partner / utovar → istovar | status. */
  .board-page #tblNalozi tbody tr.nalog-row {
    display: grid;
    grid-template-columns: fit-content(45%) minmax(0, 1fr) auto;
    grid-template-areas: "broj broj eur" "partner partner partner" "utovar istovar status";
  }
  .board-page #tblNalozi tbody tr.nalog-row > td:nth-child(3),
  .board-page #tblNalozi tbody tr.nalog-row > td:nth-child(4),
  .board-page #tblNalozi tbody tr.nalog-row > td:nth-child(7),
  .board-page #tblNalozi tbody tr.nalog-row > td:nth-child(8),
  .board-page #tblNalozi tbody tr.nalog-row > td:nth-child(9),
  .board-page #tblNalozi tbody tr.nalog-row > td:nth-child(12) { display: none; }
  .board-page #tblNalozi tbody tr.nalog-row > td:nth-child(1) { grid-area: broj; font-size: 14px; font-weight: 650; }
  .board-page #tblNalozi tbody tr.nalog-row > td:nth-child(11) { grid-area: eur; justify-self: end; font-weight: 650; }
  .board-page #tblNalozi tbody tr.nalog-row > td:nth-child(11):not(:empty)::after { content: " €"; }
  .board-page #tblNalozi tbody tr.nalog-row > td:nth-child(2) { grid-area: partner; }
  .board-page #tblNalozi tbody tr.nalog-row > td:nth-child(5) { grid-area: utovar; color: var(--rmx-muted); }
  .board-page #tblNalozi tbody tr.nalog-row > td:nth-child(6) { grid-area: istovar; color: var(--rmx-muted); }
  .board-page #tblNalozi tbody tr.nalog-row > td:nth-child(6)::before { content: "→ "; }
  .board-page #tblNalozi tbody tr.nalog-row > td:nth-child(10) { grid-area: status; justify-self: end; margin-left: 0; }
  .board-page #tblNalozi tbody tr.nalog-row .board-mesto { display: inline; }
  .board-page #tblNalozi tbody tr.nalog-row .board-sub { display: none; }
  .board-page #tblNalozi tbody tr.nalog-row .board-2r { display: inline; -webkit-line-clamp: unset; white-space: nowrap; max-width: none; }
  body:has(.board-page) .app-main { padding-bottom: calc(var(--rmx-tel-dole) + 80px); }
}

/* ========== KAMIONI — telefon (korisnik 2026-10-08: posle vise primera „hocu jednostavnije resenje“, „da, ali u stilu i
   bojama RMX Web“) ==========
   Pages/Kamioni/Index.cshtml (lista kamiona na putu) i Tura.cshtml (samo ta tura i njeni nalozi). Boje i oblik kao ostatak
   programa: podloga --rmx-bg, bela tabla sa ivicom --rmx-edge i krivinom --rmx-radius-panel, redovi odvojeni --rmx-row-alt,
   sivi opis --rmx-muted, tamna traka naslova kontejnera (kao panel Pocetne), dodir = #ffe8cc (kao sivi
   tasteri). Vazi na svakoj sirini (na PC-u uska kolona). Pravilo: docs/ui_toolbar.md §7f. */
.kamioni-page { max-width: 560px; margin: 0 auto; }
.kam-nazad { display: inline-block; margin: 2px 0 8px; color: var(--rmx-muted); font-size: 13px; text-decoration: none; }
.kam-lista {
  margin: 0 0 10px; background: #fff; border: 1px solid var(--rmx-edge); border-radius: var(--rmx-radius-panel);
  overflow: hidden;
}
/* Tamna traka naslova kontejnera (korisnik 2026-10-08: „tamni gornji deo kont“) = .home-tel-panel-naslov (panel Pocetne). */
.kam-naslov {
  display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 7px 12px;
  background: linear-gradient(180deg, #2a313a 0%, #1e242c 100%); color: #e8eaed; font-weight: 650;
}
.kam-naslov span:last-child { color: #c5cad1; font-weight: 400; }
.kam-red {
  display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-top: 1px solid var(--rmx-row-alt);
  color: var(--rmx-text); text-decoration: none;
}
.kam-naslov + .kam-red { border-top: 0; }
a.kam-red:hover, a.kam-red:active { background: #ffe8cc; }
.kam-red-tekst { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.kam-red-tekst b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kam-red-tekst small { color: var(--rmx-muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kam-red-gore { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.kam-red-gore b { min-width: 0; }
.kam-status { flex: 0 0 auto; color: var(--rmx-muted); font-size: 12px; }
.kam-strelica { flex: 0 0 auto; color: var(--rmx-gray); font-size: 20px; line-height: 1; }
/* „nedelja od …“: zuto / crveno kad se blizi / prosao rok sledeceg nedeljnog odmora (TAHO-F0, OdmorVozaca.Boja). */
.kam-rok-zuto { color: #a15c00; font-weight: 600; }
.kam-rok-crveno { color: var(--rmx-red); font-weight: 600; }

/* ========== TAHO-F0 — nedeljni odmor vozaca (korisnik 2026-10-07: „bitno je da se vidi kada je zapoceo nedelju nakon 24/45h
   pauze“, „kreni TAHO-F0“) ==========
   Board kolona „Preostalo vreme“ (Pages/Board/Index.cshtml); Kamioni imaju svoja pravila u bloku KAMIONI (kam-rok-*).
   Tekst i boju racuna Data/NedeljniOdmor.cs (OdmorVozaca.Kratko / Detalji / Boja). Boja: zuto = do roka < 24 h, crveno = rok prosao (plan §4a). */
.board-cell-odmor { white-space: nowrap; font-size: 12px; }
.board-odmor-zuto { background: #fff3cd !important; color: #6b4e00; }
.board-odmor-crveno { background: #fde2e0 !important; color: #a32d2d; font-weight: 600; }
@media (max-width: 700px) {
  /* Board kao kartice na telefonu: kolona „Preostalo vreme“ (13.) kao poslednji red kartice ture. */
  .board-page #tblTure tr.tura-row > td:nth-child(13) { order: 9; flex: 1 1 100%; white-space: normal; }
}

/* GPS u 3. i 4. redu kamiona (korisnik 2026-10-08: „lokacije i brzinu iz Almaksa … u treci cetvrti red sa linkom“) —
   puni wwwroot/js/rmx-kamioni-gps.js. Red je div (dva linka: kamion → tura, mesto → mapa). Plavo mesto = kao link mape u
   GPS koloni Boarda (#1a4f8a). */
.kam-red-link { display: flex; flex-direction: column; gap: 1px; min-width: 0; color: inherit; text-decoration: none; }
/* Poravnati redovi naziv / vrednost ispod „kamion · vozac“ (korisnik 2026-10-08: „promeni label i lepo alignuj“):
   naziv sivo u koloni 64 px, vrednost do kraja reda. */
.kam-vozac-ime { color: var(--rmx-muted); font-weight: 400; }
.kam-kv { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 1px 8px; margin-top: 3px; font-size: 12px; }
.kam-kv > span:nth-child(odd), .kam-kv > .kam-gps-naziv { color: var(--rmx-muted); }
.kam-kv > *:nth-child(even), .kam-kv > .kam-gps-mesto, .kam-kv > .kam-gps-brzina { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--rmx-text); }
/* Mesto = link samo koliko je tekst (justify-self start), ne cela kolona — dodir pored teksta ide na red (data-href). */
.kam-kv > .kam-gps-mesto { justify-self: start; max-width: 100%; color: #1a4f8a; text-decoration: none; }
.kam-red[data-href] { cursor: pointer; }
.kam-red[data-href]:active { background: #ffe8cc; }
.kam-kv > [hidden] { display: none; }
.kam-kv > .kam-gps-brzina.kam-vozi { color: var(--rmx-green); }
a.kam-strelica { align-self: center; padding: 4px 0 4px 8px; text-decoration: none; }
div.kam-red:has(.kam-red-link:active) { background: #ffe8cc; }

/* Celija samo za telefon u redu naloga (Pages/Nalozi/Index.cshtml .nalog-tel) — na PC-u nije kolona. */
#tblNalozi td.nalog-tel { display: none; }

/* ========== TELEFON — Nalozi u stilu Kamiona (korisnik 2026-10-08: „nalozi na telefonu u istom stilu“) ==========
   Pages/Nalozi/Index.cshtml do 700 px: jedan beli kontejner (ivica + krivina RMX), sekcije Aktivne / Zavrsene ture = tamna
   traka naslova (kao .kam-naslov), redovi bez kartica i obojene ivice: „broj · nalogodavac“ + status desno, ispod
   „utovar → istovar“ + EUR desno; tura / vozilo se na telefonu ne vide. Dodir na red = kartica naloga (RmxLista
   telefonOtvara, wwwroot/js/sifarnik-lista.js). Blok je posle „TELEFON — Nalozi i Board kao kartice“ i ponistava kartice
   samo za /Nalozi (Board ostaje). */
@media (max-width: 700px) {
  /* Kontejner liste = mesto gde se lista pomera prstom (overflow-y auto). Ispravka 2026-10-08: overflow hidden je
     „zamrznuo“ listu na telefonu (korisnik, slika). Prazno dole 72 px = poslednji nalog iznad narandzastog +. */
  .partneri-page:has(#tblNalozi) #listaScroll {
    background: #fff; border: 1px solid var(--rmx-edge); border-radius: var(--rmx-radius-panel);
    overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; padding-bottom: 72px; margin-bottom: 0;
  }
  /* Red = samo celija .nalog-tel (Pages/Nalozi/Index.cshtml, 2026-10-08: „broj · nalogodavac“ + poravnati redovi Relacija /
     Status / Tura kao Kamioni); ostale celije reda se na telefonu ne vide. */
  .partneri-page #tblNalozi tbody tr.lista-row {
    display: block; margin: 0; padding: 9px 12px; border: 0; border-top: 1px solid var(--rmx-row-alt); border-radius: 0;
    box-shadow: none !important; outline: none !important;
  }
  .partneri-page #tblNalozi tbody tr.lista-row.is-selected,
  .partneri-page #tblNalozi tbody tr.lista-row:active { background: #ffe8cc; }
  .partneri-page #tblNalozi tbody tr.lista-row > td { display: none; }
  .partneri-page #tblNalozi tbody tr.lista-row > td.nalog-tel { display: block; white-space: normal; overflow: visible; font-size: 13px; }
  .nalog-tel-naslov { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
  .nalog-tel-naslov b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
  .partneri-page #tblNalozi tbody tr.lista-grupa-red { margin: 0; }
  .partneri-page #tblNalozi tbody tr.lista-grupa-red > td {
    background: linear-gradient(180deg, #2a313a 0%, #1e242c 100%) !important; color: #e8eaed;
    border: 0; border-radius: 0; padding: 7px 12px; font-weight: 650;
  }
  .partneri-page #tblNalozi tbody tr.lista-grupa-red + tr.lista-row { border-top: 0; }
}

/* ========== NALOG PREGLED — strana naloga za citanje na telefonu (korisnik 2026-10-08: „da, nastavi“) ==========
   Pages/Nalozi/Pregled.cshtml; koristi kontejnere iz bloka KAMIONI (.kam-lista, .kam-naslov, .kam-red, .kam-kv). Ovde: duzi
   tekst se lomi (adresa, napomena), zavrsena tacka zeleno, „Izmeni nalog“ dole desno (velika kartica). */
.nalog-pregled .kam-red { cursor: default; }
.nalog-pregled .kam-kv > *:nth-child(even) { white-space: normal; overflow: visible; }
.nalog-pregled .kam-kv { grid-template-columns: 70px minmax(0, 1fr); }
.nalog-pregled-gotov { color: var(--rmx-green) !important; }
.nalog-pregled-izmeni { display: block; padding: 4px 2px 14px; color: #1a4f8a; font-weight: 600; text-align: right; text-decoration: none; }


/* ========== TELEFON — Pocetna: spisak rokova do dna (korisnik 2026-10-08: „pocetna treba da ostane kako je bila“, „s tim
   da ova lista kao i sve druge osim ako nemaju redove treba da popune ekran dole“) ==========
   Pocetna ostaje ista (plocice + „Istice u 30 dana“); spisak sada nosi sve rokove (Index.cshtml.cs UcitajTelefonAsync, ranije
   5) i ide do donjeg menija, redovi se pomeraju prstom unutar spiska, traka naslova ostaje gore. Malo rokova = spisak se
   zavrsava na poslednjem redu (flex 0 1 auto). Ista granica 700 px kao blok „TELEFON — okvir“; PC se ne menja. */
@media (max-width: 700px) {
  body:has(.home-tel),
  body:has(.home-tel) .app-body { height: var(--rmx-vis, 100dvh); } /* --rmx-vis = innerHeight (2026-10-09, S25 aplikacija) */
  body:has(.home-tel) .app-main { overflow: hidden; }
  .home-page:has(.home-tel),
  .home-page-content:has(.home-tel) { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
  .home-tel { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
  .home-tel-datum,
  .home-tel-plocice { flex: 0 0 auto; }
  /* min-height: na niskom ekranu spisak ne nestaje (bar 2–3 reda); overflow-y = pomeranje samo unutar spiska. */
  .home-tel-panel { flex: 0 1 auto; min-height: 140px; overflow-y: auto; -webkit-overflow-scrolling: touch; }
  .home-tel-panel-naslov { position: sticky; top: 0; z-index: 1; }
}

/* ========== TELEFON — Board: prvo samo ture, dodir = ta tura + njeni nalozi (korisnik 2026-10-08: „board samo gornji deo
   treba da se vidi a kada klikneš onda samo od te ture nalozi i ostali detalji“) ==========
   Bez izabrane ture vide se samo ture (gornji deo); nalozi se ne crtaju. Dodir na turu (JS selectPutni u
   Pages/Board/Index.cshtml dodaje tr.row-selected i ucitava naloge te ture) = ostaje samo ta tura, ispod nje njeni nalozi;
   dodir na nalog = pregled ispod reda (handler=Detalj, postojece). Ponovni dodir na istu turu (showSviNalozi) = opet sve
   ture. Samo CSS preko :has — JS i PC se ne menjaju. Narandzasto + (Novi nalog, fiksno dole desno) ostaje uvek. */
@media (max-width: 700px) {
  .board-page:not(:has(#tblTure tr.row-selected)) #boardNaloziScroll,
  .board-page:not(:has(#tblTure tr.row-selected)) .board-nalog-toolbar .board-section-title { display: none; }
  .board-page:not(:has(#tblTure tr.row-selected)) .board-nalog-toolbar { min-height: 0; padding: 0; margin: 0; border: 0; background: none; box-shadow: none; }
  .board-page:has(#tblTure tr.row-selected) #tblTure tbody tr:not(.row-selected) { display: none; }
}

/* ##########################################################################################################################
   TELEFON — kartice (korisnik 2026-10-08: „pregledaj kartice na mob telefonu da se preprave … prilagođeno za telefon, ne da
   se šeta levo-desno“, „da se pregledaju sve kartice i prilagode prozorima telefona“, „iskoristi ceo prostor za ove liste“,
   „i sve u mobilnoj aplikaciji da se prilagodi“, „da sve u stilu rmx-a“). JEDINO mesto telefonskih pravila za kartice i
   liste (docs/ui_toolbar.md §7f, AGENTS.md Telefon): prvo osnova za sve kartice, pa dopune po grupi stranica, pa liste.
   Sve samo do 700 px (= window.rmxJeTelefon u _Layout.cshtml, blok „TELEFON — okvir“) — PC izgled se ne menja. Nova /
   menjana kartica ili lista: dopuna ide ovde u svoju grupu, ne u <style> stranice.
   ########################################################################################################################## */

/* ========== TELEFON — kartice: osnova (korisnik 2026-10-08: „pregledaj kartice na mob telefonu da se preprave …
   prilagođeno za telefon, ne da se šeta levo-desno“, „da se pregledaju sve kartice i prilagode prozorima telefona“) ==========
   Samo do 700 px — ista granica kao blok „TELEFON — okvir“ i window.rmxJeTelefon u _Layout.cshtml <head> (menjati zajedno);
   PC izgled se ne menja. Zajednicka osnova za SVE kartice (.kartica-* / .nalog-kartica-* / .tura-kartica-* / .card-form):
   strana kartice nikad sira od ekrana, polja jedno ispod drugog (dva kratka — datum / broj — u istom redu), paneli jedan
   ispod drugog, tabele skroluju u svom okviru, Snimi / Odustani uvek vidljivi, dijalozi staju u ekran. Nista se ne
   sakriva (sva polja ostaju za unos), labeli ostaju iznad polja (ui_toolbar.md §7, §7b). Pravila po stranici (ID / klasa
   stranice) su u blokovima „TELEFON — kartice: …“ posle ovog bloka. Pravilo: docs/ui_toolbar.md §7f. */
@media (max-width: 700px) {
  /* --- Visina i dno kartice --- */
  /* --rmx-vis (innerHeight, _Layout <head>; 2026-10-09 S25 aplikacija sa ikonice: 100dvh = prozor + donja traka, Snimi se
     nije video) = vidljivi deo ekrana, rezerva 100dvh. Blok KARTICA gore zakljucava stranu na 100vh (overflow hidden), a na telefonu je 100vh
     visina BEZ trake adrese — Snimi / Odustani su ostajali ispod ivice ekrana. <body> je sam .app-body (_Layout.cshtml),
     zato pravilo ide na body. Isto kao lista Naloga (TELEFON — Nalozi i Board). Ugradjen prozor (body.rmx-embed-short)
     ima jace pravilo i ostaje visine sadrzaja. */
  body:has(.kartica-page),
  body:has(.nalog-kartica-page),
  body:has(.tura-kartica-page) { height: var(--rmx-vis, 100dvh); }
  /* Snimi / Odustani iznad sistemske donje trake (iPhone „home“, Android pokreti / 3 tastera — korisnik 2026-10-09 S25:
     100dvh ide ispod trake, Snimi se nije video). --rmx-tel-dno = blok „TELEFON — okvir“, uz viewport-fit=cover. */
  body:has(.kartica-page) .app-main,
  body:has(.nalog-kartica-page) .app-main,
  body:has(.tura-kartica-page) .app-main { padding-bottom: calc(8px + var(--rmx-tel-dno)); }

  /* --- Okvir kartice nikad siri od ekrana --- */
  /* Delovi iz bloka KARTICA (.kartica-page / -top / -form / -fixed / -scroll / -actions) i paneli u njima: dete flex /
     grid okvira sa min-width auto ne sme da raste preko ekrana zbog sireg sadrzaja (ui_toolbar.md §7). */
  :is(.kartica-page, .nalog-kartica-page, .tura-kartica-page),
  :is(.kartica-top, .nalog-kartica-top, .tura-kartica-top),
  :is(.kartica-form, .nalog-kartica-form, .tura-kartica-form, .card-form),
  :is(.kartica-fixed, .nalog-kartica-fixed),
  :is(.kartica-scroll, .nalog-kartica-scroll, .tura-kartica-scroll),
  :is(.kartica-actions, .nalog-kartica-actions, .tura-kartica-actions),
  :is(.kartica-page, .nalog-kartica-page, .tura-kartica-page) :is(.card-panel, .card-panel-body, .tura-tab-panel, fieldset) {
    min-width: 0;
    max-width: 100%;
  }
  /* Dugacka rec bez razmaka (putanja fajla, link, broj) u poruci gore / u dijalogu se lomi, ne siri stranu. */
  :is(.kartica-top, .nalog-kartica-top, .tura-kartica-top) :is(.alert-soft, .alert-ok, .page-note),
  .confirm-text { overflow-wrap: anywhere; }

  /* --- Polja: jedno ispod drugog, dva kratka u redu --- */
  /* Kartice imaju kolone po sadrzaju (repeat(N, max-content), blok „Sirina polja“ §7b) — 2–5 polja u redu je sire od
     telefona. Ovde: dve jednake kolone, a svaki red preko obe (jedno polje u redu)… */
  :is(.kartica-form, .nalog-kartica-form, .tura-kartica-form, .card-form) :is(.form-grid, .form-grid-3, .form-grid-4, .form-grid-5) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  :is(.kartica-form, .nalog-kartica-form, .tura-kartica-form, .card-form) :is(.form-grid, .form-grid-3, .form-grid-4, .form-grid-5) > * {
    grid-column: 1 / -1;
  }
  /* …osim reda sa jednim kratkim poljem (datum, iznos, broj, godina, dana, posta, PIB / MB, kurs, D/I) — on uzima pola
     reda, pa dva takva stoje jedno pored drugog (korisnik 2026-10-08: telefon). Klase / name = tabela §7b. Red sa
     tasterom, tekstom ili drugim izborom ostaje preko celog reda. align-content end = polja poravnata i kad se labela
     prelomi u dva reda. :not(:has(…)) mora odmah iza )) bez razmaka — novi red pre njega bio je kombinator „potomak“
     i pravilo nije gadjalo red (ispravka 2026-10-08, faktura: kratka polja svako u svom redu). */
  :is(.kartica-form, .nalog-kartica-form, .tura-kartica-form, .card-form) :is(.form-grid, .form-grid-3, .form-grid-4, .form-grid-5)
    > .form-row:not(.form-row-wide):has(> :is(input[type="date"], input[type="number"], .rmx-date-wrap, .form-input-date,
      .form-input-iznos, .form-input-num, .form-input-dana, .form-input-godina, .form-input-broj, .form-input-posta,
      .form-input-pib, .form-input-mb, .form-input-vrsta, .form-kurs, input[name$="IznosEur"], input[name$="IznosDin"],
      input[name$=".Godina"], input[name$="Posta"], input[name$="Pib"], input[name$=".Mb"], input[name$="MaticniBroj"])):not(:has(> :is(textarea, button, a, select:not(.form-input-vrsta), .form-inline-pair, .partner-typeahead, .check-line))) {
    grid-column: auto;
    align-content: end;
  }
  /* Red polja unutar reda (Posta | Mesto | Drzava, Firma | Radno vreme, Sifra | PIB | MB …) se prelama — neki su
     flex-wrap: nowrap (.tacka-red-80, .tacka-polja-adr .tacka-termin-red, Izvodi .izvod-glava-red). Bira se samo okvir
     sa dva+ .form-row koji je dete .form-row / .form-grid (vodoravan red); na grid / blok nema dejstva. */
  :is(.kartica-form, .nalog-kartica-form, .tura-kartica-form, .card-form) :is(.form-row, .form-grid) > :has(> .form-row ~ .form-row) {
    flex-wrap: wrap;
    min-width: 0;
    max-width: 100%;
  }
  /* Red polja (labela + polje) i sve u njemu najvise sirine reda. */
  :is(.kartica-form, .nalog-kartica-form, .tura-kartica-form, .card-form) .form-row {
    min-width: 0;
    max-width: 100%;
  }
  :is(.kartica-form, .nalog-kartica-form, .tura-kartica-form, .card-form) .form-row > * { max-width: 100%; }
  /* Polje zadrzava svoju sirinu iz §7b (datum 11.6rem, iznos 8.5rem, tekst 16rem, siroko 80ch …), ali nikad sire od reda:
     jace od §7b pravila (.kartica-form .form-row:not(.form-row-wide) > input[type="date"] = 0,4,1) i od klasnih pravila
     stranice (npr. Vozac 22rem na kartici ture) — :is(input:not(×3)) daje jacinu 0,5,1. Inline sirina (select
     style="width:auto", JS sirina .rmx-sel-pretraga) se ovim ogranicava bez !important (inline postavlja samo width). */
  :is(.kartica-form, .nalog-kartica-form, .tura-kartica-form, .card-form) .form-row
    > :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea, .form-input, .rmx-date-wrap,
      .partner-typeahead, .form-inline-pair) {
    min-width: 0;
    max-width: 100%;
  }
  /* Polja van .form-row (toolbar u tabu, red sa tasterom, dijalog): najvise sirine okvira. Ne u celiji tabele — tamo bi
     procenat ucinio da se kolona skupi na nulu (tabela skroluje, v. dole). */
  :is(.kartica-page, .nalog-kartica-page, .tura-kartica-page, .confirm-box)
    :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea):not(td *):not(th *) {
    max-width: 100%;
  }

  /* --- Paneli jedan ispod drugog --- */
  /* Levo / desno (.faktura-glava: Fakture, Nalozi, Angazovani, Ulazne, PodaciNaloga, Tracking) — vec jedna kolona ispod
     900 px, ovde minmax(0, 1fr) da kolona ne raste po sadrzaju (isti razlog kao .form-row §7e). */
  :is(.kartica-page, .nalog-kartica-page, .tura-kartica-page) .faktura-glava { grid-template-columns: minmax(0, 1fr); }

  /* --- Tabovi kartice --- */
  /* Traka tabova (.tura-tabs i svaki okvir sa button[data-tab]) prelama se u vise redova, ne siri stranu (Ture ima 11). */
  :is(.kartica-page, .nalog-kartica-page, .tura-kartica-page) :is(.tura-tabs, [role="tablist"], :has(> button[data-tab])) {
    flex-wrap: wrap;
    min-width: 0;
    max-width: 100%;
  }
  /* Naslov panela sa tasterima (Kontakti + Dodaj, Dnevnice posade + Clan posade …): tasteri prelaze u drugi red. */
  :is(.kartica-page, .nalog-kartica-page, .tura-kartica-page) .card-panel-title { flex-wrap: wrap; row-gap: 4px; }

  /* --- Tabele: skroluju u svom okviru, strana ne --- */
  /* Tabela u kartici / dijalogu postaje blok sa svojim vodoravnim skrolom (panel, naslov i polja oko nje ostaju na mestu).
     Bez okvira koji vec skroluje (.grid-scroll, .stavke-table-wrap, …) — tamo sticky zaglavlje mora ostati vezano za taj
     okvir. [hidden] tabele (gorivo / AdBlue zbir, dokumenti vozila) ostaju sakrivene — display:block bi pregazio hidden. */
  :is(.kartica-page, .nalog-kartica-page, .tura-kartica-page, .confirm-box) table:not([hidden]):not(:is(.grid-scroll, .stavke-table-wrap,
      .tura-nalozi-scroll, .tura-rokovi-lista, .cemt-voznje-wrap, .rasp-tabela-wrap, .kes-rasp-scroll, .gor-izbor-scroll) table) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
  /* Postojeci okviri tabela skroluju i vodoravno (CEMT voznje na /Dozvole/Kartica nemaju overflow van rezima zakljucano). */
  :is(.kartica-page, .nalog-kartica-page, .tura-kartica-page, .confirm-box) :is(.grid-scroll, .stavke-table-wrap, .tura-nalozi-scroll,
      .tura-rokovi-lista, .cemt-voznje-wrap, .rasp-tabela-wrap, .kes-rasp-scroll, .gor-izbor-scroll) {
    max-width: 100%;
    overflow-x: auto;
  }
  /* table-layout fixed (CEMT voznje, troskovi naloga) daje koloni „auto“ nulu kad zbir fiksnih kolona predje ekran —
     polje Dokaz bi nestalo. Auto = kolona bar koliko sadrzaj, tabela skroluje. */
  :is(.kartica-page, .nalog-kartica-page, .tura-kartica-page, .confirm-box) table { table-layout: auto; }
  /* Tabele za unos (§7e): tekstualno polje bez svoje najmanje sirine se na uskoj tabeli skupi na par piksela (width 100%
     u celiji). Najmanje 6rem; polja sa svojim pravilom (broj 5.5rem, datum 8.8rem, Opis 14–15rem — jaca pravila) ostaju. */
  .tura-stavke-grid .form-input { min-width: 6rem; }

  /* --- Snimi / Odustani --- */
  /* Uvek vidljivi (pedala kartice, §7): vise tastera (SEF, Zakljucaj, Otkaz / Storno) prelazi u drugi red umesto da
     ih overflow hidden kartice odsece. */
  :is(.kartica-actions, .nalog-kartica-actions, .tura-kartica-actions) { flex-wrap: wrap; row-gap: 6px; }

  /* --- Dijalozi (DA / NE, raspodela, prozor kartice u ramu, pregled stampe) --- */
  /* Uz ivicu 8 px gore / dole i 2vw levo / desno: prozori sa 96vw (kartica partnera / ture / dokumenta u ramu) staju
     tacno. Visok prozor: overlay skroluje, a auto margine (umesto center) cuvaju vrh prozora (naslov, Zatvori) — center bi
     ga gurnuo iznad ekrana. */
  /* Dole + --rmx-tel-dno (2026-10-09): taster DA / Zatvori na dnu prozora ne ide ispod sistemske trake. */
  .confirm-overlay,
  .print-overlay {
    padding: calc(8px + env(safe-area-inset-top, 0px)) 2vw calc(8px + var(--rmx-tel-dno));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .confirm-overlay > *,
  .print-overlay > * {
    margin-top: auto;
    margin-bottom: auto;
  }
  .confirm-overlay > .confirm-box,
  .print-overlay > .print-box { max-width: 100%; }
  /* Pregled stampe (inline visina min(94vh, …)) = vidljivi deo ekrana; dokument skroluje u ramu. */
  .print-overlay > .print-box { max-height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - var(--rmx-tel-dno)); }
  .confirm-actions,
  .print-bar,
  .print-actions,
  .rasp-zbir { flex-wrap: wrap; }

  /* --- Poslednja zastita: nista se ne sece, strana se ne pomera --- */
  /* .card-panel ima overflow hidden (sirok sadrzaj se ODSECE — polje van ekrana ne moze da se popuni). Na telefonu
     vodoravno skroluje sam panel: ostatak koji pravila iznad i blokovi stranica nisu prelomili ostaje dostupan, a strana
     (.kartica-scroll) se ne pomera. Uspravno ostaje hidden (isto kao ranije — padajuce liste, visina panela). */
  :is(.kartica-page, .nalog-kartica-page, .tura-kartica-page) .card-panel { overflow-x: auto; }

  /* Unutrasnji razmak panela 14 / 16 px → 10 px: 12 px vise za polja (pola reda sa dva kratka polja ~155 px na 360 px).
     Samo razmak, bez promene izgleda panela. Traka clana posade (.posada-blok, kartica ture) ide od ivice do ivice
     negativnom marginom = bocni razmak panela — menjati zajedno (inace bi panel dobio 6 px vodoravnog skrola). */
  :is(.kartica-page, .nalog-kartica-page, .tura-kartica-page) .card-panel-body { padding: 10px; }
  :is(.kartica-page, .nalog-kartica-page, .tura-kartica-page) .posada-blok {
    margin-left: -10px;
    margin-right: -10px;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* ---------- TELEFON — kartice: nalozi, angažovani, šifarnici adresa (korisnik 2026-10-08) ---------- */
/* Korisnik 2026-10-08: „kartice na mob telefonu … prilagođeno za telefon, ne da se šeta levo-desno“. Samo do 700 px
   (= window.rmxJeTelefon i blok „TELEFON — okvir“, menjati zajedno); PC izgled se ne menja. Ide POSLE opšteg bloka
   kartica (B1–B9) — ovde samo pravila stranica koja su jača od opšteg. <style> na stranici (Nalozi / Angazovani /
   PodaciNaloga Kartica) dolazi posle site.css, pa je ovde selektor uvek JAČI (ne isti) od pravila na stranici.
   Raspored polja i labela iznad polja ostaju; ništa se ne sakriva osim praznih ćelija. Pravilo: docs/ui_toolbar.md §7f. */
@media (max-width: 700px) {

  /* --- zajedničko za ove kartice --- */
  /* Pretraga preko liste (wwwroot/js/rmx-select-pretraga.js) pri učitavanju dobija inline width u px — ne sme preko
     kolone (okret ekrana / uži panel). Nalog Partner, Angažovani Nalogodavac / Prevoznik, Lokacije Partner / Država,
     Carinjenja Ispostava / Špediter (korisnik 2026-10-08). */
  .kartica-form .rmx-sel-pretraga { max-width: 100%; }
  /* Dug naslov kartice („Izmena lokacije · …“, „Izmena carinjenja · …“) se lomi, ne gura stranu (korisnik 2026-10-08). */
  .kartica-top .page-title,
  .nalog-kartica-top .page-title { min-width: 0; overflow-wrap: anywhere; }

  /* --- /Nalozi/Kartica: mreže polja u jednoj koloni --- */
  /* <style> stranice daje 2 kolone (repeat(2, minmax(0,1fr))) svim mrežama panela i panelu Tura — na telefonu jedna
     kolona (Tip ture, Utovarni broj ne ostaju na pola širine). Jače od #nalog-kartica-form .card-panel .form-grid:not(…). */
  #nalog-kartica-form .kartica-scroll .card-panel .form-grid:not(.form-grid-3):not(.form-grid-4):not(.form-grid-5) {
    grid-template-columns: minmax(0, 1fr);
  }
  /* Red Broj | Datum | Vrsta | Status (form-grid-4 = 4 kolone po sadržaju, ~600 px): prelama se kao red Iznosi
     (.nalog-iznosi-panel .form-grid-5 u site.css) — Broj ceo red, Datum + Vrsta, pa Status ceo red (korisnik 2026-10-08). */
  #nalog-kartica-form .kartica-scroll .card-panel .form-grid.form-grid-4 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }
  #nalog-kartica-form .kartica-scroll .card-panel .form-grid-4 > .form-row { flex: 0 1 auto; min-width: 0; max-width: 100%; }
  #nalog-kartica-form .kartica-scroll .card-panel .form-grid-4 > .form-row:has(> .broj-id-par),
  #nalog-kartica-form .kartica-scroll .card-panel .form-grid-4 > .form-row:has(> .nalog-status-red) { flex: 1 1 100%; }
  /* Status + „1/2“ + privremeno polje datuma (F2 plan_status_tacke, <style> stranice: flex bez preloma, ~530 px):
     prelom; „datum utovara“ = labela iznad datuma i vremena, isto kao ostala polja (korisnik 2026-10-08). */
  #nalog-kartica-form .form-row > .nalog-status-red { flex-wrap: wrap; row-gap: 1mm; }
  #nalog-kartica-form .nalog-status-red > .nalog-status-zav:not([hidden]) { flex: 1 1 100%; flex-wrap: wrap; row-gap: 2px; }
  #nalog-kartica-form .nalog-status-zav > .nalog-status-zav-lbl { flex: 1 1 100%; }

  /* --- /Nalozi/Kartica: Naziv naloga (šablon) i Naziv šablona --- */
  /* <style> stranice: polje min-width min(16rem / 22rem, 100%) + tasteri „…“ / Primeni / Sacuvati sablon u redu bez
     preloma = šire od panela. Polje se skuplja, taster koji ne stane (Azuriraj sablon) ide u novi red (korisnik 2026-10-08). */
  #nalog-kartica-form #nalog-sablon-izbor .form-inline-pair,
  #nalog-kartica-form #nalog-sacuvaj-sablon .form-inline-pair { flex-wrap: wrap; row-gap: 1mm; }
  #nalog-kartica-form #nalog-sablon-izbor .form-inline-pair > .form-input,
  #nalog-kartica-form #nalog-sacuvaj-sablon .form-inline-pair > .form-input { flex: 1 1 8rem; min-width: 0; }

  /* --- /Nalozi/Kartica: Nalog dokumentacija --- */
  /* Vrsta 7rem + Broj CMR 10rem + Odaberi fajl u redu bez preloma (site.css .nalog-dok-unos) — kod CMR šire od panela;
     prelom (korisnik 2026-10-08). */
  #nalog-kartica-form .nalog-dok-panel .nalog-dok-unos { flex-wrap: wrap; row-gap: 1mm; }

  /* --- Roba: /Nalozi/Kartica i /Angazovani/Kartica (ista klasa u <style> obe stranice) --- */
  /* Levo Roba / Primalac / Dimenzije / PDF, desno Ostalo = dve kolone po ~150 px; na telefonu Ostalo ispod (korisnik 2026-10-08). */
  .kartica-form .card-panel-body.nalog-roba-body { grid-template-columns: minmax(0, 1fr); }

  /* --- Tačke utovara / istovara (Pages/Nalozi/_NalogTacka.cshtml — nalog i angažovani) --- */
  /* Firma | Radno vreme, Ulica | GPS, Kontakt | Telefon (.tacka-red-80, site.css: bez preloma, desno 11rem): svako polje
     ceo red, levo polje ne ostaje ~120 px (korisnik 2026-10-08). */
  .kartica-form .nalog-tacka .tacka-termin-red.tacka-red-80 { flex-wrap: wrap; }
  .kartica-form .nalog-tacka .tacka-red-80 > .form-row.tacka-siri,
  .kartica-form .nalog-tacka .tacka-red-80 > .form-row.tacka-desno { flex: 1 1 100%; min-width: 0; }
  /* Pošta | Mesto | Opština | Država (site.css: bez preloma, ~430 px — Država je bila odsečena ivicom panela): Pošta +
     Mesto u prvom redu, Opština + Država u drugom; na širem ekranu (> ~370 px sadržaja) sve četiri u jednom redu.
     Osnove 10rem / 7rem / 11rem su izabrane za taj prelom — menjati zajedno (korisnik 2026-10-08). */
  .kartica-form .nalog-tacka .tacka-polja-adr .tacka-termin-red:not(.tacka-red-80) { flex-wrap: wrap; }
  .kartica-form .nalog-tacka .tacka-polja-adr .tacka-termin-red:not(.tacka-red-80) > .form-row.tacka-mesto { flex: 1 1 10rem; min-width: 0; }
  .kartica-form .nalog-tacka .tacka-polja-adr .tacka-termin-red:not(.tacka-red-80) > .form-row.tacka-opstina { flex: 1 1 7rem; min-width: 0; }
  .kartica-form .nalog-tacka .tacka-polja-adr .tacka-termin-red:not(.tacka-red-80) > .form-row:has(> .tacka-drzava) { flex: 1 1 11rem; min-width: 0; }
  .kartica-form .nalog-tacka .tacka-polja-adr .tacka-termin-red .form-row > .tacka-drzava { width: 100%; max-width: none; }
  /* Podaci iz šifarnika ispod Lokacije / Carinjenja (rmx-tacke-naloga.js crtajInfo): kolona naziva 9.5rem je uzimala pola
     kutije; 6.5rem staje „Instrukcija vozaču“ (najduži naziv, Carinjenje.InfoRedovi) — korisnik 2026-10-08. */
  .kartica-form .nalog-tacka .tacka-sif-l { flex-basis: 6.5rem; }

  /* --- Troškovi (prefaktura) #tblNalogTroskovi: /Nalozi/Kartica i /Angazovani/Kartica (.angaz-troskovi) --- */
  /* Tabela stavki je na PC-u ~860 px (table-layout fixed); na telefonu red = mala kartica, polja se prelamaju, labele
     iznad polja kao na kartici (::before umesto zaglavlja). Redosled kolona = Kartica.cshtml + JS tpl na obe stranice
     (btnDodajNalogTrosak) — menjati zajedno (korisnik 2026-10-08). */
  .kartica-form #tblNalogTroskovi,
  .kartica-form #tblNalogTroskovi > tbody { display: block; width: 100%; }
  .kartica-form #tblNalogTroskovi > thead { display: none; }
  .kartica-form #tblNalogTroskovi > tbody > tr.stavka-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 1mm;
    padding: 6px 4px;
    border-bottom: 1px solid var(--rmx-edge);
  }
  .kartica-form #tblNalogTroskovi > tbody > tr.stavka-row > td { display: block; width: auto; min-width: 0; padding: 0; border: 0; }
  /* Labela = izgled labela kartice naloga / angažovanog (#nalog-kartica-form / #angazovaniForm .form-row label). */
  .kartica-form #tblNalogTroskovi > tbody > tr.stavka-row > td::before {
    display: block;
    margin-bottom: 2px;
    font-size: var(--rmx-label-font-size);
    font-weight: 600;
    line-height: 1.15;
    color: #808a95;
    text-align: left;
  }
  /* /Nalozi: 1 #, 2 Datum troška, 3 Opis, 4 Iznos, 5 Valuta, 6 Kurs, 7 Prefaktura, 8 Ulazni / Sa ture, 9 ×. */
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(1) { flex: 0 0 1.6rem; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(2) { flex: 0 1 11.6rem; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(3) { flex: 1 1 100%; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(4) { flex: 1 1 5.5rem; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(5) { flex: 0 0 5rem; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(6) { flex: 1 1 5.5rem; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(7) { flex: 0 0 auto; text-align: left; }  /* kvačica ispod labele, ne centrirana (.td-check) */
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(8) { flex: 1 1 auto; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(8):not(:has(a)) { display: none; }  /* prazna ćelija, bez podatka */
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(9) { flex: 0 0 auto; margin-left: auto; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(1)::before { content: "#"; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(2)::before { content: "Datum troška"; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(3)::before { content: "Opis"; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(4)::before { content: "Iznos"; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(5)::before { content: "Valuta"; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(6)::before { content: "Kurs"; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(7)::before { content: "Prefaktura"; }
  .kartica-form #tblNalogTroskovi:not(.angaz-troskovi) > tbody > tr.stavka-row > td:nth-child(8)::before { content: "Ulazni"; }
  /* /Angazovani: 1 #, 2 Opis, 3 Iznos, 4 Valuta, 5 Kurs, 6 × — Opis ceo prvi red pored #, brojevi + × u drugom. */
  .kartica-form #tblNalogTroskovi.angaz-troskovi > tbody > tr.stavka-row > td:nth-child(1) { flex: 0 0 1.6rem; }
  .kartica-form #tblNalogTroskovi.angaz-troskovi > tbody > tr.stavka-row > td:nth-child(2) { flex: 1 1 calc(100% - 1.6rem - 1mm); }
  .kartica-form #tblNalogTroskovi.angaz-troskovi > tbody > tr.stavka-row > td:nth-child(3) { flex: 1 1 5.5rem; }
  .kartica-form #tblNalogTroskovi.angaz-troskovi > tbody > tr.stavka-row > td:nth-child(4) { flex: 0 0 5rem; }
  .kartica-form #tblNalogTroskovi.angaz-troskovi > tbody > tr.stavka-row > td:nth-child(5) { flex: 1 1 5.5rem; }
  .kartica-form #tblNalogTroskovi.angaz-troskovi > tbody > tr.stavka-row > td:nth-child(6) { flex: 0 0 auto; margin-left: auto; }
  .kartica-form #tblNalogTroskovi.angaz-troskovi > tbody > tr.stavka-row > td:nth-child(1)::before { content: "#"; }
  .kartica-form #tblNalogTroskovi.angaz-troskovi > tbody > tr.stavka-row > td:nth-child(2)::before { content: "Opis"; }
  .kartica-form #tblNalogTroskovi.angaz-troskovi > tbody > tr.stavka-row > td:nth-child(3)::before { content: "Iznos"; }
  .kartica-form #tblNalogTroskovi.angaz-troskovi > tbody > tr.stavka-row > td:nth-child(4)::before { content: "Valuta"; }
  .kartica-form #tblNalogTroskovi.angaz-troskovi > tbody > tr.stavka-row > td:nth-child(5)::before { content: "Kurs"; }

  /* --- /Angazovani/Kartica --- */
  /* <style> stranice: 2 kolone (repeat(2, minmax(0,1fr))) u svim panelima — na telefonu jedna (Broj / Datum / Status,
     Plaćanje prevozniku, Utovarni broj na tački). Jače od #angazovaniForm .card-panel .form-grid (korisnik 2026-10-08). */
  #angazovaniForm .kartica-scroll .card-panel .form-grid { grid-template-columns: minmax(0, 1fr); }
  /* Vozilo + Vozač levo (min 12rem) | Komentar desno u redu bez preloma — Komentar je ostajao ~90 px; na telefonu
     Komentar ispod (korisnik 2026-10-08). <style> stranice .angaz-red-vozilo / .angaz-vozilo-kol / .angaz-komentar-kol. */
  #angazovaniForm .card-panel .angaz-red-vozilo { flex-wrap: wrap; row-gap: 2mm; }
  #angazovaniForm .angaz-red-vozilo > .angaz-vozilo-kol,
  #angazovaniForm .angaz-red-vozilo > .form-row.angaz-komentar-kol { flex: 1 1 100%; min-width: 0; }
  /* Tekst nalogodavca / prevoznika: na PC-u red se ne lomi i skroluje u svojoj kutiji (korisnik 2026-09-29); na telefonu
     se lomi, da se ne pomera levo-desno (korisnik 2026-10-08). Isti tekst, samo prelom. */
  #angazovaniForm .angaz-izbor-tekst { white-space: pre-wrap; overflow-wrap: anywhere; overflow-x: visible; }
  /* Plaćanje prevozniku: Iznos · Plaćeno · Otvoreno u redu bez preloma (site.css .faktura-uplate-zbir) — prelom
     (korisnik 2026-10-08). Tabela #apTabela skroluje u svom okviru (opšte pravilo tabela, B6). */
  #angazovaniForm .faktura-uplate-zbir { flex-wrap: wrap; row-gap: 1mm; }

  /* --- /PodaciNaloga/Kartica --- */
  /* Roba levo | Ostalo desno (<style> stranice .sablon-roba-body, 2 kolone) — na telefonu Ostalo ispod (korisnik 2026-10-08). */
  #sablonKarticaForm .card-panel-body.sablon-roba-body { grid-template-columns: minmax(0, 1fr); }

  /* --- /Board/KarticaNalog --- */
  /* Panel Osnovno je nepomičan (.nalog-kartica-fixed) — u jednoj koloni ~350 px pa za Utovar / Istovar / Carinjenje
     ostaje malo ekrana. Na telefonu skroluje cela forma, Snimi / Odustani lepljivo dole (pozadina = .app-body
     --rmx-bg). Samo ova stranica ima .nalog-kartica-page (korisnik 2026-10-08). */
  .nalog-kartica-page > .nalog-kartica-form { overflow-y: auto; }
  .nalog-kartica-page .nalog-kartica-form > .nalog-kartica-scroll { flex: 0 0 auto; min-height: 0; overflow: visible; }
  .nalog-kartica-page .nalog-kartica-form > .nalog-kartica-actions {
    position: sticky;
    bottom: 0;
    z-index: 2;
    background: var(--rmx-bg);
  }

  /* /Lokacije, /Carinjenja, /CarinskeIspostave, /Drzave Kartica: nema posebnih širina na stranici — dovoljno je opšte
     pravilo kartica (B1–B9) + .rmx-sel-pretraga gore (korisnik 2026-10-08). */
}

/* ---------- TELEFON — kartice: tura, službeno, tracking, zarada, refakcija (korisnik 2026-10-08) ---------- */
/* Korisnik 2026-10-08: „pregledaj kartice na mob telefonu … prilagođeno za telefon, ne da se šeta levo-desno“.
   Samo do 700 px — ista granica kao window.rmxJeTelefon (_Layout.cshtml) i ostali TELEFON blokovi (menjati zajedno);
   PC izgled se ne menja. Dopuna osnove „TELEFON — kartice“ (B1–B9): ovde samo pravila stranica čiji su PC selektori
   jači od osnove ili ih osnova ne pokriva. Tabele za unos sa mnogo kolona (Dnevnice, Troškovi, Putarine, AdBlue, Gorivo,
   Akontacije, Bonusi, Dozvole, Kretanja) ostaju tabele i skroluju vodoravno u svom okviru (osnova B6) — bez data-label
   na ćelijama kartica-red bi izgubila naslove kolona. Stranice: Pages/Ture/Kartica, Sluzbena/Kartica, Tracking/Kartica,
   Refakcija/Obracun (NetoZarade/Kartica, Refakcija/Kartica, AkcizaKvartali/Kartica pokriva osnova). */
@media (max-width: 700px) {

  /* ===== /Ture/Kartica — zaglavlje ===== */
  /* Broj · vozilo · vozač · datum u svom redu, levo: na PC-u flex:1 u sredini (site.css .tura-kartica-ident), na uskom
     ekranu bi to bila uzana centrirana kolona pored naslova. */
  .tura-kartica-top .tura-kartica-ident { flex: 1 1 100%; text-align: left; }

  /* ===== /Ture/Kartica — tab Putni ===== */
  /* Tri kolone (levo / sredina / rokovi, site.css „Tab Putni“, korisnik 2026-10-06) jedna ispod druge, svaka cela širina. */
  .tura-putni-levo,
  .tura-putni-sredina,
  .tura-putni-rokovi { flex: 1 1 100%; max-width: none; }
  /* Vozač je 22rem (352 px) — širi od telefona; ostaje 22rem, ali najviše širina reda. */
  .tura-kartica-form .tura-putni-vozac:not(.form-row-wide) > .form-input { max-width: 100%; }
  /* Odlazak / Povratak / Ukupno EUR (3 × 7rem = 351 px) ostaju u istom redu: dele širinu. */
  .tura-kartica-form .tura-putni-iznosi > .form-row { flex: 1 1 0; min-width: 0; }
  .tura-kartica-form .tura-putni-iznosi > .form-row > .form-input { width: 100%; max-width: 100%; }
  /* Ističe u 30 dana: kolona je sama u redu — lista po sadržaju do 18rem, pa skrol unutra (na PC-u contain:size + visina
     leve kolone = samo 7rem). Tabela ima svoj skrol okvir i sticky zaglavlje, zato ostaje table (ne osnova B6). */
  .tura-rokovi-lista { flex: 0 0 auto; contain: none; max-height: 18rem; }
  #turaRokoviLista .tura-rokovi-tabela { display: table; }
  /* Nalozi ove ture: na PC-u tab i panel pune ostatak visine (flex + min-height 0, site.css #turaNaloziPanel) — na telefonu
     je gornji panel viši od ekrana pa bi se panel naloga skupio na 0 (nalozi nevidljivi). Ovde visina po sadržaju,
     vertikalno skroluje kartica (.tura-kartica-scroll), tabela samo vodoravno u .tura-nalozi-scroll (svoj okvir, ostaje table). */
  .tura-tab-panel.active[data-panel="putni"],
  #turaNaloziPanel,
  #turaNaloziPanel > .card-panel-body { flex: 0 0 auto; }
  #turaNaloziPanel .tura-nalozi-scroll { flex: 0 0 auto; max-height: none; }
  #turaNaloziPanel #tblTuraNalozi { display: table; }

  /* ===== /Ture/Kartica — sve tabele ===== */
  /* Zbir goriva / AdBlue i porez dnevnica JS pali atributom hidden; display iz osnove B6 bi ih prikazao prazne
     (autorski display gazi HTML [hidden]) — isto pravilo kao .lookup-row[hidden] u site.css. */
  #turaKarticaForm table[hidden] { display: none; }

  /* ===== /Ture/Kartica — Kurs + taster … (tab Dnevnice posade, tab Isplata) ===== */
  /* <style> na strani (#turaKarticaForm .form-kurs-wrap > .form-kurs, calc(14ch + 1.1rem) + 28 px ≈ 151 px) je širi od
     kolone na telefonu (~149 px) — jači selektor: kurs puni kolonu, taster … ostaje 28 px. */
  #turaKarticaForm .form-row .form-kurs-wrap { display: flex; width: 100%; }
  #turaKarticaForm .form-row .form-kurs-wrap > .form-kurs { flex: 1 1 auto; width: auto; min-width: 0; }

  /* ===== /Ture/Kartica — tab Dnevnice posade ===== */
  /* Naslov: tekst sme u više redova (na PC-u jedan red sa „…“), Tip člana + „+ Član posade“ prelaze u novi red desno. */
  .dnevnice-title-row { flex-wrap: wrap; }
  .dnevnice-title-row > span:first-child { flex: 1 1 100%; white-space: normal; }
  .dnevnice-title-akcije { margin-left: auto; }
  /* Obračun dnevnica: naslov, period i taster Obračunaj se lome u novi red. */
  .dnev-obracun-naslov { flex-wrap: wrap; }
  /* Član posade (zlatna traka): polja glave, iznosi i Napomena — svaki blok cela širina. Na PC-u: polja po sadržaju
     (Relacija 80ch, flex 0 0 auto), iznosi 3 kolone max-content, Napomena desno sa margin-left calc(3mm - 20px).
     Isti raspored daje i JS šablon posadaHtml() (iste klase). */
  .posada-glava-polja .posada-polja { flex: 1 1 100%; min-width: 0; }
  .tura-kartica-form .posada-glava-polja > .posada-polja-desno {
    flex: 1 1 100%;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* Km / iznosi su 16rem / 8.5rem (§7b) — u koloni od ~149 px pune kolonu. */
  .tura-kartica-form .posada-polja-desno .form-row > .form-input { width: 100%; max-width: 100%; }
  /* Porez 10% + kvačica „Bez poreza (samo obračun)“ (nowrap) — ceo red, kvačica sme ispod polja. */
  .tura-kartica-form .posada-polja-desno > .form-row:has(.posada-porez-red) { grid-column: 1 / -1; }
  .posada-porez-red { flex-wrap: wrap; }
  .posada-napomena-kol { flex: 1 1 100%; min-width: 0; max-width: none; margin-left: 0; }

  /* ===== /Ture/Kartica — tab Isplata (+ Porez BOP na tabu Dnevnice, ista .isplata-grid) ===== */
  /* PC kolone 10rem / 18rem, a ≤ 1100 px 2 × min 9rem + 5 mm = 307 px — šire od panela na telefonu (~306 px). */
  .isplata-layout { align-items: stretch; }
  .tura-kartica-form .isplata-grid { column-gap: 2mm; }
  /* Prazne ćelije (aria-hidden, bez podataka) služe samo poravnanju PC kolona. */
  .tura-kartica-form .isplata-grid > .isplata-prazno { display: none; }
  /* Put i gorivo: 6 uskih kolona — Datum | Kurs po pola reda, Km početak | kraj | razlika i Lit | Prosek | AdBlue po
     trećinu (isti redovi kao na PC-u). */
  .tura-kartica-form .isplata-grid-3 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .tura-kartica-form .isplata-grid-3 > .form-row { grid-column: span 2; }
  .tura-kartica-form .isplata-grid-3 > .form-row:has(input[type="date"]),
  .tura-kartica-form .isplata-grid-3 > .form-row:has(.form-kurs-wrap) { grid-column: span 3; }
  /* Porez (BOP) na tabu Dnevnice (PC 18rem 10rem 10rem): BOP broj (17–20 cifara) ceo red, PID | BOP porez ispod. */
  .tura-kartica-form .isplata-grid-3:has(.isp-bop) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tura-kartica-form .isplata-grid-3:has(.isp-bop) > .form-row { grid-column: auto; }
  .tura-kartica-form .isplata-grid-3:has(.isp-bop) > .form-row:has(.isp-bop) { grid-column: 1 / -1; }
  /* Zarada vozača: opis odlaska / povratka (+ FTL/LTL) ceo red, pa Osnova | % | Zarada u tri kolone, zatim
     Bonusi / umanjenja | Bonus 1 | Bonus 2 i Ukupna (isti redovi kao PC, korisnik 2026-09-27). */
  .tura-kartica-form .isplata-grid-zarada { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tura-kartica-form .isplata-grid-zarada > .form-row:has(.isp-opis-wrap) { grid-column: 1 / -1; }
  /* Isplata vozaču: parovi RSD | EUR (korisnik 2026-09-27), pa Akontacija … Stanje po dva u redu. */
  .tura-kartica-form .isplata-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  /* ===== /Sluzbena/Kartica ===== */
  /* Kurs + taster …: calc(14ch + 1.1rem) + 28 px; ako je kolona uža, polje kursa se skuplja (taster ostaje). */
  #sluzbenaForm .form-row > .form-kurs-wrap > .form-kurs { flex: 0 1 auto; min-width: 0; }
  /* Kretanja / Troškovi: tabela skroluje vodoravno u svom .grid-scroll, vertikalno skroluje kartica — na PC-u .grid-scroll
     ima max 52vh, na telefonu bi to bio skrol u skrolu. */
  #sluzbenaForm .grid-scroll { max-height: none; }

  /* ===== /Tracking/Kartica ===== */
  /* Tracking i Mapa jedan ispod drugog (.faktura-glava ≤ 900 px): na PC-u glava puni visinu do Snimi (flex + height 100%,
     site.css „Tracking kartica“), na telefonu visina po sadržaju — skroluje kartica. Mapa i poruka „Unesi GPS“ fiksne
     visine (inače ram ~150 px, a poruka visine jednog reda teksta: min-height 0 iz PC pravila). */
  .kartica-scroll .tracking-glava { flex: 0 0 auto; }
  .kartica-scroll .tracking-glava .faktura-glava-levo,
  .kartica-scroll .tracking-glava .faktura-glava-desno { height: auto; }
  .kartica-scroll .tracking-glava .tracking-map-frame,
  .kartica-scroll .tracking-glava .tracking-map-placeholder { flex: 0 0 auto; height: 240px; }

  /* ===== /Refakcija/Obracun ===== */
  /* Forma Zahtev je unutar .kartica-scroll, posle dve tabele: .kartica-form ima flex 1 + min-height 0 + overflow hidden,
     pa kad su tabele više od ekrana forma dobije visinu 0 i ne vidi se. Na telefonu visina po sadržaju. (Jedina takva
     strana — provereno grep-om 2026-10-08.) */
  .kartica-scroll > form.kartica-form { flex: 0 0 auto; overflow: visible; }
  /* Filter Period: padajuća lista (dug tekst perioda · datumi · RSD/L) ceo red, tasteri štampe ispod. */
  .kartica-top > .izvestaj-filter .izvestaj-label { flex: 1 1 100%; min-width: 0; }
  .kartica-top > .izvestaj-filter .izvestaj-label .form-input { min-width: 0; }

  /* ===== /Refakcija/Kartica ===== */
  /* Panel Račun JS sakriva atributom hidden (vrsta ≠ Točenje) — ako osnova da .card-panel display, hidden mora da važi. */
  .kartica-form .akciza-racun[hidden] { display: none; }
}

/* ---------- TELEFON — kartice: fakture, ulazni računi, izvodi, kurs i šifarnici finansija (korisnik 2026-10-08) ---------- */
/* Samo do 700 px (ista granica kao rmxJeTelefon u _Layout.cshtml i ostali TELEFON blokovi) — PC izgled se ne menja.
   Korisnik 2026-10-08: „kartice na mob telefonu … prilagođeno za telefon, ne da se šeta levo-desno“. Ovde samo ono sto je
   posebno za stranice finansija; opsta pravila kartica (jedna kolona polja, paneli jedan ispod drugog, tabele u svom
   okviru, dijalozi do sirine ekrana) su u osnovnom TELEFON bloku kartica. Pravilo: docs/ui_toolbar.md §7f.
   Kurs, Tekuci racuni, Neoporezivi iznosi, Napomene SEF, Vrste troskova: dovoljno je osnovno pravilo (nema svojih pravila). */
@media (max-width: 700px) {

  /* --- Placanje (/Fakture/Kartica #fakturaUplate, /UlazneFakture/Kartica #ulaznaPlacanja; site.css .faktura-placanje-*) --- */
  /* Okvir polja je na PC-u sirok po sadrzaju (~200 px) pa je Napomena za placanje uska; na telefonu okvir preko celog reda,
     polja zadrzavaju svoje sirine (§7b), tabela uplata pada ispod. Angazovani ima svoje pravilo (#angazovaniForm). */
  #fakturaUplate .faktura-placanje-telo > .faktura-placanje-polja,
  #ulaznaPlacanja .faktura-placanje-telo > .faktura-placanje-polja { flex: 1 1 100%; }
  /* Iznos · Placeno · Otvoreno: na PC-u jedan red bez preloma (gap 6 mm) — na telefonu prelom umesto prelaska ivice. */
  #fakturaUplate .faktura-uplate-zbir,
  #ulaznaPlacanja .faktura-uplate-zbir { flex-wrap: wrap; row-gap: 1mm; }

  /* --- /Fakture/Kartica --- */
  /* Dokument red 1 (Pages/Fakture/Kartica.cshtml): prazna celija i nevidljiva labela iznad XML / PDF sluze samo poravnanju
     5 kolona na PC-u; u jednoj koloni prave prazan red. Red XML / PDF bez fajla sa portala nema sadrzaja — ne crta se. */
  .kartica-form .form-grid-5:has(> .faktura-sef-portal-btns) > .form-row[aria-hidden="true"] { display: none; }
  .kartica-form .form-grid-5 > .faktura-sef-portal-btns > label { display: none; }
  .kartica-form .form-grid-5 > .faktura-sef-portal-btns:not(:has(.sef-portal-btn)) { display: none; }
  /* Vozilo / tura: na PC-u dve kolone 1fr 1fr (site.css .faktura-vozilo-grid, jace od osnovnog pravila) — na telefonu
     jedna, da Tip prevoza / Vozilo / Vozac nisu po ~150 px. */
  .kartica-form .form-grid.faktura-vozilo-grid { grid-template-columns: minmax(0, 1fr); }

  /* --- Tabele unosa stavki kao kartice: #tblStavke (/Fakture/Kartica i /Izvodi/Kartica), #tblRaspodela (/UlazneFakture/Kartica) ---
     Na PC-u tabela min. 54rem (site.css .stavke-edit-table) — na telefonu red = mreza od 6 kolona (Rb | 4 jednake | ×),
     labela iznad polja = tekst <th> te kolone (td::before; menjati zajedno sa <th> i sa redom koji pravi JS — isti redosled
     <td>). Ista polja, isti name / JS; zaglavlje kolona se ne crta jer je labela uz svako polje. id = jace od <style> stranica. */
  #tblStavke,
  #tblRaspodela { display: block; width: 100%; min-width: 0; overflow: visible; }
  #tblStavke > colgroup,
  #tblStavke > thead,
  #tblRaspodela > thead { display: none; }
  #tblStavke > tbody,
  #tblRaspodela > tbody { display: block; }
  #tblStavke > tbody > tr.stavka-row,
  #tblRaspodela > tbody > tr.rasp-red {
    display: grid;
    grid-template-columns: auto repeat(4, minmax(0, 1fr)) auto;
    gap: 1mm;
    align-items: end;
    padding: 2mm 1mm;
    border-bottom: 1px solid var(--rmx-edge);
  }
  #tblStavke > tbody > tr.stavka-row > td,
  #tblRaspodela > tbody > tr.rasp-red > td {
    display: block;
    width: auto;
    min-width: 0;
    max-width: none;
    padding: 0;
    border: 0;
    text-align: left;
    white-space: normal;
  }
  /* Labela = izgled labela kartice (.kartica-form .form-row label). */
  #tblStavke > tbody > tr.stavka-row > td::before,
  #tblRaspodela > tbody > tr.rasp-red > td::before {
    display: block;
    margin-bottom: 3px;
    font-size: var(--rmx-label-font-size);
    font-weight: 600;
    line-height: 1.15;
    color: #4a5560;
  }
  /* Rb u ravni sa poljem (visina polja 28 px). */
  #tblStavke > tbody > tr.stavka-row > td.stavka-rb-cell,
  #tblRaspodela > tbody > tr.rasp-red > td.stavka-rb-cell { grid-area: rb; line-height: 28px; }

  /* Stavke fakture: 1 Rb, 2 Opis, 3 JM, 4 Kol, 5 Cena EUR, 6 Cena DIN (I-faktura: JS je sakriva — ostaje prazno mesto),
     7 Napomena, 8 Iznos EUR, 9 × (Pages/Fakture/Kartica.cshtml tbl + JS dodajStavku). #tblStavke postoji samo na
     /Fakture i /Izvodi — :not(.izvod-kartica) = faktura. Napomena: site.css .col-napomena min 14rem ponisteno iznad. */
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row {
    grid-template-areas:
      "rb  opis opis opis opis del"
      "jm  jm   jm   kol  kol  kol"
      "eur eur  eur  din  din  din"
      "nap nap  nap  izn  izn  izn";
  }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(2) { grid-area: opis; }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(3) { grid-area: jm; }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(4) { grid-area: kol; }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(5) { grid-area: eur; }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(6) { grid-area: din; }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(7) { grid-area: nap; }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(8) { grid-area: izn; }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(9) { grid-area: del; }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(2)::before { content: "Opis"; }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(3)::before { content: "JM"; }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(4)::before { content: "Kol"; }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(5)::before { content: "Cena EUR"; }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(6)::before { content: "Cena DIN"; }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(7)::before { content: "Napomena"; }
  .kartica-page:not(.izvod-kartica) #tblStavke > tbody > tr.stavka-row > td:nth-child(8)::before { content: "Iznos EUR"; }

  /* --- /UlazneFakture/Kartica --- */
  /* Iznosi: prazna celija (.ulazna-iznos-spacer) poravnava 3 kolone na PC-u; u uzoj mrezi bi pomerila parove polja. */
  .ulazna-kartica .form-grid-3 > .ulazna-iznos-spacer { display: none; }
  /* Vozilo / Vozac: padajuca lista preko celog reda, tasteri Dokument / Servis ispod (inace lista ~100 px i registracija
     se ne vidi). Samo parovi sa <select>; Dobavljac (typeahead + dva mala tastera) staje. */
  .ulazna-kartica .form-inline-pair:has(> select) { flex-wrap: wrap; }
  .ulazna-kartica .form-inline-pair > select.form-input { flex: 1 1 100%; }
  /* Raspodela: 1 Rb, 2 Vrsta troska, 3 Tura, 4 Nalog, 5 EUR, 6 DIN, 7 Zemlja, 8 Opis, 9 Ulazi, 10 Prefak, 11 ×
     (Pages/UlazneFakture/Kartica.cshtml tbl + JS raspRedHtml — menjati zajedno). Tura i Nalog svaki svoj red (polje + …). */
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red {
    grid-template-areas:
      "rb   vrs  vrs  vrs  vrs  del"
      "tura tura tura tura tura tura"
      "nal  nal  nal  nal  nal  nal"
      "eur  eur  eur  din  din  din"
      "zem  zem  opis opis opis opis"
      "ula  ula  pre  pre  .    .";
  }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(2) { grid-area: vrs; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(3) { grid-area: tura; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(4) { grid-area: nal; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(5) { grid-area: eur; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(6) { grid-area: din; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(7) { grid-area: zem; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(8) { grid-area: opis; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(9) { grid-area: ula; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(10) { grid-area: pre; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(11) { grid-area: del; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(2)::before { content: "Vrsta troska"; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(3)::before { content: "Tura"; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(4)::before { content: "Nalog"; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(5)::before { content: "EUR"; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(6)::before { content: "DIN"; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(7)::before { content: "Zemlja"; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(8)::before { content: "Opis"; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(9)::before { content: "Ulazi"; }
  .ulazna-kartica #tblRaspodela > tbody > tr.rasp-red > td:nth-child(10)::before { content: "Prefak"; }
  /* <style> stranice daje min-sirine kolona tabele (veza 12rem, opis 9rem, zemlja 4.6rem) — u kartici reda polje = celija. */
  .ulazna-kartica #tblRaspodela .ulazna-rasp-veza { min-width: 0; }
  .ulazna-kartica #tblRaspodela .rasp-opis,
  .ulazna-kartica #tblRaspodela .rasp-zemlja { width: 100%; min-width: 0; }

  /* --- /Izvodi (lista) — pregled Stavke ispod liste --- */
  /* Na PC-u natpis „Stavke“ i nazivi kolona stoje, skroluje samo .izvod-stavke-scroll (<style> u Pages/Izvodi/Index.cshtml,
     korisnik 2026-10-09). Na telefonu stavke su kartice (lista-tel) — skroluje ceo blok kao ranije. #stavkePanel = jace od
     <style> stranice (ona dolazi posle site.css). */
  #stavkePanel .izvod-stavke-block { display: block; overflow: auto; padding-bottom: 8px; }
  #stavkePanel .izvod-stavke-block > .izvod-stavke-scroll { overflow: visible; margin-bottom: 0; }

  /* --- /Izvodi/Kartica --- */
  /* Na PC-u glava izvoda stoji (.kartica-fixed), skroluju samo redovi stavki (<style> stranice: .kartica-scroll overflow
     hidden). Na telefonu bi glava u jednoj koloni pojela ekran, a Napomena i Snimi bi se odsekli — zato skroluje cela
     forma, Snimi / Odustani zalepljeni dole (pozadina = .app-body --rmx-bg). Isti obrazac kao /Board/KarticaNalog na
     telefonu. id forme = jace od <style> na stranici. JS: lista predloga se krije na skrol stavki — v. 03_finansije.md. */
  #izvod-kartica-form { overflow-y: auto; -webkit-overflow-scrolling: touch; }
  #izvod-kartica-form > .kartica-fixed,
  #izvod-kartica-form > .kartica-scroll { flex: 0 0 auto; min-height: 0; overflow: visible; }
  #izvod-kartica-form > .kartica-scroll > .card-panel.izvod-stavke-panel { flex: 0 0 auto; }
  #izvod-kartica-form .izvod-stavke-panel .card-panel-body { overflow: visible; }
  #izvod-kartica-form .stavke-table-wrap { flex: 0 0 auto; min-height: 0; overflow: visible; }
  /* margin-top auto: kad je izvod kratak, Snimi ostaje na dnu ekrana (kao ranije), a ne odmah ispod Napomene. */
  #izvod-kartica-form > .kartica-actions {
    position: sticky;
    bottom: 0;
    z-index: 3;
    margin-top: auto;
    background: var(--rmx-bg);
  }
  /* Glava: levo (datum, broj, tekuci, zbirovi) i desno (fajl, Procitaj izvod) jedno ispod drugog — na PC-u dve polovine. */
  .izvod-kartica .kartica-fixed .izvod-glava-body { flex-direction: column; }
  .izvod-kartica .kartica-fixed .izvod-glava-levo,
  .izvod-kartica .kartica-fixed .izvod-glava-desno { flex: 0 0 auto; }
  /* Datum | Broj izvoda: prelom ako ne staju (~297 px u ~306 px — zavisi od fonta u Prikazu). */
  .izvod-kartica .kartica-form .izvod-glava-red { flex-wrap: wrap; }
  .izvod-kartica .kartica-form .izvod-glava-red > .form-row { flex: 0 1 auto; width: auto; max-width: 100%; }
  /* Tekuci racun ceo red; ispod Valuta | Zaduzenje | Odobrenje u jednom redu (na PC-u zbirovi 8.5rem u redu bez preloma,
     ~350 px — prelazili bi ivicu). Zbirovi dele ostatak reda, ostaju desno poravnati (input.form-input-iznos). */
  .izvod-kartica .kartica-form .izvod-tekuci-red { flex-wrap: wrap; }
  .izvod-kartica .kartica-form .izvod-tekuci-red > .izvod-tekuci { flex: 1 1 100%; }
  .izvod-kartica .kartica-form .izvod-zbir-red {
    flex: 1 1 100%;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
  }
  .izvod-kartica .kartica-form .izvod-zbir-red > .form-row:not(.form-row-wide) > .form-input-iznos { width: 100%; max-width: 100%; }
  /* Saldo (2026-10-09) u drugom redu ispod Zaduzenje / Odobrenje, preko obe kolone. */
  .izvod-kartica .kartica-form .izvod-zbir-red > .izvod-saldo-red { grid-column: 2 / -1; }
  /* Stavke izvoda: 1 Rb, 2 Partner, 3 Vrsta troska, 4 Opis, 5 Zaduzenje, 6 Odobrenje, 7 Raspodela + ×
     (Pages/Izvodi/Kartica.cshtml tbl + JS dodajStavku — menjati zajedno). Tasteri u jednom redu (kao .izvod-akcije-cell). */
  .izvod-kartica #tblStavke > tbody > tr.stavka-row {
    grid-template-areas:
      "rb  par  par  par  par  akc"
      "vrs vrs  vrs  opis opis opis"
      "zad zad  zad  odb  odb  odb";
  }
  .izvod-kartica #tblStavke > tbody > tr.stavka-row > td:nth-child(2) { grid-area: par; }
  .izvod-kartica #tblStavke > tbody > tr.stavka-row > td:nth-child(3) { grid-area: vrs; }
  .izvod-kartica #tblStavke > tbody > tr.stavka-row > td:nth-child(4) { grid-area: opis; }
  .izvod-kartica #tblStavke > tbody > tr.stavka-row > td:nth-child(5) { grid-area: zad; }
  .izvod-kartica #tblStavke > tbody > tr.stavka-row > td:nth-child(6) { grid-area: odb; }
  .izvod-kartica #tblStavke > tbody > tr.stavka-row > td:nth-child(7) { grid-area: akc; white-space: nowrap; }
  .izvod-kartica #tblStavke > tbody > tr.stavka-row > td:nth-child(2)::before { content: "Partner"; }
  .izvod-kartica #tblStavke > tbody > tr.stavka-row > td:nth-child(3)::before { content: "Vrsta troska"; }
  .izvod-kartica #tblStavke > tbody > tr.stavka-row > td:nth-child(4)::before { content: "Opis"; }
  .izvod-kartica #tblStavke > tbody > tr.stavka-row > td:nth-child(5)::before { content: "Zaduzenje"; }
  .izvod-kartica #tblStavke > tbody > tr.stavka-row > td:nth-child(6)::before { content: "Odobrenje"; }

  /* --- Prozor raspodele (Pages/Shared/_RaspodelaDlg.cshtml, site.css .rasp-*; Fakture / Ulazni / Izvodi / Placanja) --- */
  /* Sirinu prozora ogranicava osnovno pravilo dijaloga; ovde unutrasnji raspored. Glava stavke (Izvod / Partner / Opis /
     Uplata) u jednoj koloni umesto dve. */
  .confirm-box.rasp-box .rasp-glava { grid-template-columns: minmax(0, 1fr); }
  /* Uplata · Rasporedjeno · Nerasporedjeno: prelom umesto prelaska ivice (na PC-u jedan red, gap 6 mm). */
  .confirm-box.rasp-box .rasp-zbir { flex-wrap: wrap; gap: 1mm 4mm; }
  /* Uplate upisane pre izvoda (Poveži): tabela nema svoj okvir za skrol — skroluje okvir .rasp-ceka, ne prozor. */
  .confirm-box.rasp-box .rasp-ceka { overflow-x: auto; }
  /* Ako glava + filteri + tabela + zbir ne stanu u 92vh (nizak ekran), skroluje prozor — Snimi / Odustani dostupni. */
  .confirm-box.rasp-box { overflow-y: auto; }
}

/* Faktura / angazovani — pretraga kupca / prevoznika (#kupacTypeahead, #prevoznikTypeahead): na PC-u min-width 30rem (360 px), na telefonu je u panelu ~331 px
   pa je polje izlazilo preko ivice panela (merenje u browseru 375 px, 2026-10-08). Ovde puna sirina reda, bez min-width;
   red .faktura-kupac-partner-row (pretraga + tasteri) sme da se skupi. Ostalo kao PC. (korisnik 2026-10-08) */
@media (max-width: 700px) {
  /* id u selektoru = jace od PC pravila „#kupacTypeahead, #prevoznikTypeahead … 30rem“ (isto polje prevoznika na
     /Angazovani/Kartica). */
  .kartica-form #kupacTypeahead, .kartica-form #kupacTypeahead .form-input,
  .kartica-form #prevoznikTypeahead, .kartica-form #prevoznikTypeahead .form-input,
  .kartica-form .faktura-kupac-partner-row .partner-typeahead-field { min-width: 0; width: 100%; flex: 1 1 auto; }
  .kartica-form .faktura-kupac-partner-row { min-width: 0; }
}

/* ---------- TELEFON — kartice: partneri, dobavljači, CRM, vozila, zaposleni, šifarnici (korisnik 2026-10-08) ---------- */
/* Korisnik 2026-10-08: „kartice na mob telefonu … prilagodjeno za telefon, ne da se seta levo-desno“. Samo do 700 px
   (ista granica kao window.rmxJeTelefon u _Layout.cshtml i ostali blokovi TELEFON). Opste kartice (B1–B9) su u bloku
   pre ovoga; ovde samo ono sto je posebno za stranice: Partneri / Dobavljaci (tabovi Kontakti, Adrese, Racuni,
   Aktivnosti; i u prozoru embed=1), Vozila, Zaposleni. CRM kartice (Crm/Kartica, Adresa, Aktivnost, Racun), Gume, Oprema,
   Vrste* i TipoviDokumenata nemaju svoje pravilo — dovoljna su opsta. PC (> 700 px) se ne menja. */
@media (max-width: 700px) {

  /* --- zajednicko: tabela u kartici = red kao blok (naziv kolone sivo levo, vrednost desno od njega) ---
     Zasto: tabele od 5–7 kolona sa zaglavljem bez prelamanja (.grid th nowrap) su sire od telefona (~380–560 px prema
     ~306 px u panelu), pa bi Izmena / Brisanje / Kartica na kraju reda bili van ekrana. Isti obrazac kao Kamioni /
     Nalozi na telefonu (.kam-kv: naziv sivo 12px, vrednost do kraja reda). Zaglavlje se ne vidi — naziv kolone ide kao
     ::before ispred vrednosti (tekst = <th> u markupu, menjati zajedno — vidi grupe ispod). Prazna celija se ne crta.
     Vazi za: Partneri / Dobavljaci child tabele (.partner-kontakti-grid, i Dozvole je koristi — zato samo kroz id forme),
     Vozila #vozilo-dok-grid / #vozilo-srv-grid (JS osvezi pravi iste celije), Zaposleni tabele Dokumenti i Senka.
     Vozila: tabela ima atribut hidden kad nema redova — display samo za :not([hidden]). (korisnik 2026-10-08) */
  #frmPartnerKartica .partner-kontakti-grid,
  #frmDobavljacKartica .partner-kontakti-grid,
  .kartica-form #vozilo-dok-grid:not([hidden]),
  .kartica-form #vozilo-srv-grid:not([hidden]),
  .kartica-form:has(> #Z_Id) .card-panel-body > table.grid {
    display: block;
    width: 100%;
    min-width: 0;
  }
  #frmPartnerKartica .partner-kontakti-grid > thead,
  #frmDobavljacKartica .partner-kontakti-grid > thead,
  .kartica-form #vozilo-dok-grid > thead,
  .kartica-form #vozilo-srv-grid > thead,
  .kartica-form:has(> #Z_Id) .card-panel-body > table.grid > thead { display: none; }
  #frmPartnerKartica .partner-kontakti-grid > tbody,
  #frmDobavljacKartica .partner-kontakti-grid > tbody,
  .kartica-form #vozilo-dok-grid > tbody,
  .kartica-form #vozilo-srv-grid > tbody,
  .kartica-form:has(> #Z_Id) .card-panel-body > table.grid > tbody {
    display: block;
    border-top: 1px solid var(--rmx-edge);   /* gornja ivica umesto tamnog zaglavlja (ista linija kao .grid td) */
  }
  /* Red: 1. red = prva kolona (naslov) levo + akcije desno; ostale kolone svaka u svom redu ispod. Zebra / izbor reda
     (.grid tbody tr:nth-child(even), .lista-row.is-selected) ostaju iz osnovnog stila. */
  #frmPartnerKartica .partner-kontakti-grid > tbody > tr,
  #frmDobavljacKartica .partner-kontakti-grid > tbody > tr,
  .kartica-form #vozilo-dok-grid > tbody > tr,
  .kartica-form #vozilo-srv-grid > tbody > tr,
  .kartica-form:has(> #Z_Id) .card-panel-body > table.grid > tbody > tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 8px;
    padding: 7px 10px;
    border-bottom: 1px solid var(--rmx-edge);
  }
  /* Celija = naziv (::before, 6rem) + vrednost; dugacak tekst (email, broj racuna, opis) se lomi u svom redu.
     width auto: .partner-kontakti-aktivan 5.5rem / -akcije 4.8rem su sirine kolone za PC (site.css „Partneri — child tabele“). */
  #frmPartnerKartica .partner-kontakti-grid > tbody > tr > td,
  #frmDobavljacKartica .partner-kontakti-grid > tbody > tr > td,
  .kartica-form #vozilo-dok-grid > tbody > tr > td,
  .kartica-form #vozilo-srv-grid > tbody > tr > td,
  .kartica-form:has(> #Z_Id) .card-panel-body > table.grid > tbody > tr > td {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    gap: 8px;
    width: auto;
    min-width: 0;
    padding: 0;
    border: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  #frmPartnerKartica .partner-kontakti-grid > tbody > tr > td::before,
  #frmDobavljacKartica .partner-kontakti-grid > tbody > tr > td::before,
  .kartica-form #vozilo-dok-grid > tbody > tr > td::before,
  .kartica-form #vozilo-srv-grid > tbody > tr > td::before,
  .kartica-form:has(> #Z_Id) .card-panel-body > table.grid > tbody > tr > td::before {
    flex: 0 0 6rem;
    color: var(--rmx-muted);
    font-size: 12px;
    font-weight: 400;
    text-align: left;
    overflow-wrap: normal;
  }
  /* Iznos (td.num — Trosak / Iznos na Vozilu) ostaje desno, kao u koloni liste (ui_toolbar.md §10). */
  .kartica-form #vozilo-dok-grid > tbody > tr > td.num,
  .kartica-form #vozilo-srv-grid > tbody > tr > td.num { justify-content: space-between; }
  /* Prva kolona = naslov reda (bez naziva ispred). */
  #frmPartnerKartica .partner-kontakti-grid > tbody > tr > td:first-child,
  #frmDobavljacKartica .partner-kontakti-grid > tbody > tr > td:first-child,
  .kartica-form #vozilo-dok-grid > tbody > tr > td:first-child,
  .kartica-form #vozilo-srv-grid > tbody > tr > td:first-child,
  .kartica-form:has(> #Z_Id) .card-panel-body > table.grid > tbody > tr > td:first-child {
    grid-column: 1;
    grid-row: 1;
    display: block;
    font-weight: 600;
  }
  /* Vozila nema kolonu akcija (Novi / Izmena su iznad tabele) — naslov ide preko celog reda. */
  .kartica-form #vozilo-dok-grid > tbody > tr > td:first-child,
  .kartica-form #vozilo-srv-grid > tbody > tr > td:first-child { grid-column: 1 / -1; }
  /* Akcije (olovka / korpa; Zaposleni: Kartica / Brisi) desno u prvom redu — uvek vidljive bez pomeranja. */
  #frmPartnerKartica .partner-kontakti-grid > tbody > tr > td.partner-kontakti-akcije,
  #frmDobavljacKartica .partner-kontakti-grid > tbody > tr > td.partner-kontakti-akcije,
  .kartica-form:has(> #Z_Id) .card-panel-body > table.grid > tbody > tr > td:last-child {
    grid-column: 2;
    grid-row: 1;
    display: block;
    align-self: start;
    white-space: nowrap;
    text-align: right;
  }

  /* --- Partneri / Dobavljaci: nazivi kolona child tabela (= <th> u Pages/Partneri/Kartica.cshtml, Pages/Dobavljaci/
     Kartica.cshtml i Pages/Shared/_RacuniTab.cshtml — nova / promenjena kolona = promeniti i ovde) (korisnik 2026-10-08) --- */
  /* Kontakti: Ime | Funkcija | Telefon | Email | Aktivan | akcije */
  #frmPartnerKartica [data-panel="kontakti"] .partner-kontakti-grid > tbody > tr > td:nth-child(2)::before,
  #frmDobavljacKartica [data-panel="kontakti"] .partner-kontakti-grid > tbody > tr > td:nth-child(2)::before { content: "Funkcija"; }
  #frmPartnerKartica [data-panel="kontakti"] .partner-kontakti-grid > tbody > tr > td:nth-child(3)::before,
  #frmDobavljacKartica [data-panel="kontakti"] .partner-kontakti-grid > tbody > tr > td:nth-child(3)::before { content: "Telefon"; }
  #frmPartnerKartica [data-panel="kontakti"] .partner-kontakti-grid > tbody > tr > td:nth-child(4)::before,
  #frmDobavljacKartica [data-panel="kontakti"] .partner-kontakti-grid > tbody > tr > td:nth-child(4)::before { content: "Email"; }
  #frmPartnerKartica [data-panel="kontakti"] .partner-kontakti-grid > tbody > tr > td:nth-child(5)::before,
  #frmDobavljacKartica [data-panel="kontakti"] .partner-kontakti-grid > tbody > tr > td:nth-child(5)::before { content: "Aktivan"; }
  /* Adrese (samo Partneri): Naziv | Adresa | Posta i mesto | Vazi od | Glavna | akcije */
  #frmPartnerKartica [data-panel="adrese"] .partner-kontakti-grid > tbody > tr > td:nth-child(2)::before { content: "Adresa"; }
  #frmPartnerKartica [data-panel="adrese"] .partner-kontakti-grid > tbody > tr > td:nth-child(3)::before { content: "Posta i mesto"; }
  #frmPartnerKartica [data-panel="adrese"] .partner-kontakti-grid > tbody > tr > td:nth-child(4)::before { content: "Vazi od"; }
  #frmPartnerKartica [data-panel="adrese"] .partner-kontakti-grid > tbody > tr > td:nth-child(5)::before { content: "Glavna"; }
  /* Racuni (_RacuniTab): Broj racuna | Banka | Valuta | Izvor | Aktivan | akcije */
  #frmPartnerKartica [data-panel="racuni"] .partner-kontakti-grid > tbody > tr > td:nth-child(2)::before,
  #frmDobavljacKartica [data-panel="racuni"] .partner-kontakti-grid > tbody > tr > td:nth-child(2)::before { content: "Banka"; }
  #frmPartnerKartica [data-panel="racuni"] .partner-kontakti-grid > tbody > tr > td:nth-child(3)::before,
  #frmDobavljacKartica [data-panel="racuni"] .partner-kontakti-grid > tbody > tr > td:nth-child(3)::before { content: "Valuta"; }
  #frmPartnerKartica [data-panel="racuni"] .partner-kontakti-grid > tbody > tr > td:nth-child(4)::before,
  #frmDobavljacKartica [data-panel="racuni"] .partner-kontakti-grid > tbody > tr > td:nth-child(4)::before { content: "Izvor"; }
  #frmPartnerKartica [data-panel="racuni"] .partner-kontakti-grid > tbody > tr > td:nth-child(5)::before,
  #frmDobavljacKartica [data-panel="racuni"] .partner-kontakti-grid > tbody > tr > td:nth-child(5)::before { content: "Aktivan"; }
  /* Aktivnosti: Datum | Vrsta | Opis | Ko | akcije */
  #frmPartnerKartica [data-panel="aktivnosti"] .partner-kontakti-grid > tbody > tr > td:nth-child(2)::before,
  #frmDobavljacKartica [data-panel="aktivnosti"] .partner-kontakti-grid > tbody > tr > td:nth-child(2)::before { content: "Vrsta"; }
  #frmPartnerKartica [data-panel="aktivnosti"] .partner-kontakti-grid > tbody > tr > td:nth-child(3)::before,
  #frmDobavljacKartica [data-panel="aktivnosti"] .partner-kontakti-grid > tbody > tr > td:nth-child(3)::before { content: "Opis"; }
  #frmPartnerKartica [data-panel="aktivnosti"] .partner-kontakti-grid > tbody > tr > td:nth-child(4)::before,
  #frmDobavljacKartica [data-panel="aktivnosti"] .partner-kontakti-grid > tbody > tr > td:nth-child(4)::before { content: "Ko"; }

  /* --- Partneri / Dobavljaci: traka naslova taba sa tasterima (Racuni: „Osvezi sa NBS“ + „Novi“) se prelama u novi red
     umesto da izadje iz panela na uskom telefonu (~320 px); isto kao Dozvole/Kartica .partner-kontakti-title (wrap).
     Raspored tastera kao na PC-u (bez pomeranja udesno). (korisnik 2026-10-08) --- */
  #frmPartnerKartica .partner-kontakti-title,
  #frmDobavljacKartica .partner-kontakti-title { flex-wrap: wrap; row-gap: 6px; }
  #frmPartnerKartica .racuni-akcije,
  #frmDobavljacKartica .racuni-akcije { flex-wrap: wrap; row-gap: 6px; }

  /* --- Partneri: red Sifra | PIB | Maticni broj | Provera na SEF / NBS ostaje flex sa prelamanjem i polja po sadrzaju
     (site.css .kartica-form .partner-sef-red); stiti ga ako opste pravilo telefona .form-row rasiri na ceo red. Drzava
     (_DrzavaIzbor + rmx-select-pretraga.js) dobija inline px sirinu omotaca pri ucitavanju — ne sme preko panela
     (max-width ne treba !important, inline je samo width). (korisnik 2026-10-08) --- */
  #frmPartnerKartica .partner-sef-red {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }
  #frmPartnerKartica .partner-sef-red > .form-row { flex: 0 0 auto; width: auto; }
  #frmPartnerKartica .rmx-sel-pretraga,
  #frmDobavljacKartica .rmx-sel-pretraga { max-width: 100%; }

  /* --- Vozila: zbir „Ukupni trosak dokumenata / servisa“ (stil na strani Pages/Vozila/Kartica.cshtml, label nowrap) —
     naziv sme u dva reda, polje iznosa ostaje fiksno 8.5rem (§7e: broj se ne skuplja). Selektor jaci od <style> na
     strani (on se ucitava posle site.css). (korisnik 2026-10-08) --- */
  .kartica-form .vozilo-panel-toolbar .vozilo-sum { min-width: 0; max-width: 100%; }
  .kartica-form .vozilo-panel-toolbar .vozilo-sum label { white-space: normal; min-width: 0; }
  .kartica-form .vozilo-panel-toolbar .vozilo-sum .form-input { flex: 0 0 8.5rem; }
  /* Vozila: prazna tabela (atribut hidden, JS osvezi) ostaje skrivena i kad opste pravilo telefona tabelama da display. */
  .kartica-form table#vozilo-dok-grid[hidden],
  .kartica-form table#vozilo-srv-grid[hidden] { display: none; }
  /* Vozila: nazivi kolona (= <th> u Pages/Vozila/Kartica.cshtml i redovi iz JS osvezi — menjati zajedno). */
  .kartica-form #vozilo-dok-grid > tbody > tr > td:nth-child(2)::before { content: "Broj"; }
  .kartica-form #vozilo-dok-grid > tbody > tr > td:nth-child(3)::before { content: "Vazi do"; }
  .kartica-form #vozilo-dok-grid > tbody > tr > td:nth-child(4)::before { content: "Trosak"; }
  .kartica-form #vozilo-dok-grid > tbody > tr > td:nth-child(5)::before { content: "Status"; }
  .kartica-form #vozilo-dok-grid > tbody > tr > td:nth-child(6)::before { content: "Prati"; }
  .kartica-form #vozilo-srv-grid > tbody > tr > td:nth-child(2)::before { content: "Vrsta"; }
  .kartica-form #vozilo-srv-grid > tbody > tr > td:nth-child(3)::before { content: "km"; }
  .kartica-form #vozilo-srv-grid > tbody > tr > td:nth-child(4)::before { content: "Iznos"; }
  .kartica-form #vozilo-srv-grid > tbody > tr > td:nth-child(5)::before { content: "Prati"; }
  /* Vozila: prozor Dokument / Servis (iframe embed=1) preko celog ekrana i IZNAD gornje trake telefona (z-index 1600 u
     bloku „TELEFON — okvir“; na strani je 200, pa bi traka pokrila naslov sa „Zatvori“). Visina = prozor (100% fiksnog
     overlay-a), ne 92vh — na telefonu vh ne racuna traku pregledaca, pa bi Snimi u prozoru bio odsecen. Selektor jaci od
     <style> na strani (#vozilo-dok-dlg .confirm-box). (korisnik 2026-10-08) */
  body #vozilo-dok-dlg,
  body #vozilo-srv-dlg { z-index: 1700; padding: 6px; }
  body #vozilo-dok-dlg .confirm-box,
  body #vozilo-srv-dlg .confirm-box {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
  }

  /* --- Zaposleni: tabele Dokumenti (posle p.page-note sa „Novi“) i Senka (posle p.empty-hint) — nazivi kolona
     (= <th> u Pages/Zaposleni/Kartica.cshtml, menjati zajedno); strana nema id tabele, pa :has(> #Z_Id) na formi.
     Ulazni bez veze se ne crta (celija ima samo razmake, :empty je ne hvata). (korisnik 2026-10-08) --- */
  .kartica-form:has(> #Z_Id) .card-panel-body > table.grid > tbody > tr > td:nth-child(2):not(:last-child)::before { content: "Broj"; }
  .kartica-form:has(> #Z_Id) .card-panel-body > table.grid > tbody > tr > td:nth-child(3):not(:last-child)::before { content: "Vazi do"; }
  .kartica-form:has(> #Z_Id) .card-panel-body > p.page-note + table.grid > tbody > tr > td:nth-child(4)::before { content: "Ulazni"; }
  .kartica-form:has(> #Z_Id) .card-panel-body > p.page-note + table.grid > tbody > tr > td:nth-child(5)::before { content: "Status"; }
  .kartica-form:has(> #Z_Id) .card-panel-body > p.page-note + table.grid > tbody > tr > td:nth-child(6)::before { content: "Prati"; }
  .kartica-form:has(> #Z_Id) .card-panel-body > p.page-note + table.grid > tbody > tr > td:nth-child(4):not(:has(a)) { display: none; }

  /* --- zajednicko (na kraju da pobedi naslov / akcije iste jacine): prazna celija se ne crta --- */
  #frmPartnerKartica .partner-kontakti-grid > tbody > tr > td:empty,
  #frmDobavljacKartica .partner-kontakti-grid > tbody > tr > td:empty,
  .kartica-form #vozilo-dok-grid > tbody > tr > td:empty,
  .kartica-form #vozilo-srv-grid > tbody > tr > td:empty,
  .kartica-form:has(> #Z_Id) .card-panel-body > table.grid > tbody > tr > td:empty { display: none; }
}

/* ---------- TELEFON — kartice: dokumenti, dozvole, servisi, beleške, podešavanja (korisnik 2026-10-08) ---------- */
/* Korisnik 2026-10-08: „pregledaj kartice na mob telefonu … prilagođeno za telefon, ne da se šeta levo-desno“.
   Samo do 700 px (ista granica kao blok „TELEFON — okvir“ i window.rmxJeTelefon u _Layout.cshtml — menjati zajedno);
   PC izgled se ne menja. Blok ide POSLE opšteg bloka kartica (B1–B9) i dopunjuje ga samo za ove stranice.
   Stranice imaju svoj <style> u body-ju (dolazi posle site.css), zato su selektori ovde namerno jači
   (.kartica-page.dozvola-kartica-lock, #frmFirmaKartica …) — ne skraćivati. Pravilo: docs/ui_toolbar.md §7f. */
@media (max-width: 700px) {

  /* --- Dokumenti /Dokumenti/Kartica (Pages/Dokumenti/Kartica.cshtml) --- */
  /* Tabela verzija (8 kolona) = kartica po verziji, kao liste na telefonu (blok „TELEFON — liste u stilu RMX TMS“):
     naslov „Verzija N“, pa nazivi i vrednosti u redu (naziv = td data-label u Pages/Dokumenti/Kartica.cshtml, isti kao
     <th>), Trošak svoj red desno, Fajl ceo red. Ranije je tabela skrolovala u okviru i sekla se (korisnik 2026-10-08
     19:25: „i ovo isečeno dole“). Glavna verzija = zelena traka levo, otvorena = boja izbora. */
  .kartica-form .dok-verzija-grid,
  .kartica-form .dok-verzija-grid > tbody { display: block; width: auto; max-width: 100%; border: 0; background: transparent; }
  .kartica-form .dok-verzija-grid > thead { display: none; }
  .kartica-form .dok-verzija-grid > tbody > tr {
    display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; margin-top: 8px; padding: 9px 12px 9px 15px;
    background: #fff; border: 0; border-radius: 12px; box-shadow: inset 4px 0 0 var(--rmx-accent), 0 1px 3px rgba(0, 0, 0, 0.12);
  }
  .kartica-form .dok-verzija-grid > tbody > tr:first-child { margin-top: 0; }
  .kartica-form .dok-verzija-grid > tbody > tr.dok-verzija-glavna { box-shadow: inset 4px 0 0 #2d6a4f, 0 1px 3px rgba(0, 0, 0, 0.12); }
  .kartica-form .dok-verzija-grid > tbody > tr.is-selected { background: #ffe8cc; box-shadow: inset 4px 0 0 #e0a35a, 0 1px 3px rgba(0, 0, 0, 0.12); }
  .kartica-form .dok-verzija-grid > tbody > tr > td {
    display: flex; align-items: baseline; gap: 4px; flex: 0 1 auto; min-width: 0; max-width: 100%;
    padding: 0; border: 0; background: transparent; box-shadow: none; font-size: 12px; white-space: normal; text-align: left;
  }
  .kartica-form .dok-verzija-grid > tbody > tr > td:empty { display: none; }
  .kartica-form .dok-verzija-grid > tbody > tr > td[data-label]::before { content: attr(data-label); color: var(--rmx-muted); }
  .kartica-form .dok-verzija-grid > tbody > tr > td:first-child { flex: 1 1 100%; font-size: 13px; font-weight: 600; }
  .kartica-form .dok-verzija-grid > tbody > tr > td:first-child::before { color: var(--rmx-text); font-weight: 600; }
  /* Zelena oznaka glavne verzije je na celoj kartici (traka levo), ne na ćeliji Rb kao na PC-u. */
  .kartica-form .dok-verzija-grid > tbody > tr.dok-verzija-glavna > td:first-child { box-shadow: none; }
  .kartica-form .dok-verzija-grid > tbody > tr > td.num { flex: 1 1 100%; justify-content: space-between; }
  .kartica-form .dok-verzija-grid > tbody > tr > td.dok-verzija-fajl { flex: 1 1 100%; flex-wrap: wrap; min-width: 0; }
  .kartica-form .dok-verzija-fajl a { overflow-wrap: anywhere; }
  /* Putanja foldera (RootNapomena / folder firme) nema razmaka — lomi se umesto da gura panel (Dokumenti, Firma tab Firma). */
  .kartica-form:has(> input[name="D.FolderPrikaz"]) .card-panel-body > p.page-note,
  #frmFirmaKartica .card-panel-body > p.page-note { overflow-wrap: anywhere; }

  /* --- Dozvole /Dozvole/Kartica + /Dozvole/Razduzenje (.dozvola-kartica-lock, <style> u obe stranice) --- */
  /* Na PC-u je glava fiksna, a vožnje skroluju same (overflow hidden). Na telefonu glava u jednoj koloni zauzme ceo
     ekran, vožnje dobiju ~0 px i Snimi ispadne dole — zato skroluje cela forma, a Snimi / Odustani su lepljivi dole
     (kao ostale kartice: dugmad uvek vidljiva) (korisnik 2026-10-08). */
  .kartica-page.dozvola-kartica-lock .kartica-form {
    overflow-x: hidden;
    overflow-y: auto;
  }
  .kartica-page.dozvola-kartica-lock .kartica-scroll,
  .kartica-page.dozvola-kartica-lock .tura-tab-panel.active {
    flex: 0 0 auto;
    min-height: 0;
    overflow: visible;
  }
  /* Paneli vožnji rastu po sadržaju (overflow panela ostaje hidden zbog zaobljenih uglova). */
  .kartica-page.dozvola-kartica-lock #panelCemtVoznje,
  .kartica-page.dozvola-kartica-lock #panelCemtVoznje .card-panel-body,
  .kartica-page.dozvola-kartica-lock #panelRazduzenjeVoznje,
  .kartica-page.dozvola-kartica-lock #panelRazduzenjeVoznje .card-panel-body {
    flex: 0 0 auto;
    min-height: 0;
  }
  /* Tabela vožnji (~1000 px) skroluje vodoravno u svom okviru; desni razmak (6mm / 3mm za PC traku) ovde ne treba. */
  .kartica-page.dozvola-kartica-lock .cemt-voznje-wrap {
    flex: 0 0 auto;
    min-height: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding-right: 0;
  }
  /* Kolona Dokaz je „auto“: kad fiksne kolone premaše ekran dobije 0 px i polje Dokaz nestane — na telefonu svoja širina. */
  .kartica-page.dozvola-kartica-lock .cemt-voznje-grid col.col-dokaz { width: 10rem; }
  /* Tabovi Kretanje / Razduženja (obične .grid tabele, 6 kolona) — svoj vodoravni skrol, panel ih inače seče. */
  .kartica-page.dozvola-kartica-lock .tura-tab-panel table.grid:not(.cemt-voznje-grid) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
  /* Snimi / Odustani lepljivi na dnu forme koja skroluje; pozadina = podloga strane (iznad lepljivog zaglavlja tabele). */
  .kartica-page.dozvola-kartica-lock .kartica-actions {
    position: sticky;
    bottom: 0;
    z-index: 3;
    background: var(--rmx-bg);
  }
  /* Glava dozvole jedna kolona (stranica: 1fr ispod 800 px); Vrsta (dug CEMT naziv) uvek preko celog reda. */
  .kartica-page.dozvola-kartica-lock .dozvola-glava { grid-template-columns: minmax(0, 1fr); }
  .kartica-page.dozvola-kartica-lock .dozvola-glava .form-row-vrsta { grid-column: 1 / -1; }

  /* --- Servisi /Servisi/Kartica (Pages/Servisi/Kartica.cshtml <style>: min(32rem, 100%)) --- */
  /* Vrsta servisa i interno ime su dugi tekstovi — na telefonu uvek preko celog reda, i kad opšti blok drži 2 kolone. */
  .servis-kartica .form-grid > .form-row:has(> #selVrsta),
  .servis-kartica .form-grid > .form-row:has(> #txtVrstaNaziv) { grid-column: 1 / -1; }

  /* --- Beleške /Beleske/Kartica (site.css „Kartica Beleska“) --- */
  /* Tekst beleške (24rem visok) gura Prilog daleko ispod na malom ekranu; niži je, i dalje se povlači (resize). */
  .kartica-form .beleska-kartica-desno textarea[name="B.Opis"] { min-height: 14rem; }

  /* --- Podešavanja → Firma /Podesavanja/Firma (#frmFirmaKartica) --- */
  /* Redovi .form-grid-4 (format broja D / I, SEF ključ, Zaključane ture, ATOL, Uplate): na PC-u 4 kolone po sadržaju
     (~500 px). Na telefonu se ređaju i prelamaju (kratka polja ostaju u redu), široko polje (ključ) preko celog reda. */
  #frmFirmaKartica .form-grid-4 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 2mm;
  }
  #frmFirmaKartica .form-grid-4 > .form-row {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
  }
  #frmFirmaKartica .form-grid-4 > .form-row-wide { flex: 1 1 100%; }
  /* .form-select (SEF mapiranje, Kurs, Nalozi) nema širinu — dug tekst opcije (~430 px) bi razvukao listu preko panela;
     .firma-sef-map je to već rešio samo za tab SEF. */
  #frmFirmaKartica .form-select { max-width: 100%; }

  /* --- Podešavanja → Prikaz /Podesavanja/Prikaz (site.css .prikaz-layout) --- */
  /* Dve kolone se već slažu ispod 900 px; minmax(0) da pregled polja (16rem) i pločice veličina ne guraju stranu. */
  .prikaz-layout { grid-template-columns: minmax(0, 1fr); }
  .prikaz-levo,
  .prikaz-desno { min-width: 0; }

  /* --- Podešavanja → Početni ekran /Podesavanja/PocetniEkran (site.css .podesavanja-widget-*) --- */
  /* Red stikera: opis preko celog reda, Poslednjih / Boja ispod — inače opis ostane u koloni ~120 px (6–7 redova). */
  .podesavanja-widget-red {
    flex-wrap: wrap;
    row-gap: 8px;
  }
  .podesavanja-widget-red > label:first-child { flex: 1 1 100%; }
}

/* ---------- TELEFON — liste na ceo slobodan prostor, bez pomeranja levo-desno (korisnik 2026-10-08) ---------- */
/* Korisnik 2026-10-08 (slika /Nalozi): „iskoristi ceo prostor za ove liste … da se lepo uklapa u ceo slobodan prostor“,
   „ne da se šeta levo-desno“. Vazi za sve liste sa .partneri-page (57 strana: Nalozi, Ture, Fakture, sifarnici,
   izvestaji …). Board / Kamioni / Pocetna / kartice nemaju .partneri-page — ovde se ne diraju. Samo do 700 px = ista
   granica kao window.rmxJeTelefon (_Layout.cshtml) i blokovi „TELEFON — …“ (menjati zajedno). PC izgled se ne menja.
   Blok ide POSLE „TELEFON — Nalozi u stilu Kamiona“ i PRE blokova koji neku listu pretvaraju u kartice (oni ga pobedjuju).
   Pravilo: docs/ui_toolbar.md §7f. */
@media (max-width: 700px) {
  /* 1) Lista do donjeg menija. Ispod liste je stajao prazan .partneri-page-bottom (prazan p#filterHint: margin 4 px +
     min-height 1.2em = 14,4 px) plus razmak flex 8 px = ~26 px sive trake iznad menija (slika /Nalozi). Kad u njemu
     nema teksta (samo skrivene forme Brisi / Uvoz / SEF …) ne zauzima mesto; „Prikazano: n / m“ (sifarnik-lista.js,
     Partneri, TekuciRacuni) se i dalje vidi dok traje pretraga. Razmak do menija ostaje 8 px = padding-bottom
     body:has(.partneri-page) .app-main (blok „Nalozi i Board kao kartice“). (korisnik 2026-10-08) */
  .partneri-page-bottom:not(:has(> :not(.hidden-form, .filter-hint:empty))) { display: none; }

  /* 2) Visok gornji deo (izvestaji: filteri + zbir koji se na telefonu lome u vise redova, Admin SEF / Uvoz): strana
     liste se pomera gore-dole umesto da dno liste ostane odseceno; levo-desno nikad. Kad sve stane, nista se ne menja —
     lista i dalje puni ostatak (.partneri-page .grid-scroll flex 1 1 auto). (korisnik 2026-10-08) */
  .partneri-page { overflow-x: hidden; overflow-y: auto; }

  /* 3) Lista koja jos nije kartica (siroka tabela): levo-desno se pomera samo kutija liste, ne strana; potez do ivice
     tabele se ne prenosi dalje. /Nalozi ima svoje overflow-x hidden (jaci selektor u bloku „Nalozi u stilu Kamiona“).
     (korisnik 2026-10-08) */
  .partneri-page .grid-scroll { overflow: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }

  /* 4) Bela kutija liste sa ivicom kao na PC-u (.panel) i na /Nalozi — da se vidi da lista puni prostor do menija.
     „.partneri-page #listaScroll { transparent; border 0 }“ iz bloka „Nalozi i Board kao kartice“ bilo je za kartice
     /Nalozi, a skidalo je okvir svim listama. Lista koja na telefonu postane kartice sa providnom pozadinom: dodati njen
     id tabele u :not(…) ili je njen blok (posle ovog) pobedjuje. (korisnik 2026-10-08) */
  .partneri-page:not(:has(#tblNalozi)) #listaScroll {
    background: #fff;
    border: 1px solid var(--rmx-edge);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  }

  /* 5) Traka liste (Novi · Izmena … · filteri · Pretraga · ▲▼ osvezi izvoz iz rmx-izvoz-liste.js) se lomi u vise redova
     umesto da izlazi van ekrana (.partneri-page je odsece, dugmad nedostupna). Grupe dobijaju min-width 0; polja sa
     sirinom u style= (Izvodi 32rem, Kartica kupca / dobavljaca 24rem, Prikaz / Mesec po 18rem) ne prelaze red.
     (korisnik 2026-10-08) */
  .partneri-page-top,
  .partneri-page-top .toolbar { min-width: 0; max-width: 100%; }
  .partneri-page-top .toolbar > :is(form, span, div, label),
  .partneri-page-top :is(.toolbar-levo-red, .sluzbena-period, .toolbar-when-selected) > :is(form, span, div, label),
  .partneri-page-top .izvestaj-label { min-width: 0; max-width: 100%; }
  .partneri-page-top :is(.toolbar-levo-red, .sluzbena-period, .toolbar-when-selected, .toolbar-search, .toolbar-desno) {
    flex-wrap: wrap;
  }
  .partneri-page-top .toolbar select,
  .partneri-page-top .toolbar input:not([type="checkbox"]):not([type="radio"]),
  .partneri-page-top .toolbar .rmx-sel-pretraga { max-width: 100% !important; }
  /* Pretraga zauzme ostatak reda (kao na /Nalozi); polje sme uze od PC 200 / 220 px na uskom telefonu (320 px). */
  .partneri-page-top .toolbar-search { flex: 1 1 14rem; min-width: 0; margin-right: 0; }
  .partneri-page-top .toolbar-search .search-field { flex: 1 1 auto; min-width: 0; }
  .partneri-page-top .search-field #txtPretraga { width: 100%; min-width: 0; }
}

/* ---------- TELEFON — lista se završava na poslednjem redu kad je redova malo (korisnik 2026-10-08: „ova lista kao i sve
   druge osim ako nemaju redove treba da popune ekran dole“) ---------- */
/* Lista raste do donjeg menija (blok iznad) samo dok ima redova; sa malo redova se zavrsava na poslednjem (flex 0 1 auto)
   umesto prazne bele kutije do dna. min-height 120 px = osnovno .partneri-page .grid-scroll (ne nestaje ispod visokog
   gornjeg dela). Isto pravilo kao spisak rokova na Pocetnoj (blok „TELEFON — Pocetna: spisak rokova do dna“). */
@media (max-width: 700px) {
  .partneri-page .grid-scroll { flex: 0 1 auto; }
}

/* ========== TELEFON — liste kao kartice (korisnik 2026-10-08: „ove ture sve da budu u karticama kao i ostali deo aplikacije
   ne ovako kao na desktopu“, „i sve u mobilnoj aplikaciji da se prilagodi“; za /Angazovani „da sve u stilu rmx-a vodi računa
   da tako bude“) ==========
   Sve liste sa .partneri-page (Ture, Angazovani, Fakture, Ulazne, sifarnici, izvestaji, Kartica kupca / dobavljaca, Admin …)
   do 700 px izgledaju kao /Nalozi i Kamioni na telefonu: jedna bela tabla (ivica --rmx-edge, krivina --rmx-radius-panel),
   trake meseca / grupe = tamna traka naslova kao .kam-naslov, svaki red = blok: podebljan naslov gore („21/4-26 · SA218ZK /
   AG441SA“), ispod poravnati redovi naziv / vrednost (naziv sivo u koloni 70 px kao .kam-kv / NALOG PREGLED). Nista se ne
   pomera levo-desno. Bez novih boja (sve vec postoji u site.css).
   Tabela ostaje ista (isti JS izbora / pregleda / pretrage / sort / izvoz) — CSS samo crta redove drugacije. Nazive kolona
   upisuje skript „Telefon — liste kao kartice“ u Pages/Shared/_Layout.cshtml (menjati zajedno): td[data-label] = naslov kolone
   iz <thead> (th data-tel-label = kraci naziv samo za telefon), td[data-tel] = naslov / naslov2 / kv, tabela
   data-tel-naslov = kolone naslova (npr. Ture „1 4“ = Broj · Vozilo). Tabela liste = direktno dete .grid-scroll (kartice odmah,
   bez cekanja JS-a) ili table.grid.lista-tel (JS: ostale tabele strane sa vise od 3 kolone). Nije ovde: /Nalozi (#tblNalozi —
   svoja celija .nalog-tel, blok „Nalozi u stilu Kamiona“), Board, Kamioni, Pocetna, kartice za unos, ugnjezdene tabele u
   pregledu ispod reda, tabele sa klasom .tel-svoja-kartica (lista ima svoju karticu na telefonu — redizajn E 2026-10-10,
   npr. Podaci naloga; JS u _Layout ih isto preskace). Samo do 700 px = window.rmxJeTelefon (_Layout <head>) i ostali blokovi „TELEFON — …“ (menjati zajedno);
   PC izgled se ne menja. Blok ide POSLE „TELEFON — liste na ceo slobodan prostor …“ i „… lista se završava na poslednjem redu“:
   za liste-kartice zamenjuje tacku 3 (kutija ne skroluje levo-desno) i dopunjuje tacku 4 (bela tabla + krivina).
   Pravilo: docs/ui_toolbar.md §7f. */
@media (max-width: 700px) {
  /* --- 1) Kutija liste: bela tabla RMX (kao .kam-lista); kartice staju u sirinu, pa nema pomeranja levo-desno (siroka
     tabela u pregledu ispod reda skroluje samo u svom okviru, tacka 7). padding-bottom 0: 72 px iz bloka „Nalozi i Board
     kao kartice“ (.partneri-page #listaScroll) je prostor iznad narandzastog + samo na /Nalozi — ostale liste ga nemaju,
     bela tabla se zavrsava na poslednjem redu. --- */
  .partneri-page .grid-scroll:has(> table.grid:not(#tblNalozi, .tel-svoja-kartica)) {
    background: #fff;
    border: 1px solid var(--rmx-edge);
    border-radius: var(--rmx-radius-panel);
    padding-bottom: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* --- 2) Tabela → blokovi. width / min-width !important: stranice imaju svoju sirinu tabele (Fakture #listaScroll
     table.grid min-width 68rem, Admin SEF style max-width). Zaglavlje kolona se ne vidi — naziv kolone je uz vrednost. --- */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica),
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody {
    display: block;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > thead,
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > colgroup { display: none; }

  /* --- 3) Red = blok (kao .kam-red): naslov gore, pa redovi naziv / vrednost; redovi odvojeni --rmx-row-alt, bez zebre.
     Grupe (trake meseca / Aktivni / Kamioni …) i pregled ispod reda imaju svoja pravila (tacke 6 i 7). --- */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 0;
    padding: 9px 12px;
    background: #fff;
    border-top: 1px solid var(--rmx-row-alt);
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:first-child,
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.lista-grupa-red, .tracking-grupa, .vozila-grupa) + tr { border-top: 0; }
  /* Sklopljen mesec (RmxListaSekcije, site.css .u-sklopu) ostaje sakriven — pravilo reda iznad je jace od opsteg. Pretraga
     sakriva inline style (jaca od ovog bloka). */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.u-sklopu, [hidden]) { display: none; }
  /* Izabran red i dodir = #ffe8cc kao /Nalozi na telefonu i sivi tasteri (!important: site.css izabran red ima !important). */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.is-selected, .row-selected) { background: #ffe8cc !important; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa):active { background: #ffe8cc; }
  /* Znacenje reda koje je na PC-u boja celija (td) prelazi na ceo blok — iste boje kao site.css / stranica: Beleske kasni /
     podsetnik, privremeno DKV / MOL, umetnut red akcize, zbir i sumarno Zarade vozaca (tamna traka, bela slova), rok u
     Rokovniku (ivica levo, na PC-u prva celija). */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr.row-beleska-kasni { background: #fdecea; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr.row-beleska-podsetnik { background: #fff6e0; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr.row-privremeno { background: #fff6d6; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr.akciza-umetnut { background: #f1f3f5; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.zarade-ukupno, .zarade-vrsta) { background: var(--rmx-slate-soft); }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr[data-rok-nivo]:not([data-rok-nivo=""]) { box-shadow: inset 3px 0 0 var(--rokovnik-rok-boja); }

  /* --- 4) Celija = red „naziv | vrednost“ (kao .kam-kv): naziv = ::before iz data-label u koloni 70 px, vrednost do kraja
     reda. Flex (ne grid): vrednost moze biti tekst + loptica statusa / ikonice posade / link — ostaju u istom redu.
     !important: stranice daju celijama sirinu / padding / poravnanje (Fakture col-*, Ture Datum obr. text-align center). --- */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) > td {
    display: flex;
    align-items: baseline;
    column-gap: 4px;
    flex: 1 1 100%;
    order: 0;
    min-width: 0;
    max-width: 100%;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    overflow: hidden;
  }
  /* Prazna celija se ne vidi (kao prazni redovi na Kamionima). */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) > td:empty { display: none !important; }
  /* Podebljanje reda ostaje samo gde nosi podatak: dug u izvestajima (.row-dug) i status aktivne ture / naloga (PC: ceo red
     bold, ui_toolbar.md §3c — na kartici samo vrednost Status, ostalo mirno kao Kamioni). */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr.row-dug > td,
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr.row-status-aktivan > td.status-cell { font-weight: 600; }

  /* Naziv kolone. Rokovnik: ::before celije Stanje je loptica roka (site.css #tblLista … .rokovnik-stanje-cell::before), zato
     tu naziv ide u ::after sa order -1 (isto mesto levo). */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) > td[data-label]:not([data-tel="naslov"], [data-tel="naslov2"], .rokovnik-stanje-cell)::before,
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) > td.rokovnik-stanje-cell[data-label]:not([data-tel="naslov"], [data-tel="naslov2"])::after {
    content: attr(data-label);
    order: -1;
    /* 100 px (bilo 70): nazivi „Datum polaska“, „Predjeno (KM)“ u jednom redu — kartica niza (korisnik 2026-10-08:
       „zato se dole ne vidi niti jedna cela kartica“). */
    flex: 0 0 100px;
    margin-right: 4px;
    color: var(--rmx-muted);
    font-size: 12px;
    font-weight: 400;
    font-style: normal;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  /* Kolona bez naziva (npr. link „kartica zarade →“): vrednost od leve ivice, bez prazne kolone naziva. */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) > td[data-label=""]:not([data-tel="naslov"], [data-tel="naslov2"], .rokovnik-stanje-cell)::before { content: none; }
  /* Iznosi / brojevi (td.num) desno (memorija korisnika 2026-10-06: decimalni iznosi UVEK desno): naziv levo, vrednost uz
     desnu ivicu reda. */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) > td.num[data-label]:not([data-tel="naslov"], [data-tel="naslov2"])::before { margin-right: auto; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) > td.num[data-label=""] { justify-content: flex-end; }
  /* Tamni redovi Zarade vozaca (tacka 3): naziv svetlo sivo kao drugi deo .kam-naslov. */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.zarade-ukupno, .zarade-vrsta) > td::before { color: #c5cad1 !important; }

  /* --- 5) Naslov kartice (kao „broj · nalogodavac“ na /Nalozi): prva kolona, ili kolona iz data-tel-naslov / prva
     neprazna (JS data-tel="naslov"); pre JS-a prva celija. Drugi deo naslova (data-tel="naslov2", npr. vozilo ture) u istom
     redu posle „ · “. Jedan red, „…“ kad je dugacko. --- */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) > :is(td[data-tel="naslov"], td:first-child:not([data-tel])) {
    display: block;
    order: -2;
    flex: 0 1 auto;
    max-width: 100%;
    margin-bottom: 1px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) > td[data-tel="naslov2"] {
    display: block;
    order: -1;
    flex: 1 1 0;
    min-width: 0;
    margin-bottom: 1px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) > td[data-tel="naslov2"]::before { content: "\00a0\00b7\00a0"; }
  /* Sa drugim delom naslova prvi deo najvise ~3/5 reda, da se vidi i drugi (broj ture je ionako kratak). */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:has(> td[data-tel="naslov2"]:not(:empty)) > td[data-tel="naslov"] { max-width: 62%; }

  /* --- 6) Trake grupa = tamna traka naslova kao .kam-naslov / /Nalozi na telefonu: zlatne trake meseca (Ture, Angazovani,
     Fakture, Ulazne, Placanja), Aktivni / Neaktivni (Zaposleni), dan (Tracking), Kamioni / Prikolice (Vozila). Klik sklapa /
     otvara kao i do sada (trougao ▼ / ▶ iz site.css ostaje, boja slova). Sakrivanje prazne trake posle pretrage je inline
     style (jace). --- */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.lista-grupa-red, .tracking-grupa, .vozila-grupa) {
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.lista-grupa-red, .tracking-grupa, .vozila-grupa) > td {
    display: block;
    padding: 7px 12px !important;
    border: 0 !important;
    background: linear-gradient(180deg, #2a313a 0%, #1e242c 100%) !important;
    color: #e8eaed !important;
    font-size: 13px;
    font-weight: 650;
    text-decoration: none;
    text-align: left;
  }

  /* --- 7) Pregled ispod reda (klik na red) preko cele sirine kartice; siroka tabela / polja u njemu skroluju samo u svom
     okviru (ne strana). Nazivi u pregledu kao naziv / vrednost iznad (kolona 70 px, levo). Polja Angazovani / Ulazne /
     Dozvole (.nalog-fld, PC fiksne sirine 7–14rem) se prelamaju dva u red. --- */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.partner-detail-row, .uvoz-detail-row) {
    display: block;
    padding: 0;
    border-top: 0;
    background: #fff;
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.partner-detail-row, .uvoz-detail-row) > td {
    display: block;
    width: auto !important;
    max-width: 100%;
    padding: 0 !important;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: normal;
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.partner-detail-row, .uvoz-detail-row) .row-detail { padding: 8px 12px 12px; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.partner-detail-row, .uvoz-detail-row) .preview-row { grid-template-columns: 70px minmax(0, 1fr); gap: 8px; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.partner-detail-row, .uvoz-detail-row) .preview-label { text-align: left; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.partner-detail-row, .uvoz-detail-row) :is(.tura-preview-panel, .preview-grid) { min-width: 0; overflow-x: auto; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.partner-detail-row, .uvoz-detail-row) .row-detail :is(.nalozi-pregled-kompakt, .nalozi-pregled-desno, .dozvole-pregled-kompakt) { flex-wrap: wrap; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.partner-detail-row, .uvoz-detail-row) .row-detail .nalozi-pregled-desno { flex: 1 1 100%; margin-left: 0; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.partner-detail-row, .uvoz-detail-row) .row-detail :is(.nalozi-pregled-kompakt, .nalozi-pregled-desno, .dozvole-pregled-kompakt) > .nalog-fld {
    flex: 1 1 8rem;
    min-width: 0;
    max-width: 100%;
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.partner-detail-row, .uvoz-detail-row) .row-detail .nalozi-pregled-2 { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- TELEFON — objašnjenje ispod naslova i vrh izveštaja (korisnik 2026-10-08: „mnogo ova gore polja zauzimaju
   prostora… zato se dole ne vidi niti jedna cela kartica“, „oni label objašnjenja gore ispod naslova su totalno nepotrebna
   u celom programu na telefonu“) ---------- */
/* Samo do 700 px (rmxJeTelefon, blokovi TELEFON — …); PC se ne menja. */
@media (max-width: 700px) {
  /* Recenica ispod naslova strane (.page-note u .page-head) se ne vidi; ostaje kad nosi link / taster (kartice: „← Nazad
     na listu · Id …“, faktura uz nalog). */
  .page-head > .page-note:not(:has(a, button)) { display: none; }

  /* Filter izvestaja (.izvestaj-filter: Izvestaji vozac / kamion / sumarno / DKV / MOL / putarine, Kartica kupca /
     dobavljaca, Zarada vozaca, Refakcija, Sluzbena …): naziv levo uz polje, a ne iznad; izbor (vozac, kamion…) ceo red,
     dva datuma u jednom redu, Prikazi + ikonice (osvezi, izvoz) u sledecem. */
  .partneri-page .izvestaj-filter { gap: 6px 8px; margin: 4px 0; padding: 6px 8px; align-items: center; }
  .izvestaj-filter .izvestaj-label { flex-direction: row; align-items: center; gap: 6px; font-size: 12px; min-width: 0; }
  .izvestaj-filter .izvestaj-label:has(select) { flex: 1 1 100%; }
  .izvestaj-filter .izvestaj-label:has(select) .form-input { flex: 1 1 auto; min-width: 0; }
  /* Dva datuma dele jedan red (pola - pola); Prikazi i ikonice prelaze u sledeci red (inace se prvi datum skupi na ikonicu). */
  .izvestaj-filter .izvestaj-label:has(input[type="date"]) { flex: 1 1 calc(50% - 4px); }
  .izvestaj-filter .izvestaj-label .form-input-date,
  .izvestaj-filter .izvestaj-label .rmx-date-wrap { flex: 1 1 auto; width: auto; min-width: 0; max-width: none; }
  .izvestaj-filter .izvestaj-label > span { flex: 0 0 auto; white-space: nowrap; }
  /* Zbirovi ispod filtera (Ukupno, Kartica zarade) zbijeniji. */
  .partneri-page .izvestaj-sum { gap: 2px 12px; padding: 6px 10px; margin: 4px 0; font-size: 13px; }

  /* Izvestaj: cela strana se pomera gore-dole (vrh odlazi sa ekrana), tabela / kartice u punoj visini — kao Board na
     telefonu. Obicne liste (bez .izvestaj-filter) ostaju lista do donjeg menija. */
  .partneri-page:has(.izvestaj-filter) .grid-scroll { flex: 0 0 auto; max-height: none; min-height: 0; overflow: visible; }
}

/* ========== TELEFON — liste u stilu RMX TMS (korisnik 2026-10-08: „ovi tasteri na telefonu ne izgledaju baš idealno“,
   „da se može sortirati … taster pa meni mali sortiraj po“, izvoz liste „neka ga ipak … možda zatreba“, „uprosti … da ne bude
   komplikovano i prenatrpano“, „sve što je u meniju … da se slova vide lepo … ni pretrpano a ni previše sitno“, slika RMX TMS
   Drivers „ovo mi se svidelo“, Kamioni „vidiš koliko je ovo ružnije“, „zadrži ipak veličinu fonta“) ==========
   Traka liste: prvi red Pretraga · ⇅ Sortiraj · ⤓ Izvoz, Novi = narandžasti krug dole desno (kao /Nalozi), broj zapisa uz
   naslov („13 od 15“). Taster ⇅, spisak „Sortiraj po“, prelom reda (.tel-red-kraj) i broj (.tel-broj) pravi
   wwwroot/js/rmx-tel-sort.js (menjati zajedno) — samo u traci koja ima pretragu liste (#frmPretraga, klasa .tel-traka); izveštaji sa
   serverskim filterom se ne menjaju. Na telefonu se ne vide Traži (pretraga radi slovo po slovo, Enter i dalje šalje),
   ▲ ▼ i Osveži. Ostali elementi trake ispod prvog reda, Izmena / Brisanje izabranog reda poslednji red.
   Kartice: svaki zapis = bela zaobljena kartica sa senkom i tamnom trakom levo (izabran = narandžasta traka), nazivi i
   vrednosti teku u redu; iznosi (td.num) i dalje svaki u svom redu desno (ui_toolbar.md §10). Trake grupa / meseci =
   tamna zaobljena traka (ne zlatna). Isto za /Nalozi i stranice Kamioni / tura / strana naloga (.kam-*). Veličine slova
   ostaju kao do sada. Samo do 700 px = window.rmxJeTelefon (_Layout.cshtml) i ostali TELEFON blokovi; PC se ne menja.
   Pravilo: docs/ui_toolbar.md §7f. */
.tel-sort-btn,
.tel-sort-meni,
.tel-red-kraj,
.tel-broj { display: none; }

@media (max-width: 700px) {
  /* --- Traka liste (.tel-traka = traka sa #frmPretraga, stavlja rmx-tel-sort.js) --- */
  .partneri-page-top :is(#btnScrollTop, #btnScrollBottom, #btnOsveziListu),
  .partneri-page-top .toolbar.tel-traka #btnTrazi { display: none !important; }
  .partneri-page-top .toolbar.tel-traka { gap: 6px; }
  /* Redosled: Pretraga · ⇅ · ⤓ (prvi red), sve ostalo ispod (6), Izmena / Brisanje poslednje (7); filter tipa na /Nalozi
     ostaje iznad pretrage (0). .toolbar-desno sa ⤓ je poslednji u DOM-u (rmx-izvoz-liste.js), zato CSS order. */
  .partneri-page-top .toolbar.tel-traka > * { order: 6; }
  .partneri-page-top .toolbar.tel-traka > .nalozi-tip-filter { order: 0; }
  .partneri-page-top .toolbar.tel-traka > .toolbar-search { order: 2; flex: 1 1 6rem; min-width: 0; margin: 0; }
  .partneri-page:has(#tblNalozi) .partneri-page-top .toolbar.tel-traka > .toolbar-search { flex: 1 1 6rem; }
  .partneri-page-top .toolbar.tel-traka > .toolbar-search #txtPretraga { height: 38px; border-radius: 10px; }
  .partneri-page-top .toolbar > .tel-sort-btn { order: 3; display: inline-flex; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 10px; }
  .partneri-page-top .toolbar.tel-traka > .toolbar-desno { order: 4; flex: 0 0 auto; margin: 0; }
  .partneri-page-top .toolbar.tel-traka > .toolbar-desno #btnIzvozListe { width: 38px; height: 38px; border-radius: 10px; }
  .partneri-page-top .toolbar > :is(.tel-sort-btn, .toolbar-desno) .btn-ico { width: 18px; height: 18px; }
  .partneri-page-top .toolbar > .tel-sort-btn[aria-expanded="true"] { background: #ffe8cc; border-color: #e0a35a; color: #8a4b00; }
  /* Prelom posle prvog reda; margin -6px poništava prazan razmak reda (gap). */
  .partneri-page-top .toolbar > .tel-red-kraj { order: 5; display: block; flex: 0 0 100%; height: 0; margin-top: -6px; }
  .partneri-page-top .toolbar.tel-traka > .toolbar-when-selected { order: 7; flex: 1 1 100%; }
  /* Izmena / Brisanje izabranog reda = samo ikonica (olovka / ×), bez teksta — korisnik 2026-10-09 („umesto tastera možeš
     smanjiti na + ili olovka isto na mob telefonu“; Novi je već narandžasti krug). Tekst ostaje u tasteru (font-size 0,
     čitač ekrana); samo standardni tasteri .btn-hover-izmena / .btn-hover-brisi (ostali u grupi imaju svoj tekst). */
  .partneri-page-top .toolbar.tel-traka > .toolbar-when-selected > :is(a, button).btn-secondary-rmx:is(.btn-hover-izmena, .btn-hover-brisi) {
    font-size: 0;
    gap: 0;
    min-width: 44px;
    height: 40px;
    padding: 0 10px;
    justify-content: center;
  }
  .partneri-page-top .toolbar.tel-traka > .toolbar-when-selected > :is(a, button):is(.btn-hover-izmena, .btn-hover-brisi) .btn-ico { width: 20px; height: 20px; }
  /* Beleske: jedna padajuca lista umesto sest tastera filtera (korisnik 2026-10-09 „jedan taster pa biraš sve otvorene
     moje“) — Pages/Beleske/Index.cshtml select.beleske-filter-tel (iste adrese FilterHref). */
  .beleske-filteri > a.btn-secondary-rmx { display: none; }
  .beleske-filteri > .beleske-filter-tel { display: block; width: 100%; max-width: 100%; }
  /* Novi = narandžasti krug dole desno (isto kao /Nalozi u bloku „Nalozi i Board kao kartice“ — menjati zajedno). */
  .partneri-page-top .toolbar.tel-traka > :is(a, button)[data-kbd="novi"],
  .partneri-page-top .toolbar.tel-traka > .toolbar-levo-red > :is(a, button)[data-kbd="novi"] {
    position: fixed; right: 16px; bottom: calc(var(--rmx-tel-dole) + 16px); z-index: 1550;
    width: 54px; height: 54px; padding: 0; border-radius: 50%; justify-content: center; font-size: 0;
    color: #fff; background: #ff9a2e; border-color: #ff9a2e; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  }
  .partneri-page-top .toolbar.tel-traka > :is(a, button)[data-kbd="novi"] svg,
  .partneri-page-top .toolbar.tel-traka > .toolbar-levo-red > :is(a, button)[data-kbd="novi"] svg { width: 26px; height: 26px; }
  /* Službena putovanja (korisnik 2026-10-08 19:53, slika: „i ovi tasteri i datum polja su sjebani“): Novi je u
     .toolbar-levo-red zajedno sa periodom — isti narandžasti krug (pravilo iznad); period = naziv iznad polja, datumi
     pola-pola (ikonica kalendara više ne prekriva datum), Prikaži ceo red. Pages/Sluzbena/Index.cshtml #frmPeriod. */
  .partneri-page-top .toolbar.tel-traka > .toolbar-levo-red { flex: 1 1 100%; flex-wrap: wrap; gap: 6px; min-width: 0; }
  .partneri-page-top .toolbar.tel-traka .sluzbena-period { flex: 1 1 100%; flex-wrap: wrap; gap: 6px 8px; margin: 0; padding: 0; }
  .partneri-page-top .toolbar.tel-traka .sluzbena-period .izvestaj-label { flex: 1 1 calc(50% - 4px); flex-direction: column; align-items: stretch; gap: 2px; }
  .partneri-page-top .toolbar.tel-traka .sluzbena-period .izvestaj-label > span { color: var(--rmx-muted); font-size: 12px; }
  .partneri-page-top .toolbar.tel-traka .sluzbena-period .izvestaj-label :is(.form-input-date, .rmx-date-wrap) { width: 100%; max-width: none; }
  .partneri-page-top .toolbar.tel-traka .sluzbena-period > button[type="submit"] { flex: 1 1 100%; height: 38px; }
  /* Prostor ispod poslednje kartice da je narandžasti krug ne pokrije. */
  .partneri-page:has(.partneri-page-top .toolbar.tel-traka) .grid-scroll:has(> table.grid) { padding-bottom: 72px; }
  /* Broj zapisa uz naslov („13 od 15“). */
  .tel-broj { display: inline; margin-left: 10px; color: var(--rmx-muted); font-size: 13px; font-weight: 400; }
  /* Spisak „Sortiraj po“ ispod ⇅ (top postavlja rmx-tel-sort.js prema mestu tastera). Slova 14 px, stavka 40 px za prst. */
  .partneri-page-top .toolbar > .tel-sort-meni {
    display: block; position: absolute; top: 50px; right: 10px; z-index: 60;
    min-width: 210px; max-width: calc(100% - 20px); max-height: 60vh; overflow-y: auto; padding: 6px;
    background: #fff; border: 1px solid var(--rmx-edge); border-radius: 12px; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
  }
  .partneri-page-top .toolbar > .tel-sort-meni[hidden] { display: none; }
  .tel-sort-naslov { padding: 6px 10px 4px; font-size: 13px; color: var(--rmx-muted); }
  .tel-sort-stavka {
    display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 100%; min-height: 40px;
    padding: 0 10px; border: 0; border-radius: 8px; background: transparent; color: var(--rmx-text);
    font: inherit; font-size: 14px; text-align: left; cursor: pointer;
  }
  .tel-sort-stavka:active,
  .tel-sort-stavka.is-aktivna { background: #ffe8cc; color: #8a4b00; font-weight: 600; }

  /* --- Kartice zapisa: kutija liste bez bele table, svaki zapis svoja kartica na sivoj pozadini. --- */
  .partneri-page .grid-scroll:has(> table.grid:not(#tblNalozi, .tel-svoja-kartica)),
  .partneri-page:not(:has(#tblNalozi)) #listaScroll:has(> table.grid),
  .partneri-page:has(#tblNalozi) #listaScroll { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  /* border 0 !important: tačka 3 bloka „liste kao kartice“ crta liniju između redova. Senka bez !important: red roka u
     Rokovniku zadržava svoju obojenu traku levo (data-rok-nivo). Pozadinu ne diramo (obojeni redovi: beleška kasni,
     privremeno, akciza …). */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) {
    margin-top: 8px;
    padding: 9px 12px 9px 15px;
    border: 0 !important;
    border-radius: 12px;
    box-shadow: inset 4px 0 0 var(--rmx-accent), 0 1px 3px rgba(0, 0, 0, 0.12);
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.is-selected, .row-selected) {
    box-shadow: inset 4px 0 0 #e0a35a, 0 1px 3px rgba(0, 0, 0, 0.12);
  }
  /* /Nalozi: blok „Nalozi u stilu Kamiona“ ima box-shadow none !important — zato ovde !important. */
  .partneri-page #tblNalozi tbody tr.lista-row {
    margin-top: 8px;
    padding: 9px 12px 9px 15px;
    border: 0 !important;
    border-radius: 12px;
    background: #fff;
    box-shadow: inset 4px 0 0 var(--rmx-accent), 0 1px 3px rgba(0, 0, 0, 0.12) !important;
  }
  .partneri-page #tblNalozi tbody tr.lista-row.is-selected { background: #ffe8cc; box-shadow: inset 4px 0 0 #e0a35a, 0 1px 3px rgba(0, 0, 0, 0.12) !important; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:first-child,
  .partneri-page #tblNalozi tbody tr:first-child { margin-top: 0; }
  /* Nazivi i vrednosti teku u redu (kao RMX TMS): naslov kartice sam u prvom redu (prelom = tr::after posle naslova),
     ostali parovi koliko staju; naziv bez fiksne kolone. Iznos (td.num) ostaje ceo red, vrednost desno. */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa)::after {
    content: ""; order: -1; flex: 0 0 100%; height: 0;
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) > td:not(.num, [data-tel="naslov"], [data-tel="naslov2"], :first-child:not([data-tel])) {
    flex: 0 1 auto;
    margin-right: 14px;
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) > td[data-label]:not([data-tel="naslov"], [data-tel="naslov2"], .rokovnik-stanje-cell)::before,
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:not(.partner-detail-row, .uvoz-detail-row, .lista-grupa-red, .tracking-grupa, .vozila-grupa) > td.rokovnik-stanje-cell[data-label]:not([data-tel="naslov"], [data-tel="naslov2"])::after {
    flex: 0 0 auto;
  }
  /* Trake grupa / meseca (Kamioni / Prikolice, meseci, Aktivne / Završene ture …) = tamna zaobljena traka (korisnik
     2026-10-08: „stavi u tamno umesto zlatno“, „ove grupe“ — ne zlatna .lista-grupa-zlatna ni običan naslov); klik i dalje
     sklapa. Red (tr) bez pozadine, da se zlatna ne vidi iza krivine. */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.lista-grupa-red, .tracking-grupa, .vozila-grupa),
  .partneri-page #tblNalozi tbody tr.lista-grupa-red { margin-top: 14px; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:first-child:is(.lista-grupa-red, .tracking-grupa, .vozila-grupa),
  .partneri-page #tblNalozi tbody tr.lista-grupa-red:first-child { margin-top: 0; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.lista-grupa-red, .tracking-grupa, .vozila-grupa) > td,
  .partneri-page #tblNalozi tbody tr.lista-grupa-red > td {
    padding: 7px 12px !important;
    background: linear-gradient(180deg, #2a313a 0%, #1e242c 100%) !important;
    color: #e8eaed !important;
    border-radius: 8px;
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.lista-grupa-red, .tracking-grupa, .vozila-grupa),
  .partneri-page #tblNalozi tbody tr.lista-grupa-red { background: transparent !important; }
  /* Pregled ispod reda (sifarnik-lista.js ga ubaci posle izabranog reda): kartica bez donje krivine, pregled je nastavlja. */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:has(+ tr:is(.partner-detail-row, .uvoz-detail-row)) {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.partner-detail-row, .uvoz-detail-row) {
    margin-top: 0;
    border-top: 1px dashed var(--rmx-edge);
    border-radius: 0 0 12px 12px;
    box-shadow: inset 4px 0 0 #e0a35a, 0 1px 3px rgba(0, 0, 0, 0.12);
    overflow: hidden;
  }

  /* --- Kamioni / tura / strana naloga (.kam-*, blok KAMIONI): iste kartice. --- */
  .kam-lista { background: transparent; border: 0; border-radius: 0; overflow: visible; }
  .kam-naslov { justify-content: flex-start; padding: 2px 4px 0; background: none; color: var(--rmx-accent); }
  .kam-naslov span:last-child { color: var(--rmx-muted); }
  .kam-red {
    margin-top: 8px; padding: 9px 12px 9px 15px; border-top: 0; background: #fff; border-radius: 12px;
    box-shadow: inset 4px 0 0 var(--rmx-accent), 0 1px 3px rgba(0, 0, 0, 0.12);
  }
}

/* ========== SPAJALICA — link na fajl (korisnik 2026-10-08: „treba ikonica za te linkove da se vidi“, izbor „1 spajalica“,
   „B — link kao fajl“) ==========
   Crtež = Pages/Shared/_IkonaSpajalica.cshtml (.ikona-spajalica). Mesta: kartica dokumenta (ime fajla verzije, i Drive link),
   Rokovnik (kolona Fajl, siv taster kao ostali .btn-icon-rmx), Početna na telefonu (taster desno u redu „Ističe u 30 dana“).
   Link = RokovnikStavka.FajlUrl / handler Fajl na /Dokumenti (Drive = redirect). Siva, mirna — ne takmiči se sa crvenim
   „isteklo“. */
.kartica-form .dok-verzija-fajl a .ikona-spajalica { width: 14px; height: 14px; margin-right: 3px; vertical-align: -2px; }
.rokovnik-fajl-cell { text-align: center; }
a.rokovnik-fajl { text-decoration: none; }
a.rokovnik-fajl .ikona-spajalica { width: 16px; height: 16px; }

@media (max-width: 700px) {
  /* Početna: okvir reda = red (kartica roka) + spajalica desno; linija između redova prelazi sa reda na okvir. */
  .home-tel-red-okvir { display: flex; align-items: center; border-top: 1px solid #e3e6ea; }
  .home-tel-panel-naslov + .home-tel-red-okvir { border-top: 0; }
  .home-tel-red-okvir > .home-tel-red { flex: 1 1 auto; min-width: 0; border-top: 0; }
  .home-tel-fajl {
    display: flex; align-items: center; justify-content: center; flex: 0 0 34px; width: 34px; height: 34px; margin-right: 10px;
    border: 1px solid #c3c9d0; border-radius: 9px; background: #eef0f2; color: var(--rmx-accent); text-decoration: none;
  }
  .home-tel-fajl .ikona-spajalica { width: 18px; height: 18px; }
  .home-tel-fajl:active { background: #ffe8cc; border-color: #e0a35a; color: #8a4b00; }
  /* Rokovnik kao kartice: Fajl = naziv + taster 34 px. */
  a.rokovnik-fajl { width: 34px; height: 34px; border-radius: 9px; }
  a.rokovnik-fajl .ikona-spajalica { width: 18px; height: 18px; }
}

/* ========== TELEFON — Beleške: cela strana skroluje (korisnik 2026-10-09, Samsung S25: „ne mogu da skrolujem dole kada
   na tel otvorim belešku“, „ipak neće da skroluje u beleškama“ — kraj liste ostajao ispod donjeg menija) ==========
   Isti obrazac kao Board na telefonu („Board: cela strana skroluje“): bez posebnog okvira liste sa svojim skrolom —
   pomera se ceo dokument, donji meni (fixed) leži preko, a dno ima mesta za meni + narandžasti „+“ (54 px + razmak).
   Samo /Beleske (.beleske-page u Pages/Beleske/Index.cshtml); ostale liste nepromenjene. Samo do 700 px = rmxJeTelefon
   (_Layout.cshtml) i ostali TELEFON blokovi; PC se ne menja. Blok je na kraju fajla da pobedi pravila lista iznad. */
@media (max-width: 700px) {
  body:has(.beleske-page),
  body:has(.beleske-page) .app-body { height: auto; overflow: visible; }
  body:has(.beleske-page) .app-shell,
  body:has(.beleske-page) .app-content,
  body:has(.beleske-page) .app-main { overflow: visible; }
  body:has(.beleske-page) .app-main { display: block; padding-bottom: calc(var(--rmx-tel-dole) + 84px); }
  .partneri-page.beleske-page { display: block; overflow: visible; }
  .partneri-page.beleske-page > * + * { margin-top: 8px; }
  .partneri-page.beleske-page .grid-scroll {
    flex: none;
    max-height: none !important;
    height: auto !important;
    min-height: 0;
    overflow: visible !important;
  }
}

/* ========== TELEFON — dodir i pokret (korisnik 2026-10-10: „uradi a + d“ — pregled telefona po Vercel web-design-guidelines) ==========
   Samo do 700 px = window.rmxJeTelefon (_Layout.cshtml <head>) i ostali TELEFON blokovi (menjati zajedno); PC se ne menja.
   Fioka i dijalozi (.app-sidebar, .confirm-overlay, .print-overlay) vec imaju overscroll-behavior: contain (blokovi
   „TELEFON — okvir“ / „TELEFON — kartice: osnova“). Pravilo: docs/ui_toolbar.md §7f red „Dodir i pokret“. */
@media (max-width: 700px) {
  /* Bljesak pri dodiru: umesto plavog (Android Chrome) svetlo narandzasti RMX (#ff9a2e = hover bocnog menija; na beloj
     pozadini kao #ffe8cc tastera). Nasledjuje se na sve elemente. */
  html { -webkit-tap-highlight-color: rgba(255, 154, 46, 0.22); }
  /* Tasteri, linkovi, polja: dupli dodir ne zumira stranu (iOS) i dodir se ne zadrzava cekajuci drugi; zum sa dva prsta
     ostaje (manipulation). Namerno NE na redove liste (tr) — dupli dodir reda = Izmena (ui_toolbar §6) ostaje kako jeste.
     Rucke za prevlacenje (touch-action: none na .home-sticker-head / .board-razdelnik) su klase — jace, nepromenjene. */
  a, button, input, select, textarea, label, summary, [role="button"] { touch-action: manipulation; }
  /* Spiskovi koji sami skroluju (predlozi pretrage .partner-typeahead-list — rmx-select-pretraga.js, „Sortiraj po“ —
     rmx-tel-sort.js, meni Beleska — _Layout.cshtml): na kraju spiska ne pomera se strana iza niti krece povlacenje za
     osvezavanje (Android) — isto kao fioka i dijalozi. */
  .partner-typeahead-list,
  .tel-sort-meni,
  .beleska-meni { overscroll-behavior: contain; }
}
/* Smanjeno kretanje (podesavanje telefona „Ukloni animacije“ / „Smanji pokrete“): fioka menija se otvara i zatvara bez
   klizanja (isti selektori kao u bloku „TELEFON — okvir“, ovde kasnije u fajlu = jaci). Spiner cekanja (.print-wait-spin,
   ui_toolbar §7d) se namerno vrti i dalje — bez njega bi „Snimam…“ izgledalo kao da je program stao. */
@media (max-width: 700px) and (prefers-reduced-motion: reduce) {
  body.shell-mode-sidebar .app-sidebar,
  html.rmx-mob-meni body.shell-mode-sidebar .app-sidebar { transition: none; }
}

/* ========== TELEFON — polja 16 px i mete za prst (korisnik 2026-10-10: „uradi 1 + 2“ posle pregleda RMX_Loads blok
   „PHONE — touch & reading“; pravila: skill .cursor/skills/rmx-telefon) ==========
   Samo do 700 px = window.rmxJeTelefon (_Layout.cshtml <head>) i ostali TELEFON blokovi (menjati zajedno); PC se ne menja.
   1) Polje sa tekstom manjim od 16 px: iPhone (Safari i aplikacija sa ikonice) uvelica stranu kad se dodirne polje i ostane
      uvelicana. 2) Mete za prst: tasteri i polja >= 40 px, stavke menija 44 px, kvacice 20 px (isto RMX_Loads; Apple 44 pt,
   Material 48 dp). Pravilo: docs/ui_toolbar.md §7f red „Polja i mete za prst“. */
@media (max-width: 700px) {
  /* 1 · Tekst u svakom polju za unos 16 px. :not() daju jacinu 0,5,1 — pobedjuju klasna pravila (.form-input inherit,
     .login-body .login-input 15 px, .tura-stavke-grid / .dnevnice-title-akcije .form-input). Labele, liste i meni ostaju
     po /Podesavanja/Prikaz — menja se samo tekst u polju. */
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]),
  select:not([multiple]):not([hidden]),
  body textarea:not([hidden]) { font-size: 16px; }
  /* fieldset je inace sirok koliko najsire polje (min-width: min-content) — sa vecim poljima bi izasao van ekrana
     (RMX_Loads 2026-10-10: 386 px na 375). Kartice to vec imaju (blok „TELEFON — kartice: osnova“); ovde za sve ostalo. */
  fieldset { min-width: 0; }

  /* 2a · Polja >= 40 px (osnova .form-input 28 px) van tabela: kartica, traka liste, dijalog, prijava. U celiji tabele 36 px
     (tabela skroluje u svom okviru, red ne sme biti previsok). Skriveni nativni datum .rmx-date-native (1 x 1 px ispod
     prikaza datuma, _Layout) se ne dira. min-height pobedjuje height stranica (traka liste 36 / 38 px → 40). */
  :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not(.rmx-date-native), select:not([multiple])):not(td *) {
    min-height: 40px;
  }
  td :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not(.rmx-date-native), select:not([multiple])) {
    min-height: 36px;
  }

  /* 2b · Tasteri >= 40 px (osnova 28 px): Snimi / Odustani, DA / NE, Novi / Izmena, tasteri u panelima i tabovi kartice.
     .btn-icon-rmx (olovka, ×, ⇅, ⤓, spajalica) 40 x 40. Traka tabova (.tura-tab: Ture, Partneri, Dobavljaci, Dozvole,
     Firma …) se i dalje prelama u vise redova (blok „TELEFON — kartice: osnova“). */
  :is(.btn-primary-rmx, .btn-secondary-rmx, .btn-danger-rmx) { min-height: 40px; }
  .btn-icon-rmx { min-width: 40px; min-height: 40px; }
  .btn-back { display: inline-flex; align-items: center; min-height: 40px; }
  .tura-tab { min-height: 40px; }
  /* Beleska gore desno (blok „TELEFON — okvir“ 38 x 34) — traka je 48 px, 40 x 40 staje. */
  .btn-top-beleska { width: 40px; height: 40px; }
  /* × u pretrazi liste: znak isti (16 px), polje za dodir 36 x 36 umesto 20 x 20; tekst pretrage ne ide ispod njega. */
  .search-field .search-clear { width: 36px; height: 36px; right: 2px; }
  .search-field #txtPretraga { padding-right: 40px; }

  /* 2c · Stavke fioke menija 44 px: glavne (.app-side-link / .app-side-summary, osnova min 40) i podstavke (.app-side-sub a,
     bilo 10 + 10 px = ~36). line-height 20 px staje i za najveci meni iz Prikaza (16 px). */
  :is(.app-side-link, .app-side-summary) { min-height: 44px; }
  .app-side-sub a { padding-top: 12px; padding-bottom: 12px; line-height: 20px; }

  /* 2d · Kvacice i radio 20 px (osnova ~13 px; .grid input.chk-zavrseno 16 px — :not([hidden]) daje istu jacinu 0,2,1,
     kasnije u fajlu = jace; znak ✓ ostaje 11 px u sredini). */
  input:is([type="checkbox"], [type="radio"]):not([hidden]) { width: 20px; height: 20px; }
}

/* ========== TELEFON — redizajn E: osnova (korisnik 2026-10-10: slika 4 ekrana, od 6 kombinacija boja „E sivo“ = siva podloga
   kao PC, grafitna traka, bele kartice sa sivom ivicom, zeleno za glavne radnje; „hajde da vidim kako to izgleda lokalno“) ==========
   Samo do 700 px = window.rmxJeTelefon (_Layout.cshtml <head>) i ostali TELEFON blokovi (menjati zajedno); PC se ne menja.
   Tacka povratka: git tag pre-redizajn-telefona. Skill .cursor/skills/rmx-telefon, docs/ui_toolbar.md §7f red „Redizajn E“. */
@media (max-width: 700px) {
  /* Donji meni (_Layout .app-donji-meni): svetao kao statusna traka PC-a (#f2f3f5 / ivica --rmx-edge), izabrano = siva
     „pilula“ (#dde2e8 = --rmx-row-sel ton) sa tamnim tekstom; ranije taman sa narandzastim izabranim (blok „TELEFON — okvir“). */
  .app-donji-meni { background: #f2f3f5; border-top: 1px solid var(--rmx-edge); }
  .app-donji-meni a,
  .app-donji-meni button { color: var(--rmx-muted); }
  .app-donji-meni .active,
  html.rmx-mob-meni #btnMobVise { color: var(--rmx-charcoal); font-weight: 600; background: #dde2e8; border-radius: 10px; margin: 5px 3px; }
  /* Novi = zeleni krug (E: zeleno kao taster Novi na PC-u, --rmx-green) umesto narandzastog — isti selektori kao blokovi
     „TELEFON — Nalozi i Board kao kartice“ i „TELEFON — liste u stilu RMX TMS“ (ovde kasnije u fajlu = jace). */
  .partneri-page:has(#tblNalozi) .toolbar > a[data-kbd="novi"],
  .board-page .board-nalog-toolbar > a[data-kbd="novi"],
  .partneri-page-top .toolbar.tel-traka > :is(a, button)[data-kbd="novi"],
  .partneri-page-top .toolbar.tel-traka > .toolbar-levo-red > :is(a, button)[data-kbd="novi"] {
    color: #fff; background: var(--rmx-green); border-color: var(--rmx-green);
  }
}

/* ========== KAMIONI — redizajn E (korisnik 2026-10-10, isto kao blok iznad) ==========
   Pages/Kamioni/Index.cshtml (.kam-e): tamni panel naslova + prekidac Na putu / U planu / Svi, kartica kamiona = tablica
   (plavo polje SRB) + oznaka stanja, vozac, relacija · tura, GPS red (rmx-kamioni-gps.js), traka nedelje voznje (TAHO-F0).
   Vazi na svakoj sirini kao blok „KAMIONI“ (strana je uska kolona i na PC-u). Kartica nosi i .kam-red (dodir = tura,
   rmx-kamioni-gps.js) — pravila .kam-red iz bloka „KAMIONI“ se ovde ponistavaju. Tura.cshtml i dalje stari izgled. */
.kam-e .kam-e-glava { background: var(--rmx-charcoal); color: #fff; border-radius: var(--rmx-radius-panel); padding: 12px 14px; margin: 0 0 8px; }
.kam-e .kam-e-naslov { font-size: 20px; font-weight: 600; line-height: 1.2; }
.kam-e .kam-e-pod { font-size: 12px; color: var(--rmx-gray-light); margin-top: 2px; }
.kam-e .kam-e-prekidac { display: flex; background: var(--rmx-slate-soft); border-radius: 8px; padding: 3px; margin-top: 10px; }
.kam-e .kam-e-prekidac button {
  flex: 1 1 0; min-height: 34px; border: 0; border-radius: 6px; background: transparent; color: #d5d9de;
  font: inherit; font-size: 13px; cursor: pointer;
}
.kam-e .kam-e-prekidac button.on { background: #e8eaed; color: var(--rmx-text); font-weight: 600; }
.kam-e .kam-e-lista { display: flex; flex-direction: column; gap: 8px; }
.kam-e .kam-red.kam-e-kartica {
  display: block; padding: 11px 12px; border: 1px solid var(--rmx-edge); border-radius: var(--rmx-radius-panel);
  background: #fff; color: var(--rmx-text);
}
.kam-e .kam-e-kartica[hidden],
.kam-e .kam-e-gps[hidden] { display: none; }
.kam-e .kam-e-gore { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
/* Tablica: plavo polje SRB + registracija, crni okvir kao prava tablica (link na turu). */
.kam-e .kam-e-tablica {
  display: inline-flex; align-items: stretch; border: 1.5px solid var(--rmx-text); border-radius: 4px; overflow: hidden;
  background: #fff; color: var(--rmx-text); font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap;
}
.kam-e .kam-e-tablica b { background: #1d4fa8; color: #fff; font-size: 11px; font-weight: 600; padding: 2px 4px; display: flex; align-items: center; }
.kam-e .kam-e-tablica span { padding: 1px 7px; }
/* Oznaka stanja (IndexModel.Oznaka): g zeleno U toku, o narandzasto Utovar / Istovar danas, b plavo Odmor, n sivo U planu. */
.kam-e .kam-e-chip { font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 999px; white-space: nowrap; }
.kam-e .kam-e-chip-g { background: #e1f1e3; color: #1f6b2c; }
.kam-e .kam-e-chip-o { background: #ffefdc; color: #9a4d00; }
.kam-e .kam-e-chip-b { background: #e3eefc; color: #16508f; }
.kam-e .kam-e-chip-n { background: #e8eaed; color: var(--rmx-slate-soft); }
.kam-e .kam-e-vozac { font-size: 15px; font-weight: 600; margin: 8px 0 2px; }
.kam-e .kam-e-mu { font-size: 12px; color: var(--rmx-muted); margin-top: 2px; overflow-wrap: anywhere; }
.kam-e .kam-e-ico { width: 14px; height: 14px; vertical-align: -2px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.kam-e .kam-e-pin { color: var(--rmx-green); }
/* GPS red: mesto = link (plavo kao GPS na Boardu, sirok koliko tekst), brzina · javio sivo, „vozi“ zeleno (kam-vozi iz JS). */
.kam-e .kam-e-gps { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 6px; margin-top: 7px; font-size: 13px; }
.kam-e .kam-e-gps .kam-gps-mesto { color: #1a4f8a; text-decoration: none; }
.kam-e .kam-e-gps .kam-gps-brzina { color: var(--rmx-muted); font-size: 12px; }
.kam-e .kam-e-gps .kam-gps-brzina.kam-vozi { color: var(--rmx-green); }
.kam-e .kam-e-gps [hidden] { display: none; }
/* Traka nedelje voznje (IndexModel.Traka): zeleno, zuto < 24 h do roka, crveno rok prosao (OdmorVozaca.Boja). */
.kam-e .kam-e-traka { display: block; height: 5px; background: #e8eaed; border-radius: 3px; margin-top: 9px; overflow: hidden; }
.kam-e .kam-e-traka > span { display: block; height: 5px; border-radius: 3px; }
.kam-e .kam-e-traka-zeleno { background: var(--rmx-green); }
.kam-e .kam-e-traka-zuto { background: #e8890c; }
.kam-e .kam-e-traka-crveno { background: var(--rmx-red); }
.kam-e .kam-e-prazno { margin: 4px 2px; color: var(--rmx-muted); font-size: 13px; }
.kam-e .kam-e-prazno[hidden] { display: none; }

/* --- Kamioni redizajn E, dopuna (korisnik 2026-10-10: „ostaviti kako je, uz kratko objašnjenje kad se dodirne“, „to sada
   treba usaglasiti kada sam kliknuo iz Kamiona“) --- */
/* Traka nedelje + tekst = taster bez izgleda tastera (Pages/Kamioni/_KamionKartica.cshtml); dodir = objasnjenje (rmx-kamioni-gps.js). */
.kam-e .kam-e-nedelja { display: block; width: 100%; padding: 0; margin: 0; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.kam-e .kam-e-nedelja > .kam-e-mu { display: block; }
.kam-e .kam-e-info { color: var(--rmx-gray); font-size: 13px; margin-left: 2px; }
.kam-e .kam-e-objasnjenje { margin-top: 6px; padding: 8px 10px; background: #f2f3f5; border: 1px solid #dde2e8; border-radius: 6px; font-size: 12px; line-height: 1.45; color: var(--rmx-text); }
.kam-e .kam-e-objasnjenje[hidden] { display: none; }
/* Strana ture: traka sekcije „Nalozi · N“ (E: tamna traka #3a434e, kao naslovne trake PC-a) i nalog kao link-kartica. */
.kam-e .kam-e-traka-sekcije { display: flex; justify-content: space-between; margin: 10px 0 8px; padding: 6px 10px; border-radius: 6px; background: var(--rmx-slate-soft); color: #fff; font-size: 13px; font-weight: 600; }
.kam-e .kam-e-traka-sekcije span:last-child { font-weight: 400; color: #d5d9de; }
.kam-e .kam-nazad { margin: 2px 0 8px; }
.kam-e .kam-e-lista + .kam-e-traka-sekcije { margin-top: 10px; }
.kam-e .kam-e-nalog { display: block; padding: 11px 12px; border: 1px solid var(--rmx-edge); border-radius: var(--rmx-radius-panel); background: #fff; color: var(--rmx-text); text-decoration: none; }
.kam-e .kam-e-nalog:active { background: #ffe8cc; }

/* ========== NALOG KARTICA — redizajn E (korisnik 2026-10-10: „kreni na Naloge“, „usaglasiti kada sam kliknuo iz Kamiona“) ==========
   Pages/Shared/_NalogKarticaE.cshtml (Models/NalogKarticaE.cs): lista Naloga na telefonu (celija .nalog-tel) i nalozi ture
   (Kamioni/Tura). Gore broj · tura + oznaka statusa, nalogodavac, relacija kao linija utovar → istovar (tacke crta CSS),
   dole vozilo · vozac i EUR. Boje oznake = NalogKarticaE.StatusKljuc (isto kao loptice statusa). Vazi na svakoj sirini
   (na PC-u celija .nalog-tel nije prikazana, Kamioni su uska kolona). */
.nal-e { display: block; font-size: 13px; color: var(--rmx-text); }
.nal-e-gore { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.nal-e-broj { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; color: var(--rmx-muted); }
.nal-e-chip { flex: 0 0 auto; margin-left: auto; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 999px; white-space: nowrap; background: #e8eaed; color: var(--rmx-slate-soft); }
.nal-e-chip-aktivan { background: #e1f1e3; color: #1f6b2c; }
.nal-e-chip-istovaren { background: #ffefdc; color: #9a4d00; }
.nal-e-chip-otkazan { background: #fde4e2; color: #9b231a; }
.nal-e-chip-neaktivan { background: #fff3cd; color: #6b4e00; }
.nal-e-partner { display: block; margin: 5px 0 6px; font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
/* Relacija: dve tacke (zelena = utovar, prsten = istovar) spojene linijom — ::before tacke, linija na .nal-e-ruta. */
.nal-e-ruta { position: relative; display: block; padding-left: 16px; }
.nal-e-ruta::before { content: ""; position: absolute; left: 3px; top: 10px; bottom: 10px; width: 2px; background: #c9ced5; }
.nal-e-od, .nal-e-do { position: relative; display: block; overflow-wrap: anywhere; }
.nal-e-do { margin-top: 4px; }
.nal-e-od::before, .nal-e-do::before { content: ""; position: absolute; left: -16px; top: 5px; width: 8px; height: 8px; border-radius: 50%; box-sizing: border-box; }
.nal-e-od::before { background: var(--rmx-green); }
.nal-e-do::before { background: #fff; border: 2px solid var(--rmx-slate-soft); }
.nal-e-od small, .nal-e-do small { margin-left: 4px; font-size: 12px; color: var(--rmx-muted); }
.nal-e-dole { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: 9px; padding-top: 7px; border-top: 1px solid #e8eaed; }
.nal-e-dole > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; color: var(--rmx-muted); }
.nal-e-dole > b { flex: 0 0 auto; margin-left: auto; font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }

/* Dugmici Prikaza na listi Naloga (Pages/Nalozi/Index.cshtml .nalozi-cipovi) — samo telefon, PC ima padajucu listu. */
.nalozi-cipovi { display: none; }

/* ========== TELEFON — Nalozi redizajn E (korisnik 2026-10-10: „kreni na Naloge“) ==========
   Samo do 700 px = window.rmxJeTelefon i ostali TELEFON blokovi (menjati zajedno); PC se ne menja. Posle bloka „TELEFON —
   Nalozi u stilu Kamiona“ (jedan beli kontejner) — ovde svaki nalog posebna bela kartica na sivoj podlozi (kao Kamioni E),
   trake Aktivne / Zavrsene ture = tamna traka #3a434e, Prikaz = dugmici u redu (padajuca se ne vidi). */
@media (max-width: 700px) {
  .partneri-page:has(#tblNalozi) #listaScroll { background: transparent; border: 0; border-radius: 0; }
  .partneri-page #tblNalozi tbody tr.lista-row {
    margin: 0 0 8px; padding: 11px 12px; background: #fff; border: 1px solid var(--rmx-edge) !important;
    border-radius: var(--rmx-radius-panel);
  }
  .partneri-page #tblNalozi tbody tr.lista-grupa-red + tr.lista-row { border-top: 1px solid var(--rmx-edge); }
  .partneri-page #tblNalozi tbody tr.lista-row.is-selected { background: #fff; border-color: var(--rmx-charcoal) !important; outline: 1px solid var(--rmx-charcoal) !important; }
  .partneri-page #tblNalozi tbody tr.lista-row:active { background: #ffe8cc; }
  .partneri-page #tblNalozi tbody tr.lista-grupa-red { margin: 2px 0 8px; }
  .partneri-page #tblNalozi tbody tr.lista-grupa-red > td {
    background: var(--rmx-slate-soft) !important; color: #fff; border-radius: 6px; padding: 6px 10px; font-weight: 600; font-size: 13px;
  }
  .partneri-page:has(#tblNalozi) .nalozi-tip-filter { display: none; }
  .nalozi-cipovi {
    display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; padding: 2px 0 8px;
  }
  .nalozi-cipovi::-webkit-scrollbar { display: none; }
  .nalozi-cipovi a {
    flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px;
    background: #fff; border: 1px solid var(--rmx-edge); color: var(--rmx-text); font-size: 13px; text-decoration: none; white-space: nowrap;
  }
  .nalozi-cipovi a.on { background: var(--rmx-charcoal); border-color: var(--rmx-charcoal); color: #fff; font-weight: 600; }
}

/* ========== TELEFON — Početna redizajn E (korisnik 2026-10-10: „da kreni na pocetnu ovo mi se dopada“, slika 4 ekrana E) ==========
   Pages/Index.cshtml .home-tel. Samo do 700 px = rmxJeTelefon i ostali TELEFON blokovi; PC (stikeri) se ne menja. Gore tamni
   panel sa pozdravom (.home-tel-glava, kao .kam-e-glava na Kamionima), plocice: ikonica levo iznad broja (ranije sivo gore
   desno, varijanta 1 od 2026-10-08), zelena kad ima utovara danas, narandzasta kad isticu rokovi; rokovi: broj dana kao oznaka
   (crveno do 7, narandzasto do 20, sivo posle — klase u Index.cshtml), traka naslova ravna #3a434e. */
@media (max-width: 700px) {
  .home-tel-glava {
    flex: 0 0 auto; display: flex; flex-direction: column; gap: 1px; margin: 0 0 8px; padding: 12px 14px;
    background: var(--rmx-charcoal); color: #fff; border-radius: var(--rmx-radius-panel);
  }
  .home-tel-glava span { font-size: 12px; color: var(--rmx-gray-light); }
  .home-tel-glava b { font-size: 20px; font-weight: 600; line-height: 1.2; }
  .home-tel-plocica { padding: 11px 12px 10px; }
  .home-tel-ico { position: static; display: block; width: 20px; height: 20px; margin: 0 0 4px; color: var(--rmx-slate-soft); }
  .home-tel-plocica b { font-size: 24px; font-weight: 600; }
  .home-tel-plocica.tel-zelena .home-tel-ico { color: var(--rmx-green); }
  .home-tel-plocica.tel-narandzasta .home-tel-ico { color: #e8890c; }
  .home-tel-plocica.tel-kurs b { font-size: 18px; padding-top: 3px; }
  .home-tel-panel-naslov { background: var(--rmx-slate-soft); font-weight: 600; }
  .home-tel-red { align-items: center; }
  .home-tel-red :is(.tel-hitno, .tel-uskoro, .tel-kasnije) {
    justify-self: end; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 999px; white-space: nowrap;
  }
  .home-tel-red .tel-hitno { background: #fde4e2; color: #9b231a; }
  .home-tel-red .tel-uskoro { background: #ffefdc; color: #9a4d00; }
  .home-tel-red .tel-kasnije { background: #e8eaed; color: var(--rmx-slate-soft); }
}

/* ========== TELEFON — Početna: cela strana skroluje (korisnik 2026-10-10, slika: „nije problem koliko god da se stavi ovih
   plocica ali je vise problem sto se one ne skroluju jer su fiksno postavljene pa mi samo to promeni za sada“) ==========
   Ponistava blok „TELEFON — Pocetna: spisak rokova do dna“ (2026-10-08: strana zakljucana na visinu ekrana, pomera se samo
   spisak rokova u svom okviru — sa visim plocicama redizajna E ostajao je 1 red). Sada isto kao Beleske / Board na
   telefonu: pomera se ceo dokument (pozdrav, plocice, rokovi), donji meni (fixed) lezi preko, dno ima mesta za meni.
   Samo do 700 px = rmxJeTelefon i ostali TELEFON blokovi; PC (stikeri) se ne menja. Blok na kraju fajla = jaci. */
@media (max-width: 700px) {
  body:has(.home-tel),
  body:has(.home-tel) .app-body { height: auto; overflow: visible; }
  body:has(.home-tel) .app-shell,
  body:has(.home-tel) .app-content,
  body:has(.home-tel) .app-main { overflow: visible; }
  body:has(.home-tel) .app-main { padding-bottom: calc(var(--rmx-tel-dole) + 12px); }
  .home-page:has(.home-tel),
  .home-page-content:has(.home-tel),
  .home-tel { flex: none; min-height: 0; }
  /* Spisak rokova bez svog skrola i bez minimalne visine — svi redovi u strani; traka naslova vise ne lepi (strana se pomera). */
  .home-tel-panel { flex: none; min-height: 0; overflow: hidden; }
  .home-tel-panel-naslov { position: static; }
}

/* ========== TELEFON — Podaci naloga redizajn E (korisnik 2026-10-10: slika „Sada / Predlog E“, „e može“) ==========
   Pages/PodaciNaloga/Index.cshtml (#tblSabloni.tel-svoja-kartica): svaki sablon posebna bela kartica na sivoj podlozi (kao
   Nalozi E) — celija .sablon-tel (klase .nal-e iz „NALOG KARTICA — redizajn E“ + .sab-e-*), ostale celije se na telefonu ne
   vide; brzi izbor Aktivni / Neaktivni / Svi (.sab-cipovi, JS na strani — klasa .sab-skriven). Na PC-u: celija i dugmici se
   ne vide, lista ista. Samo do 700 px = rmxJeTelefon i ostali TELEFON blokovi. */
.sab-cipovi { display: none; }
#tblSabloni td.sablon-tel { display: none; }
.sab-e-mu { display: block; margin: -2px 0 6px; font-size: 12px; color: var(--rmx-muted); }
.sab-e-red { display: flex; align-items: baseline; gap: 6px; margin-top: 3px; font-size: 13px; overflow-wrap: anywhere; }
.sab-e-ico { flex: 0 0 14px; width: 14px; height: 14px; align-self: center; fill: none; stroke: var(--rmx-muted); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.sab-e-ico.sab-e-ruta { stroke: var(--rmx-green); }
@media (max-width: 700px) {
  .partneri-page:has(#tblSabloni) #listaScroll {
    background: transparent; border: 0; border-radius: 0; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch;
    padding-bottom: 72px;
  }
  .partneri-page #tblSabloni,
  .partneri-page #tblSabloni > tbody { display: block; width: auto !important; min-width: 0 !important; max-width: 100% !important; }
  .partneri-page #tblSabloni > thead,
  .partneri-page #tblSabloni > colgroup { display: none; }
  .partneri-page #tblSabloni > tbody > tr.lista-row {
    display: block; margin: 0 0 8px; padding: 11px 12px; background: #fff; border: 1px solid var(--rmx-edge);
    border-radius: var(--rmx-radius-panel);
  }
  .partneri-page #tblSabloni > tbody > tr.lista-row.is-selected { background: #fff; border-color: var(--rmx-charcoal); outline: 1px solid var(--rmx-charcoal); }
  .partneri-page #tblSabloni > tbody > tr.lista-row:active { background: #ffe8cc; }
  .partneri-page #tblSabloni > tbody > tr.lista-row > td { display: none; }
  .partneri-page #tblSabloni > tbody > tr.lista-row > td.sablon-tel {
    display: block; padding: 0; border: 0; background: transparent !important; white-space: normal; overflow: visible;
  }
  .partneri-page #tblSabloni > tbody > tr.partner-detail-row { display: block; margin: -4px 0 10px; }
  .partneri-page #tblSabloni > tbody > tr.partner-detail-row > td { display: block; padding: 0; border: 0; }
  .partneri-page #tblSabloni > tbody > tr.sab-skriven { display: none !important; }
  .sab-cipovi { display: flex; gap: 6px; padding: 2px 0 8px; }
  .sab-cipovi button {
    display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 999px; background: #fff;
    border: 1px solid var(--rmx-edge); color: var(--rmx-text); font: inherit; font-size: 13px; cursor: pointer;
  }
  .sab-cipovi button.on { background: var(--rmx-charcoal); border-color: var(--rmx-charcoal); color: #fff; font-weight: 600; }
}

/* Nalozi na telefonu — filter po statusu (korisnik 2026-10-10: „filtriram po status recimo Istovaren samo“): #nalStatusIzbor
   (Pages/Nalozi/Index.cshtml, stavke pravi JS iz data-status) kao prvo dugme u .nalozi-cipovi; izabran status = tamno dugme
   (.on). Redovi drugog statusa .nal-st-skriven — sakriveni samo do 700 px (na PC-u se izbor i ne vidi). Slova 16 px / visina
   40 px = pravilo polja (blok „TELEFON — polja 16 px i mete za prst“, iPhone inace uvelica stranu) — zato i ostala dugmad reda 40 px. */
@media (max-width: 700px) {
  .nalozi-cipovi select.nalozi-status-izbor {
    flex: 0 0 auto; width: auto !important; max-width: 60vw; padding: 0 28px 0 14px; border-radius: 999px;
    background-color: #fff; border: 1px solid var(--rmx-edge); color: var(--rmx-text);
  }
  .nalozi-cipovi select.nalozi-status-izbor.on { background-color: var(--rmx-green); border-color: var(--rmx-green); color: #fff; font-weight: 600; }
  .partneri-page #tblNalozi tbody tr.nal-st-skriven { display: none !important; }
}

/* ========== TELEFON — izabrana kartica + pregled u jednom narandzastom okviru (korisnik 2026-10-10, slika Sluzbena: „treba
   taj ram narandzaste boje da obuhvati ceo okvir ovog sto je selektovan, mislim da bi bilo lepse“) ==========
   Do sada: izabrana kartica i pregled ispod nje (sifarnik-lista.js) imali su narandzastu samo ivicu levo (inset 4px #e0a35a,
   blok „liste u stilu RMX TMS“). Sada okvir (ivica) 2 px sa svih strana: izabrana kartica gore + bocno (dno kad je pregled
   otvoren ide na pregled), pregled bocno + dole — izgleda kao jedna celina. Ista boja #e0a35a (= ivica izabranog / taster ⇅).
   Opste liste + Podaci naloga (#tblSabloni, svoja kartica). Samo do 700 px = rmxJeTelefon i ostali TELEFON blokovi. */
@media (max-width: 700px) {
  /* Prava ivica (ne inset senka): siva pozadina celije pregleda (.row-detail / td) prekrivala je senku reda — okvir se nije
     video oko pregleda (korisnik 2026-10-10 slika: „ne radi boja za ceo okvir“). border !important: blok „liste u stilu RMX
     TMS“ daje redu border 0 !important. */
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.is-selected, .row-selected) {
    border: 2px solid #e0a35a !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.is-selected, .row-selected):has(+ tr:is(.partner-detail-row, .uvoz-detail-row)) {
    border-bottom: 0 !important;
  }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.partner-detail-row, .uvoz-detail-row) {
    border: 2px solid #e0a35a !important;
    border-top: 1px dashed var(--rmx-edge) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  }
  .partneri-page #tblSabloni > tbody > tr.lista-row.is-selected {
    background: #ffe8cc; border: 2px solid #e0a35a !important; outline: none;
  }
  .partneri-page #tblSabloni > tbody > tr.lista-row.is-selected:has(+ tr.partner-detail-row) {
    margin-bottom: 0; border-bottom: 0 !important; border-bottom-left-radius: 0; border-bottom-right-radius: 0;
  }
  .partneri-page #tblSabloni > tbody > tr.partner-detail-row {
    margin: 0 0 10px; border: 2px solid #e0a35a; border-top: 1px dashed var(--rmx-edge);
    border-radius: 0 0 var(--rmx-radius-panel) var(--rmx-radius-panel); overflow: hidden; background: #fff;
  }
}

/* ========== TELEFON — naslov kartice bez tacke (korisnik 2026-10-10: „kod vozaca treba gore lepo da pise ime i prezime“) ==========
   Tabela sa data-tel-naslov-spoj="razmak" (Pages/Zaposleni/Index.cshtml: data-tel-naslov="2 1" = Ime pa Prezime): drugi deo
   naslova ide posle razmaka umesto „ · “ (blok „TELEFON — liste kao kartice“ tacka 5) i prvi deo nije skracen na 62 %. */
@media (max-width: 700px) {
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica)[data-tel-naslov-spoj="razmak"] > tbody > tr > td[data-tel="naslov2"]::before { content: "\00a0"; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica)[data-tel-naslov-spoj="razmak"] > tbody > tr > td[data-tel="naslov"] { max-width: none; }
}

/* ========== Link u pregledu ispod reda (korisnik 2026-10-10: „linkovi da se vide kao ikonica ne kao tekst“) ==========
   wwwroot/js/sifarnik-lista.js previewVal: vrednost koja je ceo http(s) link = <a class="preview-link"> (novi tab) sa ikonicom
   i tekstom. PC: tekst kao ranije (sada klikabilan), ikonica se ne vidi. Telefon: samo ikonica u tasteru 36 x 36 (kao
   spajalica roka na Pocetnoj .home-tel-fajl), tekst linka sakriven (ceo link je u title). */
.preview-link { color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.preview-link:hover { text-decoration: underline; }
.preview-link-ico { display: none; }
@media (max-width: 700px) {
  .preview-link {
    display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 9px;
    border: 1px solid #c3c9d0; background: #eef0f2; color: #1a4f8a;
  }
  .preview-link:active { background: #ffe8cc; border-color: #e0a35a; color: #8a4b00; }
  .preview-link-tekst { display: none; }
  .preview-link-ico { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
}

/* ========== TELEFON — pregled ispod reda: skroluje samo siroka tabela, ne cela kartica (korisnik 2026-10-10, slika Sluzbena
   188/26: „treba da se skroluju na stranu samo kretanja dole ne cela kartica“) ==========
   Do sada je celija pregleda imala overflow-x auto (blok „TELEFON — liste kao kartice“ tacka 7) — kad je tabela Kretanja /
   Troskovi sira od ekrana, vodoravno se pomerao ceo pregled (polja gore i okvir). Sada: celija ne skroluje, svaka tabela u
   pregledu (.row-detail table) je blok sa svojim vodoravnim skrolom (thead / tbody ostaju tabela — anonimni omotac).
   Opste liste + Podaci naloga; samo do 700 px = rmxJeTelefon i ostali TELEFON blokovi. */
@media (max-width: 700px) {
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.partner-detail-row, .uvoz-detail-row) > td,
  .partneri-page #tblSabloni > tbody > tr.partner-detail-row > td { overflow-x: hidden; }
  .partneri-page :is(.grid-scroll > table.grid, table.grid.lista-tel):not(#tblNalozi, .tel-svoja-kartica) > tbody > tr:is(.partner-detail-row, .uvoz-detail-row) .row-detail table,
  .partneri-page #tblSabloni > tbody > tr.partner-detail-row .row-detail table {
    display: block; width: auto; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain;
  }
}

/* ========== VOZAC — aplikacija (VZ-F1, korisnik 2026-10-10: „jedan jednostavan pocetni ekran … samo jednostavne tastere“;
   plan docs/plan_aplikacija_vozaci.md, slika ekrana E1 / E2) ==========
   Pages/Shared/_LayoutVozac.cshtml + Pages/Vozac/*: bez menija programa; boje redizajna E (siva podloga, grafit, bele kartice,
   zeleno za glavne radnje). Kartica naloga = klase .nal-e („NALOG KARTICA — redizajn E“). Vazi na svakoj sirini (vozac na
   telefonu; na PC-u uska kolona). */
.voz-body { margin: 0; min-height: var(--rmx-vis, 100dvh); background: var(--rmx-bg); color: var(--rmx-text);
  font-family: var(--rmx-font-family); font-size: 14px; }
.voz-traka {
  position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: 10px;
  padding: calc(8px + env(safe-area-inset-top, 0px)) 12px 8px; background: var(--rmx-charcoal); color: #fff;
}
.voz-logo { width: 28px; height: 28px; border-radius: 6px; }
.voz-traka-ime { flex: 1 1 auto; min-width: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.voz-traka-ime span { font-weight: 400; color: var(--rmx-gray-light); }
.voz-izlaz-forma { margin: 0; }
.voz-izlaz { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid #3a434e;
  border-radius: 8px; background: transparent; color: #d5d9de; cursor: pointer; }
.voz-izlaz svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.voz-main { max-width: 560px; margin: 0 auto; padding: 10px 10px calc(16px + env(safe-area-inset-bottom, 0px));
  display: flex; flex-direction: column; gap: 8px; }
.voz-glava { position: relative; display: flex; flex-direction: column; gap: 1px; padding: 12px 14px; border-radius: var(--rmx-radius-panel);
  background: var(--rmx-charcoal); color: #fff; }
/* Sivi mali red (datum / vozilo) — bez oznake statusa: ranije „.voz-glava span“ je bojio i .nal-e-chip u sivo, pa je
   „U toku“ na E2 bio bled (korisnik 2026-10-10, slika telefona). Oznaka zadrzava boje .nal-e-chip-* kao na karticama. */
.voz-glava > span:not(.nal-e-chip) { font-size: 12px; color: var(--rmx-gray-light); }
.voz-glava b { font-size: 20px; font-weight: 600; line-height: 1.2; }
.voz-glava .voz-glava-chip { position: absolute; top: 12px; right: 12px; }
/* Veliki tasteri E1: TURA tamni, Vanredno zeleni; ugasen = bez radnje (nema ture / jos nije urađeno). */
.voz-taster { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 14px 16px; border-radius: 12px;
  color: #fff; text-decoration: none; font-size: 17px; font-weight: 600; }
.voz-taster svg { flex: 0 0 30px; width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.voz-taster small { display: block; margin-top: 2px; font-size: 12px; font-weight: 400; opacity: 0.85; }
.voz-taster-tura { background: var(--rmx-charcoal); }
.voz-taster-vanredno { background: var(--rmx-green); }
.voz-taster:active { filter: brightness(1.15); }
.voz-taster-ugasen { opacity: 0.55; }
.voz-taster-ugasen:active { filter: none; }
.voz-sekcija { margin-top: 4px; padding: 6px 10px; border-radius: 6px; background: var(--rmx-slate-soft); color: #fff; font-size: 13px; font-weight: 600; }
.voz-kartica { display: block; padding: 11px 12px; border: 1px solid var(--rmx-edge); border-radius: var(--rmx-radius-panel); background: #fff;
  color: var(--rmx-text); text-decoration: none; }
a.voz-kartica:active { background: #ffe8cc; }
.voz-kartica .nal-e-gore b { font-size: 15px; }
.voz-mu { display: block; margin-top: 4px; font-size: 12px; color: var(--rmx-muted); }
.voz-prazno { margin: 4px 2px; color: var(--rmx-muted); font-size: 13px; }
.voz-nazad { color: var(--rmx-muted); font-size: 14px; text-decoration: none; padding: 4px 2px; }
/* VZ-F2 Dodaj dokumente (korisnik 2026-10-10, slika predloga 1 + 2): zeleni taster na E2, „Poslato kancelariji“ sa stanjem
   (Ceka narandzasto, Odobreno zeleno, Odbijeno crveno + razlog), strana E3 (strane papira, Slikaj / Iz galerije, Posalji).
   Strane: Pages/Vozac/Tura.cshtml, Pages/Vozac/Dokumenti.cshtml. Polje napomene 16 px (iPhone ne uveca stranu — rmx-telefon). */
.voz-taster-dok { min-height: 56px; }
.voz-poruka-ok { padding: 9px 12px; border-radius: var(--rmx-radius-panel); background: #eaf7ec; border: 1px solid #b6dfbd; color: #1f6b2c; font-size: 14px; }
.voz-poslato-red { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; }
.voz-stanje { flex: 0 0 auto; font-size: 12px; font-weight: 600; padding: 3px 9px; border-radius: 999px; white-space: nowrap; }
.voz-stanje-c { background: #fff4e0; color: #6b4200; }
.voz-stanje-o { background: #e1f1e3; color: #1f6b2c; }
.voz-stanje-x { background: #fcebeb; color: #a32d2d; }
.voz-razlog { display: block; margin-top: 5px; color: #a32d2d; font-size: 13px; }
.voz-mu-kartica { color: var(--rmx-muted); font-size: 13px; }
.voz-mu-kartica b { color: var(--rmx-text); font-weight: 600; }
.voz-dok-strane { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
.voz-dok-strane .voz-prazno { grid-column: 1 / -1; padding: 22px 8px; text-align: center; border: 1px dashed var(--rmx-edge); border-radius: var(--rmx-radius-panel); background: #fff; }
.voz-dok-strana { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 5px; background: #fff;
  border: 1px solid var(--rmx-edge); border-radius: var(--rmx-radius-panel); font-size: 12px; color: var(--rmx-muted); }
.voz-dok-strana img { width: 100%; height: 120px; object-fit: cover; border-radius: 4px; background: #eceef1; }
.voz-dok-strana button { position: absolute; top: 4px; right: 4px; width: 32px; height: 32px; border: none; border-radius: 50%;
  background: rgba(20, 24, 29, 0.75); color: #fff; font-size: 15px; cursor: pointer; }
.voz-dok-izbor { display: flex; gap: 8px; margin-top: 8px; }
.voz-dok-dugme { flex: 1 1 0; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 8px;
  background: #fff; border: 1px solid var(--rmx-edge); border-radius: 12px; font-size: 15px; font-weight: 600; color: var(--rmx-text); cursor: pointer; }
.voz-dok-dugme:active { background: #ffe8cc; }
.voz-dok-dugme svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.voz-dok-nap { display: block; margin-top: 8px; font-size: 13px; color: var(--rmx-muted); }
.voz-dok-nap textarea { display: block; width: 100%; box-sizing: border-box; margin-top: 4px; padding: 8px 10px; font: inherit; font-size: 16px;
  border: 1px solid var(--rmx-edge); border-radius: var(--rmx-radius-panel); background: #fff; color: var(--rmx-text); resize: vertical; }
.voz-greska { margin: 8px 2px 0; color: #a32d2d; font-size: 14px; }
.voz-greska[hidden] { display: none; }
.voz-dok-posalji { width: 100%; margin-top: 10px; justify-content: center; border: none; font: inherit; font-size: 17px; font-weight: 600; cursor: pointer; }
.voz-dok-odustani { display: block; margin-top: 8px; padding: 12px; text-align: center; background: #fff; border: 1px solid var(--rmx-edge);
  border-radius: 12px; color: var(--rmx-text); text-decoration: none; font-size: 15px; }

/* TURA — tab „Dokumenti“ (VZ-F2, korisnik 2026-10-10, slika predloga 4): broj na tabu (ceka odluku), sličica prijave, Odobri
   zeleno / Odbij crveno na prelaz (paleta tastera ui_toolbar.md), pregled PDF-a u ramu. Pages/Ture/Dokumenti.cshtml + Kartica.cshtml. */
.tura-tab-broj { display: inline-block; min-width: 18px; margin-left: 4px; padding: 0 6px; border-radius: 999px; background: #fff4e0;
  color: #6b4200; font-size: 11px; font-weight: 600; line-height: 18px; text-align: center; }
.tura-tab-broj[hidden] { display: none; }
.tdok-grid td { vertical-align: middle; }
.tdok-mini-k { width: 52px; }
.tdok-mini { display: flex; align-items: center; justify-content: center; width: 44px; height: 56px; padding: 0; border: 1px solid var(--rmx-edge);
  border-radius: 4px; background: #f2f3f5; color: var(--rmx-muted); font-size: 10px; cursor: pointer; overflow: hidden; }
.tdok-mini img { width: 100%; height: 100%; object-fit: cover; }
.tdok-mu { color: var(--rmx-muted); font-size: 12px; }
.tdok-radnje { text-align: right; white-space: nowrap; }
.tdok-odobri:hover { background: var(--rmx-green); border-color: var(--rmx-green-hover); color: #fff; }
.tdok-odbij:hover { background: #fcebeb; border-color: var(--rmx-red); color: var(--rmx-red); }
.tdok-link { border: none; background: none; padding: 0; color: #1d5fa5; font: inherit; cursor: pointer; text-align: left; }
.tdok-link:hover { text-decoration: underline; }
.tdok-prazno, .tdok-uputstvo { margin: 4px 0; }
.tdok-odbijene { margin-top: 10px; }
.tdok-odbijene summary { cursor: pointer; color: var(--rmx-muted); padding: 4px 0; }
.tdok-pregled-box { width: min(1000px, 96vw); height: min(88vh, 1100px); display: flex; flex-direction: column; }
.tdok-pregled-glava { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.tdok-pregled-ram { flex: 1 1 auto; width: 100%; border: 1px solid var(--rmx-edge); background: #fff; }

/* PRAVA — samo pregled (KU-F1, korisnik 2026-10-10, docs/plan_korisnici_uloge.md). Uloga sa „samo pregled“ modula:
   FirmaScopePageFilter stavi klasu rmx-samo-pregled na body (_Layout.cshtml) — sakriju se Novi / Brisanje (Partneri obrazac
   btn-hover-novi / btn-hover-brisi) i Snimi na kartici; Odustani ostaje. Server svejedno odbija POST (Data/Dozvola.cs).
   Traka .rmx-pravo-traka: u toku strane (kartica ture — obracun samo pregled) ili plutajuca ispod gornje trake (ne pomera
   raspored kartice: Snimi / Odustani dole ostaju na mestu). */
body.rmx-samo-pregled .btn-hover-novi,
body.rmx-samo-pregled .btn-hover-brisi,
body.rmx-samo-pregled .kartica-actions button[type="submit"],
body.rmx-samo-pregled .card-actions button[type="submit"] { display: none !important; }
.rmx-pravo-traka { margin: 4px 0 8px; padding: 6px 10px; border: 1px solid #f0b866; border-radius: var(--rmx-radius-panel, 8px);
  background: #fff4e0; color: #6b4200; font-size: 13px; }
.rmx-pravo-plutajuca { position: fixed; top: 42px; left: 50%; transform: translateX(-50%); z-index: 950; margin: 0;
  max-width: calc(100vw - 32px); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12); pointer-events: none; }
/* Plutajuca traka nestane posle 6 s (ne pokriva naslov strane stalno); poruka je i u dnevniku servera ako treba. */
.rmx-pravo-plutajuca { animation: rmxPravoNestaje 0.4s ease-in 6s forwards; }
@keyframes rmxPravoNestaje { to { opacity: 0; visibility: hidden; } }

/* KORISNICI (KU-F2, korisnik 2026-10-10, plan_korisnici_uloge.md) — Pages/Korisnici: tabovi Korisnici / Uloge i prava (linkovi
   kao .tura-tab), prekidac Kancelarija / Vozaci / Svi (Q-K8), neaktivan nalog sivo, tabela prava (polje = taster koji se
   klikom menja; boje kao slika prava koju je korisnik prihvatio: zeleno ✓, plavo pregled, sivo —, narandzasto promenjeno). */
.kor-tabovi { margin: 0 0 6px; }
.kor-tabovi a.tura-tab { text-decoration: none; display: inline-block; }
.kor-vrsta { display: inline-flex; gap: 4px; margin-left: 8px; }
.kor-vrsta a { text-decoration: none; }
.kor-vrsta a.on { background: #ffe8cc; border-color: #f0b866; }
tr.kor-neaktivan td { color: var(--rmx-muted, #8a9099); }
.kor-firme { width: auto; min-width: 60%; }
.kor-firme select.form-input { min-width: 220px; }
.kor-prava { width: 100%; }
.kor-prava th.kor-k, .kor-prava td.kor-k { text-align: center; width: 110px; }
.kor-prava tr.kor-grupa td { background: #eef0f3; font-weight: 600; padding-top: 8px; }
.kor-p { display: inline-block; min-width: 64px; padding: 2px 6px; border-radius: 6px; border: 1px solid transparent;
  font-size: 12px; line-height: 18px; text-align: center; }
button.kor-p { cursor: pointer; background: transparent; }
button.kor-p:hover { border-color: #b9bec6; }
.kor-p.kor-s { color: #2f7d3b; background: #eaf7ec; }
.kor-p.kor-pr { color: #1d5fa5; background: #e6f1fb; }
.kor-p.kor-n { color: #8a9099; }
.kor-p.kor-ch { outline: 2px solid #f0b866; outline-offset: -1px; }
.kor-legenda .kor-p { min-width: 0; margin: 0 2px; }

/* POSLOVNA GODINA (KU-F2b, korisnik 2026-10-10) — godina u gornjoj traci je link na Podesavanja → Poslovna godina (_Layout.cshtml);
   boja ostaje (bela / crvena .app-godina-ranija). Dijalog pitanja pri snimanju iznad svih prozora i spinera. Strana izbora godine. */
a.app-godina { text-decoration: none; cursor: pointer; }
a.app-godina:hover { text-decoration: underline; }
.rmx-godina-dlg { z-index: 10050; }
.rmx-godina-nepitaj { display: flex; align-items: center; gap: 6px; margin: 4px 0 10px; font-size: 13px; }
.godina-izbor { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.godina-dugme { min-width: 110px; }
.godina-dugme.on { background: #ffe8cc; border-color: #f0b866; font-weight: 600; }
.godina-dugme.ranija { color: #c0392b; }
.godina-panel { max-width: 640px; }

