﻿:root {
  --bg0: #eef2f6;
  --bg1: #e9eef4;
  --bg2: #dde5ee;
  --mist: #0f2744;
  --ink: #0f2744;
  --ink-soft: #4a657c;
  --muted: #8aa0b2;
  --line: #d5dee8;
  --surface: #ffffff;
  --surface-solid: #ffffff;
  --accent: #248dcd;
  --accent-press: #1b73a8;
  --accent-soft: #9ccae6;
  --accent-text: #ffffff;
  --danger: #c0392b;
  --route: #248dcd;
  --glow: rgba(36, 141, 205, 0.25);
  --radius-control: 10px;
  --radius-panel: 10px;
  --font-display: "Manrope", sans-serif;
  --font-body: "Manrope", sans-serif;
  --motion-enter: 500ms;
  --hero-object-position: center bottom;
  /* Single source: shell chrome + overlays that must clear them (e.g. Rest Teslim) */
  --app-header-h: 53px;
  --app-footer-h: 50px;
  --app-safe-top: env(safe-area-inset-top, 0px);
  --app-safe-bottom: env(safe-area-inset-bottom, 0px);
  --app-header-safe-h: calc(var(--app-header-h) + var(--app-safe-top));
  --app-footer-safe-h: calc(var(--app-footer-h) + var(--app-safe-bottom));
}

/* N9: no double-tap zoom; pinch stays (iOS ignores maximum-scale) */
html,
body {
  touch-action: manipulation;
}

.fatal-error {
  display: none;
  margin: 0;
  padding: 1rem;
  background: #450a0a;
  color: #fecaca;
  border-bottom: 2px solid #f87171;
  font-size: 0.95rem;
  white-space: pre-wrap;
  position: relative;
  z-index: 50;
}
.fatal-error:not([hidden]) { display: block; }
body.is-fatal .auth-split,
body.is-fatal .app-shell { display: none; }

/* ===== APP SHELL (post-login) ===== */
body.app-page {
  height: 100%;
  min-height: 100dvh;
  font-family: var(--font-body);
  color: var(--ink);
  /* Post-login: white; login keeps --bg0 via body.auth-page */
  background: var(--surface);
  overflow: auto;
}

.app-shell {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

/* Keep auth hidden while restoring session (paired with index.html head script) */
html.session-boot #authSplit { display: none !important; }
html.session-boot #appShell.panel-hidden { display: flex !important; }

.app-header {
  --app-header-mark-h: 35px;
  --app-header-logout-h: 31px;
  --app-header-pad: calc((var(--app-header-h) - var(--app-header-mark-h)) / 2);
  position: sticky;
  top: 0;
  z-index: 50;
  height: var(--app-header-safe-h);
  min-height: var(--app-header-safe-h);
  max-height: var(--app-header-safe-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: var(--app-safe-top) var(--app-header-pad) 0;
  background: #000000;
  border-bottom: 1px solid #000000;
  box-sizing: border-box;
}

.app-header__left {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  flex: 0 1 auto;
}

.app-header__logo {
  height: var(--app-header-mark-h);
  width: auto;
  /* Wide SVG (~5.6:1): old max-width:140px capped visual height ~25px */
  max-width: min(72vw, 260px);
  object-fit: contain;
  display: block;
  border-radius: 10px;
  flex-shrink: 0;
}

/* Desktop: full wordmark; mobile (?899px): compact mark  same 35px height */
.app-header__logo--mobile {
  display: none;
}

/* Desktop-only: staff chrome  screen switch / track / fullscreen */
.app-header__staff-screen,
.app-header__track,
.app-header__fullscreen,
.app-header__page-refresh,
.app-header__reset-filters {
  text-decoration: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--app-header-mark-h);
  min-height: var(--app-header-mark-h);
  max-height: var(--app-header-mark-h);
  margin: 0;
  padding: 0 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 0.35rem;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  flex-shrink: 0;
}

.app-header__staff-screen:visited,
.app-header__track:visited {
  color: #fff;
}

.app-header__staff-screen:hover,
.app-header__track:hover,
.app-header__fullscreen:hover,
.app-header__page-refresh:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.app-header__fullscreen,
.app-header__page-refresh,
.app-header__reset-filters {
  width: var(--app-header-mark-h);
  min-width: var(--app-header-mark-h);
  padding: 0;
}

/* Same idea as Takip reset-filters: red control, dim when inactive */
.app-header__reset-filters {
  border-color: #b91c1c;
  background: #dc2626;
  color: #fff;
}

.app-header__reset-filters:hover:not(:disabled) {
  border-color: #991b1b;
  background: #b91c1c;
}

.app-header__reset-filters:disabled,
.app-header__reset-filters.is-inactive {
  opacity: 0.45;
  cursor: not-allowed;
}

.app-header__reset-filters svg {
  width: 1.05rem;
  height: 1.05rem;
  display: block;
}

.app-header__page-refresh svg {
  width: 1.05rem;
  height: 1.05rem;
  display: block;
}

.app-header__page-refresh[hidden],
.app-header__reset-filters[hidden] {
  display: none !important;
}

/* Selected screen / full-width: logo red */
.app-header__staff-screen.is-active,
.app-header__track.is-active,
.app-header__fullscreen.is-active {
  background: #ed3724;
  border-color: #c92e1e;
  color: #fff;
}

.app-header__staff-screen.is-active:hover,
.app-header__track.is-active:hover,
.app-header__fullscreen.is-active:hover {
  background: #d43020;
  border-color: #fff;
}

.app-header__fullscreen-icon {
  width: 1.05rem;
  height: 1.05rem;
  display: block;
}

.app-header__fullscreen-icon[hidden] {
  display: none !important;
}

.app-header__users-add {
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  height: var(--app-header-mark-h);
  min-height: var(--app-header-mark-h);
  margin: 0;
  padding: 0 0.45rem;
  border: none;
  background: transparent;
  color: var(--users-add-fg);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  flex-shrink: 0;
}

.app-header__users-add:hover {
  color: var(--users-add-hover-fg);
  text-decoration: underline;
}

.app-header__staff-screen[hidden],
.app-header__track[hidden],
.app-header__users-add[hidden],
.app-header__fullscreen[hidden],
.app-header__page-refresh[hidden],
.app-header__reset-filters[hidden],
.app-header__uetds-toggles[hidden] {
  display: none !important;
}

/* Soru 77/83: runtime toggles in black app-header (ops/admin, UETDS open) */
.app-header__uetds-toggles {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 1;
  min-width: 0;
}

.app-header__uetds-toggle {
  box-sizing: border-box;
  appearance: none;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  height: var(--app-header-mark-h);
  min-height: var(--app-header-mark-h);
  max-height: var(--app-header-mark-h);
  padding: 0 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 0.35rem;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  flex-shrink: 1;
  min-width: 0;
}

.app-header__uetds-toggle:hover:not(:disabled) {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.app-header__uetds-toggle.is-on {
  background: #16a34a;
  border-color: #15803d;
  color: #fff;
}

.app-header__uetds-toggle.is-on:hover:not(:disabled) {
  background: #15803d;
  border-color: #fff;
}

.app-header__uetds-toggle:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* Live list-poll interval (idle 20 / auto-idle 10 / sending 3). */
.app-header__uetds-poll-hint {
  display: inline-flex;
  align-items: center;
  height: var(--app-header-mark-h);
  padding: 0 0.45rem;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 0.35rem;
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
  user-select: none;
  background: rgba(255, 255, 255, 0.06);
}

.app-header__uetds-poll-hint[hidden] {
  display: none !important;
}

.app-header__uetds-poll-hint[data-poll-reason='sending'],
.app-header__uetds-poll-hint[data-poll-reason='manual'],
.app-header__uetds-poll-hint[data-poll-reason='fast_open'] {
  border-color: #fbbf24;
  color: #fde68a;
}

.app-header__uetds-poll-hint[data-poll-reason='auto_idle'] {
  border-color: #4ade80;
  color: #bbf7d0;
}

.app-header__right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  margin-left: auto;
}

.app-header__user {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 0;
  max-width: min(46vw, 220px);
  min-width: 0;
  line-height: 1.15;
  text-align: right;
  color: #ffffff;
}

.app-header__user-line {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.app-header__user-line[hidden] {
  display: none !important;
}

.app-header__logout {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--app-header-logout-h);
  min-height: var(--app-header-logout-h);
  max-height: var(--app-header-logout-h);
  padding: 0 0.85rem;
  border: 1px solid #ed3724;
  border-radius: 7px;
  background: #ed3724;
  color: #ffffff;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
  cursor: pointer;
}

.app-header__logout-x {
  display: none;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1;
}

.app-header__logout:hover {
  border-color: #d42f1e;
  background: #d42f1e;
  color: #ffffff;
}

.app-main {
  flex: 1;
  min-height: 0;
  padding: 1rem;
}

.app-footer {
  position: sticky;
  bottom: 0;
  z-index: 50;
  flex: 0 0 var(--app-footer-safe-h);
  height: var(--app-footer-safe-h);
  min-height: var(--app-footer-safe-h);
  max-height: var(--app-footer-safe-h);
  padding-bottom: var(--app-safe-bottom);
  background: #000000;
  box-sizing: border-box;
}

.app-footer__jobs {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

.app-footer__col {
  flex: 1 1 50%;
  min-width: 0;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-footer__col--date {
  text-align: left;
  padding: 0 0.75rem 0 1rem;
}

.app-footer__col--clock {
  text-align: right;
  padding: 0 1rem 0 0.75rem;
  font-variant-numeric: tabular-nums;
}

.app-loading {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.45);
  pointer-events: auto;
}

.app-loading__panel {
  min-width: 220px;
  max-width: 320px;
  padding: 18px 22px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(148, 163, 184, 0.45);
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.22);
  text-align: center;
}

.app-loading__spinner {
  width: 28px;
  height: 28px;
  margin: 0 auto 12px;
  border: 3px solid rgba(148, 163, 184, 0.35);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: app-loading-spin 0.85s linear infinite;
}

.app-loading__title {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  color: #0f172a;
}

@keyframes app-loading-spin {
  to {
    transform: rotate(360deg);
  }
}

body.users-admin-open {
  overflow: hidden;
}

body.users-admin-open .app-shell {
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
}

body.users-admin-open .app-main {
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* UETDS / Booking shells  same sticky chrome as jobs */
.uetds-panel,
.booking-panel {
  flex: 0 1 auto;
  min-height: auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  background: var(--surface);
  overflow: visible;
}

.uetds-panel.panel-hidden,
.booking-panel.panel-hidden {
  display: none !important;
}

/* ===== UETDS Takip  Tabulator (same chrome as Users) ===== */
.uetds-panel,
.booking-panel {
  --rapor-master-grid-header-bg: #e6e6e6;
  --rapor-gutter: 0.5rem;
  background: #f1f5f9;
}

.uetds-panel__body {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 0;
}

.uetds-grid-wrap {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  /* No top gutter  Tabulator sits flush under sticky chrome (~8px was --rapor-gutter). */
  padding: 0 var(--rapor-gutter) var(--rapor-gutter);
  box-sizing: border-box;
  background: #f1f5f9;
}

/* Shared Tabulator chrome with #usersTable  see rules below (#usersTable, #uetdsTable). */
#uetdsTable .tabulator-row.is-dropped {
  opacity: 0.72;
}

#uetdsTable.tabulator .tabulator-row.rapor-master-row,
#uetdsTable.tabulator .tabulator-row.rapor-master-row .tabulator-cell {
  cursor: pointer !important;
}

/* Error rows  logo red @ 15% (status / seq keep own fill) */
#uetdsTable.tabulator .tabulator-row.rapor-master-row.is-error > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="_seq"]),
#uetdsTable.tabulator .tabulator-row.rapor-master-row.is-error:not(.tabulator-row-even) > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="_seq"]),
#uetdsTable.tabulator .tabulator-row.rapor-master-row.is-error.tabulator-row-even > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="_seq"]) {
  background-color: rgba(237, 55, 36, 0.15) !important;
}

#uetdsTable.tabulator .tabulator-row.rapor-master-row.is-error:hover > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="_seq"]) {
  background-color: rgba(237, 55, 36, 0.22) !important;
}

/* Sending row  amber band; skip already-colored columns (status / yon / pdf / send / seq / stage-success) */
#uetdsTable.tabulator .tabulator-row.rapor-master-row.is-sending > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="yon"]):not([tabulator-field="pdfPath"]):not([tabulator-field="_send"]):not([tabulator-field="_seq"]),
#uetdsTable.tabulator .tabulator-row.rapor-master-row.is-sending:not(.tabulator-row-even) > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="yon"]):not([tabulator-field="pdfPath"]):not([tabulator-field="_send"]):not([tabulator-field="_seq"]),
#uetdsTable.tabulator .tabulator-row.rapor-master-row.is-sending.tabulator-row-even > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="yon"]):not([tabulator-field="pdfPath"]):not([tabulator-field="_send"]):not([tabulator-field="_seq"]) {
  background-color: #fef3c7 !important;
}

#uetdsTable.tabulator .tabulator-row.rapor-master-row.is-sending:hover > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="yon"]):not([tabulator-field="pdfPath"]):not([tabulator-field="_send"]):not([tabulator-field="_seq"]) {
  background-color: #fde68a !important;
}

#uetdsTable.tabulator .tabulator-row.rapor-master-row.is-sending > .tabulator-cell[tabulator-field="stage"]:has(.uetds-stage-success),
#uetdsTable.tabulator .tabulator-row.rapor-master-row.is-sending:hover > .tabulator-cell[tabulator-field="stage"]:has(.uetds-stage-success) {
  background-color: transparent !important;
}

/*
 * Sending lock: CSS pseudo-elements (Tabulator cells were painting over DOM overlay).
 * ::before = light veil + click catcher; ::after = centered spinner.
 */
#uetdsTable.tabulator .tabulator-row.rapor-master-row.is-sending {
  position: relative !important;
  overflow: visible !important;
  cursor: wait !important;
}

#uetdsTable.tabulator .tabulator-row.rapor-master-row.is-sending > .tabulator-cell {
  pointer-events: none !important;
  cursor: wait !important;
}

#uetdsTable.tabulator .tabulator-row.rapor-master-row.is-sending::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
  background: rgba(15, 23, 42, 0.14);
  pointer-events: auto;
  cursor: wait;
}

#uetdsTable.tabulator .tabulator-row.rapor-master-row.is-sending::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 41;
  width: 26px;
  height: 26px;
  margin: -13px 0 0 -13px;
  box-sizing: border-box;
  border: 3px solid rgba(255, 255, 255, 0.85);
  border-top-color: #b45309;
  border-radius: 50%;
  background: rgba(254, 243, 199, 0.95);
  box-shadow: 0 0 0 1px rgba(180, 83, 9, 0.35);
  animation: app-loading-spin 0.75s linear infinite;
  pointer-events: none;
}

#uetdsTable .tabulator-tableholder .tabulator-row .tabulator-cell:not([tabulator-field="_send"]):not([tabulator-field="pdfPath"]):not([tabulator-field="status"]) {
  overflow: hidden;
  white-space: nowrap;
}

#uetdsTable .uetds-cell-text {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  vertical-align: bottom;
}

#uetdsTable .uetds-driver-cell {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  vertical-align: bottom;
}

#uetdsTable .uetds-driver-code {
  font-weight: 700;
  color: #ed3724; /* logo red  operation code at cell start */
}

#uetdsTable .uetds-driver-name {
  font-weight: 400;
}

#uetdsTable .uetds-driver-meta {
  font-weight: 400;
  opacity: 0.78;
  letter-spacing: 0.02em;
}

#uetdsTable .uetds-status-fill--Blocked.uetds-status--clickable,
#uetdsTable .uetds-status-fill--Failed.uetds-status--clickable {
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.uetds-fix-dialog {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
}

.uetds-fix-dialog[hidden] {
  display: none !important;
}

.uetds-fix-dialog__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
}

.uetds-fix-dialog__panel {
  position: relative;
  width: min(100%, 26rem);
  margin: 0.75rem;
  padding: 1rem 0.95rem 0.85rem;
  border-radius: 0.45rem;
  background: #fff;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.22);
  box-sizing: border-box;
}

.uetds-fix-dialog__title {
  font-size: 1.05rem;
  font-weight: 800;
  margin: 0 0 0.55rem;
}

.uetds-fix-dialog__meta {
  font-size: 0.82rem;
  color: #475569;
  margin: 0 0 0.35rem;
  line-height: 1.35;
}

.uetds-fix-dialog__error {
  font-size: 0.84rem;
  font-weight: 700;
  color: #c2410c;
  margin: 0 0 0.65rem;
  line-height: 1.35;
}

.uetds-fix-dialog__field {
  margin-bottom: 0.55rem;
}

.uetds-fix-dialog__field label {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: #334155;
  margin-bottom: 0.2rem;
}

.uetds-fix-dialog__field select,
.uetds-fix-dialog__field input,
.uetds-fix-dialog__place {
  width: 100%;
  box-sizing: border-box;
  padding: 0.45rem 0.5rem;
  border: 1px solid #94a3b8;
  border-radius: 0.3rem;
  font: inherit;
  background: #fff;
}

.uetds-fix-dialog__field input[readonly] {
  background: #f8fafc;
  color: #0f172a;
}

.uetds-fix-dialog__place {
  background: #f8fafc;
  color: #0f172a;
  min-height: 2.4rem;
}

.uetds-fix-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.75rem;
  justify-content: flex-end;
}

.uetds-fix-dialog__msg {
  font-size: 0.84rem;
  color: #64748b;
  margin: 0.35rem 0 0;
}

#uetdsTable .uetds-status--has-error {
  cursor: help;
}

/* Status color fills the entire cell */
#uetdsTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="status"] {
  padding: 0 !important;
  overflow: hidden;
}

#uetdsTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="status"],
#uetdsTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell[tabulator-field="status"],
#uetdsTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell[tabulator-field="status"],
#uetdsTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell[tabulator-field="status"] {
  background-color: transparent !important;
}

#uetdsTable .uetds-status-fill {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 40px;
  padding: 0 2px;
  /* Match .uetds-send-btn font-size */
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  /* Truncation uses JS two-dot ".." (not CSS ellipsis) */
}

/* Seq (#): direction-color fill + white text; full-bleed like Yön / Booking */
#uetdsTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="_seq"] {
  padding: 0 !important;
  overflow: hidden;
}

#uetdsTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="_seq"],
#uetdsTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell[tabulator-field="_seq"],
#uetdsTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell[tabulator-field="_seq"],
#uetdsTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell[tabulator-field="_seq"] {
  background-color: transparent !important;
}

#uetdsTable .uetds-seq-fill {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 40px;
  padding: 0;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  color: #fff !important;
  font-variant-numeric: tabular-nums;
}

/* Yön: solid takip direction color (border) fills cell; white text */
#uetdsTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="yon"] {
  padding: 0 !important;
  overflow: hidden;
}

#uetdsTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="yon"],
#uetdsTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell[tabulator-field="yon"],
#uetdsTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell[tabulator-field="yon"],
#uetdsTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell[tabulator-field="yon"] {
  background-color: transparent !important;
}

#uetdsTable .uetds-yon-fill {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 40px;
  padding: 0 2px;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  color: #fff;
}

#uetdsTable .uetds-status-fill--Pending { background: #e2e8f0; color: #334155; }
#uetdsTable .uetds-status-fill--Ready { background: #dbeafe; color: #1d4ed8; }
#uetdsTable .uetds-status-fill--Sending { background: #fef3c7; color: #b45309; }
/* Sent / Gönderildi: same solid green as PDF + stage "Ba?arılı" */
#uetdsTable .uetds-status-fill--Sent { background: #16a34a; color: #fff; }
#uetdsTable .uetds-status-fill--Blocked { background: #ffedd5; color: #c2410c; }
#uetdsTable .uetds-status-fill--Failed { background: #fee2e2; color: #b91c1c; }
#uetdsTable .uetds-status-fill--Excluded { background: #f1f5f9; color: #64748b; }

/* Soru 97: virtual Sent buckets */
#uetdsTable .uetds-status-fill--NeedsResend {
  background: #ea580c;
  color: #fff;
}
#uetdsTable .uetds-status-fill--SentUpdated {
  background: #16a34a;
  color: #fff;
  box-shadow: inset 0 0 0 2px #1d4ed8;
}

#uetdsTable .uetds-status-fill--dropped {
  box-shadow: inset 0 0 0 2px #9d174d;
}

/* Soru 84/97: Sent + UpdatedOnUetds (legacy class kept) */
#uetdsTable .uetds-status-fill--updated {
  box-shadow: inset 0 0 0 2px #1d4ed8;
}

/* Soru 81: soft retry cap exhausted */
#uetdsTable .uetds-status-fill--retry-cap {
  box-shadow: inset 0 0 0 2px #b45309;
}

/* Status header filter dropdown  row borders + status colors */
.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-list {
  max-height: none;
  overflow: visible;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option {
  box-sizing: border-box;
  height: 40px;
  min-height: 40px;
  max-height: 40px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  border-bottom: 1px solid #94a3b8;
  border-radius: 0;
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 1.2;
  padding: 0 15px;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option-check {
  flex: 0 0 auto;
  margin-left: 0;
  margin-right: 0;
  font-weight: 800;
  line-height: 1;
  text-align: center;
}

/* No reserved gap when  is absent */
.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option-check:empty {
  display: none;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option--selected .filter-dropdown-option-check {
  margin-right: 0.7rem;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option-label {
  min-width: 0;
  flex: 1 1 auto;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option-count {
  flex: 0 0 auto;
  margin-left: auto;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  line-height: 1;
  text-align: right;
  min-width: 1.25rem;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option:last-child {
  border-bottom: none;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value=""] {
  background: #fff !important;
  color: #0f172a;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value=""]:hover {
  background: #e2e8f0 !important;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="Pending"] {
  background: #e2e8f0 !important;
  color: #334155;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="Pending"]:hover {
  background: #cbd5e1 !important;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="Ready"] {
  background: #dbeafe !important;
  color: #1d4ed8;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="Ready"]:hover {
  background: #bfdbfe !important;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="Sending"] {
  background: #fef3c7 !important;
  color: #b45309;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="Sending"]:hover {
  background: #fde68a !important;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="Sent"] {
  background: #16a34a !important;
  color: #fff;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="Sent"]:hover {
  background: #15803d !important;
  color: #fff;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="NeedsResend"] {
  background: #ea580c !important;
  color: #fff;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="NeedsResend"]:hover {
  background: #c2410c !important;
  color: #fff;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="SentUpdated"] {
  background: #16a34a !important;
  color: #fff;
  box-shadow: inset 0 0 0 2px #1d4ed8;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="SentUpdated"]:hover {
  background: #15803d !important;
  color: #fff;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="Blocked"] {
  background: #ffedd5 !important;
  color: #c2410c;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="Blocked"]:hover {
  background: #fed7aa !important;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="Failed"] {
  background: #fee2e2 !important;
  color: #b91c1c;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="Failed"]:hover {
  background: #fecaca !important;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="Excluded"] {
  background: #f1f5f9 !important;
  color: #64748b;
}

.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option[data-value="Excluded"]:hover {
  background: #e2e8f0 !important;
}

/* Selected status:  on the left (see .filter-dropdown-option-check) */
.filter-dropdown-panel.uetds-status-filter-panel .filter-dropdown-option--selected {
  font-weight: 700;
}

.uetds-retry-btn {
  border: 1px solid #1d4ed8;
  background: #2563eb;
  color: #fff;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  height: 1.5rem;
  padding: 0 0.45rem;
  border-radius: 0.25rem;
  cursor: pointer;
  white-space: nowrap;
  vertical-align: middle;
}

.uetds-retry-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* PDF column: fixed 50px, button fills cell */
#uetdsTable .tabulator-header .tabulator-col.uetds-pdf-col .tabulator-col-content {
  justify-content: center;
}

#uetdsTable .tabulator-tableholder .tabulator-row .tabulator-cell[tabulator-field="pdfPath"] {
  padding: 0 !important;
  justify-content: stretch !important;
  align-items: stretch !important;
}

/* Stage "Ba?arılı": same green fill as enabled PDF button */
#uetdsTable .tabulator-tableholder .tabulator-row .tabulator-cell[tabulator-field="stage"]:has(.uetds-stage-success) {
  padding: 0 !important;
  justify-content: stretch !important;
  align-items: stretch !important;
}

#uetdsTable .uetds-stage-success {
  display: flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 32px;
  margin: 0;
  padding: 0;
  background: #16a34a;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

/* Enabled PDF: same as .jobs-date-btn.is-active (NOT :hover darker green) */
#uetdsTable .uetds-pdf-btn {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 32px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: #16a34a !important;
  color: #fff !important;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
}

#uetdsTable .uetds-pdf-btn:hover:not(:disabled) {
  background: #15803d !important;
}

#uetdsTable .uetds-pdf-btn:disabled {
  background: #94a3b8 !important;
  color: #f1f5f9 !important;
  opacity: 1;
  cursor: not-allowed;
}

/* Manual Send column: fixed 75px, button fills cell */
#uetdsTable .tabulator-header .tabulator-col.uetds-send-col .tabulator-col-content {
  justify-content: center;
}

#uetdsTable .tabulator-tableholder .tabulator-row .tabulator-cell[tabulator-field="_send"] {
  padding: 0 !important;
  justify-content: stretch !important;
  align-items: stretch !important;
}

/* Same as .jobs-date-btn.is-active (#16a34a); hover = that button's hover (#15803d) */
.uetds-send-btn {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 32px;
  margin: 0;
  border: none;
  border-radius: 0;
  background: #16a34a;
  color: #fff;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
}

.uetds-send-btn:hover:not(:disabled) {
  background: #15803d;
}

.uetds-send-btn:disabled {
  background: #94a3b8;
  color: #f1f5f9;
  opacity: 1;
  cursor: not-allowed;
}

/* Sent: light gray disabled fill + black label */
.uetds-send-btn.uetds-send-btn--sent:disabled,
.uetds-send-btn.uetds-send-btn--sent[aria-disabled='true'] {
  background: #e8e8e8;
  color: #000;
  font-weight: 400; /* "Gönderildi" not bold */
}

/* Soru 99: NeedsResend  active "Yeniden Gönder" */
.uetds-send-btn.uetds-send-btn--resend:not(:disabled) {
  background: #ea580c;
  color: #fff;
  font-weight: 700;
  white-space: normal;
  font-size: 0.62rem;
  line-height: 1.15;
  padding: 2px 4px;
}

.uetds-send-btn.uetds-send-btn--resend:hover:not(:disabled) {
  background: #c2410c;
}

/* Excluded: same light gray fill; text = Excluded status gray (#64748b) */
.uetds-send-btn.uetds-send-btn--excluded:disabled,
.uetds-send-btn.uetds-send-btn--excluded[aria-disabled='true'] {
  background: #e8e8e8;
  color: #64748b;
}

/* ===== Jobs: scroll in main (between header/footer). UETDS / Booking / Rest same idea. ===== */
body.jobs-open {
  overflow: hidden;
  height: 100dvh;
}

html:has(body.jobs-open) {
  overflow: hidden;
  height: 100%;
}

body.jobs-open .app-shell {
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
}

body.booking-open,
body.uetds-open,
body.rest-open,
body.rest-kasa-open {
  overflow: hidden;
}

body.booking-open .app-shell,
body.uetds-open .app-shell,
body.rest-open .app-shell,
body.rest-kasa-open .app-shell {
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
}

body.jobs-open .app-main {
  padding: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

body.uetds-open .app-main,
body.booking-open .app-main,
body.rest-open .app-main,
body.rest-kasa-open .app-main {
  padding: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

body.uetds-open .uetds-panel,
body.booking-open .booking-panel,
body.rest-open .rest-track-panel,
body.rest-kasa-open .rest-kasa-panel {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

/*
 * Jobs / UETDS / Booking / Rest: scroll is inside main (or panel) — stick flush to
 * the top of that scrollport, not under a page-level sticky header.
 */
body.jobs-open .jobs-sticky-chrome,
body.uetds-open #uetdsPanel .jobs-sticky-chrome,
body.booking-open #bookingPanel .jobs-sticky-chrome,
body.rest-open #restTrackPanel .jobs-sticky-chrome {
  top: 0;
}

/* Rest period: air above top green divider (otherwise flush under header  invisible) */
body.rest-open #restTrackPanel .jobs-sticky-chrome {
  padding-top: 0.5rem;
}

body.jobs-open .jobs-panel {
  /* N10-5: size to content (not lock to main viewport). Short day still fills. */
  flex: 0 0 auto;
  min-height: 100%;
  height: auto;
  overflow: visible;
}

/*
 * Desktop: Jobs content uses a phone-width column (mobile layout), while
 * header/footer stay desktop chrome (staff buttons + fullscreen toggle).
 */
@media (min-width: 900px) {
  body.app-page.jobs-open {
    --jobs-desktop-mobile-col: 430px;
  }

  /*
   * Shell stays wide for desktop header/footer, but drop the wide white board.
   * Only the phone-width jobs column keeps the white surface (true mobile look).
   */
  body.app-page.jobs-open .app-shell {
    background: #000000;
    box-shadow: none;
  }

  body.app-page.jobs-open .app-main {
    align-items: center;
    background: #000000;
  }

  body.app-page.jobs-open .jobs-panel {
    width: 100%;
    max-width: var(--jobs-desktop-mobile-col);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    background: var(--surface);
    /* Match mobile card presence on black desktop chrome */
    box-shadow:
      0 0 0 1px rgba(15, 23, 42, 0.06),
      0 16px 48px rgba(15, 23, 42, 0.18);
    flex: 0 0 auto;
    min-height: 100%;
    height: auto;
  }

  /* Same stacking as real mobile (driver  date) */
  body.app-page.jobs-open .jobs-ops-toolbar {
    grid-template-columns: 1fr;
  }

  body.app-page.jobs-open .jobs-ops-toolbar__col--date {
    margin-top: 0.5rem;
  }

  /* J5: driver (--date-only) must beat the staff stack gap above */
  body.app-page.jobs-open .jobs-ops-toolbar--date-only .jobs-ops-toolbar__col--date {
    margin-top: 0;
  }

  body.app-page.jobs-open .jobs-ops-driver__list {
    max-height: calc(var(--jobs-ops-driver-row-h) * 5 + var(--jobs-ops-driver-list-pad));
  }
}

/*
 * Desktop column for ALL app screens (jobs / users / uetds).
 * Tied to body.app-page so session-boot first paint is already constrained
 * (avoids full-width  1100px flash on refresh). layout-fullwidth expands.
 */
@media (min-width: 900px) {
  body.app-page {
    background: #000000;
  }

  body.app-page .app-shell {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    min-height: 100dvh;
    background: var(--surface);
    box-shadow:
      0 0 0 1px rgba(15, 23, 42, 0.06),
      0 16px 48px rgba(15, 23, 42, 0.08);
  }

  body.app-page.layout-fullwidth .app-shell,
  body.app-page.uetds-open .app-shell,
  body.app-page.booking-open .app-shell,
  body.app-page.rest-open .app-shell,
  body.app-page.rest-kasa-open .app-shell,
  body.app-page.users-admin-open .app-shell {
    max-width: none;
    width: 100%;
  }

  body.app-page .app-main {
    flex: 1 1 auto;
  }

  body.app-page .app-header,
  body.app-page .app-footer {
    padding-left: 0;
    padding-right: 0;
  }

  body.app-page .app-footer {
    margin-top: auto;
  }
}

.jobs-panel {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  background: var(--surface);
}

/* Rest Takip shell  own vars (same values as Users, selectors independent) */
.rest-track-panel {
  --rapor-master-grid-header-bg: #e6e6e6;
  --rapor-gutter: 0.5rem;
  --rapor-toolbar-control-h: 2.125rem;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  margin: 0;
  max-width: none;
  background: #f1f5f9;
}

.rest-track-panel__body {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 0;
}

.rest-track-panel__grid-wrap {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: var(--rapor-gutter);
  box-sizing: border-box;
  background: #f1f5f9;
}

.rest-kasa-panel {
  --rapor-master-grid-header-bg: #e6e6e6;
  --rapor-gutter: 0.5rem;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  margin: 0;
  max-width: none;
  background: #f1f5f9;
}

.rest-kasa-panel__body {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}

.rest-kasa-status {
  margin: 0;
  padding: 0.4rem 0.5rem 0;
  font-size: 0.85rem;
  color: #334155;
}

.rest-kasa-status--error {
  color: #b91c1c;
}

.rest-kasa-panel__grid-wrap {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--rapor-gutter);
  padding: var(--rapor-gutter);
  box-sizing: border-box;
  background: #f1f5f9;
}

.rest-kasa-block--balances {
  flex: 0 0 auto;
}

.rest-kasa-block--moves {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

#restKasaBalanceTable.tabulator,
#restKasaMoveTable.tabulator {
  width: 100%;
  border: 1px solid #999;
  background: #fff;
  border-radius: 0.5rem;
  overflow: hidden;
  font-size: 14px;
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

/* R54: 5-row viewport + inner scroll (same axis as move table). */
#restKasaBalanceTable.tabulator > .tabulator-tableholder {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#restKasaMoveTable.tabulator {
  flex: 1 1 auto;
  height: 100%;
}

#restKasaBalanceTable.tabulator .tabulator-tableholder .tabulator-cell,
#restKasaMoveTable.tabulator .tabulator-tableholder .tabulator-cell {
  font-size: 11px;
}

#restKasaBalanceTable.tabulator .tabulator-tableholder .tabulator-row .tabulator-cell:not(.rest-kasa-action-col) {
  cursor: pointer;
}

#restKasaBalanceTable.tabulator .tabulator-tableholder .tabulator-cell.rest-kasa-money-col,
#restKasaMoveTable.tabulator .tabulator-tableholder .tabulator-cell.rest-kasa-money-col {
  text-align: center !important;
  justify-content: center !important;
}

#restKasaBalanceTable.tabulator .tabulator-tableholder .tabulator-row .tabulator-cell.rest-kasa-action-col {
  padding: 0 !important;
  overflow: hidden;
}

.rest-kasa-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: var(--accent);
  color: var(--accent-text);
  font: inherit;
  font-size: inherit;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  box-sizing: border-box;
}

.rest-kasa-action-btn:hover:not(:disabled) {
  background: var(--accent-press);
}

.rest-kasa-action-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.rest-kasa-virman {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  box-sizing: border-box;
}

.rest-kasa-virman[hidden] {
  display: none !important;
}

.rest-kasa-virman__backdrop {
  position: absolute;
  inset: 0;
  background: var(--users-editor-backdrop);
}

.rest-kasa-virman__panel {
  position: relative;
  width: min(420px, calc(100vw - 24px));
  max-height: calc(100dvh - 48px);
  overflow: auto;
  margin: 0;
  padding: 1rem 1.1rem;
  border: 1px solid var(--accent-soft);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: 0 18px 48px var(--glow);
  box-sizing: border-box;
}

.rest-kasa-virman__title {
  margin: 0 0 0.85rem;
  font-size: 1.05rem;
}

.rest-kasa-virman__form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

.rest-kasa-virman__field {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--ink-soft);
}

.rest-kasa-virman__field--wide,
.rest-kasa-virman__error,
.rest-kasa-virman__actions {
  grid-column: 1 / -1;
}

.rest-kasa-virman .currency-filter-dropdown-wrap .filter-dropdown-trigger,
.rest-kasa-virman .currency-filter-dropdown-wrap .filter-dropdown-trigger:hover {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

.rest-kasa-virman__field input,
.rest-kasa-virman__field textarea {
  width: 100%;
  padding: 0.45rem 0.55rem;
  border: 1px solid var(--accent-soft);
  border-radius: 6px;
  font: inherit;
  background: var(--surface);
  color: var(--ink);
}

.rest-kasa-virman__error {
  margin: 0;
  color: var(--danger, #ed3724);
  font-size: 0.85rem;
  font-weight: 600;
}

.rest-kasa-virman__actions {
  display: flex;
  gap: 0.55rem;
  margin-top: 0.25rem;
}

.rest-kasa-cikis-source {
  min-height: 36px;
  padding: 8px 10px;
  border: 1px solid #d0d5dd;
  border-radius: 6px;
  background: #f4f6f8;
  font-weight: 600;
}

#restKasaBalanceTable.tabulator > .tabulator-header,
#restKasaMoveTable.tabulator > .tabulator-header {
  overflow: hidden !important;
  background-color: var(--rapor-master-grid-header-bg, #e6e6e6) !important;
  box-sizing: border-box;
}

#restKasaBalanceTable.tabulator > .tabulator-header {
  min-height: var(--rest-kasa-header-h, 40px);
  height: var(--rest-kasa-header-h, 40px);
}

#restKasaBalanceTable.tabulator .tabulator-header .tabulator-header-contents,
#restKasaBalanceTable.tabulator .tabulator-header .tabulator-headers {
  min-height: var(--rest-kasa-header-h, 40px);
  height: var(--rest-kasa-header-h, 40px);
  box-sizing: border-box;
}

#restKasaBalanceTable .tabulator-header .tabulator-col,
#restKasaMoveTable .tabulator-header .tabulator-col {
  background-color: var(--rapor-master-grid-header-bg, #e6e6e6) !important;
  box-sizing: border-box;
}

#restKasaBalanceTable .tabulator-header .tabulator-col {
  min-height: var(--rest-kasa-header-h, 40px);
  height: var(--rest-kasa-header-h, 40px);
}

#restKasaBalanceTable .tabulator-header .tabulator-col .tabulator-col-content {
  min-height: var(--rest-kasa-header-h, 40px);
  height: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
}

#restKasaBalanceTable .tabulator-header .tabulator-col .tabulator-col-title-holder,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-col-title-holder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px;
  width: auto;
  max-width: 100%;
  padding: 0 !important;
  box-sizing: border-box;
}

#restKasaBalanceTable .tabulator-header .tabulator-col .tabulator-col-title-holder {
  height: 100%;
}

#restKasaBalanceTable .tabulator-header .tabulator-col .tabulator-col-title,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-col-title {
  font-size: 11px;
  font-weight: 700;
  color: #000;
  line-height: 1;
  width: auto !important;
  max-width: none;
  flex: 0 1 auto;
  padding: 0 !important;
}

#restKasaBalanceTable .tabulator-header .tabulator-col .tabulator-col-sorter,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-col-sorter {
  position: static !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center;
  flex: 0 0 auto;
}

#restKasaBalanceTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell,
#restKasaMoveTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell {
  line-height: 32px;
  border-bottom: 1px solid #94a3b8 !important;
  color: #000;
  padding-left: 15px;
  padding-right: 15px;
}

#restKasaBalanceTable.tabulator .tabulator-table .tabulator-row:last-child > .tabulator-cell {
  border-bottom: none !important;
}

#restKasaBalanceTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell,
#restKasaMoveTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell {
  background-color: #efefef !important;
}

#restKasaBalanceTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell,
#restKasaMoveTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell {
  background-color: #ffffff !important;
}

#restKasaBalanceTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell,
#restKasaMoveTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell {
  background-color: #bbb !important;
}

#restKasaBalanceTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell.rest-kasa-id-col,
#restKasaBalanceTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell.rest-kasa-id-col,
#restKasaMoveTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell.rest-kasa-when-col,
#restKasaMoveTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell.rest-kasa-when-col {
  background-color: var(--accent) !important;
  color: var(--accent-text) !important;
  font-weight: 700;
}

#restKasaMoveTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell.rest-kasa-note-col,
#restKasaMoveTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell.rest-kasa-note-col {
  background-color: color-mix(in srgb, var(--accent) calc(var(--rest-kasa-note-opacity, 0.1) * 100%), transparent) !important;
  color: inherit !important;
  font-weight: 700;
}

#restKasaBalanceTable.tabulator .tabulator-row.rapor-master-row.rest-kasa-bal-selected > .tabulator-cell:not(.rest-kasa-id-col):not(.rest-kasa-action-col),
#restKasaBalanceTable.tabulator .tabulator-row.rapor-master-row.rest-kasa-bal-selected:hover > .tabulator-cell:not(.rest-kasa-id-col):not(.rest-kasa-action-col) {
  background-color: var(--rest-kasa-selected, #F7BC5B) !important;
}

#restKasaBalanceTable.tabulator .tabulator-row.rapor-master-row.rest-kasa-bal-selected:not(.tabulator-row-even) > .tabulator-cell.rest-kasa-action-col,
#restKasaBalanceTable.tabulator .tabulator-row.rapor-master-row.rest-kasa-bal-selected:not(.tabulator-row-even):hover > .tabulator-cell.rest-kasa-action-col {
  background-color: #efefef !important;
}

#restKasaBalanceTable.tabulator .tabulator-row.rapor-master-row.rest-kasa-bal-selected.tabulator-row-even > .tabulator-cell.rest-kasa-action-col,
#restKasaBalanceTable.tabulator .tabulator-row.rapor-master-row.rest-kasa-bal-selected.tabulator-row-even:hover > .tabulator-cell.rest-kasa-action-col {
  background-color: #ffffff !important;
}

#restKasaMoveTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell.rest-kasa-kind--in,
#restKasaMoveTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell.rest-kasa-kind--in {
  background-color: #16a34a !important;
  color: #fff !important;
  font-weight: 700;
}

#restKasaMoveTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell.rest-kasa-kind--out,
#restKasaMoveTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell.rest-kasa-kind--out {
  background-color: #ed3724 !important;
  color: #fff !important;
  font-weight: 700;
}

/* ===== Rest Takip master Tabulator - INDEPENDENT chrome (do not share selectors with Users page) ===== */
#restTrackTable.tabulator {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  /* Same outer chrome as RAPOR_PANEL / Tabulator default (14px header titles) */
  border: 1px solid #999;
  background: #fff;
  border-radius: 0.5rem;
  overflow: hidden;
  font-size: 14px;
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

#restTrackTable.tabulator .tabulator-tableholder .tabulator-cell {
  font-size: 11px;
}

#restTrackTable.tabulator > .tabulator-tableholder {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#restTrackTable.tabulator .tabulator-footer,
#restKasaMoveTable.tabulator .tabulator-footer {
  background-color: #e6e6e6;
  border-top: 1px solid #999;
  color: #555;
  font-weight: 700;
  font-size: 14px;
}

#restTrackTable.tabulator .tabulator-footer .tabulator-footer-contents,
#restKasaMoveTable.tabulator .tabulator-footer .tabulator-footer-contents {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  min-height: 44px;
  padding: 10px 12px;
}

#restTrackTable.tabulator .tabulator-footer .tabulator-paginator,
#restKasaMoveTable.tabulator .tabulator-footer .tabulator-paginator {
  color: #555;
  flex: 1;
  font: inherit;
  font-weight: inherit;
  text-align: right;
  line-height: 30px;
}

#restTrackTable.tabulator .tabulator-footer .tabulator-page-counter,
#restKasaMoveTable.tabulator .tabulator-footer .tabulator-page-counter {
  font-weight: 400;
}

#restTrackTable.tabulator .tabulator-footer .tabulator-page-size,
#restKasaMoveTable.tabulator .tabulator-footer .tabulator-page-size {
  box-sizing: border-box;
  display: inline-block;
  height: 30px;
  min-height: 30px;
  margin: 0 5px;
  padding: 2px 8px;
  border: 1px solid #aaa;
  border-radius: 3px;
  background: #fff;
  color: #555;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  vertical-align: middle;
}

#restTrackTable.tabulator .tabulator-footer .tabulator-pages,
#restKasaMoveTable.tabulator .tabulator-footer .tabulator-pages {
  margin: 0 7px;
}

#restTrackTable.tabulator .tabulator-footer .tabulator-page,
#restKasaMoveTable.tabulator .tabulator-footer .tabulator-page {
  box-sizing: border-box;
  display: inline-block;
  height: 30px;
  min-height: 30px;
  margin: 0 2px;
  padding: 0 10px;
  border: 1px solid #aaa;
  border-radius: 3px;
  background: hsla(0, 0%, 100%, 0.2);
  color: #555;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 28px;
  vertical-align: middle;
}

#restTrackTable.tabulator .tabulator-footer .tabulator-page.active,
#restKasaMoveTable.tabulator .tabulator-footer .tabulator-page.active {
  color: #d00;
}

#restTrackTable.tabulator .tabulator-footer .tabulator-page:disabled,
#restKasaMoveTable.tabulator .tabulator-footer .tabulator-page:disabled {
  opacity: 0.5;
}

#restTrackTable.tabulator .tabulator-footer .tabulator-page:not(:disabled):hover,
#restKasaMoveTable.tabulator .tabulator-footer .tabulator-page:not(:disabled):hover {
  background: rgba(0, 0, 0, 0.2);
  color: #fff;
  cursor: pointer;
}

#restTrackTable.tabulator > .tabulator-header {
  overflow: hidden !important;
  background-color: var(--rapor-master-grid-header-bg, #e6e6e6) !important;
}

#restTrackTable .tabulator-header .tabulator-col {
  background-color: var(--rapor-master-grid-header-bg, #e6e6e6) !important;
}

/* Abbreviated 3-letter metric headers  avoid CSS ellipsis cutting to 1 char */
#restTrackTable .tabulator-header .tabulator-col .tabulator-col-title-holder,
#restTrackTable .tabulator-header .tabulator-col .tabulator-col-title {
  overflow: hidden;
  text-overflow: clip;
  white-space: nowrap;
  padding-left: 1px !important;
  padding-right: 1px !important;
  font-size: 11px;
  letter-spacing: -0.02em;
  text-align: center;
}

#restTrackTable.tabulator > .tabulator-header .tabulator-col .tabulator-col-title-holder,
#restTrackTable.tabulator > .tabulator-header .tabulator-col .tabulator-col-title {
  font-weight: 400;
}

/*
 * Tabulator pins .tabulator-col-sorter as position:absolute;right:4px — margin
 * cannot create title↔arrow gap. Use flex + gap on sortable Rest headers only.
 */
#restTrackTable .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title-holder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px;
  box-sizing: border-box;
}
#restTrackTable .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title {
  width: auto !important;
  max-width: calc(100% - 17px);
  padding-right: 0 !important;
  flex: 0 1 auto;
}
#restTrackTable .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-sorter {
  position: static !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  display: inline-flex !important;
  align-items: center;
  flex: 0 0 auto;
  margin: 0 !important;
}

#restTrackTable .tabulator-row.rapor-master-row {
  min-height: 40px !important;
}

#restTrackTable .tabulator-header .tabulator-col.rapor-sira-col {
  vertical-align: top;
}

#restTrackTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-content {
  box-sizing: border-box;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: var(--rapor-tabulator-header-inner-h, 100%);
  height: 100%;
  padding: 0 2px !important;
}

#restTrackTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-title-holder,
#restTrackTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-title {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  width: 100%;
  line-height: 1.2;
}

#restTrackTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-header-filter {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

#restTrackTable .tabulator-tableholder .tabulator-row .tabulator-cell[tabulator-field="id"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
  justify-content: center !important;
  text-align: center !important;
  font-variant-numeric: tabular-nums;
}

#restTrackTable.tabulator .tabulator-tableholder .tabulator-row .tabulator-cell {
  padding-left: 15px;
  padding-right: 15px;
  cursor: pointer;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell {
  line-height: 32px;
  border-bottom: 1px solid #94a3b8 !important;
  color: #000;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell {
  background-color: #efefef !important;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell {
  background-color: #ffffff !important;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell {
  background-color: #bbb !important;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open) > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open):not(.tabulator-row-even) > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open).tabulator-row-even > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open):hover > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open).is-zero-ops > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open).is-zero-ops:not(.tabulator-row-even) > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open).is-zero-ops.tabulator-row-even > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open).is-zero-ops:hover > .tabulator-cell {
  background-color: var(--rest-track-selected, #F7BC5B) !important;
  color: #000 !important;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-inactive {
  opacity: 0.72;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-inactive.is-day-open,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-inactive.is-driver-selected {
  opacity: 1;
}

/* Active + OpCount=0  logo red (#ed3724) @ 10% */
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-zero-ops > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-zero-ops:not(.tabulator-row-even) > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-zero-ops.tabulator-row-even > .tabulator-cell {
  background-color: rgba(237, 55, 36, 0.10) !important;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-zero-ops:hover > .tabulator-cell {
  background-color: rgba(237, 55, 36, 0.18) !important;
}

#restTrackTable.tabulator .tabulator-row.is-expandable {
  cursor: pointer;
}

#restTrackTable.tabulator .tabulator-row.is-day-open {
  height: auto !important;
  flex-wrap: wrap;
  background-color: #bbb !important;
}

#restTrackTable.tabulator .tabulator-row.is-day-open > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open:not(.tabulator-row-even) > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open.tabulator-row-even > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open:hover > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open.is-zero-ops > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open.is-zero-ops:hover > .tabulator-cell {
  height: 40px;
  background-color: #000 !important;
  color: #FFFF00 !important;
  font-weight: 700 !important;
  border-right: 1px solid #F0F0F0 !important;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open > .tabulator-cell,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open > .tabulator-cell * {
  color: #FFFF00 !important;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open > .tabulator-cell .uetds-driver-code,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open > .tabulator-cell .uetds-driver-name {
  color: #FFFF00 !important;
  font-weight: 700 !important;
}

#restTrackTable .rest-track-days {
  flex: 1 1 100%;
  width: 100%;
  box-sizing: border-box;
  padding: 5px;
  background-color: var(--rest-days-frame, #FFFF00);
}

#restTrackTable .rest-track-days .tabulator,
#restTrackTable .rest-track-days .tabulator-tableholder {
  height: auto !important;
  max-height: none !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
}

#restTrackTable .rest-track-days__msg {
  padding: 10px 8px;
  text-align: center;
  color: #000;
  font-weight: 900;
}

#restTrackTable .rest-track-days .tabulator-header {
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  border-bottom: none !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

#restTrackTable .rest-track-days .tabulator-header .tabulator-header-contents,
#restTrackTable .rest-track-days .tabulator-header .tabulator-headers {
  height: 40px !important;
  border-bottom: none !important;
  flex-wrap: nowrap !important;
  white-space: nowrap;
}

#restTrackTable .rest-track-days .tabulator-header .tabulator-col {
  height: 40px !important;
  border-bottom: 1px solid #94a3b8 !important;
  cursor: pointer;
  pointer-events: auto;
  box-sizing: border-box;
}

#restTrackTable .rest-track-days .tabulator-header .tabulator-col .tabulator-col-content {
  height: 40px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  cursor: pointer;
}

#restTrackTable .rest-track-days .tabulator-header .tabulator-col .tabulator-col-title-holder,
#restTrackTable .rest-track-days .tabulator-header .tabulator-col .tabulator-col-title {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 1px !important;
  padding-right: 1px !important;
  line-height: 1;
  font-weight: 400;
  cursor: pointer;
}

#restTrackTable .rest-track-days .tabulator-header .tabulator-col[tabulator-field="opDate"],
#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell[tabulator-field="opDate"] {
  text-align: center !important;
  justify-content: center !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
}

#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell[tabulator-field="opDate"] {
  white-space: nowrap;
  background-color: #000 !important;
  color: #FFFF00 !important;
  font-weight: 700 !important;
}

#restTrackTable .rest-track-days .tabulator-row.is-izinli > .tabulator-cell[tabulator-field="opDate"] {
  background-color: #000 !important;
  color: #FFFF00 !important;
  font-weight: 700 !important;
}

#restTrackTable .rest-track-days .tabulator-row {
  border-bottom: none;
  cursor: pointer;
  flex-wrap: nowrap !important;
}

#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell {
  border-top: none !important;
  border-bottom: 1px solid #94a3b8 !important;
  cursor: pointer;
  text-align: center;
  justify-content: center;
  padding-left: 4px !important;
  padding-right: 4px !important;
}

#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell:not([tabulator-field="opDate"]),
#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell:not([tabulator-field="opDate"]) * {
  font-size: 11px !important;
  font-weight: 400 !important;
}

#restTrackTable .rest-track-days .tabulator-row:last-child > .tabulator-cell {
  border-bottom: none !important;
}

#restTrackTable .rest-track-days .tabulator-row.is-work-day {
  cursor: pointer;
}

/* S7-36: day row select — gold on unpainted cells only; date + fill wraps keep own colors. */
#restTrackTable .rest-track-days .tabulator-row.is-work-day.is-day-selected > .tabulator-cell:not([tabulator-field="opDate"]),
#restTrackTable .rest-track-days .tabulator-row.is-work-day.is-day-selected:not(.tabulator-row-even) > .tabulator-cell:not([tabulator-field="opDate"]),
#restTrackTable .rest-track-days .tabulator-row.is-work-day.is-day-selected.tabulator-row-even > .tabulator-cell:not([tabulator-field="opDate"]),
#restTrackTable .rest-track-days .tabulator-row.is-work-day.is-day-selected:hover > .tabulator-cell:not([tabulator-field="opDate"]) {
  background-color: var(--rest-track-selected, #F7BC5B) !important;
  color: #000;
}

#restTrackTable.tabulator .tabulator-tableholder .tabulator-row > .tabulator-cell[tabulator-field="warningCount"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Closed/hover: Uyarı orange+white. Open row: black+yellow (same as other master cells). */
#restTrackTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-zero-ops > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-zero-ops:hover > .tabulator-cell[tabulator-field="warningCount"].is-warning {
  background-color: #ea580c !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open) > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open):not(.tabulator-row-even) > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open).tabulator-row-even > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open):hover > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open).is-zero-ops > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open).is-zero-ops:hover > .tabulator-cell[tabulator-field="warningCount"].is-warning {
  background-color: var(--rest-track-selected, #F7BC5B) !important;
  color: #000 !important;
  font-weight: 700 !important;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open > .tabulator-cell[tabulator-field="warningCount"],
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open:not(.tabulator-row-even) > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open.tabulator-row-even > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open:hover > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open.is-zero-ops > .tabulator-cell[tabulator-field="warningCount"].is-warning,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open.is-zero-ops:hover > .tabulator-cell[tabulator-field="warningCount"].is-warning {
  background-color: #000 !important;
  color: #FFFF00 !important;
  font-weight: 700 !important;
}

/* Master Masraf: same fill as day expense (config expenseColors). */
#restTrackTable.tabulator .tabulator-tableholder .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="expenseTrySum"] {
  padding: 0 !important;
  position: relative;
  overflow: hidden;
}

#restTrackTable .rest-track-master-expense {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  box-sizing: border-box;
  background-color: var(--rest-expense-bg);
  color: var(--rest-expense-fg);
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open > .tabulator-cell[tabulator-field="expenseTrySum"].is-expense-fill,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open:not(.tabulator-row-even) > .tabulator-cell[tabulator-field="expenseTrySum"].is-expense-fill,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open.tabulator-row-even > .tabulator-cell[tabulator-field="expenseTrySum"].is-expense-fill,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open:hover > .tabulator-cell[tabulator-field="expenseTrySum"].is-expense-fill,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open.is-zero-ops > .tabulator-cell[tabulator-field="expenseTrySum"].is-expense-fill,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open.is-zero-ops:hover > .tabulator-cell[tabulator-field="expenseTrySum"].is-expense-fill {
  background-color: transparent !important;
  font-weight: 400 !important;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open > .tabulator-cell[tabulator-field="expenseTrySum"].is-expense-fill .rest-track-master-expense,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open > .tabulator-cell[tabulator-field="expenseTrySum"].is-expense-fill * {
  background-color: var(--rest-expense-bg) !important;
  color: var(--rest-expense-fg) !important;
  font-weight: 400 !important;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open) .rest-track-master-expense,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open) .rest-track-master-expense * {
  background-color: var(--rest-track-selected, #F7BC5B) !important;
  color: #000 !important;
}

/* Master Sonuç: same fill as day detail (config resultColors). */
#restTrackTable.tabulator .tabulator-tableholder .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="resultTrySum"] {
  padding: 0 !important;
  position: relative;
  overflow: hidden;
}

#restTrackTable .rest-track-master-result {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  box-sizing: border-box;
  background-color: var(--rest-result-bg);
  color: var(--rest-result-fg);
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open > .tabulator-cell[tabulator-field="resultTrySum"].is-result-fill,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open:not(.tabulator-row-even) > .tabulator-cell[tabulator-field="resultTrySum"].is-result-fill,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open.tabulator-row-even > .tabulator-cell[tabulator-field="resultTrySum"].is-result-fill,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open:hover > .tabulator-cell[tabulator-field="resultTrySum"].is-result-fill,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open.is-zero-ops > .tabulator-cell[tabulator-field="resultTrySum"].is-result-fill,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open.is-zero-ops:hover > .tabulator-cell[tabulator-field="resultTrySum"].is-result-fill {
  background-color: transparent !important;
  font-weight: 400 !important;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open > .tabulator-cell[tabulator-field="resultTrySum"].is-result-fill .rest-track-master-result,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-day-open > .tabulator-cell[tabulator-field="resultTrySum"].is-result-fill * {
  background-color: var(--rest-result-bg) !important;
  color: var(--rest-result-fg) !important;
  font-weight: 400 !important;
}

#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open) .rest-track-master-result,
#restTrackTable.tabulator .tabulator-row.rapor-master-row.is-driver-selected:not(.is-day-open) .rest-track-master-result * {
  background-color: var(--rest-track-selected, #F7BC5B) !important;
  color: #000 !important;
}

#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell[tabulator-field="jobsOpen"],
#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell[tabulator-field="printOpen"],
#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell[tabulator-field="handoverUpdate"],
#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell[tabulator-field="warningLabel"],
#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell[tabulator-field="reviewAction"],
#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell[tabulator-field="nihaiAction"],
#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell[tabulator-field="statusLabel"],
#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell[tabulator-field="resultTry"],
#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell[tabulator-field="expenseTry"],
#restTrackTable .rest-track-days .tabulator-row > .tabulator-cell[tabulator-field="deliveryMode"] {
  padding: 0 !important;
  position: relative;
  overflow: hidden;
}

#restTrackTable .rest-track-days .rest-track-day-warning,
#restTrackTable .rest-track-days .rest-track-day-mode,
#restTrackTable .rest-track-days .rest-track-day-status,
#restTrackTable .rest-track-days .rest-track-day-result,
#restTrackTable .rest-track-days .rest-track-day-expense,
#restTrackTable .rest-track-days .rest-track-day-print-empty,
#restTrackTable .rest-track-days .rest-track-day-action-done {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  box-sizing: border-box;
}

#restTrackTable .rest-track-days .rest-track-day-result {
  padding: 0 4px;
  text-align: center;
  white-space: nowrap;
}

#restTrackTable .rest-track-days .rest-track-day-git {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: #000;
  color: #FFFF00;
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  box-sizing: border-box;
}

#restTrackTable .rest-track-days .rest-track-day-git:hover {
  background: #333;
  color: #FFFF00;
}

#restTrackTable .rest-track-days .rest-track-day-update {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: #16a34a;
  color: #ffffff;
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  box-sizing: border-box;
}

#restTrackTable .rest-track-days .rest-track-day-update:hover:not(:disabled) {
  background: var(--update-hover, #15803d) !important;
  color: #ffffff !important;
}

#restTrackTable .rest-track-days .rest-track-day-update:disabled {
  opacity: 0.4;
  cursor: default;
}

#restTrackTable .rest-track-days .rest-track-day-update svg,
#restTrackTable .rest-track-days .rest-track-day-print svg {
  width: 15px;
  height: 15px;
  display: block;
  flex-shrink: 0;
  pointer-events: none;
}

#restTrackTable .rest-track-days .rest-track-day-print:hover {
  background: var(--print-hover, #475569) !important;
}

#restTrackTable .rest-track-days .rest-track-day-print {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  box-sizing: border-box;
}

#restTrackTable .rest-track-days .rest-track-day-actions {
  display: flex;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

#restTrackTable .rest-track-days .rest-track-day-action {
  flex: 1 1 50%;
  width: 50%;
  max-width: 50%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  box-sizing: border-box;
}

#restTrackTable .rest-track-days .rest-track-day-action--approve:hover:not(:disabled):not(.is-disabled) {
  background: #15803d !important;
}

#restTrackTable .rest-track-days .rest-track-day-action--reject:hover:not(:disabled):not(.is-disabled) {
  background: #c42d1d !important;
}

#restTrackTable .rest-track-days .rest-track-day-action:disabled,
#restTrackTable .rest-track-days .rest-track-day-action.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

#restTrackTable .rest-track-days .rest-track-day-action-done--check {
  font-size: 0 !important;
  font-weight: 400 !important;
}

#restTrackTable .rest-track-days .rest-track-day-action-done--rejected {
  font-size: 11px !important;
  font-weight: 400 !important;
}

#restTrackTable .rest-track-days .rest-track-day-action-done__icon {
  width: 18px;
  height: 18px;
  display: block;
}

#restTrackTable .rest-track-days .rest-track-day-nihai {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0 4px;
  border: none;
  border-radius: 0;
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  box-sizing: border-box;
}

#restTrackTable .rest-track-days .rest-track-day-nihai:hover:not(:disabled) {
  background: var(--nihai-hover, #0d5f59) !important;
}

#restTrackTable .rest-track-days .rest-track-day-nihai:disabled,
#restTrackTable .rest-track-days .rest-track-day-nihai.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.rest-track-seal-panel {
  max-width: 560px;
  width: calc(100vw - 24px);
  max-height: 86vh;
  overflow: auto;
}

.rest-track-seal-body {
  text-align: left;
  font-size: 12px;
  line-height: 1.35;
  max-height: 48vh;
  overflow: auto;
  margin: 0 0 10px;
}

.rest-track-seal-block {
  margin: 0 0 12px;
}

.rest-track-seal-block__title {
  font-weight: 700;
  margin: 0 0 6px;
}

.rest-track-seal-job {
  border: 1px solid #e5e7eb;
  padding: 6px 8px;
  margin: 0 0 8px;
}

.rest-track-seal-job__head {
  font-weight: 700;
  margin: 0 0 4px;
}

.rest-track-seal-job__kind {
  font-weight: 400;
  color: #0f766e;
}

.rest-track-seal-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 2px 0;
}

.rest-track-seal-otp {
  text-align: left;
  margin: 0 0 8px;
}

.rest-track-seal-otp__input {
  width: 100%;
  box-sizing: border-box;
  padding: 6px 8px;
  font-size: 16px;
  letter-spacing: 0.2em;
}

.rest-track-seal-otp__hint,
.rest-track-seal-otp__resend {
  font-size: 12px;
  margin: 4px 0 0;
}

.rest-track-seal-otp__resend {
  border: none;
  background: none;
  color: #0f766e;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
}

.rest-track-seal-otp__resend:disabled {
  opacity: 0.45;
  cursor: default;
  text-decoration: none;
}

#restTrackTable .rest-track-days .tabulator-row.is-izinli {
  position: relative;
  cursor: pointer;
  border-bottom: none;
}

#restTrackTable .rest-track-days .tabulator-row.is-izinli > .tabulator-cell {
  visibility: hidden;
}

#restTrackTable .rest-track-days .tabulator-row.is-izinli > .tabulator-cell[tabulator-field="opDate"] {
  visibility: visible;
  z-index: 2;
}

#restTrackTable .rest-track-days .rest-track-izinli {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: var(--izinli-left, 120px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 900;
  pointer-events: none;
  z-index: 1;
  border-bottom: 1px solid #94a3b8;
  box-sizing: border-box;
}

#restTrackTable .rest-track-days .tabulator-row:last-child .rest-track-izinli {
  border-bottom: none;
}

#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter {
  margin-top: 2px;
  padding: 0 1px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
}

#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter > input,
#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter > .rapor-header-filter-dropdown-wrap,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter > input,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter > .rapor-header-filter-dropdown-wrap {
  width: 100%;
  min-width: 0;
  flex: 1 1 auto;
}

#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter input.tabulator-header-filter,
#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter input[type="text"],
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter input.tabulator-header-filter,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter input[type="text"] {
  box-sizing: border-box;
  width: 100%;
  height: 1.625rem;
  min-height: 1.625rem;
  max-height: 1.625rem;
  margin: 0;
  display: block;
  border: 1px solid #1d4ed8;
  border-radius: 0.25rem;
  padding: 0 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  background: #fff;
  color: #1e293b;
}

#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter input.rapor-header-filter-disabled,
#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter input:disabled,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter input.rapor-header-filter-disabled,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter input:disabled {
  cursor: not-allowed;
  opacity: 0.72;
  border: 1px solid #cbd5e1;
  background-color: #f1f5f9;
  color: #94a3b8;
}

#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .rapor-header-filter-dropdown-wrap,
#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter .rapor-header-filter-dropdown-wrap,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact {
  width: 100%;
  max-width: 100%;
}

#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact .filter-dropdown-trigger,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact .filter-dropdown-trigger {
  height: 1.625rem;
  min-height: 1.625rem;
  max-height: 1.625rem;
  margin: 0;
  padding: 0 0.25rem;
  justify-content: center;
}

#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact .filter-dropdown-trigger-label,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact .filter-dropdown-trigger-label {
  display: none;
}

#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--filtered .filter-dropdown-trigger,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--filtered .filter-dropdown-trigger {
  border-color: #dd6f00;
  background: #fff7ed;
}

#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--filtered .filter-dropdown-trigger-caret,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--filtered .filter-dropdown-trigger-caret {
  color: #dd6f00;
  font-weight: 700;
}

#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled .filter-dropdown-trigger,
#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--disabled .filter-dropdown-trigger,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled .filter-dropdown-trigger,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--disabled .filter-dropdown-trigger {
  cursor: not-allowed;
  opacity: 0.72;
  border-color: #cbd5e1;
  background-color: #f1f5f9;
  color: #94a3b8;
}

#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled.filter-dropdown-root--filtered .filter-dropdown-trigger,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled.filter-dropdown-root--filtered .filter-dropdown-trigger {
  border-color: #cbd5e1;
  background-color: #f1f5f9;
}

#restTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled .filter-dropdown-trigger-caret,
#restKasaMoveTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled .filter-dropdown-trigger-caret {
  color: #94a3b8;
  font-weight: 400;
}

#restTrackTable .tabulator-header .tabulator-col .tabulator-col-content {
  cursor: pointer;
}

#restTrackTable.tabulator .tabulator-header .tabulator-col:not(.rapor-sira-col) .tabulator-col-title {
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  cursor: pointer;
}

.rest-track-follow-tip {
  position: fixed;
  z-index: 20000;
  max-width: min(520px, calc(100vw - 16px));
  padding: 0.4rem 0.55rem;
  background: #000000;
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  border-radius: 4px;
  pointer-events: none;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  white-space: pre-line;
}

.rest-track-follow-tip[hidden] { display: none !important; }

/* Driver cell  same look as Booking Takip (#bookingTrackTable .uetds-driver-*), scoped independently */
#restTrackTable .uetds-driver-cell {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  vertical-align: bottom;
}

#restTrackTable .uetds-driver-code {
  font-weight: 700;
  color: #ed3724;
}

#restTrackTable .uetds-driver-name {
  font-weight: 400;
}

/*
 * Rest Takip period filters:
 * - Mobile (<900px): each control on its own row (stacked)
 * - Desktop (?900px): one row 
 *   Y (narrow) | M | W | Dün | Bugün | From | To | Driver
 */
.rest-track-period__divider {
  grid-column: unset;
  width: 100%;
  height: 1px;
  margin: 0;
  background: #16a34a;
  flex: 0 0 auto;
}

/* Month / week FilterDropdown list: zebra like driver; selected = distinct green */
.filter-dropdown-panel.rest-track-period-dd-panel .filter-dropdown-option:nth-child(odd) {
  background: #e2e8f0;
}

.filter-dropdown-panel.rest-track-period-dd-panel .filter-dropdown-option:nth-child(even) {
  background: #fff;
}

.filter-dropdown-panel.rest-track-period-dd-panel .filter-dropdown-option:hover:not(:disabled):not(.filter-dropdown-option--disabled) {
  background: color-mix(in srgb, #16a34a 18%, #fff);
}

/* Beat zebra nth-child  selected row must not look like zebra */
.filter-dropdown-panel.rest-track-period-dd-panel .filter-dropdown-option--selected:not(:disabled),
.filter-dropdown-panel.rest-track-period-dd-panel .filter-dropdown-option--selected:nth-child(odd):not(:disabled),
.filter-dropdown-panel.rest-track-period-dd-panel .filter-dropdown-option--selected:nth-child(even):not(:disabled),
.filter-dropdown-panel.rest-track-period-dd-panel .filter-dropdown-option--selected:hover:not(:disabled) {
  background: color-mix(in srgb, #16a34a 42%, #fff);
  font-weight: 700;
}

/* Future / out-of-bounds months & weeks */
.filter-dropdown-panel.rest-track-period-dd-panel .filter-dropdown-option--disabled,
.filter-dropdown-panel.rest-track-period-dd-panel .filter-dropdown-option:disabled {
  opacity: 0.42;
  cursor: not-allowed;
  color: #94a3b8;
}

.filter-dropdown-panel.rest-track-period-dd-panel .filter-dropdown-option:disabled:nth-child(odd):hover,
.filter-dropdown-panel.rest-track-period-dd-panel .filter-dropdown-option--disabled:nth-child(odd):hover {
  background: #e2e8f0;
}

.filter-dropdown-panel.rest-track-period-dd-panel .filter-dropdown-option:disabled:nth-child(even):hover,
.filter-dropdown-panel.rest-track-period-dd-panel .filter-dropdown-option--disabled:nth-child(even):hover {
  background: #fff;
}

.rest-track-period {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: stretch;
  padding: 0.5rem;
  box-sizing: border-box;
  border-bottom: none;
}

.rest-track-period__col {
  min-width: 0;
  width: 100%;
  flex: 0 0 auto;
}

.rest-track-period__col--day {
  display: flex;
  align-items: stretch;
  flex: 0 0 175px;
  width: 175px;
  min-width: 175px;
  max-width: 175px;
}

.rest-track-period__day-btn {
  width: 175px !important;
  min-width: 175px !important;
  max-width: 175px !important;
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  max-height: 2.5rem !important;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-sizing: border-box;
  font-size: 11px !important;
  font-weight: 700 !important; /* bold */
}

.rest-track-period__dd {
  width: 100%;
  max-width: none;
  height: 2.5rem;
}

.rest-track-period__dd .filter-dropdown-root {
  max-width: none !important;
  width: 100%;
  height: 2.5rem;
  min-height: 2.5rem;
  max-height: 2.5rem;
  box-sizing: border-box;
}

/* Closed trigger: same height + green fill as driver / date selectors */
.rest-track-period__dd .filter-dropdown-trigger {
  height: 2.5rem !important;
  min-height: 2.5rem !important;
  max-height: 2.5rem !important;
  box-sizing: border-box;
  /* Flex caret (not absolute): keep right padding tight like driver right:0.35rem */
  padding: 0 0.35rem 0 0.65rem;
  border: 1px solid #16a34a !important;
  border-radius: 0.35rem;
  background: rgba(22, 163, 74, 0.15) !important;
  background-color: rgba(22, 163, 74, 0.15) !important;
  color: #16a34a !important;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.2;
}

.rest-track-period__dd .filter-dropdown-trigger:hover {
  background: rgba(22, 163, 74, 0.22) !important;
  background-color: rgba(22, 163, 74, 0.22) !important;
}

.rest-track-period__dd .filter-dropdown-trigger-label {
  color: #16a34a !important;
  font-weight: 700;
}

/* Same chevron SVG as .jobs-ops-driver__caret */
.rest-track-period__dd .filter-dropdown-trigger-caret {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  color: #16a34a;
  font-size: 0;
  line-height: 0;
}

.rest-track-period__dd .filter-dropdown-trigger-caret svg {
  width: 1.05rem;
  height: 1.05rem;
  display: block;
}

.rest-track-period__date {
  width: 100%;
  height: 2.5rem;
}

.rest-track-period__date .jobs-ops-date__input {
  width: 100%;
}

@media (min-width: 900px) {
  body.rest-open .rest-track-period,
  .rest-track-period {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
  }

  body.rest-open .rest-track-period__col,
  .rest-track-period__col {
    flex: 1 1 0;
    width: auto;
  }

  /* Year: narrow (4-digit) */
  body.rest-open .rest-track-period__col--year,
  .rest-track-period__col--year {
    flex: 0 0 5.25rem;
    width: 5.25rem;
    max-width: 5.25rem;
  }

  /* Driver autocomplete: slightly wider */
  body.rest-open .rest-track-period__col--driver,
  .rest-track-period__col--driver {
    flex: 1.35 1 0;
  }

  /* Dün / Bugün: fixed 175px (never grow/shrink) */
  body.rest-open .rest-track-period__col--day,
  .rest-track-period__col--day {
    flex: 0 0 175px;
    width: 175px;
    min-width: 175px;
    max-width: 175px;
  }

  .rest-track-period__day-btn {
    width: 175px !important;
    min-width: 175px !important;
    max-width: 175px !important;
  }
}

/* Sticky under app-header: date strip + ops toolbar (ops toolbar below green divider) */
.jobs-sticky-chrome {
  position: sticky;
  top: var(--app-header-safe-h, 53px);
  z-index: 40;
  background: var(--surface);
}

/* Staff: driver + date above Dün/Bugün/Yarın. Driver role: date only (same stack). */
.jobs-ops-toolbar.jobs-ops-toolbar--date-only {
  grid-template-columns: 1fr;
}

.jobs-ops-toolbar--date-only .jobs-ops-toolbar__col--driver {
  display: none !important;
}

.jobs-ops-toolbar--date-only .jobs-ops-toolbar__col--date {
  margin-top: 0;
}

.jobs-ops-toolbar {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  column-gap: 0.5rem; /* keep space between the 2 columns only */
  padding: 0.5rem 0.5rem 0;
  box-sizing: border-box;
  width: 100%;
  background: var(--surface);
}

.jobs-ops-toolbar__col {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.jobs-ops-toolbar__label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #0f172a;
}

.jobs-ops-driver {
  position: relative;
  width: 100%;
}

.jobs-ops-driver__input {
  width: 100%;
  box-sizing: border-box;
  height: 2.5rem;
  padding: 0 2rem 0 0.65rem; /* room for caret / clear */
  border: 1px solid #16a34a; /* same green as date dividers */
  border-radius: 0.35rem;
  font: inherit;
  font-size: 0.88rem;
  background: rgba(22, 163, 74, 0.15); /* green #16a34a @ 15% */
  color: #16a34a; /* selected driver text */
  font-weight: 700;
}

.jobs-ops-driver__caret,
.jobs-ops-driver__clear {
  position: absolute;
  top: calc(2.5rem / 2); /* center on input row only (not dropdown) */
  right: 0.35rem;
  width: 1.35rem;
  height: 1.35rem;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
}

.jobs-ops-driver__caret {
  color: #16a34a;
  pointer-events: none;
}

.jobs-ops-driver__clear {
  color: #ed3724; /* logo red */
  cursor: pointer;
}

.jobs-ops-driver__clear:hover {
  color: #c92e1e;
}

.jobs-ops-driver__caret svg,
.jobs-ops-driver__clear svg {
  width: 1.05rem;
  height: 1.05rem;
  display: block;
}

.jobs-ops-driver.has-driver .jobs-ops-driver__caret,
.jobs-ops-driver__caret[hidden],
.jobs-ops-driver__clear[hidden] {
  display: none !important;
}

.jobs-ops-driver__input::placeholder {
  color: color-mix(in srgb, #16a34a 55%, #94a3b8);
  font-weight: 400;
}

.jobs-ops-driver__input:focus {
  outline: 2px solid #16a34a;
  outline-offset: 1px;
}

.jobs-ops-driver__dropdown {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 2px);
  z-index: 45;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #94a3b8;
  border-radius: 0.35rem;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
  overflow: hidden;
}

.jobs-ops-driver__dropdown[hidden] {
  display: none !important;
}

.jobs-ops-driver__list {
  --jobs-ops-driver-row-h: 2.15rem; /* approx option height incl. separator */
  --jobs-ops-driver-list-pad: 0.5rem; /* vertical padding 0.25rem * 2 */
  margin: 0;
  padding: 0.25rem 0;
  list-style: none;
  /* Desktop: show ~10 rows, scroll for the rest */
  max-height: calc(var(--jobs-ops-driver-row-h) * 10 + var(--jobs-ops-driver-list-pad));
  overflow: auto;
}

@media (max-width: 899px) {
  .jobs-ops-driver__list {
    /* Mobile: show ~5 rows, scroll for the rest */
    max-height: calc(var(--jobs-ops-driver-row-h) * 5 + var(--jobs-ops-driver-list-pad));
  }
}

/* Footer outside scrollable rows  same height as driver input (2.5rem) */
.jobs-ops-driver__status {
  box-sizing: border-box;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.5rem;
  min-height: 2.5rem;
  max-height: 2.5rem;
  margin: 0;
  padding: 0 0.65rem;
  border-top: 1px solid #16a34a;
  background: #16a34a;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
}

.jobs-ops-driver__list > li {
  border-bottom: 1px solid #cbd5e1;
}

.jobs-ops-driver__list > li:last-child {
  border-bottom: 0;
}

/* Zebra: start with dark row */
.jobs-ops-driver__list > li:nth-child(odd) .jobs-ops-driver__option {
  background: #e2e8f0;
}

.jobs-ops-driver__list > li:nth-child(even) .jobs-ops-driver__option {
  background: #fff;
}

.jobs-ops-driver__option {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.45rem 0.65rem;
  border: 0;
  background: transparent;
  text-align: left;
  font: inherit;
  font-size: 0.85rem;
  cursor: pointer;
  color: #0f172a;
}

/* Must beat zebra nth-child specificity */
.jobs-ops-driver__list > li:nth-child(odd) .jobs-ops-driver__option:hover,
.jobs-ops-driver__list > li:nth-child(even) .jobs-ops-driver__option:hover,
.jobs-ops-driver__list > li .jobs-ops-driver__option.is-active,
.jobs-ops-driver__option:hover,
.jobs-ops-driver__option.is-active {
  background: color-mix(in srgb, #16a34a 28%, #fff);
}

.jobs-ops-driver__code {
  font-weight: 800;
  margin-right: 0.35rem;
}

.jobs-ops-date {
  position: relative;
  width: 100%;
}

/* Flatpickr alt input (visible) + hidden raw input */
.jobs-ops-date .flatpickr-input[type='hidden'] {
  display: none !important;
}

.jobs-ops-date__input,
.jobs-ops-date input.jobs-ops-date__input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  height: 2.5rem;
  margin: 0;
  padding: 0 2rem 0 0.65rem; /* room for always-on caret */
  border: 1px solid #16a34a;
  border-radius: 0.35rem;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  background: rgba(22, 163, 74, 0.15);
  color: #16a34a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}

.jobs-ops-date__caret {
  position: absolute;
  top: calc(2.5rem / 2);
  right: 0.45rem;
  width: 1.1rem;
  height: 1.1rem;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #16a34a;
  pointer-events: none; /* clicks open Flatpickr via input */
  z-index: 1;
}

.jobs-ops-date__caret svg {
  width: 1.05rem;
  height: 1.05rem;
  display: block;
}

.jobs-ops-date__input:focus,
.jobs-ops-date input.jobs-ops-date__input:focus {
  outline: 2px solid #16a34a;
  outline-offset: 1px;
}

/* Flatpickr: month dropdown only  hide year control for now */
.flatpickr-calendar .flatpickr-current-month .numInputWrapper,
.flatpickr-calendar .flatpickr-current-month input.cur-year {
  display: none !important;
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months {
  margin-left: 0;
  padding-right: 1.1em !important; /* space between month name and dropdown arrow */
}

/* Flatpickr: force all calendar fonts to 12px (preview) */
.flatpickr-calendar,
.flatpickr-calendar .flatpickr-current-month,
.flatpickr-calendar .flatpickr-monthDropdown-months,
.flatpickr-calendar .flatpickr-monthDropdown-month,
.flatpickr-calendar span.flatpickr-weekday,
.flatpickr-calendar .flatpickr-day,
.flatpickr-calendar .flatpickr-time input {
  font-size: 12px !important;
}

.flatpickr-calendar span.flatpickr-weekday {
  color: #fff !important;
}

.jobs-ops-date__input,
.jobs-ops-date input.jobs-ops-date__input {
  font-size: 12px;
}

@media (max-width: 899px) {
  .jobs-ops-toolbar {
    grid-template-columns: 1fr; /* stack: driver then date */
  }

  /* Space between stacked driver and date only  does not affect dividerdriver */
  .jobs-ops-toolbar__col--date {
    margin-top: 0.5rem;
  }
}

.jobs-date-strip {
  --jobs-date-gap: 0.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--jobs-date-gap);
  padding: var(--jobs-date-gap);
  box-sizing: border-box;
  width: 100%;
  background: var(--surface);
  overflow: visible;
}

/* UETDS / Booking: driver + Dün/Bugün/Yarın in one 4-equal-column strip (no date picker).
 * Top + bottom green dividers are first/last grid children (same gap as day buttons). */
#uetdsPanel .uetds-date-strip,
#bookingPanel .booking-date-strip {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

#uetdsPanel .uetds-date-strip__driver,
#bookingPanel .booking-date-strip__driver {
  min-width: 0;
  align-self: stretch;
  display: flex;
  align-items: stretch;
}

#uetdsPanel .uetds-date-strip__driver .jobs-ops-driver__input,
#bookingPanel .booking-date-strip__driver .jobs-ops-driver__input {
  height: 2.75rem;
  min-height: 2.75rem;
}

.jobs-date-btn {
  appearance: none;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.75rem;
  min-height: 2.75rem;
  max-height: 2.75rem;
  padding: 0 0.4rem;
  border: 2px solid #7d7d7d;
  border-radius: 0.35rem;
  background: #7d7d7d;
  color: #ffffff;
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
  box-sizing: border-box;
}

/* Inactive: gray  black on hover (Jobs + UETDS + Booking) */
.jobs-date-btn:hover:not(.is-active) {
  background: #000000;
  border-color: #000000;
}

.jobs-date-btn.is-active {
  background: #16a34a;
  border-color: #15803d;
}

.jobs-date-btn.is-active:hover {
  background: #15803d;
}

.jobs-date-btn:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.jobs-date-btn:disabled,
.jobs-date-btn.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.jobs-date-btn:disabled:hover,
.jobs-date-btn.is-disabled:hover {
  background: #7d7d7d;
  border-color: #7d7d7d;
}

.jobs-date-btn.is-active:disabled:hover,
.jobs-date-btn.is-active.is-disabled:hover {
  background: #16a34a;
  border-color: #15803d;
}

.jobs-date-divider {
  grid-column: 1 / -1;
  width: 100%;
  height: 1px;
  margin: 0;
  background: #16a34a;
  border: 0;
}

/* J7: 1px line stays; label overlays the line (no extra strip height) */
.jobs-leg-count {
  position: relative;
}

.jobs-leg-count__text {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, calc(-50% - 1px));
  padding: 0 0.4rem;
  background: var(--surface);
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  color: #ed3724;
  white-space: nowrap;
  z-index: 1;
}

.jobs-leg-count__text[hidden] {
  display: none;
}

/* Green divider under header (first row of ops toolbar), above driver/date */
.jobs-ops-toolbar__divider {
  grid-column: 1 / -1;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

.jobs-list {
  --jobs-op-div-gap-top: 0.5rem;    /* closed: card  divider (equal) */
  --jobs-op-div-gap-bottom: 0.5rem; /* closed: divider  next card (equal) */
  --jobs-op-div-h: 1px;
  flex: 0 1 auto;
  min-height: auto;
  overflow: visible;
  /* No top pad  divider already has strip gap above; first op sits tight under it.
     Bottom pad 0: last op divider owns its own bottom gap (= top gap). */
  padding: 0 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0; /* spacing via block margins so open accordion can drop gap-top */
  box-sizing: border-box;
}

/* FX home (Jobs bottom) — converter reparents to Rest Teslim dialog while open */
.jobs-fx-home:empty {
  display: none;
}

/* Rest Teslim / Rest Durumu — under ops list; FX sits below these */
.jobs-rest-actions {
  margin: 0 0.5rem 0.5rem;
  padding: 0;
  box-sizing: border-box;
}

/* FX converter at bottom of Jobs panel (EUR/USD/GBP + Farklı Kur) */
.jobs-fx {
  margin: 0 0.5rem 0.5rem; /* side inset match .jobs-list */
  padding: 0;
  box-sizing: border-box;
}

.jobs-fx__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5625rem; /* same as FX inputs */
}

.jobs-fx__tab {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  height: 2.75rem;
  min-height: 2.75rem;
  max-height: 2.75rem;
  padding: 0 0.35rem;
  border: 2px solid #000000;
  border-radius: 0.35rem;
  background: #000000;
  color: #ffffff;
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}

.jobs-fx__tab.is-active,
.jobs-fx__tab[aria-pressed='true'] {
  border-color: #15803d;
  background: #16a34a;
}

/* Same hover language as .jobs-date-btn */
.jobs-fx__tab:hover:not(.is-active):not([aria-pressed='true']) {
  background: #14532d;
  border-color: #166534;
}

.jobs-fx__tab.is-active:hover,
.jobs-fx__tab[aria-pressed='true']:hover {
  background: #15803d;
}

.jobs-fx__tab:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.jobs-fx__panel[hidden] {
  display: none !important;
}

/* Other FX: code select + amount  equal columns */
.jobs-fx-other__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5625rem; /* same as FX inputs */
  align-items: stretch;
}

.jobs-fx-other__code-wrap,
.jobs-fx-other__amount-wrap {
  position: relative;
  display: block;
  min-width: 0;
  margin: 0;
}

/*
 * Currency FilterDropdown  ONE style for Jobs FX "Farklı Kur" + Rest Teslim dialog.
 * Root rem is 14px  2.75rem = 38.5px. Shared via .currency-filter-dropdown-wrap.
 */
.jobs-fx-other__code-wrap,
.currency-filter-dropdown-wrap,
.rest-handover-expense-row__currency-wrap {
  height: 2.75rem;
  min-height: 2.75rem;
  max-height: 2.75rem;
  box-sizing: border-box;
}

.currency-filter-dropdown-wrap.filter-dropdown-root,
.jobs-fx-other__code-wrap.filter-dropdown-root {
  width: 100%;
  max-width: 100% !important;
  height: 2.75rem;
  min-height: 2.75rem;
  max-height: 2.75rem;
  box-sizing: border-box;
  overflow: hidden;
}

.currency-filter-dropdown-wrap .filter-dropdown-trigger,
.jobs-fx-other__code-wrap .filter-dropdown-trigger {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  width: 100%;
  height: 2.75rem !important;
  min-height: 2.75rem !important;
  max-height: 2.75rem !important;
  margin: 0;
  padding: 0 0.5rem 0 calc(0.5rem + 5px);
  border: 1px solid #b8c2cf !important;
  border-radius: 0.35rem;
  background: #eef1f4 !important;
  background-color: #eef1f4 !important;
  color: #0f2744 !important;
  font-family: inherit;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: left;
  overflow: hidden;
  cursor: pointer;
}

.currency-filter-dropdown-wrap .filter-dropdown-trigger-label,
.jobs-fx-other__code-wrap .filter-dropdown-trigger-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  flex: 1 1 auto;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: inherit;
}

.currency-filter-dropdown-wrap .filter-dropdown-trigger-caret,
.jobs-fx-other__code-wrap .filter-dropdown-trigger-caret {
  flex-shrink: 0;
  font-size: 0.65rem;
  color: #64748b;
  line-height: 1;
}

.currency-filter-dropdown-wrap .filter-dropdown-trigger:hover,
.jobs-fx-other__code-wrap .filter-dropdown-trigger:hover {
  background: #eef1f4 !important;
  background-color: #eef1f4 !important;
}

/* Rest Teslim dialog: closed trigger fill = white (list zebra unchanged) */
.rest-handover-dialog .currency-filter-dropdown-wrap .filter-dropdown-trigger,
.rest-handover-dialog .currency-filter-dropdown-wrap .filter-dropdown-trigger:hover,
.rest-handover-dialog .jobs-fx-other__code-wrap .filter-dropdown-trigger,
.rest-handover-dialog .jobs-fx-other__code-wrap .filter-dropdown-trigger:hover {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* Currency list panel  shared (Jobs FX + Rest Teslim dialog) */
.filter-dropdown-panel.currency-filter-dropdown-panel {
  border: 1px solid #b8c2cf;
  border-radius: 0.35rem;
  background: #ffffff;
}

.filter-dropdown-panel.currency-filter-dropdown-panel .filter-dropdown-option {
  font-size: 11px;
  font-weight: 400;
  line-height: 1.35;
  padding: 0.4rem 15px;
  color: #0f2744;
  border-bottom: 1px solid #cbd5e1;
}

.filter-dropdown-panel.currency-filter-dropdown-panel .filter-dropdown-list > .filter-dropdown-option:last-child {
  border-bottom: none;
}

/* Currency list: zebra  odd = trigger fill (#eef1f4), even = white */
.filter-dropdown-panel.currency-filter-dropdown-panel .filter-dropdown-option:nth-child(odd) {
  background: #eef1f4;
}

.filter-dropdown-panel.currency-filter-dropdown-panel .filter-dropdown-option:nth-child(even) {
  background: #ffffff;
}

.filter-dropdown-panel.currency-filter-dropdown-panel .filter-dropdown-option:hover {
  background: #dde3ea;
}

.filter-dropdown-panel.currency-filter-dropdown-panel .filter-dropdown-option--selected {
  background: inherit;
  font-weight: 700;
}

.filter-dropdown-panel.currency-filter-dropdown-panel .filter-dropdown-option--selected:nth-child(odd) {
  background: #eef1f4;
}

.filter-dropdown-panel.currency-filter-dropdown-panel .filter-dropdown-option--selected:nth-child(even) {
  background: #ffffff;
}

.filter-dropdown-panel.currency-filter-dropdown-panel .filter-dropdown-option--selected:hover {
  background: #dde3ea;
}

.jobs-fx-other__select,
.jobs-fx-other__input {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  height: 2.75rem;
  min-height: 2.75rem;
  max-height: 2.75rem;
  padding: 0 0.35rem;
  border: 1px solid #b8c2cf;
  border-radius: 0.35rem;
  background: #eef1f4;
  color: #0f2744;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.jobs-fx-other__select {
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  /* SVG chevron  vertically centered in the control */
  background-color: #eef1f4;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230f2744' d='M2.2 4.2L6 8l3.8-3.8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.55rem center;
  background-size: 12px 12px;
  padding-left: 0.85rem; /* closed-state label not flush to left edge */
  padding-right: 1.6rem;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
}

.jobs-fx-other__select:focus,
.jobs-fx-other__input:focus {
  outline: 1px solid #b8c2cf;
  outline-offset: 1px;
  border-color: #b8c2cf;
}

.jobs-fx-other__input.is-filled {
  border-color: #16a34a;
  background: rgba(22, 163, 74, 0.15);
  color: #15803d;
}

.jobs-fx-other__amount-wrap.has-clear .jobs-fx-other__input {
  padding-right: 1.75rem;
}

.jobs-fx__inputs {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.5625rem; /* 9px @16px */
}

.jobs-fx__field {
  position: relative;
  display: block;
  min-width: 0;
}

.jobs-fx__input {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  height: 2.75rem;
  min-height: 2.75rem;
  max-height: 2.75rem;
  padding: 0 0.35rem;
  border: 1px solid #b8c2cf; /* same 1px slate as op / res dividers */
  border-radius: 0.35rem;
  background: #eef1f4; /* light gray, lighter than border #b8c2cf */
  color: #0f2744;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.jobs-fx__field.has-clear .jobs-fx__input {
  padding-right: 1.75rem; /* room for inner X */
}

/* Fake placeholder: CODE + selected-day rate (rate smaller / lighter) */
.jobs-fx__ph {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  pointer-events: none;
  user-select: none;
}

.jobs-fx__field.is-ph-hidden .jobs-fx__ph {
  opacity: 0;
}

.jobs-fx__ph-code {
  color: #0f2744;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
}

.jobs-fx__ph-rate {
  color: #8a9bb0; /* lighter than #0f2744 */
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}

.jobs-fx__ph-rate:empty {
  display: none;
}

.jobs-fx__ph-try[hidden] {
  display: none !important;
}

.jobs-fx__ph-try {
  color: #8a9bb0; /* same as rate */
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}

.jobs-fx__clear {
  appearance: none;
  position: absolute;
  top: 50%;
  right: 0.4rem; /* ~6.4px @16px */
  transform: translateY(-50%);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0.25rem;
  background: transparent;
  color: #ed3724; /* logo red */
  font-family: inherit;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

/* display:inline-flex above would override UA [hidden]; keep X only when shown */
.jobs-fx__clear[hidden] {
  display: none !important;
}

.jobs-fx__clear:hover {
  color: #c42d1d;
}

.jobs-fx__clear:focus-visible {
  outline: 2px solid #ed3724;
  outline-offset: 1px;
}

.jobs-fx__input:focus {
  outline: 1px solid #b8c2cf;
  outline-offset: 1px;
  border-color: #b8c2cf;
}

/* Active currency field (has amount)  same green as selected day @ 15% fill */
.jobs-fx__input.is-filled {
  border-color: #16a34a;
  background: rgba(22, 163, 74, 0.15);
  color: #16a34a;
}

.jobs-fx__input.is-filled:focus {
  outline: 1px solid #16a34a;
  border-color: #16a34a;
}

/* Slate divider between FX inputs and convert button (same as op / res dividers) */
.jobs-fx__divider {
  height: 1px;
  margin: 0.5rem 0; /* 8px @16px  matches previous inputbutton gap */
  background: #b8c2cf;
  pointer-events: none;
}

.jobs-fx__divider:last-child {
  margin-bottom: 0;
}

/* Rest handover CTA under FX (UI shell only  no action yet) */
.jobs-rest-handover-btn {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  height: 2.75rem;
  min-height: 2.75rem;
  max-height: 2.75rem;
  padding: 0 0.4rem;
  border: 2px solid #000000;
  border-radius: 0.35rem;
  background: #000000;
  color: #ffffff;
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}

/* Same hover language as .jobs-date-btn (inactive black  dark green) */
.jobs-rest-handover-btn:hover:not(:disabled):not(.is-disabled) {
  background: #14532d;
  border-color: #166534;
}

.jobs-rest-handover-btn:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.jobs-rest-handover-btn:disabled,
.jobs-rest-handover-btn.is-disabled {
  border-color: #6b7280;
  background: #6b7280;
  color: #e5e7eb;
  cursor: not-allowed;
  opacity: 0.9;
}

.jobs-rest-handover-btn:disabled:hover,
.jobs-rest-handover-btn.is-disabled:hover {
  background: #6b7280;
  border-color: #6b7280;
}

/* K8 closed: i18n <br> must live in one flex child */
.jobs-rest-handover-btn__gate {
  display: block;
  text-align: center;
  line-height: 1.15;
}

/* Selected date in Rest CTA  same yellow as FX result total */
.jobs-rest-handover-btn__date {
  color: #ffff00;
  font-weight: 900;
}

/* Convert CTA: green when result shown; logo red while empty/hint */
.jobs-fx__result {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  margin-top: 0;
  height: 2.75rem;
  min-height: 2.75rem;
  max-height: 2.75rem;
  padding: 0 0.4rem;
  border: 2px solid #15803d;
  border-radius: 0.35rem;
  background: #16a34a;
  color: #ffffff;
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  cursor: pointer;
}

.jobs-fx__result:hover {
  background: #15803d;
}

.jobs-fx__result:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.jobs-fx__result.is-empty {
  text-transform: uppercase;
  border-color: #ed3724; /* logo red */
  background: #ed3724;
}

.jobs-fx__result.is-empty:hover {
  background: #c42d1d;
  border-color: #c42d1d;
}

/* Formula before "="  2px smaller than button base */
.jobs-fx__result-formula {
  font-size: calc(0.85rem - 2px);
  font-weight: 800;
}

/* Only the TRY total after "="  2px larger than button base */
.jobs-fx__result-total {
  color: #ffff00;
  font-weight: 900;
  font-size: calc(0.85rem + 2px);
}

/* Empty list collapses so empty-msg can vertically center in remaining panel */
.jobs-list:empty {
  flex: 0 0 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
}

.jobs-list__msg {
  margin: 0;
  padding: 0.75rem 1rem;
  text-align: center;
  font-size: 0.88rem;
  font-weight: 700;
  color: #ed3724; /* logo red */
}

.jobs-list__msg:not([hidden]) {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
}

.jobs-list__msg--error {
  color: #ed3724;
}

/* Op block = card + accordion detail; divider after whole block */
.jobs-op-block {
  position: relative;
}

.jobs-op-block:not(:last-child) {
  margin-bottom: calc(var(--jobs-op-div-gap-top) + var(--jobs-op-div-h) + var(--jobs-op-div-gap-bottom));
}

/* Last op: divider bottom gap = same as its top gap (closed 0.5rem / open 7px) */
.jobs-op-block:last-child {
  margin-bottom: calc(var(--jobs-op-div-gap-top) + var(--jobs-op-div-h) + var(--jobs-op-div-gap-top));
}

/* Open: 7px between last reservation and the divider above next op */
.jobs-op-block.is-open {
  --jobs-op-div-gap-top-open: 7px;
}

.jobs-op-block.is-open:not(:last-child) {
  margin-bottom: calc(var(--jobs-op-div-gap-top-open) + var(--jobs-op-div-h) + var(--jobs-op-div-gap-bottom));
}

.jobs-op-block.is-open:last-child {
  margin-bottom: calc(var(--jobs-op-div-gap-top-open) + var(--jobs-op-div-h) + var(--jobs-op-div-gap-top-open));
}

.jobs-op-block::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + var(--jobs-op-div-gap-top));
  height: var(--jobs-op-div-h);
  background: #b8c2cf; /* shared slate dividers (op / res / note) */
  pointer-events: none;
}

.jobs-op-block.is-open::after {
  top: calc(100% + var(--jobs-op-div-gap-top-open));
}

/* UETDS / Ula?tırma status bar  above each operation card */
.jobs-uetds {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 10px;
  border-radius: 0 0.4rem 0 0; /* top-right only  top-left curve lives on the seq rail */
  color: #ffffff;
  font-size: calc(0.78rem - 1px); /* same as reservation row buttons */
  font-weight: 400;
  line-height: 1.25;
}

.jobs-uetds--pending {
  display: block;
  /* Same mix as .jobs-op:hover (direction hover fill) */
  background: color-mix(in srgb, var(--jobs-op-border, #64748b) 18%, var(--jobs-op-fill, #f1f5f9));
  border-style: solid;
  border-width: 1px 5px 0 0; /* top 1px; right 5px; no bottom; left edge = seq rail */
  border-color: var(--jobs-op-border, #64748b); /* full direction color */
  text-align: center;
  color: #ed3724; /* logo red */
}

.jobs-uetds--pending .jobs-uetds__label {
  color: #ed3724; /* logo red */
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  max-width: 100%;
}

/* Pending label: {time} always bold 900 (rest of text keeps its own weight) */
.jobs-uetds__label-time {
  font-weight: 900;
}

.jobs-uetds--sent {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 60px; /* label flexible + meta fixed 60px */
  gap: 0.45rem;
  align-items: center;
  background: var(--jobs-op-border, #64748b); /* full direction color */
  cursor: pointer;
  user-select: none;
}

.jobs-uetds--sent:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

/* Sent bar, closed row: white seams INSIDE the strip  1st column (label) left edge
   + 2nd column (meta) right edge. Open (selected) row  seams removed (0px).
   Negative v-margins stretch the seam to the BAR's full height (bar padding 0.5rem);
   inner padding keeps a gap between the seam and the text. */
.jobs-uetds--sent .jobs-uetds__label {
  position: relative;
  z-index: 1; /* bottom 1px extension paints over the card's top border */
  margin: -0.5rem 0 calc(-0.5rem - 1px) -10px; /* flush left + cover card top border */
  padding: 0.5rem 0 0.5rem 10px;
  border-left: 1px solid #ffffff;
}

.jobs-uetds--sent .jobs-uetds__meta {
  position: relative;
  z-index: 1;
  margin: -0.5rem -10px calc(-0.5rem - 1px) 0; /* flush right + cover card top border */
  padding: 0.5rem 10px 0.5rem 0;
  border-right: 1px solid #ffffff;
}

.jobs-op-block:has(.jobs-op.is-selected) .jobs-uetds--sent .jobs-uetds__label {
  border-left-width: 0;
}

.jobs-op-block:has(.jobs-op.is-selected) .jobs-uetds--sent .jobs-uetds__meta {
  border-right-width: 0;
}

/* Sent bar WITHOUT booking rail: right seam follows direction hue  bar reads
   continuous to the block edge (no white "cut" against the page background).
   Seam starts at the end of the bar's rounded top-right corner (not through it). */
.jobs-op-block:not(:has(.jobs-op__booking)) .jobs-uetds--sent .jobs-uetds__meta {
  border-right-color: var(--jobs-op-border, #64748b);
  margin-top: calc(-0.5rem + 0.4rem); /* seam begins where the corner curve ends */
  padding-top: calc(0.5rem - 0.4rem); /* keep the time text position */
}

.jobs-uetds__label {
  display: block;
  min-width: 0;
  color: #ffffff;
}

.jobs-uetds--sent .jobs-uetds__label {
  text-align: left;
  white-space: nowrap; /* single line  JS fits with ".." when needed */
  overflow: hidden;
}

.jobs-uetds__meta {
  display: block;
  min-width: 0;
  text-align: right;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Operation card  3 rows; row3 is 2 columns (first/rest).
   Colors from direction-colors.json via --jobs-op-* (set in jobs.js). */
.jobs-op {
  position: relative;
  display: flex; /* seq strip (left, all ops) + grid + booking strip (right, conditional) */
  align-items: stretch;
  background: var(--jobs-op-fill, #f1f5f9);
  border: 1px solid var(--jobs-op-border, #64748b);
  border-left-width: 0; /* seq strip is the visual left edge (map-strip twin) */
  border-right-width: 5px;
  border-radius: 0 0 0.4rem 0; /* bottom-right only  bottom-left curve lives on the seq rail */
  padding: 0.55rem 0.65rem;
  box-sizing: border-box;
  cursor: pointer;
  /* No transform/lift on hover  avoids row "wave" / top-border jump */
  transition: background-color 140ms ease, border-color 140ms ease;
}

/* Frame: seq rail (left) + main column (uetds bar + op card). Detail stays outside. */
.jobs-op-frame {
  display: flex;
  align-items: stretch;
}

.jobs-op-frame__main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.jobs-op-frame__main > .jobs-op {
  flex: 1 1 auto;
}

/* Left sequence rail  EVERY op block (no seller condition), spans uetds bar + card.
   Visual twin of .jobs-res__seq: 25px, direction solid bg, white number, centered. */
.jobs-op__seq {
  flex: 0 0 var(--jobs-res-seq-w, 25px);
  width: var(--jobs-res-seq-w, 25px);
  display: flex;
  align-items: center; /* vertical center across full rail (uetds + card) */
  justify-content: center; /* horizontal center */
  margin: 0;
  padding: 0.2rem 0 0.2rem 2px; /* +2px left: border + glyph-bearing compensation for optical center */
  border: 0;
  border-right: 1px solid var(--jobs-op-border, #64748b); /* direction hue while closed */
  border-radius: 0.4rem 0 0 0.4rem; /* top-left (uetds curve) + bottom-left (card curve) */
  background: var(--jobs-op-border, #64748b);
  color: #ffffff;
  font-size: 0.64rem;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0.04em;
  text-align: center;
  user-select: none;
  pointer-events: none; /* passive  card click toggles detail */
  box-sizing: border-box;
}

/* (seq rail: no private exception  bottom-left stays rounded, see note above) */

/* Open (selected) card: white seam between seq rail and content */
.jobs-op-block:has(.jobs-op.is-selected) .jobs-op__seq {
  border-right-color: #ffffff;
}

/* Booking op blocks: seq number text matches the Booking rail's yellow */
.jobs-op-block:has(.jobs-op__booking) .jobs-op__seq {
  color: #ffff00; /* pure yellow */
  flex-direction: column; /* stack: # / 01 / # */
}

/* Booking op blocks: # above + below the seq number */
.jobs-op-block:has(.jobs-op__booking) .jobs-op__seq::before {
  content: '#';
}

.jobs-op-block:has(.jobs-op__booking) .jobs-op__seq::after {
  content: '#';
}

/* Private transfer: bottom corners rounded again (action bar hidden  was the only
   reason for square corners). Class kept for text-color rules below. */

/* ===== Booking badge strip (op card right edge) =====
   Conditional render: only when op.isBookingSeller (API). Without the modifier
   class the card layout/DOM is byte-identical to before.
   Visual twin of .jobs-res__map (same width/strip style), but PASSIVE. */
.jobs-op--booking {
  display: flex;
  align-items: stretch;
  border-right-width: 0; /* strip flush to card edge  true .jobs-res__map twin */
  border-bottom-right-radius: 0; /* interior corner: bottom border runs square into the booking rail */
}

.jobs-op__booking {
  flex: 0 0 var(--jobs-res-map-w, 25px); /* same twin width as seq rail / map strip */
  width: var(--jobs-res-map-w, 25px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0; /* frame-level rail  spans uetds bar + card, no bleed needed */
  padding: 0.2rem 0 0.2rem 2px; /* +2px left: same optical compensation as seq rail */
  border: 0;
  /* rotate(180deg) mirrors left/right: border-RIGHT renders as the VISUAL LEFT seam */
  border-right: 1px solid var(--jobs-op-border, #64748b); /* direction hue while closed */
  /* rotate(180deg) mirrors corners too: TL+BL render as the OUTER right corners (TR+BR) */
  border-radius: 0.4rem 0 0 0.4rem;
  background: var(--jobs-op-border, #64748b); /* direction solid hue  same as map strip */
  color: #ffff00; /* pure yellow  Booking rail text on every direction hue */
  font-size: 0.64rem;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0.04em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg); /* same reading direction as .jobs-res__map */
  user-select: none;
  pointer-events: none; /* passive badge  card click still toggles detail */
  box-sizing: border-box;
}

/* (private square-corner exceptions removed  under-card action bar is hidden,
   so ALL op blocks get rounded bottom corners like shuttle) */

/* Booking rail present  uetds bar hands its right edge + top-right corner to the rail */
.jobs-op-block:has(.jobs-op__booking) .jobs-uetds {
  border-top-right-radius: 0;
}

.jobs-op-block:has(.jobs-op__booking) .jobs-uetds--pending {
  border-right-width: 0;
}

/* Open (selected) card: strip merges into direction bg  white seam splits it.
   border-right (not left): after rotate(180deg) it appears on the visual left.
   Strip lives at frame level  drive from the block. */
.jobs-op-block:has(.jobs-op.is-selected) .jobs-op__booking {
  border-right-color: #ffffff;
}

/* Private transfer: divider between op card and action bar */
.jobs-op-actions-divider {
  width: 100%;
  height: 1px;
  margin: 7px 0; /* top 7 / bottom 7 */
  background: #b8c2cf; /* same slate as op / res dividers */
  pointer-events: none;
  box-sizing: border-box;
}

/* Private transfer action bar  under op card only */
.jobs-op-actions {
  margin-top: 0;
  width: 100%;
  background: transparent;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; /* 3 buttons: Start / Pick / NoShow (Wait removed) */
  gap: 7px; /* column gutters */
  box-sizing: border-box;
}

/* Private action bar is VISIBLE (was hidden temporarily during layout rework) */

.jobs-op-actions__btn {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.5rem 0.35rem;
  border: 0;
  border-radius: 0.25rem;
  background: #ed3724; /* logo red */
  color: #ffffff;
  font-size: calc(0.78rem - 1px); /* same as UETDS bar */
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (hover: hover) and (pointer: fine) {
  .jobs-op-actions__btn:hover:not(:disabled) {
    filter: brightness(0.88);
  }
}

@media (hover: hover) and (pointer: fine) {
  .jobs-op:hover:not(.is-selected) {
    background: color-mix(in srgb, var(--jobs-op-border, #64748b) 18%, var(--jobs-op-fill, #f1f5f9));
    border-color: var(--jobs-op-border, #64748b);
  }
}

/*
 * J1  When one op is open/selected, sibling blocks dim (still clickable).
 * Desktop hover restores full opacity so the card reads as "active" before click.
 */
#jobsList:has(.jobs-op.is-selected) .jobs-op-block:not(.is-open) {
  opacity: 0.36;
  transition: opacity 0.15s ease;
}

@media (hover: hover) and (pointer: fine) {
  #jobsList:has(.jobs-op.is-selected) .jobs-op-block:not(.is-open):hover {
    opacity: 1;
  }
}

/* Selected: full direction fill + white text */
.jobs-op.is-selected {
  background: var(--jobs-op-border, #64748b);
  border-color: var(--jobs-op-border, #64748b);
}

/* Selected + UETDS Sent: white top seam under ula?tırma bar (pending keeps direction color). */
/* (descendant combinators  uetds bar + card live inside .jobs-op-frame since seq rail) */
.jobs-op-block:has(.jobs-uetds--sent) .jobs-op.is-selected {
  border-top-color: #ffffff;
}

.jobs-op.is-selected,
.jobs-op.is-selected .jobs-op__cell,
.jobs-op.is-selected .jobs-op__cell--code,
.jobs-op.is-selected .jobs-op__cell--mid,
.jobs-op.is-selected .jobs-op__cell--time,
.jobs-op.is-selected .jobs-op__cell--rest,
.jobs-op.is-selected .jobs-op__cell--rest-none,
.jobs-op.is-selected .jobs-op__dir,
.jobs-op.is-selected .jobs-op__pax-n {
  color: #ffffff;
}

/* Accordion reservation list */
.jobs-op-detail {
  /* Visual 8px/8px: CSS top+1px (divider), CSS bottom-1px (res top border) */
  --jobs-res-div-space-top: 0.4375rem; /* 7px  visual ~8px above */
  --jobs-res-div-space-bottom: 0.5625rem; /* 9px  visual ~8px below */
  border: 0;
  background: transparent;
  padding: 0; /* spacing via .jobs-res margin-top (divider above each) */
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.jobs-op-detail[hidden] {
  display: none !important;
}

/* Overlay label on .jobs-res::before  no layout/spacing impact */
.jobs-res > .jobs-op-res-count {
  position: absolute;
  left: 0;
  right: 0;
  /* Same band as .jobs-res::before */
  top: calc(-1 * (var(--jobs-res-div-space-bottom) + 1px));
  height: 1px;
  z-index: 2;
  margin: 0;
  padding: 0;
  pointer-events: none;
  background: transparent;
}

.jobs-op-res-count__text {
  position: absolute;
  left: 50%;
  top: calc(50% - 1px); /* mobile: already seated */
  transform: translate(-50%, -50%);
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  color: #ed3724; /* logo red  full label */
  background: var(--surface, #ffffff);
  padding: 0 0.35rem;
}

@media (min-width: 900px) {
  .jobs-op-res-count__text {
    top: calc(50% - 2px); /* J9: desktop only, 1px up */
  }
}

.jobs-op-res-count__n {
  color: inherit;
  font-weight: inherit;
}

.jobs-op-detail__empty {
  margin: 0.35rem 0.15rem;
  text-align: center;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--ink-soft);
}

.jobs-res {
  --jobs-res-seq-w: 25px;
  --jobs-res-map-w: 25px;
  position: relative;
  display: flex;
  align-items: stretch;
  border: 1px solid #94a3b8;
  border-left-width: 0;
  border-right-width: 0;
  border-radius: 0.3rem;
  padding: 0;
  background: transparent;
  box-sizing: border-box;
  /* overflow visible so ::before divider above row is not clipped */
  /* space-top  divider  space-bottom  this res (incl. first under op card) */
  margin-top: calc(var(--jobs-res-div-space-top) + 1px + var(--jobs-res-div-space-bottom));
}

.jobs-res__seq {
  flex: 0 0 var(--jobs-res-seq-w);
  width: var(--jobs-res-seq-w);
  display: flex;
  align-items: center; /* vertical center */
  justify-content: center; /* horizontal center */
  text-align: center;
  background: var(--jobs-op-border, #64748b);
  color: #ffffff;
  font-size: 0.64rem; /* slightly smaller for 25px seq column */
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  user-select: none;
  /* Match card left radius without clipping the divider */
  border-radius: 0.3rem 0 0 0.3rem;
}

.jobs-res__body {
  flex: 1 1 auto;
  min-width: 0;
  /* bottom was 0.4rem; +1.5px  0.09375rem (@16px) */
  padding: 0.4rem 0.5rem 0.49375rem;
  /* Dark zebra = unselected op direction fill */
  background: var(--jobs-op-fill, #f1f5f9);
  box-sizing: border-box;
}

.jobs-res:nth-child(even) .jobs-res__body {
  /* Same as odd for now; zebra hooks kept for later contrast */
  background: var(--jobs-op-fill, #f1f5f9);
}

/* Right map column  UI only in v1 (no navigation yet) */
.jobs-res__map {
  flex: 0 0 var(--jobs-res-map-w);
  width: var(--jobs-res-map-w);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0.2rem 0;
  border: 0;
  background: var(--jobs-op-border, #64748b);
  color: #ffffff;
  font-size: 0.64rem;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0.04em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg); /* topbottom reading for TR/EN labels */
  cursor: pointer;
  user-select: none;
  /* Radius on TL+BL here  after 180° rotate they appear as outer right corners */
  border-radius: 0.3rem 0 0 0.3rem;
  box-sizing: border-box;
}

.jobs-res__map:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: -3px;
}

@media (hover: hover) and (pointer: fine) {
  .jobs-res__map:hover {
    filter: brightness(0.88);
  }
}

.jobs-res__map:disabled,
.jobs-res__map--disabled {
  background: #94a3b8;
  color: #e2e8f0;
  cursor: not-allowed;
  filter: none;
  opacity: 0.78;
}

@media (hover: hover) and (pointer: fine) {
  .jobs-res__map:disabled:hover,
  .jobs-res__map--disabled:hover {
    filter: none;
  }
}

.jobs-res__row.jobs-res__row--map-warn {
  margin: 0;
  padding: 0.35rem 0.4rem;
  background: #facc15;
  color: #111827;
  font-size: 0.72rem;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
  border-radius: 0.2rem;
  box-sizing: border-box;
}

/* Shuttle multi-stop: after last reservation */
.jobs-op-map-all-divider {
  height: 1px;
  margin: 7px 0 7px; /* top 7 / bottom 7 */
  background: #b8c2cf; /* same as .jobs-res::before */
  pointer-events: none;
}

.jobs-op-map-all {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.5rem 0.45rem;
  border: 0;
  border-radius: 0.25rem;
  background: var(--jobs-op-border, #64748b); /* same fill family as row OK buttons */
  color: #fff; /* same as .jobs-gf-status / .jobs-rest-collect */
  font-size: calc(0.78rem - 1px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.jobs-op-map-all:disabled,
.jobs-op-map-all.is-disabled {
  opacity: 0.85;
  cursor: not-allowed;
  background: #94a3b8;
  color: #f8fafc; /* match .jobs-gf-status--disabled */
}

.jobs-op-map-all:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* Geofence status (Takip Durum sync)  single status + optional fee 50/50 */
.jobs-gf {
  margin-top: 0; /* vertical gap owned by .jobs-res__note-divider */
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.jobs-gf-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.475rem; /* was 0.35rem; +2px total (@16px) */
  align-items: stretch;
}

.jobs-gf-row--solo {
  grid-template-columns: 1fr;
}

/* Depar booking: [Start][status][NoShow]  status keeps the wide middle */
.jobs-gf-row--booking3 {
  grid-template-columns: 1fr 1.6fr 1fr;
}

/* Arrival booking: own 3-col row above the dropoff status row */
.jobs-gf-row--booking {
  grid-template-columns: 1fr 1fr 1fr;
}

/* Booking action buttons  logo red (like the original action bar) */
.jobs-gf-status--booking {
  background: #ed3724;
}

/* Booking action button  sent/done state (direction solid, disabled) */
.jobs-gf-status--booking-done {
  background: var(--jobs-op-border, #64748b);
}

/* Booking action button  in-button loading spinner */
.jobs-gf-status--booking.is-loading {
  cursor: wait;
  opacity: 0.88;
}
.jobs-gf-spin {
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: jobs-gf-spin-rot 0.7s linear infinite;
  vertical-align: middle;
}
@keyframes jobs-gf-spin-rot {
  to {
    transform: rotate(360deg);
  }
}

/* ===== Booking Takip page  1:1 UETDS Takip chrome =====
   Table visuals come from the cloned #bookingTrackTable rules (see clone block below);
   layout reuses .uetds-panel__body / .uetds-grid-wrap directly. */

/* Tabulator zero-height init guard (same fix as UETDS) */
.booking-panel .uetds-grid-wrap {
  min-height: 320px;
}

/* Live refresh hint + auto-send toggle only while Booking Takip is open */
body:not(.booking-open) #bookingTrackPollHint,
body:not(.booking-open) #bookingRuntimeToggles {
  display: none !important;
}


/* Cancelled bookings read as inactive rows (same opacity as Users/UETDS inactive) */
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-inactive {
  opacity: 0.72;
}


.jobs-gf-row > .jobs-gf-status,
.jobs-gf-row > .jobs-rest-collect {
  min-width: 0; /* allow ellipsis inside CSS grid */
}

.jobs-gf-status {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.5rem 0.45rem;
  border: 0;
  border-radius: 0.25rem;
  font-size: calc(0.78rem - 1px);
  font-weight: 400;
  text-align: center;
  line-height: 1.25; /* scales with new font-size */
  cursor: pointer;
  box-sizing: border-box;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.jobs-gf-status--pending {
  background: #ed3724; /* logo red */
}

.jobs-gf-status--ok {
  background: var(--jobs-op-border, #64748b); /* direction solid color */
}

.jobs-gf-status--fail {
  background: #ed3724; /* logo red */
}

.jobs-gf-status--expired {
  background: #78716c;
}

.jobs-gf-status--disabled {
  background: #94a3b8;
  color: #f8fafc;
  cursor: not-allowed;
  opacity: 0.85;
}

@media (hover: hover) and (pointer: fine) {
  .jobs-gf-status:hover:not(.jobs-gf-status--disabled):not(:disabled) {
    filter: brightness(0.88);
  }
}

.jobs-gf-btn {
  margin: 0;
  padding: 0.45rem 0.5rem;
  border: 0;
  border-radius: 0.25rem;
  font-size: 0.8rem;
  font-weight: 400;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.jobs-gf-btn--ok { background: var(--jobs-op-border, #64748b); color: #fff; }
.jobs-gf-btn--fail { background: #ed3724; color: #fff; }
.jobs-gf-btn--undo { background: #0f172a; color: #fff; }
.jobs-gf-btn--muted { background: #e2e8f0; color: #0f172a; }

@media (hover: hover) and (pointer: fine) {
  .jobs-gf-btn:hover:not(:disabled) {
    filter: brightness(0.88);
  }

  .jobs-gf-btn--muted:hover:not(:disabled) {
    filter: brightness(0.94);
  }
}

.jobs-gf-tip {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--ink-soft, #64748b);
}

/* Rest fee  shares row with status (50%) or alone N/A */
.jobs-rest-collect {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.5rem 0.45rem;
  border: 0;
  border-radius: 0.25rem;
  font-size: calc(0.78rem - 1px);
  font-weight: 400;
  text-align: center;
  line-height: 1.25; /* scales with new font-size */
  cursor: pointer;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.jobs-rest-collect--no {
  background: #ed3724; /* logo red  match status pending */
  color: #fff;
}

.jobs-rest-collect--yes {
  background: var(--jobs-op-border, #64748b); /* direction solid color */
  color: #fff;
}

.jobs-rest-collect:disabled {
  opacity: 0.65;
  cursor: wait;
}

@media (hover: hover) and (pointer: fine) {
  .jobs-rest-collect:hover:not(:disabled) {
    filter: brightness(0.88);
  }
}

.jobs-gf-dialog {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  box-sizing: border-box;
}

.jobs-gf-dialog[hidden] { display: none !important; }

.jobs-gf-dialog__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
}

.jobs-gf-dialog__panel {
  position: relative;
  width: min(100%, 28rem);
  max-height: min(32rem, calc(100dvh - 2rem));
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0;
  padding: 0.9rem 0.85rem 0.75rem;
  border-radius: 0.45rem;
  background: #fff;
  box-shadow:
    0 0 0 1px rgba(15, 23, 42, 0.08),
    0 16px 40px rgba(15, 23, 42, 0.28);
  box-sizing: border-box;
}

.jobs-gf-dialog__title {
  font-size: 1rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
}

.jobs-gf-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.65rem;
  justify-content: flex-end;
}

.jobs-gf-dialog__actions .jobs-gf-btn {
  padding-left: calc(0.5rem + 20px);
  padding-right: calc(0.5rem + 20px);
}

.jobs-gf-select,
.jobs-gf-note {
  width: 100%;
  box-sizing: border-box;
  margin-top: 0.35rem;
  padding: 0.45rem 0.5rem;
  border: 1px solid #94a3b8;
  border-radius: 0.3rem;
  font: inherit;
}

.jobs-gf-dialog__reason {
  font-size: 0.8rem;
  color: #64748b;
}

/* Divider above every reservation (full outer width) */
.jobs-res::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(-1 * (var(--jobs-res-div-space-bottom) + 1px));
  height: 1px;
  background: #b8c2cf; /* shared slate dividers (op / res / note) */
  pointer-events: none;
  z-index: 1;
}

.jobs-res__row {
  min-width: 0;
  font-size: calc(12 / 14 * 1rem); /* 12px at 14px root */
  line-height: 1.3;
  color: #000000;
}

.jobs-res__row--head {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr) 70px; /* J27: id + name + phone */
  gap: 0.25rem 0; /* row 0.25rem; column 0 — keep property */
  align-items: baseline;
  font-weight: 700;
}

.jobs-res__id,
.jobs-res__name,
.jobs-res__phone {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jobs-res__id {
  width: 60px;
  min-width: 60px;
  max-width: 60px;
  font-weight: 700;
  text-align: left;
}

.jobs-res__name {
  font-weight: 800;
  text-align: center;
  color: #ed3724; /* logo red — always */
}

.jobs-res__phone {
  width: 70px;
  min-width: 70px;
  max-width: 70px;
  font-weight: 600;
  color: var(--ink-soft);
  text-align: right;
}

.jobs-res__row--route {
  margin-top: 0.15rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px;
  gap: 0;
  align-items: baseline;
  font-weight: 600;
}

.jobs-res__place,
.jobs-res__move-time {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jobs-res__place {
  text-align: left;
}

.jobs-res__move-time {
  width: 40px;
  min-width: 40px;
  max-width: 40px;
  text-align: right;
  color: #ed3724; /* logo red */
  font-weight: 900;
}

.jobs-res__row--meta {
  margin-top: 0.2rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.25rem 0.5rem;
  align-items: baseline;
}

.jobs-res__flight,
.jobs-res__pax,
.jobs-res__rest {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}

.jobs-res__flight {
  text-align: left;
}

/* J21/J23: Arrival + Depar reservation — flight clock only (not flight no) */
.jobs-res__flight-time--accent {
  color: #ed3724; /* logo red */
}

.jobs-res__pax {
  text-align: center;
}

.jobs-res__pax-n {
  color: #ed3724; /* logo red — digits only */
  font-weight: 900;
}

.jobs-res__row--fx {
  margin-top: 0; /* gap owned by .jobs-res__note-divider--fx above */
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.25rem 0.5rem;
  align-items: baseline;
}

.jobs-res__fx {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  color: var(--ink-soft);
}

.jobs-res__fx:nth-child(1) {
  text-align: left;
}

.jobs-res__fx:nth-child(2) {
  text-align: center;
}

.jobs-res__fx:nth-child(3) {
  text-align: right;
}

.jobs-res__row--note {
  margin-top: 0; /* gap owned by .jobs-res__note-divider above */
  display: block;
  min-width: 0;
}

.jobs-res__note {
  display: block;
  min-width: 0;
  font-size: inherit;
  font-weight: 700; /* label + body bold */
  line-height: 1.3;
  color: #000000; /* note present: label + body black */
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.jobs-res__note-label {
  font-weight: 700;
}

.jobs-res__note--empty {
  color: #ed3724; /* logo red */
  font-weight: 700;
}

.jobs-res__note-divider {
  height: 1px;
  margin: 5px 0 7px; /* top 5 / bottom 7 */
  background: #b8c2cf; /* shared slate dividers (op / res / note) */
  pointer-events: none;
}

.jobs-res__note-divider--fx {
  margin-bottom: 6px; /* fare row → FX row */
}

.jobs-res__note-divider--meta {
  margin-bottom: 6px; /* row34: 1px less than default */
}

.jobs-res__note-divider--map-warn {
  margin: 7px 0 4px; /* yellow warn → note */
}

.jobs-res__note-divider--after {
  margin-bottom: 7.5px; /* row4  geofence: +0.5px */
}

.jobs-res__rest {
  text-align: right;
  font-weight: 800;
  color: var(--jobs-op-border, #64748b);
}

.jobs-res__rest--none {
  color: #ed3724;
}

.jobs-op__grid {
  flex: 1 1 auto; /* card is flex (seq strip + optional booking strip) */
  min-width: 0;
  align-self: center;
  display: grid;
  grid-template-columns: 1fr 1.6fr 1fr;
  grid-template-rows: auto auto auto;
  gap: 0.25rem 0.5rem;
  align-items: center;
}

.jobs-op__cell {
  min-width: 0;
  font-size: calc(12 / 14 * 1rem); /* 12px at 14px root */
  line-height: 1.25;
  color: #000000;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jobs-op__cell--code {
  font-weight: 700;
  color: #ed3724; /* logo red — selected card still turns white */
}

.jobs-op__cell--mid {
  text-align: center;
  font-weight: 700;
  color: #000000; /* not direction color */
}

.jobs-op__dir {
  color: inherit;
  font-weight: 800;
}

.jobs-op__cell--type {
  text-align: right;
  font-weight: 700;
  color: #000000; /* Shuttle */
}

.jobs-op--private .jobs-op__cell--type {
  color: #ed3724; /* logo red  Private Transfer */
}

.jobs-op__cell--id {
  font-weight: 600;
}

.jobs-op__cell--time {
  text-align: center;
  font-weight: 700;
  color: #000000;
}

/* Time part inside plate - time cell: logo red + 900 */
.jobs-op__time-accent {
  color: #ed3724;
  font-weight: 900;
}

/* J6: listed GPS plate — logo red + 900 (today only; class set in JS) */
.jobs-op__plate-faulty {
  color: #ed3724;
  font-weight: 900;
}

/* Selected (open) card: time accent turns white (keeps 900) like all cell text */
.jobs-op.is-selected .jobs-op__time-accent {
  color: #ffffff;
}

/* J6: listed plate stays logo red on the open card */
.jobs-op.is-selected .jobs-op__plate-faulty {
  color: #ed3724;
  font-weight: 900;
}

.jobs-op__cell--pax {
  text-align: right;
  font-weight: 800;
}

.jobs-op__pax-n {
  font-weight: 800;
}

/* Row 3: equal 50/50; no wrap  ellipsis when overflow */
.jobs-op__row3 {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  min-width: 0;
  align-items: center;
}

.jobs-op__cell--pickup {
  min-width: 0;
  text-align: left;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jobs-op__cell--rest {
  min-width: 0;
  text-align: right;
  font-weight: 800;
  color: #ed3724; /* logo red — selected card still turns white */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Logo red (#ed3724) when "Rest Yok"  overrides direction color */
.jobs-op__cell--rest-none {
  color: #ed3724;
}

/* ===== Users admin  RAPOR_PANEL Tabulator chrome ===== */
.users-admin {
  --rapor-master-grid-header-bg: #e6e6e6;
  --rapor-gutter: 0.5rem; /* RAPOR_PANEL #report-main  ~8px at 16px root */
  --rapor-toolbar-control-h: 2.125rem;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  margin: 0;
  max-width: none;
  background: #f1f5f9;
}

.users-admin__toolbar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.5rem;
  background: #fff;
  border-bottom: 1px solid #cbd5e1;
}

.users-admin__toolbar-left {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  min-width: 0;
}

.users-admin__title {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  color: #0f172a;
  white-space: nowrap;
}

.users-admin__msg {
  margin: 0;
  font-size: 0.8125rem;
  color: #64748b;
}

.users-admin__msg--error {
  color: var(--danger);
}

.users-admin__add {
  height: 1.75rem;
  padding: 0 0.75rem;
  border: 1px solid #1d4ed8;
  border-radius: 0.25rem;
  background: #2563eb;
  color: #fff;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

.users-admin__add:hover {
  background: #1d4ed8;
  border-color: #1d4ed8;
}

.users-admin__grid-wrap {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: var(--rapor-gutter);
  box-sizing: border-box;
  background: #f1f5f9;
}

#usersTable.tabulator,
#uetdsTable.tabulator {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  /* Same outer chrome as RAPOR_PANEL / Tabulator default (14px header titles) */
  border: 1px solid #999;
  background: #fff;
  border-radius: 0.5rem;
  overflow: hidden;
  font-size: 14px;
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

/* Dense body cells only  header titles keep Tabulator/RAPOR 14px */
#usersTable.tabulator .tabulator-tableholder .tabulator-cell,
#uetdsTable.tabulator .tabulator-tableholder .tabulator-cell {
  font-size: 11px;
}

#usersTable.tabulator > .tabulator-tableholder,
#uetdsTable.tabulator > .tabulator-tableholder {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

/* Tabulator status/footer (pagination)  same chrome as RAPOR_PANEL Tabulator */
#usersTable.tabulator .tabulator-footer,
#uetdsTable.tabulator .tabulator-footer {
  background-color: #e6e6e6;
  border-top: 1px solid #999;
  color: #555;
  font-weight: 700;
  font-size: 14px;
}

#usersTable.tabulator .tabulator-footer .tabulator-footer-contents,
#uetdsTable.tabulator .tabulator-footer .tabulator-footer-contents {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  min-height: 44px;
  padding: 10px 12px;
}

#usersTable.tabulator .tabulator-footer .tabulator-paginator,
#uetdsTable.tabulator .tabulator-footer .tabulator-paginator {
  color: #555;
  flex: 1;
  font: inherit;
  font-weight: inherit;
  text-align: right;
  line-height: 30px;
}

#usersTable.tabulator .tabulator-footer .tabulator-page-counter,
#uetdsTable.tabulator .tabulator-footer .tabulator-page-counter {
  font-weight: 400;
}

/* UETDS: status counts under "Gösterilen ? satır" (same 14px as footer counter) */
#uetdsTable.tabulator .tabulator-footer .tabulator-footer-contents {
  min-height: 56px;
  align-items: center;
}

#uetdsTable.tabulator .tabulator-footer .uetds-footer-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
  max-width: calc(100% - 220px);
}

#uetdsTable.tabulator .tabulator-footer .uetds-footer-status-summary {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  font-size: 14px;
  font-weight: 400;
  color: inherit;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

#uetdsTable.tabulator .tabulator-footer .uetds-footer-status-sep {
  flex: 0 0 auto;
  color: inherit;
  opacity: 0.75;
  user-select: none;
}

#uetdsTable.tabulator .tabulator-footer .uetds-footer-status-item {
  flex: 0 0 auto;
  box-sizing: border-box;
  margin: 0;
  padding: 1px 4px;
  border: none;
  border-radius: 3px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.25;
  cursor: pointer;
}

#uetdsTable.tabulator .tabulator-footer .uetds-footer-status-count {
  font-weight: 900;
}

#uetdsTable.tabulator .tabulator-footer .uetds-footer-status-item:hover {
  background: rgba(15, 23, 42, 0.1);
  text-decoration: underline;
}

#uetdsTable.tabulator .tabulator-footer .uetds-footer-status-item.is-active {
  font-weight: 400;
  background: rgba(15, 23, 42, 0.12);
  text-decoration: none;
}

#uetdsTable.tabulator .tabulator-footer .uetds-footer-status-item.is-active .uetds-footer-status-count {
  font-weight: 900;
}

#uetdsTable.tabulator .tabulator-footer .uetds-footer-status-item:focus-visible {
  outline: 2px solid #1d4ed8;
  outline-offset: 1px;
}

#usersTable.tabulator .tabulator-footer .tabulator-page-size,
#uetdsTable.tabulator .tabulator-footer .tabulator-page-size {
  box-sizing: border-box;
  display: inline-block;
  height: 30px;
  min-height: 30px;
  margin: 0 5px;
  padding: 2px 8px;
  border: 1px solid #aaa;
  border-radius: 3px;
  background: #fff;
  color: #555;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  vertical-align: middle;
}

#usersTable.tabulator .tabulator-footer .tabulator-pages,
#uetdsTable.tabulator .tabulator-footer .tabulator-pages {
  margin: 0 7px;
}

#usersTable.tabulator .tabulator-footer .tabulator-page,
#uetdsTable.tabulator .tabulator-footer .tabulator-page {
  box-sizing: border-box;
  display: inline-block;
  height: 30px;
  min-height: 30px;
  margin: 0 2px;
  padding: 0 10px;
  border: 1px solid #aaa;
  border-radius: 3px;
  background: hsla(0, 0%, 100%, 0.2);
  color: #555;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 28px;
  vertical-align: middle;
}

#usersTable.tabulator .tabulator-footer .tabulator-page.active,
#uetdsTable.tabulator .tabulator-footer .tabulator-page.active {
  color: #d00;
}

#usersTable.tabulator .tabulator-footer .tabulator-page:disabled,
#uetdsTable.tabulator .tabulator-footer .tabulator-page:disabled {
  opacity: 0.5;
}

#usersTable.tabulator .tabulator-footer .tabulator-page:not(:disabled):hover,
#uetdsTable.tabulator .tabulator-footer .tabulator-page:not(:disabled):hover {
  background: rgba(0, 0, 0, 0.2);
  color: #fff;
  cursor: pointer;
}

#usersTable.tabulator > .tabulator-header,
#uetdsTable.tabulator > .tabulator-header {
  overflow: hidden !important;
  background-color: var(--rapor-master-grid-header-bg) !important;
}

#usersTable .tabulator-header .tabulator-col,
#uetdsTable .tabulator-header .tabulator-col {
  background-color: var(--rapor-master-grid-header-bg) !important;
}

#usersTable .tabulator-row.rapor-master-row,
#uetdsTable .tabulator-row.rapor-master-row {
  min-height: 40px !important;
}

/* ID / actions  rapor # sütunu gibi (filtre yok, ba?lık dikey ortalı) */
#usersTable .tabulator-header .tabulator-col.rapor-sira-col,
#uetdsTable .tabulator-header .tabulator-col.rapor-sira-col {
  vertical-align: top;
}

#usersTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-content,
#uetdsTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-content {
  box-sizing: border-box;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: var(--rapor-tabulator-header-inner-h, 100%);
  height: 100%;
  padding: 0 2px !important;
}

#usersTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-title-holder,
#usersTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-title,
#uetdsTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-title-holder,
#uetdsTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-title {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  width: 100%;
  line-height: 1.2;
}

#usersTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-header-filter,
#uetdsTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-header-filter {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

#usersTable .tabulator-tableholder .tabulator-row .tabulator-cell[tabulator-field="id"],
#uetdsTable .tabulator-tableholder .tabulator-row .tabulator-cell[tabulator-field="_seq"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
  justify-content: center !important;
  text-align: center !important;
  font-variant-numeric: tabular-nums;
}

#usersTable.tabulator .tabulator-tableholder .tabulator-row .tabulator-cell,
#uetdsTable.tabulator .tabulator-tableholder .tabulator-row .tabulator-cell {
  padding-left: 15px;
  padding-right: 15px;
  cursor: default;
}

#usersTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell,
#uetdsTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell {
  line-height: 32px;
  border-bottom: 1px solid #94a3b8 !important;
  color: #000;
}

#usersTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell,
#uetdsTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell {
  background-color: #efefef !important;
}

#usersTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell,
#uetdsTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell {
  background-color: #ffffff !important;
}

#usersTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell,
#uetdsTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell {
  background-color: #bbb !important;
}

#usersTable.tabulator .tabulator-row.rapor-master-row.is-inactive {
  opacity: 0.72;
}

/* ===== FilterDropdown (RAPOR_PANEL) ===== */
.filter-dropdown-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  width: 100%;
  box-sizing: border-box;
  height: var(--rapor-toolbar-control-h, 2.125rem);
  min-height: var(--rapor-toolbar-control-h, 2.125rem);
  max-height: var(--rapor-toolbar-control-h, 2.125rem);
  border: 1px solid #1d4ed8;
  background: #fff;
  color: #1e293b;
  border-radius: 0.25rem;
  padding: 0 0.5rem;
  font-size: 11px;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}

.filter-dropdown-trigger:hover {
  background: #f8fafc;
}

.filter-dropdown-trigger-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  flex: 1 1 auto;
}

.filter-dropdown-trigger-caret {
  flex-shrink: 0;
  font-size: 0.65rem;
  color: #64748b;
  line-height: 1;
}

.filter-dropdown-panel {
  position: fixed;
  z-index: 10050;
  display: flex;
  flex-direction: column;
  width: max-content;
  background: #fff;
  border: 1px solid #1d4ed8;
  border-radius: 0.25rem;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.22);
  overflow: hidden;
}

/* Must beat .filter-dropdown-panel (10050) and .rest-handover-dialog (12000). */
.filter-dropdown-panel.filter-dropdown-panel--over-dialog {
  z-index: 13050;
}

.filter-dropdown-panel.hidden {
  display: none !important;
}

.filter-dropdown-list {
  flex: 1 1 auto;
  max-height: 14rem;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* Option row  Takip / RAPOR plain filter (label +  right; status panel overrides) */
.filter-dropdown-option {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border: none;
  border-bottom: 1px solid #cbd5e1;
  background: transparent;
  color: #1e293b;
  text-align: left;
  padding: 0.4rem 15px;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.35;
  cursor: pointer;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.filter-dropdown-list > .filter-dropdown-option:last-child {
  border-bottom: none;
}

.filter-dropdown-option-label {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}

.filter-dropdown-option-check {
  flex: 0 0 auto;
  margin-left: 0.5rem;
  line-height: 1.35;
}

.filter-dropdown-option-check:empty {
  display: none;
}

/* Plain filter (Tip etc.): count sits to the right of the label with a gap */
.filter-dropdown-option-count {
  flex: 0 0 auto;
  margin-left: 0.75rem;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  line-height: 1.35;
  text-align: right;
  min-width: 1.25rem;
  color: #334155;
}

.filter-dropdown-option:hover {
  background: #f1f5f9;
}

.filter-dropdown-option--selected {
  background: #e2e8f0;
  font-weight: 400;
}

.filter-dropdown-footer {
  flex-shrink: 0;
  border-top: 1px solid #cbd5e1;
  background: #f1f5f9;
  color: #334155;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.35rem 0.5rem;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}

.filter-dropdown-footer.hidden {
  display: none !important;
}

/* Header filters  exact RAPOR_PANEL #report-table rules (Users + UETDS) */
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter {
  margin-top: 2px;
  padding: 0 1px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
}

#usersTable .tabulator-header .tabulator-col .tabulator-header-filter > input,
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter > .rapor-header-filter-dropdown-wrap,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter > input,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter > .rapor-header-filter-dropdown-wrap {
  width: 100%;
  min-width: 0;
  flex: 1 1 auto;
}

#usersTable .tabulator-header .tabulator-col .tabulator-header-filter input.tabulator-header-filter,
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter input[type="text"],
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter input.tabulator-header-filter,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter input[type="text"] {
  box-sizing: border-box;
  width: 100%;
  height: 1.625rem;
  min-height: 1.625rem;
  max-height: 1.625rem;
  margin: 0;
  display: block;
  border: 1px solid #1d4ed8;
  border-radius: 0.25rem;
  padding: 0 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  background: #fff;
  color: #1e293b;
}

/* Disabled header filters  RAPOR_PANEL parity */
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter input.rapor-header-filter-disabled,
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter input:disabled,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter input.rapor-header-filter-disabled,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter input:disabled {
  cursor: not-allowed;
  opacity: 0.72;
  border: 1px solid #cbd5e1;
  background-color: #f1f5f9;
  color: #94a3b8;
}

#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .rapor-header-filter-dropdown-wrap,
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter .rapor-header-filter-dropdown-wrap,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact {
  width: 100%;
  max-width: 100%;
}

#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact .filter-dropdown-trigger,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact .filter-dropdown-trigger {
  height: 1.625rem;
  min-height: 1.625rem;
  max-height: 1.625rem;
  margin: 0;
  padding: 0 0.25rem;
  justify-content: center;
}

#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact .filter-dropdown-trigger-label,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact .filter-dropdown-trigger-label {
  display: none;
}

#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--filtered .filter-dropdown-trigger,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--filtered .filter-dropdown-trigger {
  border-color: #dd6f00;
  background: #fff7ed;
}

#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--filtered .filter-dropdown-trigger-caret,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--filtered .filter-dropdown-trigger-caret {
  color: #dd6f00;
  font-weight: 700;
}

#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled .filter-dropdown-trigger,
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--disabled .filter-dropdown-trigger,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled .filter-dropdown-trigger,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--disabled .filter-dropdown-trigger {
  cursor: not-allowed;
  opacity: 0.72;
  border-color: #cbd5e1;
  background-color: #f1f5f9;
  color: #94a3b8;
}

#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled.filter-dropdown-root--filtered .filter-dropdown-trigger,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled.filter-dropdown-root--filtered .filter-dropdown-trigger {
  border-color: #cbd5e1;
  background-color: #f1f5f9;
}

#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled .filter-dropdown-trigger-caret,
#uetdsTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled .filter-dropdown-trigger-caret {
  color: #94a3b8;
  font-weight: 400;
}

#usersTable .tabulator-header .tabulator-col .tabulator-col-content,
#uetdsTable .tabulator-header .tabulator-col .tabulator-col-content {
  cursor: pointer;
}

/* Sütun ba?lık metni  RAPOR ile aynı (filtre satırına dokunulmaz) */
#usersTable.tabulator .tabulator-header .tabulator-col:not(.rapor-sira-col) .tabulator-col-title,
#uetdsTable.tabulator .tabulator-header .tabulator-col:not(.rapor-sira-col) .tabulator-col-title {
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  cursor: pointer;
}

.users-admin__actions {
  display: flex;
  gap: 6px;
  align-items: center;
  height: 100%;
}

/* Header follow-cursor tooltip (black / white) */
.users-follow-tip {
  position: fixed;
  z-index: 20000;
  max-width: min(280px, calc(100vw - 16px));
  padding: 0.4rem 0.55rem;
  background: #000000;
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  border-radius: 4px;
  pointer-events: none;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  white-space: normal;
}

.users-follow-tip[hidden] {
  display: none !important;
}

/* UETDS body cells: longer full-value tips (driver / route labels) */
#uetdsCellFollowTip.uetds-cell-follow-tip {
  max-width: min(420px, calc(100vw - 16px));
  white-space: pre-wrap;
}

.users-status-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  line-height: 0;
}

.users-status-icon svg {
  width: 1.15rem;
  height: 1.15rem;
  display: block;
}

.users-status-icon--on {
  color: #16a34a;
}

.users-status-icon--off {
  color: #dc2626;
}

#usersTable.tabulator .tabulator-tableholder .tabulator-row .tabulator-cell.users-actions-col,
#usersTable.tabulator .tabulator-tableholder .tabulator-row .tabulator-cell[tabulator-field="_actions"] {
  padding: 0 !important;
  overflow: hidden;
}

.users-row-btn {
  height: 22px;
  padding: 0 0.5rem;
  border: 1px solid #94a3b8;
  border-radius: 0.25rem;
  background: #fff;
  color: #0f172a;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}

.users-row-btn:hover {
  background: #f8fafc;
}

.users-row-btn--update {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 100%;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: #16a34a;
  color: #fff;
  font-size: inherit;
  font-weight: 700;
  line-height: 1;
  box-sizing: border-box;
}

.users-row-btn--update:hover {
  background: #15803d;
  color: #fff;
}

.users-row-btn--mute {
  color: #b91c1c;
  border-color: #fca5a5;
}

.users-row-btn--accent {
  color: #fff;
  background: #2563eb;
  border-color: #2563eb;
}

.users-row-btn--accent:hover {
  background: #1d4ed8;
  border-color: #1d4ed8;
}

.user-editor__field input,
.user-editor__field select {
  height: 38px;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  padding: 0 0.75rem;
  font: inherit;
  background: var(--surface);
  color: var(--ink);
}

.user-editor {
  position: fixed;
  inset: 0;
  z-index: 13050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  box-sizing: border-box;
}

.user-editor[hidden] {
  display: none !important;
}

.user-editor__backdrop {
  position: absolute;
  inset: 0;
  background: var(--users-editor-backdrop);
}

.user-editor__panel {
  position: relative;
  width: min(720px, calc(100vw - 24px));
  max-height: calc(100dvh - 48px);
  overflow: auto;
  margin: 0;
  padding: 1rem 1.1rem;
  border: 1px solid var(--accent-soft);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: 0 18px 48px var(--glow);
  box-sizing: border-box;
}

.user-editor__title {
  margin: 0 0 0.85rem;
  font-size: 1.05rem;
}

.user-editor__form {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 0.75rem;
}

.user-editor__field {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--ink-soft);
}

.user-editor__check {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.9rem;
  font-weight: 600;
  align-self: end;
  padding-bottom: 0.35rem;
}

.user-editor__actions {
  grid-column: 1 / -1;
  display: flex;
  gap: 0.55rem;
  margin-top: 0.25rem;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }

/* Smaller root rem  logo/features (rem-based) scale down together */
html {
  font-size: 14px;
}

body.auth-page {
  height: 100%;
  min-height: 100dvh;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--bg0);
  overflow: hidden;
}

.auth-split {
  width: 100%;
  height: 100dvh;
  display: grid;
  grid-template-columns: 1fr;
}

/* ===== LEFT: full-bleed photo + brand on TOP (vehicle in photo BOTTOM, faces right) ===== */
.auth-left {
  display: none;
  position: relative;
  overflow: hidden;
  /* soft blue wash (same family as accent) */
  background: color-mix(in srgb, var(--accent) 24%, #ffffff);
}

.auth-left__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hero-object-position);
  display: block;
}

.auth-left__photo.is-flipped-x {
  transform: scaleX(-1);
}

.auth-left__map {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 32%;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

.auth-left__map-roads {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.auth-left__pin {
  position: absolute;
  width: 30px;
  height: 40px;
  margin-left: -15px;
  margin-top: -40px;
}

.auth-left__copy {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: clamp(3rem, 8vh, 5.5rem) 1.5rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
}

.brand-mark {
  margin: 0 auto;
  width: 100%;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(5.2rem, 8vw, 7.2rem);
  line-height: 0.88;
  letter-spacing: -0.055em;
  color: var(--ink);
  text-align: center;
}

.brand-sub {
  margin: 0.75rem auto 0;
  width: 100%;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  /* optical center: letter-spacing pushes text left visually */
  padding-left: 0.28em;
  color: var(--ink);
  text-align: center;
}

/* Logo width = same as one row of 3 feature circles (3*5.9rem + 2*1.4rem) */
.auth-left__stack {
  --feature-item-w: 5.9rem;
  --feature-gap: 1.4rem;
  --features-row-w: calc(3 * var(--feature-item-w) + 2 * var(--feature-gap));
  width: var(--features-row-w);
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2.25rem;
}

.auth-left__logo-wrap {
  /* Align with outer edges of the 54px circles (not the full label column) */
  --feature-circle: 54px;
  width: calc(
    2 * var(--feature-item-w) + 2 * var(--feature-gap) + var(--feature-circle)
  );
  max-width: 100%;
  margin-inline: auto;
  display: flex;
  justify-content: center;
}

.auth-left__logo {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 7px;
}

.auth-features-grid {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.15rem;
}

.auth-features {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--feature-gap);
}

.auth-features li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem;
  width: var(--feature-item-w);
  flex: 0 0 var(--feature-item-w);
  text-align: center;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--accent);
  line-height: 1.25;
}

.auth-features__circle {
  width: 54px;
  height: 54px;
  border: 2px solid var(--accent);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--accent);
  background: rgba(255, 255, 255, 0.72);
}

.auth-features__circle svg {
  width: 26px;
  height: 26px;
}

/* ===== RIGHT ===== */
.auth-right {
  min-height: 100dvh;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: var(--bg0);
}

.auth-right__stack {
  width: min(100%, 430px);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
}

.auth-copyright {
  margin: 0.15rem 0 0;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.02em;
}

/* Mobile-only logo above card (desktop uses left panel logo) */
.auth-mobile-logo {
  display: none;
  width: 100%;
}

.auth-mobile-logo__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 7px;
}

.auth-card {
  width: 100%;
  height: auto; /* no fixed height  size to content */
  background: var(--surface);
  border: 1.5px solid var(--accent-soft);
  border-radius: var(--radius-panel);
  box-shadow: 0 16px 40px var(--glow);
  padding: 26px 1.85rem 26px;
}

.auth-card__lang {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
  color: var(--muted);
  margin-bottom: 1rem;
}

.auth-card__title {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--ink);
  text-align: left;
}

.auth-card__hint {
  margin: 0 0 1rem;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--ink-soft);
}

#forgotDigito {
  --digito-size: 48px;
  --digito-gap: 8px;
  --digito-font-size: 22px;
  --digito-radius: 10px;
  display: flex;
  justify-content: center;
  margin: 0.15rem 0 0.7rem;
}
#forgotDigito .digito-timer,
#forgotDigito .digito-resend {
  display: none !important;
}
#forgotDigito .digito-content {
  padding-top: 0;
}
#forgotDigito .digito-hidden-input {
  font-size: 16px !important;
  opacity: 0.02 !important;
  color: transparent !important;
}
.forgot-otp-wait {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--muted);
  text-align: center;
}
#forgotResendBtn {
  display: block;
  width: 100%;
  margin-bottom: 0.55rem;
}

.auth-card__globe { width: 18px; height: 18px; }

.lang-switch {
  display: flex;
  align-items: center;
  gap: 0.15rem;
}

.lang-switch button {
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  padding: 0.25rem 0.3rem;
}

.lang-switch button.is-active { color: var(--accent); }
.lang-switch__sep { color: var(--line); font-size: 0.9rem; }

/* App header (black bar)  light language switch on the right */
.app-header .lang-switch--header[hidden],
html.driver-session #appHeaderLangSwitch {
  display: none !important;
}

.app-header .lang-switch--header {
  flex-shrink: 0;
  gap: 0.1rem;
  position: relative;
}

.app-header .lang-switch__inline {
  display: flex;
  align-items: center;
  gap: 0.1rem;
}

.app-header .lang-switch__menu {
  display: none;
  position: relative;
}

.app-header .lang-switch--header button[data-locale] {
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.78rem;
  padding: 0.2rem 0.28rem;
}

.app-header .lang-switch--header button[data-locale]:hover {
  color: #ffffff;
}

.app-header .lang-switch--header button[data-locale].is-active {
  color: #ffffff;
}

.app-header .lang-switch--header .lang-switch__sep {
  color: rgba(255, 255, 255, 0.28);
  font-size: 0.75rem;
}

/* Mobile compact language menu (header only) */
.app-header .lang-switch__trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.28rem;
  height: 33px;
  min-width: 3.1rem;
  padding: 0 0.45rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 0.35rem;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  cursor: pointer;
}

.app-header .lang-switch__trigger:hover,
.app-header .lang-switch__trigger.is-open {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.45);
}

.app-header .lang-switch__trigger-caret {
  font-size: 0.65rem;
  opacity: 0.85;
  line-height: 1;
}

.app-header .lang-switch__panel {
  position: absolute;
  top: calc(100% + 0.35rem);
  left: 0;
  right: auto;
  z-index: 12000;
  margin: 0;
  padding: 0.25rem;
  list-style: none;
  min-width: 4.5rem;
  background: #111111;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 0.4rem;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45);
}

.app-header .lang-switch__panel[hidden] {
  display: none !important;
}

.app-header .lang-switch__panel li {
  margin: 0;
  padding: 0;
}

.app-header .lang-switch__panel button[data-locale] {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.55rem;
  border-radius: 0.3rem;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.82rem;
  font-weight: 800;
}

.app-header .lang-switch__panel button[data-locale]:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.app-header .lang-switch__panel button[data-locale].is-active {
  background: #16a34a;
  color: #ffffff;
}

.field { margin-bottom: 1.25rem; }
.field label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--ink);
}

.field-control {
  position: relative;
  display: flex;
  align-items: center;
}

.field-control__icon {
  position: absolute;
  left: 0.8rem;
  width: 16px;
  height: 16px;
  color: var(--muted);
  pointer-events: none;
}

.field-control__icon svg,
.field-control__toggle svg {
  width: 16px;
  height: 16px;
  display: block;
}

.field-control input {
  width: 100%;
  min-height: 44px;
  border: 1.5px solid var(--accent-soft);
  border-radius: var(--radius-control);
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 0.82rem;
  padding: 0.6rem 2.4rem 0.6rem 2.35rem;
}

.field-control--plain input {
  padding-left: 0.85rem;
  padding-right: 0.85rem;
}

.field-control input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--glow);
}

.field-control__toggle {
  position: absolute;
  right: 0.35rem;
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  display: grid;
  place-items: center;
  border-radius: 10px;
}

.btn {
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: var(--radius-control);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 750;
  cursor: pointer;
}

.btn-primary {
  /* equal to .field margin-bottom  inputinput and inputsubmit match */
  margin-top: 0;
  margin-bottom: 0;
  background: var(--accent);
  color: var(--accent-text);
}

#loginForm > .field:last-of-type {
  margin-bottom: 0.35rem;
}

.auth-login-rule {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 0.55rem;
  margin-bottom: calc(12 / 14 * 1rem);
  border: 0;
  background: var(--accent-soft);
}

.auth-login-meta {
  margin-top: 0;
  margin-bottom: 0;
}

/* 12px at html 14px → 12/14 rem; only the rule under remember/forgot */
.auth-login-meta + .auth-login-rule {
  margin-top: calc(13 / 14 * 1rem);
  margin-bottom: calc(16 / 14 * 1rem);
}

.auth-row-2:empty {
  margin-top: 0;
  min-height: 0;
}
.btn-primary:hover { background: var(--accent-press); }

.btn-ghost {
  margin-top: 0.55rem;
  background: transparent;
  color: var(--ink-soft);
  border: 1.5px solid var(--line);
  font-size: 0.82rem;
}

.btn-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  background: transparent;
  color: var(--accent);
  font-size: 0.8rem;
  font-weight: 700;
  min-height: 0;
  padding: 0.35rem 0 0;
  border: 0;
  cursor: pointer;
  font-family: inherit;
}

.btn-link svg {
  width: 15px;
  height: 15px;
}

.auth-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.4rem;
}

.auth-bilgi-wrap {
  margin: 0.45rem 0 0;
  text-align: center;
}

.auth-bilgi-link {
  color: var(--accent);
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
}

.auth-bilgi-link:hover {
  color: var(--accent-press);
  text-decoration: underline;
}

.auth-after-or {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 0;
  min-height: 18px;
}

.btn-link.auth-new-user {
  width: auto;
  justify-content: flex-start;
  padding: 0;
  text-align: left;
  line-height: 1;
  height: 18px;
  gap: 0.35rem;
}

.btn-link.auth-new-user:hover {
  color: var(--accent-press);
  text-decoration: underline;
}

.auth-remember {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  justify-self: start;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--accent);
  cursor: pointer;
  user-select: none;
}

.auth-remember input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 15px;
  height: 15px;
  margin: 0;
  padding: 0;
  flex: 0 0 15px;
  box-sizing: border-box;
  border: 2px solid var(--accent);
  border-radius: 3px;
  background: #fff;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.auth-remember input[type="checkbox"]::before {
  content: "";
  width: 8px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg) translate(0.5px, -0.5px);
  opacity: 0;
}

.auth-remember input[type="checkbox"]:checked {
  background: var(--accent);
  border-color: var(--accent);
}

.auth-remember input[type="checkbox"]:checked::before {
  opacity: 1;
}

.auth-remember input[type="checkbox"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--glow);
}

.auth-row-2__right {
  width: auto;
  justify-self: end;
  justify-content: flex-end;
  padding: 0;
  white-space: nowrap;
}

.auth-divider {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: calc(10 / 14 * 1rem) 0 calc(3 / 14 * 1rem);
  color: var(--accent);
  font-size: 0.72rem;
  line-height: 1;
  height: 16px;
  box-sizing: border-box;
}
.auth-divider::before,
.auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--accent-soft);
}

.msg {
  margin: 0.4rem 0 0;
  min-height: 0;
  text-align: center;
  color: var(--danger);
  font-size: 0.8rem;
}

.msg:empty {
  display: none;
}

.panel-hidden { display: none !important; }

@media (min-width: 900px) {
  .auth-split {
    grid-template-columns: 1fr 1fr;
    height: 100dvh;
    width: 100vw;
  }

  .auth-left {
    display: block;
    height: 100dvh;
    /* allow rightward shadow to show over the form side */
    overflow: visible;
    z-index: 2;
    border: 1.5px solid color-mix(in srgb, var(--accent) 78%, #ffffff);
    box-shadow: 18px 0 40px var(--glow);
    background: color-mix(in srgb, var(--accent) 28%, #ffffff);
  }

  /* light blue veil over hero photo */
  .auth-left::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: color-mix(in srgb, var(--accent) 22%, transparent);
  }

  .auth-right {
    height: 100dvh;
    min-height: 100dvh;
    padding: 2rem;
  }

  .auth-right__stack {
    width: min(100%, 440px);
  }

  .auth-card {
    width: 100%;
    padding: 28px 2rem 28px;
  }
}

@media (max-width: 899px) {
  .app-header {
    padding-left: 5px;
    padding-right: 5px;
  }

  /* Jobs mobile: locked viewport; main scrolls between header and footer */
  body.jobs-open .app-shell {
    height: 100dvh;
    max-height: 100dvh;
    min-height: 0;
  }

  body.jobs-open .app-header {
    position: relative;
    top: auto;
    z-index: 50;
  }

  body.jobs-open .app-main {
    flex: 1 1 auto;
    min-height: 0;
  }

  body.jobs-open .app-footer {
    position: relative;
    bottom: auto;
    z-index: 50;
    margin-top: 0;
  }

  /* Rest Takip / Rest Kasa is desktop-only */
  #appRestTrackBtn,
  #appRestKasaBtn {
    display: none !important;
  }

  body.auth-page { overflow: auto; }
  .auth-right {
    min-height: 100dvh;
    align-items: center;
    padding: calc(1.25rem + var(--app-safe-top, 0px)) 1.85rem calc(1.25rem + var(--app-safe-bottom, 0px));
  }
  .auth-right__stack {
    gap: 1.45rem;
  }
  .auth-mobile-logo {
    display: block;
  }
  /* Keep card surface, border, shadow and horizontal padding on mobile */
  .auth-card {
    background: var(--surface);
    border: 1.5px solid var(--accent-soft);
    box-shadow: 0 16px 40px var(--glow);
    padding: 26px 1.85rem 26px;
  }

  /* Header: compact language dropdown on mobile */
  .app-header .lang-switch__inline {
    display: none;
  }
  .app-header .lang-switch__menu {
    display: block;
  }

  .app-header__logo--desktop {
    display: none;
  }
  .app-header__logo--mobile {
    display: block;
  }

  /* Staff desktop chrome: hide on mobile */
  .app-header__staff-screen,
  .app-header__track,
  .app-header__users-add,
  .app-header__fullscreen,
  .app-header__reset-filters {
    display: none !important;
  }

  /* Mobile logout: X only */
  .app-header__logout {
    width: var(--app-header-logout-h);
    min-width: var(--app-header-logout-h);
    padding: 0;
  }
  .app-header__logout-text {
    display: none;
  }
  .app-header__logout-x {
    display: inline-block;
  }
}

/* uetds-status-filter-panel sync */

/* v25-check-right */

/* >>> BOOKINGTRACK-UETDS-CLONE-START */
/* 1:1 clone of every #uetdsTable rule for #bookingTrackTable (Booking Takip visual identity). */
/* Shared Tabulator chrome with #usersTable  see rules below (#usersTable, #bookingTrackTable). */
#bookingTrackTable .tabulator-row.is-dropped {
  opacity: 0.72;
}
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row,
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row .tabulator-cell {
  cursor: pointer !important;
}
/* Error rows  logo red @ 15% (status / seq keep own fill) */
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-error > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="_seq"]),
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-error:not(.tabulator-row-even) > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="_seq"]),
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-error.tabulator-row-even > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="_seq"]) {
  background-color: rgba(237, 55, 36, 0.15) !important;
}
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-error:hover > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="_seq"]) {
  background-color: rgba(237, 55, 36, 0.22) !important;
}
/* Sending row  amber band; skip already-colored columns (status / yon / pdf / send / stage-success) */
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-sending > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="yon"]):not([tabulator-field="pdfPath"]):not([tabulator-field="_send"]),
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-sending:not(.tabulator-row-even) > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="yon"]):not([tabulator-field="pdfPath"]):not([tabulator-field="_send"]),
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-sending.tabulator-row-even > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="yon"]):not([tabulator-field="pdfPath"]):not([tabulator-field="_send"]) {
  background-color: #fef3c7 !important;
}
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-sending:hover > .tabulator-cell:not([tabulator-field="status"]):not([tabulator-field="yon"]):not([tabulator-field="pdfPath"]):not([tabulator-field="_send"]) {
  background-color: #fde68a !important;
}
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-sending > .tabulator-cell[tabulator-field="stage"]:has(.uetds-stage-success),
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-sending:hover > .tabulator-cell[tabulator-field="stage"]:has(.uetds-stage-success) {
  background-color: transparent !important;
}
/*
 * Sending lock: CSS pseudo-elements (Tabulator cells were painting over DOM overlay).
 * ::before = light veil + click catcher; ::after = centered spinner.
 */
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-sending {
  position: relative !important;
  overflow: visible !important;
  cursor: wait !important;
}
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-sending > .tabulator-cell {
  pointer-events: none !important;
  cursor: wait !important;
}
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-sending::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
  background: rgba(15, 23, 42, 0.14);
  pointer-events: auto;
  cursor: wait;
}
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.is-sending::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 41;
  width: 26px;
  height: 26px;
  margin: -13px 0 0 -13px;
  box-sizing: border-box;
  border: 3px solid rgba(255, 255, 255, 0.85);
  border-top-color: #b45309;
  border-radius: 50%;
  background: rgba(254, 243, 199, 0.95);
  box-shadow: 0 0 0 1px rgba(180, 83, 9, 0.35);
  animation: app-loading-spin 0.75s linear infinite;
  pointer-events: none;
}
#bookingTrackTable .tabulator-tableholder .tabulator-row .tabulator-cell:not([tabulator-field="_send"]):not([tabulator-field="pdfPath"]):not([tabulator-field="status"]) {
  overflow: hidden;
  white-space: nowrap;
}
#bookingTrackTable .uetds-cell-text {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  vertical-align: bottom;
}
#bookingTrackTable .uetds-driver-cell {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  vertical-align: bottom;
}
#bookingTrackTable .uetds-driver-code {
  font-weight: 700;
  color: #ed3724; /* logo red  operation code at cell start */
}
#bookingTrackTable .uetds-driver-name {
  font-weight: 400;
}
#bookingTrackTable .uetds-driver-meta {
  font-weight: 400;
  opacity: 0.78;
  letter-spacing: 0.02em;
}
#bookingTrackTable .uetds-status-fill--Blocked.uetds-status--clickable,
#bookingTrackTable .uetds-status-fill--Failed.uetds-status--clickable {
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
#bookingTrackTable .uetds-status--has-error {
  cursor: help;
}
/* Status color fills the entire cell */
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="status"] {
  padding: 0 !important;
  overflow: hidden;
}
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="status"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell[tabulator-field="status"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell[tabulator-field="status"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell[tabulator-field="status"] {
  background-color: transparent !important;
}
#bookingTrackTable .uetds-status-fill {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 40px;
  padding: 0 2px;
  /* Match .uetds-send-btn font-size */
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  /* Truncation uses JS two-dot ".." (not CSS ellipsis) */
}
/* Seq (#): direction-color fill + white text; full-bleed like Yön */
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="_seq"] {
  padding: 0 !important;
  overflow: hidden;
}
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="_seq"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell[tabulator-field="_seq"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell[tabulator-field="_seq"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell[tabulator-field="_seq"] {
  background-color: transparent !important;
}
#bookingTrackTable .booking-seq-fill {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 40px;
  padding: 0;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  color: #fff;
  font-variant-numeric: tabular-nums;
}

/* Yön: solid takip direction color (border) fills cell; white text (field=direction) */
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="direction"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="yon"] {
  padding: 0 !important;
  overflow: hidden;
}
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="direction"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell[tabulator-field="direction"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell[tabulator-field="direction"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell[tabulator-field="direction"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field="yon"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell[tabulator-field="yon"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell[tabulator-field="yon"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell[tabulator-field="yon"] {
  background-color: transparent !important;
}
#bookingTrackTable .uetds-yon-fill {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 40px;
  padding: 0 2px;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  color: #fff;
}
#bookingTrackTable .uetds-status-fill--Pending { background: #e2e8f0; color: #334155; }
#bookingTrackTable .uetds-status-fill--Ready { background: #dbeafe; color: #1d4ed8; }
#bookingTrackTable .uetds-status-fill--Sending { background: #fef3c7; color: #b45309; }
/* Sent / Gönderildi: same solid green as PDF + stage "Ba?arılı" */
#bookingTrackTable .uetds-status-fill--Sent { background: #16a34a; color: #fff; }
#bookingTrackTable .uetds-status-fill--Blocked { background: #ffedd5; color: #c2410c; }
#bookingTrackTable .uetds-status-fill--Failed { background: #fee2e2; color: #b91c1c; }
#bookingTrackTable .uetds-status-fill--Excluded { background: #f1f5f9; color: #64748b; }
/* Soru 97: virtual Sent buckets */
#bookingTrackTable .uetds-status-fill--NeedsResend {
  background: #ea580c;
  color: #fff;
}
#bookingTrackTable .uetds-status-fill--SentUpdated {
  background: #16a34a;
  color: #fff;
  box-shadow: inset 0 0 0 2px #1d4ed8;
}
#bookingTrackTable .uetds-status-fill--dropped {
  box-shadow: inset 0 0 0 2px #9d174d;
}
/* Soru 84/97: Sent + UpdatedOnUetds (legacy class kept) */
#bookingTrackTable .uetds-status-fill--updated {
  box-shadow: inset 0 0 0 2px #1d4ed8;
}
/* Soru 81: soft retry cap exhausted */
#bookingTrackTable .uetds-status-fill--retry-cap {
  box-shadow: inset 0 0 0 2px #b45309;
}
/* PDF column: fixed 50px, button fills cell */
#bookingTrackTable .tabulator-header .tabulator-col.uetds-pdf-col .tabulator-col-content {
  justify-content: center;
}
#bookingTrackTable .tabulator-tableholder .tabulator-row .tabulator-cell[tabulator-field="pdfPath"] {
  padding: 0 !important;
  justify-content: stretch !important;
  align-items: stretch !important;
}
/* Stage "Ba?arılı": same green fill as enabled PDF button */
#bookingTrackTable .tabulator-tableholder .tabulator-row .tabulator-cell[tabulator-field="stage"]:has(.uetds-stage-success) {
  padding: 0 !important;
  justify-content: stretch !important;
  align-items: stretch !important;
}
#bookingTrackTable .uetds-stage-success {
  display: flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 32px;
  margin: 0;
  padding: 0;
  background: #16a34a;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
/* Enabled PDF: same as .jobs-date-btn.is-active (NOT :hover darker green) */
#bookingTrackTable .uetds-pdf-btn {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 32px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: #16a34a !important;
  color: #fff !important;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
}
#bookingTrackTable .uetds-pdf-btn:hover:not(:disabled) {
  background: #15803d !important;
}
#bookingTrackTable .uetds-pdf-btn:disabled {
  background: #94a3b8 !important;
  color: #f1f5f9 !important;
  opacity: 1;
  cursor: not-allowed;
}
/* Manual Send column: fixed 75px, button fills cell */
#bookingTrackTable .tabulator-header .tabulator-col.uetds-send-col .tabulator-col-content {
  justify-content: center;
}
#bookingTrackTable .tabulator-tableholder .tabulator-row .tabulator-cell[tabulator-field="_send"] {
  padding: 0 !important;
  justify-content: stretch !important;
  align-items: stretch !important;
}
#usersTable.tabulator,
#bookingTrackTable.tabulator {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  /* Same outer chrome as RAPOR_PANEL / Tabulator default (14px header titles) */
  border: 1px solid #999;
  background: #fff;
  border-radius: 0.5rem;
  overflow: hidden;
  font-size: 14px;
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
/* Dense body cells only  header titles keep Tabulator/RAPOR 14px */
#usersTable.tabulator .tabulator-tableholder .tabulator-cell,
#bookingTrackTable.tabulator .tabulator-tableholder .tabulator-cell {
  font-size: 11px;
}
#usersTable.tabulator > .tabulator-tableholder,
#bookingTrackTable.tabulator > .tabulator-tableholder {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
/* Tabulator status/footer (pagination)  same chrome as RAPOR_PANEL Tabulator */
#usersTable.tabulator .tabulator-footer,
#bookingTrackTable.tabulator .tabulator-footer {
  background-color: #e6e6e6;
  border-top: 1px solid #999;
  color: #555;
  font-weight: 700;
  font-size: 14px;
}
#usersTable.tabulator .tabulator-footer .tabulator-footer-contents,
#bookingTrackTable.tabulator .tabulator-footer .tabulator-footer-contents {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  min-height: 44px;
  padding: 10px 12px;
}
#usersTable.tabulator .tabulator-footer .tabulator-paginator,
#bookingTrackTable.tabulator .tabulator-footer .tabulator-paginator {
  color: #555;
  flex: 1;
  font: inherit;
  font-weight: inherit;
  text-align: right;
  line-height: 30px;
}
#usersTable.tabulator .tabulator-footer .tabulator-page-counter,
#bookingTrackTable.tabulator .tabulator-footer .tabulator-page-counter {
  font-weight: 400;
}
/* UETDS: status counts under "Gösterilen ? satır" (same 14px as footer counter) */
#bookingTrackTable.tabulator .tabulator-footer .tabulator-footer-contents {
  min-height: 56px;
  align-items: center;
}
#bookingTrackTable.tabulator .tabulator-footer .uetds-footer-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
  max-width: calc(100% - 220px);
}
#bookingTrackTable.tabulator .tabulator-footer .uetds-footer-status-summary {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  font-size: 14px;
  font-weight: 400;
  color: inherit;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
#bookingTrackTable.tabulator .tabulator-footer .uetds-footer-status-sep {
  flex: 0 0 auto;
  color: inherit;
  opacity: 0.75;
  user-select: none;
}
#bookingTrackTable.tabulator .tabulator-footer .uetds-footer-status-item {
  flex: 0 0 auto;
  box-sizing: border-box;
  margin: 0;
  padding: 1px 4px;
  border: none;
  border-radius: 3px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.25;
  cursor: pointer;
}
#bookingTrackTable.tabulator .tabulator-footer .uetds-footer-status-count {
  font-weight: 900;
}
#bookingTrackTable.tabulator .tabulator-footer .uetds-footer-status-item:hover {
  background: rgba(15, 23, 42, 0.1);
  text-decoration: underline;
}
#bookingTrackTable.tabulator .tabulator-footer .uetds-footer-status-item.is-active {
  font-weight: 400;
  background: rgba(15, 23, 42, 0.12);
  text-decoration: none;
}
#bookingTrackTable.tabulator .tabulator-footer .uetds-footer-status-item.is-active .uetds-footer-status-count {
  font-weight: 900;
}
#bookingTrackTable.tabulator .tabulator-footer .uetds-footer-status-item:focus-visible {
  outline: 2px solid #1d4ed8;
  outline-offset: 1px;
}
#usersTable.tabulator .tabulator-footer .tabulator-page-size,
#bookingTrackTable.tabulator .tabulator-footer .tabulator-page-size {
  box-sizing: border-box;
  display: inline-block;
  height: 30px;
  min-height: 30px;
  margin: 0 5px;
  padding: 2px 8px;
  border: 1px solid #aaa;
  border-radius: 3px;
  background: #fff;
  color: #555;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  vertical-align: middle;
}
#usersTable.tabulator .tabulator-footer .tabulator-pages,
#bookingTrackTable.tabulator .tabulator-footer .tabulator-pages {
  margin: 0 7px;
}
#usersTable.tabulator .tabulator-footer .tabulator-page,
#bookingTrackTable.tabulator .tabulator-footer .tabulator-page {
  box-sizing: border-box;
  display: inline-block;
  height: 30px;
  min-height: 30px;
  margin: 0 2px;
  padding: 0 10px;
  border: 1px solid #aaa;
  border-radius: 3px;
  background: hsla(0, 0%, 100%, 0.2);
  color: #555;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 28px;
  vertical-align: middle;
}
#usersTable.tabulator .tabulator-footer .tabulator-page.active,
#bookingTrackTable.tabulator .tabulator-footer .tabulator-page.active {
  color: #d00;
}
#usersTable.tabulator .tabulator-footer .tabulator-page:disabled,
#bookingTrackTable.tabulator .tabulator-footer .tabulator-page:disabled {
  opacity: 0.5;
}
#usersTable.tabulator .tabulator-footer .tabulator-page:not(:disabled):hover,
#bookingTrackTable.tabulator .tabulator-footer .tabulator-page:not(:disabled):hover {
  background: rgba(0, 0, 0, 0.2);
  color: #fff;
  cursor: pointer;
}
#usersTable.tabulator > .tabulator-header,
#bookingTrackTable.tabulator > .tabulator-header {
  overflow: hidden !important;
  background-color: var(--rapor-master-grid-header-bg) !important;
}
#usersTable .tabulator-header .tabulator-col,
#bookingTrackTable .tabulator-header .tabulator-col {
  background-color: var(--rapor-master-grid-header-bg) !important;
}
#usersTable .tabulator-row.rapor-master-row,
#bookingTrackTable .tabulator-row.rapor-master-row {
  min-height: 40px !important;
}
/* ID / actions  rapor # sütunu gibi (filtre yok, ba?lık dikey ortalı) */
#usersTable .tabulator-header .tabulator-col.rapor-sira-col,
#bookingTrackTable .tabulator-header .tabulator-col.rapor-sira-col {
  vertical-align: top;
}
#usersTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-content,
#bookingTrackTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-content {
  box-sizing: border-box;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: var(--rapor-tabulator-header-inner-h, 100%);
  height: 100%;
  padding: 0 2px !important;
}
#usersTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-title-holder,
#usersTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-title,
#bookingTrackTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-title-holder,
#bookingTrackTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-col-title {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  width: 100%;
  line-height: 1.2;
}
#usersTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-header-filter,
#bookingTrackTable .tabulator-header .tabulator-col.rapor-sira-col .tabulator-header-filter {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
#usersTable .tabulator-tableholder .tabulator-row .tabulator-cell[tabulator-field="id"],
#bookingTrackTable .tabulator-tableholder .tabulator-row .tabulator-cell[tabulator-field="_seq"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
  justify-content: center !important;
  text-align: center !important;
  font-variant-numeric: tabular-nums;
}
#usersTable.tabulator .tabulator-tableholder .tabulator-row .tabulator-cell,
#bookingTrackTable.tabulator .tabulator-tableholder .tabulator-row .tabulator-cell {
  padding-left: 15px;
  padding-right: 15px;
  cursor: default;
}
#usersTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell,
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell {
  line-height: 32px;
  border-bottom: 1px solid #94a3b8 !important;
  color: #000;
}
#usersTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell,
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell {
  background-color: #efefef !important;
}
#usersTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell,
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell {
  background-color: #ffffff !important;
}
#usersTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell,
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell {
  background-color: #bbb !important;
}
/* Header filters  exact RAPOR_PANEL #report-table rules (Users + UETDS) */
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter {
  margin-top: 2px;
  padding: 0 1px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
}
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter > input,
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter > .rapor-header-filter-dropdown-wrap,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter > input,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter > .rapor-header-filter-dropdown-wrap {
  width: 100%;
  min-width: 0;
  flex: 1 1 auto;
}
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter input.tabulator-header-filter,
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter input[type="text"],
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter input.tabulator-header-filter,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter input[type="text"] {
  box-sizing: border-box;
  width: 100%;
  height: 1.625rem;
  min-height: 1.625rem;
  max-height: 1.625rem;
  margin: 0;
  display: block;
  border: 1px solid #1d4ed8;
  border-radius: 0.25rem;
  padding: 0 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  background: #fff;
  color: #1e293b;
}
/* Disabled header filters  RAPOR_PANEL parity */
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter input.rapor-header-filter-disabled,
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter input:disabled,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter input.rapor-header-filter-disabled,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter input:disabled {
  cursor: not-allowed;
  opacity: 0.72;
  border: 1px solid #cbd5e1;
  background-color: #f1f5f9;
  color: #94a3b8;
}
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .rapor-header-filter-dropdown-wrap,
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .rapor-header-filter-dropdown-wrap,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact {
  width: 100%;
  max-width: 100%;
}
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact .filter-dropdown-trigger,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact .filter-dropdown-trigger {
  height: 1.625rem;
  min-height: 1.625rem;
  max-height: 1.625rem;
  margin: 0;
  padding: 0 0.25rem;
  justify-content: center;
}
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact .filter-dropdown-trigger-label,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact .filter-dropdown-trigger-label {
  display: none;
}
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--filtered .filter-dropdown-trigger,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--filtered .filter-dropdown-trigger {
  border-color: #dd6f00;
  background: #fff7ed;
}
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--filtered .filter-dropdown-trigger-caret,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--filtered .filter-dropdown-trigger-caret {
  color: #dd6f00;
  font-weight: 700;
}
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled .filter-dropdown-trigger,
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--disabled .filter-dropdown-trigger,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled .filter-dropdown-trigger,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--compact.filter-dropdown-root--disabled .filter-dropdown-trigger {
  cursor: not-allowed;
  opacity: 0.72;
  border-color: #cbd5e1;
  background-color: #f1f5f9;
  color: #94a3b8;
}
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled.filter-dropdown-root--filtered .filter-dropdown-trigger,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled.filter-dropdown-root--filtered .filter-dropdown-trigger {
  border-color: #cbd5e1;
  background-color: #f1f5f9;
}
#usersTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled .filter-dropdown-trigger-caret,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-header-filter .filter-dropdown-root--disabled .filter-dropdown-trigger-caret {
  color: #94a3b8;
  font-weight: 400;
}
#usersTable .tabulator-header .tabulator-col .tabulator-col-content,
#bookingTrackTable .tabulator-header .tabulator-col .tabulator-col-content {
  cursor: pointer;
}
/* Sütun ba?lık metni  RAPOR ile aynı (filtre satırına dokunulmaz) */
#usersTable.tabulator .tabulator-header .tabulator-col:not(.rapor-sira-col) .tabulator-col-title,
#bookingTrackTable.tabulator .tabulator-header .tabulator-col:not(.rapor-sira-col) .tabulator-col-title {
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  cursor: pointer;
}
/* >>> BOOKINGTRACK-UETDS-CLONE-END */

/* Booking event cells (""/time fills)  full-bleed like the UETDS status cell.
   Event fields carry the "__" prefix (assign/start/arrivedPickup/pick/finish/noshow). */
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field^="__"] {
  padding: 0 !important;
  overflow: hidden;
  border-right: 0 !important; /* fill seats edge-to-edge; adjacent fills read as one matrix band */
}
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field^="__"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row:not(.tabulator-row-even) > .tabulator-cell[tabulator-field^="__"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row.tabulator-row-even > .tabulator-cell[tabulator-field^="__"],
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row:hover > .tabulator-cell[tabulator-field^="__"] {
  background-color: transparent !important;
}
/* Column separator drawn INSIDE the fill  same #aaa as Tabulator cell borders */
#bookingTrackTable.tabulator .tabulator-row.rapor-master-row > .tabulator-cell[tabulator-field^="__"] .uetds-status-fill {
  box-shadow: inset -1px 0 0 #aaa;
}

/* ===== Rest Teslim Et dialog  spacing in px only (no rem) ===== */
.rest-handover-dialog {
  position: fixed;
  /* Leave main app header + footer visible (heights from :root) */
  top: var(--app-header-safe-h, 53px);
  left: 0;
  right: 0;
  bottom: var(--app-footer-safe-h, 50px);
  z-index: 12000;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: stretch;
  background: #eef2f6;
  color: #0f2744;
}

.rest-handover-dialog[hidden] {
  display: none !important;
}

/* Confirm modal above Rest Teslim dialog (z-index 12000) */
.rest-handover-confirm {
  position: fixed;
  inset: 0;
  z-index: 13050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  box-sizing: border-box;
}

.rest-handover-confirm[hidden] {
  display: none !important;
}

/* J6 — GPS listed-plate warning (Jobs today) */
.gps-faulty-dialog {
  position: fixed;
  inset: 0;
  z-index: 13100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  box-sizing: border-box;
}

.gps-faulty-dialog[hidden] {
  display: none !important;
}

.gps-faulty-dialog__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.5);
}

.gps-faulty-dialog__panel {
  position: relative;
  width: min(100%, 22rem);
  padding: 1.15rem 0.95rem 0.85rem;
  border-radius: 0.45rem;
  background: #fff3bf;
  color: #0f2744;
  box-shadow:
    0 0 0 1px rgba(15, 23, 42, 0.08),
    0 16px 40px rgba(15, 23, 42, 0.28);
  box-sizing: border-box;
}

.gps-faulty-dialog__close {
  appearance: none;
  position: absolute;
  top: 0.35rem;
  right: 0.35rem;
  width: 2.25rem;
  height: 2.25rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0.35rem;
  background: transparent;
  color: #0f2744;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.gps-faulty-dialog__close:hover {
  background: #e2e8f0;
}

.gps-faulty-dialog__plates {
  margin: 0 2rem 0.55rem 0;
  font-size: 1.15rem;
  font-weight: 900;
  line-height: 1.3;
  color: #ed3724;
  white-space: pre-line;
}

.gps-faulty-dialog__msg {
  margin: 0 0 0.85rem;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.4;
  color: #334155;
  white-space: pre-line;
}

.gps-faulty-dialog__actions {
  display: flex;
  justify-content: flex-end;
}

.gps-faulty-dialog__ok {
  min-height: 2.5rem;
  padding: 0.45rem 1rem;
  border: 0;
  border-radius: 0.35rem;
  background: #ed3724;
  color: #fff;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.rest-handover-confirm__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.5);
}

.rest-handover-confirm__panel {
  position: relative;
  width: min(100%, 22rem);
  padding: 1rem 0.95rem 0.85rem;
  border-radius: 0.45rem;
  background: #fff;
  color: #0f2744;
  box-shadow:
    0 0 0 1px rgba(15, 23, 42, 0.08),
    0 16px 40px rgba(15, 23, 42, 0.28);
  box-sizing: border-box;
}

.rest-handover-confirm__title {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
}

.rest-handover-confirm__msg {
  margin: 0 0 0.85rem;
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.4;
  color: #334155;
  white-space: pre-line;
}

.rest-handover-confirm__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.rest-handover-confirm__btn {
  min-height: 2.5rem;
  padding: 0.45rem 1rem;
  border: 0;
  border-radius: 0.35rem;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.rest-handover-confirm__btn--cancel {
  background: #e2e8f0;
  color: #0f172a;
}

.rest-handover-confirm__btn--ok {
  background: #16a34a;
  color: #fff;
}

.rest-handover-confirm__btn--danger {
  background: #dc2626;
  color: #fff;
}

.rest-handover-confirm__note-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0 0 0.65rem;
}

.rest-handover-confirm__note-label {
  font-size: 0.82rem;
  font-weight: 700;
  color: #334155;
}

.rest-handover-confirm__note {
  width: 100%;
  box-sizing: border-box;
  min-height: 4.5rem;
  padding: 0.5rem 0.55rem;
  border: 1px solid #cbd5e1;
  border-radius: 0.35rem;
  font: inherit;
  font-size: 0.9rem;
  line-height: 1.35;
  resize: vertical;
  color: #0f172a;
  background: #fff;
}

.rest-handover-confirm__note:focus {
  outline: 2px solid #2563eb;
  outline-offset: 1px;
}

.rest-handover-confirm__error {
  margin: 0 0 0.65rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #b91c1c;
}

.rest-handover-confirm__error[hidden] {
  display: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .rest-handover-confirm__btn--cancel:hover {
    background: #cbd5e1;
  }
  .rest-handover-confirm__btn--ok:hover {
    filter: brightness(0.92);
  }
  .rest-handover-confirm__btn--danger:hover {
    filter: brightness(0.92);
  }
}

body.rest-handover-open {
  overflow: hidden;
}

body.rest-handover-open .app-header,
body.rest-handover-open .app-footer {
  z-index: 12001;
}

body.rest-handover-open.rest-handover-track-modal .app-header,
body.rest-handover-open.rest-handover-track-modal .app-footer {
  z-index: 0;
}

/* S8: Rest Takip — centered 430px phone-width card; X only. */
.rest-handover-dialog--track-modal {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.55);
}

.rest-handover-dialog--track-modal .rest-handover-dialog__panel {
  width: 430px;
  max-width: calc(100vw - 24px);
  height: auto;
  max-height: 600px;
  flex: 0 1 auto;
  overflow: hidden;
  box-shadow:
    0 0 0 1px rgba(15, 23, 42, 0.08),
    0 16px 48px rgba(15, 23, 42, 0.35);
}

/* Phone-width shell; on mobile fills viewport (same look as before). */
.rest-handover-dialog__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  max-height: 100%;
  box-sizing: border-box;
  background: #eef2f6;
  color: #0f2744;
}

/* Desktop: match Jobs phone column (430px), centered on dark backdrop. */
@media (min-width: 900px) {
  .rest-handover-dialog {
    --rest-handover-desktop-col: 430px;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.55);
  }

  .rest-handover-dialog__panel {
    width: 100%;
    max-width: var(--rest-handover-desktop-col);
    height: 100%;
    max-height: 100%;
    flex: 0 1 auto;
    box-shadow:
      0 0 0 1px rgba(15, 23, 42, 0.08),
      0 16px 48px rgba(15, 23, 42, 0.35);
  }
}

.rest-handover-loading {
  position: absolute;
  inset: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.45);
  pointer-events: auto;
}

.rest-handover-loading[hidden] {
  display: none !important;
}

.rest-handover-loading__panel {
  min-width: 220px;
  max-width: 320px;
  padding: 18px 22px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(148, 163, 184, 0.45);
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.22);
  text-align: center;
}

.rest-handover-loading__spinner {
  width: 28px;
  height: 28px;
  margin: 0 auto 12px;
  border: 3px solid rgba(148, 163, 184, 0.35);
  border-top-color: var(--accent, #16a34a);
  border-radius: 50%;
  animation: app-loading-spin 0.85s linear infinite;
}

.rest-handover-loading__title {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  color: #0f172a;
}

.rest-handover-dialog__head {
  position: relative;
  z-index: 50;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 56px;
  padding: 10px 48px 10px 16px;
  background: #0f2744;
  color: #ffffff;
  box-sizing: border-box;
}

.rest-handover-dialog__title {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.5px;
  line-height: 1.2;
  text-align: center;
}

.rest-handover-dialog__date {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: #ffff00;
  line-height: 1.2;
  text-align: center;
}

.rest-handover-dialog__close {
  appearance: none;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #ffffff;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.rest-handover-dialog__close:hover {
  background: rgba(255, 255, 255, 0.12);
}

/* FX converter above ops (same Jobs FX block, reparented while dialog open) */
.rest-handover-dialog__fx {
  flex: 0 0 auto;
  padding: 8px 0 0;
  box-sizing: border-box;
  background: #eef2f6;
  border-bottom: 1px solid #b8c2cf;
}

.rest-handover-dialog__fx:empty {
  display: none;
}

.rest-handover-dialog__fx .jobs-fx {
  /* bottom gap = side inset (0.5rem)  space above sticky border */
  margin: 0 0.5rem 0.5rem;
}

/* Dialog: tabspanel divider only when a panel is open; no divider above ops */
.rest-handover-dialog__fx .jobs-fx__tabs + .jobs-fx__divider {
  display: none !important;
}

.rest-handover-dialog__fx .jobs-fx.is-panel-open .jobs-fx__tabs + .jobs-fx__divider {
  display: block !important;
}

.rest-handover-dialog__fx #jobsFxAfterPanelsDivider {
  display: none !important;
}

.rest-handover-dialog__list > .rest-handover-dialog__list-divider:first-child {
  display: none !important;
}

/* Dialog FX inputs: white fill (currency dropdown trigger already white in dialog) */
.rest-handover-dialog__fx .jobs-fx__input,
.rest-handover-dialog__fx .jobs-fx-other__input {
  background: #ffffff;
}

.rest-handover-dialog__fx .jobs-fx__input.is-filled,
.rest-handover-dialog__fx .jobs-fx-other__input.is-filled {
  background: rgba(22, 163, 74, 0.15);
}

.rest-handover-dialog__list {
  flex: 1 1 auto;
  overflow: auto;
  padding: 8px;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}

.rest-handover-dialog__empty {
  margin: 24px 16px;
  text-align: center;
  font-weight: 700;
  color: #5a6b7d;
}

.rest-handover-dialog__empty[hidden] {
  display: none !important;
}

.rest-handover-dialog__list-divider {
  height: 1px;
  margin: 8px 0;
  background: #b8c2cf;
  border: 0;
}

/* First divider: no top gap  list wrapper already has padding-top */
.rest-handover-dialog__list > .rest-handover-dialog__list-divider:first-child {
  margin-top: 0;
}

/* Ops list  currency totals */
.rest-handover-dialog__list-divider.rest-handover-dialog__list-divider--before-totals {
  margin-bottom: 8px;
}

/* Currency totals  bottom divider */
.rest-handover-dialog__list-divider.rest-handover-dialog__list-divider--after-totals {
  margin-top: 8px;
}

/* Add delivery CTA */
.rest-handover-add-btn {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  padding: 0 8px;
  border: 2px solid #15803d;
  border-radius: 6px;
  background: #16a34a;
  color: #ffffff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}

.rest-handover-add-btn:hover {
  background: #15803d;
  border-color: #15803d;
}

.rest-handover-add-btn:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.rest-handover-add-btn:disabled,
.rest-handover-add-btn.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.rest-handover-add-btn:disabled:hover,
.rest-handover-add-btn.is-disabled:hover {
  background: #16a34a;
  border-color: #15803d;
}

.rest-handover-after-summary-bars {
  margin: 0;
  padding: 0;
}

/* K6.13a: Masraf block  delivery mode buttons (+ delivery rows) */
.rest-handover-dialog__list-divider.rest-handover-dialog__list-divider--before-deliveries,
.rest-handover-dialog__list-divider.rest-handover-dialog__list-divider--before-expenses {
  margin-top: 8px;
  margin-bottom: 8px;
}

/* K6.6b-1: leftover divider above hidden mode row */
.rest-handover-dialog__list-divider--before-deliveries[hidden] {
  display: none !important;
}

.rest-handover-delivery-modes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0;
  box-sizing: border-box;
}

/* display:grid above overrides UA [hidden]; K6.6b-1 hide when no rest */
.rest-handover-delivery-modes[hidden] {
  display: none !important;
}

/* Gate closed: both mode buttons muted grey — never green (beats .is-active) */
.rest-handover-delivery-modes__btn:disabled,
.rest-handover-delivery-modes__btn.is-disabled,
.rest-handover-delivery-modes__btn:disabled.is-active,
.rest-handover-delivery-modes__btn.is-disabled.is-active {
  border-color: #9aa3ad !important;
  background: #9aa3ad !important;
  color: #ffffff !important;
  opacity: 0.45;
  cursor: not-allowed;
}

/* Saved asShown row: otherFx looks disabled (fill only); hover + click stay on */
.rest-handover-delivery-modes__btn.is-muted:not(:disabled):not(.is-disabled) {
  background: #9aa3ad;
  border-color: #9aa3ad;
  color: #ffffff;
}

.rest-handover-delivery-panel {
  margin: 0;
  box-sizing: border-box;
}

.rest-handover-delivery-panel[hidden] {
  display: none !important;
}

.rest-handover-add-delivery-text {
  appearance: none;
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 4px 0 1px;
  padding: 0;
  border: none;
  background: transparent;
  color: #16a34a; /* green — Teslimat Ekle + under otherFx */
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.rest-handover-add-delivery-text:hover:not(:disabled):not(.is-disabled) {
  color: #15803d;
}

.rest-handover-add-delivery-text:disabled,
.rest-handover-add-delivery-text.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* Expense actions: equal 2-col row (above delivery lines) */
.rest-handover-expense-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0;
  box-sizing: border-box;
}

.rest-handover-expense-actions__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  margin: 0;
  padding: 0 10px;
  border: 1px solid #ed3724;
  border-radius: 8px;
  background: #ed3724;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.rest-handover-expense-actions__btn:hover:not(:disabled):not(.is-disabled) {
  background: #d42f1e;
  border-color: #d42f1e;
  color: #ffffff;
}

/* K6.22: looks disabled (fill only); hover + click stay on */
.rest-handover-expense-actions__btn.is-muted:not(:disabled):not(.is-disabled) {
  background: #9aa3ad;
  border-color: #9aa3ad;
  color: #ffffff;
  cursor: pointer;
  opacity: 1;
}

.rest-handover-expense-actions__btn.is-muted:not(:disabled):not(.is-disabled):hover,
.rest-handover-delivery-modes__btn.is-muted:not(:disabled):not(.is-disabled):hover {
  background: #d42f1e;
  border-color: #d42f1e;
  color: #ffffff;
  cursor: pointer;
  opacity: 1;
}

.rest-handover-expense-actions__btn.is-loading {
  cursor: wait;
  gap: 0.45rem;
}

.rest-handover-expense-actions__btn .rest-handover-btn-spin {
  display: inline-block;
  flex: 0 0 auto;
  width: 0.95em;
  height: 0.95em;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: rest-handover-btn-spin-rot 0.7s linear infinite;
  vertical-align: middle;
}

@keyframes rest-handover-btn-spin-rot {
  to {
    transform: rotate(360deg);
  }
}

/* Active choice (Masraf Yok marked / Masraf Ekle has rows) */
.rest-handover-expense-actions__btn.is-active {
  border-color: #15803d;
  background: #16a34a;
  color: #ffffff;
}

.rest-handover-expense-actions__btn.is-active:hover:not(:disabled):not(.is-disabled) {
  background: #15803d;
  border-color: #15803d;
  color: #ffffff;
}

.rest-handover-expense-actions__btn:disabled,
.rest-handover-expense-actions__btn.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* Max-lines / blocked (not the active choice): muted grey */
.rest-handover-expense-actions__btn:disabled:not(.is-active),
.rest-handover-expense-actions__btn.is-disabled:not(.is-active) {
  border-color: #9aa3ad;
  background: #9aa3ad;
  color: #ffffff;
}

.rest-handover-expenses {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  box-sizing: border-box;
}

.rest-handover-no-expense-flag {
  margin: 8px 0 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: #bbf7d0; /* darker than #ecfdf5  Masraf yok? banner */
  color: #166534;
  font-size: 0.9rem;
  font-weight: 700;
}

.rest-handover-expense-row {
  display: grid;
  /* type | amount(+TRY) | save  — Diğer: type | amount | note | save */
  grid-template-columns: 1.4fr 1fr auto;
  gap: 8px;
  align-items: start;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.rest-handover-expense-row.has-other-note {
  grid-template-columns: 65px 65px minmax(0, 1fr) auto;
}

.rest-handover-expense-row__type-wrap,
.rest-handover-expense-row__amount-wrap,
.rest-handover-expense-row__note-wrap {
  display: block;
  min-width: 0;
  margin: 0;
}

.rest-handover-expense-row__amount-wrap {
  min-width: 0;
}

/* Same chrome as delivery / .jobs-fx-other__input (dialog white fill) */
.rest-handover-expense-row__input,
.rest-handover-expense-row__note {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  height: 2.75rem;
  min-height: 2.75rem;
  max-height: 2.75rem;
  padding: 0 0.35rem;
  border: 1px solid #b8c2cf;
  border-radius: 0.35rem;
  background: #ffffff;
  color: #0f2744;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.rest-handover-expense-row__note {
  text-align: left;
  padding: 0 0.55rem;
}

.rest-handover-expense-row__input:focus,
.rest-handover-expense-row__note:focus {
  outline: 1px solid #b8c2cf;
  outline-offset: 1px;
  border-color: #b8c2cf;
}

.rest-handover-expense-row__input.is-filled {
  border-color: #16a34a;
  background: #ffffff;
  color: #15803d;
}

/* Expense type FilterDropdown  same chrome as currency dropdown */
.rest-handover-expense-row__type-wrap {
  width: 100%;
  min-width: 0;
}

.rest-handover-expense-row__note-wrap {
  min-width: 0;
}

.rest-handover-expense-row__note-wrap[hidden] {
  display: none !important;
}

.rest-handover-expense-row__save-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin: 0;
}

.rest-handover-expense-row__save {
  appearance: none;
  display: block;
  box-sizing: border-box;
  margin: 0;
  /* Match expense input / FilterDropdown height (2.75rem @ 14px root) */
  height: 2.75rem;
  min-height: 2.75rem;
  max-height: 2.75rem;
  min-width: 48px;
  width: 48px;
  max-width: 48px;
  padding: 0 4px;
  border: 1px solid #15803d;
  border-radius: 0.35rem;
  background: #16a34a;
  color: #ffffff;
  font-family: inherit;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 2.55rem;
  text-align: center;
  cursor: pointer;
  overflow: hidden;
  white-space: nowrap;
}

.rest-handover-expense-row__save:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* Güncelle (saved row)  former Kasaya At blue */
.rest-handover-expense-row[data-saved='1'] .rest-handover-expense-row__save {
  border-color: #1d4ed8;
  background: #2563eb;
}

.rest-handover-expense-row[data-saved='1'] .rest-handover-expense-row__save:hover:not(:disabled) {
  background: #1d4ed8;
  border-color: #1d4ed8;
}

/* Match delivery-row delete (solid red ?) */
.rest-handover-expense-row__delete {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 0;
  height: 2.75rem;
  min-height: 2.75rem;
  max-height: 2.75rem;
  width: 24px;
  min-width: 24px;
  padding: 0;
  border: 1px solid #b91c1c;
  border-radius: 0.35rem;
  background: #dc2626;
  color: #ffffff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.rest-handover-expense-row__delete:hover {
  background: #b91c1c;
}

.rest-handover-expense-row__delete:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.rest-handover-expense-row__delete:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.rest-handover-expense-row__error {
  grid-column: 1 / -1;
  margin: 0;
  color: #b91c1c;
  font-size: 0.85rem;
  font-weight: 600;
}

.rest-handover-expense-row__error[hidden] {
  display: none !important;
}

@media (max-width: 640px) {
  /* Keep type | amount | Kaydet+? on one row (no wrap) */
  .rest-handover-expense-row {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr) auto;
    column-gap: 5px;
  }
  .rest-handover-expense-row.has-other-note {
    grid-template-columns: 65px 65px minmax(0, 1fr) auto;
  }
  .rest-handover-expense-row__save-wrap {
    flex-shrink: 0;
  }
}

.rest-handover-deliveries {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Delivery rows: FX-other select+amount + 3rd column Save (override 2-col FX-other grid). */
.rest-handover-delivery-row {
  box-sizing: border-box;
  grid-template-columns: 1fr 1fr auto;
}

.rest-handover-delivery-row .jobs-fx-other__select,
.rest-handover-delivery-row .jobs-fx-other__input,
.rest-handover-delivery-row .rest-handover-delivery-row__select,
.rest-handover-delivery-row .rest-handover-delivery-row__input {
  background-color: #ffffff;
  background: #ffffff;
}

.rest-handover-delivery-row .jobs-fx-other__select {
  /* Keep chevron; override grey fill from .jobs-fx-other__select */
  background-color: #ffffff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230f2744' d='M2.2 4.2L6 8l3.8-3.8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.55rem center;
  background-size: 12px 12px;
}

.rest-handover-delivery-row .jobs-fx-other__input.is-filled {
  background: #ffffff;
  background-color: #ffffff;
}

.rest-handover-delivery-row__save-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin: 0;
}

.rest-handover-delivery-row__save {
  appearance: none;
  display: block;
  box-sizing: border-box;
  margin: 0;
  /* Match delivery input / FilterDropdown height (2.75rem @ 14px root) */
  height: 2.75rem;
  min-height: 2.75rem;
  max-height: 2.75rem;
  min-width: 48px;
  width: 48px;
  max-width: 48px;
  padding: 0 4px;
  border: 1px solid #15803d;
  border-radius: 0.35rem;
  background: #16a34a;
  color: #ffffff;
  font-family: inherit;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 2.55rem;
  text-align: center;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
}

.rest-handover-delivery-row__save:hover {
  background: #15803d;
  border-color: #15803d;
}

/* Güncelle (saved row)  former Kasaya At blue */
.rest-handover-delivery-row[data-saved='1'] .rest-handover-delivery-row__save {
  border-color: #1d4ed8;
  background: #2563eb;
}

.rest-handover-delivery-row[data-saved='1'] .rest-handover-delivery-row__save:hover:not(:disabled) {
  background: #1d4ed8;
  border-color: #1d4ed8;
}

.rest-handover-delivery-row__save:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.rest-handover-delivery-row__save:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.rest-handover-delivery-row__delete {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 0;
  height: 2.75rem;
  min-height: 2.75rem;
  max-height: 2.75rem;
  width: 24px;
  min-width: 24px;
  padding: 0;
  border: 1px solid #b91c1c;
  border-radius: 0.35rem;
  background: #dc2626;
  color: #ffffff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.rest-handover-delivery-row__delete:hover {
  background: #b91c1c;
}

.rest-handover-delivery-row__delete:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.rest-handover-delivery-row__delete:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.rest-handover-delivery-row__error {
  grid-column: 1 / -1;
  margin: 4px 0 0;
  padding: 0;
  color: #b91c1c;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.25;
}

.rest-handover-delivery-row__error[hidden] {
  display: none;
}

/* K6.18 — Özet box (visible when Yazdır / Kasaya At gate is open) */
.rest-handover-summary {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.rest-handover-summary[hidden],
.rest-handover-after-summary-bars[hidden],
.rest-handover-dialog__list-divider--after-deliveries[hidden] {
  display: none !important;
}

.rest-handover-summary__block--input {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.rest-handover-summary__block--input + .rest-handover-summary__block--input {
  margin-top: 8px;
}

.rest-handover-summary__currency-head {
  margin: 0 0 1px;
  padding: 0 6px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  font-size: 0.82rem; /* same as row labels */
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #ffffff;
  text-align: center;
  background: #16a34a;
  border-radius: 0.25rem;
}

.rest-handover-summary__block--input .rest-handover-summary__currency-head {
  background: #2563eb;
}

.rest-handover-summary__currency-head.is-section {
  margin-top: 0;
}

.rest-handover-summary__final {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

/* Final net-status boxes: all rows 11px / 800 (Manrope max loaded weight) */
.rest-handover-summary__final .rest-handover-summary__currency-head,
.rest-handover-summary__final .rest-handover-summary__label,
.rest-handover-summary__final .rest-handover-summary__value,
.rest-handover-summary__final .rest-handover-summary__note,
.rest-handover-summary__final .rest-handover-summary__status-ccy {
  font-size: 11px !important;
  font-weight: 800 !important;
}

.rest-handover-summary__split {
  flex: 0 0 auto;
  height: 0;
  margin: 8px 0;
  padding: 0;
  border: 0;
  border-top: 1px solid rgba(37, 99, 235, 0.5);
  background: none;
  box-sizing: border-box;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
}

.rest-handover-summary__split--status {
  border-top-color: rgba(22, 163, 74, 0.5);
}

.rest-handover-summary__split--final {
  height: 1px;
  border: 0;
  background: rgba(0, 0, 0, 0.15);
}

.rest-handover-summary__split--final-1 {
  margin: 8px 0 0;
}

.rest-handover-summary__split--final-2 {
  margin: 8px 0;
}

.rest-handover-summary__split--final-3 {
  margin: 0 0 8px;
}

.rest-handover-summary__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 1.35rem;
  margin: 0;
  padding: 2px 0;
  box-sizing: border-box;
}

/* Expense + delivery lines: zebra (odd dark / even light gray) */
.rest-handover-summary__zebra-rows .rest-handover-summary__row {
  padding: 4px 6px;
  border-radius: 0.25rem;
  border: 1px solid rgba(22, 163, 74, 0.5);
}

.rest-handover-summary__zebra-rows .rest-handover-summary__row + .rest-handover-summary__row {
  margin-top: 0;
  border-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.rest-handover-summary__zebra-rows .rest-handover-summary__row:not(:last-child) {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.rest-handover-summary__zebra-rows .rest-handover-summary__row:nth-child(odd) {
  background: rgba(22, 163, 74, 0.19);
}

.rest-handover-summary__zebra-rows .rest-handover-summary__row:nth-child(even) {
  background: rgba(22, 163, 74, 0.13);
}

.rest-handover-summary__block--input .rest-handover-summary__zebra-rows .rest-handover-summary__row:nth-child(odd) {
  background: rgba(37, 99, 235, 0.19);
}

.rest-handover-summary__block--input .rest-handover-summary__zebra-rows .rest-handover-summary__row:nth-child(even) {
  background: rgba(37, 99, 235, 0.13);
}

.rest-handover-summary__block--input .rest-handover-summary__zebra-rows .rest-handover-summary__row {
  border-color: rgba(37, 99, 235, 0.5);
}

.rest-handover-summary__block--input .rest-handover-summary__zebra-rows .rest-handover-summary__label,
.rest-handover-summary__block--input .rest-handover-summary__zebra-rows .rest-handover-summary__value {
  color: #2563eb;
}

.rest-handover-summary__zebra-rows .rest-handover-summary__label {
  color: #16a34a;
  font-weight: 900;
}

/* otherFx Son Net Durum: left headings regular except last status row */
.rest-handover-summary__status-rows--otherfx
  .rest-handover-summary__row:not(:last-child):not(.is-expense-total):not(.is-label-strong)
  .rest-handover-summary__label {
  font-weight: 400;
}

.rest-handover-summary__status-rows--otherfx
  .rest-handover-summary__row.is-label-strong
  .rest-handover-summary__label {
  font-weight: 900;
}

.rest-handover-summary__status-rows--otherfx
  .rest-handover-summary__row:not(:last-child):not(.is-label-strong):not(.is-expense-total)
  .rest-handover-summary__value {
  font-weight: 400;
}

.rest-handover-summary__zebra-rows .rest-handover-summary__row.is-expense-total .rest-handover-summary__label,
.rest-handover-summary__zebra-rows .rest-handover-summary__row.is-expense-total .rest-handover-summary__value {
  color: #ed3724;
  font-weight: 900;
}

.rest-handover-summary__status-rows--otherfx
  .rest-handover-summary__row.is-expense-total
  .rest-handover-summary__label,
.rest-handover-summary__status-rows--otherfx
  .rest-handover-summary__row.is-expense-total
  .rest-handover-summary__value {
  font-weight: 900;
}

/* asShown Son Net Durum: all rows 400 except last status (Eksik/Fazla/Tam Teslim) */
.rest-handover-summary__status-rows--as-shown
  .rest-handover-summary__row:not(:last-child):not(.is-expense-total):not(.is-label-strong)
  .rest-handover-summary__label,
.rest-handover-summary__status-rows--as-shown
  .rest-handover-summary__row:not(:last-child):not(.is-expense-total):not(.is-label-strong)
  .rest-handover-summary__value {
  font-weight: 400;
}

.rest-handover-summary__status-rows--as-shown
  .rest-handover-summary__row.is-label-strong
  .rest-handover-summary__label,
.rest-handover-summary__status-rows--as-shown
  .rest-handover-summary__row.is-label-strong
  .rest-handover-summary__value {
  font-weight: 900;
}

.rest-handover-summary__status-rows--as-shown-cross.rest-handover-summary__zebra-rows
  .rest-handover-summary__label,
.rest-handover-summary__status-rows--as-shown-cross.rest-handover-summary__zebra-rows
  .rest-handover-summary__value {
  font-weight: 900;
}

.rest-handover-summary__zebra-rows .rest-handover-summary__value {
  font-weight: 900;
}

.rest-handover-summary__zebra-rows .rest-handover-summary__note {
  color: #000000;
  -webkit-text-fill-color: #000000;
  font-size: 0.82rem;
  font-weight: 400;
  opacity: 1;
}

.rest-handover-summary__label-wrap {
  min-width: 0;
}

.rest-handover-summary__label {
  font-size: 0.82rem;
  font-weight: 600;
  color: #475569;
}

.rest-handover-summary__value {
  font-size: 0.85rem;
  font-weight: 700;
  color: #16a34a;
  text-align: right;
  white-space: nowrap;
}

/* Eksik / Fazla  soft (opacity) red / green */
.rest-handover-summary__row.is-short {
  margin-top: 4px;
  padding: 4px 6px;
  border-radius: 0.3rem;
  background: rgba(220, 38, 38, 0.12);
}

.rest-handover-summary__row.is-short .rest-handover-summary__label,
.rest-handover-summary__row.is-short .rest-handover-summary__value {
  color: rgba(185, 28, 28, 0.9);
  font-weight: 800;
}

.rest-handover-summary__row.is-over {
  margin-top: 4px;
  padding: 4px 6px;
  border-radius: 0.3rem;
  background: rgba(21, 128, 61, 0.28);
}

.rest-handover-summary__row.is-over .rest-handover-summary__label,
.rest-handover-summary__row.is-over .rest-handover-summary__value {
  color: #166534;
  font-weight: 800;
}

.rest-handover-summary__status-ccy {
  margin: 8px 0 1px;
  font-size: 0.82rem;
  font-weight: 900;
  color: #16a34a;
  text-align: center;
  letter-spacing: 0.04em;
}

.rest-handover-summary__status-ccy.is-first {
  margin-top: 0;
}

.rest-handover-summary__status-rows + .rest-handover-summary__status-rows {
  margin-top: 8px;
}

.rest-handover-summary__zebra-rows .rest-handover-summary__row.is-short {
  background: rgba(220, 38, 38, 0.18);
}

.rest-handover-summary__zebra-rows .rest-handover-summary__row.is-over {
  background: rgba(21, 128, 61, 0.40);
}

.rest-handover-summary__zebra-rows .rest-handover-summary__row.is-zero {
  margin-top: 0;
}

.rest-handover-summary__zebra-rows .rest-handover-summary__row.is-short .rest-handover-summary__label,
.rest-handover-summary__zebra-rows .rest-handover-summary__row.is-short .rest-handover-summary__value {
  color: #b91c1c;
  font-weight: 900;
}

.rest-handover-summary__zebra-rows .rest-handover-summary__row.is-over .rest-handover-summary__label,
.rest-handover-summary__zebra-rows .rest-handover-summary__row.is-over .rest-handover-summary__value {
  color: #14532d;
  font-weight: 900;
}

.rest-handover-dialog__list-divider--after-cash {
  margin-top: 8px;
  margin-bottom: 4px;
}

/* Yazdır | Kasaya At */
.rest-handover-cash-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}

.rest-handover-cash-actions.is-print-only {
  grid-template-columns: 1fr;
}

.rest-handover-warning {
  margin: 0 0 8px;
  padding: 10px 12px;
  background: #ea580c;
  color: #ffffff;
  border-radius: 6px;
  box-sizing: border-box;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.rest-handover-warning[hidden] {
  display: none !important;
}

.rest-handover-warning__title {
  margin: 0 0 6px;
  font-size: 13px;
  letter-spacing: 0.3px;
}

.rest-handover-warning__line {
  font-weight: 600;
}

/* display:flex on the btn class otherwise beats [hidden] — Kasaya At stayed visible */
.rest-handover-cash-actions__btn[hidden] {
  display: none !important;
}

.rest-handover-cash-actions__btn {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  padding: 0 6px;
  border-radius: 6px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}

.rest-handover-print-btn {
  border: 2px solid #475569;
  background: #475569;
  color: #ffffff;
}

.rest-handover-print-btn:hover:not(:disabled):not(.is-disabled) {
  background: #334155;
  border-color: #334155;
}

.rest-handover-print-btn:focus-visible,
.rest-handover-to-cash-btn:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

/* Disabled: same muted slate for Yazdır / Kasaya At */
.rest-handover-cash-actions__btn:disabled,
.rest-handover-cash-actions__btn.is-disabled {
  border-color: #9aa3ad !important;
  background: #9aa3ad !important;
  color: #ffffff !important;
  opacity: 0.45;
  cursor: not-allowed;
}

/* Kasaya At  amber (enabled only) */
.rest-handover-to-cash-btn {
  border: 2px solid #c2410c;
  background: #ea580c;
  color: #ffffff;
}

.rest-handover-to-cash-btn:hover:not(:disabled):not(.is-disabled) {
  background: #c2410c;
  border-color: #c2410c;
}

.rest-handover-cash-actions .rest-handover-reject-btn {
  margin: 0;
}

.rest-handover-reject-btn {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  padding: 0 8px;
  border: 2px solid #b91c1c;
  border-radius: 6px;
  background: #dc2626;
  color: #ffffff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}

.rest-handover-reject-btn[hidden] {
  display: none !important;
}

.rest-handover-reject-btn:hover:not(:disabled):not(.is-disabled) {
  background: #b91c1c;
}

.rest-handover-reject-btn:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.rest-handover-cash-hint,
.rest-handover-flash {
  margin: 8px 0 0;
  padding: 0;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

/* All Kasaya At stage hints — logo red + 900 */
.rest-handover-cash-hint {
  margin-top: 0;
  color: #ed3724;
  font-weight: 900;
}

/* Shown under --after-cash when Yazdır / Kasaya At are enabled */
.rest-handover-print-reminder {
  margin: 0;
  padding: 0;
  font-size: 0.85rem;
  font-weight: 900;
  line-height: 1.35;
  text-align: center;
  color: #16a34a;
}

.rest-handover-flash {
  color: #15803d;
}

.rest-handover-cash-hint[hidden],
.rest-handover-print-reminder[hidden],
.rest-handover-flash[hidden] {
  display: none;
}

.rest-handover-history__title {
  margin: 16px 0 8px;
  font-size: 15px;
  font-weight: 800;
  color: #0f2744;
}

.rest-handover-history {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 5px 0 8px;
}

.rest-handover-history__empty {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: #5a6b7d;
}

.rest-handover-history__item {
  border: 1px solid transparent;
  border-radius: 6px;
  overflow: hidden;
}

.rest-handover-history__item.is-self {
  background: #FAFAE1;
  border-color: #c5c59a;
}

.rest-handover-history__item.is-other {
  background: rgba(237, 55, 36, 0.1);
  border-color: rgba(237, 55, 36, 0.4);
}

.rest-handover-history__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 2px 10px;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  margin: 0;
  padding: 4px 10px;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  color: #0f2744;
  box-sizing: border-box;
  overflow: hidden;
}

.rest-handover-history__head.is-open {
  background: rgba(15, 39, 68, 0.06);
}

.rest-handover-history__when {
  font-size: 11px;
  font-weight: 700;
  color: #5a6b7d;
  flex: 1 1 100%;
}

.rest-handover-history__action {
  font-size: 11px;
  font-weight: 700;
}

.rest-handover-history__actor,
.rest-handover-history__status,
.rest-handover-history__amt {
  font-size: 11px;
  font-weight: 700;
}

.rest-handover-history__detail {
  padding: 0 10px 10px;
  font-size: 12px;
  color: #0f2744;
}

.rest-handover-history__detail ul {
  margin: 6px 0 0;
  padding-left: 18px;
}

/* Stage 2: currency day totals under ops list */
.rest-handover-totals {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0; /* flush with list dividers (no side inset) */
  box-sizing: border-box;
}

.rest-handover-totals__row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 24px;
  padding: 6px 7px;
  border-radius: 6px;
  box-sizing: border-box;
  background: rgba(237, 55, 36, 0.15); /* logo red #ed3724 @ 15% */
}

/* K6.19  accounting total: slightly darker logo-red than PB total rows */
.rest-handover-totals__row--muhasebe {
  background: rgba(237, 55, 36, 0.28); /* other totals use 0.15 */
}

.rest-handover-totals__row--muhasebe.is-rate-missing .rest-handover-totals__amount {
  color: #b91c1c;
}

.rest-handover-totals__code {
  text-align: left;
  font-size: 12px;
  font-weight: 800;
  color: #0f2744;
  white-space: nowrap;
}

.rest-handover-totals__amount {
  text-align: right;
  font-size: 12px;
  font-weight: 800;
  color: #0f2744;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.rest-handover-totals__none {
  margin: 8px 0;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.3px;
  color: #ed3724; /* logo red */
}

/* One operation = direction-tint row (soft fill from direction-colors.json) */
.rest-handover-op {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin: 0;
  border: 1px solid color-mix(in srgb, var(--jobs-op-border, #64748b) 40%, #b8c2cf);
  border-radius: 6px;
  overflow: hidden;
  box-sizing: border-box;
  /* Soft yön: config fill (already light) mixed with white for extra opacity feel */
  background: color-mix(in srgb, var(--jobs-op-fill, #f1f5f9) 72%, #ffffff);
}

.rest-handover-op__seq {
  flex: 0 0 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 900;
  color: #ffffff;
  background: color-mix(in srgb, var(--jobs-op-border, #64748b) 72%, #ffffff);
  border-right: 1px solid color-mix(in srgb, var(--jobs-op-border, #64748b) 40%, #b8c2cf);
}

.rest-handover-op__body {
  flex: 1 1 auto;
  min-width: 0;
  padding: 6px 7px;
  box-sizing: border-box;
}

/* Rest Teslim dialog: rest amounts + "Rest Yok !"  logo red (Jobs keeps direction color) */
.rest-handover-op .jobs-op__cell--rest,
.rest-handover-op .jobs-op__cell--rest-none {
  color: #ed3724;
}

/* Dialog row1 col1: operation short code in logo red */
.rest-handover-dialog .jobs-op__cell--code {
  color: #ed3724;
}

/* Dialog row3: narrow Rez. column so rest currencies stay on one line */
.rest-handover-dialog .jobs-op__row3 {
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 0.25rem;
}

.rest-handover-dialog .jobs-op__cell--rest {
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}
